1#!/usr/local/bin/perl
2# Update the @includes for some service
3
4require './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'});
14for($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
34