Current File : //usr/share/webmin/pam/save_inc.cgi |
#!/usr/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'}");