--- Consumer.php 2008-05-05 12:33:47.000000000 -0600 +++ Consumer_fixed.php 2008-05-05 12:33:35.000000000 -0600 @@ -638,25 +638,25 @@ return false; } if (preg_match( - '/]*rel=(["\'])openid2.provider\\1[^>]*href=(["\'])([^"\']+)\\2[^>]*\/?>/i', + '/]*rel=(["\']).*openid2\.provider.*\\1[^>]*href=(["\'])([^"\']+)\\2[^>]*\/?>/i', $response, $r)) { $version = 2.0; $server = $r[3]; } else if (preg_match( - '/]*href=(["\'])([^"\']+)\\1[^>]*rel=(["\'])openid2.provider\\3[^>]*\/?>/i', + '/]*href=(["\'])([^"\']+)\\1[^>]*rel=(["\']).*openid2\.provider.*\\3[^>]*\/?>/i', $response, $r)) { $version = 2.0; $server = $r[2]; } else if (preg_match( - '/]*rel=(["\'])openid.server\\1[^>]*href=(["\'])([^"\']+)\\2[^>]*\/?>/i', + '/]*rel=(["\']).*openid\.server.*\\1[^>]*href=(["\'])([^"\']+)\\2[^>]*\/?>/i', $response, $r)) { $version = 1.1; $server = $r[3]; } else if (preg_match( - '/]*href=(["\'])([^"\']+)\\1[^>]*rel=(["\'])openid.server\\3[^>]*\/?>/i', + '/]*href=(["\'])([^"\']+)\\1[^>]*rel=(["\']).*openid\.server.*\\3[^>]*\/?>/i', $response, $r)) { $version = 1.1; @@ -666,7 +666,7 @@ } if ($version >= 2.0) { if (preg_match( - '/]*rel=(["\'])openid2.local_id\\1[^>]*href=(["\'])([^"\']+)\\2[^>]*\/?>/i', + '/]*rel=(["\']).*openid2\.local_id.*\\1[^>]*href=(["\'])([^"\']+)\\2[^>]*\/?>/i', $response, $r)) { $realId = $r[3]; @@ -678,12 +678,12 @@ } } else { if (preg_match( - '/]*rel=(["\'])openid.delegate\\1[^>]*href=(["\'])([^"\']+)\\2[^>]*\/?>/i', + '/]*rel=(["\']).*openid\.delegate.*\\1[^>]*href=(["\'])([^"\']+)\\2[^>]*\/?>/i', $response, $r)) { $realId = $r[3]; } else if (preg_match( - '/]*href=(["\'])([^"\']+)\\1[^>]*rel=(["\'])openid.delegate\\3[^>]*\/?>/i', + '/]*href=(["\'])([^"\']+)\\1[^>]*rel=(["\']).*openid\.delegate.*\\3[^>]*\/?>/i', $response, $r)) { $realId = $r[2];