\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 " |