From: Joey Hess <joey@gnu.kitenet.net>
Date: Tue, 9 Jun 2009 01:40:06 +0000 (-0400)
Subject: meta: Add openid delegate parameter to allow delegating only openid or openid2.
X-Git-Tag: 3.141~18
X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/commitdiff_plain/bf55a7fbb1f27ca815ac1e2ee04867686851a134?ds=inline;hp=--cc

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

bf55a7fbb1f27ca815ac1e2ee04867686851a134
diff --git a/IkiWiki/Plugin/meta.pm b/IkiWiki/Plugin/meta.pm
index cc5455d64..b2295923e 100644
--- a/IkiWiki/Plugin/meta.pm
+++ b/IkiWiki/Plugin/meta.pm
@@ -163,17 +163,22 @@ sub preprocess (@) {
 			"\" type=\"text/css\" />";
 	}
 	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})) {
 			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}).
-				'" rel="openid2.provider" />';
+				'" rel="openid2.provider" />' if $delegate ne 1;
 		}
 		if (safeurl($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).
-				'" rel="openid2.local_id" />';
+				'" rel="openid2.local_id" />' if $delegate ne 1;
 		}
 		if (exists $params{"xrds-location"} && safeurl($params{"xrds-location"})) {
 			push @{$metaheaders{$page}}, '<meta http-equiv="X-XRDS-Location"'.
diff --git a/debian/changelog b/debian/changelog
index 126c1826b..dd24e0bba 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -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"
     form, and document the comment directive syntax.
@@ -20,6 +20,8 @@ ikiwiki (3.15) UNRELEASED; urgency=low
     by the 404 plugin.
   * Optimise use of gettext, and avoid ugly warnings if Locale::gettext
     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
 
diff --git a/doc/forum/is_it_possible_to_NOT_add_openid2_meta_tags.mdwn b/doc/forum/is_it_possible_to_NOT_add_openid2_meta_tags.mdwn
index 16382a936..d926cebed 100644
--- a/doc/forum/is_it_possible_to_NOT_add_openid2_meta_tags.mdwn
+++ b/doc/forum/is_it_possible_to_NOT_add_openid2_meta_tags.mdwn
@@ -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,
 >> but luckily he runs both..
 >> --[[Joey]] 
+
+>> ikiwiki's next release will allow adding 'delegate=1' to the 
+>> meta directive to only delegate to openid1. --[[Joey]] 
diff --git a/doc/ikiwiki/directive/meta.mdwn b/doc/ikiwiki/directive/meta.mdwn
index f29a118bf..7a7b0fa19 100644
--- a/doc/ikiwiki/directive/meta.mdwn
+++ b/doc/ikiwiki/directive/meta.mdwn
@@ -78,6 +78,9 @@ Supported fields:
 	server="http://www.myopenid.com/server"
 	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
 
   Specifies a link to another page. This can be used as a way to make the