mirror of
https://github.com/webmin/webmin.git
synced 2026-02-03 22:23:28 +00:00
Compare commits
239 Commits
2.110
...
dev/separa
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
05752faec0 | ||
|
|
1cf3813fb6 | ||
|
|
1216ae709b | ||
|
|
a7b3af534b | ||
|
|
87e006ceeb | ||
|
|
fbee8f0588 | ||
|
|
e077b4da94 | ||
|
|
38efad8265 | ||
|
|
4d2a1fa084 | ||
|
|
13b2eca3b1 | ||
|
|
aa4c3b1de6 | ||
|
|
edaab4fd6f | ||
|
|
6fded0862c | ||
|
|
4006b0454e | ||
|
|
5d4ab58baa | ||
|
|
e6c7a60fe6 | ||
|
|
a75781d61a | ||
|
|
45348f5b02 | ||
|
|
548c078813 | ||
|
|
76ccb2b7ed | ||
|
|
61d2081371 | ||
|
|
458916b4d8 | ||
|
|
37451ad905 | ||
|
|
9eec58a1f1 | ||
|
|
178f527afa | ||
|
|
cd1555b3e1 | ||
|
|
2d7cfca67f | ||
|
|
e92a35b3ed | ||
|
|
e35efd0f00 | ||
|
|
a12f385a5b | ||
|
|
5dc7cfafd7 | ||
|
|
35aee74311 | ||
|
|
d04dfdf157 | ||
|
|
41f1adf0df | ||
|
|
1ae01bed8d | ||
|
|
4a6f5d9a6a | ||
|
|
bb3a4bc1e8 | ||
|
|
084c117547 | ||
|
|
0221a092b9 | ||
|
|
535d4173b3 | ||
|
|
20d481e96b | ||
|
|
0256ee47f2 | ||
|
|
6af5ed6e2f | ||
|
|
abeff44b1a | ||
|
|
35298efd8a | ||
|
|
3fa687e716 | ||
|
|
43fc057484 | ||
|
|
70e9a1c00b | ||
|
|
d21188c2ad | ||
|
|
a780103e2f | ||
|
|
4014293760 | ||
|
|
ba3be31335 | ||
|
|
adb3d0bb67 | ||
|
|
cd9bc8b7c4 | ||
|
|
e1ebcf0506 | ||
|
|
17a27dbe00 | ||
|
|
e36e943251 | ||
|
|
95ee1e2f2d | ||
|
|
37cde80bbe | ||
|
|
45852664fe | ||
|
|
00885b1f76 | ||
|
|
cce8911f0f | ||
|
|
3a151469c7 | ||
|
|
e3b94dc458 | ||
|
|
cde548ada3 | ||
|
|
00d0a89630 | ||
|
|
9c971202b3 | ||
|
|
2aa3bce4da | ||
|
|
4103177d1e | ||
|
|
31b6cdc82b | ||
|
|
fd8c634277 | ||
|
|
596ba13b1e | ||
|
|
5e684bf41b | ||
|
|
356c8f7f53 | ||
|
|
185465351a | ||
|
|
8d84e7313a | ||
|
|
71e37adfed | ||
|
|
af912d9539 | ||
|
|
5b31c7df84 | ||
|
|
55b5939194 | ||
|
|
00ddfd4d05 | ||
|
|
2d23a3503e | ||
|
|
a838d11a26 | ||
|
|
5f28a28d8d | ||
|
|
e13df24539 | ||
|
|
4f7924338d | ||
|
|
3a1d609579 | ||
|
|
e441427031 | ||
|
|
469857a41e | ||
|
|
e47c82e7e8 | ||
|
|
a0f6dd935c | ||
|
|
e302b706ec | ||
|
|
8c7fc88d51 | ||
|
|
7b4d905eb6 | ||
|
|
a1a6f669b2 | ||
|
|
0298d884ef | ||
|
|
5a8b3467a1 | ||
|
|
17fb8304c3 | ||
|
|
5cd88dad43 | ||
|
|
c15e7a5e5e | ||
|
|
fad464be47 | ||
|
|
489db4c769 | ||
|
|
cc663af3df | ||
|
|
0b58cd5197 | ||
|
|
dbd16c21cc | ||
|
|
8ddabb35b6 | ||
|
|
8476206da8 | ||
|
|
e0085e82d4 | ||
|
|
b697c134f1 | ||
|
|
5d363d60fe | ||
|
|
f06bc871dc | ||
|
|
45e16aeeac | ||
|
|
9be50b5aef | ||
|
|
80c7c7794c | ||
|
|
decb55b8ff | ||
|
|
d061a190ac | ||
|
|
6d89004446 | ||
|
|
9817085c70 | ||
|
|
ca3362ee84 | ||
|
|
e88ba87eae | ||
|
|
a420c7142f | ||
|
|
6f37dc94bf | ||
|
|
c59a200725 | ||
|
|
e56aa7711c | ||
|
|
b480b4caa3 | ||
|
|
db456ad458 | ||
|
|
9513d85157 | ||
|
|
68b547d55a | ||
|
|
dccc3fb10e | ||
|
|
d6bed07aae | ||
|
|
bb7938a0f5 | ||
|
|
8164480b48 | ||
|
|
4155fdb4c5 | ||
|
|
19efd89c28 | ||
|
|
f911137624 | ||
|
|
d4ac34e4b5 | ||
|
|
5323bda372 | ||
|
|
1b1ac686e3 | ||
|
|
75e9323429 | ||
|
|
554b439bf8 | ||
|
|
2f9a0b3f21 | ||
|
|
f457b971a7 | ||
|
|
f5252d3f09 | ||
|
|
60a9419cc3 | ||
|
|
cc2502737f | ||
|
|
0cbd11335d | ||
|
|
f9198b0fbd | ||
|
|
bb24e2bbdd | ||
|
|
a86eb6ff46 | ||
|
|
d2420038f9 | ||
|
|
26625786cb | ||
|
|
3f2023d174 | ||
|
|
6b190a6cba | ||
|
|
5c465a587c | ||
|
|
61f631c1f7 | ||
|
|
40c1c30ae2 | ||
|
|
d805878186 | ||
|
|
84d46adcee | ||
|
|
b740f9850b | ||
|
|
2641985b98 | ||
|
|
736e514766 | ||
|
|
5ab6ce618d | ||
|
|
1c8257ecff | ||
|
|
ebfd1e9e51 | ||
|
|
70dede0e22 | ||
|
|
35e9f0a01d | ||
|
|
0c8777acef | ||
|
|
04523fdb86 | ||
|
|
b83bcc4723 | ||
|
|
b9bb060250 | ||
|
|
f49f8f2fb1 | ||
|
|
801f1f61d8 | ||
|
|
ede9921ea4 | ||
|
|
cbd7a91d5c | ||
|
|
36c8aa5e7d | ||
|
|
7881b1c6c2 | ||
|
|
4a918ee504 | ||
|
|
078d3acb98 | ||
|
|
6a521ea32c | ||
|
|
0c0639d2e9 | ||
|
|
1c8cee607e | ||
|
|
4ac3a675e8 | ||
|
|
35dfcbe456 | ||
|
|
1d5900eb70 | ||
|
|
e2d6caf359 | ||
|
|
1cc640a8e2 | ||
|
|
13442d4aa4 | ||
|
|
677b39bd61 | ||
|
|
0dc1af46f2 | ||
|
|
bff3e78630 | ||
|
|
d9d4522430 | ||
|
|
0bd657978f | ||
|
|
d59c49b6ce | ||
|
|
fae522a28e | ||
|
|
9dcb1da4f5 | ||
|
|
591161560a | ||
|
|
799ccb3683 | ||
|
|
4e5da791e2 | ||
|
|
4db36071b3 | ||
|
|
8de5c83ca8 | ||
|
|
9b496bf413 | ||
|
|
985129bb70 | ||
|
|
f1804201e6 | ||
|
|
0b1e5f87e1 | ||
|
|
1e94a328ba | ||
|
|
bac62e03c7 | ||
|
|
b1a6beda22 | ||
|
|
b57d57b729 | ||
|
|
cd46f97288 | ||
|
|
1f2a7902c6 | ||
|
|
975ae7b497 | ||
|
|
f252296471 | ||
|
|
f33b433b96 | ||
|
|
6eb674b451 | ||
|
|
690bae82fc | ||
|
|
575c1ca5a3 | ||
|
|
97e4545c58 | ||
|
|
73150b7818 | ||
|
|
c72a24369c | ||
|
|
ed7ac533d4 | ||
|
|
6df08bc645 | ||
|
|
54d2766960 | ||
|
|
c22f7fa8af | ||
|
|
da285e9804 | ||
|
|
db42daab77 | ||
|
|
e2cf926097 | ||
|
|
6f1b0db855 | ||
|
|
1f99616848 | ||
|
|
d10d98421e | ||
|
|
827e02d47d | ||
|
|
1bee7442a6 | ||
|
|
d165a4740a | ||
|
|
4126264a63 | ||
|
|
0d390df894 | ||
|
|
eda29478de | ||
|
|
ea98188a63 | ||
|
|
f6b3bb2ca5 | ||
|
|
f25c71f625 | ||
|
|
657113d0c8 |
@@ -1,6 +1,9 @@
|
||||
## Changelog
|
||||
|
||||
#### 2.110 (April 16, 2024)
|
||||
#### 2.111 (April 16, 2024)
|
||||
* Fix EOL detection for unreleased Linux distributions
|
||||
|
||||
#### 2.110 (April 15, 2024)
|
||||
* Add an API to check if the system is running or approaching its end of life (EOL)
|
||||
* Add support for `systemd-timesyncd` and `chronyd` to the System Time module
|
||||
* Add Ubuntu 24.04 support
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -74,7 +74,7 @@ backup_eserver2=Missing or invalid SSH server
|
||||
backup_epath=Missing or invalid absolute path on FTP server
|
||||
backup_epath2=Missing or invalid absolute path on SSH server
|
||||
backup_euser=Invalid characters in FTP server login
|
||||
backup_epass=Invalid characters in FTP server password
|
||||
backup_epass=Invalid characters in FTP server password - @, : and / cannot be used
|
||||
backup_eport=Missing or invalid FTP server port
|
||||
backup_esport=Missing or invalid SSH server port
|
||||
backup_emods=No modules selected
|
||||
|
||||
@@ -64,12 +64,12 @@ our $dnssec_dlv_zone = "dlv.isc.org.";
|
||||
our @dnssec_dlv_key = ( 257, 3, 5, '"BEAAAAPHMu/5onzrEE7z1egmhg/WPO0+juoZrW3euWEn4MxDCE1+lLy2brhQv5rN32RKtMzX6Mj70jdzeND4XknW58dnJNPCxn8+jAGl2FZLK8t+1uq4W+nnA3qO2+DL+k6BD4mewMLbIYFwe0PG73Te9fZ2kJb56dhgMde5ymX4BI/oQ+cAK50/xvJv00Frf8kw6ucMTwFlgPe+jnGxPPEmHAte/URkY62ZfkLoBAADLHQ9IrS2tryAe7mbBZVcOwIeU/Rw/mRx/vwwMCTgNboMQKtUdvNXDrYJDSHZws3xiRXF1Rf+al9UmZfSav/4NWLKjHzpT59k/VStTDN0YUuWrBNh"' );
|
||||
|
||||
my $rand_flag;
|
||||
if ($gconfig{'os_type'} =~ /-linux$/ &&
|
||||
if ($gconfig{'os_type'} =~ /-linux$/ &&
|
||||
$config{'force_random'} eq '0' &&
|
||||
-r "/dev/urandom" &&
|
||||
$bind_version =~ /^9\./ &&
|
||||
&compare_version_numbers($bind_version, '<', '9.14.2')) {
|
||||
# Version: 9.14.2 deprecated the use of -r option
|
||||
# Version: 9.14.2 deprecated the use of -r option
|
||||
# in favor of using /dev/random [bugs:#5370]
|
||||
$rand_flag = "-r /dev/urandom";
|
||||
}
|
||||
@@ -1006,7 +1006,7 @@ else {
|
||||
}
|
||||
|
||||
if ($access{'dironly'}) {
|
||||
# Check directory access control
|
||||
# Check directory access control
|
||||
return 1 if (!$file);
|
||||
$file = &absolute_path($file);
|
||||
return 0 if (!&allowed_zone_file(\%access, $file));
|
||||
@@ -1336,9 +1336,9 @@ elsif ($type eq "DMARC") {
|
||||
print &ui_table_row($text{'value_dmarcfo'},
|
||||
&ui_select("dmarcfo", $dmarc->{'fo'},
|
||||
[ [ undef, $text{'default'} ],
|
||||
[ 0, $text{'value_dmarcfo0'} ],
|
||||
[ 1, $text{'value_dmarcfo1'} ],
|
||||
[ 'd', $text{'value_dmarcfod'} ],
|
||||
[ 0, $text{'value_dmarcfo0'} ],
|
||||
[ 1, $text{'value_dmarcfo1'} ],
|
||||
[ 'd', $text{'value_dmarcfod'} ],
|
||||
[ 's', $text{'value_dmarcfos'} ] ]));
|
||||
}
|
||||
elsif ($type eq "NSEC3PARAM") {
|
||||
@@ -1492,7 +1492,7 @@ return 1;
|
||||
|
||||
# expand_ip6(ip)
|
||||
# Transform compact (with ::) IPv6 address to the unique expanded form
|
||||
# (without :: and leading zeroes in all parts)
|
||||
# (without :: and leading zeroes in all parts)
|
||||
sub expand_ip6
|
||||
{
|
||||
my ($ip) = @_;
|
||||
@@ -1508,7 +1508,7 @@ return $ip;
|
||||
}
|
||||
|
||||
# expandall_ip6(ip)
|
||||
# Transform IPv6 address to the expanded form containing all internal 0's
|
||||
# Transform IPv6 address to the expanded form containing all internal 0's
|
||||
sub expandall_ip6
|
||||
{
|
||||
my ($ip) = @_;
|
||||
@@ -1519,7 +1519,7 @@ $ip =~ s/(:|^)(\w)(?=:|$)/:000$2/g;
|
||||
return $ip;
|
||||
}
|
||||
|
||||
sub time_unit_choice
|
||||
sub time_unit_choice
|
||||
{
|
||||
my ($name, $value) = @_;
|
||||
return &ui_select($name, $value =~ /^(S?)$/i ? "" :
|
||||
@@ -1988,6 +1988,8 @@ if (@transfer) {
|
||||
}
|
||||
}
|
||||
if (@notify) {
|
||||
my %done;
|
||||
@notify = grep { !$done{$_->{'name'}}++ } @notify;
|
||||
my $also = { 'name' => 'also-notify',
|
||||
'type' => 1,
|
||||
'members' => \@notify};
|
||||
@@ -1996,6 +1998,8 @@ if (@notify) {
|
||||
'values' => [ 'yes' ] });
|
||||
}
|
||||
if (@transfer) {
|
||||
my %done;
|
||||
@transfer = grep { !$done{$_->{'name'}}++ } @transfer;
|
||||
my $allow = { 'name' => 'allow-transfer',
|
||||
'type' => 1,
|
||||
'members' => \@transfer };
|
||||
@@ -2636,7 +2640,7 @@ my $parent = &get_config_parent();
|
||||
my $bconf = &get_config();
|
||||
my $conf = $bconf;
|
||||
if ($zone->{'viewindex'} ne '') {
|
||||
my $view = $conf->[$zone->{'viewindex'}];
|
||||
my $view = $conf->[$zone->{'viewindex'}];
|
||||
$conf = $view->{'members'};
|
||||
$parent = $view;
|
||||
}
|
||||
@@ -2905,7 +2909,7 @@ foreach my $slave (@slaves) {
|
||||
}
|
||||
if ($config{'extra_slaves'}) {
|
||||
push(@otherslaves,
|
||||
grep { $_ ne '' }
|
||||
grep { $_ ne '' }
|
||||
map { &to_ipaddress($_) || &to_ip6address($_) }
|
||||
split(/\s+/, $config{'extra_slaves'}));
|
||||
}
|
||||
@@ -3323,7 +3327,7 @@ return &has_command($config{'signzone'}) &&
|
||||
}
|
||||
|
||||
# supports_dnssec_client()
|
||||
# Returns 2 if this BIND can send and verify DNSSEC requests, 1 if the
|
||||
# Returns 2 if this BIND can send and verify DNSSEC requests, 1 if the
|
||||
# dnssec-validation directive is not supported, 0 otherwise
|
||||
sub supports_dnssec_client
|
||||
{
|
||||
@@ -3348,13 +3352,15 @@ return $alg eq 'RSASHA256' ? ( 2048, 4096 ) :
|
||||
$alg eq 'NSEC3DSA' ? ( 512, 1024, 64 ) :
|
||||
$alg eq 'ECDSAP256SHA256' ? ( 128, 512 ) :
|
||||
$alg eq 'ECDSAP384SHA384' ? ( 128, 512 ) :
|
||||
$alg eq 'ED25519' ? ( 1, 512 ) :
|
||||
$alg eq 'ED448' ? ( 1, 512 ) :
|
||||
( );
|
||||
}
|
||||
|
||||
sub list_dnssec_algorithms
|
||||
{
|
||||
return ("RSASHA1", "RSASHA256", "RSAMD5", "DSA", "DH", "HMAC-MD5",
|
||||
"NSEC3RSASHA1", "NSEC3DSA", "ECDSAP256SHA256", "ECDSAP384SHA384");
|
||||
"NSEC3RSASHA1", "NSEC3DSA", "ECDSAP256SHA256", "ECDSAP384SHA384", "ED25519", "ED448");
|
||||
}
|
||||
|
||||
# get_keys_dir(&zone|&zone-name)
|
||||
@@ -3641,7 +3647,7 @@ while($tries++ < 10) {
|
||||
$out = &backquote_logged(
|
||||
"cd ".quotemeta($dir)." && ".
|
||||
"$config{'signzone'} -o ".quotemeta($dom).
|
||||
($alg =~ /^(NSEC3|RSASHA256|RSASHA512|ECCGOST|ECDSAP256SHA256|ECDSAP384SHA384)/ ? " -3 - -u" : "").
|
||||
($alg =~ /^(NSEC3|RSASHA256|RSASHA512|ECCGOST|ECDSAP256SHA256|ECDSAP384SHA384|ED25519|ED448)/ ? " -3 - -u" : "").
|
||||
" -f ".quotemeta($signed)." ".
|
||||
quotemeta($chrootfn)." 2>&1");
|
||||
last if (!$?);
|
||||
@@ -3713,11 +3719,11 @@ my ($z, $recs, $bump) = @_;
|
||||
|
||||
# Check if zones are managed by dnssec-tools
|
||||
my $dom = $z->{'members'} ? $z->{'values'}->[0] : $z->{'name'};
|
||||
|
||||
# If zone is managed through dnssec-tools use zonesigner for resigning the zone
|
||||
|
||||
# If zone is managed through dnssec-tools use zonesigner for resigning the zone
|
||||
if (&check_if_dnssec_tools_managed($dom)) {
|
||||
# Do the signing
|
||||
my $zonefile = &get_zone_file($z);
|
||||
my $zonefile = &get_zone_file($z);
|
||||
my $krfile = "$zonefile".".krf";
|
||||
|
||||
&lock_file(&make_chroot($zonefile));
|
||||
@@ -3899,21 +3905,21 @@ return \%rv;
|
||||
}
|
||||
|
||||
sub get_dnssectools_config
|
||||
{
|
||||
{
|
||||
&lock_file($config{'dnssectools_conf'});
|
||||
my $lref = &read_file_lines($config{'dnssectools_conf'});
|
||||
my @rv;
|
||||
my $lnum = 0;
|
||||
my $lref = &read_file_lines($config{'dnssectools_conf'});
|
||||
my @rv;
|
||||
my $lnum = 0;
|
||||
foreach my $line (@$lref) {
|
||||
my ($n, $v) = split(/\s+/, $line, 2);
|
||||
my ($n, $v) = split(/\s+/, $line, 2);
|
||||
# Do basic sanity checking
|
||||
$v =~ /(\S+)/;
|
||||
$v = $1;
|
||||
if ($n) {
|
||||
push(@rv, { 'name' => $n, 'value' => $v, 'line' => $lnum });
|
||||
}
|
||||
}
|
||||
$lnum++;
|
||||
}
|
||||
}
|
||||
&flush_file_lines();
|
||||
&unlock_file($config{'dnssectools_conf'});
|
||||
return \@rv;
|
||||
@@ -3928,7 +3934,7 @@ sub save_dnssectools_directive
|
||||
|
||||
&lock_file($config{'dnssectools_conf'});
|
||||
my $lref = &read_file_lines($config{'dnssectools_conf'});
|
||||
|
||||
|
||||
foreach my $n (keys %$nv) {
|
||||
my $old = &find($n, $conf);
|
||||
if ($old) {
|
||||
@@ -3952,14 +3958,14 @@ sub list_dnssec_dne
|
||||
}
|
||||
|
||||
# list_dnssec_dshash()
|
||||
# return a list containing the different DS record hash types
|
||||
# return a list containing the different DS record hash types
|
||||
sub list_dnssec_dshash
|
||||
{
|
||||
return ("SHA1", "SHA256");
|
||||
return ("SHA1", "SHA256");
|
||||
}
|
||||
|
||||
# schedule_dnssec_cronjob()
|
||||
# schedule a cron job to handle periodic resign operations
|
||||
# schedule a cron job to handle periodic resign operations
|
||||
sub schedule_dnssec_cronjob
|
||||
{
|
||||
my $job;
|
||||
@@ -3992,7 +3998,7 @@ sub schedule_dnssec_cronjob
|
||||
&unlock_file($module_config_file);
|
||||
}
|
||||
|
||||
# dt_sign_zone(zone, nsec3)
|
||||
# dt_sign_zone(zone, nsec3)
|
||||
# Replaces a zone's file with one containing signed records.
|
||||
sub dt_sign_zone
|
||||
{
|
||||
@@ -4031,9 +4037,9 @@ sub dt_sign_zone
|
||||
$recs[$i]->{'type'} eq 'RRSIG' ||
|
||||
$recs[$i]->{'type'} eq 'DNSKEY') {
|
||||
&delete_record($z, $recs[$i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
©_source_dest($z_chroot, $usz);
|
||||
©_source_dest($z_chroot, $usz);
|
||||
|
||||
$cmd = "$zonesigner $nsec3param".
|
||||
" -genkeys ".
|
||||
@@ -4075,13 +4081,13 @@ sub dt_sign_zone
|
||||
|
||||
rollrec_unlock();
|
||||
&unlock_file($z_chroot);
|
||||
|
||||
|
||||
&dt_rollerd_restart();
|
||||
&restart_bind();
|
||||
return undef;
|
||||
}
|
||||
|
||||
# dt_resign_zone(zone-name, zonefile, krfile, threshold)
|
||||
# dt_resign_zone(zone-name, zonefile, krfile, threshold)
|
||||
# Replaces a zone's file with one containing signed records.
|
||||
sub dt_resign_zone
|
||||
{
|
||||
@@ -4102,7 +4108,7 @@ sub dt_resign_zone
|
||||
rollrec_lock();
|
||||
|
||||
# Remove DNSSEC records and save the unsigned zone file
|
||||
@recs = &read_zone_file($z, $d);
|
||||
@recs = &read_zone_file($z, $d);
|
||||
my $tools = &have_dnssec_tools_support();
|
||||
for(my $i=$#recs; $i>=0; $i--) {
|
||||
if ($recs[$i]->{'type'} eq 'NSEC' ||
|
||||
@@ -4111,12 +4117,12 @@ sub dt_resign_zone
|
||||
$recs[$i]->{'type'} eq 'RRSIG' ||
|
||||
$recs[$i]->{'type'} eq 'DNSKEY') {
|
||||
&delete_record($z, $recs[$i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
©_source_dest($z_chroot, $usz);
|
||||
©_source_dest($z_chroot, $usz);
|
||||
|
||||
if ($t > 0) {
|
||||
$threshold = "-threshold ".quotemeta("-$t"."d"." ");
|
||||
$threshold = "-threshold ".quotemeta("-$t"."d"." ");
|
||||
}
|
||||
|
||||
$cmd = "$zonesigner -verbose -verbose".
|
||||
@@ -4139,7 +4145,7 @@ sub dt_resign_zone
|
||||
}
|
||||
|
||||
# dt_zskroll_zone(zone-name)
|
||||
# Initiates a zsk rollover operation for the zone
|
||||
# Initiates a zsk rollover operation for the zone
|
||||
sub dt_zskroll_zone
|
||||
{
|
||||
my ($d) = @_;
|
||||
@@ -4152,7 +4158,7 @@ sub dt_zskroll_zone
|
||||
}
|
||||
|
||||
# dt_kskroll_zone(zone-name)
|
||||
# Initiates a ksk rollover operation for the zone
|
||||
# Initiates a ksk rollover operation for the zone
|
||||
sub dt_kskroll_zone
|
||||
{
|
||||
my ($d) = @_;
|
||||
@@ -4165,7 +4171,7 @@ sub dt_kskroll_zone
|
||||
}
|
||||
|
||||
# dt_notify_parentzone(zone-name)
|
||||
# Notifies rollerd that the new DS record has been published in the parent zone
|
||||
# Notifies rollerd that the new DS record has been published in the parent zone
|
||||
sub dt_notify_parentzone
|
||||
{
|
||||
my ($d) = @_;
|
||||
@@ -4178,7 +4184,7 @@ sub dt_notify_parentzone
|
||||
}
|
||||
|
||||
# dt_rollerd_restart()
|
||||
# Restart the rollerd daemon
|
||||
# Restart the rollerd daemon
|
||||
sub dt_rollerd_restart
|
||||
{
|
||||
my $rollerd;
|
||||
@@ -4190,7 +4196,7 @@ sub dt_rollerd_restart
|
||||
return $text{'dt_zone_enocmd'};
|
||||
}
|
||||
rollmgr_halt();
|
||||
$r = $config{"dnssectools_rollrec"};
|
||||
$r = $config{"dnssectools_rollrec"};
|
||||
$cmd = "$rollerd -rrfile ".quotemeta($r);
|
||||
&execute_command($cmd);
|
||||
return undef;
|
||||
@@ -4218,9 +4224,9 @@ sub dt_genkrf
|
||||
# Identify if this is a zsk or a ksk
|
||||
$key->{$f} =~ /(K\Q$dom\E\.\+\d+\+\d+)/;
|
||||
if ($key->{'ksk'}) {
|
||||
$kskcur = $1;
|
||||
$kskcur = $1;
|
||||
} else {
|
||||
$zskcur = $1;
|
||||
$zskcur = $1;
|
||||
}
|
||||
©_source_dest($key->{$f}, $keydir);
|
||||
&unlink_file($key->{$f});
|
||||
@@ -4231,7 +4237,7 @@ sub dt_genkrf
|
||||
return &text('dt_zone_enokey', $dom);
|
||||
}
|
||||
|
||||
# Remove the older dsset file
|
||||
# Remove the older dsset file
|
||||
if ($oldkeydir) {
|
||||
&unlink_file($oldkeydir."/"."dsset-".$dom.".");
|
||||
}
|
||||
@@ -4257,7 +4263,7 @@ sub dt_genkrf
|
||||
|
||||
|
||||
# dt_delete_dnssec_state(&zone)
|
||||
# Delete all DNSSEC-Tools meta-data for a given zone
|
||||
# Delete all DNSSEC-Tools meta-data for a given zone
|
||||
sub dt_delete_dnssec_state
|
||||
{
|
||||
my ($zone) = @_;
|
||||
@@ -4307,14 +4313,14 @@ sub dt_delete_dnssec_state
|
||||
$recs[$i]->{'type'} eq 'RRSIG' ||
|
||||
$recs[$i]->{'type'} eq 'DNSKEY') {
|
||||
&delete_record($z, $recs[$i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
&bump_soa_record($z, \@recs);
|
||||
|
||||
|
||||
&unlock_file($z_chroot);
|
||||
rollrec_unlock();
|
||||
|
||||
&dt_rollerd_restart();
|
||||
&dt_rollerd_restart();
|
||||
&restart_bind();
|
||||
} else {
|
||||
# Just delete the dsset- file
|
||||
@@ -4481,4 +4487,3 @@ return $r;
|
||||
}
|
||||
|
||||
1;
|
||||
|
||||
|
||||
@@ -17,7 +17,6 @@ $access{'defaults'} || &error($text{'trusted_ecannot'});
|
||||
my $conf = &get_config();
|
||||
my $options = &find("options", $conf);
|
||||
my $mems = $options->{'members'};
|
||||
my @dlv = &find("dnssec-lookaside", $mems);
|
||||
my $tkeys = &find("trusted-keys", $conf);
|
||||
$tkeys ||= { 'members' => [ ] };
|
||||
|
||||
@@ -38,33 +37,6 @@ if (&supports_dnssec_client() == 2) {
|
||||
$text{'default'}, undef);
|
||||
}
|
||||
|
||||
# Trusted DLVs (obsolete)
|
||||
if (@dlv) {
|
||||
my @dtable = ( );
|
||||
my $i = 0;
|
||||
foreach my $d (@dlv, { 'values' => [ '.' ] }) {
|
||||
my $dlv = $d->{'values'}->[0];
|
||||
$dlv = "" if ($dlv eq ".");
|
||||
push(@dtable, [
|
||||
&ui_opt_textbox("anchor_$i", $d->{'values'}->[2],
|
||||
30, $text{'trusted_none'}),
|
||||
&ui_opt_textbox("dlv_$i", $dlv, 20,
|
||||
$text{'trusted_root'}) ]);
|
||||
$i++;
|
||||
}
|
||||
print &ui_table_row($text{'trusted_dlvs'},
|
||||
&ui_radio("dlv_auto",
|
||||
@dlv == 0 ? 2 :
|
||||
@dlv == 1 && $dlv[0]->{'values'}->[0] eq 'auto' ? 1 : 0,
|
||||
[ [ 1, $text{'trusted_dlvs1'} ],
|
||||
[ 2, $text{'trusted_dlvs2'} ],
|
||||
[ 0, $text{'trusted_dlvs0'} ] ])."<br>\n".
|
||||
&ui_columns_table([ $text{'trusted_anchor'},
|
||||
$text{'trusted_dlv'} ],
|
||||
undef,
|
||||
\@dtable), 3);
|
||||
}
|
||||
|
||||
# Trusted keys
|
||||
if (@{$tkeys->{'members'}}) {
|
||||
my @ktable = ( );
|
||||
|
||||
@@ -40,6 +40,7 @@ if (@keyrecs) {
|
||||
my $kt = $key->{'ksk'} ? 'ksk' : 'zone';
|
||||
my ($keyrec) = grep { $_->{'values'}->[0] ==
|
||||
($key->{'ksk'} ? 257 : 256) } @keyrecs;
|
||||
next if (!$keyrec);
|
||||
my $keyline = format_dnssec_public_key(
|
||||
join(" ", $keyrec->{'name'}, $keyrec->{'class'},
|
||||
$keyrec->{'type'}, @{$keyrec->{'values'}}));
|
||||
|
||||
@@ -24,46 +24,6 @@ if (&supports_dnssec_client() == 2) {
|
||||
&save_choice("dnssec-validation", $options, 1);
|
||||
}
|
||||
|
||||
# Save DLV zones
|
||||
if (defined($in{'dlv_auto'})) {
|
||||
my @dlvs = ( );
|
||||
if ($in{'dlv_auto'} == 1) {
|
||||
# Automatic mode
|
||||
push(@dlvs, { 'name' => 'dnssec-lookaside',
|
||||
'values' => [ 'auto' ] });
|
||||
}
|
||||
elsif ($in{'dlv_auto'} == 0) {
|
||||
# Listed zones
|
||||
my $dlv;
|
||||
for(my $i=0; defined($in{"anchor_$i"}); $i++) {
|
||||
if (!$in{"anchor_${i}_def"}) {
|
||||
$in{"anchor_$i"} =~ /^[a-z0-9\.\-\_]+$/ ||
|
||||
&error(&text('trusted_eanchor', $i+1));
|
||||
$in{"anchor_$i"} .= "."
|
||||
if ($in{"anchor_$i"} !~ /\.$/);
|
||||
if ($in{"dlv_${i}_def"}) {
|
||||
$dlv = ".";
|
||||
}
|
||||
else {
|
||||
$in{"dlv_$i"} =~ /^[a-z0-9\.\-\_]+$/ ||
|
||||
&error(&text('trusted_edlv', $i+1));
|
||||
$dlv = $in{"dlv_$i"};
|
||||
$dlv .= "." if ($dlv !~ /\.$/);
|
||||
}
|
||||
push(@dlvs, { 'name' => 'dnssec-lookaside',
|
||||
'values' => [
|
||||
$dlv, "trust-anchor",
|
||||
$in{"anchor_$i"} ] });
|
||||
}
|
||||
}
|
||||
}
|
||||
elsif ($in{'dlv_auto'} == 2) {
|
||||
# None
|
||||
@dlvs = ( );
|
||||
}
|
||||
&save_directive($options, "dnssec-lookaside", \@dlvs, 1);
|
||||
}
|
||||
|
||||
# Save trusted keys
|
||||
if (defined($in{'zone_0'})) {
|
||||
my @keys = ( );
|
||||
|
||||
@@ -1,11 +1,23 @@
|
||||
index_title=Перемінити мову і тему
|
||||
index_title=Змінити мову і тему
|
||||
index_dateformatglobal2=Глобальний формат дат .. $1
|
||||
index_dateformatset=Особистий вибір..
|
||||
index_lang=Мова
|
||||
index_langglobal2=Глобальна мова .. $1 ($2)
|
||||
index_langset=персональний вибір ..
|
||||
index_themeglobal=Глобальна тема ($1)
|
||||
index_themeset=Персональний вибір ..
|
||||
index_locale=Локаль
|
||||
index_locale2=Формат дат
|
||||
index_localeglobal2=Глобальна локаль .. $1 ($2)
|
||||
index_localeset=Особистий вибір..
|
||||
index_overlay=Накладання теми
|
||||
index_overlaydef=Немає - використовувати теми за замовчуванням
|
||||
index_pass=Пароль облікового запису Webmin
|
||||
index_passagain=Повторно введіть пароль
|
||||
index_passleave=Не змінювати
|
||||
index_passset=Установити в..
|
||||
index_ok=Зберегти зміни
|
||||
index_theme=Тема
|
||||
index_themedef=Стара тема Webmin
|
||||
index_desc2=Цей модуль може бути використаний для зміни $1, тільки для вашого облікового запису Webmin.
|
||||
index_d3=1$, 2$ і 3$
|
||||
@@ -15,13 +27,17 @@ index_dlang=мова, на якому відображаються модулі
|
||||
index_dtheme=тема, що контролює зовнішній вигляд Webmin
|
||||
index_dpass=пароль використовуваний для реєстрації
|
||||
|
||||
change_title=Змінюю настроювання
|
||||
change_user=Змінюю настроювання облікового запису Webmin ..
|
||||
change_title=Зміна налаштувань
|
||||
change_user=Зміна налаштувань облікового запису Webmin ..
|
||||
change_done=.. готово
|
||||
change_restart=Перезапускаю Webmin ..
|
||||
change_eoverlay=Ви не можете вибрати накладання теми, якщо також не вибрано тему інтерфейсу користувача
|
||||
change_eoverlay2=Вибране накладання теми несумісне з вибраною темою інтерфейсу користувача
|
||||
change_epass=Новий пароль недійсний: $1
|
||||
change_epass2=Нові паролі не збігаються
|
||||
change_redirect=Перехід у головне меню ..
|
||||
change_ecolon=Ваш пароль не може містити символ :
|
||||
|
||||
acl_lang=Може змінювати мова?
|
||||
acl_lang=Чи можна змінити мову?
|
||||
acl_locale=Чи можна змінити локаль?
|
||||
acl_theme=Може змінювати тему?
|
||||
acl_pass=Може змінювати пароль (коли зазначений у Webmin)?
|
||||
acl_pass=Чи можна змінити пароль (якщо встановлено в Webmin)?
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
desc_uk=Зміна мови та теми
|
||||
longdesc_uk=Дозволяє поточному користувачеві Webmin змінювати мову, тему та, можливо, пароль.
|
||||
name_uk=Зміна мови та теми
|
||||
|
||||
@@ -423,21 +423,26 @@ foreach my $k (keys %$in) {
|
||||
return $rv;
|
||||
}
|
||||
|
||||
# link_config_cparams(module, &in)
|
||||
# link_config_cparams(module, &in, [add-cparam])
|
||||
# Returns a URL to link to after the config is saved
|
||||
sub link_config_cparams
|
||||
{
|
||||
my ($m, $in) = @_;
|
||||
my $url = "/$m";
|
||||
if ($in->{'_cscript'}) {
|
||||
$url .= "/".$in->{'_cscript'};
|
||||
}
|
||||
my ($m, $in, $keep) = @_;
|
||||
my $url = "/$m/";
|
||||
my @w;
|
||||
if ($in->{'_cscript'}) {
|
||||
if ($keep) {
|
||||
push(@w, "_cscript=".&urlize($in->{'_cscript'}));
|
||||
}
|
||||
else {
|
||||
$url .= $in->{'_cscript'};
|
||||
}
|
||||
}
|
||||
foreach my $k (keys %$in) {
|
||||
if ($k =~ /^_cparam_(.*)$/) {
|
||||
$n = $1;
|
||||
foreach my $v (split(/\0/, $in{$k})) {
|
||||
push(@w, &urlize($n)."=".&urlize($v));
|
||||
push(@w, &urlize($keep ? $k : $n)."=".&urlize($v));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
line1=Параметри, що настроюються,11
|
||||
refresh_days=Період відновлення списку модулів CPAN (днів),0,5
|
||||
line1=Параметри,11
|
||||
refresh_days=Період оновлення списку модулів CPAN (днів),0,5
|
||||
line2=Системні параметри,11
|
||||
packages=Список модулів Perl CPAN,0
|
||||
cpan=Базовий URL модулів CPAN,0
|
||||
|
||||
@@ -21,7 +21,7 @@ if ($in{'source'} == 0) {
|
||||
if (!$in{'local'})
|
||||
{ &install_error($text{'download_elocal'}); }
|
||||
if (!-r $in{'local'})
|
||||
{ &install_error(&text('download_elocal2', $in{'local'})); }
|
||||
{ &install_error(&text('download_elocal2', &html_escape($in{'local'}))); }
|
||||
$source = $in{'local'};
|
||||
@pfile = ( $in{'local'} );
|
||||
$need_unlink = 0;
|
||||
@@ -91,8 +91,9 @@ elsif ($in{'source'} == 3) {
|
||||
$i = 0;
|
||||
@fallback = ( );
|
||||
foreach $yum (@cpanyum) {
|
||||
print &text('download_yum', "<tt>$cpan[$i]</tt>",
|
||||
"<tt>$yum->{'package'}</tt>"),"<br>\n";
|
||||
print &text('download_yum',
|
||||
"<tt>".&html_escape($cpan[$i])."</tt>",
|
||||
"<tt>".&html_escape($yum->{'package'})."</tt>"),"<br>\n";
|
||||
print "<ul>\n";
|
||||
@got = &software::update_system_install(
|
||||
$yum->{'package'});
|
||||
@@ -154,7 +155,8 @@ elsif ($in{'source'} == 3) {
|
||||
|
||||
# Fail if any modules are missing from CPAN
|
||||
for($i=0; $i<@cpan; $i++) {
|
||||
push(@missing, "<tt>$cpan[$i]</tt>") if (!$source[$i]);
|
||||
push(@missing, "<tt>".&html_escape($cpan[$i])."</tt>")
|
||||
if (!$source[$i]);
|
||||
}
|
||||
|
||||
if ($in{'missingok'}) {
|
||||
@@ -167,11 +169,12 @@ elsif ($in{'source'} == 3) {
|
||||
}
|
||||
}
|
||||
@cpan || &install_error(&text('download_ecpan',
|
||||
join(" ", @missing)));
|
||||
&html_escape(join(" ", @missing))));
|
||||
}
|
||||
elsif (@missing) {
|
||||
# Fail due to missing modules
|
||||
&install_error(&text('download_ecpan', join(" ", @missing)));
|
||||
&install_error(&text('download_ecpan',
|
||||
&html_escape(join(" ", @missing))));
|
||||
}
|
||||
$source = join("<br>", @source);
|
||||
|
||||
@@ -192,14 +195,16 @@ elsif ($in{'source'} == 3) {
|
||||
&ftp_download($host, $file, $pfile, \$error,
|
||||
\&progress_callback);
|
||||
}
|
||||
else { &install_error(&text('download_eurl', $m)); }
|
||||
else {
|
||||
&install_error(&text('download_eurl',&html_escape($m)));
|
||||
}
|
||||
&install_error($error) if ($error);
|
||||
push(@pfile, $pfile);
|
||||
}
|
||||
$need_unlink = 1;
|
||||
}
|
||||
else {
|
||||
&error("Unknown source mode $in{'source'}");
|
||||
&error("Unknown source mode ".&html_escape($in{'source'}));
|
||||
}
|
||||
|
||||
# Check if the file looks like a perl module
|
||||
@@ -287,7 +292,7 @@ foreach $d (@dirs) {
|
||||
close(MAKEFILE);
|
||||
push(@allreqs, @prereqs);
|
||||
}
|
||||
system("rm -rf $mtemp");
|
||||
&unlink_file($mtemp);
|
||||
|
||||
# Work out which pre-requesites are missing
|
||||
@allreqs = &unique(@allreqs);
|
||||
|
||||
44
cpan/lang/uk
44
cpan/lang/uk
@@ -5,16 +5,36 @@ index_version=Версія
|
||||
index_desc=Опис
|
||||
index_date=Дата установки
|
||||
index_installmsg=Виберіть модуль Perl для зборки й установки на вашій системі.
|
||||
index_allmods2=Відсутні модулі, які використовуються Webmin
|
||||
index_cpan=З CPAN за назвою
|
||||
index_refresh=Обновити список модулів CPAN
|
||||
index_local=З локального файлу
|
||||
index_uploaded=Із завантаженого файлу
|
||||
index_delete=Видалення модулів
|
||||
index_ezone=Схоже, що Perl використовується спільно з глобальною зоною, тому тут неможливо встановити модулі. Натомість вони повинні бути встановлені в глобальній зоні.
|
||||
index_forcecpan=Завжди встановлюйте останню версію з сирцевих кодів
|
||||
index_user=$1 (використовується $2)
|
||||
index_wantmods=Модулі для встановлення
|
||||
index_tabsuggest=Пропоновані модулі
|
||||
index_ftp=По URL ftp чи http
|
||||
index_installok=Установити
|
||||
index_return=списку модулів
|
||||
index_none=У вашій системі не знайдено встановлених модулів Perl.
|
||||
index_pversion=Perl версії $1
|
||||
index_recs=Наступні модулі Perl рекомендуються для встановлення Webmin:
|
||||
index_recsgot=Встановлено всі наступні модулі Perl, рекомендовані Webmin: $1
|
||||
index_recsok=Встановити вибрані модулі
|
||||
index_tabinstall=Встановити модуль
|
||||
index_tabmods=Існуючі модулі
|
||||
|
||||
delete_efile=Недійсний файл пакета!
|
||||
|
||||
download_act=Дії по установці
|
||||
download_args=Аргументи <tt>Makefile.PL</tt>
|
||||
download_cont=Продовжити установку
|
||||
download_ebuild=Для створення одного або кількох модулів Perl потрібно $1, але цей модуль Perl не встановлено.
|
||||
download_err=Не удалося установити модуль
|
||||
download_ecpangz=URL-адреса $1 не є списком модулів CPAN. Перевірте конфігурацію модуля.
|
||||
download_elocal=Не зазначений локальний файл
|
||||
download_elocal2='$1' не існує
|
||||
download_eupload=Ваш браузер не підтримує завантаження файлів
|
||||
@@ -22,21 +42,26 @@ download_eurl=Незрозумілий URL '$1'
|
||||
download_edir=Невірний каталог $1
|
||||
download_etar=Не удалося розпакувати файл tar : $1
|
||||
download_emod=Невірний модуль Perl
|
||||
download_fallback=Деякі модулі не вдалося встановити з пакетів, натомість намагаються встановити з сирцевих кодів..
|
||||
download_title=Установка модуля
|
||||
download_header=Настроювання установки модуля Perl
|
||||
download_mod=Назва модуля
|
||||
download_ver=Версія
|
||||
download_act=Дії по установці
|
||||
download_args=Аргументи <tt>Makefile.PL</tt>
|
||||
download_cont=Продовжити установку
|
||||
download_yum=Встановлення модуля Perl $1 з пакета $2
|
||||
download_src=Джерело
|
||||
download_m=Тільки зібрати
|
||||
download_mt=Зібрати і перевірити
|
||||
download_mi=Зібрати й установити
|
||||
download_missing=Відсутні модулі $1
|
||||
download_missingok=У CPAN відсутні модулі
|
||||
download_mods=Назви модулів
|
||||
download_mti=Зібрати, перевірити й установити
|
||||
download_cont=Продовжити установку
|
||||
download_epackages=Невірний URL модулів CPAN
|
||||
download_ecpan=Модуль $1 у списку модулів CPAN не виявлений
|
||||
download_eisperl=Модуль $1 є частиною стандартного дистрибутива Perl
|
||||
download_args=Аргументи <tt>Makefile.PL</tt>
|
||||
download_envs=Перемінні оточення <tt>Makefile.PL</tt>
|
||||
download_name=Ім'я
|
||||
download_value=Значення
|
||||
@@ -48,6 +73,7 @@ install_make=Зборка модуля
|
||||
install_test=Перевірка модуля
|
||||
install_install=Установка модуля
|
||||
install_loop=У висновку виявлене можливе зациклення!
|
||||
install_needunlink=Ви можете спробувати встановити знову, повернувшись на попередню сторінку та вибравши інші параметри. В іншому випадку <a href='$1'>клацніть тут, щоб видалити тимчасові файли пакунків</a>, щоб заощадити місце на диску.
|
||||
install_done_0=Зборка $1 успішно довершена.
|
||||
install_done_1=Зборка і перевірка $1 успішно довершена.
|
||||
install_done_2=Зборка й установка $1 успішно довершена.
|
||||
@@ -63,19 +89,33 @@ cpan_search=Знайти модулі з назвою
|
||||
cpan_match=Модулі, що збігаються з $1 ..
|
||||
cpan_none=Збігів не виявлено.
|
||||
|
||||
uninstall_debian=Модуль буде видалено шляхом видалення пакета $1 Debian.
|
||||
|
||||
edit_title=Інформація про модуль
|
||||
edit_header=Інформація про модуль
|
||||
edit_mod=Назва модуля
|
||||
edit_debian=Пакет Debian $1
|
||||
edit_desc=Опис
|
||||
edit_date=Дата установки
|
||||
edit_subs=Підмодулі
|
||||
edit_header2=Документація модуля
|
||||
edit_file=Файл модуля
|
||||
edit_manual=Ручне встановлення модуля Perl
|
||||
edit_method=Встановлено з
|
||||
edit_none=Немає
|
||||
edit_return=інформації про модуль
|
||||
edit_rpm=Пакет RPM $1
|
||||
edit_uninstall=Видалити модель і підмодулі
|
||||
edit_upgrade=Модуль оновлення від CPAN
|
||||
|
||||
uninstall_title=Видалення модуля
|
||||
uninstall_err=Не вдалося видалити модуль
|
||||
uninstall_rpm=Модуль буде видалено шляхом видалення пакета $1 RPM.
|
||||
uninstall_rusure=Видалити модуль Perl $1 ? Будуть вилучені наступні файли :
|
||||
uninstall_rusure2=Видалити модуль Perl $1 і підмодулі $2 ?<br>Будуть вилучені наступні файли :
|
||||
uninstall_ok=Видалити
|
||||
uninstalls_emod=$1 не вдалося: $2
|
||||
uninstalls_enone=Не вибрано
|
||||
uninstalls_err=Не вдалося видалити модулі
|
||||
uninstalls_rusure=Ви впевнені, що бажаєте видалити вибрані модулі $1? $2 підмодулі та $3 файли буде видалено.
|
||||
uninstalls_title=Видалення модулів
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
line1=Параметри,11
|
||||
refresh_days=Період оновлення списку модулів CPAN (днів),0,5
|
||||
line2=Системні параметри,11
|
||||
packages=Список модулів Perl CPAN,0
|
||||
cpan=Базовий URL модулів CPAN,0
|
||||
|
||||
@@ -1567,28 +1567,31 @@ if (!$gconfig{'tempdelete_days'}) {
|
||||
print STDERR "Temp file clearing is disabled\n";
|
||||
return;
|
||||
}
|
||||
|
||||
# Cleanup files in /tmp/.webmin
|
||||
if ($gconfig{'tempdir'} && !$gconfig{'tempdirdelete'}) {
|
||||
print STDERR "Temp file clearing is not done for the custom directory $gconfig{'tempdir'}\n";
|
||||
return;
|
||||
}
|
||||
|
||||
local $tempdir = &transname();
|
||||
$tempdir =~ s/\/([^\/]+)$//;
|
||||
if (!$tempdir || $tempdir eq "/") {
|
||||
$tempdir = "/tmp/.webmin";
|
||||
}
|
||||
|
||||
local $cutoff = time() - $gconfig{'tempdelete_days'}*24*60*60;
|
||||
opendir(DIR, $tempdir);
|
||||
foreach my $f (readdir(DIR)) {
|
||||
next if ($f eq "." || $f eq "..");
|
||||
local @st = lstat("$tempdir/$f");
|
||||
if ($st[9] < $cutoff) {
|
||||
&unlink_file("$tempdir/$f");
|
||||
else {
|
||||
local $tempdir = &transname();
|
||||
$tempdir =~ s/\/([^\/]+)$//;
|
||||
if (!$tempdir || $tempdir eq "/") {
|
||||
$tempdir = "/tmp/.webmin";
|
||||
}
|
||||
}
|
||||
closedir(DIR);
|
||||
|
||||
local $cutoff = time() - $gconfig{'tempdelete_days'}*24*60*60;
|
||||
opendir(DIR, $tempdir);
|
||||
foreach my $f (readdir(DIR)) {
|
||||
next if ($f eq "." || $f eq "..");
|
||||
local @st = lstat("$tempdir/$f");
|
||||
if ($st[9] < $cutoff) {
|
||||
&unlink_file("$tempdir/$f");
|
||||
}
|
||||
}
|
||||
closedir(DIR);
|
||||
}
|
||||
|
||||
# Delete stale lock files
|
||||
my $lockdir = $var_directory."/locks";
|
||||
opendir(DIR, $lockdir);
|
||||
foreach my $f (readdir(DIR)) {
|
||||
@@ -1600,6 +1603,11 @@ foreach my $f (readdir(DIR)) {
|
||||
}
|
||||
}
|
||||
closedir(DIR);
|
||||
|
||||
# Cleanup old websockets
|
||||
foreach (&get_miniserv_websockets_modules()) {
|
||||
&cleanup_miniserv_websockets(undef, $_);
|
||||
}
|
||||
}
|
||||
|
||||
=head2 list_cron_files()
|
||||
|
||||
@@ -4,7 +4,10 @@ BEGIN { push(@INC, ".."); };
|
||||
use WebminCore;
|
||||
&init_config();
|
||||
|
||||
@supported_auths = ( "anonymous", "plain", "digest-md5", "cram-md5", "apop" );
|
||||
@supported_auths = ( "anonymous", "plain", "digest-md5", "cram-md5", "apop",
|
||||
"scram-sha-1", "scram-sha-256", "ntlm", "gss-spnego",
|
||||
"gssapi", "rpa", "otp", "skey", "external",
|
||||
"oauthbearer", "xoauth2" );
|
||||
@mail_envs = ( undef, "maildir:~/Maildir", "mbox:~/mail/:INBOX=/var/mail/%u",
|
||||
"maildir:~/Maildir:mbox:~/mail/" );
|
||||
|
||||
|
||||
@@ -29,9 +29,9 @@ else {
|
||||
"auth", "default"));
|
||||
}
|
||||
print &ui_table_row($text{'login_mechs'},
|
||||
&ui_select("mechs", \@mechs,
|
||||
[ map { [ $_, $text{'login_'.$_} ] } @supported_auths ],
|
||||
4, 1, 1));
|
||||
&ui_select("mechs", \@mechs,
|
||||
[ map { [ $_, $text{'login_'.$_} || uc($_) ] } @supported_auths ],
|
||||
4, 1, 1));
|
||||
|
||||
print &ui_table_hr();
|
||||
|
||||
|
||||
@@ -92,6 +92,11 @@ login_plain=Plain-text
|
||||
login_digest-md5=Digest-MD5
|
||||
login_cram-md5=Cram-MD5
|
||||
login_apop=APOP
|
||||
login_otp=One time password
|
||||
login_skey=Security key
|
||||
login_oauthbearer=OAuth2 bearer authentication
|
||||
login_xoauth2=Google OAuth2 bearer authentication
|
||||
login_external=External SASL authentication
|
||||
login_userdb=Data source for users, homes and IDs
|
||||
login_passwd=Standard Unix user database
|
||||
login_passwdfile=Custom password file $1
|
||||
|
||||
@@ -30,15 +30,15 @@ print &ui_hidden("new", $in{'new'});
|
||||
print &ui_hidden("old", $in{'name'});
|
||||
print &ui_table_start($text{'jail_header'}, undef, 2);
|
||||
|
||||
# Jail name
|
||||
print &ui_table_row($text{'jail_name'},
|
||||
&ui_textbox("name", $jail->{'name'}, 30));
|
||||
|
||||
# Enabled or disabled?
|
||||
my $enabled = &find_value("enabled", $jail);
|
||||
print &ui_table_row($text{'jail_enabled'},
|
||||
&ui_yesno_radio("enabled", $enabled =~ /true|yes|1/i));
|
||||
|
||||
# Jail name
|
||||
print &ui_table_row($text{'jail_name'},
|
||||
&ui_textbox("name", $jail->{'name'}, 30));
|
||||
|
||||
# Filter to match
|
||||
my @filters = &list_filters();
|
||||
my $filter = &find_value("filter", $jail);
|
||||
@@ -49,6 +49,22 @@ print &ui_table_row($text{'jail_filter'},
|
||||
map { &filename_to_name($_->[0]->{'file'}) } @filters ],
|
||||
1, 0, $filter ? 1 : 0));
|
||||
|
||||
# Backend
|
||||
my $backend = &find_value("backend", $jail);
|
||||
print &ui_table_row($text{'jail_backend'},
|
||||
&ui_select("backend", $backend || "",
|
||||
[ [ "", "" ],
|
||||
[ "auto", $text{'jail_auto'} ],
|
||||
[ "systemd", $text{'jail_systemd'} ],
|
||||
[ "polling", $text{'jail_polling'} ],
|
||||
[ "gamin", $text{'jail_gamin'} ],
|
||||
[ "pyinotify", $text{'jail_pyinotify'} ] ]));
|
||||
|
||||
# Ports to monitor
|
||||
my $port = &find_value("port", $jail);
|
||||
print &ui_table_row($text{'jail_ports'},
|
||||
&ui_textbox("port", $port, 35));
|
||||
|
||||
# Actions to run
|
||||
my $actionlist = &find("action", $jail);
|
||||
my @actions = &list_actions();
|
||||
|
||||
@@ -87,6 +87,7 @@ jail_title1=Create Jail
|
||||
jail_title2=Edit Jail
|
||||
jail_header=Filter action jail details
|
||||
jail_name=Jail name
|
||||
jail_ports=Ports to block
|
||||
jail_egone=Jail no longer exists!
|
||||
jail_enabled=Currently enabled?
|
||||
jail_filter=Filter to search log for
|
||||
@@ -104,6 +105,8 @@ jail_ignoreip=IP addresses to never ban
|
||||
jail_err=Failed to save jail
|
||||
jail_eclash=A jail with the same name already exists
|
||||
jail_ename=Missing or invalid jail name
|
||||
jail_ebackend=Invalid backend name
|
||||
jail_eports=Invalid port name, number or range; use a single port name, number or a range in the form <tt>start:end</tt>; to specify multiple ports, separate them with commas
|
||||
jail_eaname=Invalid looking name parameter for action $1
|
||||
jail_eport=Invalid port number for action $1
|
||||
jail_eactions=No actions selected!
|
||||
|
||||
@@ -37,8 +37,7 @@ foreach my $j (@jails) {
|
||||
print &ui_checked_columns_row([
|
||||
&ui_link("edit_jail.cgi?name=".&urlize($j->{'name'}),
|
||||
$j->{'name'}),
|
||||
$enabled =~ /true|yes|1/i ? $text{'yes'} :
|
||||
"<font color=red>$text{'no'}</font>",
|
||||
$enabled =~ /true|yes|1/i ? $text{'yes'} : $text{'no'},
|
||||
&html_escape($filter),
|
||||
$action,
|
||||
], \@tds, "d", $j->{'name'});
|
||||
|
||||
@@ -44,6 +44,14 @@ else {
|
||||
$clash && &error($text{'jail_eclash'});
|
||||
}
|
||||
|
||||
# Validate backend
|
||||
!$in{'backend'} || $in{'backend'} =~ /^(auto|systemd|polling|gamin|pyinotify)$/ ||
|
||||
&error($text{'jail_ebackend'});
|
||||
|
||||
# Validate ports (1234 or 1234:1245 or 1234:1245,1250,http or 1238,http,https)
|
||||
$in{'port'} =~ s/\s+//g if ($in{'port'});
|
||||
!$in{'port'} || $in{'port'} =~ /^(?!$)(?:[a-zA-Z]+|\d{1,5})(?:(?::\d{1,5})?)(?:,(?:[a-zA-Z]+|\d{1,5})(?:(?::\d{1,5})?)?)*$/gmi || &error($text{'jail_eports'});
|
||||
|
||||
# Parse and validate actions
|
||||
my @actions;
|
||||
for(my $i=0; defined($in{"action_$i"}); $i++) {
|
||||
@@ -116,6 +124,8 @@ else {
|
||||
# Save directives within the section
|
||||
&save_directive("enabled", $in{'enabled'} ? 'true' : 'false', $jail);
|
||||
&save_directive("filter", $in{'filter'} || undef, $jail);
|
||||
&save_directive("backend", $in{'backend'} || undef, $jail);
|
||||
&save_directive("port", $in{'port'} || undef, $jail);
|
||||
&save_directive("action", @actions ? join("\n", @actions)
|
||||
: undef, $jail);
|
||||
&save_directive("logpath", join("\n", @logpaths), $jail);
|
||||
|
||||
@@ -349,6 +349,9 @@ if ($fh6) {
|
||||
}
|
||||
while(1) {
|
||||
$$port++;
|
||||
if ($$port < 0 || $$port > 65535) {
|
||||
return "Failed to allocate a free port number: $$port";
|
||||
}
|
||||
$pack = pack_sockaddr_in($$port, INADDR_ANY);
|
||||
next if (!bind($fh, $pack));
|
||||
if ($fh6) {
|
||||
@@ -363,4 +366,3 @@ if ($fh6) {
|
||||
}
|
||||
return undef;
|
||||
}
|
||||
|
||||
|
||||
3
filemin/config.info.uk
Normal file
3
filemin/config.info.uk
Normal file
@@ -0,0 +1,3 @@
|
||||
max=Maximum size for uploaded files,3,Unlimited
|
||||
config_portable_module_filemanager_editor_detect_encoding=Fix to prevent encoding detection if forbidden,1,true-Yes,false-No
|
||||
config_portable_module_filemanager_show_dot_files=Show hidden files,1,true-Yes,false-No
|
||||
@@ -1,3 +1,3 @@
|
||||
allowed_paths=$HOME
|
||||
work_as_root=1
|
||||
allowed_for_edit=application-x-php application-x-ruby application-xml application-xslt+xml application-javascript application-x-shellscript application-x-perl application-x-yaml application-json application-x-x509-ca-cert application-pkix-cert application-sql application-x-sql application-x-asp application-x-aspx application-xhtml+xml
|
||||
allowed_for_edit=application-x-php application-x-ruby application-xml application-xslt+xml application-javascript application-x-shellscript application-x-perl application-x-yaml application-json application-x-x509-ca-cert application-pkix-cert application-x-sql application-x-asp application-x-aspx application-xhtml+xml
|
||||
|
||||
@@ -169,6 +169,9 @@ sub print_interface {
|
||||
local $upid = time().$$;
|
||||
$bookmarks = get_bookmarks();
|
||||
@allowed_for_edit = split(/\s+/, $access{'allowed_for_edit'});
|
||||
# Some experimental MIME types are now recognized
|
||||
push(@allowed_for_edit, map { (my $__ = $_) =~ s/-x-/-/;
|
||||
$__ ne $_ ? $__ : () } @allowed_for_edit);
|
||||
%allowed_for_edit = map { $_ => 1} @allowed_for_edit;
|
||||
my %tinfo = &get_theme_info($current_theme);
|
||||
|
||||
|
||||
179
filemin/lang/uk
Normal file
179
filemin/lang/uk
Normal file
@@ -0,0 +1,179 @@
|
||||
about_to_delete=Ви збираєтесь видалити такі елементи:
|
||||
acl_allowed_for_edit=Mimetypes, дозволені для редагування вбудованим редактором
|
||||
acl_allowed_paths=Дозволити доступ до каталогів
|
||||
acl_allowed_paths_explain=Для користувача з привілеями root, якщо дозволено каталог встановлено лише в $HOME, це буде еквівалентно / (повний доступ до диска)
|
||||
acl_bytes=байтів
|
||||
acl_epath=Шлях $1 не існує
|
||||
acl_euser=Вибраного користувача Unix не існує!
|
||||
acl_max=Максимальний розмір для завантажених файлів
|
||||
acl_root=Root (з обережністю надавайте недовіреним користувачам!)
|
||||
acl_same=Те саме, що вхід у Webmin
|
||||
acl_unlimited=Необмежений
|
||||
acl_user=Конкретний користувач Unix
|
||||
acl_work_as=Доступ до файлів від імені користувача Unix
|
||||
acls=Список контролю доступу
|
||||
acls_action=Дія
|
||||
acls_applyto=Застосувати до
|
||||
acls_error=Команду <tt>setfacl</tt> не знайдено у вашій системі
|
||||
acls_group=Група
|
||||
acls_label=Контрольний список для застосування
|
||||
acls_manual=Ручні параметри
|
||||
acls_mask=Маска
|
||||
acls_other=Інший
|
||||
acls_perms=Дозволи
|
||||
acls_selected=Setfacl обрано
|
||||
acls_user=Користувач
|
||||
actions=Дії
|
||||
archive_name=Назва архіву
|
||||
are_you_sure=Ви впевнені?
|
||||
attr_label=Атрибути, які потрібно застосувати
|
||||
attr_label_error=Атрибути повинні бути вказані
|
||||
attr_label_error_proc=Не вдалося змінити атрибути
|
||||
attributes=Атрибути
|
||||
bookmark_folder=Додати поточну теку в закладки
|
||||
browse_for_upload=Огляд для завантаження
|
||||
chattr_selected=Chattr обрано
|
||||
chcon_selected=Chcon обрано
|
||||
chmod_additional=Додатковий
|
||||
chmod_all=Усі (рекурсивно)
|
||||
chmod_apply_to=Застосувати до
|
||||
chmod_dir_and_its_files=Обрані файли та каталоги та файли у обраних каталогах
|
||||
chmod_dir_and_subs=Обрані каталоги та підкаталоги
|
||||
chmod_dir_files_and_subs_files=Обрані файли та файли у обраних каталогах та підкаталогах
|
||||
chmod_dir_only=Лише вибрані каталоги та файли
|
||||
chmod_execute=Виконати
|
||||
chmod_group=Групувати
|
||||
chmod_others=Інші
|
||||
chmod_owner=Власник
|
||||
chmod_read=Читання
|
||||
chmod_selected=Chmod обрано
|
||||
chmod_setgid=Setgid
|
||||
chmod_sticky=Клейкий біт
|
||||
chmod_write=Запис
|
||||
chown_selected=Chown обрано
|
||||
compress_selected=Стиснення обраного
|
||||
config_bookmarks=Закладки
|
||||
config_columns_to_display=Стовпці для відображення
|
||||
config_per_page=Елементи для відображення на сторінці
|
||||
context_label=Контекст для застосування
|
||||
context_label_error=Контекст безпеки не може бути порожнім
|
||||
context_label_error_proc=Не вдалося змінити контекст безпеки
|
||||
copy_selected=Копіювати обране
|
||||
count_uploads=обрані файли для завантаження
|
||||
create=Створити
|
||||
create_file=Створити файл
|
||||
create_folder=Створити каталог
|
||||
cut_selected=Вирізати обране
|
||||
delete=Видалити
|
||||
dialog_cancel=Скасувати
|
||||
dialog_change=Змінити
|
||||
dialog_compress=Стискати
|
||||
dialog_download=Завантажити
|
||||
dialog_file_url=URL-адреса файлу для завантаження
|
||||
dialog_ok=ОК
|
||||
dialog_recursive=Рекурсивний
|
||||
dialog_user_name=Ім'я користувача віддаленого сервера (за необхідності)
|
||||
dialog_user_pass=Віддалений пароль сервера (за необхідності)
|
||||
edit=Редагувати
|
||||
edit_file=Редагувати файл
|
||||
error_archive_type_not_supported=тип архіву ще не підтримується
|
||||
error_chmod=Не вдалося змінити дозволи
|
||||
error_chown=Не вдалося змінити власника
|
||||
error_copy=помилка копіювання:
|
||||
error_create=не вдалося створити:
|
||||
error_creating_conf=Помилка створення каталогу конфігурації
|
||||
error_cut=помилка переміщення:
|
||||
error_delete=не вдалося видалити
|
||||
error_exists=вже існує, пропускаючи
|
||||
error_group_not_found=групи не існує в цій системі
|
||||
error_invalid_uri=Помилка: не вказана дійсна URL-адреса!
|
||||
error_load_template=Помилка завантаження файлу шаблону
|
||||
error_numeric=повинні бути числовими!
|
||||
error_opendir=Помилка відкриття каталогу
|
||||
error_opening_file_for_writing=Не вдалося відкрити файл для запису:
|
||||
error_pasting_nonsence=Вставляти в один і той же каталог немає сенсу
|
||||
error_rename=Не вдалося перейменувати
|
||||
error_saving_file=Помилка збереження файлу
|
||||
error_title=Помилка!
|
||||
error_upload_emax=Завантажений файл перевищує обмеження $1
|
||||
error_user_not_found=Користувач не знайдений у цій системі
|
||||
error_writing_file=Помилка написання файлу:
|
||||
errors_occured=Наступні помилки сталися під час виконання операції
|
||||
extract_archive=Розпакувати Архів
|
||||
extract_cmd_not_avail=Не вдалося витягти файл $1, оскільки команда $2 відсутня
|
||||
extract_etype=Непідтримуваний тип файлу архіву
|
||||
extract_uploaded=Розпакувати стиснутий
|
||||
file_already_exists=вже існує в
|
||||
file_detect_encoding=Автоматично виявляти кодування файлів
|
||||
file_showhiddenfiles=Показати приховані файли
|
||||
files_ready_for_upload=Перегляд обраних файлів
|
||||
get_from_url=Отримати URL-адресу
|
||||
goto_folder=Перейти до каталогу, що містить
|
||||
group_name=Назва групи
|
||||
hint_chmod=Змінення дозволів для обраних файлів і каталогів
|
||||
hint_chown=Зміна власника обраних файлів та каталогів
|
||||
hint_compress=Стисніть обрані файли та каталоги до архіву tar.gz
|
||||
hint_copy=Скопіюйте обрані файли та каталоги в буфер
|
||||
hint_create_file=Створіть новий файл у поточному каталозі
|
||||
hint_create_folder=Створіть новий каталог у поточному шляху
|
||||
hint_cut=Виріжте обрані файли та каталоги в буфер
|
||||
hint_from_url=Отримати файл із віддаленої URL-адреси
|
||||
hint_paste=Вставте файли та каталоги з буфера
|
||||
hint_remove=Видаллити обрані файли та каталоги
|
||||
hint_upload=Завантажити файли в поточний каталог
|
||||
http_done=Завантажено $1 до $2.
|
||||
http_downloading=Завантаження
|
||||
index=Покажчик
|
||||
index_return=список файлів
|
||||
info_total1=Всього: $1 файл і $2 каталог
|
||||
info_total2=Всього: $1 файлів і $2 каталог
|
||||
info_total3=Всього: $1 файл та $2 каталоги
|
||||
info_total4=Всього: $1 файлів і $2 каталогів
|
||||
invert_selection=Інвертувати вибір
|
||||
last_mod_time=Змінено
|
||||
menu_bookmarks=Закладки
|
||||
menu_edit=Редагувати
|
||||
menu_file=Файл
|
||||
menu_tools=Інструменти
|
||||
module_config=Конфігурація модуля
|
||||
name=Ім'я
|
||||
new_file_name=Нове ім'я файлу
|
||||
new_folder_name=Нова назва каталогу
|
||||
new_name=Нове ім’я
|
||||
no_bookmarks=Ще немає закладок
|
||||
notallowed=Вам не дозволено доступ до $1. Дозволені каталоги : $2
|
||||
nothing_selected=Нічого не обрано
|
||||
overwrite_existing=Перезаписати існуючий
|
||||
owner_group=Група власників
|
||||
owner_user=Власник
|
||||
ownership=Власник
|
||||
paste=Вставити
|
||||
permissions=Режим
|
||||
previous_page=Попередня сторінка
|
||||
provide_file_name=Вкажіть ім'я файлу
|
||||
provide_folder_name=Вкажіть назву каталогу
|
||||
provide_group_name=Вкажіть назву групи
|
||||
provide_new_file_name=Введіть нове ім'я файлу
|
||||
provide_search_query=Надайте пошуковий запит
|
||||
provide_url=Надайте URL-адресу віддаленого файлу
|
||||
provide_user_name=Вкажіть ім’я користувача
|
||||
refresh=Оновити
|
||||
remove_selected=Видалити обране
|
||||
rename=Перейменувати
|
||||
save=Зберегти
|
||||
save_close=Зберегти і закрити
|
||||
save_file=Зберегти файл
|
||||
search=Пошук
|
||||
search_go=Знайти
|
||||
search_insensitive=Пошук без врахування регістру
|
||||
search_label=Пошуковий запит
|
||||
search_results=Результати пошуку для
|
||||
select_all=Вибрати все
|
||||
selinux=Контекст безпеки
|
||||
size=Розмір
|
||||
type=Тип
|
||||
upload_dirs=Завантаження каталогу
|
||||
upload_files=Завантажити файли
|
||||
uploading=Завантаження, зачекайте. ..
|
||||
user_name=Ім'я користувача
|
||||
warning_title=Увага!
|
||||
@@ -0,0 +1,6 @@
|
||||
name_uk=Файловий менеджер
|
||||
desc_uk=Файловий менеджер
|
||||
longdesc_uk=Швидкий і легкий менеджер файлів, написаний на Perl.
|
||||
name=Файловий менеджер
|
||||
desc=Файловий менеджер
|
||||
longdesc=Швидкий і легкий менеджер файлів, написаний на Perl.
|
||||
|
||||
@@ -306,7 +306,7 @@
|
||||
<form name="chmod" id="chmodForm">
|
||||
<div class="form-group">
|
||||
<label for="t_total">$text{'permissions'}: </label>
|
||||
<input id="perms" type="text" name="t_total" value="0644" size="4" onKeyUp="octalchange()" class="form-group-item">
|
||||
<input id="perms" type="text" oninput="if(this.value.length>4)this.value=this.value.slice(0,4)" name="t_total" value="0644" size="4" onKeyUp="octalchange()" class="form-group-item">
|
||||
<input type="text" name="sym_total" value="" size="12" readonly="true" class="form-group-item">
|
||||
</div>
|
||||
<table class="table">
|
||||
|
||||
@@ -173,7 +173,7 @@
|
||||
<form name="chmod" id="chmodForm">
|
||||
<div class="form-group">
|
||||
<label for="t_total">$text{'permissions'}: </label><br>
|
||||
<input id="perms" type="text" name="t_total" value="0644" size="4" onKeyUp="octalchange()" class="form-group-item">
|
||||
<input id="perms" type="text" oninput="if(this.value.length>4)this.value=this.value.slice(0,4)" name="t_total" value="0644" size="4" onKeyUp="octalchange()" class="form-group-item">
|
||||
<input type="text" name="sym_total" value="" size="12" readonly="true" class="form-group-item">
|
||||
</div>
|
||||
<table class="table">
|
||||
|
||||
33
firewalld/block_ip.cgi
Normal file
33
firewalld/block_ip.cgi
Normal file
@@ -0,0 +1,33 @@
|
||||
#!/usr/local/bin/perl
|
||||
# Block given IP
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
no warnings 'redefine';
|
||||
no warnings 'uninitialized';
|
||||
require './firewalld-lib.pl';
|
||||
our (%in, %text);
|
||||
&error_setup($text{'block_err'});
|
||||
&ReadParse();
|
||||
|
||||
# Get the zone
|
||||
my @zones = &list_firewalld_zones();
|
||||
my ($zone) = grep { $_->{'name'} eq $in{'zone'} } @zones;
|
||||
$zone || &error($text{'port_ezone'});
|
||||
|
||||
# Get the IP
|
||||
my $ip = $in{'ip'};
|
||||
$ip || &error($text{'block_eip'});
|
||||
|
||||
# Validate the IPv4 or IPv6 address/mask
|
||||
my $mask = $ip =~ s/(\/\d+)$// ? $1 : "";
|
||||
$ip =~ s/\Q$mask\E// if ($mask);
|
||||
&check_ipaddress($ip) || &check_ip6address($ip) || &error($text{'block_eip'});
|
||||
|
||||
# Block the IP
|
||||
my $perm = $in{'permanent'} ? 'perm' : '';
|
||||
my $err = &block_ip("$ip$mask", $zone->{'name'}, $perm);
|
||||
&error($err) if ($err);
|
||||
|
||||
&webmin_log("ip", "${perm}block", "$ip$mask");
|
||||
&redirect("index.cgi?zone=".&urlize($zone->{'name'}));
|
||||
@@ -1,3 +1,4 @@
|
||||
firewall_cmd=firewall-cmd
|
||||
init_name=firewalld
|
||||
config_dir=/etc/firewalld
|
||||
packet_handling=drop
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
firewall_cmd=Full path to firewall-cmd program,0
|
||||
init_name=FirewallD init script name,0
|
||||
config_dir=FirewallD configuration directory,0
|
||||
packet_handling=Default packet handling action,1,0-<tt>drop</tt>,1-<tt>reject</tt>
|
||||
|
||||
@@ -504,4 +504,21 @@ my $conf_dir = $config{'config_dir'} || '/etc/firewalld';
|
||||
return (glob("$conf_dir/*.xml"), glob("$conf_dir/*/*.xml"));
|
||||
}
|
||||
|
||||
# block_ip(ip, zone, [permanent])
|
||||
# Block given IP address temporarily or permanently
|
||||
sub block_ip
|
||||
{
|
||||
my ($ip, $zone, $permanent) = @_;
|
||||
my $type = $permanent ? ' --permanent' : "";
|
||||
my $family = $ip =~ /:/ ? 'ipv6' : 'ipv4';
|
||||
my $handle_action = $config{'packet_handling'} eq '1' ? 'reject' : 'drop';
|
||||
my $out = &backquote_logged(
|
||||
"$config{'firewall_cmd'}$type --zone=".quotemeta($zone).
|
||||
" --add-rich-rule=\"rule family=$family source address=".
|
||||
quotemeta($ip)." $handle_action\" 2>&1");
|
||||
my $rs = $? ? $out : undef;
|
||||
&apply_firewalld() if ($permanent);
|
||||
return $rs;
|
||||
}
|
||||
|
||||
1;
|
||||
|
||||
@@ -148,6 +148,17 @@ if ($ok) {
|
||||
print &ui_form_end();
|
||||
}
|
||||
|
||||
# Block given IP
|
||||
my $blockip_placeholder =
|
||||
&text('index_blockip_placeholder', '1.2.3.4', '2001:db8::1/64');
|
||||
print "<br>".&ui_form_start("block_ip.cgi");
|
||||
print &ui_hidden("zone", $zone->{'name'});
|
||||
print &ui_submit($text{'index_blockip_go'}, "block"),
|
||||
&ui_textbox("ip", undef, 21, undef, undef,
|
||||
"placeholder='$blockip_placeholder'")." ".
|
||||
&ui_checkbox("permanent", 1,
|
||||
$text{'index_blockip_permanent'}, 1);
|
||||
print &ui_form_end();
|
||||
print &ui_hr();
|
||||
|
||||
# Show start/apply buttons
|
||||
|
||||
@@ -33,6 +33,12 @@ index_ifaces=Pas reëls toe op koppelvlakke:
|
||||
index_ifaces_def=Alle koppelvlakke
|
||||
index_ifaces_sel=Geselekteerde koppelvlakke:
|
||||
index_ifaces_apply=Doen aansoek
|
||||
ifaces_err=Kon nie koppelvlakke toepas nie
|
||||
index_blockip_go=Blokkeer IP/CIDR
|
||||
index_blockip_placeholder=$1 of $2
|
||||
index_blockip_permanent=Permanente blok
|
||||
block_err=Kon nie IP blokkeer nie
|
||||
block_eip=Ongeldige IP-adres of CIDR-reeks
|
||||
index_listrules=Lys FirewallD-reëls
|
||||
index_restart_firewalld=Herlaai FirewallD
|
||||
index_restart_firewallddesc=Herlaai die FirewallD-bediener en pas die reëls toe wat permanent geskep is.
|
||||
@@ -142,6 +148,8 @@ log_delete_forward=Vorentoe $1 verwyder
|
||||
log_update_forward=Opgedateer vorentoe $1
|
||||
log_delete_rules=$1 toegelate hawens is verwyder
|
||||
log_ifaces_zone=Opgedateerde koppelvlakke vir sone $1
|
||||
log_ip_block=IP/CIDR $1 tydelik geblokkeer
|
||||
log_ip_permblock=Permanent geblokkeer IP/CIDR $1
|
||||
log_create_zone=Sone $1 geskep
|
||||
log_delete_zone=Sone $1 is verwyder
|
||||
log_default_zone=Sone $1 is standaard gemaak
|
||||
|
||||
@@ -33,6 +33,12 @@ index_ifaces=تطبيق القواعد على الواجهات:
|
||||
index_ifaces_def=جميع الواجهات
|
||||
index_ifaces_sel=واجهات مختارة:
|
||||
index_ifaces_apply=يتقدم
|
||||
ifaces_err=فشل في تطبيق الواجهات
|
||||
index_blockip_go=حظر IP/CIDR
|
||||
index_blockip_placeholder=٪1 او 2
|
||||
index_blockip_permanent=كتلة دائمة
|
||||
block_err=فشل في حظر IP
|
||||
block_eip=عنوان IP أو نطاق CIDR غير صالح
|
||||
index_listrules=سرد قواعد جدار الحماية
|
||||
index_restart_firewalld=إعادة تحميل جدار الحماية د
|
||||
index_restart_firewallddesc=أعد تحميل خادم FirewallD وقم بتطبيق القواعد التي تم إنشاؤها بشكل دائم.
|
||||
@@ -142,6 +148,8 @@ log_delete_forward=تمت إعادة التوجيه$1
|
||||
log_update_forward=تم التحديث للأمام$1
|
||||
log_delete_rules=تمت إزالة$1 من المنافذ المسموح بها
|
||||
log_ifaces_zone=واجهات محدثة للمنطقة$1
|
||||
log_ip_block=تم حظر IP/CIDR $1 مؤقتًا
|
||||
log_ip_permblock=تم حظر IP/CIDR $1 بشكل دائم
|
||||
log_create_zone=المنطقة التي تم إنشاؤها$1
|
||||
log_delete_zone=المنطقة المحذوفة$1
|
||||
log_default_zone=جعل المنطقة$1 هي الافتراضية
|
||||
|
||||
@@ -33,6 +33,12 @@ index_ifaces=Прымяніць правілы да інтэрфейсаў:
|
||||
index_ifaces_def=Усе інтэрфейсы
|
||||
index_ifaces_sel=Выбраныя інтэрфейсы:
|
||||
index_ifaces_apply=Ужыць
|
||||
ifaces_err=Не ўдалося прымяніць інтэрфейсы
|
||||
index_blockip_go=Блакіраваць IP/CIDR
|
||||
index_blockip_placeholder=$1 або $2
|
||||
index_blockip_permanent=Пастаянны блок
|
||||
block_err=Не ўдалося заблакіраваць IP
|
||||
block_eip=Няправільны IP-адрас або дыяпазон CIDR
|
||||
index_listrules=Пералічыце правілы FirewallD
|
||||
index_restart_firewalld=Перазагрузіце FirewallD
|
||||
index_restart_firewallddesc=Перазагрузіце сервер FirewallD і прымяніце правілы, якія былі створаны пастаянна.
|
||||
@@ -142,6 +148,8 @@ log_delete_forward=Выдалены наперад $1
|
||||
log_update_forward=Абноўлены наперад $1
|
||||
log_delete_rules=Выдалены $1 дазволены парты
|
||||
log_ifaces_zone=Абноўлены інтэрфейс для зоны $1
|
||||
log_ip_block=Часова заблакіраваны IP/CIDR $1
|
||||
log_ip_permblock=Назаўжды заблакіраваны IP/CIDR $1
|
||||
log_create_zone=Створана зона $1
|
||||
log_delete_zone=Выдалена зона $1
|
||||
log_default_zone=Зроблена зона $1 па змаўчанні
|
||||
|
||||
@@ -33,6 +33,12 @@ index_ifaces=Прилагане на правила към интерфейси
|
||||
index_ifaces_def=Всички интерфейси
|
||||
index_ifaces_sel=Избрани интерфейси:
|
||||
index_ifaces_apply=Приложи
|
||||
ifaces_err=Неуспешно прилагане на интерфейси
|
||||
index_blockip_go=Блокиране на IP/CIDR
|
||||
index_blockip_placeholder=$1 или $2
|
||||
index_blockip_permanent=Постоянен блок
|
||||
block_err=Неуспешно блокиране на IP
|
||||
block_eip=Невалиден IP адрес или CIDR диапазон
|
||||
index_listrules=Избройте правилата на FirewallD
|
||||
index_restart_firewalld=Презаредете FirewallD
|
||||
index_restart_firewallddesc=Презаредете сървъра на FirewallD и приложете правилата, които са били създадени за постоянно.
|
||||
@@ -142,6 +148,8 @@ log_delete_forward=Премахнат напред $1
|
||||
log_update_forward=Актуализиран напред $1
|
||||
log_delete_rules=Премахнати $1 разрешени портове
|
||||
log_ifaces_zone=Актуализирани интерфейси за зона $1
|
||||
log_ip_block=Временно блокиран IP/CIDR $1
|
||||
log_ip_permblock=Постоянно блокиран IP/CIDR $1
|
||||
log_create_zone=Създадена зона $1
|
||||
log_delete_zone=Изтрита зона $1
|
||||
log_default_zone=Направена зона $1 по подразбиране
|
||||
|
||||
@@ -3,6 +3,12 @@ index_zoneadd=Afegeix una zona
|
||||
index_ifaces_def=Totes les interfícies
|
||||
index_ifaces_sel=Interfícies seleccionades:
|
||||
index_ifaces_apply=Aplicar
|
||||
ifaces_err=No s'han pogut aplicar les interfícies
|
||||
index_blockip_go=Bloqueja IP/CIDR
|
||||
index_blockip_placeholder=$1 o $2
|
||||
index_blockip_permanent=Bloc permanent
|
||||
block_err=No s'ha pogut bloquejar la IP
|
||||
block_eip=L'adreça IP o l'interval CIDR no són vàlids
|
||||
index_listrules=Llista les regles del tallafocD
|
||||
index_restart_firewalld=Torneu a carregar FirewallD
|
||||
index_restart_firewallddesc=Torneu a carregar el servidor FirewallD i apliqueu les regles que es van crear permanentment.
|
||||
@@ -31,3 +37,6 @@ list_rules_action=Acció
|
||||
list_rules_rule=Regla
|
||||
list_rules_plus_more=+ $1 més
|
||||
log_save_rules=Regles $1 suprimides
|
||||
|
||||
log_ip_block=IP/CIDR bloquejat temporalment $1
|
||||
log_ip_permblock=IP/CIDR bloquejat permanentment $1
|
||||
|
||||
@@ -33,6 +33,12 @@ index_ifaces=Použít pravidla na rozhraní:
|
||||
index_ifaces_def=Všechna rozhraní
|
||||
index_ifaces_sel=Vybraná rozhraní:
|
||||
index_ifaces_apply=Aplikovat
|
||||
ifaces_err=Nepodařilo se použít rozhraní
|
||||
index_blockip_go=Blokovat IP/CIDR
|
||||
index_blockip_placeholder=$1 nebo $2
|
||||
index_blockip_permanent=Trvalý blok
|
||||
block_err=Blokování IP se nezdařilo
|
||||
block_eip=Neplatná adresa IP nebo rozsah CIDR
|
||||
index_listrules=Seznam pravidel FirewallD
|
||||
index_restart_firewalld=Znovu načtěte FirewallD
|
||||
index_restart_firewallddesc=Znovu načtěte server FirewallD a použijte pravidla, která byla trvale vytvořena.
|
||||
@@ -142,6 +148,8 @@ log_delete_forward=Odebráno dopředu $1
|
||||
log_update_forward=Aktualizováno dopředu $1
|
||||
log_delete_rules=Byly odebrány $1 povolené porty
|
||||
log_ifaces_zone=Aktualizovaná rozhraní pro zónu $1
|
||||
log_ip_block=Dočasně zablokovaná IP/CIDR $1
|
||||
log_ip_permblock=Trvale blokovaná IP/CIDR $1
|
||||
log_create_zone=Vytvořená zóna $1
|
||||
log_delete_zone=Odstraněná zóna $1
|
||||
log_default_zone=Výchozí byla zóna $1
|
||||
|
||||
@@ -33,6 +33,12 @@ index_ifaces=Anvend regler på grænseflader:
|
||||
index_ifaces_def=Alle grænseflader
|
||||
index_ifaces_sel=Udvalgte grænseflader:
|
||||
index_ifaces_apply=ansøge
|
||||
ifaces_err=Kunne ikke anvende grænseflader
|
||||
index_blockip_go=Bloker IP/CIDR
|
||||
index_blockip_placeholder=$1 eller $2
|
||||
index_blockip_permanent=Permanent blokering
|
||||
block_err=Kunne ikke blokere IP
|
||||
block_eip=Ugyldig IP-adresse eller CIDR-interval
|
||||
index_listrules=Liste FirewallD-regler
|
||||
index_restart_firewalld=Genindlæs FirewallD
|
||||
index_restart_firewallddesc=Genindlæs FirewallD-serveren, og anvend de regler, der blev oprettet permanent.
|
||||
@@ -142,6 +148,8 @@ log_delete_forward=Fjernet frem $1
|
||||
log_update_forward=Opdateret fremad $1
|
||||
log_delete_rules=Fjernet $1 tilladte porte
|
||||
log_ifaces_zone=Opdaterede grænseflader for zone $1
|
||||
log_ip_block=Midlertidigt blokeret IP/CIDR $1
|
||||
log_ip_permblock=Permanent blokeret IP/CIDR $1
|
||||
log_create_zone=Oprettet zone $1
|
||||
log_delete_zone=Zonet $1 er slettet
|
||||
log_default_zone=Oprettet zone $1 til standard
|
||||
|
||||
@@ -3,6 +3,12 @@ index_zoneadd=Zone hinzufügen
|
||||
index_ifaces_def=Alle Schnittstellen
|
||||
index_ifaces_sel=Ausgewählte Schnittstellen:
|
||||
index_ifaces_apply=Anwenden
|
||||
ifaces_err=Schnittstellen konnten nicht angewendet werden
|
||||
index_blockip_go=IP/CIDR blockieren
|
||||
index_blockip_placeholder=$1 oder 2
|
||||
index_blockip_permanent=Dauerhafte Sperre
|
||||
block_err=IP konnte nicht blockiert werden
|
||||
block_eip=Ungültige IP-Adresse oder ungültiger CIDR-Bereich
|
||||
index_listrules=FirewallD-Regeln auflisten
|
||||
index_restart_firewalld=Laden Sie FirewallD neu
|
||||
index_restart_firewallddesc=Laden Sie den FirewallD-Server neu und wenden Sie die dauerhaft erstellten Regeln an.
|
||||
@@ -35,3 +41,5 @@ log_save_rules=$1 Regeln gelöscht
|
||||
log_create_forward=Vorwärts $1 hinzugefügt
|
||||
log_delete_forward=Vorwärts $1 entfernt
|
||||
log_update_forward=Vorwärts $1 aktualisiert
|
||||
log_ip_block=Vorübergehend blockierte IP/CIDR $1
|
||||
log_ip_permblock=Dauerhaft blockierte IP/CIDR $1
|
||||
|
||||
@@ -33,6 +33,12 @@ index_ifaces=Εφαρμογή κανόνων σε διεπαφές:
|
||||
index_ifaces_def=Όλες οι διεπαφές
|
||||
index_ifaces_sel=Επιλεγμένες διεπαφές:
|
||||
index_ifaces_apply=Ισχύουν
|
||||
ifaces_err=Αποτυχία εφαρμογής διεπαφών
|
||||
index_blockip_go=Αποκλεισμός IP/CIDR
|
||||
index_blockip_placeholder=$1 ή $2
|
||||
index_blockip_permanent=Μόνιμο μπλοκ
|
||||
block_err=Αποτυχία αποκλεισμού IP
|
||||
block_eip=Μη έγκυρη διεύθυνση IP ή εύρος CIDR
|
||||
index_listrules=Λίστα Κανόνων FirewallD
|
||||
index_restart_firewalld=Επανάληψη φόρτωσης FirewallD
|
||||
index_restart_firewallddesc=Φορτώστε ξανά τον διακομιστή FirewallD και εφαρμόστε τους κανόνες που δημιουργήθηκαν μόνιμα.
|
||||
@@ -142,6 +148,8 @@ log_delete_forward=Κατάργηση προς τα εμπρός $1
|
||||
log_update_forward=Ενημερώθηκε προς τα εμπρός $1
|
||||
log_delete_rules=Αφαιρέθηκαν $1 επιτρεπόμενες θύρες
|
||||
log_ifaces_zone=Ενημερώθηκαν διεπαφές για τη ζώνη $1
|
||||
log_ip_block=Προσωρινά αποκλεισμένη IP/CIDR $1
|
||||
log_ip_permblock=Μόνιμα αποκλεισμένη IP/CIDR $1
|
||||
log_create_zone=Δημιουργημένη ζώνη $1
|
||||
log_delete_zone=Διαγραμμένη ζώνη $1
|
||||
log_default_zone=Η ζώνη $1 είναι η προεπιλογή
|
||||
|
||||
@@ -33,6 +33,12 @@ index_ifaces=Apply rules to
|
||||
index_ifaces_def=All interfaces
|
||||
index_ifaces_sel=Selected interfaces:
|
||||
index_ifaces_apply=Apply
|
||||
ifaces_err=Failed to apply interfaces
|
||||
index_blockip_go=Block IP/CIDR
|
||||
index_blockip_placeholder=$1 or $2
|
||||
index_blockip_permanent=Permanent block
|
||||
block_err=Failed to block IP
|
||||
block_eip=Invalid IP address or CIDR range
|
||||
index_listrules=List FirewallD Rules
|
||||
index_restart_firewalld=Reload FirewallD
|
||||
index_restart_firewallddesc=Reload the FirewallD server and apply the rules that were permanently created.
|
||||
@@ -143,6 +149,8 @@ log_delete_forward=Removed forward $1
|
||||
log_update_forward=Updated forward $1
|
||||
log_delete_rules=Removed $1 allowed ports
|
||||
log_ifaces_zone=Updated interfaces for zone $1
|
||||
log_ip_block=Temporarily blocked IP/CIDR $1
|
||||
log_ip_permblock=Permanently blocked IP/CIDR $1
|
||||
log_create_zone=Created zone $1
|
||||
log_delete_zone=Deleted zone $1
|
||||
log_default_zone=Made zone $1 the default
|
||||
|
||||
@@ -33,6 +33,12 @@ index_ifaces=Aplicar reglas a las interfaces:
|
||||
index_ifaces_def=Todas las interfaces
|
||||
index_ifaces_sel=Interfaces seleccionadas:
|
||||
index_ifaces_apply=Aplicar
|
||||
ifaces_err=No se pudieron aplicar las interfaces
|
||||
index_blockip_go=Bloquear IP/CIDR
|
||||
index_blockip_placeholder=$1 o 2
|
||||
index_blockip_permanent=Bloqueo permanente
|
||||
block_err=No se pudo bloquear la IP
|
||||
block_eip=Dirección IP o rango CIDR no válido
|
||||
index_listrules=Lista de reglas de FirewallD
|
||||
index_restart_firewalld=Recargar FirewallD
|
||||
index_restart_firewallddesc=Vuelva a cargar el servidor FirewallD y aplique las reglas que se crearon de forma permanente.
|
||||
@@ -142,6 +148,8 @@ log_delete_forward=Eliminado adelante $1
|
||||
log_update_forward=Actualización adelantada $1
|
||||
log_delete_rules=Se eliminaron $1 puertos permitidos
|
||||
log_ifaces_zone=Interfaces actualizadas para la zona $1
|
||||
log_ip_block=IP/CIDR $1 bloqueado temporalmente
|
||||
log_ip_permblock=IP/CIDR $1 bloqueado permanentemente
|
||||
log_create_zone=Zona creada $1
|
||||
log_delete_zone=Zona eliminada $1
|
||||
log_default_zone=Zona $1 predeterminada
|
||||
|
||||
@@ -33,6 +33,12 @@ index_ifaces=Aplikatu arauak interfazeei:
|
||||
index_ifaces_def=Interfaze guztiak
|
||||
index_ifaces_sel=Hautatutako interfazeak:
|
||||
index_ifaces_apply=Aplikatu
|
||||
ifaces_err=Ezin izan dira aplikatu interfazeak
|
||||
index_blockip_go=Blokeatu IP/CIDR
|
||||
index_blockip_placeholder=$1 edo $2
|
||||
index_blockip_permanent=Bloke iraunkorra
|
||||
block_err=Ezin izan da IP blokeatu
|
||||
block_eip=IP helbidea edo CIDR barruti baliogabea
|
||||
index_listrules=Zerrendatu FirewallD Arauak
|
||||
index_restart_firewalld=Berriz kargatu FirewallD
|
||||
index_restart_firewallddesc=Berriz kargatu FirewallD zerbitzaria eta aplikatu betirako sortu ziren arauak.
|
||||
@@ -142,6 +148,8 @@ log_delete_forward=$1 aurreratu da
|
||||
log_update_forward=$1 aurrera eguneratu da
|
||||
log_delete_rules=$1 baimendu dira portuak
|
||||
log_ifaces_zone=$1 zonako interfaze eguneratuak
|
||||
log_ip_block=IP/CIDR $1 aldi baterako blokeatuta
|
||||
log_ip_permblock=$1 IP/CIDR behin betiko blokeatuta
|
||||
log_create_zone=$1 zona sortua
|
||||
log_delete_zone=$1 zona ezabatu da
|
||||
log_default_zone=$1 gune lehenetsia
|
||||
|
||||
@@ -33,6 +33,12 @@ index_ifaces=قوانین رابط رابط اعمال کنید:
|
||||
index_ifaces_def=همه اینترفیس ها
|
||||
index_ifaces_sel=رابط های انتخاب شده:
|
||||
index_ifaces_apply=درخواست دادن
|
||||
ifaces_err=واسط ها اعمال نشدند
|
||||
index_blockip_go=مسدود کردن IP/CIDR
|
||||
index_blockip_placeholder=$1 یا $2
|
||||
index_blockip_permanent=بلوک دائمی
|
||||
block_err=IP مسدود نشد
|
||||
block_eip=آدرس IP یا محدوده CIDR نامعتبر است
|
||||
index_listrules=قوانین FirewallD را فهرست کنید
|
||||
index_restart_firewalld=فایروالD را دوباره بارگذاری کنید
|
||||
index_restart_firewallddesc=سرور FirewallD را دوباره بارگیری کنید و قوانینی را که به طور دائم ایجاد شده اند اعمال کنید.
|
||||
@@ -142,6 +148,8 @@ log_delete_forward=جلو$1 حذف شد
|
||||
log_update_forward=به روز شده$1
|
||||
log_delete_rules=$1 پورت مجاز حذف شد
|
||||
log_ifaces_zone=رابط های منطقه $1 به روز شدند
|
||||
log_ip_block=IP/CIDR $1 موقتاً مسدود شده است
|
||||
log_ip_permblock=IP/CIDR $1 برای همیشه مسدود شده است
|
||||
log_create_zone=منطقه ایجاد شده$1
|
||||
log_delete_zone=منطقه$1 حذف شد
|
||||
log_default_zone=منطقه$1 به طور پیش فرض ساخته شده است
|
||||
|
||||
@@ -33,6 +33,12 @@ index_ifaces=Käytä sääntöjä rajapintoihin:
|
||||
index_ifaces_def=Kaikki käyttöliittymät
|
||||
index_ifaces_sel=Valitut käyttöliittymät:
|
||||
index_ifaces_apply=Käytä
|
||||
ifaces_err=Liitäntöjen käyttöönotto epäonnistui
|
||||
index_blockip_go=Estä IP/CIDR
|
||||
index_blockip_placeholder=$1 tai $2
|
||||
index_blockip_permanent=Pysyvä lohko
|
||||
block_err=IP:n estäminen epäonnistui
|
||||
block_eip=Virheellinen IP-osoite tai CIDR-alue
|
||||
index_listrules=Luettele FirewallD-säännöt
|
||||
index_restart_firewalld=Lataa FirewallD uudelleen
|
||||
index_restart_firewallddesc=Lataa FirewallD-palvelin uudelleen ja käytä pysyvästi luotuja sääntöjä.
|
||||
@@ -142,6 +148,8 @@ log_delete_forward=Poistettu eteenpäin $1
|
||||
log_update_forward=Päivitetty eteenpäin $1
|
||||
log_delete_rules=Poistettu $1 sallitut portit
|
||||
log_ifaces_zone=Päivitetyt rajapinnat vyöhykkeelle $1
|
||||
log_ip_block=Tilapäisesti estetty IP/CIDR $1
|
||||
log_ip_permblock=Pysyvästi estetty IP/CIDR $1
|
||||
log_create_zone=Luotu alue 1
|
||||
log_delete_zone=Poistettu vyöhyke $1
|
||||
log_default_zone=Tehty vyöhyke $1 oletusarvoksi
|
||||
|
||||
@@ -33,6 +33,12 @@ index_ifaces=Appliquer des règles aux interfaces:
|
||||
index_ifaces_def=Toutes les interfaces
|
||||
index_ifaces_sel=Interfaces sélectionnées :
|
||||
index_ifaces_apply=Appliquer
|
||||
ifaces_err=Échec de l'application des interfaces
|
||||
index_blockip_go=Bloquer l'IP/CIDR
|
||||
index_blockip_placeholder=$1 ou 2
|
||||
index_blockip_permanent=Blocage permanent
|
||||
block_err=Échec du blocage de l'adresse IP
|
||||
block_eip=Adresse IP ou plage CIDR invalide
|
||||
index_listrules=Répertorier les règles FirewallD
|
||||
index_restart_firewalld=Recharger le pare-feuD
|
||||
index_restart_firewallddesc=Rechargez le serveur FirewallD et appliquez les règles créées définitivement.
|
||||
@@ -142,6 +148,8 @@ log_delete_forward=Supprimé vers l'avant $1
|
||||
log_update_forward=Mise à jour vers l'avant $1
|
||||
log_delete_rules=Suppression de $1 ports autorisés
|
||||
log_ifaces_zone=Interfaces mises à jour pour la zone $1
|
||||
log_ip_block=IP/CIDR $1 temporairement bloqué
|
||||
log_ip_permblock=IP/CIDR $1 définitivement bloqué
|
||||
log_create_zone=Zone créée $1
|
||||
log_delete_zone=Zone supprimée $1
|
||||
log_default_zone=A fait de la zone $1 la valeur par défaut
|
||||
|
||||
@@ -33,6 +33,12 @@ index_ifaces=החלת כללים על ממשקים:
|
||||
index_ifaces_def=כל הממשקים
|
||||
index_ifaces_sel=ממשקים נבחרים:
|
||||
index_ifaces_apply=להגיש מועמדות
|
||||
ifaces_err=יישום הממשקים נכשל
|
||||
index_blockip_go=חסום IP/CIDR
|
||||
index_blockip_placeholder=$1 או 2
|
||||
index_blockip_permanent=חסימה קבועה
|
||||
block_err=חסימת ה-IP נכשלה
|
||||
block_eip=כתובת IP או טווח CIDR לא חוקיים
|
||||
index_listrules=רשום את חוקי FirewallD
|
||||
index_restart_firewalld=טען מחדש את חומת האשD
|
||||
index_restart_firewallddesc=טען מחדש את שרת FirewallD והחל את הכללים שנוצרו לצמיתות.
|
||||
@@ -142,6 +148,8 @@ log_delete_forward=הוסר קדימה $1
|
||||
log_update_forward=עדכון קדימה $1
|
||||
log_delete_rules=הוסרו יציאות מותרות של $1
|
||||
log_ifaces_zone=ממשקים מעודכנים לאזור $1
|
||||
log_ip_block=IP/CIDR $1 חסום באופן זמני
|
||||
log_ip_permblock=IP/CIDR $1 חסום לצמיתות
|
||||
log_create_zone=נוצר אזור $1
|
||||
log_delete_zone=אזור $1 נמחק
|
||||
log_default_zone=הפך אזור $1 לברירת המחדל
|
||||
|
||||
@@ -33,6 +33,12 @@ index_ifaces=Primjena pravila na sučelja:
|
||||
index_ifaces_def=Sva sučelja
|
||||
index_ifaces_sel=Odabrana sučelja:
|
||||
index_ifaces_apply=Prijavite se
|
||||
ifaces_err=Primjena sučelja nije uspjela
|
||||
index_blockip_go=Blokiraj IP/CIDR
|
||||
index_blockip_placeholder=$1 ili $2
|
||||
index_blockip_permanent=Stalni blok
|
||||
block_err=Blokiranje IP-a nije uspjelo
|
||||
block_eip=Nevažeća IP adresa ili CIDR raspon
|
||||
index_listrules=Navedite pravila FirewallD
|
||||
index_restart_firewalld=Ponovno učitajte FirewallD
|
||||
index_restart_firewallddesc=Ponovno učitajte FirewallD poslužitelj i primijenite pravila koja su trajno stvorena.
|
||||
@@ -142,6 +148,8 @@ log_delete_forward=Uklonjeno naprijed $1
|
||||
log_update_forward=Ažurirano naprijed $1
|
||||
log_delete_rules=Uklonjeni su $1 dopušteni portovi
|
||||
log_ifaces_zone=Ažurirano sučelje za zonu $1
|
||||
log_ip_block=Privremeno blokiran IP/CIDR $1
|
||||
log_ip_permblock=Trajno blokiran IP/CIDR $1
|
||||
log_create_zone=Stvorena zona $1
|
||||
log_delete_zone=Izbrisana zona $1
|
||||
log_default_zone=Zadana je zona $1
|
||||
|
||||
@@ -33,6 +33,12 @@ index_ifaces=Szabályok alkalmazása az interfészekre:
|
||||
index_ifaces_def=Minden interfész
|
||||
index_ifaces_sel=Kiválasztott interfészek:
|
||||
index_ifaces_apply=Alkalmaz
|
||||
ifaces_err=Nem sikerült az interfészek alkalmazása
|
||||
index_blockip_go=Az IP/CIDR blokkolása
|
||||
index_blockip_placeholder=$1 vagy $2
|
||||
index_blockip_permanent=Állandó blokk
|
||||
block_err=Nem sikerült blokkolni az IP-t
|
||||
block_eip=Érvénytelen IP-cím vagy CIDR-tartomány
|
||||
index_listrules=Sorolja fel a FirewallD szabályokat
|
||||
index_restart_firewalld=Töltse újra a FirewallD-t
|
||||
index_restart_firewallddesc=Töltse be újra a FirewallD-kiszolgálót, és alkalmazza a véglegesen létrehozott szabályokat.
|
||||
@@ -142,6 +148,8 @@ log_delete_forward=Előzőleg eltávolítva: $1
|
||||
log_update_forward=Előre frissítve $1
|
||||
log_delete_rules=Eltávolítva a (z) $1 engedélyezett portok
|
||||
log_ifaces_zone=Frissített interfészek a (z) $1 zónához
|
||||
log_ip_block=Ideiglenesen blokkolt IP/CIDR $1
|
||||
log_ip_permblock=Véglegesen blokkolva az IP/CIDR $1
|
||||
log_create_zone=Létrehozta a (z) $1 zónát
|
||||
log_delete_zone=$1 zóna törölve
|
||||
log_default_zone=A (z) $1 zóna alapértelmezett lett
|
||||
|
||||
@@ -33,6 +33,12 @@ index_ifaces=Applica regole alle interfacce:
|
||||
index_ifaces_def=Tutte le interfacce
|
||||
index_ifaces_sel=Interfacce selezionate:
|
||||
index_ifaces_apply=Applicare
|
||||
ifaces_err=Impossibile applicare le interfacce
|
||||
index_blockip_go=Blocca IP/CIDR
|
||||
index_blockip_placeholder=$1 o $2
|
||||
index_blockip_permanent=Blocco permanente
|
||||
block_err=Impossibile bloccare l'IP
|
||||
block_eip=Indirizzo IP o intervallo CIDR non valido
|
||||
index_listrules=Elenca le regole di FirewallD
|
||||
index_restart_firewalld=Ricarica FirewallD
|
||||
index_restart_firewallddesc=Ricaricare il server FirewallD e applicare le regole che sono state create in modo permanente.
|
||||
@@ -142,6 +148,8 @@ log_delete_forward=Rimosso forward $1
|
||||
log_update_forward=Aggiornato in avanti $1
|
||||
log_delete_rules=Rimosse $1 porte consentite
|
||||
log_ifaces_zone=Interfacce aggiornate per la zona $1
|
||||
log_ip_block=IP/CIDR $1 temporaneamente bloccato
|
||||
log_ip_permblock=IP/CIDR $1 bloccato in modo permanente
|
||||
log_create_zone=Zona creata $1
|
||||
log_delete_zone=Zona eliminata $1
|
||||
log_default_zone=Ha reso la zona $1 predefinita
|
||||
|
||||
@@ -33,6 +33,12 @@ index_ifaces=インターフェイスにルールを適用します。
|
||||
index_ifaces_def=すべてのインターフェース
|
||||
index_ifaces_sel=選択したインターフェース:
|
||||
index_ifaces_apply=申し込み
|
||||
ifaces_err=インターフェースの適用に失敗しました
|
||||
index_blockip_go=IP/CIDR をブロック
|
||||
index_blockip_placeholder=$1 または $2
|
||||
index_blockip_permanent=永久ブロック
|
||||
block_err=IPをブロックできませんでした
|
||||
block_eip=無効な IP アドレスまたは CIDR 範囲
|
||||
index_listrules=FirewallDルールを一覧表示
|
||||
index_restart_firewalld=FirewallDをリロード
|
||||
index_restart_firewallddesc=FirewallDサーバーをリロードし、永続的に作成されたルールを適用します。
|
||||
@@ -142,6 +148,8 @@ log_delete_forward=前方 $1を削除しました
|
||||
log_update_forward=フォワード $1を更新しました
|
||||
log_delete_rules=$1個の許可されたポートを削除しました
|
||||
log_ifaces_zone=ゾーン $1の更新されたインターフェイス
|
||||
log_ip_block=一時的にブロックされた IP/CIDR $1
|
||||
log_ip_permblock=永久にブロックされた IP/CIDR $1
|
||||
log_create_zone=ゾーン $1を作成しました
|
||||
log_delete_zone=ゾーン $1を削除しました
|
||||
log_default_zone=ゾーン $1をデフォルトにしました
|
||||
|
||||
@@ -33,6 +33,12 @@ index_ifaces=인터페이스에 규칙을 적용하십시오.
|
||||
index_ifaces_def=모든 인터페이스
|
||||
index_ifaces_sel=선택한 인터페이스:
|
||||
index_ifaces_apply=적용하다
|
||||
ifaces_err=인터페이스를 적용하지 못했습니다
|
||||
index_blockip_go=IP/CIDR 차단
|
||||
index_blockip_placeholder=$1또는$2
|
||||
index_blockip_permanent=영구 차단
|
||||
block_err=IP 차단 실패
|
||||
block_eip=잘못된 IP 주소 또는 CIDR 범위
|
||||
index_listrules=FirewallD 규칙 나열
|
||||
index_restart_firewalld=방화벽 새로고침D
|
||||
index_restart_firewallddesc=FirewallD 서버를 다시 로드하고 영구적으로 생성된 규칙을 적용합니다.
|
||||
@@ -142,6 +148,8 @@ log_delete_forward=앞으로 $1 제거
|
||||
log_update_forward=앞으로 $1 업데이트
|
||||
log_delete_rules=허용 된 $1 포트를 제거했습니다.
|
||||
log_ifaces_zone=영역 $1 에 대한 업데이트 된 인터페이스
|
||||
log_ip_block=IP/CIDR $1 을(를)일시적으로 차단했습니다
|
||||
log_ip_permblock=IP/CIDR $1이(가)영구적으로 차단되었습니다
|
||||
log_create_zone=생성 된 영역 $1
|
||||
log_delete_zone=삭제 된 영역 $1
|
||||
log_default_zone=영역 $1 을 기본값으로 설정
|
||||
|
||||
@@ -33,6 +33,12 @@ index_ifaces=Taikykite sąsajų taisykles:
|
||||
index_ifaces_def=Visos sąsajos
|
||||
index_ifaces_sel=Pasirinktos sąsajos:
|
||||
index_ifaces_apply=Taikyti
|
||||
ifaces_err=Nepavyko pritaikyti sąsajų
|
||||
index_blockip_go=Blokuoti IP/CIDR
|
||||
index_blockip_placeholder=$1 arba $2
|
||||
index_blockip_permanent=Nuolatinis blokas
|
||||
block_err=Nepavyko užblokuoti IP
|
||||
block_eip=Netinkamas IP adresas arba CIDR diapazonas
|
||||
index_listrules=Išvardykite FirewallD taisykles
|
||||
index_restart_firewalld=Iš naujo įkelti FirewallD
|
||||
index_restart_firewallddesc=Iš naujo įkelkite FirewallD serverį ir pritaikykite taisykles, kurios buvo sukurtos visam laikui.
|
||||
@@ -142,6 +148,8 @@ log_delete_forward=Pašalinta į priekį $1
|
||||
log_update_forward=Atnaujinta pirmyn $1
|
||||
log_delete_rules=Pašalinti $1 leidžiami prievadai
|
||||
log_ifaces_zone=Atnaujintos $1 zonos sąsajos
|
||||
log_ip_block=Laikinai užblokuotas IP/CIDR $1
|
||||
log_ip_permblock=Visam laikui užblokuotas IP/CIDR $1
|
||||
log_create_zone=Sukurta zona $1
|
||||
log_delete_zone=Ištrinta zona $1
|
||||
log_default_zone=$1 zona padaryta numatytąja
|
||||
|
||||
@@ -33,6 +33,12 @@ index_ifaces=Pielietojiet noteikumus saskarnēm:
|
||||
index_ifaces_def=Visas saskarnes
|
||||
index_ifaces_sel=Atlasītās saskarnes:
|
||||
index_ifaces_apply=Pieteikties
|
||||
ifaces_err=Neizdevās lietot saskarnes
|
||||
index_blockip_go=Bloķēt IP/CIDR
|
||||
index_blockip_placeholder=$1 vai $2
|
||||
index_blockip_permanent=Pastāvīgs bloks
|
||||
block_err=Neizdevās bloķēt IP
|
||||
block_eip=Nederīga IP adrese vai CIDR diapazons
|
||||
index_listrules=Uzskaitiet FirewallD noteikumus
|
||||
index_restart_firewalld=Pārlādēt FirewallD
|
||||
index_restart_firewallddesc=Atkārtoti ielādējiet FirewallD serveri un lietojiet neatgriezeniski izveidotos noteikumus.
|
||||
@@ -142,6 +148,8 @@ log_delete_forward=Noņemts uz priekšu $1
|
||||
log_update_forward=Atjaunināts uz priekšu $1
|
||||
log_delete_rules=Noņemtas $1 atļautās ostas
|
||||
log_ifaces_zone=Atjauninātās saskarnes zonai $1
|
||||
log_ip_block=Īslaicīgi bloķēts IP/CIDR $1
|
||||
log_ip_permblock=Pastāvīgi bloķēts IP/CIDR $1
|
||||
log_create_zone=Izveidota zona $1
|
||||
log_delete_zone=Dzēsta zona $1
|
||||
log_default_zone=Zona $1 ir noklusējuma
|
||||
|
||||
@@ -33,6 +33,12 @@ index_ifaces=Memohon peraturan untuk antara muka:
|
||||
index_ifaces_def=Semua antara muka
|
||||
index_ifaces_sel=Antara muka yang dipilih:
|
||||
index_ifaces_apply=Mohon
|
||||
ifaces_err=Gagal menggunakan antara muka
|
||||
index_blockip_go=Sekat IP/CIDR
|
||||
index_blockip_placeholder=$1 atau $2
|
||||
index_blockip_permanent=Blok kekal
|
||||
block_err=Gagal menyekat IP
|
||||
block_eip=Alamat IP atau julat CIDR tidak sah
|
||||
index_listrules=Senaraikan Peraturan FirewallD
|
||||
index_restart_firewalld=Muat semula FirewallD
|
||||
index_restart_firewallddesc=Muat semula pelayan FirewallD dan gunakan peraturan yang telah dibuat secara kekal.
|
||||
@@ -142,6 +148,8 @@ log_delete_forward=Dikeluarkan ke hadapan $1
|
||||
log_update_forward=Dikemaskini ke hadapan $1
|
||||
log_delete_rules=Dikeluarkan $1 dibenarkan pelabuhan
|
||||
log_ifaces_zone=Antara muka yang dikemas kini untuk zon $1
|
||||
log_ip_block=IP/CIDR $1 disekat buat sementara waktu
|
||||
log_ip_permblock=IP/CIDR $1 disekat secara kekal
|
||||
log_create_zone=Zon yang dibuat $1
|
||||
log_delete_zone=Zon dipadamkan $1
|
||||
log_default_zone=Zon dibuat $1 default
|
||||
|
||||
@@ -33,6 +33,12 @@ index_ifaces=Applika r-regoli għall-interfaces:
|
||||
index_ifaces_def=L-interfaces kollha
|
||||
index_ifaces_sel=Interfaces magħżula:
|
||||
index_ifaces_apply=Applika
|
||||
ifaces_err=Naqset milli tapplika l-interfaces
|
||||
index_blockip_go=Blokk IP/CIDR
|
||||
index_blockip_placeholder=$1 jew $2
|
||||
index_blockip_permanent=Blokk permanenti
|
||||
block_err=Naqas milli jimblokka l-IP
|
||||
block_eip=Indirizz IP jew firxa CIDR invalida
|
||||
index_listrules=Lista tar-regoli FirewallD
|
||||
index_restart_firewalld=Reload FirewallD
|
||||
index_restart_firewallddesc=Reload the FirewallD server u applika r-regoli li nħolqu b'mod permanenti.
|
||||
@@ -142,6 +148,8 @@ log_delete_forward=Tneħħa 'l quddiem $1
|
||||
log_update_forward=Aġġornat 'il quddiem $1
|
||||
log_delete_rules=Tneħħew $1 portijiet permessi
|
||||
log_ifaces_zone=Interfaces aġġornati għaż-żona $1
|
||||
log_ip_block=IP/CIDR imblukkat temporanjament $1
|
||||
log_ip_permblock=IP/CIDR imblukkat b'mod permanenti $1
|
||||
log_create_zone=Żona maħluqa $1
|
||||
log_delete_zone=Żona mħassra $1
|
||||
log_default_zone=Għamel fiż-żona $1 id-default
|
||||
|
||||
@@ -33,6 +33,12 @@ index_ifaces=Pas regels toe op interfaces:
|
||||
index_ifaces_def=Alle interfaces
|
||||
index_ifaces_sel=Geselecteerde interfaces:
|
||||
index_ifaces_apply=Toepassen
|
||||
ifaces_err=Kan interfaces niet toepassen
|
||||
index_blockip_go=Blokkeer IP/CIDR
|
||||
index_blockip_placeholder=$1 of 2
|
||||
index_blockip_permanent=Permanente blokkering
|
||||
block_err=Kan IP niet blokkeren
|
||||
block_eip=Ongeldig IP-adres of CIDR-bereik
|
||||
index_listrules=FirewallD-regels weergeven
|
||||
index_restart_firewalld=Herlaad FirewallD
|
||||
index_restart_firewallddesc=Laad de FirewallD-server opnieuw en pas de regels toe die permanent zijn gemaakt.
|
||||
@@ -142,6 +148,8 @@ log_delete_forward=Vooruit $1 verwijderd
|
||||
log_update_forward=Vooruit bijgewerkt $1
|
||||
log_delete_rules=$1 toegestane poorten verwijderd
|
||||
log_ifaces_zone=Bijgewerkte interfaces voor zone $1
|
||||
log_ip_block=Tijdelijk geblokkeerd IP/CIDR $1
|
||||
log_ip_permblock=Permanent geblokkeerd IP/CIDR $1
|
||||
log_create_zone=Zone $1 gemaakt
|
||||
log_delete_zone=Zone $1 verwijderd
|
||||
log_default_zone=Zone $1 de standaard gemaakt
|
||||
|
||||
@@ -3,6 +3,12 @@ index_zoneadd=Legg til sone
|
||||
index_ifaces_def=Alle grensesnitt
|
||||
index_ifaces_sel=Valgte grensesnitt:
|
||||
index_ifaces_apply=Søke om
|
||||
ifaces_err=Kunne ikke bruke grensesnitt
|
||||
index_blockip_go=Blokker IP/CIDR
|
||||
index_blockip_placeholder=$1 eller $2
|
||||
index_blockip_permanent=Permanent blokk
|
||||
block_err=Kunne ikke blokkere IP
|
||||
block_eip=Ugyldig IP-adresse eller CIDR-område
|
||||
index_listrules=Liste FirewallD-regler
|
||||
index_restart_firewalld=Last inn FirewallD på nytt
|
||||
index_restart_firewallddesc=Last inn FirewallD-serveren på nytt og bruk reglene som ble opprettet permanent.
|
||||
@@ -31,3 +37,6 @@ list_rules_action=Handling
|
||||
list_rules_rule=Regel
|
||||
list_rules_plus_more=+ $1 til
|
||||
log_save_rules=Slettet $1 regler
|
||||
|
||||
log_ip_block=Midlertidig blokkert IP/CIDR $1
|
||||
log_ip_permblock=Permanent blokkert IP/CIDR $1
|
||||
|
||||
@@ -5,6 +5,12 @@ index_fadd=Dodaj port do przodu.
|
||||
index_ifaces_def=Wszystkie interfejsy
|
||||
index_ifaces_sel=Wybrane interfejsy:
|
||||
index_ifaces_apply=Stosować
|
||||
ifaces_err=Nie udało się zastosować interfejsów
|
||||
index_blockip_go=Zablokuj adres IP/CIDR
|
||||
index_blockip_placeholder=$1 lub 2
|
||||
index_blockip_permanent=Stała blokada
|
||||
block_err=Nie udało się zablokować adresu IP
|
||||
block_eip=Nieprawidłowy adres IP lub zakres CIDR
|
||||
index_listrules=Wyświetlanie listy reguł FirewallD
|
||||
index_restart_firewalld=Załaduj ponownie zaporę D
|
||||
index_restart_firewallddesc=Załaduj ponownie serwer FirewallD i zastosuj reguły, które zostały utworzone na stałe.
|
||||
@@ -51,3 +57,5 @@ log_save_rules=Usunięto $1 reguł
|
||||
log_create_forward=Dodano do przodu $1
|
||||
log_delete_forward=Usunięto do przodu $1
|
||||
log_update_forward=Zaktualizowano do przodu $1
|
||||
log_ip_block=Tymczasowo zablokowano adres IP/CIDR $1
|
||||
log_ip_permblock=Trwale zablokowany adres IP/CIDR $1
|
||||
|
||||
@@ -33,6 +33,12 @@ index_ifaces=Aplique regras às interfaces:
|
||||
index_ifaces_def=Todas as interfaces
|
||||
index_ifaces_sel=Interfaces selecionadas:
|
||||
index_ifaces_apply=Aplicar
|
||||
ifaces_err=Falha ao aplicar interfaces
|
||||
index_blockip_go=Bloquear IP/CIDR
|
||||
index_blockip_placeholder=$1 ou 2
|
||||
index_blockip_permanent=Bloqueio permanente
|
||||
block_err=Falha ao bloquear IP
|
||||
block_eip=Endereço IP ou intervalo CIDR inválido
|
||||
index_listrules=Listar regras do FirewallD
|
||||
index_restart_firewalld=Recarregar FirewallD
|
||||
index_restart_firewallddesc=Recarregue o servidor FirewallD e aplique as regras que foram criadas permanentemente.
|
||||
@@ -142,6 +148,8 @@ log_delete_forward=Removido para a frente $1
|
||||
log_update_forward=Atualizado para a frente $1
|
||||
log_delete_rules=$1 portas permitidas removidas
|
||||
log_ifaces_zone=Interfaces atualizadas para a zona $1
|
||||
log_ip_block=IP/CIDR temporariamente bloqueado $1
|
||||
log_ip_permblock=IP/CIDR bloqueado permanentemente $1
|
||||
log_create_zone=Zona criada $1
|
||||
log_delete_zone=Zona excluída $1
|
||||
log_default_zone=Tornou a zona $1 o padrão
|
||||
|
||||
@@ -33,6 +33,12 @@ index_ifaces=Aplique regras às interfaces:
|
||||
index_ifaces_def=Todas as interfaces
|
||||
index_ifaces_sel=Interfaces selecionadas:
|
||||
index_ifaces_apply=Aplicar
|
||||
ifaces_err=Falha ao aplicar interfaces
|
||||
index_blockip_go=Bloquear IP/CIDR
|
||||
index_blockip_placeholder=$1 ou 2
|
||||
index_blockip_permanent=Bloqueio permanente
|
||||
block_err=Falha ao bloquear IP
|
||||
block_eip=Endereço IP ou intervalo CIDR inválido
|
||||
index_listrules=Listar regras do FirewallD
|
||||
index_restart_firewalld=Recarregar FirewallD
|
||||
index_restart_firewallddesc=Recarregue o servidor FirewallD e aplique as regras que foram criadas permanentemente.
|
||||
@@ -142,6 +148,8 @@ log_delete_forward=Removido para a frente $1
|
||||
log_update_forward=Atualizado para a frente $1
|
||||
log_delete_rules=$1 portas permitidas removidas
|
||||
log_ifaces_zone=Interfaces atualizadas para a zona $1
|
||||
log_ip_block=IP/CIDR temporariamente bloqueado $1
|
||||
log_ip_permblock=IP/CIDR bloqueado permanentemente $1
|
||||
log_create_zone=Zona criada $1
|
||||
log_delete_zone=Zona excluída $1
|
||||
log_default_zone=Tornou a zona $1 o padrão
|
||||
|
||||
@@ -33,6 +33,12 @@ index_ifaces=Aplicați reguli interfețelor:
|
||||
index_ifaces_def=Toate interfețele
|
||||
index_ifaces_sel=Interfețe selectate:
|
||||
index_ifaces_apply=aplica
|
||||
ifaces_err=Nu s-au putut aplica interfețele
|
||||
index_blockip_go=Blocați IP/CIDR
|
||||
index_blockip_placeholder=$1 sau $2
|
||||
index_blockip_permanent=Blocaj permanent
|
||||
block_err=IP-ul nu a fost blocat
|
||||
block_eip=Adresă IP sau interval CIDR nevalid
|
||||
index_listrules=Listează regulile FirewallD
|
||||
index_restart_firewalld=Reîncărcați FirewallD
|
||||
index_restart_firewallddesc=Reîncărcați serverul FirewallD și aplicați regulile care au fost create permanent.
|
||||
@@ -142,6 +148,8 @@ log_delete_forward=A fost eliminat $1 înainte
|
||||
log_update_forward=Actualizat înainte $1
|
||||
log_delete_rules=Șters $1 porturi permise
|
||||
log_ifaces_zone=Interfețe actualizate pentru zona $1
|
||||
log_ip_block=IP/CIDR blocat temporar $1
|
||||
log_ip_permblock=IP/CIDR blocat permanent $1
|
||||
log_create_zone=Zona creată $1
|
||||
log_delete_zone=Zona ștersă $1
|
||||
log_default_zone=Faceți zona $1 implicită
|
||||
|
||||
@@ -33,6 +33,12 @@ index_ifaces=Примените правила к интерфейсам:
|
||||
index_ifaces_def=Все интерфейсы
|
||||
index_ifaces_sel=Выбранные интерфейсы:
|
||||
index_ifaces_apply=Применять
|
||||
ifaces_err=Не удалось применить интерфейсы
|
||||
index_blockip_go=Блокировать IP/CIDR
|
||||
index_blockip_placeholder=$1 или $2
|
||||
index_blockip_permanent=Постоянный блок
|
||||
block_err=Не удалось заблокировать IP
|
||||
block_eip=Неверный IP-адрес или диапазон CIDR
|
||||
index_listrules=Получение списка правил FirewallD
|
||||
index_restart_firewalld=Перезагрузить брандмауэрD
|
||||
index_restart_firewallddesc=Перезагрузите сервер FirewallD и примените правила, которые были созданы навсегда.
|
||||
@@ -142,6 +148,8 @@ log_delete_forward=Удален вперед $1
|
||||
log_update_forward=Обновлен форвард $1
|
||||
log_delete_rules=Удалено $1 разрешенных портов
|
||||
log_ifaces_zone=Обновлены интерфейсы для зоны $1
|
||||
log_ip_block=Временно заблокирован IP/CIDR $1
|
||||
log_ip_permblock=Постоянно заблокированный IP/CIDR $1
|
||||
log_create_zone=Созданная зона $1
|
||||
log_delete_zone=Удаленная зона $1
|
||||
log_default_zone=Зона $1 сделана по умолчанию
|
||||
|
||||
@@ -33,6 +33,12 @@ index_ifaces=Použiť pravidlá na rozhrania:
|
||||
index_ifaces_def=Všetky rozhrania
|
||||
index_ifaces_sel=Vybrané rozhrania:
|
||||
index_ifaces_apply=Použiť
|
||||
ifaces_err=Nepodarilo sa použiť rozhrania
|
||||
index_blockip_go=Blokovať IP/CIDR
|
||||
index_blockip_placeholder=$1 alebo $2
|
||||
index_blockip_permanent=Trvalý blok
|
||||
block_err=Nepodarilo sa zablokovať IP
|
||||
block_eip=Neplatná adresa IP alebo rozsah CIDR
|
||||
index_listrules=Zoznam pravidiel FirewallD
|
||||
index_restart_firewalld=Znova načítajte FirewallD
|
||||
index_restart_firewallddesc=Znova načítajte server FirewallD a použite pravidlá, ktoré boli natrvalo vytvorené.
|
||||
@@ -142,6 +148,8 @@ log_delete_forward=Odstránené vpred $1
|
||||
log_update_forward=Aktualizované vpred $1
|
||||
log_delete_rules=Odstránené $1 povolené porty
|
||||
log_ifaces_zone=Aktualizované rozhrania pre zónu $1
|
||||
log_ip_block=Dočasne zablokovaná IP/CIDR $1
|
||||
log_ip_permblock=Natrvalo zablokovaná IP/CIDR $1
|
||||
log_create_zone=Vytvorená zóna $1
|
||||
log_delete_zone=Vymazaná zóna $1
|
||||
log_default_zone=Vyrobená zóna $1 je predvolená
|
||||
|
||||
@@ -33,6 +33,12 @@ index_ifaces=Uporabi pravila za vmesnike:
|
||||
index_ifaces_def=Vsi vmesniki
|
||||
index_ifaces_sel=Izbrani vmesniki:
|
||||
index_ifaces_apply=Prijavite se
|
||||
ifaces_err=Vmesnikov ni bilo mogoče uporabiti
|
||||
index_blockip_go=Blokiraj IP/CIDR
|
||||
index_blockip_placeholder=$1 ali $2
|
||||
index_blockip_permanent=Trajni blok
|
||||
block_err=IP-ja ni bilo mogoče blokirati
|
||||
block_eip=Neveljaven naslov IP ali obseg CIDR
|
||||
index_listrules=Seznam pravil FirewallD
|
||||
index_restart_firewalld=Ponovno naložite FirewallD
|
||||
index_restart_firewallddesc=Ponovno naložite strežnik FirewallD in uporabite pravila, ki so bila trajno ustvarjena.
|
||||
@@ -142,6 +148,8 @@ log_delete_forward=Odstranjeno naprej $1
|
||||
log_update_forward=Posodobljeno naprej $1
|
||||
log_delete_rules=Odstranjena so $1 dovoljena vrata
|
||||
log_ifaces_zone=Posodobljeni vmesniki za cono $1
|
||||
log_ip_block=Začasno blokiran IP/CIDR $1
|
||||
log_ip_permblock=Trajno blokiran IP/CIDR $1
|
||||
log_create_zone=Ustvarjeno območje $1
|
||||
log_delete_zone=Izbrisana cona $1
|
||||
log_default_zone=Območje $1 je privzeto
|
||||
|
||||
@@ -33,6 +33,12 @@ index_ifaces=Tillämpa regler på gränssnitt:
|
||||
index_ifaces_def=Alla gränssnitt
|
||||
index_ifaces_sel=Valda gränssnitt:
|
||||
index_ifaces_apply=Tillämpa
|
||||
ifaces_err=Det gick inte att tillämpa gränssnitt
|
||||
index_blockip_go=Blockera IP/CIDR
|
||||
index_blockip_placeholder=$1 eller $2
|
||||
index_blockip_permanent=Permanent block
|
||||
block_err=Det gick inte att blockera IP
|
||||
block_eip=Ogiltig IP-adress eller CIDR-intervall
|
||||
index_listrules=Lista FirewallD-regler
|
||||
index_restart_firewalld=Ladda om FirewallD
|
||||
index_restart_firewallddesc=Ladda om FirewallD-servern och tillämpa reglerna som skapades permanent.
|
||||
@@ -142,6 +148,8 @@ log_delete_forward=Borttagen framåt $1
|
||||
log_update_forward=Uppdaterad framåt $1
|
||||
log_delete_rules=Borttagna $1 tillåtna portar
|
||||
log_ifaces_zone=Uppdaterade gränssnitt för zon $1
|
||||
log_ip_block=Tillfälligt blockerad IP/CIDR $1
|
||||
log_ip_permblock=Permanent blockerad IP/CIDR $1
|
||||
log_create_zone=Skapad zon $1
|
||||
log_delete_zone=Raderad zon $1
|
||||
log_default_zone=Gjort zon $1 som standard
|
||||
|
||||
@@ -33,6 +33,12 @@ index_ifaces=ใช้กฎกับอินเตอร์เฟส:
|
||||
index_ifaces_def=อินเทอร์เฟซทั้งหมด
|
||||
index_ifaces_sel=อินเทอร์เฟซที่เลือก:
|
||||
index_ifaces_apply=นำมาใช้
|
||||
ifaces_err=ล้มเหลวในการใช้อินเทอร์เฟซ
|
||||
index_blockip_go=บล็อก IP/CIDR
|
||||
index_blockip_placeholder=$1 หรือ $2
|
||||
index_blockip_permanent=บล็อกถาวร
|
||||
block_err=ไม่สามารถบล็อก IP
|
||||
block_eip=ที่อยู่ IP หรือช่วง CIDR ไม่ถูกต้อง
|
||||
index_listrules=แสดงรายการกฎ FirewallD
|
||||
index_restart_firewalld=โหลดไฟร์วอลล์ใหม่D
|
||||
index_restart_firewallddesc=โหลดเซิร์ฟเวอร์ FirewallD ใหม่และใช้กฎที่สร้างขึ้นอย่างถาวร
|
||||
@@ -142,6 +148,8 @@ log_delete_forward=นำออกไปข้างหน้า $1
|
||||
log_update_forward=อัปเดตไปข้างหน้า $1
|
||||
log_delete_rules=ลบ $1 พอร์ตที่อนุญาต
|
||||
log_ifaces_zone=อัพเดทอินเทอร์เฟซสำหรับโซน $1
|
||||
log_ip_block=IP/CIDR $1 ที่ถูกบล็อกชั่วคราว
|
||||
log_ip_permblock=IP/CIDR $1 ที่ถูกบล็อกอย่างถาวร
|
||||
log_create_zone=สร้างโซน $1 แล้ว
|
||||
log_delete_zone=ลบเขต $1 แล้ว
|
||||
log_default_zone=ทำให้โซน $1 เป็นค่าเริ่มต้น
|
||||
|
||||
@@ -33,6 +33,12 @@ index_ifaces=Arabirimlere kurallar uygulayın:
|
||||
index_ifaces_def=Tüm arayüzler
|
||||
index_ifaces_sel=Seçilen arayüzler:
|
||||
index_ifaces_apply=Uygulamak
|
||||
ifaces_err=Arayüzler uygulanamadı
|
||||
index_blockip_go=IP/CIDR'yi engelle
|
||||
index_blockip_placeholder=$1 yada 2
|
||||
index_blockip_permanent=Kalıcı blok
|
||||
block_err=IP engellenemedi
|
||||
block_eip=Geçersiz IP adresi veya CIDR aralığı
|
||||
index_listrules=FirewallD Kurallarını Listeleme
|
||||
index_restart_firewalld=Güvenlik Duvarını Yeniden YükleD
|
||||
index_restart_firewallddesc=FirewallD sunucusunu yeniden yükleyin ve kalıcı olarak oluşturulmuş kuralları uygulayın.
|
||||
@@ -142,6 +148,8 @@ log_delete_forward=İleri $1 kaldırıldı
|
||||
log_update_forward=İleri güncellenme $1
|
||||
log_delete_rules=$1 izin verilen bağlantı noktası kaldırıldı
|
||||
log_ifaces_zone=$1 bölgesi için güncellenmiş arabirimler
|
||||
log_ip_block=Geçici olarak engellenen IP/CIDR $1
|
||||
log_ip_permblock=Kalıcı olarak engellenen IP/CIDR $1
|
||||
log_create_zone=$1 bölgesi oluşturuldu
|
||||
log_delete_zone=$1 silinen bölge
|
||||
log_default_zone=$1 bölgesi varsayılan hale getirildi
|
||||
|
||||
@@ -33,6 +33,12 @@ index_ifaces=Застосувати правила до інтерфейсів:
|
||||
index_ifaces_def=Усі інтерфейси
|
||||
index_ifaces_sel=Вибрані інтерфейси:
|
||||
index_ifaces_apply=Застосувати
|
||||
ifaces_err=Не вдалося застосувати інтерфейси
|
||||
index_blockip_go=Блокувати IP/CIDR
|
||||
index_blockip_placeholder=$1 або $2
|
||||
index_blockip_permanent=Постійний блок
|
||||
block_err=Не вдалося заблокувати IP
|
||||
block_eip=Недійсна IP-адреса або діапазон CIDR
|
||||
index_listrules=Перелік правил FirewallD
|
||||
index_restart_firewalld=Перезавантажте FirewallD
|
||||
index_restart_firewallddesc=Перезавантажте сервер FirewallD і застосуйте правила, які були створені постійно.
|
||||
@@ -142,6 +148,8 @@ log_delete_forward=Видалено вперед $1
|
||||
log_update_forward=Оновлено вперед $1
|
||||
log_delete_rules=Видалено $1 дозволені порти
|
||||
log_ifaces_zone=Оновлені інтерфейси для зони $1
|
||||
log_ip_block=Тимчасово заблоковано IP/CIDR $1
|
||||
log_ip_permblock=Назавжди заблокований IP/CIDR $1
|
||||
log_create_zone=Створена зона $1
|
||||
log_delete_zone=Видалена зона $1
|
||||
log_default_zone=Зона $1 за замовчуванням
|
||||
|
||||
@@ -33,6 +33,12 @@ index_ifaces=انٹرفیس پر قواعد لگائیں:
|
||||
index_ifaces_def=تمام انٹرفیس
|
||||
index_ifaces_sel=منتخب انٹرفیس:
|
||||
index_ifaces_apply=درخواست دیں
|
||||
ifaces_err=انٹرفیس لاگو کرنے میں ناکام
|
||||
index_blockip_go=بلاک IP/CIDR
|
||||
index_blockip_placeholder=$1 یا $2
|
||||
index_blockip_permanent=مستقل بلاک
|
||||
block_err=IP بلاک کرنے میں ناکام
|
||||
block_eip=غلط IP پتہ یا CIDR رینج
|
||||
index_listrules=FirewallD کے قواعد کی فہرست بنائیں
|
||||
index_restart_firewalld=فائر وال ڈی کو دوبارہ لوڈ کریں۔
|
||||
index_restart_firewallddesc=FirewallD سرور کو دوبارہ لوڈ کریں اور ان قوانین کو لاگو کریں جو مستقل طور پر بنائے گئے تھے۔
|
||||
@@ -142,6 +148,8 @@ log_delete_forward=آگے $1 ہٹا دیا گیا
|
||||
log_update_forward=آگے بڑھا کر$1
|
||||
log_delete_rules=$1 اجازت شدہ بندرگاہیں ہٹا دی گئیں
|
||||
log_ifaces_zone=زون$1 کے لئے تازہ کاری شدہ انٹرفیس
|
||||
log_ip_block=عارضی طور پر مسدود IP/CIDR $1
|
||||
log_ip_permblock=مستقل طور پر مسدود IP/CIDR $1
|
||||
log_create_zone=زون$1 تشکیل دیا گیا
|
||||
log_delete_zone=حذف شدہ زون$1
|
||||
log_default_zone=زون$1 کو پہلے سے طے شدہ بنایا
|
||||
|
||||
@@ -33,6 +33,12 @@ index_ifaces=Áp dụng quy tắc cho giao diện:
|
||||
index_ifaces_def=Tất cả các giao diện
|
||||
index_ifaces_sel=Các giao diện đã chọn:
|
||||
index_ifaces_apply=Nộp đơn
|
||||
ifaces_err=Không thể áp dụng giao diện
|
||||
index_blockip_go=Chặn IP/CIDR
|
||||
index_blockip_placeholder=$1 hoặc 2
|
||||
index_blockip_permanent=khối vĩnh viễn
|
||||
block_err=Không chặn được IP
|
||||
block_eip=Địa chỉ IP hoặc phạm vi CIDR không hợp lệ
|
||||
index_listrules=Liệt kê các quy tắc FirewallD
|
||||
index_restart_firewalld=Tải lại tường lửaD
|
||||
index_restart_firewallddesc=Tải lại máy chủ FirewallD và áp dụng các quy tắc đã được tạo vĩnh viễn.
|
||||
@@ -142,6 +148,8 @@ log_delete_forward=Đã xóa chuyển tiếp $1
|
||||
log_update_forward=Cập nhật chuyển tiếp $1
|
||||
log_delete_rules=Đã xóa $1 cổng được phép
|
||||
log_ifaces_zone=Giao diện được cập nhật cho vùng $1
|
||||
log_ip_block=IP/CIDR bị chặn tạm thời $1
|
||||
log_ip_permblock=IP/CIDR bị chặn vĩnh viễn $1
|
||||
log_create_zone=Đã tạo vùng $1
|
||||
log_delete_zone=Đã xóa vùng $1
|
||||
log_default_zone=Tạo vùng $1 làm mặc định
|
||||
|
||||
@@ -33,6 +33,12 @@ index_ifaces=将规则应用于接口:
|
||||
index_ifaces_def=所有接口
|
||||
index_ifaces_sel=选择的接口:
|
||||
index_ifaces_apply=申请
|
||||
ifaces_err=应用接口失败
|
||||
index_blockip_go=阻止 IP/CIDR
|
||||
index_blockip_placeholder=$1 或 $2
|
||||
index_blockip_permanent=永久封锁
|
||||
block_err=封禁 IP 失败
|
||||
block_eip=IP 地址或 CIDR 范围无效
|
||||
index_listrules=列出 FirewallD 规则
|
||||
index_restart_firewalld=重新加载防火墙D
|
||||
index_restart_firewallddesc=重新加载 FirewallD 服务器并应用永久创建的规则。
|
||||
@@ -142,6 +148,8 @@ log_delete_forward=向前删除 $1
|
||||
log_update_forward=已向前更新 $1
|
||||
log_delete_rules=删除了 $1允许的端口
|
||||
log_ifaces_zone=更新了区域 $1的接口
|
||||
log_ip_block=暂时阻止 IP/CIDR $1
|
||||
log_ip_permblock=永久阻止 IP/CIDR $1
|
||||
log_create_zone=创建的区域 $1
|
||||
log_delete_zone=区域 $1已删除
|
||||
log_default_zone=将区域 $1设置为默认区域
|
||||
|
||||
@@ -33,6 +33,12 @@ index_ifaces=將規則應用於接口:
|
||||
index_ifaces_def=所有接口
|
||||
index_ifaces_sel=選擇的接口:
|
||||
index_ifaces_apply=申請
|
||||
ifaces_err=申請介面失敗
|
||||
index_blockip_go=阻止 IP/CIDR
|
||||
index_blockip_placeholder=$1或$2
|
||||
index_blockip_permanent=永久封鎖
|
||||
block_err=封禁IP失敗
|
||||
block_eip=IP 位址或 CIDR 範圍無效
|
||||
index_listrules=列出 FirewallD 規則
|
||||
index_restart_firewalld=重新加載防火牆D
|
||||
index_restart_firewallddesc=重新加載 FirewallD 服務器並應用永久創建的規則。
|
||||
@@ -142,6 +148,8 @@ log_delete_forward=向前刪除 $1
|
||||
log_update_forward=已向前更新 $1
|
||||
log_delete_rules=刪除了 $1個允許的端口
|
||||
log_ifaces_zone=更新了區域 $1的接口
|
||||
log_ip_block=暫時封鎖 IP/CIDR $1
|
||||
log_ip_permblock=永久阻止 IP/CIDR $1
|
||||
log_create_zone=創建的區域 $1
|
||||
log_delete_zone=區域 $1已刪除
|
||||
log_default_zone=將區域 $1設置為默認區域
|
||||
|
||||
@@ -24,6 +24,10 @@ elsif ($type eq "zone") {
|
||||
return &text("log_${action}_${type}",
|
||||
"<tt>".&html_escape($object)."</tt>");
|
||||
}
|
||||
elsif ($type eq "block" || $type eq "permblock") {
|
||||
return &text("log_${action}_${type}",
|
||||
"<tt>".&html_escape($object)."</tt>");
|
||||
}
|
||||
else {
|
||||
return $text{"log_${action}"};
|
||||
}
|
||||
|
||||
@@ -41,8 +41,8 @@ if (&foreign_require($m) &&
|
||||
}
|
||||
|
||||
&webmin_log("_config_", undef, undef, \%in, $m);
|
||||
$redir = &link_config_cparams($m, \%in);
|
||||
if ($in{'save_next'}) {
|
||||
$redir = &link_config_cparams($m, \%in, 1);
|
||||
$params = $redir =~ /\?(.*)$/ ? "&".$1 : "";
|
||||
&redirect("config.cgi?module=$in{'module'}§ion=$in{'section_next'}".
|
||||
$params);
|
||||
@@ -51,6 +51,7 @@ elsif ($m eq "virtual-server") {
|
||||
&redirect("/right.cgi");
|
||||
}
|
||||
else {
|
||||
$redir = &link_config_cparams($m, \%in);
|
||||
&redirect($redir);
|
||||
}
|
||||
|
||||
|
||||
@@ -949,11 +949,28 @@ for(var i=0; i<tabnames.length; i++) {
|
||||
'<img src=$imgdir/lc2.gif alt=""></td>'+
|
||||
'<td class=\\'tabSelected\\' nowrap>'+
|
||||
' <b>'+title+'</b> </td>'+
|
||||
'<td valign=top class=\\'tabSelected\\'>'+
|
||||
'<td valign=top class=\\'tabSelected\\'>'+
|
||||
'<img src=$imgdir/rc2.gif alt=""></td>'+
|
||||
'</tr></table>';
|
||||
divobj.className = 'opener_shown';
|
||||
try {
|
||||
var nestedForm = divobj.querySelector("form[data-form-nested]");
|
||||
if (nestedForm) {
|
||||
var nestedFormId = nestedForm.getAttribute("data-form-nested"),
|
||||
formSubmitters = document
|
||||
.querySelectorAll(
|
||||
"[data-submit-nested='" + nestedFormId + "']");
|
||||
if (formSubmitters) {
|
||||
formSubmitters.forEach(function(submitter) {
|
||||
submitter.setAttribute(
|
||||
"form", nestedForm.getAttribute('id'));
|
||||
});
|
||||
}
|
||||
}
|
||||
} catch(e) {
|
||||
console.warn('Cannot set the related submitter ID of the nested form : ' + e);
|
||||
}
|
||||
}
|
||||
else {
|
||||
// Non-selected tab
|
||||
tabobj.innerHTML = '<table cellpadding=0 cellspacing=0><tr>'+
|
||||
|
||||
@@ -1,7 +1 @@
|
||||
body blockquote:not([style*="border-left"]) {
|
||||
border-left: 1px solid #ccc;
|
||||
margin-left: 6px;
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
padding-left: 12px;
|
||||
}
|
||||
body blockquote:not([style*="border-left"]){border-left:1px solid #ccc;margin-left:6px;margin-top:0;margin-bottom:0;padding-left:12px;}pre{white-space:break-spaces;margin:0 0 4px 0}
|
||||
@@ -29,9 +29,6 @@ table.ui_table thead td {
|
||||
table.sortable tbody td {
|
||||
padding: 2px;
|
||||
}
|
||||
table.ui_table td * {
|
||||
line-height:1.5em;
|
||||
}
|
||||
table.ui_table td textarea {line-height:normal; font-family:monospace;}
|
||||
table.ui_table td div.barchart * {
|
||||
margin: 0;
|
||||
@@ -55,9 +52,16 @@ div.ui_form_end_buttons {
|
||||
padding: 6px 3px;
|
||||
}
|
||||
.ui_form_end_buttons input {
|
||||
padding: 2px;
|
||||
padding: 1px;
|
||||
}
|
||||
table.ui_grid_table td { padding: 2px 4px; }
|
||||
.ui_form_value td > b > input+label+tt,
|
||||
.ui_form_value td > b > input+label {
|
||||
font-weight: normal !important;
|
||||
}
|
||||
table.ui_grid_table td {
|
||||
padding: 2px 4px;
|
||||
}
|
||||
select,
|
||||
input {
|
||||
padding: 1px;
|
||||
}
|
||||
|
||||
@@ -245,6 +245,11 @@ $navigation_type ||= 'reload';
|
||||
my $html_editor_init_script =
|
||||
<<EOF;
|
||||
<script type="text/javascript">
|
||||
function fn_${module_name}_quote_mail_iframe_loaded() {
|
||||
const editor = fn_${module_name}_html_editor_init.editor;
|
||||
editor.root.innerHTML = "\\n" + editor.root.innerHTML;
|
||||
fn_${module_name}_quote_mail_iframe_loaded = null;
|
||||
}
|
||||
function fn_${module_name}_html_editor_init() {
|
||||
const targ = document.querySelector('[$target_attr$target_type"$target_name"]'),
|
||||
qs = Quill.import('attributors/style/size'),
|
||||
@@ -277,6 +282,8 @@ my $html_editor_init_script =
|
||||
theme: 'snow'
|
||||
});
|
||||
|
||||
fn_${module_name}_html_editor_init.editor = editor;
|
||||
|
||||
// Google Mail like key bind for creating numbered list (Ctrl+Shift+7)
|
||||
editor.keyboard.addBinding({
|
||||
key: '7',
|
||||
|
||||
@@ -122,24 +122,7 @@ elsif ($init_mode eq "win32") {
|
||||
}
|
||||
elsif ($init_mode eq "systemd") {
|
||||
# Create systemd
|
||||
&enable_at_boot(
|
||||
$product,
|
||||
"$ucproduct server daemon",
|
||||
"$root_directory/miniserv.pl $config_directory/miniserv.conf",
|
||||
"$kill \$MAINPID",
|
||||
undef,
|
||||
{ 'pidfile' => "$var_directory/miniserv.pid",
|
||||
'opts' => {
|
||||
'env' => '"PERLLIB=' . $root_directory . '"',
|
||||
'stop' => "$kill \$MAINPID",
|
||||
'reload' => "$kill -HUP \$MAINPID",
|
||||
'type' => 'forking',
|
||||
'restart' => 'always',
|
||||
'restartsec' => '2s',
|
||||
'timeout' => '15s',
|
||||
'timeoutstopsec' => '300s',
|
||||
}},
|
||||
);
|
||||
# See updateboot.pl
|
||||
}
|
||||
elsif ($init_mode eq "rc" || $init_mode eq "upstart") {
|
||||
# Create RC or upstart script
|
||||
|
||||
@@ -2371,6 +2371,8 @@ if (ref($opts)) {
|
||||
&print_tempfile(CFILE, "ExecReload=$kill -HUP \$MAINPID\n") if ($opts->{'reload'} eq '0');
|
||||
&print_tempfile(CFILE, "ExecStop=$opts->{'stop'}\n") if ($opts->{'stop'});
|
||||
&print_tempfile(CFILE, "ExecReload=$opts->{'reload'}\n") if ($opts->{'reload'});
|
||||
&print_tempfile(CFILE, "ExecStartPre=$opts->{'startpre'}\n") if ($opts->{'startpre'});
|
||||
&print_tempfile(CFILE, "ExecStartPost=$opts->{'startpost'}\n") if ($opts->{'startpost'});
|
||||
&print_tempfile(CFILE, "Type=$opts->{'type'}\n") if ($opts->{'type'});
|
||||
&print_tempfile(CFILE, "Environment=\"$opts->{'env'}\"\n") if ($opts->{'env'});
|
||||
&print_tempfile(CFILE, "User=$opts->{'user'}\n") if ($opts->{'user'});
|
||||
@@ -2381,8 +2383,8 @@ if (ref($opts)) {
|
||||
&print_tempfile(CFILE, "RestartSec=$opts->{'restartsec'}\n") if ($opts->{'restartsec'});
|
||||
&print_tempfile(CFILE, "TimeoutSec=$opts->{'timeout'}\n") if ($opts->{'timeout'});
|
||||
&print_tempfile(CFILE, "TimeoutStopSec=$opts->{'timeoutstopsec'}\n") if ($opts->{'timeoutstopsec'});
|
||||
&print_tempfile(CFILE, "StandardOutput=file:$opts->{'logstd'}\n") if ($opts->{'logstd'});
|
||||
&print_tempfile(CFILE, "StandardError=file:$opts->{'logerr'}\n") if ($opts->{'logerr'});
|
||||
&print_tempfile(CFILE, "StandardOutput=".($opts->{'logstd'} =~ /^\// ? 'file:' : '')."$opts->{'logstd'}\n") if ($opts->{'logstd'});
|
||||
&print_tempfile(CFILE, "StandardError=".($opts->{'logerr'} =~ /^\// ? 'file:' : '')."$opts->{'logerr'}\n") if ($opts->{'logerr'});
|
||||
}
|
||||
|
||||
&print_tempfile(CFILE, "\n");
|
||||
|
||||
@@ -11,6 +11,14 @@ $< == 0 || die "updateboot.pl must be run as root";
|
||||
# Update boot script
|
||||
if ($product) {
|
||||
if ($init_mode eq "systemd") {
|
||||
my $reload_daemon = sub {
|
||||
system("systemctl daemon-reload >/dev/null 2>&1");
|
||||
sleep(2);
|
||||
};
|
||||
# Save status of service
|
||||
my $status = &backquote_logged("systemctl is-enabled ".
|
||||
quotemeta($product).".service 2>&1");
|
||||
$status = &trim($status) if ($status);
|
||||
# Delete all possible service files
|
||||
my $systemd_root = &get_systemd_root();
|
||||
foreach my $p (
|
||||
@@ -20,6 +28,8 @@ if ($product) {
|
||||
unlink("$p/$product.service");
|
||||
unlink("$p/$product");
|
||||
}
|
||||
$reload_daemon->();
|
||||
|
||||
my $temp = &transname();
|
||||
my $killcmd = &has_command('kill');
|
||||
$ENV{'WEBMIN_KILLCMD'} = $killcmd;
|
||||
@@ -29,8 +39,22 @@ if ($product) {
|
||||
$l =~ s/(WEBMIN_[A-Z]+)/$ENV{$1}/g;
|
||||
}
|
||||
&flush_file_lines($temp);
|
||||
|
||||
copy_source_dest($temp, "$systemd_root/$product.service");
|
||||
system("systemctl daemon-reload >/dev/null 2>&1");
|
||||
$reload_daemon->();
|
||||
|
||||
if ($status eq "disabled") {
|
||||
system("systemctl disable ".
|
||||
quotemeta($product).".service >/dev/null 2>&1");
|
||||
}
|
||||
elsif ($status eq "masked") {
|
||||
system("systemctl mask ".
|
||||
quotemeta($product).".service >/dev/null 2>&1");
|
||||
}
|
||||
else {
|
||||
system("systemctl enable ".
|
||||
quotemeta($product).".service >/dev/null 2>&1");
|
||||
}
|
||||
}
|
||||
elsif (-d "/etc/init.d") {
|
||||
copy_source_dest("$root_directory/webmin-init", "/etc/init.d/$product");
|
||||
|
||||
@@ -16,6 +16,7 @@ longcategory_cluster=Modules wat verskeie bedieners vanaf 'n enkele koppelvlak k
|
||||
longcategory_info=Modules wat inligting oor u stelsel vertoon
|
||||
longcategory_=Modules wat ander diverse take verrig
|
||||
|
||||
or=of
|
||||
error_previous=vorige bladsy
|
||||
error_stack=Bel stapelspoor
|
||||
error_file=lêer
|
||||
@@ -203,3 +204,5 @@ file_truncated_message_head=begin $1 van die data, afgekap $2 uit $3
|
||||
file_truncated_message_tail=beëindig $1 van die data, afgekap $2 uit $3
|
||||
|
||||
defcert_error=Verstek $1 gebundelde SSL-sertifikaat word gebruik. Dit word sterk aangeraai om verstek <tt>$2</tt>-sertifikaat op te dateer voordat u met aanmelding voortgaan.
|
||||
|
||||
main_error_details=Foutbesonderhede
|
||||
|
||||
@@ -2,6 +2,7 @@ category_=أدوات
|
||||
|
||||
longcategory_=الوحدات التي تؤدي مهام متنوعة أخرى
|
||||
|
||||
or=أو
|
||||
config_emodule=وحدة غير موجودة
|
||||
|
||||
help_efile3=فشلت قراءة صفحة التعليمات $1 من الوحدة النمطية$2
|
||||
@@ -34,3 +35,5 @@ file_truncated_message_head=تم جلب بداية$1 من البيانات ، ت
|
||||
file_truncated_message_tail=تم جلب إنهاء$1 من البيانات ، اقتطاع$2 من$3
|
||||
|
||||
defcert_error=يتم استخدام شهادة SSL المجمعة الافتراضية$1. يُنصح بشدة بتحديث شهادة <tt>$2</tt> الافتراضية قبل متابعة تسجيل الدخول.
|
||||
|
||||
main_error_details=تفاصيل الخطأ
|
||||
|
||||
@@ -43,6 +43,7 @@ header_servers=Серверы Webmin
|
||||
index=паказальнік
|
||||
yes=Так
|
||||
no=Не
|
||||
or=або
|
||||
save=Захаваць
|
||||
create=Ствары
|
||||
delete=Выдаліць
|
||||
@@ -391,3 +392,5 @@ file_truncated_message_head=атрымана пачатак $1 дадзеных,
|
||||
file_truncated_message_tail=атрымана заканчэнне $1 дадзеных, усечана $2 з $3
|
||||
|
||||
defcert_error=Выкарыстоўваецца пакетны сертыфікат SSL па змаўчанні $1. Настойліва рэкамендуецца абнавіць стандартны сертыфікат <tt>$2</tt>, перш чым працягнуць уваход.
|
||||
|
||||
main_error_details=Дэталі памылкі
|
||||
|
||||
@@ -7,6 +7,7 @@ category_=Инструменти
|
||||
|
||||
longcategory_=Модули, които изпълняват други различни задачи
|
||||
|
||||
or=или
|
||||
error_previous=предишна страница
|
||||
error_stack=Проследяване на стека на обажданията
|
||||
error_file=досие
|
||||
@@ -192,3 +193,5 @@ file_truncated_message_head=извлечено начало $1 от данни,
|
||||
file_truncated_message_tail=извлечен завършващ $1 от данни, съкратен $2 от $3
|
||||
|
||||
defcert_error=Използва се пакетен SSL сертификат по подразбиране $1. Силно се препоръчва да актуализирате сертификата <tt>$2</tt> по подразбиране, преди да продължите с влизането.
|
||||
|
||||
main_error_details=Подробности за грешка
|
||||
|
||||
@@ -2,6 +2,7 @@ category_=Eines
|
||||
|
||||
longcategory_=Mòduls que realitzen altres tasques diverses
|
||||
|
||||
or=o
|
||||
config_emodule=El mòdul no existeix
|
||||
|
||||
help_efile3=No s'ha pogut llegir la pàgina d'ajuda $1 del mòdul $2
|
||||
@@ -38,3 +39,5 @@ file_truncated_message_head=s'ha obtingut l'inici de $1 de dades, s'ha truncat $
|
||||
file_truncated_message_tail=S'ha obtingut el final $1 de dades, s'ha truncat $2 de $3
|
||||
|
||||
defcert_error=S'està utilitzant el certificat SSL agrupat $1 per defecte. És molt recomanable actualitzar el certificat per defecte <tt>$2</tt> abans de continuar amb l'inici de sessió.
|
||||
|
||||
main_error_details=Detalls de l'error
|
||||
|
||||
@@ -2,6 +2,7 @@ category_=Nástroje
|
||||
|
||||
longcategory_=Moduly, které plní další různé úkoly
|
||||
|
||||
or=nebo
|
||||
fail=Selhalo
|
||||
|
||||
config_emodule=Modul neexistuje
|
||||
@@ -47,3 +48,5 @@ file_truncated_message_head=načteno začátek $1 dat, zkráceno $2 z $3
|
||||
file_truncated_message_tail=načtený konec $1 dat, zkrácen $2 z $3
|
||||
|
||||
defcert_error=Používá se výchozí $1 přiložený certifikát SSL. Před pokračováním v přihlášení se důrazně doporučuje aktualizovat výchozí certifikát <tt>$2</tt>.
|
||||
|
||||
main_error_details=Detaily chyby
|
||||
|
||||
@@ -2,6 +2,7 @@ category_=Værktøjer
|
||||
|
||||
longcategory_=Moduler, der udfører andre diverse opgaver
|
||||
|
||||
or=eller
|
||||
config_emodule=Modulet findes ikke
|
||||
|
||||
help_efile3=Kunne ikke læse hjælpesiden $1 fra modulet $2
|
||||
@@ -34,3 +35,5 @@ file_truncated_message_head=hentet start $1 af data, afkortet $2 ud af $3
|
||||
file_truncated_message_tail=hentet slutning $1 af data, afkortet $2 ud af $3
|
||||
|
||||
defcert_error=Standard $1 bundtet SSL-certifikat bruges. Det anbefales stærkt at opdatere standard <tt>$2</tt> certifikat, før du fortsætter med login.
|
||||
|
||||
main_error_details=Fejldetaljer
|
||||
|
||||
@@ -2,6 +2,7 @@ category_=Werkzeuge
|
||||
|
||||
longcategory_=Module, die andere verschiedene Aufgaben ausführen
|
||||
|
||||
or=oder
|
||||
help_efile3=Hilfeseite $1 aus Modul $2 konnte nicht gelesen werden
|
||||
help_einclude3=Die Hilfeseite $1 konnte nicht eingebunden werden
|
||||
|
||||
@@ -20,3 +21,5 @@ file_truncated_message_head=Anfang $1 der Daten abgerufen, $2 von $3 abgeschnitt
|
||||
file_truncated_message_tail=Abgerufenes Ende $1 der Daten, abgeschnittenes $2 von $3
|
||||
|
||||
defcert_error=Das standardmäßige gebündelte SSL-Zertifikat $1 wird verwendet. Es wird dringend empfohlen, das Standardzertifikat <tt>$2</tt> zu aktualisieren, bevor Sie mit der Anmeldung fortfahren.
|
||||
|
||||
main_error_details=Fehlerdetails
|
||||
|
||||
@@ -6,6 +6,7 @@ category_=Εργαλεία
|
||||
|
||||
longcategory_=Ενότητες που εκτελούν άλλες διάφορες εργασίες
|
||||
|
||||
or=ή
|
||||
fail=Απέτυχε
|
||||
euserdbacl=Δεν ήταν δυνατή η εξαγωγή του χρήστη ACL : $1
|
||||
euserdbacl2=Αποτυχία ενημέρωσης του χρήστη ACL : $1
|
||||
@@ -115,3 +116,5 @@ file_truncated_message_head=ανάκτησε την αρχή $1 των δεδο
|
||||
file_truncated_message_tail=ανακτήθηκε το $1 των δεδομένων, περικοπή $2 από το $3
|
||||
|
||||
defcert_error=Χρησιμοποιείται το προεπιλεγμένο $1 ομαδοποιημένο πιστοποιητικό SSL. Συνιστάται ιδιαίτερα να ενημερώσετε το προεπιλεγμένο πιστοποιητικό <tt>$2</tt> πριν προχωρήσετε στη σύνδεση.
|
||||
|
||||
main_error_details=Λεπτομέρειες σφάλματος
|
||||
|
||||
1
lang/en
1
lang/en
@@ -43,6 +43,7 @@ header_servers=Webmin Servers
|
||||
index=index
|
||||
yes=Yes
|
||||
no=No
|
||||
or=or
|
||||
save=Save
|
||||
create=Create
|
||||
delete=Delete
|
||||
|
||||
@@ -2,6 +2,7 @@ category_=Herramientas
|
||||
|
||||
longcategory_=Módulos que realizan otras tareas diversas
|
||||
|
||||
or=o
|
||||
help_efile3=Error al leer la página de ayuda $1 del módulo $2
|
||||
help_einclude3=Error al incluir la página de ayuda $1
|
||||
|
||||
@@ -22,3 +23,5 @@ file_truncated_message_head=obtenido $1 de inicio de datos, $2 truncado de $3
|
||||
file_truncated_message_tail=obtenido el final $1 de los datos, truncado $2 de $3
|
||||
|
||||
defcert_error=Se está utilizando el certificado SSL agrupado predeterminado $1. Se recomienda encarecidamente actualizar el certificado <tt>$2</tt> predeterminado antes de continuar con el inicio de sesión.
|
||||
|
||||
main_error_details=Error de detalles
|
||||
|
||||
@@ -5,6 +5,7 @@ category_=Tresnak
|
||||
|
||||
longcategory_=Askotariko zereginak betetzen dituzten moduluak
|
||||
|
||||
or=edo
|
||||
fail=Huts
|
||||
euserdbacl=Huts egin du ACL erabiltzailea eskuratzean : $1
|
||||
euserdbacl2=Huts egin du ACL erabiltzailea eguneratzean : $1
|
||||
@@ -93,3 +94,5 @@ file_truncated_message_head=$1 hasierako datuak eskuratu ditu, $2 moztu dira $3
|
||||
file_truncated_message_tail=datuen $1 amaiera lortu da, $2 moztu da $3 tik
|
||||
|
||||
defcert_error=$1 SSL ziurtagiri lehenetsia erabiltzen ari da. Oso gomendagarria da <tt>$2</tt> ziurtagiri lehenetsia eguneratzea saioa hasi aurretik.
|
||||
|
||||
main_error_details=Errorearen xehetasunak
|
||||
|
||||
@@ -7,6 +7,7 @@ category_=ابزارها
|
||||
|
||||
longcategory_=ماژول هایی که کارهای متفرقه دیگر را انجام می دهند
|
||||
|
||||
or=یا
|
||||
error_previous=صفحه قبلی
|
||||
error_stack=با Stack Trace تماس بگیرید
|
||||
error_file=فایل
|
||||
@@ -148,3 +149,5 @@ file_truncated_message_head=شروع$1 داده ها ،$2 از$3 کوتاه شد
|
||||
file_truncated_message_tail=واکشی شده$1 داده پایان یافته ،$2 از$3 کوتاه شده
|
||||
|
||||
defcert_error=Ú¯ÙØ§ÙÛ SSL ÙÙ
Ø±Ø§Ù Ù¾ÛØ´Ùرض $1 در ØØ§Ù Ø§Ø³ØªÙØ§Ø¯Ù است. Ø¨ÙØ´Ø¯Øª ØªÙØµÛÙ Ù
ÛØ´Ùد ÙØ¨Ù از ÙØ±Ùد Ø¨Ù Ø³ÛØ³ØªÙ
Ø Ú¯ÙØ§ÙÛ Ù¾ÛØ´Ùرض <tt>$2</tt> را Ø¨ÙØ±ÙزرساÙÛ Ú©ÙÛØ¯.
|
||||
|
||||
main_error_details=جزئیات خطا
|
||||
|
||||
@@ -6,6 +6,7 @@ category_=Työkalut
|
||||
|
||||
longcategory_=Moduulit, jotka suorittavat muita sekalaisia tehtäviä
|
||||
|
||||
or=tai
|
||||
fail=epäonnistui
|
||||
euserdbacl=Käyttäjän ACL: n nouto epäonnistui : $1
|
||||
euserdbacl2=Käyttäjän ACL: n päivitys epäonnistui : $1
|
||||
@@ -115,3 +116,5 @@ file_truncated_message_head=noutaa tiedon alun $1, katkaisi $2 / $3
|
||||
file_truncated_message_tail=haettu loppu $1 datasta, katkaistu $2 / $3
|
||||
|
||||
defcert_error=Oletusarvoinen $1 niputettu SSL-varmenne on käytössä. On erittäin suositeltavaa päivittää oletussertifikaatti <tt>$2</tt> ennen kuin jatkat kirjautumista.
|
||||
|
||||
main_error_details=Virheen tiedot
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user