* Only try postsignin if no other action matched. Fixes a bug where the

user goes back from the signin screen and does something else.
* Improve behavior when trying to sign in with no cookies.
master
Joey Hess 2008-01-07 15:56:39 -05:00
parent 4ac5685744
commit 9dbbbd0efa
2 changed files with 12 additions and 11 deletions

View File

@ -133,9 +133,7 @@ sub needsignin ($$) { #{{{
if (! defined $session->param("name") || if (! defined $session->param("name") ||
! userinfo_get($session->param("name"), "regdate")) { ! userinfo_get($session->param("name"), "regdate")) {
if (! defined $session->param("postsignin")) {
$session->param(postsignin => $ENV{QUERY_STRING}); $session->param(postsignin => $ENV{QUERY_STRING});
}
cgi_signin($q, $session); cgi_signin($q, $session);
cgi_savesession($session); cgi_savesession($session);
exit; exit;
@ -195,9 +193,7 @@ sub cgi_postsignin ($$) { #{{{
exit; exit;
} }
else { else {
# This can occur, for example, if a user went to the signin error(gettext("login failed, perhaps you need to turn on cookies?"));
# url via a bookmark.
redirect($q, $config{url});
} }
} #}}} } #}}}
@ -710,17 +706,14 @@ sub cgi (;$$) { #{{{
cgi_signin($q, $session); cgi_signin($q, $session);
cgi_savesession($session); cgi_savesession($session);
} }
elsif (defined $session->param("postsignin")) {
cgi_postsignin($q, $session);
}
elsif ($do eq 'prefs') { elsif ($do eq 'prefs') {
cgi_prefs($q, $session); cgi_prefs($q, $session);
} }
elsif ($do eq 'create' || $do eq 'edit') { elsif ($do eq 'create' || $do eq 'edit') {
cgi_editpage($q, $session); cgi_editpage($q, $session);
} }
elsif ($do eq 'postsignin') { elsif (defined $session->param("postsignin")) {
error(gettext("login failed, perhaps you need to turn on cookies?")); cgi_postsignin($q, $session);
} }
else { else {
error("unknown do parameter"); error("unknown do parameter");

8
debian/changelog vendored
View File

@ -1,3 +1,11 @@
ikiwiki (2.19) UNRELEASED; urgency=low
* Only try postsignin if no other action matched. Fixes a bug where the
user goes back from the signin screen and does something else.
* Improve behavior when trying to sign in with no cookies.
-- Joey Hess <joeyh@debian.org> Mon, 07 Jan 2008 15:35:16 -0500
ikiwiki (2.18) unstable; urgency=low ikiwiki (2.18) unstable; urgency=low
* Split error messages for failures to drop real uid and gid. * Split error messages for failures to drop real uid and gid.