summaryrefslogtreecommitdiffstats
path: root/perl-install/standalone/drakperm
diff options
context:
space:
mode:
Diffstat (limited to 'perl-install/standalone/drakperm')
-rwxr-xr-xperl-install/standalone/drakperm66
1 files changed, 33 insertions, 33 deletions
diff --git a/perl-install/standalone/drakperm b/perl-install/standalone/drakperm
index 234228edb..39579af91 100755
--- a/perl-install/standalone/drakperm
+++ b/perl-install/standalone/drakperm
@@ -8,12 +8,13 @@ use standalone;
use common;
use ugtk2 qw(:helpers :wrappers :create);
+$ugtk2::wm_icon = "/usr/share/mcc/themes/default/drakperm-mdk.png";
require_root_capability();
local $_ = join '', @ARGV;
#- vars declaration
my ($level) = chomp_(`cat /etc/sysconfig/msec | grep SECURE_LEVEL= |cut -d= -f2`);
-my ($default_perm_level) = "level " . $level;
+my $default_perm_level = "level " . $level;
my %perm_files = ($default_perm_level => '/usr/share/msec/perm.' . $level,
'editable' => '/etc/security/msec/perm.local',
);
@@ -51,8 +52,7 @@ my $index = 0;
load_perms();
#- widgets settings
-my $combo_perm = Gtk2::ComboBox->new_text;
-$combo_perm->set_popdown_strings(sort(values %perm_l10n));
+my $combo_perm = Gtk2::ComboBox->new_with_strings([ sort(values %perm_l10n) ]);
sub add_callback() {
row_setting_dialog();
@@ -101,7 +101,7 @@ $permList->signal_connect(button_press_event => sub {
});
-my $tips = new Gtk2::Tooltips;
+my $tips = Gtk2::Tooltips->new;
$W->add(gtkpack_(Gtk2::VBox->new(0,5),
0, Gtk2::WrappedLabel->new(N("Here you can see files to use in order to fix permissions, owners, and groups via msec.\nYou can also edit your own rules which will owerwrite the default rules."), 0.5),
@@ -198,16 +198,16 @@ sub display_perm {
sub save_perm() {
my $val;
if ($modified) {
- local *F;
- open F, '>' . $perm_files{editable} or die(qq(Impossible to process "$perm_files{editable}"));
+ my $F;
+ open $F, '>' . $perm_files{editable} or die(qq(Impossible to process "$perm_files{editable}"));
$model->foreach(sub {
my ($model, $_path, $iter) = @_;
return 0 if $model->get($iter, 0);
my $line = $model->get($iter, 1) . "\t" . $model->get($iter, 2) . ($model->get($iter, 3) ? "." . $model->get($iter, 3) : "") . "\t" . $model->get($iter, 4) . "\n";
- print F $line;
+ print $F $line;
return 0;
}, $val);
- close F;
+ close $F;
}
$modified = 0;
ugtk2->exit;
@@ -215,12 +215,9 @@ sub save_perm() {
sub load_perms() {
foreach my $file (@perm_files{($default_perm_level, 'editable')}) {
- local *F;
- open F, $file;
-
my @editable = if_($file ne $perm_files{editable}, editable => $pixbuf);
local $_;
- while (<F>) {
+ foreach (cat_($file)) {
next if /^#/;
# Editable, Path, User, Group, Permissions
if (m/^(\S+)\s+([^.\s]+)\.(\S+)?\s+(\d+)/) {
@@ -232,37 +229,45 @@ sub load_perms() {
}
$index++;
}
- close F;
}
}
sub row_setting_dialog {
my ($iter) = @_;
- my $dlg = new Gtk2::Dialog();
+ my $dlg = Gtk2::Dialog->new;
$dlg->set_transient_for($w->{rwindow}) unless $::isEmbedded;
$dlg->set_modal(1);
# $dlg->set_resizable(0);
- my $browse = new Gtk2::Button(N("browse"));
- my $file = new Gtk2::Entry;
+ my $browse = Gtk2::Button->new(N("browse"));
+ my $file = Gtk2::Entry->new;
my ($other, $group, $user, $s) = reverse(split(//, $model->get($iter, 4))) if $iter;
my @bits = qw(sticky gid suid);
my @rights = qw(read write execute);
- my @owners = qw(user group other);
+ my @owners = (N_("user"), N_("group"), N_("other"));
my %rights = (user => $user, group => $group, other => $other);
my %rights_labels = (user => N("User"), group => N("Group"), other => N("Other"));
my %checks = ('read' => {
label => N("Read"),
- tip => { map { $_ => N("Enable \"%s\" to read the file", $_) } keys %rights },
+ tip => { map { $_ =>
+ #-PO: here %s will be either "user", "group" or "other"
+ N("Enable \"%s\" to read the file", translate($_))
+ } keys %rights },
},
'write' => {
label => N("Write"),
- tip => { map { $_ => N("Enable \"%s\" to write the file", $_) } keys %rights },
+ tip => { map { $_ =>
+ #-PO: here %s will be either "user", "group" or "other"
+ N("Enable \"%s\" to write the file", translate($_))
+ } keys %rights },
},
'execute' => {
label => N("Execute"),
- tip => { map { $_ => N("Enable \"%s\" to execute the file", $_) } keys %rights },
+ tip => { map { $_ =>
+ #-PO: here %s will be either "user", "group" or "other"
+ N("Enable \"%s\" to execute the file", translate($_))
+ } keys %rights },
},
sticky => { label => N("Sticky-bit"), tip => N("Used for directory:\n only owner of directory or file in this directory can delete it") },
suid => { label => N("Set-UID"), tip => N("Use owner id for execution") },
@@ -275,18 +280,16 @@ sub row_setting_dialog {
my $alrd_exsts = defined $iter;
$file->set_text($model->get($iter, 1)) if $iter;
- my $users = Gtk2::ComboBox->new_text;
- $users->set_popdown_strings(&get_user_or_group('users'));
+ my $users = Gtk2::ComboBox->new_with_strings([ get_user_or_group('users') ]);
$users->entry->set_text($model->get($iter, 2)) if $iter;
- my $groups = Gtk2::ComboBox->new_text;
- $groups->set_popdown_strings(&get_user_or_group);
+ my $groups = Gtk2::ComboBox->new_with_strings([ get_user_or_group() ]);
$groups->entry->set_text($model->get($iter, 3)) if $iter;
my $id_box = gtkadd(Gtk2::HBox->new,
- Gtk2::Label->new(N("User :")),
+ Gtk2::Label->new(N("User:")),
$users,
- Gtk2::Label->new(N("Group :")),
+ Gtk2::Label->new(N("Group:")),
$groups,
);
@@ -301,7 +304,7 @@ sub row_setting_dialog {
$browse->signal_connect(clicked => sub {
- my $file_dlg = new Gtk2::FileSelection(N("Path selection"));
+ my $file_dlg = Gtk2::FileSelection->new(N("Path selection"));
$file_dlg->set_modal(1);
$file_dlg->set_transient_for($dlg);
$file_dlg->show;
@@ -331,7 +334,7 @@ sub row_setting_dialog {
gtkpack(gtkset_border_width(Gtk2::HBox->new, 3),
gtkadd(Gtk2::VBox->new,
Gtk2::Label->new(""),
- map { gtkset_tip($tips, Gtk2::Label->new($checks{$_}{label}), $checks{$_}{tip}) } @rights,
+ map { Gtk2::Label->new($checks{$_}{label}) } @rights,
),
(map {
my $owner = $_;
@@ -403,17 +406,14 @@ sub row_setting_dialog {
}
sub get_user_or_group {
- my $what = @_;
+ my ($what) = @_;
my @users;
- local *F;
- open F, $what eq 'users' ? '/etc/passwd' : '/etc/group';
local $_;
- while (<F>) {
+ foreach (cat_($what eq 'users' ? '/etc/passwd' : '/etc/group')) {
m/^([^#:]+):[^:]+:[^:]+:/ or next;
push @users, $1;
}
- close F;
return sort(@users);
}