mirror of
https://github.com/webmin/webmin.git
synced 2026-02-03 14:13:29 +00:00
44 lines
960 B
Perl
Executable File
44 lines
960 B
Perl
Executable File
#!/usr/local/bin/perl
|
|
# Update an include for a service
|
|
|
|
require './pam-lib.pl';
|
|
&ReadParse();
|
|
&error_setup($text{'inc_err'});
|
|
@pam = &get_pam_config();
|
|
$pam = $pam[$in{'idx'}];
|
|
|
|
&lock_file($pam->{'file'});
|
|
if ($in{'delete'}) {
|
|
# Deleting an include
|
|
$mod = $pam->{'mods'}->[$in{'midx'}];
|
|
&delete_module($pam->{'name'}, $mod);
|
|
}
|
|
else {
|
|
if ($in{'_type'}) {
|
|
# Adding a new include
|
|
$mod = { 'type' => $in{'_type'},
|
|
'control' => 'include',
|
|
'module' => $in{'inc'} };
|
|
}
|
|
else {
|
|
# Existing module entry
|
|
$mod = $pam->{'mods'}->[$in{'midx'}];
|
|
$mod->{'module'} = $in{'inc'};
|
|
}
|
|
|
|
if ($in{'_type'}) {
|
|
# Add the PAM include entry
|
|
&create_module($pam->{'name'}, $mod);
|
|
}
|
|
else {
|
|
# Update the existing include
|
|
&modify_module($pam->{'name'}, $mod);
|
|
}
|
|
}
|
|
&unlock_file($pam->{'file'});
|
|
&webmin_log($in{'delete'} ? "delete" : $in{'_type'} ? "create" : "modify",
|
|
"inc", $pam->{'name'}, $mod);
|
|
&redirect("edit_pam.cgi?idx=$in{'idx'}");
|
|
|
|
|