@@ -150,7 +150,7 @@ discard block |
||
150 | 150 | <div id="tabs-2"> |
151 | 151 | <!--<button id="run_s_tests" onclick="run_udp()"><?php echo _("Repeat static connectivity tests") ?></button>--> |
152 | 152 | <p> |
153 | - <?php print $realmTests->printStatic();?> |
|
153 | + <?php print $realmTests->printStatic(); ?> |
|
154 | 154 | |
155 | 155 | <!-- tabs-2 end --> |
156 | 156 | </div> |
@@ -160,7 +160,7 @@ discard block |
||
160 | 160 | ?> |
161 | 161 | <div id="tabs-3"> |
162 | 162 | <!--<button id="run_d_tests" onclick="run_dynamic()"><?php echo _("Repeat dynamic connectivity tests") ?></button>--> |
163 | - <?php print $realmTests->printDynamic();?> |
|
163 | + <?php print $realmTests->printDynamic(); ?> |
|
164 | 164 | <!-- tabs-3 end --> |
165 | 165 | </div> |
166 | 166 | <?php |
@@ -39,7 +39,7 @@ discard block |
||
39 | 39 | * @param int $timeout the timeout to download |
40 | 40 | * @return string|boolean the data we got back, or FALSE on failure |
41 | 41 | */ |
42 | - public static function downloadFile($url, $timeout=0) |
|
42 | + public static function downloadFile($url, $timeout = 0) |
|
43 | 43 | { |
44 | 44 | $loggerInstance = new \core\common\Logging(); |
45 | 45 | if (!preg_match("/:\/\//", $url)) { |
@@ -129,7 +129,7 @@ discard block |
||
129 | 129 | $loggerInstance->debug(4, "OutsideComm::mailAddressValidSecure: no MX."); |
130 | 130 | return OutsideComm::MAILDOMAIN_NO_MX; |
131 | 131 | } |
132 | - $loggerInstance->debug(5, "Domain: $domain MX: " . /** @scrutinizer ignore-type */ print_r($mx, TRUE)); |
|
132 | + $loggerInstance->debug(5, "Domain: $domain MX: "./** @scrutinizer ignore-type */ print_r($mx, TRUE)); |
|
133 | 133 | // create a pool of A and AAAA records for all the MXes |
134 | 134 | $ipAddrs = []; |
135 | 135 | foreach ($mx as $onemx) { |
@@ -139,14 +139,14 @@ discard block |
||
139 | 139 | $ipAddrs[] = $oneipv4['ip']; |
140 | 140 | } |
141 | 141 | foreach ($v6list as $oneipv6) { |
142 | - $ipAddrs[] = "[" . $oneipv6['ipv6'] . "]"; |
|
142 | + $ipAddrs[] = "[".$oneipv6['ipv6']."]"; |
|
143 | 143 | } |
144 | 144 | } |
145 | 145 | if (count($ipAddrs) == 0) { |
146 | 146 | $loggerInstance->debug(4, "OutsideComm::mailAddressValidSecure: no mailserver hosts."); |
147 | 147 | return OutsideComm::MAILDOMAIN_NO_HOST; |
148 | 148 | } |
149 | - $loggerInstance->debug(5, "Domain: $domain Addrs: " . /** @scrutinizer ignore-type */ print_r($ipAddrs, TRUE)); |
|
149 | + $loggerInstance->debug(5, "Domain: $domain Addrs: "./** @scrutinizer ignore-type */ print_r($ipAddrs, TRUE)); |
|
150 | 150 | // connect to all hosts. If all can't connect, return MAILDOMAIN_NO_CONNECT. |
151 | 151 | // If at least one does not support STARTTLS or one of the hosts doesn't connect |
152 | 152 | // , return MAILDOMAIN_NO_STARTTLS (one which we can't connect to we also |
@@ -199,7 +199,7 @@ discard block |
||
199 | 199 | switch (\config\ConfAssistant::SMSSETTINGS['provider']) { |
200 | 200 | case 'Nexmo': |
201 | 201 | // taken from https://docs.nexmo.com/messaging/sms-api |
202 | - $url = 'https://rest.nexmo.com/sms/json?' . http_build_query( |
|
202 | + $url = 'https://rest.nexmo.com/sms/json?'.http_build_query( |
|
203 | 203 | [ |
204 | 204 | 'api_key' => \config\ConfAssistant::SMSSETTINGS['username'], |
205 | 205 | 'api_secret' => \config\ConfAssistant::SMSSETTINGS['password'], |
@@ -230,14 +230,14 @@ discard block |
||
230 | 230 | $loggerInstance->debug(2, 'Problem with SMS invitation: no message was sent!'); |
231 | 231 | return OutsideComm::SMS_NOTSENT; |
232 | 232 | } |
233 | - $loggerInstance->debug(2, 'Total of ' . $messageCount . ' messages were attempted to send.'); |
|
233 | + $loggerInstance->debug(2, 'Total of '.$messageCount.' messages were attempted to send.'); |
|
234 | 234 | |
235 | 235 | $totalFailures = 0; |
236 | 236 | foreach ($decoded_response['messages'] as $message) { |
237 | 237 | if ($message['status'] == 0) { |
238 | - $loggerInstance->debug(2, $message['message-id'] . ": Success"); |
|
238 | + $loggerInstance->debug(2, $message['message-id'].": Success"); |
|
239 | 239 | } else { |
240 | - $loggerInstance->debug(2, $message['message-id'] . ": Failed (failure code = " . $message['status'] . ")"); |
|
240 | + $loggerInstance->debug(2, $message['message-id'].": Failed (failure code = ".$message['status'].")"); |
|
241 | 241 | $totalFailures++; |
242 | 242 | } |
243 | 243 | } |
@@ -306,7 +306,7 @@ discard block |
||
306 | 306 | $proto = "https://"; |
307 | 307 | } |
308 | 308 | // then, send out the mail |
309 | - $message = _("Hello,") . "\n\n" . wordwrap($introTexts[$introtext] . " " . $validity, 72) . "\n\n"; |
|
309 | + $message = _("Hello,")."\n\n".wordwrap($introTexts[$introtext]." ".$validity, 72)."\n\n"; |
|
310 | 310 | // default means we don't have a Reply-To. |
311 | 311 | $replyToMessage = wordwrap(_("manually. Please do not reply to this mail; this is a send-only address.")); |
312 | 312 | |
@@ -314,8 +314,8 @@ discard block |
||
314 | 314 | // see if we are supposed to add a custom message |
315 | 315 | $customtext = $federation->getAttributes('fed:custominvite'); |
316 | 316 | if (count($customtext) > 0) { |
317 | - $message .= wordwrap(sprintf(_("Additional message from your %s administrator:"), Entity::$nomenclature_fed), 72) . "\n---------------------------------" . |
|
318 | - wordwrap($customtext[0]['value'], 72) . "\n---------------------------------\n\n"; |
|
317 | + $message .= wordwrap(sprintf(_("Additional message from your %s administrator:"), Entity::$nomenclature_fed), 72)."\n---------------------------------". |
|
318 | + wordwrap($customtext[0]['value'], 72)."\n---------------------------------\n\n"; |
|
319 | 319 | } |
320 | 320 | // and add Reply-To already now |
321 | 321 | foreach ($federation->listFederationAdmins() as $fedadmin_id) { |
@@ -331,19 +331,19 @@ discard block |
||
331 | 331 | } |
332 | 332 | $productname = \config\Master::APPEARANCE['productname']; |
333 | 333 | $consortium = \config\ConfAssistant::CONSORTIUM['display_name']; |
334 | - $message .= wordwrap(sprintf(_("To enlist as an administrator for that %s, please click on the following link:"), Entity::$nomenclature_participant), 72) . "\n\n" . |
|
335 | - $proto . $_SERVER['SERVER_NAME'] . \config\Master::PATHS['cat_base_url'] . "admin/action_enrollment.php?token=$newtoken\n\n" . |
|
336 | - wordwrap(sprintf(_("If clicking the link doesn't work, you can also go to the %s Administrator Interface at"), $productname), 72) . "\n\n" . |
|
337 | - $proto . $_SERVER['SERVER_NAME'] . \config\Master::PATHS['cat_base_url'] . "admin/\n\n" . |
|
338 | - _("and enter the invitation token") . "\n\n" . |
|
339 | - $newtoken . "\n\n$replyToMessage\n\n" . |
|
340 | - wordwrap(_("Do NOT forward the mail before the token has expired - or the recipients may be able to consume the token on your behalf!"), 72) . "\n\n" . |
|
341 | - wordwrap(sprintf(_("We wish you a lot of fun with the %s."), $productname), 72) . "\n\n" . |
|
334 | + $message .= wordwrap(sprintf(_("To enlist as an administrator for that %s, please click on the following link:"), Entity::$nomenclature_participant), 72)."\n\n". |
|
335 | + $proto.$_SERVER['SERVER_NAME'].\config\Master::PATHS['cat_base_url']."admin/action_enrollment.php?token=$newtoken\n\n". |
|
336 | + wordwrap(sprintf(_("If clicking the link doesn't work, you can also go to the %s Administrator Interface at"), $productname), 72)."\n\n". |
|
337 | + $proto.$_SERVER['SERVER_NAME'].\config\Master::PATHS['cat_base_url']."admin/\n\n". |
|
338 | + _("and enter the invitation token")."\n\n". |
|
339 | + $newtoken."\n\n$replyToMessage\n\n". |
|
340 | + wordwrap(_("Do NOT forward the mail before the token has expired - or the recipients may be able to consume the token on your behalf!"), 72)."\n\n". |
|
341 | + wordwrap(sprintf(_("We wish you a lot of fun with the %s."), $productname), 72)."\n\n". |
|
342 | 342 | sprintf(_("Sincerely,\n\nYour friendly folks from %s Operations"), $consortium); |
343 | 343 | |
344 | 344 | |
345 | 345 | // who to whom? |
346 | - $mail->FromName = \config\Master::APPEARANCE['productname'] . " Invitation System"; |
|
346 | + $mail->FromName = \config\Master::APPEARANCE['productname']." Invitation System"; |
|
347 | 347 | |
348 | 348 | if (isset(\config\Master::APPEARANCE['invitation-bcc-mail']) && \config\Master::APPEARANCE['invitation-bcc-mail'] !== NULL) { |
349 | 349 | $mail->addBCC(\config\Master::APPEARANCE['invitation-bcc-mail']); |
@@ -296,7 +296,7 @@ discard block |
||
296 | 296 | <table><tr> |
297 | 297 | <td class='icon_td'>"; |
298 | 298 | $out[] = "<img src='".$this->stateIcons[$this->globalLevelStatic]."' id='main_static_ico' class='icon'></td><td id='main_static_result'>". |
299 | - $this->globalInfo[$this->globalLevelStatic].' '. _("See the appropriate tab for details.").'</td> |
|
299 | + $this->globalInfo[$this->globalLevelStatic].' '._("See the appropriate tab for details.").'</td> |
|
300 | 300 | </tr></table>'; |
301 | 301 | if ($this->naptr > 0) { |
302 | 302 | $out[] = "<hr><strong>"._("Dynamic connectivity tests")."</strong> |
@@ -328,7 +328,7 @@ discard block |
||
328 | 328 | <td class='icon_td'><img src='".$this->stateIcons[$result->level]."' id='src".$hostindex."_img'></td> |
329 | 329 | <td id='src$hostindex' colspan=2> |
330 | 330 | "; |
331 | - $out[] = '<strong>'.($result->server ? $result->server : _("Connected to undetermined server")).'</strong><br/>'.sprintf (_("elapsed time: %sms."), $result->time_millisec).'<div>'.$result->message.'</div>'; |
|
331 | + $out[] = '<strong>'.($result->server ? $result->server : _("Connected to undetermined server")).'</strong><br/>'.sprintf(_("elapsed time: %sms."), $result->time_millisec).'<div>'.$result->message.'</div>'; |
|
332 | 332 | |
333 | 333 | if ($result->level > \core\common\Entity::L_OK && property_exists($result, 'cert_oddities')) { |
334 | 334 | foreach ($result->cert_oddities as $oddities) { |
@@ -345,9 +345,9 @@ discard block |
||
345 | 345 | } |
346 | 346 | } |
347 | 347 | if ($result->server_cert->extensions) { |
348 | - $certdesc .= '<li>' . _('Extensions') . '<ul>'; |
|
348 | + $certdesc .= '<li>'._('Extensions').'<ul>'; |
|
349 | 349 | foreach ($result->server_cert->extensions as $ekey => $eval) { |
350 | - $certdesc .= '<li>' . $ekey . ': ' . $eval; |
|
350 | + $certdesc .= '<li>'.$ekey.': '.$eval; |
|
351 | 351 | } |
352 | 352 | $certdesc .= '</ul>'; |
353 | 353 | } |
@@ -355,7 +355,7 @@ discard block |
||
355 | 355 | $more .= '<span class="morecontent"><span>'.$certdesc. |
356 | 356 | '</span><a href="" class="morelink">'._("show server certificate details").'»</a></span></div>'; |
357 | 357 | } |
358 | - if ($more != '' ) { |
|
358 | + if ($more != '') { |
|
359 | 359 | $out[] = '<tr><td> </td><td colspan="2">'.$more.'</td></tr>'; |
360 | 360 | } |
361 | 361 | $out[] = "</table></ul>"; |
@@ -379,10 +379,10 @@ discard block |
||
379 | 379 | if (isset($this->protocolsMap[$capath->IP]) && $this->protocolsMap[$capath->IP] != '') { |
380 | 380 | $prots = explode(';', $this->protocolsMap[$capath->IP]); |
381 | 381 | if (!empty($prots)) { |
382 | - $capathtest[] = ' ' . _("supported TLS protocols: "); |
|
382 | + $capathtest[] = ' '._("supported TLS protocols: "); |
|
383 | 383 | $capathtest[] = implode(', ', $prots); |
384 | 384 | if (!in_array("TLS1.3", $prots)) { |
385 | - $capathtest[] = ' ' . '<font color="red">' . _("not supported: ") . 'TLS1.3</font>'; |
|
385 | + $capathtest[] = ' '.'<font color="red">'._("not supported: ").'TLS1.3</font>'; |
|
386 | 386 | } |
387 | 387 | } |
388 | 388 | } |
@@ -405,7 +405,7 @@ discard block |
||
405 | 405 | if ($capath->certdata->validTo) { |
406 | 406 | $certdesc .= '<li>'.$this->certFields['validTo'].' '. |
407 | 407 | date_create_from_format('ymdGis', |
408 | - substr($capath->certdata->validTo, 0, -1))->format('Y-m-d H:i:s'). ' UTC'; |
|
408 | + substr($capath->certdata->validTo, 0, -1))->format('Y-m-d H:i:s').' UTC'; |
|
409 | 409 | } |
410 | 410 | if ($capath->certdata->extensions) { |
411 | 411 | if ($capath->certdata->extensions->subjectaltname) { |
@@ -428,7 +428,7 @@ discard block |
||
428 | 428 | } else { |
429 | 429 | $certdesc = '<br>'; |
430 | 430 | } |
431 | - $capathtest[] = '<div>'.($capath->message!='' ? $capath->message : _('Test failed')).'</div>'.$more; |
|
431 | + $capathtest[] = '<div>'.($capath->message != '' ? $capath->message : _('Test failed')).'</div>'.$more; |
|
432 | 432 | $capathtest[] = '</td> |
433 | 433 | </tr> |
434 | 434 | </table>'; |
@@ -455,7 +455,7 @@ discard block |
||
455 | 455 | $srefused = 0; |
456 | 456 | $cliinfo = ''; |
457 | 457 | $cliinfo .= '<li>'._('Client certificate').' <b>'.$ca->clientcertinfo->from. |
458 | - '</b>'.', '.$ca->clientcertinfo->message . |
|
458 | + '</b>'.', '.$ca->clientcertinfo->message. |
|
459 | 459 | '<br> (CA: '.$ca->clientcertinfo->issuer.')<ul>'; |
460 | 460 | foreach ($ca->certificate as $certificate) { |
461 | 461 | if ($certificate->returncode == \core\diag\RADIUSTests::RETVAL_CONNECTION_REFUSED) { |
@@ -521,7 +521,7 @@ discard block |
||
521 | 521 | } else { |
522 | 522 | $cliinfo = _('Test failed'); |
523 | 523 | $clientstest[] = "<table><tr><td class='icon_td' id='srcclient".$hostindex."_img'><img src='". |
524 | - $this->stateIcons[\core\common\Entity::L_WARN]."'></td>" . |
|
524 | + $this->stateIcons[\core\common\Entity::L_WARN]."'></td>". |
|
525 | 525 | "<td id='srcclient$hostindex'>$cliinfo</td></tr></table>"; |
526 | 526 | } |
527 | 527 | } else { |
@@ -168,27 +168,27 @@ discard block |
||
168 | 168 | { |
169 | 169 | // it could match CN or sAN:DNS, we don't care which |
170 | 170 | if (isset($this->TLS_CA_checks_result[$host]['certdata']['subject'])) { |
171 | - $this->loggerInstance->debug(4, "Checking expected server name " . $this->expectedName . |
|
172 | - " against Subject: " . $this->TLS_CA_checks_result[$host]['certdata']['subject']); |
|
171 | + $this->loggerInstance->debug(4, "Checking expected server name ".$this->expectedName. |
|
172 | + " against Subject: ".$this->TLS_CA_checks_result[$host]['certdata']['subject']); |
|
173 | 173 | // we are checking against accidental misconfig, not attacks, so loosely checking against end of string is appropriate |
174 | - if (preg_match("/CN=" . $this->expectedName . "/", $this->TLS_CA_checks_result[$host]['certdata']['subject']) === 1) { |
|
174 | + if (preg_match("/CN=".$this->expectedName."/", $this->TLS_CA_checks_result[$host]['certdata']['subject']) === 1) { |
|
175 | 175 | return TRUE; |
176 | 176 | } |
177 | 177 | } |
178 | 178 | if (isset($this->TLS_CA_checks_result[$host]['certdata']['extensions']['subjectaltname'])) { |
179 | - $this->loggerInstance->debug(4, "Checking expected server name " . $this->expectedName . " against sANs: "); |
|
179 | + $this->loggerInstance->debug(4, "Checking expected server name ".$this->expectedName." against sANs: "); |
|
180 | 180 | $this->loggerInstance->debug(4, $this->TLS_CA_checks_result[$host]['certdata']['extensions']['subjectaltname']); |
181 | 181 | $testNames = $this->TLS_CA_checks_result[$host]['certdata']['extensions']['subjectaltname']; |
182 | 182 | if (!is_array($testNames)) { |
183 | 183 | $testNames = [$testNames]; |
184 | 184 | } |
185 | 185 | foreach ($testNames as $oneName) { |
186 | - if (preg_match("/" . $this->expectedName . "/", $oneName) === 1) { |
|
186 | + if (preg_match("/".$this->expectedName."/", $oneName) === 1) { |
|
187 | 187 | return TRUE; |
188 | 188 | } |
189 | 189 | } |
190 | 190 | } |
191 | - $this->loggerInstance->debug(3, "Tried to check expected server name " . $this->expectedName . " but neither CN nor sANs matched."); |
|
191 | + $this->loggerInstance->debug(3, "Tried to check expected server name ".$this->expectedName." but neither CN nor sANs matched."); |
|
192 | 192 | |
193 | 193 | $this->TLS_CA_checks_result[$host]['cert_oddity'] = RADIUSTests::CERTPROB_DYN_SERVER_NAME_MISMATCH; |
194 | 194 | return FALSE; |
@@ -218,9 +218,9 @@ discard block |
||
218 | 218 | $this->TLS_clients_checks_result[$host]['ca'][$type]['certificate'][$k]['status'] = $cert['status']; |
219 | 219 | $this->TLS_clients_checks_result[$host]['ca'][$type]['certificate'][$k]['message'] = $this->TLS_certkeys[$cert['status']]; |
220 | 220 | $this->TLS_clients_checks_result[$host]['ca'][$type]['certificate'][$k]['expected'] = $cert['expected']; |
221 | - $add = ' -cert ' . ROOT . '/config/cli-certs/' . $cert['public'] . ' -key ' . ROOT . '/config/cli-certs/' . $cert['private']; |
|
222 | - if (!file_exists(ROOT . '/config/cli-certs/' . $cert['public']) ||!file_exists(ROOT . |
|
223 | - '/config/cli-certs/' . $cert['private'])) { |
|
221 | + $add = ' -cert '.ROOT.'/config/cli-certs/'.$cert['public'].' -key '.ROOT.'/config/cli-certs/'.$cert['private']; |
|
222 | + if (!file_exists(ROOT.'/config/cli-certs/'.$cert['public']) || !file_exists(ROOT. |
|
223 | + '/config/cli-certs/'.$cert['private'])) { |
|
224 | 224 | $this->TLS_clients_checks_result[$host]['ca'][$type]['certificate'][$k]['finalerror'] = 2; |
225 | 225 | continue; |
226 | 226 | } |
@@ -228,7 +228,7 @@ discard block |
||
228 | 228 | $this->TLS_clients_checks_result[$host]['ca'][$type]['certificate'][$k] = []; |
229 | 229 | } |
230 | 230 | // tls1_3 connections have a problem in strdout/stderr buffering |
231 | - $add .= ' ' . "-no_ssl3 -no_tls1_3"; |
|
231 | + $add .= ' '."-no_ssl3 -no_tls1_3"; |
|
232 | 232 | $opensslbabble = $this->execOpensslClient($host, $add, $this->TLS_clients_checks_result[$host]['ca'][$type]['certificate'][$k]); |
233 | 233 | $res = $this->opensslClientsResult($host, $opensslbabble, $this->TLS_clients_checks_result, $type, $k); |
234 | 234 | if ($cert['expected'] == 'PASS') { |
@@ -270,11 +270,11 @@ discard block |
||
270 | 270 | // but code analysers want this more explicit, so here is this extra |
271 | 271 | // call to escapeshellarg() |
272 | 272 | $escapedHost = escapeshellarg($host); |
273 | - $this->loggerInstance->debug(4, \config\Master::PATHS['openssl'] . " s_client -connect " . $escapedHost . " -CApath " . ROOT . "/config/ca-certs/$this->consortium/ $arg 2>&1\n"); |
|
273 | + $this->loggerInstance->debug(4, \config\Master::PATHS['openssl']." s_client -connect ".$escapedHost." -CApath ".ROOT."/config/ca-certs/$this->consortium/ $arg 2>&1\n"); |
|
274 | 274 | $time_start = microtime(true); |
275 | 275 | $opensslbabble = []; |
276 | 276 | $result = 999; // likely to become zero by openssl; don't want to initialise to zero, could cover up exec failures |
277 | - exec(\config\Master::PATHS['openssl'] . " s_client -connect " . $escapedHost . " -CApath " . ROOT . "/config/ca-certs/$this->consortium/ $arg 2>&1", $opensslbabble, $result); |
|
277 | + exec(\config\Master::PATHS['openssl']." s_client -connect ".$escapedHost." -CApath ".ROOT."/config/ca-certs/$this->consortium/ $arg 2>&1", $opensslbabble, $result); |
|
278 | 278 | $time_stop = microtime(true); |
279 | 279 | $testresults['time_millisec'] = floor(($time_stop - $time_start) * 1000); |
280 | 280 | $testresults['returncode'] = $result; |
@@ -396,7 +396,7 @@ discard block |
||
396 | 396 | private function propertyCheckPolicy($cert) |
397 | 397 | { |
398 | 398 | $oids = []; |
399 | - if (isset($cert['extensions']['certificatePolicies']) && $cert['extensions']['certificatePolicies']) { |
|
399 | + if (isset($cert['extensions']['certificatePolicies']) && $cert['extensions']['certificatePolicies']) { |
|
400 | 400 | foreach (\config\Diagnostics::RADIUSTESTS['TLS-acceptableOIDs'] as $key => $oid) { |
401 | 401 | if (preg_match("/Policy: $oid/", $cert['extensions']['certificatePolicies'])) { |
402 | 402 | $oids[$key] = $oid; |
@@ -165,7 +165,7 @@ discard block |
||
165 | 165 | } |
166 | 166 | } |
167 | 167 | |
168 | - $this->loggerInstance->debug(4, "RADIUSTests is in opMode " . $this->opMode . ", parameters were: $realm, $outerUsernameForChecks, " . /** @scrutinizer ignore-type */ print_r($supportedEapTypes, true)); |
|
168 | + $this->loggerInstance->debug(4, "RADIUSTests is in opMode ".$this->opMode.", parameters were: $realm, $outerUsernameForChecks, "./** @scrutinizer ignore-type */ print_r($supportedEapTypes, true)); |
|
169 | 169 | $this->loggerInstance->debug(4, /** @scrutinizer ignore-type */ print_r($expectedServerNames, true)); |
170 | 170 | $this->loggerInstance->debug(4, /** @scrutinizer ignore-type */ print_r($expectedCABundle, true)); |
171 | 171 | |
@@ -252,7 +252,7 @@ discard block |
||
252 | 252 | $returnarray[] = RADIUSTests::CERTPROB_WILDCARD_IN_NAME; |
253 | 253 | continue; // otherwise we'd ALSO complain that it's not a real hostname |
254 | 254 | } |
255 | - if ($onename != "" && filter_var("foo@" . idn_to_ascii($onename), FILTER_VALIDATE_EMAIL) === FALSE) { |
|
255 | + if ($onename != "" && filter_var("foo@".idn_to_ascii($onename), FILTER_VALIDATE_EMAIL) === FALSE) { |
|
256 | 256 | $returnarray[] = RADIUSTests::CERTPROB_NOT_A_HOSTNAME; |
257 | 257 | } |
258 | 258 | } |
@@ -278,7 +278,7 @@ discard block |
||
278 | 278 | $probValue = RADIUSTests::CERTPROB_SHA1_SIGNATURE; |
279 | 279 | $returnarray[] = $probValue; |
280 | 280 | } |
281 | - $this->loggerInstance->debug(4, "CERT IS: " . /** @scrutinizer ignore-type */ print_r($intermediateCa, TRUE)); |
|
281 | + $this->loggerInstance->debug(4, "CERT IS: "./** @scrutinizer ignore-type */ print_r($intermediateCa, TRUE)); |
|
282 | 282 | if ($intermediateCa['basicconstraints_set'] == 0) { |
283 | 283 | $returnarray[] = RADIUSTests::CERTPROB_NO_BASICCONSTRAINTS; |
284 | 284 | } |
@@ -326,7 +326,7 @@ discard block |
||
326 | 326 | public function udpReachability($probeindex, $opnameCheck = TRUE, $frag = TRUE) { |
327 | 327 | // for EAP-TLS to be a viable option, we need to pass a random client cert to make eapol_test happy |
328 | 328 | // the following PEM data is one of the SENSE EAPLab client certs (not secret at all) |
329 | - $clientcert = file_get_contents(dirname(__FILE__) . "/clientcert.p12"); |
|
329 | + $clientcert = file_get_contents(dirname(__FILE__)."/clientcert.p12"); |
|
330 | 330 | if ($clientcert === FALSE) { |
331 | 331 | throw new Exception("A dummy client cert is part of the source distribution, but could not be loaded!"); |
332 | 332 | } |
@@ -335,7 +335,7 @@ discard block |
||
335 | 335 | if ($this->opMode == self::RADIUS_TEST_OPERATION_MODE_THOROUGH) { |
336 | 336 | return $this->udpLogin($probeindex, $this->supportedEapTypes[0]->getArrayRep(), $this->outerUsernameForChecks, 'eaplab', $opnameCheck, $frag, $clientcert); |
337 | 337 | } |
338 | - return $this->udpLogin($probeindex, \core\common\EAP::EAPTYPE_ANY, "cat-connectivity-test@" . $this->realm, 'eaplab', $opnameCheck, $frag, $clientcert); |
|
338 | + return $this->udpLogin($probeindex, \core\common\EAP::EAPTYPE_ANY, "cat-connectivity-test@".$this->realm, 'eaplab', $opnameCheck, $frag, $clientcert); |
|
339 | 339 | } |
340 | 340 | |
341 | 341 | /** |
@@ -356,7 +356,7 @@ discard block |
||
356 | 356 | return RADIUSTests::CERTPROB_NO_CDP_HTTP; |
357 | 357 | } |
358 | 358 | // first and second sub-match is the full URL... check it |
359 | - $crlcontent = \core\common\OutsideComm::downloadFile(trim($crlUrl[1] . $crlUrl[2]), \config\Diagnostics::TIMEOUTS['crl_download']); |
|
359 | + $crlcontent = \core\common\OutsideComm::downloadFile(trim($crlUrl[1].$crlUrl[2]), \config\Diagnostics::TIMEOUTS['crl_download']); |
|
360 | 360 | if ($crlcontent === FALSE) { |
361 | 361 | return RADIUSTests::CERTPROB_NO_CRL_AT_CDP_URL; |
362 | 362 | } |
@@ -371,7 +371,7 @@ discard block |
||
371 | 371 | // $pem = chunk_split(base64_encode($crlcontent), 64, "\n"); |
372 | 372 | // inspired by https://stackoverflow.com/questions/2390604/how-to-pass-variables-as-stdin-into-command-line-from-php |
373 | 373 | |
374 | - $proc = \config\Master::PATHS['openssl'] . " crl -inform der"; |
|
374 | + $proc = \config\Master::PATHS['openssl']." crl -inform der"; |
|
375 | 375 | $descriptorspec = [ |
376 | 376 | 0 => ["pipe", "r"], |
377 | 377 | 1 => ["pipe", "w"], |
@@ -409,7 +409,7 @@ discard block |
||
409 | 409 | $origLength = strlen($hex); |
410 | 410 | for ($i = 1; $i < $origLength; $i++) { |
411 | 411 | if ($i % 2 == 1 && $i != strlen($hex)) { |
412 | - $spaced .= $hex[$i] . " "; |
|
412 | + $spaced .= $hex[$i]." "; |
|
413 | 413 | } else { |
414 | 414 | $spaced .= $hex[$i]; |
415 | 415 | } |
@@ -534,19 +534,19 @@ discard block |
||
534 | 534 | $eapText = \core\common\EAP::eapDisplayName($eaptype); |
535 | 535 | $config = ' |
536 | 536 | network={ |
537 | - ssid="' . \config\Master::APPEARANCE['productname'] . ' testing" |
|
537 | + ssid="' . \config\Master::APPEARANCE['productname'].' testing" |
|
538 | 538 | key_mgmt=WPA-EAP |
539 | 539 | proto=WPA2 |
540 | 540 | pairwise=CCMP |
541 | 541 | group=CCMP |
542 | 542 | '; |
543 | 543 | // phase 1 |
544 | - $config .= 'eap=' . $eapText['OUTER'] . "\n"; |
|
544 | + $config .= 'eap='.$eapText['OUTER']."\n"; |
|
545 | 545 | $logConfig = $config; |
546 | 546 | // phase 2 if applicable; all inner methods have passwords |
547 | 547 | if (isset($eapText['INNER']) && $eapText['INNER'] != "") { |
548 | - $config .= ' phase2="auth=' . $eapText['INNER'] . "\"\n"; |
|
549 | - $logConfig .= ' phase2="auth=' . $eapText['INNER'] . "\"\n"; |
|
548 | + $config .= ' phase2="auth='.$eapText['INNER']."\"\n"; |
|
549 | + $logConfig .= ' phase2="auth='.$eapText['INNER']."\"\n"; |
|
550 | 550 | } |
551 | 551 | // all methods set a password, except EAP-TLS |
552 | 552 | if ($eaptype != \core\common\EAP::EAPTYPE_TLS) { |
@@ -562,11 +562,11 @@ discard block |
||
562 | 562 | } |
563 | 563 | |
564 | 564 | // inner identity |
565 | - $config .= ' identity="' . $inner . "\"\n"; |
|
566 | - $logConfig .= ' identity="' . $inner . "\"\n"; |
|
565 | + $config .= ' identity="'.$inner."\"\n"; |
|
566 | + $logConfig .= ' identity="'.$inner."\"\n"; |
|
567 | 567 | // outer identity, may be equal |
568 | - $config .= ' anonymous_identity="' . $outer . "\"\n"; |
|
569 | - $logConfig .= ' anonymous_identity="' . $outer . "\"\n"; |
|
568 | + $config .= ' anonymous_identity="'.$outer."\"\n"; |
|
569 | + $logConfig .= ' anonymous_identity="'.$outer."\"\n"; |
|
570 | 570 | // done |
571 | 571 | $config .= "}"; |
572 | 572 | $logConfig .= "}"; |
@@ -627,13 +627,13 @@ discard block |
||
627 | 627 | * @return string the command-line for eapol_test |
628 | 628 | */ |
629 | 629 | private function eapolTestConfig($probeindex, $opName, $frag) { |
630 | - $cmdline = \config\Diagnostics::PATHS['eapol_test'] . |
|
631 | - " -a " . \config\Diagnostics::RADIUSTESTS['UDP-hosts'][$probeindex]['ip'] . |
|
632 | - " -s " . \config\Diagnostics::RADIUSTESTS['UDP-hosts'][$probeindex]['secret'] . |
|
633 | - " -o serverchain.pem" . |
|
634 | - " -c ./udp_login_test.conf" . |
|
635 | - " -M 22:44:66:CA:20:" . sprintf("%02d", $probeindex) . " " . |
|
636 | - " -t " . \config\Diagnostics::RADIUSTESTS['UDP-hosts'][$probeindex]['timeout'] . " "; |
|
630 | + $cmdline = \config\Diagnostics::PATHS['eapol_test']. |
|
631 | + " -a ".\config\Diagnostics::RADIUSTESTS['UDP-hosts'][$probeindex]['ip']. |
|
632 | + " -s ".\config\Diagnostics::RADIUSTESTS['UDP-hosts'][$probeindex]['secret']. |
|
633 | + " -o serverchain.pem". |
|
634 | + " -c ./udp_login_test.conf". |
|
635 | + " -M 22:44:66:CA:20:".sprintf("%02d", $probeindex)." ". |
|
636 | + " -t ".\config\Diagnostics::RADIUSTESTS['UDP-hosts'][$probeindex]['timeout']." "; |
|
637 | 637 | if ($opName) { |
638 | 638 | $cmdline .= '-N126:s:"1cat.eduroam.org" '; |
639 | 639 | } |
@@ -662,10 +662,10 @@ discard block |
||
662 | 662 | * @throws Exception |
663 | 663 | */ |
664 | 664 | private function createCArepository($tmpDir, &$intermOdditiesCAT, $servercert, $eapIntermediates, $eapIntermediateCRLs) { |
665 | - if (!mkdir($tmpDir . "/root-ca-allcerts/", 0700, true)) { |
|
665 | + if (!mkdir($tmpDir."/root-ca-allcerts/", 0700, true)) { |
|
666 | 666 | throw new Exception("unable to create root CA directory (RADIUS Tests): $tmpDir/root-ca-allcerts/\n"); |
667 | 667 | } |
668 | - if (!mkdir($tmpDir . "/root-ca-eaponly/", 0700, true)) { |
|
668 | + if (!mkdir($tmpDir."/root-ca-eaponly/", 0700, true)) { |
|
669 | 669 | throw new Exception("unable to create root CA directory (RADIUS Tests): $tmpDir/root-ca-eaponly/\n"); |
670 | 670 | } |
671 | 671 | // make a copy of the EAP-received chain and add the configured intermediates, if any |
@@ -679,15 +679,15 @@ discard block |
||
679 | 679 | } |
680 | 680 | if ($decoded['ca'] == 1) { |
681 | 681 | if ($decoded['root'] == 1) { // save CAT roots to the root directory |
682 | - file_put_contents($tmpDir . "/root-ca-eaponly/configuredroot" . count($catRoots) . ".pem", $decoded['pem']); |
|
683 | - file_put_contents($tmpDir . "/root-ca-allcerts/configuredroot" . count($catRoots) . ".pem", $decoded['pem']); |
|
682 | + file_put_contents($tmpDir."/root-ca-eaponly/configuredroot".count($catRoots).".pem", $decoded['pem']); |
|
683 | + file_put_contents($tmpDir."/root-ca-allcerts/configuredroot".count($catRoots).".pem", $decoded['pem']); |
|
684 | 684 | $catRoots[] = $decoded['pem']; |
685 | 685 | } else { // save the intermediates to allcerts directory |
686 | - file_put_contents($tmpDir . "/root-ca-allcerts/cat-intermediate" . count($catIntermediates) . ".pem", $decoded['pem']); |
|
686 | + file_put_contents($tmpDir."/root-ca-allcerts/cat-intermediate".count($catIntermediates).".pem", $decoded['pem']); |
|
687 | 687 | $intermOdditiesCAT = array_merge($intermOdditiesCAT, $this->propertyCheckIntermediate($decoded)); |
688 | 688 | if (isset($decoded['CRL']) && isset($decoded['CRL'][0])) { |
689 | 689 | $this->loggerInstance->debug(4, "got an intermediate CRL; adding them to the chain checks. (Remember: checking end-entity cert only, not the whole chain"); |
690 | - file_put_contents($tmpDir . "/root-ca-allcerts/crl_cat" . count($catIntermediates) . ".pem", $decoded['CRL'][0]); |
|
690 | + file_put_contents($tmpDir."/root-ca-allcerts/crl_cat".count($catIntermediates).".pem", $decoded['CRL'][0]); |
|
691 | 691 | } |
692 | 692 | $catIntermediates[] = $decoded['pem']; |
693 | 693 | } |
@@ -696,26 +696,26 @@ discard block |
||
696 | 696 | // save all intermediate certificates and CRLs to separate files in |
697 | 697 | // both root-ca directories |
698 | 698 | foreach ($eapIntermediates as $index => $onePem) { |
699 | - file_put_contents($tmpDir . "/root-ca-eaponly/intermediate$index.pem", $onePem); |
|
700 | - file_put_contents($tmpDir . "/root-ca-allcerts/intermediate$index.pem", $onePem); |
|
699 | + file_put_contents($tmpDir."/root-ca-eaponly/intermediate$index.pem", $onePem); |
|
700 | + file_put_contents($tmpDir."/root-ca-allcerts/intermediate$index.pem", $onePem); |
|
701 | 701 | } |
702 | 702 | foreach ($eapIntermediateCRLs as $index => $onePem) { |
703 | - file_put_contents($tmpDir . "/root-ca-eaponly/intermediateCRL$index.pem", $onePem); |
|
704 | - file_put_contents($tmpDir . "/root-ca-allcerts/intermediateCRL$index.pem", $onePem); |
|
703 | + file_put_contents($tmpDir."/root-ca-eaponly/intermediateCRL$index.pem", $onePem); |
|
704 | + file_put_contents($tmpDir."/root-ca-allcerts/intermediateCRL$index.pem", $onePem); |
|
705 | 705 | } |
706 | 706 | |
707 | 707 | $checkstring = ""; |
708 | 708 | if (isset($servercert['CRL']) && isset($servercert['CRL'][0])) { |
709 | 709 | $this->loggerInstance->debug(4, "got a server CRL; adding them to the chain checks. (Remember: checking end-entity cert only, not the whole chain"); |
710 | 710 | $checkstring = "-crl_check_all"; |
711 | - file_put_contents($tmpDir . "/root-ca-eaponly/crl-server.pem", $servercert['CRL'][0]); |
|
712 | - file_put_contents($tmpDir . "/root-ca-allcerts/crl-server.pem", $servercert['CRL'][0]); |
|
711 | + file_put_contents($tmpDir."/root-ca-eaponly/crl-server.pem", $servercert['CRL'][0]); |
|
712 | + file_put_contents($tmpDir."/root-ca-allcerts/crl-server.pem", $servercert['CRL'][0]); |
|
713 | 713 | } |
714 | 714 | |
715 | 715 | |
716 | 716 | // now c_rehash the root CA directory ... |
717 | - system(\config\Diagnostics::PATHS['c_rehash'] . " $tmpDir/root-ca-eaponly/ > /dev/null"); |
|
718 | - system(\config\Diagnostics::PATHS['c_rehash'] . " $tmpDir/root-ca-allcerts/ > /dev/null"); |
|
717 | + system(\config\Diagnostics::PATHS['c_rehash']." $tmpDir/root-ca-eaponly/ > /dev/null"); |
|
718 | + system(\config\Diagnostics::PATHS['c_rehash']." $tmpDir/root-ca-allcerts/ > /dev/null"); |
|
719 | 719 | return $checkstring; |
720 | 720 | } |
721 | 721 | |
@@ -746,14 +746,14 @@ discard block |
||
746 | 746 | // so test if there's something PEMy in the file at all |
747 | 747 | // serverchain.pem is the output from eapol_test; incomingserver.pem is written by extractIncomingCertsfromEAP() if there was at least one server cert. |
748 | 748 | if (filesize("$tmpDir/serverchain.pem") > 10 && filesize("$tmpDir/incomingserver.pem") > 10) { |
749 | - $cmdString = \config\Master::PATHS['openssl'] . " verify $crlCheckString -no-CAstore -no-CApath -CApath $tmpDir/root-ca-eaponly/ -purpose any $tmpDir/incomingserver.pem 2>&1"; |
|
749 | + $cmdString = \config\Master::PATHS['openssl']." verify $crlCheckString -no-CAstore -no-CApath -CApath $tmpDir/root-ca-eaponly/ -purpose any $tmpDir/incomingserver.pem 2>&1"; |
|
750 | 750 | exec($cmdString, $verifyResultEaponly); |
751 | 751 | $this->loggerInstance->debug(4, $cmdString."\n"); |
752 | - $this->loggerInstance->debug(4, "Chain verify pass 1: " . /** @scrutinizer ignore-type */ print_r($verifyResultEaponly, TRUE) . "\n"); |
|
753 | - $cmdString = \config\Master::PATHS['openssl'] . " verify $crlCheckString -no-CAstore -no-CApath -CApath $tmpDir/root-ca-allcerts/ -purpose any $tmpDir/incomingserver.pem 2>&1"; |
|
752 | + $this->loggerInstance->debug(4, "Chain verify pass 1: "./** @scrutinizer ignore-type */ print_r($verifyResultEaponly, TRUE)."\n"); |
|
753 | + $cmdString = \config\Master::PATHS['openssl']." verify $crlCheckString -no-CAstore -no-CApath -CApath $tmpDir/root-ca-allcerts/ -purpose any $tmpDir/incomingserver.pem 2>&1"; |
|
754 | 754 | exec($cmdString, $verifyResultAllcerts); |
755 | 755 | $this->loggerInstance->debug(4, $cmdString."\n"); |
756 | - $this->loggerInstance->debug(4, "Chain verify pass 2: " . /** @scrutinizer ignore-type */ print_r($verifyResultAllcerts, TRUE) . "\n"); |
|
756 | + $this->loggerInstance->debug(4, "Chain verify pass 2: "./** @scrutinizer ignore-type */ print_r($verifyResultAllcerts, TRUE)."\n"); |
|
757 | 757 | } |
758 | 758 | |
759 | 759 | // now we do certificate verification against the collected parents |
@@ -821,7 +821,7 @@ discard block |
||
821 | 821 | // we are UNHAPPY if no names match! |
822 | 822 | $happiness = "UNHAPPY"; |
823 | 823 | foreach ($this->expectedServerNames as $expectedName) { |
824 | - $this->loggerInstance->debug(4, "Managing expectations for $expectedName: " . /** @scrutinizer ignore-type */ print_r($servercert['CN'], TRUE) . /** @scrutinizer ignore-type */ print_r($servercert['sAN_DNS'], TRUE)); |
|
824 | + $this->loggerInstance->debug(4, "Managing expectations for $expectedName: "./** @scrutinizer ignore-type */ print_r($servercert['CN'], TRUE)./** @scrutinizer ignore-type */ print_r($servercert['sAN_DNS'], TRUE)); |
|
825 | 825 | if (array_search($expectedName, $servercert['CN']) !== FALSE && array_search($expectedName, $servercert['sAN_DNS']) !== FALSE) { |
826 | 826 | $this->loggerInstance->debug(4, "Totally happy!"); |
827 | 827 | $happiness = "TOTALLY"; |
@@ -865,11 +865,11 @@ discard block |
||
865 | 865 | $theconfigs = $this->wpaSupplicantConfig($eaptype, $finalInner, $finalOuter, $password); |
866 | 866 | // the config intentionally does not include CA checking. We do this |
867 | 867 | // ourselves after getting the chain with -o. |
868 | - file_put_contents($tmpDir . "/udp_login_test.conf", $theconfigs[0]); |
|
868 | + file_put_contents($tmpDir."/udp_login_test.conf", $theconfigs[0]); |
|
869 | 869 | |
870 | 870 | $cmdline = $this->eapolTestConfig($probeindex, $opnameCheck, $frag); |
871 | 871 | $this->loggerInstance->debug(4, "Shallow reachability check cmdline: $cmdline\n"); |
872 | - $this->loggerInstance->debug(4, "Shallow reachability check config: $tmpDir\n" . $theconfigs[1] . "\n"); |
|
872 | + $this->loggerInstance->debug(4, "Shallow reachability check config: $tmpDir\n".$theconfigs[1]."\n"); |
|
873 | 873 | $time_start = microtime(true); |
874 | 874 | $pflow = []; |
875 | 875 | exec($cmdline, $pflow); |
@@ -878,7 +878,7 @@ discard block |
||
878 | 878 | } |
879 | 879 | $time_stop = microtime(true); |
880 | 880 | $output = print_r($this->redact($password, $pflow), TRUE); |
881 | - file_put_contents($tmpDir . "/eapol_test_output_redacted_$probeindex.txt", $output); |
|
881 | + file_put_contents($tmpDir."/eapol_test_output_redacted_$probeindex.txt", $output); |
|
882 | 882 | $this->loggerInstance->debug(5, "eapol_test output saved to eapol_test_output_redacted_$probeindex.txt\n"); |
883 | 883 | return [ |
884 | 884 | "time" => ($time_stop - $time_start) * 1000, |
@@ -913,7 +913,7 @@ discard block |
||
913 | 913 | if ($packetflow[count($packetflow) - 1] == 3 && $this->checkLineparse($packetflow_orig, self::LINEPARSE_CHECK_REJECTIGNORE)) { |
914 | 914 | array_pop($packetflow); |
915 | 915 | } |
916 | - $this->loggerInstance->debug(5, "Packetflow: " . /** @scrutinizer ignore-type */ print_r($packetflow, TRUE)); |
|
916 | + $this->loggerInstance->debug(5, "Packetflow: "./** @scrutinizer ignore-type */ print_r($packetflow, TRUE)); |
|
917 | 917 | $packetcount = array_count_values($packetflow); |
918 | 918 | $testresults['packetcount'] = $packetcount; |
919 | 919 | $testresults['packetflow'] = $packetflow; |
@@ -953,7 +953,7 @@ discard block |
||
953 | 953 | */ |
954 | 954 | private function wasModernTlsNegotiated(&$testresults, $packetflow_orig) { |
955 | 955 | $negotiatedTlsVersion = $this->checkLineparse($packetflow_orig, self::LINEPARSE_TLSVERSION); |
956 | - $this->loggerInstance->debug(4, "TLS version found is: $negotiatedTlsVersion" . "\n"); |
|
956 | + $this->loggerInstance->debug(4, "TLS version found is: $negotiatedTlsVersion"."\n"); |
|
957 | 957 | if ($negotiatedTlsVersion === FALSE) { |
958 | 958 | $testresults['cert_oddities'][] = RADIUSTests::TLSPROB_UNKNOWN_TLS_VERSION; |
959 | 959 | } elseif ($negotiatedTlsVersion != self::TLS_VERSION_1_2 && $negotiatedTlsVersion != self::TLS_VERSION_1_3) { |
@@ -1010,7 +1010,7 @@ discard block |
||
1010 | 1010 | |
1011 | 1011 | $x509 = new \core\common\X509(); |
1012 | 1012 | // $eap_certarray holds all certs received in EAP conversation |
1013 | - $incomingData = file_get_contents($tmpDir . "/serverchain.pem"); |
|
1013 | + $incomingData = file_get_contents($tmpDir."/serverchain.pem"); |
|
1014 | 1014 | if ($incomingData !== FALSE && strlen($incomingData) > 0) { |
1015 | 1015 | $eapCertArray = $x509->splitCertificate($incomingData); |
1016 | 1016 | } else { |
@@ -1040,10 +1040,10 @@ discard block |
||
1040 | 1040 | case RADIUSTests::SERVER_CA_SELFSIGNED: |
1041 | 1041 | $servercert[] = $cert; |
1042 | 1042 | if (count($servercert) == 1) { |
1043 | - if (file_put_contents($tmpDir . "/incomingserver.pem", $cert['pem'] . "\n") === FALSE) { |
|
1043 | + if (file_put_contents($tmpDir."/incomingserver.pem", $cert['pem']."\n") === FALSE) { |
|
1044 | 1044 | $this->loggerInstance->debug(4, "The (first) server certificate could not be written to $tmpDir/incomingserver.pem!\n"); |
1045 | 1045 | } |
1046 | - $this->loggerInstance->debug(4, "This is the (first) server certificate, with CRL content if applicable: " . /** @scrutinizer ignore-type */ print_r($servercert[0], true)); |
|
1046 | + $this->loggerInstance->debug(4, "This is the (first) server certificate, with CRL content if applicable: "./** @scrutinizer ignore-type */ print_r($servercert[0], true)); |
|
1047 | 1047 | } elseif (!in_array(RADIUSTests::CERTPROB_TOO_MANY_SERVER_CERTS, $testresults['cert_oddities'])) { |
1048 | 1048 | $testresults['cert_oddities'][] = RADIUSTests::CERTPROB_TOO_MANY_SERVER_CERTS; |
1049 | 1049 | } |
@@ -1113,7 +1113,7 @@ discard block |
||
1113 | 1113 | public function autodetectCAWithProbe($outerId) { |
1114 | 1114 | // for EAP-TLS to be a viable option, we need to pass a random client cert to make eapol_test happy |
1115 | 1115 | // the following PEM data is one of the SENSE EAPLab client certs (not secret at all) |
1116 | - $clientcert = file_get_contents(dirname(__FILE__) . "/clientcert.p12"); |
|
1116 | + $clientcert = file_get_contents(dirname(__FILE__)."/clientcert.p12"); |
|
1117 | 1117 | if ($clientcert === FALSE) { |
1118 | 1118 | throw new Exception("A dummy client cert is part of the source distribution, but could not be loaded!"); |
1119 | 1119 | } |
@@ -1128,7 +1128,7 @@ discard block |
||
1128 | 1128 | $tmpDir = $temporary['dir']; |
1129 | 1129 | chdir($tmpDir); |
1130 | 1130 | $this->loggerInstance->debug(4, "temp dir: $tmpDir\n"); |
1131 | - file_put_contents($tmpDir . "/client.p12", $clientcert); |
|
1131 | + file_put_contents($tmpDir."/client.p12", $clientcert); |
|
1132 | 1132 | $testresults = ['cert_oddities' => []]; |
1133 | 1133 | $runtime_results = $this->executeEapolTest($tmpDir, $probeindex, \core\common\EAP::EAPTYPE_ANY, $outerId, $outerId, "eaplab", FALSE, FALSE); |
1134 | 1134 | $packetflow_orig = $runtime_results['output']; |
@@ -1144,8 +1144,7 @@ discard block |
||
1144 | 1144 | // that's not the case if we do EAP-pwd or could not negotiate an EAP method at |
1145 | 1145 | // all |
1146 | 1146 | // in that case: no server CA guess possible |
1147 | - if (! |
|
1148 | - ($radiusResult == RADIUSTests::RETVAL_CONVERSATION_REJECT && $negotiatedEapType) || $radiusResult == RADIUSTests::RETVAL_OK |
|
1147 | + if (!($radiusResult == RADIUSTests::RETVAL_CONVERSATION_REJECT && $negotiatedEapType) || $radiusResult == RADIUSTests::RETVAL_OK |
|
1149 | 1148 | ) { |
1150 | 1149 | return RADIUSTests::RETVAL_INVALID; |
1151 | 1150 | } |
@@ -1185,7 +1184,7 @@ discard block |
||
1185 | 1184 | // trust, and custom ones we may have configured |
1186 | 1185 | $ourRoots = file_get_contents(\config\ConfAssistant::PATHS['trust-store-custom']); |
1187 | 1186 | $mozillaRoots = file_get_contents(\config\ConfAssistant::PATHS['trust-store-mozilla']); |
1188 | - $allRoots = $x509->splitCertificate($ourRoots . "\n" . $mozillaRoots); |
|
1187 | + $allRoots = $x509->splitCertificate($ourRoots."\n".$mozillaRoots); |
|
1189 | 1188 | foreach ($allRoots as $oneRoot) { |
1190 | 1189 | $processedRoot = $x509->processCertificate($oneRoot); |
1191 | 1190 | if ($processedRoot['full_details']['subject'] == $currentHighestKnownIssuer) { |
@@ -1229,7 +1228,7 @@ discard block |
||
1229 | 1228 | chdir($tmpDir); |
1230 | 1229 | $this->loggerInstance->debug(4, "temp dir: $tmpDir\n"); |
1231 | 1230 | if ($clientcertdata !== NULL) { |
1232 | - file_put_contents($tmpDir . "/client.p12", $clientcertdata); |
|
1231 | + file_put_contents($tmpDir."/client.p12", $clientcertdata); |
|
1233 | 1232 | } |
1234 | 1233 | $testresults = []; |
1235 | 1234 | // initialise the sub-array for cleaner parsing |
@@ -1334,7 +1333,7 @@ discard block |
||
1334 | 1333 | 'issuer' => $this->printDN($certdata['issuer']), |
1335 | 1334 | 'validFrom' => $this->printTm($certdata['validFrom_time_t']), |
1336 | 1335 | 'validTo' => $this->printTm($certdata['validTo_time_t']), |
1337 | - 'serialNumber' => $certdata['serialNumber'] . sprintf(" (0x%X)", $certdata['serialNumber']), |
|
1336 | + 'serialNumber' => $certdata['serialNumber'].sprintf(" (0x%X)", $certdata['serialNumber']), |
|
1338 | 1337 | 'sha1' => $certdata['sha1'], |
1339 | 1338 | 'public_key_length' => $certdata['public_key_length'], |
1340 | 1339 | 'extensions' => $certdata['extensions'] |
@@ -129,7 +129,7 @@ discard block |
||
129 | 129 | $this->test_result = []; |
130 | 130 | $this->test_result['global'] = 0; |
131 | 131 | // parse the schema file to find out the number of expected rows... |
132 | - $schema = file(dirname(dirname(__FILE__)) . "/schema/schema.sql"); |
|
132 | + $schema = file(dirname(dirname(__FILE__))."/schema/schema.sql"); |
|
133 | 133 | $this->profileOptionCount = 0; |
134 | 134 | $passedTheWindmill = FALSE; |
135 | 135 | foreach ($schema as $schemaLine) { |
@@ -156,7 +156,7 @@ discard block |
||
156 | 156 | { |
157 | 157 | $this->out[$test] = []; |
158 | 158 | $this->name = $test; |
159 | - $m_name = 'test' . $test; |
|
159 | + $m_name = 'test'.$test; |
|
160 | 160 | $this->test_result[$test] = 0; |
161 | 161 | if (!method_exists($this, $m_name)) { |
162 | 162 | $this->storeTestResult(\core\common\Entity::L_ERROR, "Configuration error, no test configured for <strong>$test</strong>."); |
@@ -269,9 +269,9 @@ discard block |
||
269 | 269 | private function testPhp() |
270 | 270 | { |
271 | 271 | if (version_compare(phpversion(), $this->needversionPHP, '>=')) { |
272 | - $this->storeTestResult(\core\common\Entity::L_OK, "<strong>PHP</strong> is sufficiently recent. You are running " . phpversion() . "."); |
|
272 | + $this->storeTestResult(\core\common\Entity::L_OK, "<strong>PHP</strong> is sufficiently recent. You are running ".phpversion()."."); |
|
273 | 273 | } else { |
274 | - $this->storeTestResult(\core\common\Entity::L_ERROR, "<strong>PHP</strong> is too old. We need at least $this->needversionPHP, but you only have " . phpversion() . "."); |
|
274 | + $this->storeTestResult(\core\common\Entity::L_ERROR, "<strong>PHP</strong> is too old. We need at least $this->needversionPHP, but you only have ".phpversion()."."); |
|
275 | 275 | } |
276 | 276 | } |
277 | 277 | |
@@ -284,12 +284,12 @@ discard block |
||
284 | 284 | */ |
285 | 285 | private function runConstantsTest($config) |
286 | 286 | { |
287 | - $templateConfig = file_get_contents(ROOT . "/config/$config-template.php"); |
|
288 | - $newTemplateConfig = preg_replace("/class *$config/", "class $config" . "_template", $templateConfig); |
|
289 | - file_put_contents(ROOT . "/var/tmp/$config-template.php", $newTemplateConfig); |
|
290 | - include(ROOT . "/var/tmp/$config-template.php"); |
|
291 | - unlink(ROOT . "/var/tmp/$config-template.php"); |
|
292 | - $rft = new \ReflectionClass("\config\\$config" . "_template"); |
|
287 | + $templateConfig = file_get_contents(ROOT."/config/$config-template.php"); |
|
288 | + $newTemplateConfig = preg_replace("/class *$config/", "class $config"."_template", $templateConfig); |
|
289 | + file_put_contents(ROOT."/var/tmp/$config-template.php", $newTemplateConfig); |
|
290 | + include(ROOT."/var/tmp/$config-template.php"); |
|
291 | + unlink(ROOT."/var/tmp/$config-template.php"); |
|
292 | + $rft = new \ReflectionClass("\config\\$config"."_template"); |
|
293 | 293 | $templateConstants = $rft->getConstants(); |
294 | 294 | $failResults = []; |
295 | 295 | foreach ($templateConstants as $constant => $value) { |
@@ -306,7 +306,7 @@ discard block |
||
306 | 306 | * Check if all required constants are set |
307 | 307 | */ |
308 | 308 | private function testConfigConstants() { |
309 | - set_error_handler(function ($severity, $message, $file, $line) { |
|
309 | + set_error_handler(function($severity, $message, $file, $line) { |
|
310 | 310 | throw new \ErrorException($message, $severity, $severity, $file, $line); |
311 | 311 | }); |
312 | 312 | |
@@ -317,7 +317,7 @@ discard block |
||
317 | 317 | $failCount = $failCount + count($failResults); |
318 | 318 | if (count($failResults) > 0) { |
319 | 319 | $this->storeTestResult(\core\common\Entity::L_ERROR, |
320 | - "<strong>The following constants are not set:</strong>" . implode(', ', $failResults)); |
|
320 | + "<strong>The following constants are not set:</strong>".implode(', ', $failResults)); |
|
321 | 321 | } |
322 | 322 | } |
323 | 323 | |
@@ -341,7 +341,7 @@ discard block |
||
341 | 341 | $this->storeTestResult(\core\common\Entity::L_OK, "<strong>cat_base_url</strong> set correctly"); |
342 | 342 | } else { |
343 | 343 | $rootFromScript = $m[1] === '' ? '/' : $m[1]; |
344 | - $this->storeTestResult(\core\common\Entity::L_ERROR, "<strong>cat_base_url</strong> is set to <strong>" . \config\Master::PATHS['cat_base_url'] . "</strong> and should be <strong>$rootFromScript</strong>"); |
|
344 | + $this->storeTestResult(\core\common\Entity::L_ERROR, "<strong>cat_base_url</strong> is set to <strong>".\config\Master::PATHS['cat_base_url']."</strong> and should be <strong>$rootFromScript</strong>"); |
|
345 | 345 | } |
346 | 346 | } |
347 | 347 | |
@@ -362,7 +362,7 @@ discard block |
||
362 | 362 | if (count($probeReturns) == 0) { |
363 | 363 | $this->storeTestResult(common\Entity::L_OK, "All configured RADIUS/UDP probes are reachable."); |
364 | 364 | } else { |
365 | - $this->storeTestResult(common\Entity::L_ERROR, "The following RADIUS probes are NOT reachable: " . implode(', ', $probeReturns)); |
|
365 | + $this->storeTestResult(common\Entity::L_ERROR, "The following RADIUS probes are NOT reachable: ".implode(', ', $probeReturns)); |
|
366 | 366 | } |
367 | 367 | } |
368 | 368 | |
@@ -379,10 +379,10 @@ discard block |
||
379 | 379 | include_once \config\Master::AUTHENTICATION['ssp-path-to-autoloader']; |
380 | 380 | $SSPconfig = \SimpleSAML\Configuration::getInstance(); |
381 | 381 | $sspVersion = explode('.', $SSPconfig->getVersion()); |
382 | - if ( (int) $sspVersion[0] > $this->needversionSSP['major'] || ((int) $sspVersion[0] == $this->needversionSSP['major'] && (int) $sspVersion[1] >= $this->needversionSSP['minor'])) { |
|
383 | - $this->storeTestResult(\core\common\Entity::L_OK, "<strong>simpleSAMLphp</strong> is sufficiently recent. You are running " . implode('.', $sspVersion)); |
|
382 | + if ((int) $sspVersion[0] > $this->needversionSSP['major'] || ((int) $sspVersion[0] == $this->needversionSSP['major'] && (int) $sspVersion[1] >= $this->needversionSSP['minor'])) { |
|
383 | + $this->storeTestResult(\core\common\Entity::L_OK, "<strong>simpleSAMLphp</strong> is sufficiently recent. You are running ".implode('.', $sspVersion)); |
|
384 | 384 | } else { |
385 | - $this->storeTestResult(\core\common\Entity::L_ERROR, "<strong>simpleSAMLphp</strong> is too old. We need at least " . implode('.', $this->needversionSSP)); |
|
385 | + $this->storeTestResult(\core\common\Entity::L_ERROR, "<strong>simpleSAMLphp</strong> is too old. We need at least ".implode('.', $this->needversionSSP)); |
|
386 | 386 | } |
387 | 387 | } |
388 | 388 | } |
@@ -409,7 +409,7 @@ discard block |
||
409 | 409 | $A = $this->getExecPath('zip'); |
410 | 410 | if ($A['exec'] != "") { |
411 | 411 | $fullOutput = []; |
412 | - $t = exec($A['exec'] . ' --version', $fullOutput); |
|
412 | + $t = exec($A['exec'].' --version', $fullOutput); |
|
413 | 413 | if ($A['exec_is'] == "EXPLICIT") { |
414 | 414 | $this->storeTestResult(\core\common\Entity::L_OK, "<strong>".$fullOutput[1]."</strong> was found and is configured explicitly in your config."); |
415 | 415 | } else { |
@@ -447,8 +447,8 @@ discard block |
||
447 | 447 | */ |
448 | 448 | private function testLogdir() |
449 | 449 | { |
450 | - if (fopen(\config\Master::PATHS['logdir'] . "/debug.log", "a") == FALSE) { |
|
451 | - $this->storeTestResult(\core\common\Entity::L_WARN, "Log files in <strong>" . \config\Master::PATHS['logdir'] . "</strong> are not writable!"); |
|
450 | + if (fopen(\config\Master::PATHS['logdir']."/debug.log", "a") == FALSE) { |
|
451 | + $this->storeTestResult(\core\common\Entity::L_WARN, "Log files in <strong>".\config\Master::PATHS['logdir']."</strong> are not writable!"); |
|
452 | 452 | } else { |
453 | 453 | $this->storeTestResult(\core\common\Entity::L_OK, "Log directory is writable."); |
454 | 454 | } |
@@ -576,7 +576,7 @@ discard block |
||
576 | 576 | { |
577 | 577 | $A = $this->getExecPath('openssl'); |
578 | 578 | if ($A['exec'] != "") { |
579 | - $t = exec($A['exec'] . ' version'); |
|
579 | + $t = exec($A['exec'].' version'); |
|
580 | 580 | if ($A['exec_is'] == "EXPLICIT") { |
581 | 581 | $this->storeTestResult(\core\common\Entity::L_OK, "<strong>$t</strong> was found and is configured explicitly in your config."); |
582 | 582 | } else { |
@@ -598,13 +598,13 @@ discard block |
||
598 | 598 | if ($A['exec'] != "" && $A['exec_is'] == "EXPLICIT" && !file_exists($A['exec'])) { |
599 | 599 | $this->storeTestResult(\core\common\Entity::L_ERROR, "<strong>sslscan</strong> is configured explicitly and was not found on your system!"); |
600 | 600 | } else { |
601 | - exec($A['exec'] . ' --version --xml=-', $output, $res); |
|
601 | + exec($A['exec'].' --version --xml=-', $output, $res); |
|
602 | 602 | if ($res == 0) { |
603 | 603 | $xml = simplexml_load_string(implode($output)); |
604 | - $resarray = json_decode(json_encode((array)$xml),true); |
|
604 | + $resarray = json_decode(json_encode((array) $xml), true); |
|
605 | 605 | $t = 'sslscan'; |
606 | 606 | if (isset($resarray['@attributes']) and isset($resarray['@attributes']['version'])) { |
607 | - $t = 'sslscan ' . $resarray['@attributes']['version']; |
|
607 | + $t = 'sslscan '.$resarray['@attributes']['version']; |
|
608 | 608 | } |
609 | 609 | } else { |
610 | 610 | $t = ''; |
@@ -637,14 +637,14 @@ discard block |
||
637 | 637 | } |
638 | 638 | $A = $this->getExecPath('makensis'); |
639 | 639 | if ($A['exec'] != "") { |
640 | - $t = exec($A['exec'] . ' -VERSION'); |
|
640 | + $t = exec($A['exec'].' -VERSION'); |
|
641 | 641 | if ($A['exec_is'] == "EXPLICIT") { |
642 | 642 | $this->storeTestResult(\core\common\Entity::L_OK, "<strong>makensis $t</strong> was found and is configured explicitly in your config."); |
643 | 643 | } else { |
644 | 644 | $this->storeTestResult(\core\common\Entity::L_WARN, "<strong>makensis $t</strong> was found, but is not configured with an absolute path in your config."); |
645 | 645 | } |
646 | 646 | $outputArray = []; |
647 | - exec($A['exec'] . ' -HELP', $outputArray); |
|
647 | + exec($A['exec'].' -HELP', $outputArray); |
|
648 | 648 | $t1 = count(preg_grep('/INPUTCHARSET/', $outputArray)); |
649 | 649 | if ($t1 == 1 && \config\ConfAssistant::NSIS_VERSION == 2) { |
650 | 650 | $this->storeTestResult(\core\common\Entity::L_ERROR, "Declared NSIS_VERSION does not seem to match the file pointed to by PATHS['makensis']!"); |
@@ -674,7 +674,7 @@ discard block |
||
674 | 674 | $NSIS_Module_status = []; |
675 | 675 | foreach ($this->NSISModules as $module) { |
676 | 676 | unset($out); |
677 | - exec(\config\ConfAssistant::PATHS['makensis'] . " -V1 '-X!include $module' '-XOutFile $exe' '-XSection X' '-XSectionEnd'", $out, $retval); |
|
677 | + exec(\config\ConfAssistant::PATHS['makensis']." -V1 '-X!include $module' '-XOutFile $exe' '-XSection X' '-XSectionEnd'", $out, $retval); |
|
678 | 678 | if ($retval > 0) { |
679 | 679 | $NSIS_Module_status[$module] = 0; |
680 | 680 | } else { |
@@ -741,8 +741,8 @@ discard block |
||
741 | 741 | $locales = shell_exec("locale -a"); |
742 | 742 | $allthere = ""; |
743 | 743 | foreach (\config\Master::LANGUAGES as $onelanguage) { |
744 | - if (preg_match("/" . $onelanguage['locale'] . "/", $locales) == 0) { |
|
745 | - $allthere .= $onelanguage['locale'] . " "; |
|
744 | + if (preg_match("/".$onelanguage['locale']."/", $locales) == 0) { |
|
745 | + $allthere .= $onelanguage['locale']." "; |
|
746 | 746 | } |
747 | 747 | } |
748 | 748 | if ($allthere == "") { |
@@ -756,47 +756,47 @@ discard block |
||
756 | 756 | ["SETTING" => \config\Master::APPEARANCE['from-mail'], |
757 | 757 | "DEFVALUE" => "[email protected]", |
758 | 758 | "COMPLAINTSTRING" => "APPEARANCE/from-mail ", |
759 | - "REQUIRED" => FALSE,], |
|
759 | + "REQUIRED" => FALSE, ], |
|
760 | 760 | ["SETTING" => \config\Master::APPEARANCE['support-contact']['url'], |
761 | 761 | "DEFVALUE" => "[email protected]?body=Only%20English%20language%20please!", |
762 | 762 | "COMPLAINTSTRING" => "APPEARANCE/support-contact/url ", |
763 | - "REQUIRED" => FALSE,], |
|
763 | + "REQUIRED" => FALSE, ], |
|
764 | 764 | ["SETTING" => \config\Master::APPEARANCE['support-contact']['display'], |
765 | 765 | "DEFVALUE" => "[email protected]", |
766 | 766 | "COMPLAINTSTRING" => "APPEARANCE/support-contact/display ", |
767 | - "REQUIRED" => FALSE,], |
|
767 | + "REQUIRED" => FALSE, ], |
|
768 | 768 | ["SETTING" => \config\Master::APPEARANCE['support-contact']['developer-mail'], |
769 | 769 | "DEFVALUE" => "[email protected]", |
770 | 770 | "COMPLAINTSTRING" => "APPEARANCE/support-contact/mail ", |
771 | - "REQUIRED" => FALSE,], |
|
771 | + "REQUIRED" => FALSE, ], |
|
772 | 772 | ["SETTING" => \config\Master::APPEARANCE['abuse-mail'], |
773 | 773 | "DEFVALUE" => "[email protected]", |
774 | 774 | "COMPLAINTSTRING" => "APPEARANCE/abuse-mail ", |
775 | - "REQUIRED" => FALSE,], |
|
775 | + "REQUIRED" => FALSE, ], |
|
776 | 776 | ["SETTING" => \config\Master::APPEARANCE['MOTD'], |
777 | 777 | "DEFVALUE" => "Release Candidate. All bugs to be shot on sight!", |
778 | 778 | "COMPLAINTSTRING" => "APPEARANCE/MOTD ", |
779 | - "REQUIRED" => FALSE,], |
|
779 | + "REQUIRED" => FALSE, ], |
|
780 | 780 | ["SETTING" => \config\Master::APPEARANCE['webcert_CRLDP'], |
781 | 781 | "DEFVALUE" => ['list', 'of', 'CRL', 'pointers'], |
782 | 782 | "COMPLAINTSTRING" => "APPEARANCE/webcert_CRLDP ", |
783 | - "REQUIRED" => TRUE,], |
|
783 | + "REQUIRED" => TRUE, ], |
|
784 | 784 | ["SETTING" => \config\Master::APPEARANCE['webcert_OCSP'], |
785 | 785 | "DEFVALUE" => ['list', 'of', 'OCSP', 'pointers'], |
786 | 786 | "COMPLAINTSTRING" => "APPEARANCE/webcert_OCSP ", |
787 | - "REQUIRED" => TRUE,], |
|
787 | + "REQUIRED" => TRUE, ], |
|
788 | 788 | ["SETTING" => \config\Master::DB['INST']['host'], |
789 | 789 | "DEFVALUE" => "db.host.example", |
790 | 790 | "COMPLAINTSTRING" => "DB/INST ", |
791 | - "REQUIRED" => TRUE,], |
|
791 | + "REQUIRED" => TRUE, ], |
|
792 | 792 | ["SETTING" => \config\Master::DB['INST']['host'], |
793 | 793 | "DEFVALUE" => "db.host.example", |
794 | 794 | "COMPLAINTSTRING" => "DB/USER ", |
795 | - "REQUIRED" => TRUE,], |
|
795 | + "REQUIRED" => TRUE, ], |
|
796 | 796 | ["SETTING" => \config\Master::DB['EXTERNAL']['host'], |
797 | 797 | "DEFVALUE" => "customerdb.otherhost.example", |
798 | 798 | "COMPLAINTSTRING" => "DB/EXTERNAL ", |
799 | - "REQUIRED" => FALSE,], |
|
799 | + "REQUIRED" => FALSE, ], |
|
800 | 800 | ]; |
801 | 801 | |
802 | 802 | /** |
@@ -825,11 +825,11 @@ discard block |
||
825 | 825 | if (isset(\config\Diagnostics::RADIUSTESTS['TLS-clientcerts'])) { |
826 | 826 | foreach (\config\Diagnostics::RADIUSTESTS['TLS-clientcerts'] as $cadata) { |
827 | 827 | foreach ($cadata['certificates'] as $cert_files) { |
828 | - if (file_get_contents(ROOT . "/config/cli-certs/" . $cert_files['public']) === FALSE) { |
|
829 | - $defaultvalues .= "CERTIFICATE/" . $cert_files['public'] . " "; |
|
828 | + if (file_get_contents(ROOT."/config/cli-certs/".$cert_files['public']) === FALSE) { |
|
829 | + $defaultvalues .= "CERTIFICATE/".$cert_files['public']." "; |
|
830 | 830 | } |
831 | - if (file_get_contents(ROOT . "/config/cli-certs/" . $cert_files['private']) === FALSE) { |
|
832 | - $defaultvalues .= "CERTIFICATE/" . $cert_files['private'] . " "; |
|
831 | + if (file_get_contents(ROOT."/config/cli-certs/".$cert_files['private']) === FALSE) { |
|
832 | + $defaultvalues .= "CERTIFICATE/".$cert_files['private']." "; |
|
833 | 833 | } |
834 | 834 | } |
835 | 835 | } |
@@ -922,14 +922,14 @@ discard block |
||
922 | 922 | if ($global_no_cache) { |
923 | 923 | foreach ($Devs as $dev => $D) { |
924 | 924 | if (empty($D['options']['no_cache']) || $D['options']['no_cache'] != 0) { |
925 | - $no_cache_dev .= $dev . " "; |
|
925 | + $no_cache_dev .= $dev." "; |
|
926 | 926 | $no_cache_dev_count++; |
927 | 927 | } |
928 | 928 | } |
929 | 929 | } else { |
930 | 930 | foreach ($Devs as $dev => $D) { |
931 | 931 | if (!empty($D['options']['no_cache']) && $D['options']['no_cache'] != 0) { |
932 | - $no_cache_dev .= $dev . " "; |
|
932 | + $no_cache_dev .= $dev." "; |
|
933 | 933 | $no_cache_dev_count++; |
934 | 934 | } |
935 | 935 | } |
@@ -973,14 +973,14 @@ discard block |
||
973 | 973 | $mail->isHTML(FALSE); |
974 | 974 | $mail->CharSet = 'UTF-8'; |
975 | 975 | $mail->From = \config\Master::APPEARANCE['from-mail']; |
976 | - $mail->FromName = \config\Master::APPEARANCE['productname'] . " Invitation System"; |
|
976 | + $mail->FromName = \config\Master::APPEARANCE['productname']." Invitation System"; |
|
977 | 977 | $mail->addAddress(\config\Master::APPEARANCE['abuse-mail']); |
978 | 978 | $mail->Subject = "testing CAT configuration mail"; |
979 | 979 | $mail->Body = "Testing CAT mailing\n"; |
980 | 980 | $sent = $mail->send(); |
981 | 981 | |
982 | 982 | if ($sent) { |
983 | - $this->storeTestResult(\core\common\Entity::L_OK, "mailer settings appear to be working, check " . \config\Master::APPEARANCE['abuse-mail'] . " mailbox if the message was receiced."); |
|
983 | + $this->storeTestResult(\core\common\Entity::L_OK, "mailer settings appear to be working, check ".\config\Master::APPEARANCE['abuse-mail']." mailbox if the message was receiced."); |
|
984 | 984 | } else { |
985 | 985 | $this->storeTestResult(\core\common\Entity::L_ERROR, "mailer settings failed, check the Config::MAILSETTINGS"); |
986 | 986 | } |
@@ -103,7 +103,7 @@ discard block |
||
103 | 103 | |
104 | 104 | $this->loggerInstance->debug(5, "translateFile($source_name, $output_name)\n"); |
105 | 105 | ob_start(); |
106 | - $this->loggerInstance->debug(5, $this->module_path . '/Files/' . $this->device_id . '/' . $source_name . "\n"); |
|
106 | + $this->loggerInstance->debug(5, $this->module_path.'/Files/'.$this->device_id.'/'.$source_name."\n"); |
|
107 | 107 | $source = $this->findSourceFile($source_name); |
108 | 108 | |
109 | 109 | if ($source !== false) { // if there is no file found, don't attempt to include an uninitialised variable |
@@ -230,8 +230,8 @@ discard block |
||
230 | 230 | $out .= sprintf(_("%s installer will be in the form of an EXE file. It will configure %s on your device, by creating wireless network profiles.<p>When you click the download button, the installer will be saved by your browser. Copy it to the machine you want to configure and execute."), \config\ConfAssistant::CONSORTIUM['display_name'], \config\ConfAssistant::CONSORTIUM['display_name']); |
231 | 231 | $out .= "<p>"; |
232 | 232 | if ($networksCount > $configCount) { |
233 | - $out .= sprintf(ngettext("In addition to <strong>%s</strong> the installer will also configure access to:", "In addition to <strong>%s</strong> the installer will also configure access to the following networks:", $networksCount - $configCount), implode(', ', $configNetworkList)) . " "; |
|
234 | - $out .= '<strong>' . join('</strong>, <strong>', array_diff($networkList, $configNetworkList)) . '</strong>'; |
|
233 | + $out .= sprintf(ngettext("In addition to <strong>%s</strong> the installer will also configure access to:", "In addition to <strong>%s</strong> the installer will also configure access to the following networks:", $networksCount - $configCount), implode(', ', $configNetworkList))." "; |
|
234 | + $out .= '<strong>'.join('</strong>, <strong>', array_diff($networkList, $configNetworkList)).'</strong>'; |
|
235 | 235 | $out .= "<p>"; |
236 | 236 | } |
237 | 237 | // TODO - change this below |
@@ -340,14 +340,14 @@ discard block |
||
340 | 340 | */ |
341 | 341 | protected function signInstaller() |
342 | 342 | { |
343 | - $fileName = $this->installerBasename . '.exe'; |
|
343 | + $fileName = $this->installerBasename.'.exe'; |
|
344 | 344 | if (!$this->sign) { |
345 | 345 | rename("installer.exe", $fileName); |
346 | 346 | return $fileName; |
347 | 347 | } |
348 | 348 | $retval = 0; |
349 | 349 | // are actually signing |
350 | - $outputFromSigning = system($this->sign . " installer.exe '$fileName' > /dev/null", $retval); |
|
350 | + $outputFromSigning = system($this->sign." installer.exe '$fileName' > /dev/null", $retval); |
|
351 | 351 | $this->loggerInstance->debug(4, $retval, "Output from Windows signing:", "==\n"); |
352 | 352 | if ($retval !== 0 || $outputFromSigning === false) { |
353 | 353 | $this->loggerInstance->debug(2, "Signing the WindowsCommon installer $fileName FAILED!\n"); |
@@ -365,12 +365,12 @@ discard block |
||
365 | 365 | */ |
366 | 366 | protected function compileNSIS() |
367 | 367 | { |
368 | - $makensis = \config\ConfAssistant::PATHS['makensis'] . " -INPUTCHARSET UTF8"; |
|
368 | + $makensis = \config\ConfAssistant::PATHS['makensis']." -INPUTCHARSET UTF8"; |
|
369 | 369 | $lcAll = getenv("LC_ALL"); |
370 | 370 | putenv("LC_ALL=en_US.UTF-8"); |
371 | - $command = $makensis . ' -V4 cat.NSI > nsis.log 2>&1'; |
|
371 | + $command = $makensis.' -V4 cat.NSI > nsis.log 2>&1'; |
|
372 | 372 | system($command); |
373 | - putenv("LC_ALL=" . $lcAll); |
|
373 | + putenv("LC_ALL=".$lcAll); |
|
374 | 374 | $this->loggerInstance->debug(4, "compileNSIS:$command\n"); |
375 | 375 | } |
376 | 376 | |
@@ -387,10 +387,10 @@ discard block |
||
387 | 387 | 'email' => 'SUPPORT', |
388 | 388 | 'url' => 'URL', |
389 | 389 | ]; |
390 | - $s = "support_" . $type . "_substitute"; |
|
390 | + $s = "support_".$type."_substitute"; |
|
391 | 391 | $substitute = $this->translateString($this->$s); |
392 | - $returnValue = !empty($attr['support:' . $type][0]) ? $attr['support:' . $type][0] : $substitute; |
|
393 | - return '!define ' . $supportString[$type] . ' "' . $returnValue . '"' . "\n"; |
|
392 | + $returnValue = !empty($attr['support:'.$type][0]) ? $attr['support:'.$type][0] : $substitute; |
|
393 | + return '!define '.$supportString[$type].' "'.$returnValue.'"'."\n"; |
|
394 | 394 | } |
395 | 395 | |
396 | 396 | /** |
@@ -403,18 +403,18 @@ discard block |
||
403 | 403 | { |
404 | 404 | $fcontents = ''; |
405 | 405 | if ($attr['internal:profile_count'][0] > 1) { |
406 | - $fcontents .= "\n" . '!define USER_GROUP "' . $this->translateString(str_replace('"', '$\\"', $attr['profile:name'][0])) . '" |
|
406 | + $fcontents .= "\n".'!define USER_GROUP "'.$this->translateString(str_replace('"', '$\\"', $attr['profile:name'][0])).'" |
|
407 | 407 | '; |
408 | 408 | } |
409 | 409 | $fcontents .= ' |
410 | -Caption "' . $this->translateString(sprintf(WindowsCommon::sprintNsis(_("%s installer for %s")), \config\ConfAssistant::CONSORTIUM['display_name'], $attr['general:instname'][0])) . '" |
|
411 | -!define APPLICATION "' . $this->translateString(sprintf(WindowsCommon::sprintNsis(_("%s installer for %s")), \config\ConfAssistant::CONSORTIUM['display_name'], $attr['general:instname'][0])) . '" |
|
412 | -!define VERSION "' . \core\CAT::VERSION_MAJOR . '.' . \core\CAT::VERSION_MINOR . '.' . \core\CAT::VERSION_PATCH . '" |
|
410 | +Caption "' . $this->translateString(sprintf(WindowsCommon::sprintNsis(_("%s installer for %s")), \config\ConfAssistant::CONSORTIUM['display_name'], $attr['general:instname'][0])).'" |
|
411 | +!define APPLICATION "' . $this->translateString(sprintf(WindowsCommon::sprintNsis(_("%s installer for %s")), \config\ConfAssistant::CONSORTIUM['display_name'], $attr['general:instname'][0])).'" |
|
412 | +!define VERSION "' . \core\CAT::VERSION_MAJOR.'.'.\core\CAT::VERSION_MINOR.'.'.\core\CAT::VERSION_PATCH.'" |
|
413 | 413 | !define INSTALLER_NAME "installer.exe" |
414 | -!define LANG "' . $this->lang . '" |
|
415 | -!define LOCALE "' . preg_replace('/\..*$/', '', \config\Master::LANGUAGES[$this->languageInstance->getLang()]['locale']) . '" |
|
414 | +!define LANG "' . $this->lang.'" |
|
415 | +!define LOCALE "' . preg_replace('/\..*$/', '', \config\Master::LANGUAGES[$this->languageInstance->getLang()]['locale']).'" |
|
416 | 416 | ;-------------------------------- |
417 | -!define ORGANISATION "' . $this->translateString($attr['general:instname'][0]) . '" |
|
417 | +!define ORGANISATION "' . $this->translateString($attr['general:instname'][0]).'" |
|
418 | 418 | '; |
419 | 419 | $fcontents .= $this->getSupport($attr, 'email'); |
420 | 420 | $fcontents .= $this->getSupport($attr, 'url'); |
@@ -422,18 +422,18 @@ discard block |
||
422 | 422 | $fcontents .= '!define WIRED |
423 | 423 | '; |
424 | 424 | } |
425 | - $fcontents .= '!define PROVIDERID "urn:UUID:' . $this->deviceUUID . '" |
|
425 | + $fcontents .= '!define PROVIDERID "urn:UUID:'.$this->deviceUUID.'" |
|
426 | 426 | '; |
427 | 427 | if (!empty($attr['internal:realm'][0])) { |
428 | - $fcontents .= '!define REALM "' . $attr['internal:realm'][0] . '" |
|
428 | + $fcontents .= '!define REALM "'.$attr['internal:realm'][0].'" |
|
429 | 429 | '; |
430 | 430 | } |
431 | 431 | if (!empty($attr['internal:hint_userinput_suffix'][0]) && $attr['internal:hint_userinput_suffix'][0] == 1) { |
432 | - $fcontents .= '!define HINT_USER_INPUT "' . $attr['internal:hint_userinput_suffix'][0] . '" |
|
432 | + $fcontents .= '!define HINT_USER_INPUT "'.$attr['internal:hint_userinput_suffix'][0].'" |
|
433 | 433 | '; |
434 | 434 | } |
435 | 435 | if (!empty($attr['internal:verify_userinput_suffix'][0]) && $attr['internal:verify_userinput_suffix'][0] == 1) { |
436 | - $fcontents .= '!define VERIFY_USER_REALM_INPUT "' . $attr['internal:verify_userinput_suffix'][0] . '" |
|
436 | + $fcontents .= '!define VERIFY_USER_REALM_INPUT "'.$attr['internal:verify_userinput_suffix'][0].'" |
|
437 | 437 | '; |
438 | 438 | } |
439 | 439 | $fcontents .= $this->msInfoFile($attr); |
@@ -454,7 +454,7 @@ discard block |
||
454 | 454 | $out .= '!define EXTERNAL_INFO "'; |
455 | 455 | // $this->loggerInstance->debug(4,"Info file type ".$attr['support:info_file'][0]['mime']."\n"); |
456 | 456 | if ($attr['internal:info_file'][0]['mime'] == 'rtf') { |
457 | - $out = '!define LICENSE_FILE "' . $attr['internal:info_file'][0]['name']; |
|
457 | + $out = '!define LICENSE_FILE "'.$attr['internal:info_file'][0]['name']; |
|
458 | 458 | } elseif ($attr['internal:info_file'][0]['mime'] == 'txt') { |
459 | 459 | $infoFile = file_get_contents($attr['internal:info_file'][0]['name']); |
460 | 460 | if ($infoFile === false) { |
@@ -467,7 +467,7 @@ discard block |
||
467 | 467 | $out = '!define LICENSE_FILE " info_f.txt'; |
468 | 468 | } |
469 | 469 | } else { |
470 | - $out = '!define EXTERNAL_INFO "' . $attr['internal:info_file'][0]['name']; |
|
470 | + $out = '!define EXTERNAL_INFO "'.$attr['internal:info_file'][0]['name']; |
|
471 | 471 | } |
472 | 472 | |
473 | 473 | $out .= "\"\n"; |
@@ -47,7 +47,7 @@ discard block |
||
47 | 47 | public function htmlHeadCode() { |
48 | 48 | $cat = new \core\CAT(); |
49 | 49 | \core\common\Entity::intoThePotatoes(); |
50 | - $retval = "<script type='text/javascript' src='https://maps.googleapis.com/maps/api/js?key=" . \config\Master::APPEARANCE['google_maps_api_key'] . "'></script> |
|
50 | + $retval = "<script type='text/javascript' src='https://maps.googleapis.com/maps/api/js?key=".\config\Master::APPEARANCE['google_maps_api_key']."'></script> |
|
51 | 51 | <script type='text/javascript'> |
52 | 52 | // some global variables; |
53 | 53 | var center_lat=49.6114885608729; |
@@ -103,19 +103,19 @@ discard block |
||
103 | 103 | * |
104 | 104 | */ |
105 | 105 | function locator_magic() { |
106 | - geocoder.geocode({'address':\"" . preg_replace("/\"/", """, $this->instName) . "\", 'region':\"" . strtolower($this->fedName) . "\"}, |
|
106 | + geocoder.geocode({'address':\"" . preg_replace("/\"/", """, $this->instName)."\", 'region':\"".strtolower($this->fedName)."\"}, |
|
107 | 107 | function(r,status) { |
108 | 108 | if(status != google.maps.GeocoderStatus.OK) { |
109 | - locate_country(\"" . $cat->knownFederations[strtoupper($this->fedName)]['name'] . "\"); |
|
109 | + locate_country(\"" . $cat->knownFederations[strtoupper($this->fedName)]['name']."\"); |
|
110 | 110 | } else { |
111 | 111 | var i; |
112 | 112 | for(i = 0; i < r.length; i++) { |
113 | 113 | Addr = getAddressElements(r[i].address_components); |
114 | - if(Addr.country == \"" . strtoupper($this->fedName) . "\") |
|
114 | + if(Addr.country == \"" . strtoupper($this->fedName)."\") |
|
115 | 115 | break; |
116 | 116 | } |
117 | - if(Addr.country != \"" . strtoupper($this->fedName) . "\") |
|
118 | - locate_country(\"" . $cat->knownFederations[strtoupper($this->fedName)]['name'] . "\"); |
|
117 | + if(Addr.country != \"" . strtoupper($this->fedName)."\") |
|
118 | + locate_country(\"" . $cat->knownFederations[strtoupper($this->fedName)]['name']."\"); |
|
119 | 119 | else { |
120 | 120 | addMarker(r[i].geometry.location,15,null); |
121 | 121 | } |
@@ -128,7 +128,7 @@ discard block |
||
128 | 128 | */ |
129 | 129 | function markerClicked(m) { |
130 | 130 | info_window.close(); |
131 | - var t = \"" . _("This is location ") . "\"+m.info; |
|
131 | + var t = \"" . _("This is location ")."\"+m.info; |
|
132 | 132 | info_window.setContent(t); |
133 | 133 | info_window.setPosition(m.getPosition()); |
134 | 134 | info_window.open(map,m); |
@@ -207,7 +207,7 @@ discard block |
||
207 | 207 | function getAddressLocation() { |
208 | 208 | var city = $('#address').val(); |
209 | 209 | if(city == '') { |
210 | - alert(\"" . _("nothing entered in the address field") . "\"); |
|
210 | + alert(\"" . _("nothing entered in the address field")."\"); |
|
211 | 211 | return false; |
212 | 212 | } |
213 | 213 | geocoder.geocode( { 'address': city}, function(results, status) { |
@@ -227,7 +227,7 @@ discard block |
||
227 | 227 | * trigger geolocation |
228 | 228 | */ |
229 | 229 | function locateMe() { |
230 | - $('#address').val(\"" . _("locating") . "\"); |
|
230 | + $('#address').val(\"" . _("locating")."\"); |
|
231 | 231 | navigator.geolocation.getCurrentPosition(locate_succes,locate_fail,{maximumAge:3600000, timeout:5000}); |
232 | 232 | } |
233 | 233 | |
@@ -345,7 +345,7 @@ discard block |
||
345 | 345 | if ($this->readOnly) { |
346 | 346 | return "<div id='map' class='googlemap'></div>"; |
347 | 347 | } else { |
348 | - return $this->htmlPreEdit($wizard, $additional) . $this->findLocationHtml() . "<div id='map' class='googlemap'></div>" . $this->htmlPostEdit(FALSE); |
|
348 | + return $this->htmlPreEdit($wizard, $additional).$this->findLocationHtml()."<div id='map' class='googlemap'></div>".$this->htmlPostEdit(FALSE); |
|
349 | 349 | } |
350 | 350 | } |
351 | 351 | |
@@ -358,11 +358,11 @@ discard block |
||
358 | 358 | */ |
359 | 359 | public static function optionListDisplayCode($coords, $number) { |
360 | 360 | // quiesce warnings about unused variable |
361 | - if (strlen(sprintf("%s", $coords)) <0) { |
|
361 | + if (strlen(sprintf("%s", $coords)) < 0) { |
|
362 | 362 | throw new \Exception("A miracle! A string with negative length!"); |
363 | 363 | }; |
364 | 364 | \core\common\Entity::intoThePotatoes(); |
365 | - $retval = "<button id='location_b_" . $number . "' class='location_button'>" . _("Click to see location") . " $number</button>"; |
|
365 | + $retval = "<button id='location_b_".$number."' class='location_button'>"._("Click to see location")." $number</button>"; |
|
366 | 366 | \core\common\Entity::outOfThePotatoes(); |
367 | 367 | return $retval; |
368 | 368 | } |
@@ -373,7 +373,7 @@ discard block |
||
373 | 373 | * @return string |
374 | 374 | */ |
375 | 375 | public function bodyTagCode() { |
376 | - return "onload='load(" . ($this->readOnly ? "0" : "1") . ")'"; |
|
376 | + return "onload='load(".($this->readOnly ? "0" : "1").")'"; |
|
377 | 377 | } |
378 | 378 | |
379 | 379 | /** |
@@ -383,7 +383,7 @@ discard block |
||
383 | 383 | */ |
384 | 384 | private function findLocationHtml() { |
385 | 385 | \core\common\Entity::intoThePotatoes(); |
386 | - $retval = "<p>" . _("Address:") . " <input name='address' id='address' /><button type='button' onclick='getAddressLocation()'>" . _("Find address") . "</button> <button type='button' onclick='locateMe()'>" . _("Locate Me!") . "</button></p>"; |
|
386 | + $retval = "<p>"._("Address:")." <input name='address' id='address' /><button type='button' onclick='getAddressLocation()'>"._("Find address")."</button> <button type='button' onclick='locateMe()'>"._("Locate Me!")."</button></p>"; |
|
387 | 387 | \core\common\Entity::outOfThePotatoes(); |
388 | 388 | return $retval; |
389 | 389 | } |
@@ -83,7 +83,7 @@ discard block |
||
83 | 83 | |
84 | 84 | // use HTML5 geolocation |
85 | 85 | function locateMe() { |
86 | - $('#address').val(\"" . _("locating") . "\"); |
|
86 | + $('#address').val(\"" . _("locating")."\"); |
|
87 | 87 | navigator.geolocation.getCurrentPosition(locate_succes,locate_fail,{maximumAge:3600000, timeout:5000}); |
88 | 88 | } |
89 | 89 | |
@@ -205,7 +205,7 @@ discard block |
||
205 | 205 | view.fit(extent, {padding: [10, 0, 10, 0]}); |
206 | 206 | } else { |
207 | 207 | view.setCenter([0,0]); |
208 | - locate_country('" . $cat->knownFederations[strtoupper($this->fedName)]['name'] . "'); // use the federation code to locate the country |
|
208 | + locate_country('" . $cat->knownFederations[strtoupper($this->fedName)]['name']."'); // use the federation code to locate the country |
|
209 | 209 | map.setView(view); |
210 | 210 | } |
211 | 211 | view.setMaxZoom(20); |
@@ -227,14 +227,14 @@ discard block |
||
227 | 227 | function getAddressLocation() { |
228 | 228 | var city = $('#address').val(); |
229 | 229 | if(city == '') { |
230 | - alert(\"" . _("nothing entered in the address field") . "\"); |
|
230 | + alert(\"" . _("nothing entered in the address field")."\"); |
|
231 | 231 | return false; |
232 | 232 | } |
233 | 233 | city = city.replace(/\s*,\s*/g,',+'); |
234 | 234 | city = city.replace(/ +/,'+'); |
235 | 235 | $.get(addressService+'?format=json&addressdetails=0&q='+city, '', function(data) { |
236 | 236 | if (data[0] === undefined) { |
237 | - alert('" . _("Address not found, perhaps try another form, like putting the street number to the front.") . "'); |
|
237 | + alert('" . _("Address not found, perhaps try another form, like putting the street number to the front.")."'); |
|
238 | 238 | return; |
239 | 239 | } |
240 | 240 | showTmpPointer(data[0].lon, data[0].lat); |
@@ -285,7 +285,7 @@ discard block |
||
285 | 285 | if ($this->readOnly) { |
286 | 286 | return "<div id='map' class='locationmap'></div><script>generateMap('map')</script>"; |
287 | 287 | } else { |
288 | - return $this->htmlPreEdit($wizard, $additional) . $this->findLocationHtml() . "<span id='location-prompt'>You can drag the pointer to the final location before you save the results.</span><div id='map' class='locationmap'></div><script>generateMap('map')</script>" . $this->htmlPostEdit(FALSE); |
|
288 | + return $this->htmlPreEdit($wizard, $additional).$this->findLocationHtml()."<span id='location-prompt'>You can drag the pointer to the final location before you save the results.</span><div id='map' class='locationmap'></div><script>generateMap('map')</script>".$this->htmlPostEdit(FALSE); |
|
289 | 289 | } |
290 | 290 | } |
291 | 291 | |
@@ -310,7 +310,7 @@ discard block |
||
310 | 310 | // we don't need this parameter in this subclass |
311 | 311 | unset($coords); |
312 | 312 | \core\common\Entity::intoThePotatoes(); |
313 | - $retval = "<button id='location_b_" . $number . "' class='location_button'>" . _("Click to see location") . " $number</button>"; |
|
313 | + $retval = "<button id='location_b_".$number."' class='location_button'>"._("Click to see location")." $number</button>"; |
|
314 | 314 | \core\common\Entity::outOfThePotatoes(); |
315 | 315 | return $retval; |
316 | 316 | } |
@@ -322,7 +322,7 @@ discard block |
||
322 | 322 | */ |
323 | 323 | private function findLocationHtml() { |
324 | 324 | \core\common\Entity::intoThePotatoes(); |
325 | - $retval = "<p>" . _("Address:") . " <input name='address' id='address' /><button type='button' onclick='getAddressLocation()'>" . _("Find address") . "</button> <button type='button' onclick='locateMe()'>" . _("Locate Me!") . "</button></p>"; |
|
325 | + $retval = "<p>"._("Address:")." <input name='address' id='address' /><button type='button' onclick='getAddressLocation()'>"._("Find address")."</button> <button type='button' onclick='locateMe()'>"._("Locate Me!")."</button></p>"; |
|
326 | 326 | \core\common\Entity::outOfThePotatoes(); |
327 | 327 | return $retval; |
328 | 328 | } |