chiark / gitweb /
automatic agpl compliance: rename things "licence" rather than "agpl", handle in...
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 16 Feb 2013 12:03:56 +0000 (12:03 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 16 Feb 2013 12:03:56 +0000 (12:03 +0000)
cgi-auth-flexible.pm

index dd44e2250f3ef133ab8f6b2f2b39eeba21e9c643..06625631bcf4ece5ab4ee41fd97d71b80474fed2 100644 (file)
@@ -179,7 +179,7 @@ sub gen_special_link_html ($$$$) {
     return '<a href="'.escapeHTML($r->url_with_query_params(\%params)).'">'.
        $anchor."</a>";
 }
-sub gen_plain_agpl_link_html ($$) {
+sub gen_plain_licence_link_html ($$) {
     my ($c,$r) = @_;
     gen_special_link_html($c,$r, 'GNU Affero GPL', 'licence');
 }
@@ -192,7 +192,7 @@ sub gen_plain_footer_html ($$) {
     my ($c,$r) = @_;
     return ('<hr><address>',
            ("Powered by Free / Libre / Open Source Software".
-            " according to the ".$r->_ch('gen_agpl_link_html')."."),
+            " according to the ".$r->_ch('gen_licence_link_html')."."),
            $r->_ch('gen_source_link_html').".",
            '</address>');
 }
@@ -247,7 +247,7 @@ sub new_verifier {
            encrypted_only => 1,
            gen_start_html => sub { $_[0]->start_html($_[2]); },
            gen_footer_html => \&gen_plain_footer_html,
-           gen_agpl_link_html => \&gen_plain_agpl_link_html,
+           gen_licence_link_html => \&gen_plain_licence_link_html,
            gen_source_link_html => \&gen_plain_source_link_html,
            gen_end_html => sub { $_[0]->end_html(); },
            gen_login_form => \&gen_plain_login_form,
@@ -532,6 +532,15 @@ my @ca = (-name => $r->{S}{cookie_name},
 sub _check_divert_core ($) {
     my ($r) = @_;
 
+    my $special = $r->_rp('special_param_name');
+    if ($special) {
+       die if $special =~ m/\W/;
+       return ({ Kind => 'SPECIAL-'.uc $special,
+                 Message => undef,
+                 CookieSecret => undef,
+                 Params => { } });
+    }
+
     my $cooks = $r->_ch('get_cookie');
 
     if ($r->{S}{encrypted_only} && !$r->_ch('check_https')) {