diff --git a/pam_login.cgi b/pam_login.cgi index 20fb0b9cd..e158d2773 100755 --- a/pam_login.cgi +++ b/pam_login.cgi @@ -9,7 +9,7 @@ $pragma_no_cache = 1; &init_config(); &ReadParse(); if ($gconfig{'loginbanner'} && $ENV{'HTTP_COOKIE'} !~ /banner=1/ && - $in{'initial'}) { + !$in{'logout'} && $in{'initial'}) { # Show pre-login HTML page print "Set-Cookie: banner=1; path=/\r\n"; &PrintHeader(); @@ -24,7 +24,9 @@ if ($gconfig{'loginbanner'} && $ENV{'HTTP_COOKIE'} !~ /banner=1/ && } $sec = uc($ENV{'HTTPS'}) eq 'ON' ? "; secure" : ""; &get_miniserv_config(\%miniserv); +$sidname = $miniserv{'sidname'} || "sid"; print "Set-Cookie: banner=0; path=/$sec\r\n" if ($gconfig{'loginbanner'}); +print "Set-Cookie: $sidname=x; path=/$sec\r\n" if ($in{'logout'}); print "Set-Cookie: testing=1; path=/$sec\r\n"; &ui_print_unbuffered_header(undef, undef, undef, undef, undef, 1, 1, undef, undef, "onLoad='document.forms[0].answer.focus()'"); @@ -41,12 +43,13 @@ elsif ($in{'timed_out'}) { } print "$text{'pam_prefix'}\n"; -print "
\n"; print "$text{'pam_postfix'}\n"; # Output frame-detection Javascript, if theme uses frames diff --git a/web-lib-funcs.pl b/web-lib-funcs.pl index 36636c9de..22d91d083 100755 --- a/web-lib-funcs.pl +++ b/web-lib-funcs.pl @@ -3725,7 +3725,7 @@ if ($0 && ($ENV{'SCRIPT_NAME'} !~ /^\/(index.cgi)?$/ || $unsafe_index_cgi) && ($ENV{'SCRIPT_NAME'} !~ /^\/([a-z0-9\_\-]+)\/(index.cgi)?$/i || $unsafe_index_cgi) && - $0 !~ /session_login\.cgi$/ && !$gconfig{'referer'} && + $0 !~ /(session_login|pam_login)\.cgi$/ && !$gconfig{'referer'} && $ENV{'MINISERV_CONFIG'} && !$main::no_referers_check && $ENV{'HTTP_USER_AGENT'} !~ /^Webmin/i && ($referer_site && $referer_site ne $http_host &&