From: Joey Hess Date: Sun, 8 Apr 2012 18:12:02 +0000 (-0400) Subject: save whole form state, not just QUERY_STRING, for postsignin X-Git-Tag: 3.20120419~54 X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/commitdiff_plain/4e1806ef7c002a4a333c5822c13d7ceca303bf70?ds=inline;hp=bcc2809b960d459966e563ed78e7e0793307b8ec save whole form state, not just QUERY_STRING, for postsignin Normally, needsignin is called when there is a QUERY_STRING, not when a form is posted. However, it's certianly possible, and should be supported, to make a form that invokes an ikiwiki action that checks needsignin. I encountered this when posting ?do=rename&page=foo. The form is displayed without checking needsignin, for complicated reasons. Posting the form is when the true authentication happens. --- diff --git a/IkiWiki/CGI.pm b/IkiWiki/CGI.pm index 62383b6fd..5baa6c179 100644 --- a/IkiWiki/CGI.pm +++ b/IkiWiki/CGI.pm @@ -131,7 +131,7 @@ sub needsignin ($$) { if (! defined $session->param("name") || ! userinfo_get($session->param("name"), "regdate")) { - $session->param(postsignin => $ENV{QUERY_STRING}); + $session->param(postsignin => $q->query_string); cgi_signin($q, $session); cgi_savesession($session); exit;