2 # Show password quality and change restrictions
4 require './acl-lib.pl';
5 $access{'pass'} || &error($text{'pass_ecannot'});
6 &ui_print_header(undef, $text{'pass_title'}, "");
7 &get_miniserv_config(\%miniserv);
9 print &ui_form_start("save_pass.cgi");
10 print &ui_table_start($text{'pass_header'}, undef, 2);
12 # Minimum password size
13 print &ui_table_row($text{'pass_minsize'},
14 &ui_opt_textbox("minsize", $miniserv{'pass_minsize'}, 5,
15 $text{'pass_nominsize'})." ".$text{'edit_chars'});
17 # Regexps password must match
18 print &ui_table_row($text{'pass_regexps'},
19 &ui_textarea("regexps",
20 join("\n", split(/\t+/, $miniserv{'pass_regexps'})), 5, 60));
22 print &ui_table_row($text{'pass_regdesc'},
23 &ui_textbox("regdesc", $miniserv{'pass_regdesc'}, 60));
25 # Days before forced change
26 print &ui_table_row($text{'pass_maxdays'},
27 &ui_opt_textbox("maxdays", $miniserv{'pass_maxdays'}, 5,
28 $text{'pass_nomaxdays'})." ".$text{'pass_days'});
31 print &ui_table_row($text{'pass_lockdays'},
32 &ui_opt_textbox("lockdays", $miniserv{'pass_lockdays'}, 5,
33 $text{'pass_nolockdays'})." ".$text{'pass_days'});
35 # Disallow use of username
36 print &ui_table_row($text{'pass_nouser'},
37 &ui_yesno_radio("nouser", $miniserv{'pass_nouser'}));
39 # Disallow dictionary words
40 print &ui_table_row($text{'pass_nodict'},
41 &ui_yesno_radio("nodict", $miniserv{'pass_nodict'}));
43 # Number of old passwords to reject
44 print &ui_table_row($text{'pass_oldblock'},
45 &ui_opt_textbox("oldblock", $miniserv{'pass_oldblock'}, 5,
46 $text{'pass_nooldblock'})." ".$text{'pass_pass'});
48 print &ui_table_end();
49 print &ui_form_end([ [ undef, $text{'save'} ] ]);
51 &ui_print_footer("", $text{'index_return'});