diff options
author | Kevin Turner <kevin@janrain.com> | 2008-06-13 18:14:46 +0000 |
---|---|---|
committer | Kevin Turner <kevin@janrain.com> | 2008-06-13 18:14:46 +0000 |
commit | b50f40aa20b98da18015774cbbcdcfe2167e686f (patch) | |
tree | 6e4e52f2a09b5cad23df781525fd781657b91e24 /Auth | |
parent | ba5412702cc2f377c3a736169c745e493365d88e (diff) | |
download | php-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.php | 16 |
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 +?> |