In the lastest versions of PHP, the cURL extension fails to correctly retrieve the effective URL, by stripping the hash fragment (the part after #).
This results in the $claimed_id being updated when it should not be (in request_curl method). This affects the data returned to the user and makes using Yahoo OpendID impossible (due to all Yahoo identifiers ending in a hash followed by some other characters).
Issue can be reproduced on the following environment:
PHP: 5.5.3
cURL: 7.32.0
OS: Ubuntu 13.10
Web: Apache/2.4.6 (Ubuntu)
Proposed fix is attached.