Finished off support for includes
authorJamie Cameron <jcameron@webmin.com>
Sun, 25 Nov 2007 06:16:12 +0000 (06:16 +0000)
committerJamie Cameron <jcameron@webmin.com>
Sun, 25 Nov 2007 06:16:12 +0000 (06:16 +0000)
pam/CHANGELOG [new file with mode: 0644]
pam/edit_inc.cgi
pam/lang/en
pam/log_parser.pl
pam/save_inc.cgi

diff --git a/pam/CHANGELOG b/pam/CHANGELOG
new file mode 100644 (file)
index 0000000..dc5b8d6
--- /dev/null
@@ -0,0 +1,3 @@
+---- Changes since 1.380 ----
+Re-wrote the user interface to use the new UI library functions, for a more consistent look.
+Added support for PAM includes, as used in modern Linux distributions.
index 4f3fa30..80ed82a 100644 (file)
@@ -18,7 +18,7 @@ else {
        }
 
 
-print &ui_form_start("save_mod.cgi");
+print &ui_form_start("save_inc.cgi");
 print &ui_hidden("idx", $in{'idx'});
 print &ui_hidden("midx", $in{'midx'});
 print &ui_hidden("_type", $in{'type'});
@@ -35,10 +35,14 @@ print &ui_table_row($text{'mod_type'},
                    $text{'mod_type_'.$type});
 
 # Included service
+@pam = sort { $a->{'name'} cmp $b->{'name'} } @pam;
 print &ui_table_row($text{'inc_inc'},
     &ui_select("inc", $inc,
-       [ map { [ $_->{'name'}, $text{'desc_'.$_->{'name'}} || $_->{'name'} ] }
-             @pam ], 1, 0, $inc ? 1 : 0));
+       [ map { [ $_->{'name'},
+                 $_->{'name'}.($text{'desc_'.$_->{'name'}} ?
+                               " (".$text{'desc_'.$_->{'name'}}.")" : "") ] }
+             grep { $_->{'name'} ne $pam->{'name'} } @pam ],
+       1, 0, $inc ? 1 : 0));
 
 print &ui_table_end();
 
index 971012e..ab37535 100644 (file)
@@ -166,7 +166,7 @@ mod_create=Add PAM Module
 mod_header=PAM module options
 mod_name=Service name
 mod_mod=PAM module
-mod_type=Use in service
+mod_type=Use in step
 mod_type_auth=Authentication
 mod_type_account=Account verification
 mod_type_session=Session setup
@@ -261,6 +261,9 @@ log_mod_modify=Modified PAM module $1 in service $2
 log_mod_delete=Deleted PAM module $1 in service $2
 log_mod_move=Swapped PAM modules in service $3
 log_mod_move_l=Swapped PAM modules $1 and $2 in service $3
+log_inc_create=Added include $1 for service $2
+log_inc_modify=Modified include $1 for service $2
+log_inc_delete=Deleted include $1 for service $2
 
 inc_edit=Edit Included Service
 inc_create=Create Included Service
index 5101687..99bc746 100644 (file)
@@ -22,6 +22,10 @@ elsif ($type eq 'mod') {
                             &html_escape($object));
                }
        }
+elsif ($type eq 'inc') {
+       return &text("log_inc_$action", &html_escape($p->{'module'}),
+                    &html_escape($object));
+       }
 else {
        return undef;
        }
index b919e7a..f089017 100755 (executable)
@@ -14,21 +14,19 @@ if ($in{'delete'}) {
        &delete_module($pam->{'name'}, $mod);
        }
 else {
-       if ($in{'_module'}) {
+       if ($in{'_type'}) {
                # Adding a new include
                $mod = { 'type' => $in{'_type'},
-                        'module' => $in{'_module'} };
-               $module = $in{'_module'};
+                        'control' => 'include',
+                        'module' => $in{'inc'} };
                }
        else {
                # Existing module entry
-               # XXX
                $mod = $pam->{'mods'}->[$in{'midx'}];
-               $module = $mod->{'module'};
-               $module =~ s/^.*\///;
+               $mod->{'module'} = $in{'inc'};
                }
 
-       if ($in{'_module'}) {
+       if ($in{'_type'}) {
                # Add the PAM include entry
                &create_module($pam->{'name'}, $mod);
                }
@@ -38,7 +36,7 @@ else {
                }
        }
 &unlock_file($pam->{'file'});
-&webmin_log($in{'delete'} ? "delete" : $in{'_module'} ? "create" : "modify",
+&webmin_log($in{'delete'} ? "delete" : $in{'_type'} ? "create" : "modify",
            "inc", $pam->{'name'}, $mod);
 &redirect("edit_pam.cgi?idx=$in{'idx'}");