Issue 8: x-xrds-location header ignored (No server found for AOL)
Status:  Fixed
Owner: ----
Closed:  Sep 2010
Reported by HendrikU...@nexgo.de, Sep 26, 2010
Hi,

the x-xrds-location header is ignored because of an upper case letter in the key name. $this->request($url, 'HEAD') converts all header names to lower case.

The following patch will redirect to the AOL login screen instead of failing with "No server found". I don't have an AOL account, so i cannot test the validation part.

--- lightopenid.php     26 Sep 2010 21:14:23 -0000      1.4
+++ lightopenid.php     27 Sep 2010 00:16:20 -0000
@@ -227,8 +227,8 @@
                 $headers = $this->request($url, 'HEAD');
 
                 $next = false;
-                    if (isset($headers['x-xrds-Location'])) {
-                        $url = $this->build_url(parse_url($url), parse_url(trim($headers['x-xrds-Location'])));
+                if (isset($headers['x-xrds-location'])) {
+                        $url = $this->build_url(parse_url($url), parse_url(trim($headers['x-xrds-location'])));
                         $next = true;
                     }

Sep 27, 2010
Project Member #1 mewp...@gmail.com
Of course, you're right. I didn't notice it while changing the case of headers.

Thanks for the report and continued testing.
Status: Fixed