|
Line 0
Link Here
|
|
|
1 |
--- Consumer.pm 2007-08-04 02:38:53.000000000 +0400 |
| 2 |
+++ lib/Net/OpenID/Consumer.pm 2008-06-04 19:10:37.000000000 +0400 |
| 3 |
@@ -235,7 +235,7 @@ |
| 4 |
# OpenID servers / delegated identities |
| 5 |
# <link rel="openid.server" href="http://www.livejournal.com/misc/openid.bml" /> |
| 6 |
if ($type eq "link" && |
| 7 |
- $val =~ /\brel=.openid\.(server|delegate)./i && ($temp = $1) && |
| 8 |
+ $val =~ /\brel=[\"\'][^\"\']*\bopenid\.(server|delegate)\b/i && ($temp = $1) && |
| 9 |
$val =~ m!\bhref=[\"\']([^\"\']+)[\"\']!i) { |
| 10 |
$ret->{"openid.$temp"} = $1; |
| 11 |
next; |
| 12 |
@@ -301,7 +301,8 @@ |
| 13 |
$ret->{$k} =~ s/&(\w+);/$emap->{$1} || ""/eg; |
| 14 |
} |
| 15 |
|
| 16 |
- $self->_debug("semantic info ($url) = " . join(", ", %$ret)); |
| 17 |
+ $self->_debug("semantic info ($url) = " . join(", ", |
| 18 |
+ map { defined($ret->{$_}) ? ($_ => $ret->{$_}) : () } keys %$ret)); |
| 19 |
|
| 20 |
return $ret; |
| 21 |
} |
| 22 |
@@ -543,6 +544,7 @@ |
| 23 |
sub hmac { |
| 24 |
my($data, $key, $hash_func, $block_size) = @_; |
| 25 |
$block_size ||= 64; |
| 26 |
+ $key = $key . ''; # stringify for charwise ^ to work |
| 27 |
$key = &$hash_func($key) if length($key) > $block_size; |
| 28 |
|
| 29 |
my $k_ipad = $key ^ (chr(0x36) x $block_size); |