}
}
-if (
- (defined $cgi{'f'}) &&
- ($cgi{'f'} eq '') &&
- ($cgi{'g'} ne '')
-) { # GOTO with no value
- exit redirect($method, CGI_GOTO_PATH(), HTTP_STATUS->{'see_other'});
-}
-
-
$no_cgi = (scalar (keys %cgi) == 0);
$IP = get_remote_addr();
$password_ok = ($password eq $settings{'password'});
+if (
+ (defined $cgi{'f'}) &&
+ ($cgi{'f'} eq '') &&
+ ($cgi{'g'} ne '')
+) { # GOTO with no value
+ my $goto_url = CGI_GOTO_PATH();
+ if ($password_ok) {
+ $goto_url = merge_url(
+ {'path' => $goto_url},
+ {'query' => {'p' => $password}}
+ );
+ }
+ exit redirect($method, $goto_url, HTTP_STATUS->{'see_other'});
+}
+
+
# state & activation logic
if (open_encoded($fh, "+<:encoding(UTF-8)", DATA_STATE_PATH())) {
if (flock($fh, 2)) {