summaryrefslogtreecommitdiffstats
path: root/Auth
diff options
context:
space:
mode:
authorKevin Turner <kevin@janrain.com>2008-06-13 18:14:46 +0000
committerKevin Turner <kevin@janrain.com>2008-06-13 18:14:46 +0000
commitb50f40aa20b98da18015774cbbcdcfe2167e686f (patch)
tree6e4e52f2a09b5cad23df781525fd781657b91e24 /Auth
parentba5412702cc2f377c3a736169c745e493365d88e (diff)
downloadphp-openid-b50f40aa20b98da18015774cbbcdcfe2167e686f.zip
php-openid-b50f40aa20b98da18015774cbbcdcfe2167e686f.tar.gz
php-openid-b50f40aa20b98da18015774cbbcdcfe2167e686f.tar.bz2
[project @ etxrd.getCanonicalID: case-insensitive comparsions, patch from =wil]
1. There should only be a single CanonicalID in each XRD (in the latest XRI resolution spec), so I made it use the first CID found instead of the last. 2. Use case-insensitive comparison when comparing CanonicalIDs.
Diffstat (limited to 'Auth')
-rw-r--r--Auth/Yadis/XRI.php16
1 files changed, 8 insertions, 8 deletions
diff --git a/Auth/Yadis/XRI.php b/Auth/Yadis/XRI.php
index d5758cf..4e34623 100644
--- a/Auth/Yadis/XRI.php
+++ b/Auth/Yadis/XRI.php
@@ -15,7 +15,7 @@ require_once 'Auth/OpenID.php';
function Auth_Yadis_getDefaultProxy()
{
- return 'http://proxy.xri.net/';
+ return 'http://xri.net/';
}
function Auth_Yadis_getXRIAuthorities()
@@ -199,7 +199,7 @@ function Auth_Yadis_getCanonicalID($iname, $xrds)
return false;
}
- $canonicalID = $canonicalID_nodes[count($canonicalID_nodes) - 1];
+ $canonicalID = $canonicalID_nodes[0];
$canonicalID = Auth_Yadis_XRI($parser->content($canonicalID));
$childID = $canonicalID;
@@ -208,13 +208,13 @@ function Auth_Yadis_getCanonicalID($iname, $xrds)
$xrd = $xrd_list[$i];
$parent_sought = substr($childID, 0, strrpos($childID, '!'));
- $parent_list = array();
-
- foreach ($parser->evalXPath('xrd:CanonicalID', $xrd) as $c) {
- $parent_list[] = Auth_Yadis_XRI($parser->content($c));
+ $parentCID = $parser->evalXPath('xrd:CanonicalID', $xrd);
+ if (!$parentCID) {
+ return false;
}
+ $parentCID = Auth_Yadis_XRI($parser->content($parentCID[0]));
- if (!in_array($parent_sought, $parent_list)) {
+ if (strcasecmp($parent_sought, $parentCID)) {
// raise XRDSFraud.
return false;
}
@@ -231,4 +231,4 @@ function Auth_Yadis_getCanonicalID($iname, $xrds)
return $canonicalID;
}
-?> \ No newline at end of file
+?>