summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEugeni Dodonov <eugeni@mandriva.org>2010-04-07 19:55:56 +0000
committerEugeni Dodonov <eugeni@mandriva.org>2010-04-07 19:55:56 +0000
commit039f61cf2431986680c3ca1a75f19f188974882e (patch)
treec4b7405350a52a2753cc6fe53fbb743bf5859779
parentd16315b8efb8fa8fe2d021a435edccf8f0544605 (diff)
downloaddrakguard-039f61cf2431986680c3ca1a75f19f188974882e.tar
drakguard-039f61cf2431986680c3ca1a75f19f188974882e.tar.gz
drakguard-039f61cf2431986680c3ca1a75f19f188974882e.tar.bz2
drakguard-039f61cf2431986680c3ca1a75f19f188974882e.tar.xz
drakguard-039f61cf2431986680c3ca1a75f19f188974882e.zip
Added patch from Tiago Marques <tiago.marques@caixamagica.pt> to support application blocking, msec integration, white-black lists and UI improvements (#43335).
-rwxr-xr-xbin/drakguard391
-rw-r--r--po/ar.po4
-rw-r--r--po/bg.po4
-rw-r--r--po/br.po4
-rw-r--r--po/cs.po4
-rw-r--r--po/cy.po2
-rw-r--r--po/da.po4
-rw-r--r--po/de.po4
-rw-r--r--po/drakguard.pot4
-rw-r--r--po/el.po4
-rw-r--r--po/eo.po4
-rw-r--r--po/es.po6
-rw-r--r--po/et.po4
-rw-r--r--po/eu.po4
-rw-r--r--po/fi.po4
-rw-r--r--po/fr.po6
-rw-r--r--po/gl.po4
-rw-r--r--po/he.po4
-rw-r--r--po/hu.po4
-rw-r--r--po/is.po4
-rw-r--r--po/it.po4
-rw-r--r--po/ja.po4
-rw-r--r--po/ky.po4
-rw-r--r--po/ms.po4
-rw-r--r--po/nb.po4
-rw-r--r--po/nl.po4
-rw-r--r--po/nn.po4
-rw-r--r--po/pl.po4
-rw-r--r--po/pt.po53
-rw-r--r--po/pt_BR.po2
-rw-r--r--po/ro.po4
-rw-r--r--po/ru.po4
-rw-r--r--po/sl.po4
-rw-r--r--po/sv.po4
-rw-r--r--po/tr.po4
-rw-r--r--po/uk.po4
-rw-r--r--po/zh_CN.po4
-rw-r--r--po/zh_TW.po4
38 files changed, 493 insertions, 95 deletions
diff --git a/bin/drakguard b/bin/drakguard
index 2d02d37..f86dd37 100755
--- a/bin/drakguard
+++ b/bin/drakguard
@@ -14,10 +14,16 @@ use interactive;
use network::shorewall;
use network::squid;
use services;
+use Encode;
my $dansguardian_main_file = "/etc/dansguardian/dansguardian.conf";
my $dansguardian_filter_file = "/etc/dansguardian/dansguardianf1.conf";
my $time_control_file = "/etc/shorewall/time_control";
+my $dansguardian_bannedsitelist = "/etc/dansguardian/lists/bannedsitelist";
+my $dansguardian_exceptionsitelist = "/etc/dansguardian/lists/exceptionsitelist";
+my $dansguardian_protected_program_list = "/etc/dansguardian/lists/blacklists/drakguard/protected_list";
+my $msec_conf = "/etc/security/msec/perms.conf";
+my $perms_orig = "/etc/security/msec/perms.orig";
my %dansguardian_levels = (
160 => N_("Low"),
100 => N_("Normal"),
@@ -55,7 +61,7 @@ my %dansguardian_langs = (
my $blacklist_url_file = "/etc/dansguardian/lists/blacklists/drakguard/urls";
my $whitelist_url_file = "/etc/dansguardian/lists/whitelists/drakguard/urls";
-my ($enable, $level, $time_control, $time_start_h, $time_start_m, $time_stop_h, $time_stop_m, $allow_time_change);
+my ($enable, $level, $time_control, $time_start_h, $time_start_m, $time_stop_h, $time_stop_m, $allow_time_change, $net_control, $not_net_control, $program_control, $net_control_state, $program_control_state);
my $shorewall = network::shorewall::read();
my $proxy_port = 3128;
my $proxy_user = 'squid';
@@ -78,6 +84,9 @@ my $allusers_list = Gtk2::SimpleList->new(N("All users") => 'text');
$allusers_list->get_selection->set_mode('multiple');
@{$allusers_list->{data}} = sort(list_users());
+my $allusers_program_list;
+my $users_program_list;
+
my $users_list = Gtk2::SimpleList->new(N("Allowed users") => 'text');
$users_list->get_selection->set_mode('multiple');
@{$users_list->{data}} = difference2($shorewall->{accept_local_users}{http}, [ $proxy_user ]);
@@ -96,11 +105,30 @@ my @url_lists = (
remove_text => N("Remove from whitelist"),
file => $whitelist_url_file,
apply => \&apply_whitelist,
+ },
+ {
+ tab_title => N("Block programs"),
+ list_title => N("Programs with blocked execution"),
+ remove_text => N("Remove from blocked execution list"),
+ file => $dansguardian_protected_program_list,
+ apply => \&apply_block_program,
}
);
sub update_time_change() {
gtkval_modify(\$allow_time_change, $enable && $time_control);
+ gtkval_modify(\$net_control_state, $enable && $net_control);
+ gtkval_modify(\$not_net_control, $enable && !$net_control);
+ gtkval_modify(\$program_control_state, $enable && $program_control);
+}
+
+sub update_network_change() {
+ gtkval_modify(\$not_net_control, $enable && !$net_control);
+ gtkval_modify(\$net_control_state, $enable && $net_control);
+}
+
+sub update_program_state() {
+ gtkval_modify(\$program_control_state, $enable && $program_control);
}
$w->{ok_clicked} = \&save;
@@ -112,13 +140,17 @@ gtkadd($w->{window},
1, gtknew('Notebook', children => [
gtknew('Label', text => N("Configuration")),
gtknew('VBox', spacing => 5, border_width => 5, children => [
- 1, gtknew('WrappedLabel', text => N("This tool allows to configure parental control. It can block access to web sites and restrict connection during a specified timeframe.")),
- 1, gtknew('Label'),
- 0, gtknew('Title2', label => N("Main options")),
+ 0, gtknew('Label', text => N("This tool allows to configure parental control.\nIt can block access to web sites and restrict connection during a specified timeframe.")),
0, gtknew('CheckButton', text => N("Enable parental control"),
active_ref => \$enable, toggled => \&update_time_change),
+ 1, gtknew('Label'),
+ 0, gtknew('Title2', label => N("Main options")),
0, gtknew('HBox', children_tight => [
- gtknew('Label_Left', text_markup => N("Control level"),
+ gtknew('CheckButton', text => N("Block all network traffic"),
+ sensitive_ref => \$enable, active_ref => \$net_control, toggled => \&update_network_change),
+ ]),
+ 0, gtknew('HBox', children_tight => [
+ gtknew('Label', sensitive_ref => \$enable, text_markup => N("Obscenity sensibility"), #Sensitivity to bad words
alignment => [ 0, 0.5 ]),
gtknew('ComboBox',
list => [ keys %dansguardian_levels ],
@@ -165,27 +197,89 @@ gtkadd($w->{window},
my $url_list = $_;
$url_list->{list} = Gtk2::SimpleList->new($url_list->{list_title} => 'text');
$url_list->{list}->get_selection->set_mode('multiple');
- @{$url_list->{list}{data}} = read_url_list($url_list->{file});
+ if ($url_list->{tab_title} eq N("Block programs")){@{$url_list->{list}{data}} = read_program_list($url_list->{file}); }
+ else{@{$url_list->{list}{data}} = read_url_list($url_list->{file});}
+
+ $allusers_program_list = Gtk2::SimpleList->new(N("Blocked users") => 'text');
+ $allusers_program_list->get_selection->set_mode('multiple');
+ @{$allusers_program_list->{data}} = sort(list_users());
+
+ $users_program_list = Gtk2::SimpleList->new(N("Allowed users") => 'text');
+ $users_program_list->get_selection->set_mode('multiple');
+ @{$users_program_list->{data}} = sort (read_program_user_list($url_list->{file}));
my $entry;
+ my $original_entry;
(
- gtknew('Label', text => $url_list->{tab_title}),
- gtknew('VBox', spacing => 5, children => [
- 0, gtknew('HBox', border_width => 5, spacing => 5, children_loose => [
+ gtknew('Label', if_($url_list->{tab_title} eq N("Whitelist"), sensitive_ref => \$net_control_state),
+ if_($url_list->{tab_title} eq N("Blacklist"), sensitive_ref => \$not_net_control),
+ if_($url_list->{tab_title} eq N("Block programs"), sensitive_ref => \$enable), text => $url_list->{tab_title}),
+ gtknew('VBox', if_($url_list->{tab_title} eq N("Whitelist"), sensitive_ref => \$net_control_state),
+ if_($url_list->{tab_title} eq N("Blacklist"), sensitive_ref => \$not_net_control), spacing => 5, children => [
+ 0, gtknew('HBox', children_tight => [
+ if_($url_list->{tab_title} eq N("Block programs"),gtknew('CheckButton', text => N("Block defined applications"),
+ sensitive_ref => \$enable, active_ref => \$program_control, toggled => \&update_program_state)),
+ ]),
+ 0, gtknew('HBox', if_($url_list->{tab_title} eq N("Block programs"), sensitive_ref => \$program_control_state), border_width => 5, spacing => 5, children_loose => [
$entry = gtknew('Entry'),
- gtknew('Button', text => N("Add"), clicked => sub {
+ if_($url_list->{tab_title} eq N("Block programs"), gtknew('Button', text => N("..."), clicked => sub {
+ $entry->set_text($in->ask_file(N("Please select the program you want to control"), "/var/lib/caixamagica/programas"));
+ })),
+ 0, gtknew('Button', text => N("Add"), clicked => sub {
my $text = $entry->get_text;
- $text =~ s,^[^:]+://,,g; #- strip protocol
- list_add_entry($url_list->{list}, $text);
- $entry->set_text("");
+ $text =~ s,^[^:]+://,,g; #- strip protocol
+ if ($url_list->{tab_title} eq N("Block programs")) {
+ $text =~ s,(\W?)$,,g; #- remove unknown caracters
+ $original_entry = "";
+ $text = resolve_symlinks($text);
+ if ( (grep { $_ && m/^\[Desktop Entry\]\s*/g} chomp_(cat_($text))) || $text =~ m/\.desktop/g) {# make this only for application block
+ my @exec_line = grep { $_ && m/^Exec=(.*)\s*/g} chomp_(cat_($text));
+ require lang;
+ my $locale = lang::read();
+ $locale = lc($locale->{country});
+ my @system_name = grep { $_ && m/^GenericName(\[$locale\])?=(.*)\s*/g} chomp_(cat_($text));
+ foreach (@exec_line){
+ ($exec, $text, $args) = /(^Exec=)(\w+)\s*(.*)/;
+ if ($text eq ""){
+ ($exec, $text, $args) = /(^Exec=)(.*+)\s*(.*)/;}
+ }
+ foreach my $b (@system_name){
+ $original_entry = $b;
+ $original_entry =~ s/^GenericName(\[$locale\])?=//g;
+ $original_entry = Encode::decode("utf8", $original_entry);
+ }
+ }
+ $text = `which $text 2> /dev/null` if $text ne "";
+ $text =~ s/\n//g;
+ }
+ if ( $text eq "" && $url_list->{tab_title} eq N("Block programs")) { $in->ask_warn(N("Error"), N("Invalid Binary Name")) and return; }
+ else { if ($url_list->{tab_title} eq N("Block programs")) {
+ list_add_entry_program($url_list->{list}, $text. " ( $original_entry )") if $original_entry ne "";
+ list_add_entry_program($url_list->{list}, $text) if $original_entry eq "";
+ }
+ else { list_add_entry($url_list->{list}, $text); }
+ }
+ $entry->set_text("");
}),
]),
- 1, gtknew('ScrolledWindow', width => 500, height => 300, child => $url_list->{list}),
- 0, gtknew('HButtonBox', border_width => 5, layout => 'edge', children_loose => [
+ 1, gtknew('ScrolledWindow', if_($url_list->{tab_title} eq N("Block programs"), sensitive_ref => \$program_control_state), width => 500, height => 150, child => $url_list->{list}),
+ 0, gtknew('HButtonBox', if_($url_list->{tab_title} eq N("Block programs"), sensitive_ref => \$program_control_state), border_width => 5, layout => 'edge', children_loose => [
gtknew('Button', text => $url_list->{remove_text}, clicked => sub {
list_remove_selected($url_list->{list});
}),
]),
+ if_($url_list->{tab_title} eq N("Block programs"), 1, gtknew('Label'),
+ 0, gtknew('Title2', label => N("Unblock users")),
+ 0, gtknew('HButtonBox', sensitive_ref => \$program_control_state, spacing => 5, children_tight => [
+ gtknew('ScrolledWindow', width => 220, height => 120, child => $allusers_program_list),
+ gtknew('VBox', spacing => 5, children_tight => [
+ gtknew('Button', stock => "gtk-add", clicked => \&add_user_program),
+ gtknew('Button', stock => "gtk-remove", clicked => \&remove_user_program),
+ ]),
+ gtknew('ScrolledWindow', width => 220, height => 120, child => $users_program_list),
+ ]),
+ 0, gtknew('HBox'),
+ ),
]),
);
} @url_lists),
@@ -209,6 +303,17 @@ sub list_add_entry {
}
}
+sub list_add_entry_program {
+ my ($list, @addr) = @_;
+ foreach my $a (@addr) {
+ $b = $a;
+ $a =~ s/\s(.*)//g;
+ @abc = map {$_->[0]} @{$list->{data}};
+ push @{$list->{data}}, $b
+ unless (any { $_->[0] eq $b } @{$list->{data}}) || (grep {$_ && m/$a(.*)/g} @abc);
+ }
+}
+
sub list_remove_entry {
my ($list, @addr) = @_;
#- workaround buggy Gtk2::SimpleList array abstraction, it destroys references
@@ -238,6 +343,14 @@ sub remove_user() {
list_remove_selected($users_list);
}
+sub add_user_program() {
+ list_add_entry($users_program_list, list_get_selected($allusers_program_list));
+}
+
+sub remove_user_program() {
+ list_remove_selected($users_program_list);
+}
+
sub quit_gui {
my ($o_code) = @_;
$w->exit($o_code);
@@ -246,6 +359,9 @@ sub quit_gui {
sub load() {
my $guardian = read_dansguardian();
my $levelname = { %dansguardian_levels }->{$guardian->{naughtynesslimit}};
+ $net_control = $guardian->{netblock};
+ $program_control = $guardian->{programblock};
+ gtkval_modify(\$not_net_control, $enable && !$net_control);
$level = { reverse %dansguardian_levels }->{$levelname} if $levelname;
$level ||= { reverse %dansguardian_levels }->{High};
$enable = services::starts_on_boot('dansguardian');
@@ -314,6 +430,10 @@ sub save() {
#- reload shorewall config if it has just been installed
$shorewall ||= network::shorewall::read();
}
+ else {
+ $program_control = 0;
+ @url_lists[2]->{apply}(list_get_entries(@url_lists[2]->{list}));
+ }
services::set_status($_, $enable) foreach qw(squid dansguardian);
if ($shorewall) {
@@ -323,10 +443,78 @@ sub save() {
network::shorewall::set_redirected_ports($shorewall, 'tcp', $guardian_port, if_($enable, 'http', $proxy_port));
network::shorewall::write($shorewall, $in);
}
-
+
quit_gui();
}
+sub resolve_symlinks {
+
+ # Check if a given file (either the pure filename or in a SANE device
+ # string as "<prefix>:<file>") is a symlink, if so expand the link.
+ # If the new file name is a link, expand again, until finding the
+ # physical file.
+ my ($file) = @_;
+ my $prefix = "";
+ if ($file =~ m!^([^/]*)(/.*)$!) {
+ $prefix = $1;
+ $file = $2;
+ } else {
+ return $file;
+ }
+ while (1) {
+ #my $ls = `ls -l $file 2> /dev/null`;
+ my $ls = readlink $file;
+ if ($ls =~ m!\s($file)\s*\->\s*(\S+)\s*$!) {
+ my $target = $2;
+ if ($target !~ m!^/! && $file =~ m!^(.*)/[^/]+$!) {
+ $target = "$1/$target";
+ }
+ $file = $target;
+ } else {
+ last;
+ }
+ }
+ return $prefix . $file;
+}
+
+sub remove_acl {
+ my ($file, $binary) = @_;
+ `setfacl -b $binary`;
+ clean_config_line($file, "$binary");
+}
+
+sub set_permissions {
+ my ($line, $line_info) = @_;
+ #`protect $line --add`;
+ chmod 0700, $line;
+ chown "root","root", $line;
+ #remove msec lines
+ #clean_config_line($msec_conf,"$line");
+ subst_config_line($dansguardian_protected_program_list,"$line_info \n"); #adds the file to dansguardian_protected_program_list
+ subst_config_line($msec_conf,"$line\troot.root\t700\tforce\t\n"); #adds the file to msec
+ #`protect $line $_` foreach list_get_entries($users_program_list);
+ #add msec line or lines...
+ foreach my $user_msec (list_get_entries($users_program_list)) {
+ my @msec_line = grep { $_ && m/$line/g} chomp_(cat_($msec_conf));
+ my @program_list_line = grep { $_ && m/^$line/g} chomp_(cat_($dansguardian_protected_program_list));
+ `setfacl -m u:$user_msec:r-x $line`;
+ subst_config_line($dansguardian_protected_program_list,"$_$user_msec,\n") foreach @program_list_line; #adds the users to the programs blocked in msec
+ subst_config_line($msec_conf,"$_$user_msec:r-x,\n") foreach @msec_line; #adds the users to the programs blocked in msec
+ }
+}
+
+sub restore_permissions {
+ my ($line) = @_;
+ foreach ($line){
+ ($fich, $usrname, $grpname, $mode) = /^(.*)\t(\w+)\.(\w+)\t(\d+)\s*/ or next;
+ }
+ $mode = sprintf "%04d", $mode;#make number with 4 digits
+ $guid = getgrnam($grpname);
+ $uid = getpwnam($usrname);
+ chown $uid, $guid, $fich;
+ chmod oct($mode), $fich;
+}
+
sub subst_config_line {
my ($file, $line) = @_;
my $key = first(split(' ', $line));
@@ -337,6 +525,31 @@ sub subst_config_line {
} $file;
}
+sub clean_config_line {
+ my ($file, $line) = @_;
+ my $key = first(split(' ', $line));
+ my $done;
+ substInFile {
+ $done = 1 if s|^\s*$key.*\n||;
+ } $file;
+}
+
+sub block_internet_dansguardian {
+ my ($file, $line) = @_;
+ my $key = "#";
+ substInFile {
+ s|^$key\*\*\s|**\n|;
+ } $file;
+}
+
+sub unblock_internet_dansguardian {
+ my ($file) = @_;
+ my $key = "#";
+ substInFile {
+ s|^\*\*\s|$key**\n|;
+ } $file;
+}
+
sub enable_transparent_proxy {
my ($port) = @_;
#- FIXME: use network::squid once it is rewritten to be more gentle with the config file
@@ -364,15 +577,29 @@ sub write_dansguardian() {
my $dansguardian_lang = $lang_to_dansguardian{$locale_lang} || $lang_to_dansguardian{$locale->{lang}};
subst_config_line($dansguardian_main_file, "language = '$dansguardian_lang'\n") if $dansguardian_lang;
- subst_config_line($dansguardian_filter_file, "naughtynesslimit = $level\n");
+ subst_config_line($dansguardian_filter_file, "naughtynesslimit = '$level'\n");
+ subst_config_line($dansguardian_filter_file, "netblock = '$net_control'\n");
+ subst_config_line($dansguardian_filter_file, "programblock = '$program_control'\n");
+ if ($net_control) {
+
+ block_internet_dansguardian($dansguardian_bannedsitelist);
+
+ }
+ else {
+
+ unblock_internet_dansguardian($dansguardian_bannedsitelist);
+ }
}
sub include_guardian_file {
my ($guardian_file, $external_file) = @_;
my $to_add = ".Include<$external_file>\n";
+ clean_config_line($guardian_file, "$to_add" );
my @all = cat_($guardian_file);
- if (!member($to_add, @all)) {
- output_p($guardian_file, @all, $to_add);
+ if ((($dansguardian_bannedsitelist eq $guardian_file) && !$net_control) || (($dansguardian_exceptionsitelist eq $guardian_file) && $net_control)) {
+ if (!member($to_add, @all)) {
+ output_p($guardian_file, @all, $to_add);
+ }
}
}
@@ -381,6 +608,18 @@ sub read_url_list {
grep { $_ && !/^\s*#/ } chomp_(cat_($file));
}
+sub read_program_list {
+ my ($file) = @_;
+ grep { $_ && s/(\s*(\w+),)*//g } chomp_(cat_($file));
+}
+
+sub read_program_user_list {
+ my ($file) = @_;
+ my @user_list = grep { $_ && s/(.*?)\s//g } chomp_(cat_($file));
+ uniq(map{ my $user = $_;
+ $user =~ m/(\w+),/g;} @user_list);
+}
+
sub apply_blacklist {
my @addr = @_;
my $blacklist_top = "/etc/dansguardian/lists/bannedsitelist";
@@ -396,3 +635,117 @@ sub apply_whitelist {
output_p($whitelist_url_file, map { $_ . "\n" } @addr);
include_guardian_file($whitelist_top, $whitelist_url_file);
}
+
+sub apply_block_program {
+ #my @addr = @_;
+ #output_p($acl_file, map { $_ . "\n" } @addr);
+ if ($program_control) {
+ my @original_list = read_program_list(@url_lists[2]->{file});
+ my @orig_list = read_program_list(@url_lists[2]->{file});
+ for (@original_list){
+ s/\s(.*)//;
+ }
+ my @actual_list = list_get_entries(@url_lists[2]->{list});
+ my @act_list = list_get_entries(@url_lists[2]->{list});
+ for (@actual_list){
+ s/\s(.*)//;
+ }
+ #code to make diff bettween vectors
+ @union = @intersection = @difference = ();
+ %count = ();
+ foreach $element (@original_list, @actual_list) { $count{$element}++ }
+ foreach $element (keys %count) {
+ # push @union, $element;
+ push @{ $count{$element} > 1 ? \@intersection : \@difference }, $element;
+ }
+ if (scalar(@difference)) {
+ #keep the permissons save, make the way to do that
+ foreach $diff (@difference) {
+ my @orig_file = cat_($perms_orig);
+ my @progs_orig_file = grep { $_ && m/$diff/g } chomp_(cat_($perms_orig));
+ #test if program is in msec
+ my @msec_program = grep { $_ && m/$diff/g } chomp_(cat_($msec_conf));
+ if (scalar(@progs_orig_file)) {#test if is to remove or to add acl
+ #clean config file of the removed programs
+ foreach $element (@progs_orig_file){
+ my $val = $element;
+ substInFile {
+ s|$element.*\n||;
+ } $perms_orig;
+ $val =~ s/\t(.*)\s*//;
+ $element =~ s/^(\d+)\t//;
+ if ($val) {
+ #write back in the msec file and set original file permissions
+ #`unprotect $diff --remove`;
+ remove_acl($dansguardian_protected_program_list, $diff);
+ subst_config_line($msec_conf,"$element\n");
+ restore_permissions($element);
+ }
+ else {
+ #only make the permissions wright
+ #`unprotect $diff --remove`;
+ remove_acl($dansguardian_protected_program_list, $diff);
+ clean_config_line($msec_conf,"$diff");
+ restore_permissions($element);
+ }
+ }
+ }
+ else {
+ if (scalar(@msec_program)){
+ output_p($perms_orig, @orig_file, "1\t".$_."\n") foreach @msec_program;
+ #add file to msec and set acls
+ }
+ else {
+ my $mode = (stat($diff))[2] & 07777;
+ #"%04o" important to make 0755 to chmod ou chown
+ $mode = sprintf "%lo", $mode;
+ my $uid = (stat($diff))[4];
+ my $gid = (stat($diff))[5];
+ my $usrname = getpwuid($uid);
+ my $gname = getgrgid($gid);
+ my $to_add = "0\t$diff\t$usrname.$gname\t$mode\n";
+ #keep the permissons safe make the way to do that
+ output_p($perms_orig, @orig_file, $to_add);
+ }
+ set_permissions($diff, grep {$_ && m/$diff/g} @act_list);
+ }
+ }
+ }
+ #this is just the case to reactivate the parental control
+ #`unprotect $_ --remove` foreach @intersection;
+ remove_acl($dansguardian_protected_program_list, $_) foreach @intersection;
+ foreach $intersec (@intersection){
+ set_permissions($intersec, grep {$_ && m/$intersec/g} @orig_list);
+ }
+ }
+ else {
+ my @original_list = list_get_entries(@url_lists[2]->{list});
+ for (@original_list){
+ s/\s(.*)//;
+ }
+ #restore the original file permissions
+ `setfacl -b $_` foreach @original_list;
+ foreach $list (@original_list) {
+ my @progs_orig_file = grep { $_ && m/$list/g } chomp_(cat_($perms_orig));
+ #test if program is in msec
+ if (scalar(@progs_orig_file)) {
+ #clean config file of the removed programs
+ foreach $element (@progs_orig_file){
+ my $val = $element;
+ $val =~ s/\t(.*)\s*//;
+ $element =~ s/^(\d+)\t//;
+ if ($val) {
+ #write back in the msec file and set original file permissions
+ subst_config_line($msec_conf,"$element\n");
+ restore_permissions($element);
+ }
+ else {
+ #only make the permissions wright
+ clean_config_line($msec_conf,"$list");
+ restore_permissions($element);
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/po/ar.po b/po/ar.po
index e62f69e..6189da6 100644
--- a/po/ar.po
+++ b/po/ar.po
@@ -84,7 +84,7 @@ msgstr "ضبط"
#: ../bin/drakguard:114
#, c-format
msgid ""
-"This tool allows to configure parental control. It can block access to web "
+"This tool allows to configure parental control.\nIt can block access to web "
"sites and restrict connection during a specified timeframe."
msgstr ""
"تسمح لك هذه الأداة بضبط التحكم الأبوي، وهي تستطيع حظر الوصول إلى صفحات الوِب "
@@ -102,7 +102,7 @@ msgstr "فعِّل التحكم الأبوي"
#: ../bin/drakguard:120
#, c-format
-msgid "Control level"
+msgid "Obscenity sensibility"
msgstr "مستوى التحكم"
#: ../bin/drakguard:129
diff --git a/po/bg.po b/po/bg.po
index f14409a..21bd681 100644
--- a/po/bg.po
+++ b/po/bg.po
@@ -84,7 +84,7 @@ msgstr "Настройка"
#: ../bin/drakguard:114
#, c-format
msgid ""
-"This tool allows to configure parental control. It can block access to web "
+"This tool allows to configure parental control.\nIt can block access to web "
"sites and restrict connection during a specified timeframe."
msgstr ""
"Този инструмент позволява да се настрои родителски контрол. Той може да спре "
@@ -102,7 +102,7 @@ msgstr "Разрешаване на родителски контрол"
#: ../bin/drakguard:120
#, c-format
-msgid "Control level"
+msgid "Obscenity sensibility"
msgstr "Ниво на контрол"
#: ../bin/drakguard:129
diff --git a/po/br.po b/po/br.po
index 1644951..9694638 100644
--- a/po/br.po
+++ b/po/br.po
@@ -83,7 +83,7 @@ msgstr "Kefluniadur"
#: ../bin/drakguard:114
#, c-format
msgid ""
-"This tool allows to configure parental control. It can block access to web "
+"This tool allows to configure parental control.\nIt can block access to web "
"sites and restrict connection during a specified timeframe."
msgstr ""
@@ -99,7 +99,7 @@ msgstr ""
#: ../bin/drakguard:120
#, c-format
-msgid "Control level"
+msgid "Obscenity sensibility"
msgstr ""
#: ../bin/drakguard:129
diff --git a/po/cs.po b/po/cs.po
index fde2939..fda56e8 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -83,7 +83,7 @@ msgstr "Nastavení"
#: ../bin/drakguard:114
#, c-format
msgid ""
-"This tool allows to configure parental control. It can block access to web "
+"This tool allows to configure parental control.\nIt can block access to web "
"sites and restrict connection during a specified timeframe."
msgstr ""
"Tento nástroj vám umožní nastavit rodičovský dohled. Může zablokovat přístup "
@@ -101,7 +101,7 @@ msgstr "Povolit rodičovský dohled"
#: ../bin/drakguard:120
#, c-format
-msgid "Control level"
+msgid "Obscenity sensibility"
msgstr "Úroveň dohledu"
#: ../bin/drakguard:129
diff --git a/po/cy.po b/po/cy.po
index f12aa54..064c1f0 100644
--- a/po/cy.po
+++ b/po/cy.po
@@ -82,7 +82,7 @@ msgstr "Ffurfweddiad"
#: ../bin/drakguard:114
#, c-format
msgid ""
-"This tool allows to configure parental control. It can block access to web "
+"This tool allows to configure parental control.\nIt can block access to web "
"sites and restrict connection during a specified timeframe."
msgstr ""
"Mae'r offeryn yn caniatau i chi ffurfweddu'r rheoli rhiant. Mae'n gallu "
diff --git a/po/da.po b/po/da.po
index e1629b0..75c71f8 100644
--- a/po/da.po
+++ b/po/da.po
@@ -84,7 +84,7 @@ msgstr "Opsætning"
#: ../bin/drakguard:114
#, c-format
msgid ""
-"This tool allows to configure parental control. It can block access to web "
+"This tool allows to configure parental control.\nIt can block access to web "
"sites and restrict connection during a specified timeframe."
msgstr ""
"Med dette værktøj kan du opsætte forældrekontrollen. Denne kan blokere "
@@ -102,7 +102,7 @@ msgstr "Brug forældrekontrol"
#: ../bin/drakguard:120
#, c-format
-msgid "Control level"
+msgid "Obscenity sensibility"
msgstr "Kontrolniveau"
#: ../bin/drakguard:129
diff --git a/po/de.po b/po/de.po
index d92eed7..551dad8 100644
--- a/po/de.po
+++ b/po/de.po
@@ -81,7 +81,7 @@ msgstr "Konfiguration"
#: ../bin/drakguard:114
#, c-format
-msgid "This tool allows to configure parental control. It can block access to web sites and restrict connection during a specified timeframe."
+msgid "This tool allows to configure parental control.\nIt can block access to web sites and restrict connection during a specified timeframe."
msgstr "Dieses Werkzeug erlaubt es, eine Kindersicherung einzurichten. Es kann den Zugang zu bestimmten Webseiten sperren und die Verbindung auf eine bestimmte Zeitspanne beschränken."
#: ../bin/drakguard:116
@@ -96,7 +96,7 @@ msgstr "Kindersicherung einschalten"
#: ../bin/drakguard:120
#, c-format
-msgid "Control level"
+msgid "Obscenity sensibility"
msgstr "Kontrollstufe"
#: ../bin/drakguard:129
diff --git a/po/drakguard.pot b/po/drakguard.pot
index 92e990c..0e4bae8 100644
--- a/po/drakguard.pot
+++ b/po/drakguard.pot
@@ -82,7 +82,7 @@ msgstr ""
#: ../bin/drakguard:114
#, c-format
-msgid "This tool allows to configure parental control. It can block access to web sites and restrict connection during a specified timeframe."
+msgid "This tool allows to configure parental control.\nIt can block access to web sites and restrict connection during a specified timeframe."
msgstr ""
#: ../bin/drakguard:116
@@ -97,7 +97,7 @@ msgstr ""
#: ../bin/drakguard:120
#, c-format
-msgid "Control level"
+msgid "Obscenity sensibility"
msgstr ""
#: ../bin/drakguard:129
diff --git a/po/el.po b/po/el.po
index 64141f1..9ef18e7 100644
--- a/po/el.po
+++ b/po/el.po
@@ -84,7 +84,7 @@ msgstr "Ρυθμίσεις"
#: ../bin/drakguard:114
#, c-format
-msgid "This tool allows to configure parental control. It can block access to web sites and restrict connection during a specified timeframe."
+msgid "This tool allows to configure parental control.\nIt can block access to web sites and restrict connection during a specified timeframe."
msgstr "Εργαλείο ρυθμίσεων για τον γονικό έλεγχο. Μπορείτε να απαγορεύσετε την πρόσβαση σε ιστοσελίδες και να ενεργοποιήσετε περιορισμούς για ορισμένη χρονική διάρκεια."
#: ../bin/drakguard:116
@@ -99,7 +99,7 @@ msgstr "Ενεργοποίηση γονικού ελέγχου"
#: ../bin/drakguard:120
#, c-format
-msgid "Control level"
+msgid "Obscenity sensibility"
msgstr "Επίπεδο ελέγχου"
#: ../bin/drakguard:129
diff --git a/po/eo.po b/po/eo.po
index 7197ca0..17609fd 100644
--- a/po/eo.po
+++ b/po/eo.po
@@ -83,7 +83,7 @@ msgstr "Konfiguraĵo"
#: ../bin/drakguard:114
#, c-format
msgid ""
-"This tool allows to configure parental control. It can block access to web "
+"This tool allows to configure parental control.\nIt can block access to web "
"sites and restrict connection during a specified timeframe."
msgstr ""
"Tiuj ĉi ilo ebligas al vi konfiguri gepatran kontrolon. ĝi povas bloki la "
@@ -101,7 +101,7 @@ msgstr "Ebligi gepatran kontrolon"
#: ../bin/drakguard:120
#, c-format
-msgid "Control level"
+msgid "Obscenity sensibility"
msgstr "Kontrolnivelo"
#: ../bin/drakguard:129
diff --git a/po/es.po b/po/es.po
index edb2fa3..5814bca 100644
--- a/po/es.po
+++ b/po/es.po
@@ -83,10 +83,10 @@ msgstr "Configuración"
#: ../bin/drakguard:114
#, c-format
msgid ""
-"This tool allows to configure parental control. It can block access to web "
+"This tool allows to configure parental control.\nIt can block access to web "
"sites and restrict connection during a specified timeframe."
msgstr ""
-"Esta herramienta permite configurar el control parental. Puede bloquear el "
+"Esta herramienta permite configurar el control parental.\nPuede bloquear el "
"acceso a sitios web y restringir la conexión durante un tiempo especificado."
#: ../bin/drakguard:116
@@ -101,7 +101,7 @@ msgstr "Activar el control parental"
#: ../bin/drakguard:120
#, c-format
-msgid "Control level"
+msgid "Obscenity sensibility"
msgstr "Nivel de control"
#: ../bin/drakguard:129
diff --git a/po/et.po b/po/et.po
index d2e743f..79f265a 100644
--- a/po/et.po
+++ b/po/et.po
@@ -82,7 +82,7 @@ msgstr "Seadistamine"
#: ../bin/drakguard:114
#, c-format
msgid ""
-"This tool allows to configure parental control. It can block access to web "
+"This tool allows to configure parental control.\nIt can block access to web "
"sites and restrict connection during a specified timeframe."
msgstr ""
"Selle tööriistaga saab seadistada niinimetatud lapselukku: blokeerida pääsu "
@@ -100,7 +100,7 @@ msgstr "Lapseluku lubamine"
#: ../bin/drakguard:120
#, c-format
-msgid "Control level"
+msgid "Obscenity sensibility"
msgstr "Kontrolli tase"
#: ../bin/drakguard:129
diff --git a/po/eu.po b/po/eu.po
index 52ca746..1db6f65 100644
--- a/po/eu.po
+++ b/po/eu.po
@@ -83,7 +83,7 @@ msgstr "Konfiguraketa"
#: ../bin/drakguard:114
#, c-format
msgid ""
-"This tool allows to configure parental control. It can block access to web "
+"This tool allows to configure parental control.\nIt can block access to web "
"sites and restrict connection during a specified timeframe."
msgstr ""
"Tresna honek gurasoen kontrola konfiguratzen du. Web lekuetara sarbidea "
@@ -101,7 +101,7 @@ msgstr "Gurasoen kontrola gaitu"
#: ../bin/drakguard:120
#, c-format
-msgid "Control level"
+msgid "Obscenity sensibility"
msgstr "Kontrol maila"
#: ../bin/drakguard:129
diff --git a/po/fi.po b/po/fi.po
index 532d2df..2f0e62c 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -84,7 +84,7 @@ msgstr "Asetukset"
#: ../bin/drakguard:114
#, c-format
-msgid "This tool allows to configure parental control. It can block access to web sites and restrict connection during a specified timeframe."
+msgid "This tool allows to configure parental control.\nIt can block access to web sites and restrict connection during a specified timeframe."
msgstr ""
"Tämä työkalu mahdollistaa lapsilukon asettamisen. Lapsilukolla voidaan estää pääsy Internet-sivuille ja rajoittaa yhteyksiä tiettyinä "
"ajankohtina."
@@ -101,7 +101,7 @@ msgstr "Käytä lapsilukkoa"
#: ../bin/drakguard:120
#, c-format
-msgid "Control level"
+msgid "Obscenity sensibility"
msgstr "Hallintataso"
#: ../bin/drakguard:129
diff --git a/po/fr.po b/po/fr.po
index fd60bcc..682b692 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -83,10 +83,10 @@ msgstr "Configuration"
#: ../bin/drakguard:114
#, c-format
msgid ""
-"This tool allows to configure parental control. It can block access to web "
+"This tool allows to configure parental control.\nIt can block access to web "
"sites and restrict connection during a specified timeframe."
msgstr ""
-"Cet outil permet de configurer le contrôle parental. Il peut bloquer l'accès "
+"Cet outil permet de configurer le contrôle parental.\nIl peut bloquer l'accès "
"à des sites Internet et restreindre la connexion aux périodes précisées."
#: ../bin/drakguard:116
@@ -101,7 +101,7 @@ msgstr "Activer le contrôle parental"
#: ../bin/drakguard:120
#, c-format
-msgid "Control level"
+msgid "Obscenity sensibility"
msgstr "Niveau de contrôle"
#: ../bin/drakguard:129
diff --git a/po/gl.po b/po/gl.po
index dfe12b9..8d6eb52 100644
--- a/po/gl.po
+++ b/po/gl.po
@@ -86,7 +86,7 @@ msgstr "Configuración"
#: ../bin/drakguard:114
#, c-format
-msgid "This tool allows to configure parental control. It can block access to web sites and restrict connection during a specified timeframe."
+msgid "This tool allows to configure parental control.\nIt can block access to web sites and restrict connection during a specified timeframe."
msgstr ""
"Esta ferramenta permite configurar o control parental. Pode trancar o acceso a sitios web e restrinxir a conexión durante un período de tempo especificado."
@@ -102,7 +102,7 @@ msgstr "Activar o control parental"
#: ../bin/drakguard:120
#, c-format
-msgid "Control level"
+msgid "Obscenity sensibility"
msgstr "Nivel de control"
#: ../bin/drakguard:129
diff --git a/po/he.po b/po/he.po
index d6a3de2..4ab6722 100644
--- a/po/he.po
+++ b/po/he.po
@@ -83,7 +83,7 @@ msgstr "הגדרות"
#: ../bin/drakguard:114
#, c-format
msgid ""
-"This tool allows to configure parental control. It can block access to web "
+"This tool allows to configure parental control.\nIt can block access to web "
"sites and restrict connection during a specified timeframe."
msgstr ""
"כלי זה מאפשר בקרת הורים. הוא יכול למנוע גישה לאתרים ברשת ולהגביל את החיבור "
@@ -101,7 +101,7 @@ msgstr "אפשר בקרת הורים"
#: ../bin/drakguard:120
#, c-format
-msgid "Control level"
+msgid "Obscenity sensibility"
msgstr "רמת בקרה"
#: ../bin/drakguard:129
diff --git a/po/hu.po b/po/hu.po
index 15fc3f6..0aa8c0f 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -79,7 +79,7 @@ msgstr "Beállítások"
#: ../bin/drakguard:114
#, c-format
-msgid "This tool allows to configure parental control. It can block access to web sites and restrict connection during a specified timeframe."
+msgid "This tool allows to configure parental control.\nIt can block access to web sites and restrict connection during a specified timeframe."
msgstr "Ez a segédeszköz a szülői felügyelet beállítására szolgál. Az Ön beállításai alapján az előírt időpontokban megtiltja bizonyos weboldalak meglátogatását és kapcsolatok felépítését."
#: ../bin/drakguard:116
@@ -94,7 +94,7 @@ msgstr "Szülői felügyelet engedélyezése"
#: ../bin/drakguard:120
#, c-format
-msgid "Control level"
+msgid "Obscenity sensibility"
msgstr "Ellenőrzés szintje"
#: ../bin/drakguard:129
diff --git a/po/is.po b/po/is.po
index 23c1c65..8da0e82 100644
--- a/po/is.po
+++ b/po/is.po
@@ -82,7 +82,7 @@ msgstr "Stillingar"
#: ../bin/drakguard:114
#, c-format
-msgid "This tool allows to configure parental control. It can block access to web sites and restrict connection during a specified timeframe."
+msgid "This tool allows to configure parental control.\nIt can block access to web sites and restrict connection during a specified timeframe."
msgstr "Þetta tól veitir aðstoð við stillingar á eftirliti foreldra. Það getur lokað aðgangi að vefsíðum og takmarkað tengingar við ákveðna tíma."
#: ../bin/drakguard:116
@@ -97,7 +97,7 @@ msgstr "Virkja eftirlit foreldra"
#: ../bin/drakguard:120
#, c-format
-msgid "Control level"
+msgid "Obscenity sensibility"
msgstr "Stýriþrep"
#: ../bin/drakguard:129
diff --git a/po/it.po b/po/it.po
index bbb6d2c..ecccb5f 100644
--- a/po/it.po
+++ b/po/it.po
@@ -84,7 +84,7 @@ msgstr "Configurazione"
#: ../bin/drakguard:114
#, c-format
msgid ""
-"This tool allows to configure parental control. It can block access to web "
+"This tool allows to configure parental control.\nIt can block access to web "
"sites and restrict connection during a specified timeframe."
msgstr ""
"Questo strumento permette di configurare il filtro famiglia. Può bloccare "
@@ -102,7 +102,7 @@ msgstr "Abilita il filtro famiglia"
#: ../bin/drakguard:120
#, c-format
-msgid "Control level"
+msgid "Obscenity sensibility"
msgstr "Livello di controllo"
#: ../bin/drakguard:129
diff --git a/po/ja.po b/po/ja.po
index 7c57d7f..4d9f726 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -81,7 +81,7 @@ msgstr "設定"
#: ../bin/drakguard:114
#, c-format
msgid ""
-"This tool allows to configure parental control. It can block access to web "
+"This tool allows to configure parental control.\nIt can block access to web "
"sites and restrict connection during a specified timeframe."
msgstr ""
"このツールでパレンタルコントロールを設定します。好ましくないウェブサイトへの"
@@ -100,7 +100,7 @@ msgstr "パレンタルコントロールを有効にする"
#: ../bin/drakguard:120
#, c-format
-msgid "Control level"
+msgid "Obscenity sensibility"
msgstr "制限レベル"
#: ../bin/drakguard:129
diff --git a/po/ky.po b/po/ky.po
index 1e37c74..d0e371d 100644
--- a/po/ky.po
+++ b/po/ky.po
@@ -81,7 +81,7 @@ msgstr "Ырастоолор"
#: ../bin/drakguard:114
#, c-format
-msgid "This tool allows to configure parental control. It can block access to web sites and restrict connection during a specified timeframe."
+msgid "This tool allows to configure parental control.\nIt can block access to web sites and restrict connection during a specified timeframe."
msgstr "Бул аспап балдардан каршы коргонуу үчүн колдонулат. Апаптын жардамы менен веб-сайттарга жетүү укуктарын белгилөө жана Интернетте көрсөтүлгөн убакыт графиги менен иштөө укуктарын аныктаса болот."
#: ../bin/drakguard:116
@@ -96,7 +96,7 @@ msgstr "Ата-эне башкаруусун иштетүү"
#: ../bin/drakguard:120
#, c-format
-msgid "Control level"
+msgid "Obscenity sensibility"
msgstr "Башкаруу панели"
#: ../bin/drakguard:129
diff --git a/po/ms.po b/po/ms.po
index 18325b7..c2b8741 100644
--- a/po/ms.po
+++ b/po/ms.po
@@ -81,7 +81,7 @@ msgstr "Tetapan"
#: ../bin/drakguard:114
#, c-format
-msgid "This tool allows to configure parental control. It can block access to web sites and restrict connection during a specified timeframe."
+msgid "This tool allows to configure parental control.\nIt can block access to web sites and restrict connection during a specified timeframe."
msgstr "Alatan ini membenarkan untuk menetapkan kawalan ibubapa. Ia boleh menghalang akses ke laman web dan menghadkan sambungan ketika tempohmasa ditetapkan."
#: ../bin/drakguard:116
@@ -96,7 +96,7 @@ msgstr "Hidupkan kawalan dewasa"
#: ../bin/drakguard:120
#, c-format
-msgid "Control level"
+msgid "Obscenity sensibility"
msgstr "Tahap kawalan"
#: ../bin/drakguard:129
diff --git a/po/nb.po b/po/nb.po
index 7ef2843..921fd62 100644
--- a/po/nb.po
+++ b/po/nb.po
@@ -87,7 +87,7 @@ msgstr "Oppsett"
#: ../bin/drakguard:114
#, c-format
msgid ""
-"This tool allows to configure parental control. It can block access to web "
+"This tool allows to configure parental control.\nIt can block access to web "
"sites and restrict connection during a specified timeframe."
msgstr ""
"Dette verktøyet setter opp foreldrekontroll. Det kan blokkere tilgang til "
@@ -105,7 +105,7 @@ msgstr "Bruk foreldrekontroll"
#: ../bin/drakguard:120
#, c-format
-msgid "Control level"
+msgid "Obscenity sensibility"
msgstr "Kontrollnivå"
#: ../bin/drakguard:129
diff --git a/po/nl.po b/po/nl.po
index bfabf69..7fcc7b1 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -84,7 +84,7 @@ msgstr "Configuratie"
#: ../bin/drakguard:114
#, c-format
msgid ""
-"This tool allows to configure parental control. It can block access to web "
+"This tool allows to configure parental control.\nIt can block access to web "
"sites and restrict connection during a specified timeframe."
msgstr ""
"Met dit hulpmiddel kunt u ouderlijk toezicht instellen. Het kan de toegang "
@@ -103,7 +103,7 @@ msgstr "Ouderlijk toezicht activeren"
#: ../bin/drakguard:120
#, c-format
-msgid "Control level"
+msgid "Obscenity sensibility"
msgstr "Toezichtsniveau"
#: ../bin/drakguard:129
diff --git a/po/nn.po b/po/nn.po
index 03ea523..7e3b79a 100644
--- a/po/nn.po
+++ b/po/nn.po
@@ -82,7 +82,7 @@ msgstr "Oppsett"
#: ../bin/drakguard:114
#, c-format
msgid ""
-"This tool allows to configure parental control. It can block access to web "
+"This tool allows to configure parental control.\nIt can block access to web "
"sites and restrict connection during a specified timeframe."
msgstr ""
"Men dette verktøyet kan du setja opp foreldrekontroll for å blokkera tilgang "
@@ -100,7 +100,7 @@ msgstr "Bruk foreldrekontroll"
#: ../bin/drakguard:120
#, c-format
-msgid "Control level"
+msgid "Obscenity sensibility"
msgstr "Kontrollnivå"
#: ../bin/drakguard:129
diff --git a/po/pl.po b/po/pl.po
index 63516e6..0b373ae 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -84,7 +84,7 @@ msgstr "Konfiguracja"
#: ../bin/drakguard:114
#, c-format
msgid ""
-"This tool allows to configure parental control. It can block access to web "
+"This tool allows to configure parental control.\nIt can block access to web "
"sites and restrict connection during a specified timeframe."
msgstr ""
"Ten program umożliwia konfigurację zasad kontroli rodzicielskiej. Może "
@@ -103,7 +103,7 @@ msgstr "Włącz kontrolę rodzicielską"
#: ../bin/drakguard:120
#, c-format
-msgid "Control level"
+msgid "Obscenity sensibility"
msgstr "Poziom kontroli"
#: ../bin/drakguard:129
diff --git a/po/pt.po b/po/pt.po
index 7a4ec01..f6127f0 100644
--- a/po/pt.po
+++ b/po/pt.po
@@ -76,6 +76,21 @@ msgstr "Endereços permitidos"
msgid "Remove from whitelist"
msgstr "Remover da lista branca"
+#: ../bin/drakguard:106
+#, c-format
+msgid "Block programs"
+msgstr "Bloquear programas"
+
+#: ../bin/drakguard:107
+#, c-format
+msgid "Programs with blocked execution"
+msgstr "Programas com utilização bloqueada"
+
+#: ../bin/drakguard:108
+#, c-format
+msgid "Remove from blocked execution list"
+msgstr "Remover da lista de utilização bloqueada"
+
#: ../bin/drakguard:112
#, c-format
msgid "Configuration"
@@ -84,10 +99,10 @@ msgstr "Configuração"
#: ../bin/drakguard:114
#, c-format
msgid ""
-"This tool allows to configure parental control. It can block access to web "
+"This tool allows to configure parental control.\nIt can block access to web "
"sites and restrict connection during a specified timeframe."
msgstr ""
-"Esta ferramenta permite-lhe configurar o controlo parental. Pode bloquear o "
+"Esta ferramenta permite-lhe configurar o controlo parental.\nPode bloquear o "
"acesso a sítios web e restringir a conexão a determinados horários."
#: ../bin/drakguard:116
@@ -102,8 +117,8 @@ msgstr "Activar controlo parental"
#: ../bin/drakguard:120
#, c-format
-msgid "Control level"
-msgstr "Nível de controlo"
+msgid "Obscenity sensibility"
+msgstr "Sensibilidade a obscenidades"
#: ../bin/drakguard:129
#, c-format
@@ -122,6 +137,11 @@ msgstr "Permitir conexões apenas entre estes horários:"
#: ../bin/drakguard:145
#, c-format
+msgid "Block all network traffic"
+msgstr "Bloquear todo o tráfego de rede"
+
+#: ../bin/drakguard:145
+#, c-format
msgid "Start:"
msgstr "Início:"
@@ -140,8 +160,33 @@ msgstr "Adicionar"
msgid "Help"
msgstr "Ajuda"
+#: ../bin/drakguard:199
+#, c-format
+msgid "Blocked users"
+msgstr "Utilizadores bloqueados"
+
+#: ../bin/drakguard:215
+#, c-format
+msgid "Block defined applications"
+msgstr "Bloquear aplicações definidas"
+
+#: ../bin/drakguard:237
+#, c-format
+msgid "Unblock users"
+msgstr "Desbloquear utilizadores"
+
+#: ../bin/drakguard:240
+#, c-format
+msgid "Please select the program you want to control"
+msgstr "Por favor seleccione o programa que deseja controlar"
+
#: ../bin/drakguard:250
#, c-format
msgid "Please wait"
msgstr "Por favor aguarde"
+#: ../bin/drakguard:293
+#, c-format
+msgid "Invalid Binary Name"
+msgstr "Aplicação desconhecida"
+
diff --git a/po/pt_BR.po b/po/pt_BR.po
index 70a6a06..d46646f 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -103,7 +103,7 @@ msgstr "Controle dos pais"
#: ../bin/drakguard:120
#, c-format
-msgid "Control level"
+msgid "Obscenity sensibility"
msgstr "Nível de Controle"
#: ../bin/drakguard:129
diff --git a/po/ro.po b/po/ro.po
index 1bf2464..199d51c 100644
--- a/po/ro.po
+++ b/po/ro.po
@@ -119,7 +119,7 @@ msgstr "Configurare"
#: ../bin/drakguard:114
#, c-format
msgid ""
-"This tool allows to configure parental control. It can block access to web "
+"This tool allows to configure parental control.\nIt can block access to web "
"sites and restrict connection during a specified timeframe."
msgstr ""
"Acest asistent permite configurarea controlului parental. Se poate bloca "
@@ -138,7 +138,7 @@ msgstr "Activează controlul parental"
#: ../bin/drakguard:120
#, c-format
-msgid "Control level"
+msgid "Obscenity sensibility"
msgstr "Nivele de control"
#: ../bin/drakguard:129
diff --git a/po/ru.po b/po/ru.po
index 304718b..ba0efc5 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -86,7 +86,7 @@ msgstr "Настройка"
#: ../bin/drakguard:114
#, c-format
-msgid "This tool allows to configure parental control. It can block access to web sites and restrict connection during a specified timeframe."
+msgid "This tool allows to configure parental control.\nIt can block access to web sites and restrict connection during a specified timeframe."
msgstr "С помощью этой утилиты можно блокировать доступ детей к веб-сайтам и ограничивать время их работы в Интернете согласно определённому расписанию."
#: ../bin/drakguard:116
@@ -101,7 +101,7 @@ msgstr "Включить родительский контроль"
#: ../bin/drakguard:120
#, c-format
-msgid "Control level"
+msgid "Obscenity sensibility"
msgstr "Уровень контроля"
#: ../bin/drakguard:129
diff --git a/po/sl.po b/po/sl.po
index 3ec08a4..684b891 100644
--- a/po/sl.po
+++ b/po/sl.po
@@ -84,7 +84,7 @@ msgstr "Nastavitve"
#: ../bin/drakguard:114
#, c-format
msgid ""
-"This tool allows to configure parental control. It can block access to web "
+"This tool allows to configure parental control.\nIt can block access to web "
"sites and restrict connection during a specified timeframe."
msgstr ""
"To orodje omogoča nastavitev starševskega nadzora. Lahko blokirate dostop do "
@@ -102,7 +102,7 @@ msgstr "Omogoči starševski nadzor"
#: ../bin/drakguard:120
#, c-format
-msgid "Control level"
+msgid "Obscenity sensibility"
msgstr "Stopnja nadzora"
#: ../bin/drakguard:129
diff --git a/po/sv.po b/po/sv.po
index 3cd4c8d..67795ea 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -82,7 +82,7 @@ msgstr "Konfiguration"
#: ../bin/drakguard:114
#, c-format
-msgid "This tool allows to configure parental control. It can block access to web sites and restrict connection during a specified timeframe."
+msgid "This tool allows to configure parental control.\nIt can block access to web sites and restrict connection during a specified timeframe."
msgstr "Detta verktyg konfigurerar föräldrakontroll. Det kan blockera access till webbsidor och begränsa åtkomst enligt specifierad tidsram."
#: ../bin/drakguard:116
@@ -97,7 +97,7 @@ msgstr "Aktivera föräldrakontroll"
#: ../bin/drakguard:120
#, c-format
-msgid "Control level"
+msgid "Obscenity sensibility"
msgstr "Kontrollnivå"
#: ../bin/drakguard:129
diff --git a/po/tr.po b/po/tr.po
index 8ef7ea3..1427bee 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -82,7 +82,7 @@ msgstr "Yapılandırma"
#: ../bin/drakguard:114
#, c-format
-msgid "This tool allows to configure parental control. It can block access to web sites and restrict connection during a specified timeframe."
+msgid "This tool allows to configure parental control.\nIt can block access to web sites and restrict connection during a specified timeframe."
msgstr "Bu araç ebeveyn denetimini yapılandırmaya izin verir. Belirli bir zaman aralığı süresince bağlantıyı kısıtlayabilir ve web sitelerine erişimi engelleyebilir."
#: ../bin/drakguard:116
@@ -97,7 +97,7 @@ msgstr "Ebeveyn denetimini etkinleştir"
#: ../bin/drakguard:120
#, c-format
-msgid "Control level"
+msgid "Obscenity sensibility"
msgstr "Denetim seviyesi"
#: ../bin/drakguard:129
diff --git a/po/uk.po b/po/uk.po
index fe919b5..cadeaca 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -82,7 +82,7 @@ msgstr "Налаштування"
#: ../bin/drakguard:114
#, c-format
-msgid "This tool allows to configure parental control. It can block access to web sites and restrict connection during a specified timeframe."
+msgid "This tool allows to configure parental control.\nIt can block access to web sites and restrict connection during a specified timeframe."
msgstr "Цей інструмент дає змогу налаштувати контроль батьків. Можливо заблокувати доступ до веб-сайтів і заборонити з'єднання протягом вказаного часу."
#: ../bin/drakguard:116
@@ -97,7 +97,7 @@ msgstr "Увімкнути контроль батьків"
#: ../bin/drakguard:120
#, c-format
-msgid "Control level"
+msgid "Obscenity sensibility"
msgstr "Рівень контролю"
#: ../bin/drakguard:129
diff --git a/po/zh_CN.po b/po/zh_CN.po
index 70f98a8..d153bc8 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -80,7 +80,7 @@ msgstr "配置"
#: ../bin/drakguard:114
#, c-format
msgid ""
-"This tool allows to configure parental control. It can block access to web "
+"This tool allows to configure parental control.\nIt can block access to web "
"sites and restrict connection during a specified timeframe."
msgstr ""
"此工具允许配置家长控制,其功能在于屏蔽部分网站的访问,并在特定时间段内限制连"
@@ -98,7 +98,7 @@ msgstr "允许家长控制"
#: ../bin/drakguard:120
#, c-format
-msgid "Control level"
+msgid "Obscenity sensibility"
msgstr "控制级别"
#: ../bin/drakguard:129
diff --git a/po/zh_TW.po b/po/zh_TW.po
index e3796fd..323725c 100644
--- a/po/zh_TW.po
+++ b/po/zh_TW.po
@@ -82,7 +82,7 @@ msgstr "組態設定"
#: ../bin/drakguard:114
#, c-format
msgid ""
-"This tool allows to configure parental control. It can block access to web "
+"This tool allows to configure parental control.\nIt can block access to web "
"sites and restrict connection during a specified timeframe."
msgstr ""
"這個工具讓您可以設定家長控制。它可以封鎖連線到網站,以及限制可以連線的時段。"
@@ -99,7 +99,7 @@ msgstr "啟用家長控制"
#: ../bin/drakguard:120
#, c-format
-msgid "Control level"
+msgid "Obscenity sensibility"
msgstr "控制層級"
#: ../bin/drakguard:129