From 501c90e5965ec99cd6de5191652707ae28fc3a75 Mon Sep 17 00:00:00 2001 From: Jacek Kowalski <Jacek@jacekk.info> Date: Thu, 03 Sep 2015 21:09:26 +0000 Subject: [PATCH] Extract code that looks for CAfile to findCaFile() method --- uphpCAS.php | 79 +++++++++++++++++++++------------------ 1 files changed, 43 insertions(+), 36 deletions(-) diff --git a/uphpCAS.php b/uphpCAS.php index bf6ab6a..c67e7a4 100644 --- a/uphpCAS.php +++ b/uphpCAS.php @@ -23,32 +23,34 @@ if($serviceUrl != NULL) { $this->serviceUrl = $serviceUrl; } else { - $url = 'http://'; - $port = 0; - if(isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') { - $url = 'https://'; - if(isset($_SERVER['SERVER_PORT']) - && $_SERVER['SERVER_PORT'] != '443') { - $port = $_SERVER['SERVER_PORT']; - } - } elseif(isset($_SERVER['SERVER_PORT']) - && $_SERVER['SERVER_PORT'] != '80') { - $port = $_SERVER['SERVER_PORT']; - } - - $url .= $_SERVER['SERVER_NAME']; - - if($port != 0) { - $url .= ':'.$port; - } - $url .= $_SERVER['REQUEST_URI']; - - $this->serviceUrl = $url; + $this->serviceUrl = $this->getCurrentUrl(); } if($sessionName) { $this->sessionName = $sessionName; } + } + + public function getCurrentUrl() { + $url = 'http://'; + $port = 0; + if(isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') { + $url = 'https://'; + if(isset($_SERVER['SERVER_PORT']) + && $_SERVER['SERVER_PORT'] != '443') { + $port = $_SERVER['SERVER_PORT']; + } + } elseif(isset($_SERVER['SERVER_PORT']) + && $_SERVER['SERVER_PORT'] != '80') { + $port = $_SERVER['SERVER_PORT']; + } + + $url .= $_SERVER['SERVER_NAME']; + + if($port != 0) { + $url .= ':'.$port; + } + $url .= $_SERVER['REQUEST_URI']; } public function getServerUrl() { @@ -65,7 +67,7 @@ $this->serviceUrl = $serviceUrl; } - public function getSessionName($sessionName) { + public function getSessionName() { return $this->sessionName; } public function setSessionName($sessionName) { @@ -110,6 +112,24 @@ } } + protected function findCaFile() { + $cafiles = array( + '/etc/ssl/certs/ca-certificates.crt', + '/etc/ssl/certs/ca-bundle.crt', + '/etc/pki/tls/certs/ca-bundle.crt', + ); + + $cafile = NULL; + foreach($cafiles as $file) { + if(is_file($file)) { + $cafile = $file; + break; + } + } + + return $cafile; + } + public function verifyTicket($ticket) { $context = array( 'http' => array( @@ -127,21 +147,8 @@ ); if(version_compare(PHP_VERSION, '5.6', '<')) { - $cafiles = array( - '/etc/ssl/certs/ca-certificates.crt', - '/etc/ssl/certs/ca-bundle.crt', - '/etc/pki/tls/certs/ca-bundle.crt', - ); - $cafile = NULL; - foreach($cafiles as $file) { - if(is_file($file)) { - $cafile = $file; - break; - } - } - $url = parse_url($this->serverUrl); - $context['ssl']['cafile'] = $cafile; + $context['ssl']['cafile'] = $this->findCaFile(); $context['ssl']['ciphers'] = 'ECDH:DH:AES:CAMELLIA:!SSLv2:!aNULL' .':!eNULL:!EXPORT:!DES:!3DES:!MD5:!RC4:!ADH:!PSK:!SRP'; $context['ssl']['CN_match'] = $url['host']; -- Gitblit v1.9.1