Handle hostnames with upper-case letters
[webmin.git] / pam / save_incs.cgi
1 #!/usr/local/bin/perl
2 # Update the @includes for some service
3
4 require './pam-lib.pl';
5 &error_setup($text{'incs_err'});
6 &ReadParse();
7 @pams = &get_pam_config();
8 $pam = $pams[$in{'idx'}];
9 &lock_file($pam->{'file'});
10
11 # Add to, update or remove existing includes
12 @oldincs = grep { $_->{'include'} } @{$pam->{'mods'}};
13 @newincs = split(/\0/, $in{'inc'});
14 for($i=0; $i<@oldincs || $i<@newincs; $i++) {
15         if ($oldincs[$i] && $newincs[$i]) {
16                 # Just update
17                 $oldincs[$i]->{'include'} = $newincs[$i];
18                 &modify_module($pam->{'name'}, $oldincs[$i]);
19                 }
20         elsif ($newincs[$i]) {
21                 # Add to file
22                 &create_module($pam->{'name'}, { 'include' => $newincs[$i] });
23                 }
24         elsif ($oldincs[$i]) {
25                 # Remove from file
26                 &delete_module($pam->{'name'}, $oldincs[$i]);
27                 }
28         }
29
30 &unlock_file($pam->{'file'});
31 &webmin_log("modify", "incs", $pam->{'name'});
32 &redirect("");
33