Skip to content
Snippets Groups Projects
Commit 92e1fc04 authored by Jaime Pérez Crespo's avatar Jaime Pérez Crespo
Browse files

OpenID library updated to commit 9a79bd5, except for...

OpenID library updated to commit 9a79bd5, except for lib/Auth/OpenID/Message.php, which introduces a bug with return_to parameter.

git-svn-id: https://simplesamlphp.googlecode.com/svn/trunk@3195 44740490-163a-0410-bde0-09ae8108e29a
parent c5c34576
No related branches found
No related tags found
No related merge requests found
...@@ -1183,9 +1183,11 @@ class Auth_OpenID_GenericConsumer { ...@@ -1183,9 +1183,11 @@ class Auth_OpenID_GenericConsumer {
function _discoverAndVerify($claimed_id, $to_match_endpoints) function _discoverAndVerify($claimed_id, $to_match_endpoints)
{ {
// oidutil.log('Performing discovery on %s' % (claimed_id,)) // oidutil.log('Performing discovery on %s' % (claimed_id,))
list($unused, $services) = call_user_func($this->discoverMethod, list($unused, $services) = call_user_func_array($this->discoverMethod,
$claimed_id, array(
&$this->fetcher); $claimed_id,
&$this->fetcher,
));
if (!$services) { if (!$services) {
return new Auth_OpenID_FailureResponse(null, return new Auth_OpenID_FailureResponse(null,
......
...@@ -32,7 +32,7 @@ class Auth_OpenID_MySQLStore extends Auth_OpenID_SQLStore { ...@@ -32,7 +32,7 @@ class Auth_OpenID_MySQLStore extends Auth_OpenID_SQLStore {
$this->sql['assoc_table'] = $this->sql['assoc_table'] =
"CREATE TABLE %s (\n". "CREATE TABLE %s (\n".
" server_url BLOB NOT NULL,\n". " server_url VARCHAR(2047) NOT NULL,\n".
" handle VARCHAR(255) NOT NULL,\n". " handle VARCHAR(255) NOT NULL,\n".
" secret BLOB NOT NULL,\n". " secret BLOB NOT NULL,\n".
" issued INTEGER NOT NULL,\n". " issued INTEGER NOT NULL,\n".
......
...@@ -219,7 +219,11 @@ class Auth_OpenID_Parse { ...@@ -219,7 +219,11 @@ class Auth_OpenID_Parse {
function match($regexp, $text, &$match) function match($regexp, $text, &$match)
{ {
if (!is_callable('mb_ereg_search_init')) { if (!is_callable('mb_ereg_search_init')) {
return preg_match($regexp, $text, $match); if (!preg_match($regexp, $text, $match)) {
return false;
}
$match = $match[0];
return true;
} }
$regexp = substr($regexp, 1, strlen($regexp) - 2 - strlen($this->_re_flags)); $regexp = substr($regexp, 1, strlen($regexp) - 2 - strlen($this->_re_flags));
......
...@@ -1704,7 +1704,7 @@ class Auth_OpenID_Server { ...@@ -1704,7 +1704,7 @@ class Auth_OpenID_Server {
{ {
if (method_exists($this, "openid_" . $request->mode)) { if (method_exists($this, "openid_" . $request->mode)) {
$handler = array($this, "openid_" . $request->mode); $handler = array($this, "openid_" . $request->mode);
return call_user_func($handler, &$request); return call_user_func_array($handler, array($request));
} }
return null; return null;
} }
......
...@@ -411,9 +411,11 @@ class Auth_Yadis_Discovery { ...@@ -411,9 +411,11 @@ class Auth_Yadis_Discovery {
if (!$manager || (!$manager->services)) { if (!$manager || (!$manager->services)) {
$this->destroyManager(); $this->destroyManager();
list($yadis_url, $services) = call_user_func($discover_cb, list($yadis_url, $services) = call_user_func_array($discover_cb,
$this->url, array(
&$fetcher); $this->url,
&$fetcher,
));
$manager = $this->createManager($services, $yadis_url); $manager = $this->createManager($services, $yadis_url);
} }
......
...@@ -129,9 +129,19 @@ class Auth_Yadis_ParanoidHTTPFetcher extends Auth_Yadis_HTTPFetcher { ...@@ -129,9 +129,19 @@ class Auth_Yadis_ParanoidHTTPFetcher extends Auth_Yadis_HTTPFetcher {
curl_setopt($c, CURLOPT_URL, $url); curl_setopt($c, CURLOPT_URL, $url);
if (defined('Auth_OpenID_VERIFY_HOST')) { if (defined('Auth_OpenID_VERIFY_HOST')) {
curl_setopt($c, CURLOPT_SSL_VERIFYPEER, true); // set SSL verification options only if Auth_OpenID_VERIFY_HOST
curl_setopt($c, CURLOPT_SSL_VERIFYHOST, 2); // 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); curl_exec($c);
$code = curl_getinfo($c, CURLINFO_HTTP_CODE); $code = curl_getinfo($c, CURLINFO_HTTP_CODE);
...@@ -153,6 +163,7 @@ class Auth_Yadis_ParanoidHTTPFetcher extends Auth_Yadis_HTTPFetcher { ...@@ -153,6 +163,7 @@ class Auth_Yadis_ParanoidHTTPFetcher extends Auth_Yadis_HTTPFetcher {
curl_close($c); curl_close($c);
if (defined('Auth_OpenID_VERIFY_HOST') && if (defined('Auth_OpenID_VERIFY_HOST') &&
Auth_OpenID_VERIFY_HOST == true &&
$this->isHTTPS($url)) { $this->isHTTPS($url)) {
Auth_OpenID::log('OpenID: Verified SSL host %s using '. Auth_OpenID::log('OpenID: Verified SSL host %s using '.
'curl/get', $url); 'curl/get', $url);
...@@ -202,8 +213,17 @@ class Auth_Yadis_ParanoidHTTPFetcher extends Auth_Yadis_HTTPFetcher { ...@@ -202,8 +213,17 @@ class Auth_Yadis_ParanoidHTTPFetcher extends Auth_Yadis_HTTPFetcher {
array($this, "_writeData")); array($this, "_writeData"));
if (defined('Auth_OpenID_VERIFY_HOST')) { if (defined('Auth_OpenID_VERIFY_HOST')) {
curl_setopt($c, CURLOPT_SSL_VERIFYPEER, true); // set SSL verification options only if Auth_OpenID_VERIFY_HOST
curl_setopt($c, CURLOPT_SSL_VERIFYHOST, 2); // 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); curl_exec($c);
...@@ -217,7 +237,9 @@ class Auth_Yadis_ParanoidHTTPFetcher extends Auth_Yadis_HTTPFetcher { ...@@ -217,7 +237,9 @@ class Auth_Yadis_ParanoidHTTPFetcher extends Auth_Yadis_HTTPFetcher {
return null; 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 '. Auth_OpenID::log('OpenID: Verified SSL host %s using '.
'curl/post', $url); 'curl/post', $url);
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment