###PERL_LIB: use lib /botm/lib/bsta
use botm_common (
'HTTP_STATUS',
+ 'fail_method', 'fail_content_type', 'redirect',
'read_header_env',
'url_query_decode',
'join_path',
);
use bsta_lib (
'STATE', 'TEXT_MODE', 'INTF_STATE',
- 'fail_method', 'fail_content_type', 'redirect',
'get_remote_addr', 'get_frame', 'get_password',
'merge_settings',
'print_viewer_page',
###PERL_PATH_SEPARATOR: PATH_SEPARATOR = /
###PERL_CGI_PATH: CGI_PATH = /bsta/
+###PERL_CGI_GOTO_PATH: CGI_GOTO_PATH = /bsta/g
###PERL_CGI_VIEWER_PATH: CGI_VIEWER_PATH = /bsta/v
###PERL_DATA_STATE_PATH: DATA_STATE_PATH = /botm/data/bsta/state
exit fail_content_type($method, $http{'content-type'});
}
}
+
$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)) {