#!/usr/local/bin/perl # edit_session.cgi # Edit session login options require './usermin-lib.pl'; $access{'session'} || &error($text{'acl_ecannot'}); print "Set-Cookie: sessiontest=1; path=/\n"; &ui_print_header(undef, $text{'session_title'}, ""); &get_usermin_miniserv_config(\%miniserv); $ver = &get_usermin_version(); &get_usermin_config(\%uconfig); print "$text{'session_desc1'}

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

\n"; print "

\n"; print "\n"; print "\n"; print "
$text{'session_header'}
\n"; # Bad password delay printf " %s
\n", $miniserv{'passdelay'} ? '' : 'checked', $text{'session_pdisable'}; printf " %s
\n", $miniserv{'passdelay'} ? 'checked' : '', $text{'session_penable'}; # Block 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 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"; # Log to syslog eval "use Sys::Syslog qw(:DEFAULT setlogsock)"; if (!$@) { printf " %s\n", $miniserv{'syslog'} ? "checked" : "", $text{'session_syslog2'}; } else { print "\n"; } 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"; printf "   \n", $uconfig{'noremember'} ? "" : "checked"; print "$text{'session_remember'}
\n"; print "   "; printf "\n", $uconfig{'realname'} ? "checked" : ""; print "$text{'session_realname'}
\n"; if ($ver >= 1.153) { printf "   \n", $miniserv{'utmp'} ? "checked" : ""; print "$text{'session_utmp'}
\n"; } printf "    %s\n", $uconfig{'loginbanner'} ? "" : "checked", $text{'session_banner1'}; printf " %s\n", $uconfig{'loginbanner'} ? "checked" : "", $text{'session_banner0'}; printf " %s
\n", $uconfig{'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"; # Authentication mode @users = &get_usermin_miniserv_users(); $authmode = $users[0]->{'pass'} eq 'e' ? 2 : $miniserv{'no_pam'} ? 1 : 0; printf " %s
\n", $authmode == 0 ? "checked" : "", $text{'session_authmode0'}; print "   ", &ui_checkbox("pam_conv", 1, $text{'session_pamconv'}, $miniserv{'pam_conv'}),"
\n"; printf "\n", $authmode == 1 ? "checked" : ""; print &text('session_authmode1', "", "", ""), "
\n"; printf " %s\n", $authmode == 2 ? "checked" : "", $text{'session_authmode2'}; printf "

\n", $miniserv{'extauth'}; # 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"; if ($ver >= 1.047 && $miniserv{'passwd_cindex'} ne '') { #print "$text{'session_pmodedesc'}
\n"; foreach $m (0 .. 2) { printf " %s\n", $m, $miniserv{'passwd_mode'} == $m ? "checked" : "", $text{'session_pmode'.$m}; print $m == 2 ? "

\n" : "
\n"; } } # Prompt to choose password at login if ($ver >= 1.087) { printf " %s
\n", $miniserv{'passwd_blank'} ? "checked" : "", $text{'session_blank'}; } if ($ver >= 1.003) { printf " %s
\n", $miniserv{'domainuser'} ? "checked" : "", $text{'session_domain'}; } if ($ver >= 1.021) { printf " %s
\n", $miniserv{'domainstrip'} ? "checked" : "", $text{'session_strip'}; printf " %s\n", $miniserv{'user_mapping'} ? "checked" : "", $text{'session_usermap'}; printf " %s
\n", $miniserv{'user_mapping'}, &file_chooser_button("user_mapping"); print " " x 3; printf "$text{'session_userfmt'}\n"; print &ui_radio("user_mapping_reverse", int($miniserv{'user_mapping_reverse'}), [ [ 0, $text{'session_userfmt0'} ], [ 1, $text{'session_userfmt1'} ] ]),"

\n"; } # Prompt to choose password at login if ($ver >= 1.142) { printf " %s
\n", $uconfig{'create_homedir'} ? "checked" : "", $text{'session_homedir'}; print " " x 3; print $text{'session_homedir_perms'},"\n", &ui_opt_textbox("create_homedir_perms", $uconfig{'create_homedir_perms'}, 4, $text{'default'}),"
\n"; } print "

\n"; print "
\n"; &ui_print_footer("", $text{'index_return'});