diff options
Diffstat (limited to 'Auth/Yadis')
-rw-r--r-- | Auth/Yadis/ParanoidHTTPFetcher.php | 32 |
1 files changed, 27 insertions, 5 deletions
diff --git a/Auth/Yadis/ParanoidHTTPFetcher.php b/Auth/Yadis/ParanoidHTTPFetcher.php index 4da7c94..c44adfe 100644 --- a/Auth/Yadis/ParanoidHTTPFetcher.php +++ b/Auth/Yadis/ParanoidHTTPFetcher.php @@ -129,9 +129,19 @@ class Auth_Yadis_ParanoidHTTPFetcher extends Auth_Yadis_HTTPFetcher { curl_setopt($c, CURLOPT_URL, $url); if (defined('Auth_OpenID_VERIFY_HOST')) { - curl_setopt($c, CURLOPT_SSL_VERIFYPEER, true); - curl_setopt($c, CURLOPT_SSL_VERIFYHOST, 2); + // set SSL verification options only if Auth_OpenID_VERIFY_HOST + // is explicitly set, otherwise use system default. + if (Auth_OpenID_VERIFY_HOST) { + curl_setopt($c, CURLOPT_SSL_VERIFYPEER, true); + curl_setopt($c, CURLOPT_SSL_VERIFYHOST, 2); + if (defined('Auth_OpenID_CAINFO')) { + curl_setopt($c, CURLOPT_CAINFO, Auth_OpenID_CAINFO); + } + } else { + curl_setopt($c, CURLOPT_SSL_VERIFYPEER, false); + } } + curl_exec($c); $code = curl_getinfo($c, CURLINFO_HTTP_CODE); @@ -153,6 +163,7 @@ class Auth_Yadis_ParanoidHTTPFetcher extends Auth_Yadis_HTTPFetcher { curl_close($c); if (defined('Auth_OpenID_VERIFY_HOST') && + Auth_OpenID_VERIFY_HOST == true && $this->isHTTPS($url)) { Auth_OpenID::log('OpenID: Verified SSL host %s using '. 'curl/get', $url); @@ -202,8 +213,17 @@ class Auth_Yadis_ParanoidHTTPFetcher extends Auth_Yadis_HTTPFetcher { array($this, "_writeData")); if (defined('Auth_OpenID_VERIFY_HOST')) { - curl_setopt($c, CURLOPT_SSL_VERIFYPEER, true); - curl_setopt($c, CURLOPT_SSL_VERIFYHOST, 2); + // set SSL verification options only if Auth_OpenID_VERIFY_HOST + // is explicitly set, otherwise use system default. + if (Auth_OpenID_VERIFY_HOST) { + curl_setopt($c, CURLOPT_SSL_VERIFYPEER, true); + curl_setopt($c, CURLOPT_SSL_VERIFYHOST, 2); + if (defined('Auth_OpenID_CAINFO')) { + curl_setopt($c, CURLOPT_CAINFO, Auth_OpenID_CAINFO); + } + } else { + curl_setopt($c, CURLOPT_SSL_VERIFYPEER, false); + } } curl_exec($c); @@ -217,7 +237,9 @@ class Auth_Yadis_ParanoidHTTPFetcher extends Auth_Yadis_HTTPFetcher { return null; } - if (defined('Auth_OpenID_VERIFY_HOST') && $this->isHTTPS($url)) { + if (defined('Auth_OpenID_VERIFY_HOST') && + Auth_OpenID_VERIFY_HOST == true && + $this->isHTTPS($url)) { Auth_OpenID::log('OpenID: Verified SSL host %s using '. 'curl/post', $url); } |