Handle hostnames with upper-case letters
[webmin.git] / apache / save_authgroup.cgi
1 #!/usr/local/bin/perl
2 # save_authgroup.cgi
3 # Save, create or delete a group
4
5 require './apache-lib.pl';
6 require './auth-lib.pl';
7
8 &ReadParse();
9 &allowed_auth_file($in{'file'}) ||
10         &error(&text('authg_ecannot', $in{'file'}));
11 if ($in{'delete'}) {
12         # Deleting a group
13         &delete_authgroup($in{'file'}, $in{'oldgroup'});
14         }
15 else {
16         # Creating or updating
17         &error_setup($text{'authg_err'});
18         $in{'group'} =~ /\S/ || &error($text{'authg_euser'});
19         $in{'group'} !~ /:/ || &error($text{'authg_euser2'});
20
21         $oldg = &get_authgroup($in{'file'}, $in{'oldgroup'});
22         $ginfo{'group'} = $in{'group'};
23         @mems = split(/\s+/, $in{'members'});
24         $ginfo{'members'} = \@mems;
25
26         if (defined($in{'oldgroup'})) {
27                 # updating an old group
28                 if ($in{'oldgroup'} ne $in{'group'} &&
29                     &get_authgroup($in{'file'}, $in{'group'})) {
30                         &error(&text('authg_edup', $in{'group'}));
31                         }
32                 &save_authgroup($in{'file'}, $in{'oldgroup'}, \%ginfo);
33                 }
34         else {
35                 # creating a new one
36                 if (&get_authgroup($in{'file'}, $in{'group'})) {
37                         &error(&text('authg_edup', $in{'group'}));
38                         }
39                 &create_authgroup($in{'file'}, \%ginfo);
40                 }
41         }
42 &redirect($in{'url'});
43