From: Simon McVittie Date: Sun, 21 Dec 2008 16:32:44 +0000 (+0000) Subject: openid: in &openiduser, let domain-style providers have arbitrarily many subdomains X-Git-Tag: 2.71~6^2~2 X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/commitdiff_plain/e0cd19f30b5cc66450bdb52bd9840c6d8fa774eb openid: in &openiduser, let domain-style providers have arbitrarily many subdomains This leads to better display for OpenIDs like smcv.pseudorandom.co.uk and thm.id.fedoraproject.org (to take a couple of examples from the IkiWiki commit history). --- diff --git a/IkiWiki/Plugin/openid.pm b/IkiWiki/Plugin/openid.pm index 2933c9ed9..4acfecf5e 100644 --- a/IkiWiki/Plugin/openid.pm +++ b/IkiWiki/Plugin/openid.pm @@ -191,9 +191,10 @@ sub openiduser ($) { eval q{use Net::OpenID::VerifiedIdentity; 1} && !$@) { my $oid=Net::OpenID::VerifiedIdentity->new(identity => $user); my $display=$oid->display; - # Convert "user.somehost.com" to "user [somehost.com]". + # Convert "user.somehost.com" to "user [somehost.com]" + # (also "user.somehost.co.uk") if ($display !~ /\[/) { - $display=~s/^(.*?)\.([^.]+\.[a-z]+)$/$1 [$2]/; + $display=~s/^([-a-zA-Z0-9]+?)\.([-.a-zA-Z0-9]+\.[a-z]+)$/$1 [$2]/; } # Convert "http://somehost.com/user" to "user [somehost.com]". if ($display !~ /\[/) {