#!/usr/local/bin/perl # edit_session.cgi # Edit session login options require './webmin-lib.pl'; print "Set-Cookie: sessiontest=1; path=/\n"; ui_print_header(undef, $text{'session_title'}, ""); get_miniserv_config(\%miniserv); print "$text{'session_desc1'}

\n"; print "$text{'session_desc2'}

\n"; print ui_form_start("change_session.cgi", "post"); print ui_table_start($text{'session_header'}); print " \n"; # Bad password delay printf " %s
\n", $miniserv{'passdelay'} ? '' : 'checked', $text{'session_pdisable'}; printf " %s
\n", $miniserv{'passdelay'} ? 'checked' : '', $text{'session_penable'}; # Block bad hosts printf "   \n", $miniserv{'blockhost_failures'} ? "checked" : ""; print text('session_blockhost', ui_textbox("blockhost_failures", $miniserv{'blockhost_failures'}, 4), ui_textbox("blockhost_time", $miniserv{'blockhost_time'}, 4)),"
\n"; # Block bad users printf "   \n", $miniserv{'blockuser_failures'} ? "checked" : ""; print text('session_blockuser', ui_textbox("blockuser_failures", $miniserv{'blockuser_failures'}, 4), ui_textbox("blockuser_time", $miniserv{'blockuser_time'}, 4)),"
\n"; # Lock bad users print "     \n", ui_checkbox("blocklock", 1, $text{'session_blocklock'}, $miniserv{'blocklock'}),"
\n"; # Log to syslog eval "use Sys::Syslog qw(:DEFAULT setlogsock)"; if (!$@) { print ui_checkbox('syslog', 1, $text{'session_syslog2'}, $miniserv{'syslog'}); } else { print ui_hidden('syslog', $miniserv{'syslog'}); } print "

\n"; printf " %s
\n", !$miniserv{'session'} ? "checked" : "", $text{'session_disable'}; printf " %s
\n", $miniserv{'session'} ? "checked" : "", $text{'session_enable'}; printf "   \n", $miniserv{'logouttime'} ? "checked" : ""; print text('session_logouttime', ""),"
\n"; #printf "   \n", # $gconfig{'locking'} ? "checked" : ""; #print "$text{'session_locking'}
\n"; print '   ', ui_checkbox('remember', 1, $text{'session_remember'}, !$gconfig{'noremember'}), "
\n"; print '   ', ui_checkbox('realname', 1, $text{'session_realname'}, $gconfig{'realname'}), "
\n"; print '   ', ui_checkbox('utmp', 1, $text{'session_utmp'}, $miniserv{'utmp'}), "
\n"; printf "    %s\n", $gconfig{'loginbanner'} ? "" : "checked", $text{'session_banner1'}; printf " %s\n", $gconfig{'loginbanner'} ? "checked" : "", $text{'session_banner0'}; printf " %s
\n", $gconfig{'loginbanner'}, &file_chooser_button("banner"); print "

\n"; printf " %s
\n", !$miniserv{'localauth'} ? "checked" : "", $text{'session_localoff'}; printf " %s
\n", $miniserv{'localauth'} ? "checked" : "", $text{'session_localon'}; print "

\n"; # Use PAM or shadow file? printf " %s
\n", !$miniserv{'no_pam'} ? "checked" : "", $text{'session_pamon'}; printf " %s
\n", $miniserv{'no_pam'} ? "checked" : "", $text{'session_pamoff'}; print "   ",&text('session_pfile', "", "", ""), "
\n"; print "   ", ui_checkbox("pam_conv", 1, $text{'session_pamconv'}, $miniserv{'pam_conv'}),"

\n"; # Unix password change print &ui_oneradio("cmd_def", 1, $text{'session_cmddef1'}, !$gconfig{'passwd_cmd'}),"
\n"; print &ui_oneradio("cmd_def", 0, $text{'session_cmddef0'}, $gconfig{'passwd_cmd'})," ", &ui_textbox("cmd", $gconfig{'passwd_cmd'}, 40),"

\n"; print "$text{'session_pmodedesc3'}
\n"; foreach $m (0 .. 2) { printf " %s\n", $m, $miniserv{'passwd_mode'} == $m ? "checked" : "", $text{'session_pmode'.$m}; print $m == 2 ? "

\n" : "
\n"; } # Squid-style authentication program print "$text{'session_extauth'} ", "

\n"; # Password encryption format printf " %s
\n", !$gconfig{'md5pass'} ? "checked" : "", $text{'session_md5off'}; printf " %s
\n", $gconfig{'md5pass'} ? "checked" : "", $text{'session_md5on'}; print ui_table_end(); print ui_form_end([ [ "save", $text{'save'} ] ]); ui_print_footer("", $text{'index_return'});