Subject: | Blank error returned on blank content retrieval |
Date: | Fri, 28 Dec 2007 01:44:17 -0600 |
To: | bug-Net-OpenID-Consumer [...] rt.cpan.org |
From: | Drake Wilson <drake [...] begriffli.ch> |
If _get_url_contents returns a blank document, _find_semantic_info
assumes it failed. In a way, this is true, because a blank document
has no OpenID information. But it also assumes that _get_url_contents
set the error code and text in the process of failing, which it did
not (because _get_url_contents doesn't itself check that the document
isn't an empty string, and therefore thinks it succeeded). The
failure itself propagates, but the err, errcode, and errtext methods
return nothing.
(Actually, the err method returns a single colon and space, which is
ultra-confusing. This is similar to the ticket
http://rt.cpan.org/Public/Bug/Display.html?id=29109 for
Net::OpenID::Server, so I infer that it's probably a bug here as
well.)
This has combined with a bug in URI::Fetch version 0.03 (and
apparently all versions below 0.06) to create the bug that appears in
http://www.livejournal.com/support/see_request.bml?id=693933 (or at
least it seems that way; I have not yet confirmed with LiveJournal
themselves). This may mean that Net::OpenID::Consumer should depend
on URI::Fetch 0.06 or higher, since it seems to be necessary for
proper function of URLs that have redirects to slashed forms (which is
very common, and which seems to be specifically mentioned in the
OpenID spec as an example of where a redirect must be handled
correctly).
---> Drake Wilson