Handle hostnames with upper-case letters
[webmin.git] / apache / mod_suexec.pl
1 # mod_suexec.pl
2 # Editors for per-virtuser suexec directives
3
4 sub mod_suexec_directives
5 {
6 local $rv;
7 $rv = [ [ 'SuexecUserGroup', 0, 8, 'virtual', 2.0 ] ];
8 return &make_directives($rv, $_[0], "mod_suexec");
9 }
10
11 sub edit_SuexecUserGroup
12 {
13 local $rv;
14 $rv .= sprintf "<input type=radio name=SuexecUserGroup_def value=1 %s> %s\n",
15                 $_[0] ? "" : "checked", $text{'suexec_none'};
16 $rv .= sprintf "<input type=radio name=SuexecUserGroup_def value=0 %s>\n",
17                 $_[0] ? "checked" : "";
18 $rv .= sprintf "%s <input name=SuexecUserGroup_u size=8 value='%s'> %s\n",
19                 $text{'suexec_user'}, $_[0]->{'words'}->[0],
20                 &user_chooser_button("SuexecUserGroup_u");
21 $rv .= sprintf "%s <input name=SuexecUserGroup_g size=8 value='%s'> %s\n",
22                 $text{'suexec_group'}, $_[0]->{'words'}->[1],
23                 &group_chooser_button("SuexecUserGroup_g");
24 return (2, $text{'suexec_su'}, $rv);
25 }
26 sub save_SuexecUserGroup
27 {
28 if ($in{'SuexecUserGroup_def'}) {
29         return ( [ ] );
30         }
31 else {
32         $in{'SuexecUserGroup_u'} =~ /^#-?\d+$/ ||
33                 defined(getpwnam($in{'SuexecUserGroup_u'})) ||
34                         &error($text{'suexec_euser'});
35         $in{'SuexecUserGroup_g'} =~ /^#-?\d+$/ ||
36                 defined(getgrnam($in{'SuexecUserGroup_g'})) ||
37                         &error($text{'suexec_egroup'});
38         return ( [ $in{'SuexecUserGroup_u'}." ".$in{'SuexecUserGroup_g'} ] );
39         }
40 }
41