From 0a549477c3df66da9163595f49413f375f87f267 Mon Sep 17 00:00:00 2001 From: Jamie Cameron Date: Sun, 20 Dec 2015 17:32:56 -0800 Subject: [PATCH] ui-lib conversion --- usermin/edit_session.cgi | 247 +++++++++++++++++++-------------------- usermin/lang/en | 1 + 2 files changed, 122 insertions(+), 126 deletions(-) diff --git a/usermin/edit_session.cgi b/usermin/edit_session.cgi index 0ae0a8639..321bb9934 100755 --- a/usermin/edit_session.cgi +++ b/usermin/edit_session.cgi @@ -13,162 +13,157 @@ $ver = &get_usermin_version(); print "$text{'session_desc1'}

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

\n"; -print "

\n"; -print "\n"; -print "\n"; -print "
$text{'session_header'}
\n"; +print ui_form_start("change_session.cgi", "post"); +print ui_table_start($text{'session_header'}, undef, 2); # Bad password delay -printf " %s
\n", - $miniserv{'passdelay'} ? '' : 'checked', $text{'session_pdisable'}; -printf " %s
\n", - $miniserv{'passdelay'} ? 'checked' : '', $text{'session_penable'}; +print &ui_table_row($text{'session_ptimeout'}, + &ui_radio("passdelay", $miniserv{'passdelay'} ? 1 : 0, + [ [ 0, $text{'session_pdisable'}."
\n" ], + [ 1, $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"; +print &ui_table_row($text{'session_pblock'}, + &ui_checkbox("blockhost_on", 1, + text('session_blockhost', + ui_textbox("blockhost_failures", $miniserv{'blockhost_failures'}, 4), + ui_textbox("blockhost_time", $miniserv{'blockhost_time'}, 4)), + $miniserv{'blockhost_failures'} ? 1 : 0)); # 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"; +print &ui_table_row("", + &ui_checkbox("blockuser_on", 1, + text('session_blockuser', + ui_textbox("blockuser_failures", $miniserv{'blockuser_failures'}, 4), + ui_textbox("blockuser_time", $miniserv{'blockuser_time'}, 4)), + $miniserv{'blockuser_failures'} ? 1 : 0)); # Log to syslog eval "use Sys::Syslog qw(:DEFAULT setlogsock)"; if (!$@) { - printf " %s\n", - $miniserv{'syslog'} ? "checked" : "", $text{'session_syslog3'}; + print &ui_table_row($text{'session_syslog3'}, + &ui_yesno_radio("syslog", $miniserv{'syslog'})); } else { - print "\n"; + 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"; -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"; +# Session authentication +print &ui_table_row($text{'session_stype'}, + &ui_radio("session", $miniserv{'session'} ? 1 : 0, + [ [ 0, $text{'session_disable'}."
" ], + [ 1, $text{'session_enable'} ] ])); -printf " %s
\n", - !$miniserv{'localauth'} ? "checked" : "", $text{'session_localoff'}; -printf " %s
\n", - $miniserv{'localauth'} ? "checked" : "", $text{'session_localon'}; -print "

\n"; +# Session auth options +print &ui_table_row($text{'session_sopts'}, + &ui_checkbox("logouttime_on", 1, + &text('session_logouttime', + &ui_textbox("logouttime", $miniserv{'logouttime'}, 10)), + $miniserv{'logouttime'} ? 1 : 0). + "
\n". + &ui_checkbox("remember", 1, $text{'session_remember'}, + $gconfig{'noremember'} ? 0 : 1). + "
\n". + &ui_checkbox("realname", 1, $text{'session_realname'}, + $gconfig{'realname'} ? 1 : 0). + "
\n". + &ui_checkbox("session_ip", 1, $text{'session_ip'}, + $miniserv{'session_ip'} ? 1 : 0). + "
\n". + &ui_checkbox("utmp", 1, $text{'session_utmp'}, + $miniserv{'utmp'} ? 1 : 0)); + +# Pre-login banner +print &ui_table_row($text{'session_banner'}, + &ui_radio("banner_def", $gconfig{'loginbanner'} ? 0 : 1, + [ [ 1, $text{'session_banner1'}."
" ], + [ 0, $text{'session_banner0'} ] ]). + &ui_filebox("banner", $gconfig{'loginbanner'}, 50)); + +# Local authentication +print &ui_table_row($text{'session_local'}, + &ui_radio("localauth", $miniserv{'localauth'} ? 1 : 0, + [ [ 0, $text{'session_localoff'}."
" ], + [ 1, $text{'session_localon'} ] ])); # 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"; -print "   ", - &ui_checkbox("pam_end", 1, $text{'session_pamend'}, - $miniserv{'pam_end'}),"
\n"; -printf "\n", - $authmode == 1 ? "checked" : ""; -print &text('session_authmode1', - "", - "", - ""), - "
\n"; -printf " %s\n", - $authmode == 2 ? "checked" : "", $text{'session_authmode2'}; -printf "

\n", - $miniserv{'extauth'}; +print &ui_table_row($text{'session_authmode'}, + &ui_radio("authmode", $authmode, + [ [ 0, $text{'session_authmode0'}."
" ], + [ 1, &text('session_authmode1', + &ui_textbox("passwd_file", + $miniserv{'passwd_file'}, 20), + &ui_textbox("passwd_uindex", + $miniserv{'passwd_uindex'}, 2), + &ui_textbox("passwd_pindex", + $miniserv{'passwd_pindex'}, 2)). + "
" ], + [ 2, $text{'session_authmode2'}." ". + &ui_textbox("extauth", $miniserv{'extauth'}, 40) ] ])); + +# PAM options +print &ui_table_row($text{'session_popts'}, + ui_checkbox("pam_conv", 1, $text{'session_pamconv'}, + $miniserv{'pam_conv'}). + "
". + ui_checkbox("pam_end", 1, $text{'session_pamend'}, + $miniserv{'pam_end'})); # 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 &ui_table_row($text{'session_cmddef'}, + &ui_oneradio("cmd_def", 1, $text{'session_cmddef1'}, + !$gconfig{'passwd_cmd'}). + "
". + &ui_oneradio("cmd_def", 0, $text{'session_cmddef0'}, + $gconfig{'passwd_cmd'}). + " ". + &ui_textbox("cmd", $gconfig{'passwd_cmd'}, 60)); -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"; - } +if ($miniserv{'passwd_cindex'} ne '') { + # Password expiry policy + print &ui_table_row($text{'session_pmodedesc3'}, + &ui_radio("passwd_mode", $miniserv{'passwd_mode'} || 0, + [ [ 0, $text{'session_pmode0'}."
" ], + [ 1, $text{'session_pmode1'}."
" ], + [ 2, $text{'session_pmode2'} ] ])); } # Prompt to choose password at login -if ($ver >= 1.087) { - printf " %s
\n", - $miniserv{'passwd_blank'} ? "checked" : "", - $text{'session_blank'}; - } +print &ui_table_row($text{'session_blank'}, + &ui_yesno_radio("passwd_blank", $miniserv{'passwd_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"; - } +# Try adding domain name to username? +print &ui_table_row($text{'session_domain'}, + &ui_yesno_radio("domainuser", $miniserv{'domainuser'}). + "
\n". + &ui_checkbox("domainstrip", 1, $text{'session_strip'}, + $miniserv{'domainstrip'}). + "
\n". + &ui_checkbox("user_mapping_on", 1, $text{'session_usermap'}, + $miniserv{'user_mapping'})." ". + &ui_filebox("user_mapping", $miniserv{'user_mapping'}, 30). + "
\n". + "".$text{'session_userfmt'}." ". + &ui_radio("user_mapping_reverse", + int($miniserv{'user_mapping_reverse'}), + [ [ 0, $text{'session_userfmt0'} ], + [ 1, $text{'session_userfmt1'} ] ])); -# 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"; - } +# Create homedir at login? +print &ui_table_row($text{'session_homedir'}, + &ui_yesno_radio("create_homedir", $uconfig{'create_homedir'})); -print "

\n"; -print "
\n"; +# Perms for new homedir +print &ui_table_row($text{'session_homedir_perms'}, + &ui_opt_textbox("create_homedir_perms", + $uconfig{'create_homedir_perms'}, 4, $text{'default'})); + +print ui_table_end(); +print ui_form_end([ [ "save", $text{'save'} ] ]); &ui_print_footer("", $text{'index_return'}); diff --git a/usermin/lang/en b/usermin/lang/en index 5afdae4e7..2b7350de8 100644 --- a/usermin/lang/en +++ b/usermin/lang/en @@ -62,6 +62,7 @@ session_desc2=When session authentication is enabled, each logged in users' sess session_remember=Offer to remember login permanently? session_hostname=Show hostname on login screen? session_realname=Show real hostname instead of name from URL? +session_authmode=Authentication method session_authmode0=Use PAM for authentication, if available session_authmode1=Authentication using password file $1 columns $2 and $3 session_authmode2=Use external squid-style authentication program