]> git.donarmstrong.com Git - debbugs.git/commitdiff
[project @ 2005-10-06 03:11:50 by ajt]
authorajt <>
Thu, 6 Oct 2005 10:11:50 +0000 (02:11 -0800)
committerajt <>
Thu, 6 Oct 2005 10:11:50 +0000 (02:11 -0800)
make cookies.cgi work properly, and reveal old cookies

cgi/cookies.cgi

index 370b0bcf87435c873a480f02a841814ea0e3da33..1251e921b0bacf5112d015c846c93794c4e3f1e2 100644 (file)
@@ -4,9 +4,12 @@ use strict;
 use POSIX qw(strftime);
 require './common.pl';
 
-$ENV{"HTTP_COOKIES"} = "";
+my $oldcookies = $ENV{"HTTP_COOKIE"};
+$ENV{"HTTP_COOKIE"} = "";
 my %param = readparse();
 
+my %oldcookies = map { ($1, $2) if (m/(.*)=(.*)/) } split /[;&]/, $oldcookies;
+
 my $clear = (defined $param{"clear"} && $param{"clear"} eq "yes");
 my @time_now = gmtime(time());
 my $time_future = strftime("%a, %d-%b-%Y %T GMT",
@@ -28,13 +31,15 @@ for my $c (@cookie_options) {
     }
 }
 print "\n";
+print "<p>Oldcookies  $oldcookies  .\n";
 print "<p>Cookies set!\n";
 for my $c (@cookie_options) {
+    my $old = $oldcookies{$c} || "unset";
     if (defined $param{$c}) {
-        printf "<br>Set %s=%s\n", $c, $param{$c};
+        printf "<br>Set %s=%s (was %s)\n", $c, $param{$c}, $old;
     } elsif ($clear) {
-        printf "<br>Cleared %s\n", $c;
+        printf "<br>Cleared %s (was %s)\n", $c, $old;
     } else {
-        printf "<br>Didn't touch %s (use clear=yes to clear)\n", $c;
+        printf "<br>Didn't touch %s (was %s; use clear=yes to clear)\n", $c, $old;
     }
 }