meta: Add openid delegate parameter to allow delegating only openid or openid2.

master
Joey Hess 2009-06-08 21:40:06 -04:00
parent bf0534c689
commit bf55a7fbb1
4 changed files with 18 additions and 5 deletions

View File

@ -163,17 +163,22 @@ sub preprocess (@) {
"\" type=\"text/css\" />"; "\" type=\"text/css\" />";
} }
elsif ($key eq 'openid') { elsif ($key eq 'openid') {
my $delegate=0; # both by default
if (exists $params{delegate}) {
$delegate = 1 if lc $params{delegate} eq 'openid';
$delegate = 2 if lc $params{delegate} eq 'openid2';
}
if (exists $params{server} && safeurl($params{server})) { if (exists $params{server} && safeurl($params{server})) {
push @{$metaheaders{$page}}, '<link href="'.encode_entities($params{server}). push @{$metaheaders{$page}}, '<link href="'.encode_entities($params{server}).
'" rel="openid.server" />'; '" rel="openid.server" />' if $delegate ne 2;
push @{$metaheaders{$page}}, '<link href="'.encode_entities($params{server}). push @{$metaheaders{$page}}, '<link href="'.encode_entities($params{server}).
'" rel="openid2.provider" />'; '" rel="openid2.provider" />' if $delegate ne 1;
} }
if (safeurl($value)) { if (safeurl($value)) {
push @{$metaheaders{$page}}, '<link href="'.encode_entities($value). push @{$metaheaders{$page}}, '<link href="'.encode_entities($value).
'" rel="openid.delegate" />'; '" rel="openid.delegate" />' if $delegate ne 2;
push @{$metaheaders{$page}}, '<link href="'.encode_entities($value). push @{$metaheaders{$page}}, '<link href="'.encode_entities($value).
'" rel="openid2.local_id" />'; '" rel="openid2.local_id" />' if $delegate ne 1;
} }
if (exists $params{"xrds-location"} && safeurl($params{"xrds-location"})) { if (exists $params{"xrds-location"} && safeurl($params{"xrds-location"})) {
push @{$metaheaders{$page}}, '<meta http-equiv="X-XRDS-Location"'. push @{$metaheaders{$page}}, '<meta http-equiv="X-XRDS-Location"'.

4
debian/changelog vendored
View File

@ -1,4 +1,4 @@
ikiwiki (3.15) UNRELEASED; urgency=low ikiwiki (3.141) UNRELEASED; urgency=low
* comment: Make comment directives no longer use the internal "_comment" * comment: Make comment directives no longer use the internal "_comment"
form, and document the comment directive syntax. form, and document the comment directive syntax.
@ -20,6 +20,8 @@ ikiwiki (3.15) UNRELEASED; urgency=low
by the 404 plugin. by the 404 plugin.
* Optimise use of gettext, and avoid ugly warnings if Locale::gettext * Optimise use of gettext, and avoid ugly warnings if Locale::gettext
is not available. Closes: #532285 is not available. Closes: #532285
* meta: Add openid delegate parameter to allow delegating only
openid or openid2.
-- Joey Hess <joeyh@debian.org> Tue, 02 Jun 2009 17:03:41 -0400 -- Joey Hess <joeyh@debian.org> Tue, 02 Jun 2009 17:03:41 -0400

View File

@ -60,3 +60,6 @@ Thanks Joey. --[Mick](http://www.lunix.com.au)
>> Not clear to me if identi.ca or certifi.ca is at failt, >> Not clear to me if identi.ca or certifi.ca is at failt,
>> but luckily he runs both.. >> but luckily he runs both..
>> --[[Joey]] >> --[[Joey]]
>> ikiwiki's next release will allow adding 'delegate=1' to the
>> meta directive to only delegate to openid1. --[[Joey]]

View File

@ -78,6 +78,9 @@ Supported fields:
server="http://www.myopenid.com/server" server="http://www.myopenid.com/server"
xrds-location="http://www.myopenid.com/xrds?username=joeyh.myopenid.com""]] xrds-location="http://www.myopenid.com/xrds?username=joeyh.myopenid.com""]]
By default this will delegate for both `openid` and `openid2`. To only
delegate for one, add a parameter such as `delegate=openid`.
* link * link
Specifies a link to another page. This can be used as a way to make the Specifies a link to another page. This can be used as a way to make the