mirror of
https://github.com/webmin/webmin.git
synced 2026-02-06 15:32:20 +00:00
Compare commits
230 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9d55206c69 | ||
|
|
c2fe651b16 | ||
|
|
ff81498f73 | ||
|
|
1d380f8665 | ||
|
|
d4aada9248 | ||
|
|
e0da240903 | ||
|
|
4cd05d0777 | ||
|
|
207570d6c6 | ||
|
|
df520db5bd | ||
|
|
6a725d590b | ||
|
|
f00784fce8 | ||
|
|
495ab59f09 | ||
|
|
7d69745da2 | ||
|
|
a32f9ab50f | ||
|
|
6922e89582 | ||
|
|
c8b583b848 | ||
|
|
78fa0a6d02 | ||
|
|
a6fc0360ac | ||
|
|
151fd07c20 | ||
|
|
34ba810c40 | ||
|
|
f67563902c | ||
|
|
fe9172c70e | ||
|
|
8c6b2a3021 | ||
|
|
3ee53333ca | ||
|
|
694a9ef746 | ||
|
|
62f88f3141 | ||
|
|
bc0faf3a27 | ||
|
|
bd3e9c7d06 | ||
|
|
b2412b46d8 | ||
|
|
ff6f59339b | ||
|
|
2cb7691e37 | ||
|
|
24d15b1444 | ||
|
|
4d39b7233c | ||
|
|
897f0d06fe | ||
|
|
95cafd87b1 | ||
|
|
5856d46c6c | ||
|
|
31d3aa2782 | ||
|
|
799a0e8efd | ||
|
|
028dc5a7bd | ||
|
|
27a1ccf257 | ||
|
|
22abe602ed | ||
|
|
524c6678a6 | ||
|
|
a74744d914 | ||
|
|
fe1e459d62 | ||
|
|
c1430d3c78 | ||
|
|
e41d7bbceb | ||
|
|
b5438d5e74 | ||
|
|
ed4f4574e7 | ||
|
|
9eea0dc202 | ||
|
|
188aef4d97 | ||
|
|
12ca5b702e | ||
|
|
1669d55c67 | ||
|
|
4c9d6774aa | ||
|
|
28b906abb2 | ||
|
|
1e6fd5eb7c | ||
|
|
155bf542f8 | ||
|
|
c9f43f70d6 | ||
|
|
3ec46a61db | ||
|
|
e663dc10fd | ||
|
|
2f9e91b9e1 | ||
|
|
8509f841ba | ||
|
|
1138bff9e4 | ||
|
|
6461d8f245 | ||
|
|
90bf845504 | ||
|
|
0c348a754f | ||
|
|
106607b967 | ||
|
|
8f7acb24bf | ||
|
|
1dbe198aa3 | ||
|
|
33247f4fab | ||
|
|
8a28399cb4 | ||
|
|
102047efa8 | ||
|
|
fbc19a3d1a | ||
|
|
aae1c32030 | ||
|
|
0301c4751d | ||
|
|
926f35e7e8 | ||
|
|
1d299ecd00 | ||
|
|
2a9e9e491f | ||
|
|
fe39f816b3 | ||
|
|
473b72f98c | ||
|
|
73498f60bb | ||
|
|
938965c9d2 | ||
|
|
64b3e7d792 | ||
|
|
9cdeb188d8 | ||
|
|
2efc68fcdc | ||
|
|
0e68254f26 | ||
|
|
4e9408b048 | ||
|
|
0213ee0371 | ||
|
|
f5ebb0a1cf | ||
|
|
9b12008cd1 | ||
|
|
5db4f95687 | ||
|
|
6fe30eb104 | ||
|
|
1709426f3f | ||
|
|
838f90c8d7 | ||
|
|
ef01659b5b | ||
|
|
dc3099abe8 | ||
|
|
fc098eaa15 | ||
|
|
17747f5e6a | ||
|
|
8cb9515e0b | ||
|
|
1faed086a6 | ||
|
|
121f5afa5e | ||
|
|
a058b34461 | ||
|
|
e39e25f637 | ||
|
|
96bf8e0429 | ||
|
|
a5db48b268 | ||
|
|
4cf90d07ac | ||
|
|
f7a864b15e | ||
|
|
bd1fb03888 | ||
|
|
d48b4c0432 | ||
|
|
9e37f09bea | ||
|
|
b077a832b5 | ||
|
|
f6e7b851d2 | ||
|
|
cd40658ada | ||
|
|
fcc9677c89 | ||
|
|
c6fa750dc8 | ||
|
|
39ae4107f2 | ||
|
|
250a3f7ce6 | ||
|
|
e9e453cc2d | ||
|
|
6efc7363b8 | ||
|
|
a45f60a969 | ||
|
|
3615770fbe | ||
|
|
9ccf4fd7df | ||
|
|
c89225bd68 | ||
|
|
7e5556f530 | ||
|
|
f8c8487ac3 | ||
|
|
cae261ed84 | ||
|
|
aabd5f7a4f | ||
|
|
77795a6c40 | ||
|
|
3673c08687 | ||
|
|
97b71af97c | ||
|
|
a623f44b84 | ||
|
|
39a4574aae | ||
|
|
ccc5f260c4 | ||
|
|
83400e5edc | ||
|
|
02ae0fc5ae | ||
|
|
47694dac77 | ||
|
|
ea6e798b0e | ||
|
|
16204e7dcd | ||
|
|
efa9057d30 | ||
|
|
c11deb3936 | ||
|
|
d5e23a92e5 | ||
|
|
d195ccbbf2 | ||
|
|
61322d3ccb | ||
|
|
2d6bec06dc | ||
|
|
3430c74fe2 | ||
|
|
16949927d6 | ||
|
|
a8cf0a8e78 | ||
|
|
3d5802bcaf | ||
|
|
fa3a61c5a7 | ||
|
|
5d55867393 | ||
|
|
81f657fa15 | ||
|
|
41b8d4da9a | ||
|
|
450264d182 | ||
|
|
be4da986ec | ||
|
|
98c2a76499 | ||
|
|
f1e2287b3a | ||
|
|
dfdacb3a26 | ||
|
|
9924f44c05 | ||
|
|
d055e86901 | ||
|
|
d9d94fd394 | ||
|
|
d35cffade9 | ||
|
|
cd6939bf8a | ||
|
|
5672b61358 | ||
|
|
8b564f10e3 | ||
|
|
39b80ee1ec | ||
|
|
7e1b9071e1 | ||
|
|
7930a03763 | ||
|
|
ae23abc827 | ||
|
|
f71283ae40 | ||
|
|
0832cd40a1 | ||
|
|
aa4532ff1b | ||
|
|
adecd320f5 | ||
|
|
8ec0c144d2 | ||
|
|
b2620accf8 | ||
|
|
f2d77a7bee | ||
|
|
f4bb5a843a | ||
|
|
5090c85338 | ||
|
|
f145fb02cf | ||
|
|
cdc89c352a | ||
|
|
4c537d0fd8 | ||
|
|
95a4c2c956 | ||
|
|
1a4d536351 | ||
|
|
4e4f82713e | ||
|
|
6434f896dc | ||
|
|
4a3dfb308b | ||
|
|
cb2eb0c95d | ||
|
|
b134e9e0d7 | ||
|
|
28b90e1b37 | ||
|
|
e9c0383a3c | ||
|
|
1118c2bb2f | ||
|
|
caea0eee60 | ||
|
|
573d39e146 | ||
|
|
3c41e0e816 | ||
|
|
eb950ff47d | ||
|
|
c9bde07cfd | ||
|
|
44a1b68426 | ||
|
|
d0ebb3783e | ||
|
|
f8a9353408 | ||
|
|
0eae027dbc | ||
|
|
278ec5cd76 | ||
|
|
a6a20642fb | ||
|
|
7efe201a27 | ||
|
|
39bb0a681c | ||
|
|
2d896443eb | ||
|
|
a6d1f74f1f | ||
|
|
8ab1cc4abc | ||
|
|
269bc80ec3 | ||
|
|
9871556169 | ||
|
|
e3ef1b9fce | ||
|
|
ad9bc2701d | ||
|
|
2468ea1001 | ||
|
|
cef1b1332a | ||
|
|
ed11ba25c6 | ||
|
|
efae515c1f | ||
|
|
a4412fcbe8 | ||
|
|
eba13b74c9 | ||
|
|
3548188c38 | ||
|
|
36968f5362 | ||
|
|
2b77e8f020 | ||
|
|
700b4f696e | ||
|
|
bb24d89ddb | ||
|
|
f0c0efb411 | ||
|
|
ea7d904d90 | ||
|
|
deed37b482 | ||
|
|
5cd13920a8 | ||
|
|
8227e56084 | ||
|
|
57efdd9a28 | ||
|
|
b36d0f955c | ||
|
|
5e5f6cd916 | ||
|
|
4e81ecb659 | ||
|
|
88679cff5a |
@@ -221,3 +221,10 @@ Catalan translation updates from Jaume Badiella.
|
||||
Norwegian updates, thanks to Stein-Aksel Basma.
|
||||
Catalan translation updates from Jaume Badiella.
|
||||
More German translation updates, thanks to Raymond Vetter.
|
||||
---- Changes since 1.750 ----
|
||||
Norwegian updates, thanks to Stein-Aksel Basma.
|
||||
Catalan translation updates from Jaume Badiella.
|
||||
More German translation updates, thanks to Raymond Vetter.
|
||||
Fixed an XSS bug that allowed xmlrpc.cgi to be abused by a malicious link.
|
||||
---- Changes since 1.760 ----
|
||||
For new installs, switched the location of data files in many modules to /var/webmin instead of /etc/webmin.
|
||||
|
||||
2
README
2
README
@@ -1,4 +1,4 @@
|
||||
Webmin Version 1.750
|
||||
Webmin Version 1.770
|
||||
--------------------
|
||||
Webmin is a web-based interface for system administration for Unix.
|
||||
Using any browser that supports tables and forms, you can setup user
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -257,7 +257,11 @@ else{ /* end IE initialization, try to deal with real browsers now ;-) */
|
||||
/**
|
||||
* <p>Emulate IE's onreadystatechange attribute</p>
|
||||
*/
|
||||
XMLDocument.prototype.onreadystatechange = null;
|
||||
try {
|
||||
XMLDocument.prototype.onreadystatechange = null;
|
||||
} catch(err) {
|
||||
// May fail on Chrome 43+
|
||||
}
|
||||
/**
|
||||
* <p>Emulates IE's readyState property, which always gives an integer from 0 to 4:</p>
|
||||
* <ul><li>1 == LOADING,</li>
|
||||
|
||||
@@ -2,9 +2,9 @@ show_list=0
|
||||
httpd_dir=/etc/httpd
|
||||
httpd_path=/usr/sbin/httpd
|
||||
mime_types=/etc/mime.types
|
||||
start_cmd=service httpd start
|
||||
apply_cmd=service httpd reload
|
||||
stop_cmd=service httpd stop
|
||||
start_cmd=systemctl start httpd.service
|
||||
apply_cmd=systemctl reload httpd.service
|
||||
stop_cmd=systemctl stop httpd.service
|
||||
show_order=0
|
||||
max_servers=100
|
||||
test_config=1
|
||||
|
||||
@@ -2,9 +2,9 @@ show_list=0
|
||||
httpd_dir=/etc/httpd
|
||||
httpd_path=/usr/sbin/httpd
|
||||
mime_types=/etc/mime.types
|
||||
start_cmd=service httpd start
|
||||
apply_cmd=service httpd reload
|
||||
stop_cmd=service httpd stop
|
||||
start_cmd=systemctl start httpd.service
|
||||
apply_cmd=systemctl reload httpd.service
|
||||
stop_cmd=systemctl stop httpd.service
|
||||
show_order=0
|
||||
max_servers=100
|
||||
test_config=1
|
||||
|
||||
@@ -2,9 +2,9 @@ show_list=0
|
||||
httpd_dir=/etc/httpd
|
||||
httpd_path=/usr/sbin/httpd
|
||||
mime_types=/etc/mime.types
|
||||
start_cmd=service httpd start
|
||||
apply_cmd=service httpd reload
|
||||
stop_cmd=service httpd stop
|
||||
start_cmd=systemctl start httpd.service
|
||||
apply_cmd=systemctl reload httpd.service
|
||||
stop_cmd=systemctl stop httpd.service
|
||||
show_order=0
|
||||
max_servers=100
|
||||
test_config=1
|
||||
|
||||
@@ -366,6 +366,7 @@ if ($_[0]->{'version'} < 2.0) {
|
||||
}
|
||||
else {
|
||||
# Apache 2.0 just uses Listen directives
|
||||
local %doneport;
|
||||
for($i=0; $i<@blist; $i++) {
|
||||
if (&check_ip6address($blist[$i])) {
|
||||
$blist[$i] = "[".$blist[$i]."]";
|
||||
@@ -375,6 +376,10 @@ else {
|
||||
}
|
||||
elsif ($blist[$i] ne "*") { push(@l, $blist[$i]); }
|
||||
else { push(@l, "*:$plist[$i]"); }
|
||||
if ($doneport{$l[$#l]}++) {
|
||||
# Same listen given twice
|
||||
&error(&text('core_eduplisten', $l[$#l]));
|
||||
}
|
||||
if ($_[0]->{'version'} >= 2.4 && $slist[$i]) {
|
||||
$l[$#l] .= " ".$slist[$i];
|
||||
}
|
||||
|
||||
@@ -220,6 +220,11 @@ foreach $v (@virt) {
|
||||
if (&find_vdirective("SSLEngine", $vm, $conf, 1) eq "on") {
|
||||
$prot = "https";
|
||||
}
|
||||
elsif ($port == 443) {
|
||||
$prot = "https";
|
||||
}
|
||||
$sp = undef if ($sp == 80 && $prot eq "http" ||
|
||||
$sp == 443 && $prot eq "https");
|
||||
push(@vurl, $sp ? "$prot://$sn:$sp/" : "$prot://$sn/");
|
||||
}
|
||||
|
||||
@@ -368,10 +373,12 @@ else {
|
||||
print "<table width=100% cellpadding=5>\n";
|
||||
for($i=0; $i<@vname; $i++) {
|
||||
print "<tr class='mainbody ".($i % 2 ? 'row0' : 'row1')."'> <td valign=top align=center nowrap>";
|
||||
print '<div class="row icons-row inline-row">';
|
||||
&generate_icon("images/virt.gif", $vname[$i], $vlink[$i],
|
||||
undef, undef, undef,
|
||||
$vidx[$i] && $access{'vaddr'} ?
|
||||
&ui_checkbox("d", $vidx[$i]) : "");
|
||||
print "</div>\n";
|
||||
print "</td> <td valign=top>\n";
|
||||
print "$vdesc[$i]<br>\n";
|
||||
print "<table width=100%><tr>\n";
|
||||
|
||||
@@ -186,6 +186,7 @@ core_edefchar=Fehlender oder ungültiger Zeichensatz für die Dokumente
|
||||
core_edefmime=Der Standard MIME-Typ muss in der Form type/subtype sein
|
||||
core_edefport=Ungültiger Standardport
|
||||
core_edirlog=Fehlerprotokolldatei ist nicht im erlaubten Verzeichnis
|
||||
core_eduplisten=Lausche Adresse $1 zweimal aufgeführt
|
||||
core_eerror='$1' kein gültiger Fehlercode
|
||||
core_eerrordir=Das Verzeichnis für das Error-Logfile existiert nicht
|
||||
core_efilelog=Ungültige Fehlerprotokolldatei
|
||||
|
||||
@@ -367,6 +367,7 @@ core_eaddress='$1' is not a valid address
|
||||
core_eport='$1' is not a valid port
|
||||
core_eoneaddr=You must specify at least one address to listen on
|
||||
core_edefport=Invalid default port
|
||||
core_eduplisten=Listen address $1 is listed twice
|
||||
core_multi=Multiple requests per connection
|
||||
core_ekeep='$1' is not a valid number of keepalives
|
||||
core_ltwice=Lookup twice
|
||||
|
||||
1001
apache/lang/ru.UTF-8
Normal file
1001
apache/lang/ru.UTF-8
Normal file
File diff suppressed because it is too large
Load Diff
@@ -38,7 +38,7 @@ authg_none=
|
||||
vserv_delete=Удалить виртуальный сервер
|
||||
authu_edit=Редактирование пользователя
|
||||
restart_err=Ошибка при применении изменений
|
||||
virt_header=Для "$1"
|
||||
virt_header=Для $1
|
||||
htaccess_title=Файлы параметров для каждого каталога
|
||||
htaccess_edir='$1' не является допустимым каталогом
|
||||
type_0=Процессы и лимиты
|
||||
@@ -193,7 +193,7 @@ index_addr=
|
||||
restart_eunknown=Неизвестная причина
|
||||
index_type=Тип
|
||||
index_vdef=Обрабатывает все запросы, не обслуженные другими виртуальными серверами.
|
||||
htindex_header=Для "$1"
|
||||
htindex_header=Для $1
|
||||
authg_header=В файле $1
|
||||
virt_return=меню сервера
|
||||
htindex_create=Создание параметров для каждого файла
|
||||
@@ -908,3 +908,94 @@ core_minspare=
|
||||
core_satisfy=Клиенты должны удовлетворять требованиям
|
||||
mod_userdir_except=Всем пользователям, исключая
|
||||
manual_file=Редактирование директив в файле:
|
||||
core_eerrordir=Каталог для log file не существует
|
||||
acl_names=Отредактировать имена серверов?
|
||||
index_descglobal=Изменения этих параметров применяться ко всему серверу Apache, включая все виртуальные хосты.
|
||||
mod_auth_digest_edomain=Отсутствует URL-адреса и пути в одном домене
|
||||
mod_apachessl_forcessl=Сила доступа SSL/notSSL?
|
||||
mod_ssl_cafile=Файл сертификата авторизации
|
||||
log_mods=Изменена конфигурация модулей Apache
|
||||
acl_apply=Применить изменения?
|
||||
htaccess_file=Существующие параметры файлов
|
||||
mod_ssl_epassph=Не введен пароль SSL
|
||||
index_delete=Удалить выбранные серверы
|
||||
mod_apachessl_sesstimeout=Время в секундах, которое ключ сеанса будет кэшироваться
|
||||
core_portname=Протокол
|
||||
index_proxy=Карта URL
|
||||
mod_band_ebw='$1' не является допустимым ограничением пропускной способности
|
||||
acl_dirs0=Все
|
||||
core_minor=Только незначительная версия
|
||||
htaccess_err=Не удалось создать файл параметров
|
||||
delete_ecannot2=Вам не разрешено редактировать сервер $1
|
||||
mod_ssl_ecafile=Отсутствует файл ключа сертификата авторизации
|
||||
eafter=Сбой проверки конфигурации: $1 изменения не были сохранены.
|
||||
index_tablist=Существующие виртуальные хосты
|
||||
mod_php_admin_value=Значения конфигурации PHP Admin
|
||||
acl_dirs=Имеющиеся директивы Apache <br><font size=-1>(С учетом типов ограничить выше) </font>
|
||||
index_any0=Конкретный адрес...
|
||||
index_return2=Глобальная настройка
|
||||
mod_proxy_seconds=секунд
|
||||
index_newaddr=Обрабатывать запросы на адрес
|
||||
log_virts_delete=Удаленные виртуальные серверы $1
|
||||
log_manual=Вручную редактировать файл конфигурации $1
|
||||
mod_alias_edest2=Вы не можете использовать в $2 назначения '$1'
|
||||
mod_log_config_edir=Каталог для файла журнала '$1' не существует
|
||||
mod_band_enable=Включить ограничение скорости?
|
||||
index_apache=Веб-сервер Apache
|
||||
index_tabcreate=Создание виртуального хоста
|
||||
mod_ssl_builtin=Запрос при запуске
|
||||
mod_apachessl_ecacherundir=Отсутствует рабочий каталог gcache
|
||||
index_any1=То что не обработано другим сервером
|
||||
mod_band_ent=IP-адрес или домен
|
||||
acl_dirs2=Все, кроме перечисленных...
|
||||
mod_apachessl_nov2=Отключить SSL версии 2
|
||||
mod_band_max=Максимальное количество одновременных подключений
|
||||
manual_etest=Обнаружена ошибка конфигурации файла: $1
|
||||
defines_list=Определены параметры
|
||||
mod_band_size=Минимальный размер файла
|
||||
manual_editfile=Отредактировать конфигурационный файл:
|
||||
index_crnow=Создать сейчас
|
||||
delete_enone=Ничего не выбрано
|
||||
mod_dav_etimeout=Несуществующее или недопустимое время ожидания DAV
|
||||
cvirt_emissing=Был добавлен новый виртуальный сервер в $1, но этот файл не используется Apache. Проверьте <a href='$2'>модуль конфигурации</a> и убедитесь, что 'файл или каталог для добавления виртуальных серверов' является правильным.
|
||||
mod_php_admin_flag=Флаги конфигурации PHP Admin
|
||||
mod_band_client=Для клиентов
|
||||
index_any2=Любой адрес
|
||||
index_desclist=Список ниже показывает все определенные виртуальные хосты Apache, к которым в настоящее время у вас есть доступ. Опция <b>Сервер по умолчанию</ b> определяет параметры, которые применяются ко всем другим виртуальным хостам, если не переопределить.
|
||||
index_adddir=Allow access to this directory
|
||||
core_major=Только основная версия
|
||||
mod_apachessl_notssl=Запретить доступ по протоколу SSL
|
||||
mod_band_emax=Несуществующее или недопустимое количество одновременных подключений
|
||||
mod_band_epulse=Отсутствующий или недопустимый интервал между ограниченным пакетов
|
||||
index_url=URL
|
||||
index_tabglobal=Глобальная настройка
|
||||
mod_apachessl_esesstimeout=Время в секундах должно быть целым
|
||||
mod_proxy_not=Нет
|
||||
mod_band_bw=Предел (байт/сек)
|
||||
dir_proxyall=Все запросы через прокси
|
||||
delete_ecannot=Вы не можете удалять серверы
|
||||
manual_switch=Редактировать
|
||||
core_virtaddr_star=Включить все адреса
|
||||
mod_log_config_ifset=Если задать
|
||||
mod_band_esize=Размер файла отсутствует или недопустим для ограничение пропускной способности '$1'
|
||||
mod_band_bandwidth=Ограничения полосы пропускания клиента
|
||||
mod_apachessl_ramdomfilee=Socket
|
||||
acl_aliasdir=Лимит алиасов в каталоге
|
||||
mod_apachessl_eramdomfileb=Байт должен быть целым числом
|
||||
mod_auth_digest_domain=URL-адреса и пути в одном домене
|
||||
acl_dirs1=Только перечисленные...
|
||||
mod_band_all=Все
|
||||
mod_dav_active=Включен протокол WebDAV?
|
||||
delete_err=Не удалось удалить виртуальные серверы
|
||||
mod_auth_basic_dbm=База данных DBM
|
||||
index_fmode1d=Новый файл в каталоге виртуальных серверов $1
|
||||
mod_band_eclient=Отсутствующий или недопустимый IP клиента, сети или домен для ограничения пропускной способности '$1'
|
||||
mod_band_pulse=Интервал между ограниченным пакетов (в мс)
|
||||
mod_ssl_ecerton=Если протокол SSL включен, файл сертификата должен быть выбран
|
||||
index_desccreate=Эта форма может использоваться для добавления нового виртуального хоста Apache, который обслуживает контент из указанного каталога в ответ на запросы на конкретный IP-адрес или имя хоста.
|
||||
mod_auth_digest_al=Алгоритм хэширования
|
||||
mod_auth_basic_file=Текстовый файл
|
||||
cvirt_eroot4=Ни один пользователь, определенный в конфигурации Apache
|
||||
__norefs=Русский
|
||||
mod_apachessl_ramdomfilef=Файл
|
||||
index_view=Открытые...
|
||||
|
||||
1883
apache/lang/ru_SU
1883
apache/lang/ru_SU
File diff suppressed because it is too large
Load Diff
@@ -10,4 +10,4 @@ desc_pl.UTF-8=System kopii zapasowej Bacula
|
||||
desc_ru=СиÑ<C2B8>тема резервного копированиÑ<C2B8> Bacula
|
||||
desc_ms_MY=Sistem backup Bacula
|
||||
longdesc_ms_MY=Konfigurasi Bacula untuk melaksanakan salinan dan mengembalikan secara manual atau mengikut jadual, untuk satu atau banyak sistem.
|
||||
longdesc_de=Konfiguriert Bacula um Sicherungen zu erstellen und manuell wiederherzustellen oder nach Plan, für eine oder viele Systeme.
|
||||
longdesc_de=Konfiguriert Bacula um Sicherungen zu erstellen und manuell oder nach Plan wiederherzustellen, für eine oder viele Systeme.
|
||||
|
||||
@@ -116,7 +116,8 @@ foreach $clientjob (@clients) {
|
||||
}
|
||||
}
|
||||
&sysprint($h->{'infh'}, "done\n");
|
||||
$rv = &wait_for($h->{'outfh'}, 'OK to run.*:', 'no files selected');
|
||||
$rv = &wait_for($h->{'outfh'}, 'OK to run.*:', 'no files selected',
|
||||
'Select Restore Job.*:');
|
||||
print $wait_for_input;
|
||||
if ($rv == 0) {
|
||||
&sysprint($h->{'infh'}, "yes\n");
|
||||
@@ -124,6 +125,11 @@ foreach $clientjob (@clients) {
|
||||
elsif ($rv == 1) {
|
||||
&job_error($text{'restore_enofiles'});
|
||||
}
|
||||
elsif ($rv == 2) {
|
||||
&sysprint($h->{'infh'}, "1\n");
|
||||
&wait_for($h->{'outfh'}, 'OK to run.*:');
|
||||
&sysprint($h->{'infh'}, "yes\n");
|
||||
}
|
||||
else {
|
||||
&job_error($text{'backup_eok'});
|
||||
}
|
||||
|
||||
@@ -42,6 +42,26 @@ foreach $v (sort { $a->{'value'} cmp $b->{'value'} } @views) {
|
||||
}
|
||||
print "</select></td> </tr></table></td></tr>\n";
|
||||
|
||||
if (@views) {
|
||||
print "<tr> <td valign=top><b>$text{'acl_inviews'}</b></td>\n";
|
||||
print "<td colspan=3>\n";
|
||||
print &ui_radio("inviews_def", $_[0]->{'inviews'} eq "*" ? 1 : 0,
|
||||
[ [ 1, $text{'acl_vall'} ],
|
||||
[ 0, $text{'acl_vsel'} ] ]),"<br>\n";
|
||||
print "<select name=inviews multiple size=4 width=150>\n";
|
||||
local ($v, %vcan);
|
||||
map { $vcan{$_}++ } split(/\s+/, $_[0]->{'inviews'});
|
||||
printf "<option value='%s' %s>%s</option>\n",
|
||||
"_", $vcan{"_"} ? "selected" : "",
|
||||
"<".$text{'acl_toplevel'}.">";
|
||||
foreach $v (sort { $a->{'value'} cmp $b->{'value'} } @views) {
|
||||
printf "<option value='%s' %s>%s</option>\n",
|
||||
$v->{'value'},
|
||||
$vcan{$v->{'value'}} ? "selected" : "", $v->{'value'};
|
||||
}
|
||||
print "</select></td></tr>\n";
|
||||
}
|
||||
|
||||
print "<tr> <td><b>$text{'acl_types'}</b></td> <td colspan=3>\n";
|
||||
printf "<input type=radio name=types_def value=1 %s> %s\n",
|
||||
$_[0]->{'types'} ? "" : "checked", $text{'acl_types1'};
|
||||
@@ -204,6 +224,8 @@ elsif ($in{'zones_def'} == 2) {
|
||||
else {
|
||||
$_[0]->{'zones'} = join(" ", split(/\0/, $in{'zones'}));
|
||||
}
|
||||
$_[0]->{'inviews'} = !defined($in{'inviews'}) || $in{'inviews_def'} ? "*" :
|
||||
join(" ", split(/\0/, $in{'inviews'}));
|
||||
$_[0]->{'types'} = $in{'types_def'} ? undef : $in{'types'};
|
||||
$_[0]->{'master'} = $in{'master'} || 0;
|
||||
$_[0]->{'slave'} = $in{'slave'} || 0;
|
||||
|
||||
@@ -879,8 +879,20 @@ elsif ($access{'zones'} =~ /^\!/) {
|
||||
else {
|
||||
# List of allowed zones
|
||||
local $ok;
|
||||
foreach (split(/\s+/, $access{'zones'})) {
|
||||
$ok++ if ($_ eq $zn || ($vn && $_ eq $vn));
|
||||
foreach my $z (split(/\s+/, $access{'zones'})) {
|
||||
$ok++ if ($z eq $zn || ($vn && $z eq "view_".$vn));
|
||||
}
|
||||
return 0 if (!$ok);
|
||||
}
|
||||
|
||||
# Check allowed view
|
||||
if ($access{'inviews'} eq '*') {
|
||||
# All views are OK
|
||||
}
|
||||
else {
|
||||
local $ok;
|
||||
foreach my $v (split(/\s+/, $access{'inviews'})) {
|
||||
$ok++ if ($v eq ($vn || "_"));
|
||||
}
|
||||
return 0 if (!$ok);
|
||||
}
|
||||
@@ -3954,19 +3966,32 @@ sub get_ds_record
|
||||
{
|
||||
my ($zone) = @_;
|
||||
my $zonefile;
|
||||
my $dom;
|
||||
if ($zone->{'values'}) {
|
||||
# Zone object
|
||||
local $f = &find("file", $zone->{'members'});
|
||||
my $f = &find("file", $zone->{'members'});
|
||||
$zonefile = $f->{'values'}->[0];
|
||||
$dom = $zone->{'values'}->[0];
|
||||
}
|
||||
else {
|
||||
# Zone name object
|
||||
$zonefile = $zone->{'file'};
|
||||
$dom = $zone->{'name'};
|
||||
}
|
||||
if (&has_command("dnssec-dsfromkey")) {
|
||||
# Generate with a command
|
||||
my $out = &backquote_command("dnssec-dsfromkey -f ".quotemeta(&make_chroot(&absolute_path($zonefile)))." ZONE 2>/dev/null");
|
||||
return undef if ($?);
|
||||
$out =~ s/\r|\n//g;
|
||||
return $out;
|
||||
}
|
||||
else {
|
||||
# From dsset- file
|
||||
my $keydir = &get_keys_dir($zone);
|
||||
my $out = &read_file_contents($keydir."/dsset-".$dom.".");
|
||||
$out =~ s/\r|\n$//g;
|
||||
return $out;
|
||||
}
|
||||
my $out = &backquote_command("dnssec-dsfromkey -f ".quotemeta(&make_chroot(&absolute_path($zonefile)))." ZONE 2>/dev/null");
|
||||
return undef if ($?);
|
||||
$out =~ s/\r|\n//g;
|
||||
return $out;
|
||||
}
|
||||
|
||||
1;
|
||||
|
||||
@@ -10,7 +10,7 @@ $zone = &get_zone_name_or_error($in{'zone'}, $in{'view'});
|
||||
$zconf = &zone_to_config($zone);
|
||||
|
||||
$access{'master'} || &error($text{'mcreate_ecannot'});
|
||||
$file = &find("file", $zconf->{'members'});
|
||||
$file = &find_value("file", $zconf->{'members'});
|
||||
if (!$file) {
|
||||
&error($text{'convert_efile'});
|
||||
}
|
||||
|
||||
@@ -22,3 +22,4 @@ delegation=1
|
||||
slaves=1
|
||||
findfree=1
|
||||
dnssec=1
|
||||
inviews=*
|
||||
|
||||
@@ -505,6 +505,8 @@ eipacl='$1' no
|
||||
acl_zones=Dominis que aquest usuari pot editar
|
||||
acl_zall=Totes les zones
|
||||
acl_zsel=Zones seleccionades...
|
||||
acl_inviews=Vistes sobre les quals aquest usuari pot editar dominis
|
||||
acl_toplevel=Fora de qualsevol vista
|
||||
acl_znsel=Totes excepte les zones seleccionades...
|
||||
acl_master=Pot crear zones mestres
|
||||
acl_slave=Pot crear zones esclaves/stub
|
||||
|
||||
@@ -506,6 +506,8 @@ acl_zones=Domains this user can edit
|
||||
acl_zall=All zones
|
||||
acl_zsel=Selected zones..
|
||||
acl_znsel=All except selected..
|
||||
acl_inviews=Views this user can edit domains in
|
||||
acl_toplevel=Outside any view
|
||||
acl_master=Can create master zones?
|
||||
acl_slave=Can create slave/stub zones?
|
||||
acl_forward=Can create forward zones?
|
||||
|
||||
@@ -26,3 +26,4 @@ desc_sk.UTF-8=Napaľovanie CD
|
||||
desc_no=CD Brenner
|
||||
longdesc_ms_MY=Burn data CD dari imej ISO atau direktori yang dipilih.
|
||||
desc_ms_MY=CD Burner
|
||||
longdesc_de=Brennt Daten-CD von ISO-images oder ausgewählten Verzeichnissen.
|
||||
|
||||
@@ -11,7 +11,9 @@ cfd_ecmd=Die Configuration Engine daemon Befehl $1 wurde auf Ihrem System nicht
|
||||
cfd_none=Keine Einstellungen für die Configuration Engine Daemon wurde noch erstellt.
|
||||
cfd_return=Dämon Optionen
|
||||
cfd_start=Starte Configuration Engine Daemon
|
||||
cfd_startdesc=Klicke auf diese Schaltfläche, um den Configuration Engine Daemon mit den Einstellungen oben zu starten. Dies ermöglicht es andere Hosts die Konfiguration auf diesem Server auszuführen, und den geplanten Ablauf der Konfiguration (wenn aktiviert) zu starten.
|
||||
cfd_stop=Stoppe Configuration Engine Daemon
|
||||
cfd_stopdesc=Klicke auf diese Schaltfläche, um den laufenden Configuration Engine-Daemon zu stoppen. Dies wird anderen Hosts die laufende Konfiguration auf diesem Server verhindern, und stoppt das geplante Ausführen der Konfiguration.
|
||||
cfd_title=Configuration Engine Daemon
|
||||
cluster_failed=Fehlgeschlagen CFengine auf $1 : $2 auszuführen
|
||||
cluster_header=Führe Konfigurations-Engine auf allen Hosts im Cluster aus ..
|
||||
@@ -28,6 +30,7 @@ edit_cmdowner=Ausführen als Benutzer
|
||||
edit_cmdtimeout=Timeout
|
||||
edit_controlall=Alle Adressen
|
||||
edit_controlallow=Erlaube Verbindungen von
|
||||
edit_controlauto=Befehl, um nach Zeitplan auszuführen
|
||||
edit_controldef=Globale Definitionen
|
||||
edit_controldeny=Verbiete Verbindungen von
|
||||
edit_controldom=Domänenname
|
||||
@@ -81,6 +84,7 @@ edit_files_create=Erstelle Datei
|
||||
edit_files_fixall=Behebe alle Dateien
|
||||
edit_files_fixdirs=Behebe Verzeichnisse
|
||||
edit_files_fixplain=Behebe normale Dateien
|
||||
edit_files_linkchildren=Verlinke Kinder
|
||||
edit_files_touch=Erstelle Dateien
|
||||
edit_files_warnall=Warnungen über alle Dateien
|
||||
edit_files_warndirs=Warne über Verzeichnisse
|
||||
@@ -98,6 +102,7 @@ edit_filesowner=Setze Besitzer auf
|
||||
edit_filesrec=Rekursionstiefe
|
||||
edit_grant=$edit_admit
|
||||
edit_grantdir=Verzeichnis
|
||||
edit_granthosts=Hosts und Host-Muster
|
||||
edit_groupmems=Mitglieder
|
||||
edit_groupname=Gruppenname
|
||||
edit_groups=Gruppendefinitionen
|
||||
@@ -119,6 +124,7 @@ edit_nochange=Nicht ändern
|
||||
edit_none=Nichts
|
||||
edit_proc=Finde Prozesse passend
|
||||
edit_proc_bymatch=Signal Warnung Prozessen
|
||||
edit_proc_signal=Signal passende Prozesse
|
||||
edit_proc_warn=Nur Treffer anzeigen
|
||||
edit_procact=Signal Aktions-Modus
|
||||
edit_procgroup=Führe Befehl als Gruppe aus
|
||||
@@ -127,6 +133,7 @@ edit_procmat0=Warne niemals
|
||||
edit_procmat1=Genau
|
||||
edit_procmat2=Kleiner als
|
||||
edit_procmat3=Größer als
|
||||
edit_procnew=Fügen einen neuen treffenden Prozess-Muster hinzu
|
||||
edit_procowner=Führe Befehl als Benutzer aus
|
||||
edit_procrestart=Befehl, welcher nach dem killen ausgefühlt werden soll
|
||||
edit_procsig=Sende Signal zum Prozess
|
||||
@@ -140,6 +147,7 @@ edit_tidyage=Altersbeschränkung
|
||||
edit_tidyage0=$1 ist mehr als $2 Tage
|
||||
edit_tidyage1=Jedes Alter
|
||||
edit_tidyatime=Zugriffszeit
|
||||
edit_tidyctime=Inhalt Zeit
|
||||
edit_tidydir=Verzeichnis zum säubern
|
||||
edit_tidymtime=Änderungszeit
|
||||
edit_tidynew=Füge ein Verzeichnis zum säubern hinzu
|
||||
@@ -150,6 +158,7 @@ edit_tidysize1=Leere Dateien
|
||||
edit_tidysize2=Dateien größer als
|
||||
edit_title=Editiere Einstellungen für Klasse
|
||||
host_cfg=Aktuelle CFengine Konfiguration von $1
|
||||
host_delete=Lösche von verwalteter Liste
|
||||
host_header=Verwaltete CFengine Server Details
|
||||
host_name=Host Name
|
||||
host_os=Betriebssystem von Webmin
|
||||
@@ -164,12 +173,15 @@ hosts_nohosts=Keine Webmin Server, die CFengine ausführen, wurden bisher de
|
||||
hosts_opts=Optionen für die Ausführung von Konfigurationen
|
||||
hosts_return=Serverliste
|
||||
hosts_run=Führe Configuration Engine aus
|
||||
hosts_rundesc=Klicke auf diese Schaltfläche, um die Configuration Engine auf allen oben aufgeführten Server auszuführen, mit ihren aktuellen Konfigurationen.
|
||||
hosts_title=Webmin CFengine Cluster
|
||||
index_active=Aktiv?
|
||||
index_add=Füge Aktion des Typs hinzu:
|
||||
index_admit=Erlaube Verzeichnis $1
|
||||
index_admit2=Erlaube $1 Verzeichnisse
|
||||
index_cadd=Klasse hinzufügen..
|
||||
index_cfrun=Führe Befehl $1 aus
|
||||
index_classes=Anwenden zu Klassen
|
||||
index_control=Aktion $1 ausführen
|
||||
index_control2=$1 Aktionen ausführen
|
||||
index_copy=Kopiere $1 nach $2
|
||||
@@ -200,6 +212,8 @@ index_maybe=Vielleicht
|
||||
index_misc=Hänge $1 ein
|
||||
index_misc2=Hänge $1 NFS Dateisysteme ein
|
||||
index_none=Keine Konfigurationsaktionen sind bisher definiert.
|
||||
index_procs=Finde Prozesse treffend $1
|
||||
index_procs2=Finde $1 treffende Prozesse
|
||||
index_required=Prüfe Dateisystem $1
|
||||
index_required2=Prüfe $1 Dateisysteme
|
||||
index_return=Aktionsliste
|
||||
@@ -210,9 +224,14 @@ index_section=Aktionstyp
|
||||
index_shellcommands=Führe Befehl $1 aus
|
||||
index_shellcommands2=Führe $1 Befehle aus
|
||||
index_tidy=Lösche Dateien in $1
|
||||
index_tidy2=Lösche Dateien in $1 Verzeichnissen
|
||||
index_title=Configuration Engine
|
||||
index_version=CFengine Version $1
|
||||
log_create_class=Klasse in Aktion $1 hinzugefügt
|
||||
log_create_section=Klasse in Aktion $1 erstellt
|
||||
log_delete_class=Klasse in Aktion $1 gelöscht
|
||||
log_delete_section=Sektion $1 gelöscht
|
||||
log_modify_class=Klasse in Aktion $1 modifiziert
|
||||
log_prun=Host Konfigurationen ausgeführt
|
||||
log_push=Entfernte Konfigurations-Hosts geändert
|
||||
log_run=Konfigurations-Automat ausgeführt
|
||||
@@ -276,7 +295,9 @@ save_eeditfile=Fehlende Datei zum Editieren $1
|
||||
save_eeditscript=Fehlendes Editor-Skript für Datei $1
|
||||
save_efilesacl=Fehlender oder ungültiger ACL-Namen für Dateien im Verzeichnis $1
|
||||
save_efilesdir=Fehlendes Verzeichnis $1
|
||||
save_efilesexclude=Fehlendes oder ungültiges Muster für Dateien, nicht im Verzeichnis $1 zu überprüfen
|
||||
save_efilesgroup=Fehlende oder ungültige Gruppe für Dateien im Verzeichnis $1
|
||||
save_efilesinclude=Fehlendes oder ungültiges Muster für Dateien im Verzeichnis $1 zu überprüfen
|
||||
save_efilesmode=Fehlende oder ungültige Berechtigungen für Dateien im Verzeichnis $1
|
||||
save_efilesowner=Fehlender oder ungültiger Eigentümer für Dateien im Verzeichnis $1
|
||||
save_efilesrec=Fehlende oder ungültige Integer Rekursionsebene für Dateien im Verzeichnis $1
|
||||
|
||||
@@ -2,6 +2,7 @@ __norefs=1
|
||||
index_all=<Wszystkie hosty>
|
||||
index_clear=Wyczyść historię
|
||||
index_cmd=Polecenie do uruchomienia
|
||||
index_edit=Edytuj poprzednie
|
||||
index_group=Użytkownicy z $1
|
||||
index_old=lub
|
||||
index_return=Indeks modułu
|
||||
|
||||
@@ -1,11 +1,14 @@
|
||||
__norefs=1
|
||||
add_echeck=Serwer $1 nie posiada modułu pakietów oprogramowania
|
||||
add_err=Dodawanie serwera nie powiodło się
|
||||
add_esystem=Serwer $1 nie używa tego samego systemu pakietów jak ta maszyna
|
||||
add_gerr=Nie udało się dodać grupy
|
||||
add_gmsg=Dodawanie serwerów w grupie $1 ..
|
||||
add_msg=Dodawanie $1 ..
|
||||
add_ok=Dodano $1 z $2 pakietów.
|
||||
add_title=Dodaj serwery
|
||||
compare_all=Wszystkie serwery
|
||||
compare_desc=Ten formularz może być użyty do porównania pakietów zainstalowanych na dwóch lub większej ilości serwerów i znaleźć różnice w wersjach i dostępnych pakietach.
|
||||
compare_err=Nie udało się porównać pakietów
|
||||
compare_etwo=Ostatnie dwa serwery muszą być wybrane
|
||||
compare_got=OK
|
||||
@@ -24,6 +27,10 @@ delete_err=Usuwanie paczki $1 nie powiod
|
||||
delete_error=Nie powiodło się kasowanie z $1 : $2
|
||||
delete_header=Usuwanie paczki $1 ..
|
||||
delete_ok=Usuń
|
||||
delete_rusure=Czy na pewno chcesz usunąć pakiet $1 ze wszystkich serwerów? $2 pliki ($3 bajty) zostaną na zawsze usunięte.
|
||||
delete_rusure2=Czy na pewno chcesz usunąć pakiet $1 z $4? $2 pliki ($3 bajty) zostaną na zawsze usunięte.
|
||||
delete_rusure2none=Czy na pewno chcesz usunąć pakiet $1 z $4?
|
||||
delete_rusurenone=Czy na pewno chcesz usunąć pakiet $1 ze wszystkich serwerów?
|
||||
delete_success=Usunięto z $1
|
||||
delete_title=Usuwanie pakietów
|
||||
deletes_desc=Deinstalacja pakietów $1 ..
|
||||
@@ -32,6 +39,7 @@ deletes_err=Nie uda
|
||||
deletes_failed1=Nie udało się odinstalować $1 : $2
|
||||
deletes_failed2=Deinstalacja nie powiodła się : $1
|
||||
deletes_ok=Usuń je wszystkie
|
||||
deletes_rusure=Czy na pewno chcesz odinstalować pakiet $1 z wybranych hostów?
|
||||
deletes_success1=Odinstalowano $1
|
||||
deletes_success2=.. deinstalacja zakończona.
|
||||
deletes_title=Usuwanie pakietów
|
||||
@@ -41,23 +49,28 @@ do_class=Klasa
|
||||
do_desc=Opis
|
||||
do_details=Szczegółu pakietu
|
||||
do_done=.. gotowe
|
||||
do_edeleted=Plik instalacyjny został usunięty - wróć do indeksu modułu i spróbuj ponownie.
|
||||
do_failed=Nie można było zainstalować na $1 : $2
|
||||
do_header=Instalacja $1 na wszystkich hostach ..
|
||||
do_header3=Instalacja $1 na wszystkich hostach nie została jeszcze wykonana ..
|
||||
do_header4=Instalacja $1 użytkowników z grupy $2 ..
|
||||
do_header5=Instalacja $1 z $2 ..
|
||||
do_header6=Instalacja $1 na hostach, które już go posiadają ..
|
||||
do_inst=Zainstalowane
|
||||
do_none=Żaden
|
||||
do_pack=Pakiet
|
||||
do_success2=Zainstalowano $1 z $2.
|
||||
do_title=Instalacja pakietu
|
||||
do_vend=Producent
|
||||
do_ver=Wersja
|
||||
edit_all=<wszystkie hosty>
|
||||
edit_arch=Architektura
|
||||
edit_class=Klasa
|
||||
edit_desc=Opis
|
||||
edit_details=Szczegóły pakietu z $1
|
||||
edit_donthave=<hosts that don't have it>
|
||||
edit_group=Użytkownicy z $1
|
||||
edit_have=<hosty, które go posiadają>
|
||||
edit_hosts=Zainstalowane hosty
|
||||
edit_inst=Zainstalowane
|
||||
edit_list=Lista plików na:
|
||||
@@ -66,6 +79,7 @@ edit_pack=Pakiet
|
||||
edit_return=szczegóły pakietu
|
||||
edit_title=Edytuj pakiet
|
||||
edit_uninst=Deinstalacja z:
|
||||
edit_vend=Producent
|
||||
edit_ver=Wersja
|
||||
host_all=Wszystkie paczki
|
||||
host_close=Zamknij wszystko
|
||||
@@ -84,16 +98,19 @@ host_type=Typ serwera
|
||||
index_add=Dodaj serwer
|
||||
index_compare=Porównaj serwery
|
||||
index_count=($1 pakietów)
|
||||
index_down=Każdy serwer powinien ponowie pobrać pakiet
|
||||
index_ftp=Z FTP lub HTTP
|
||||
index_gadd=Dodaj serwery w grupie
|
||||
index_hosts=Zarządzanie serwerami
|
||||
index_install=Zainstaluj nowy pakiet
|
||||
index_installed=Zainstalowano pakiety
|
||||
index_installmsg=Wybierz lokalizację do zainstalowania nowych pakietów z..
|
||||
index_installok=Instalacja
|
||||
index_local=Z pliku lokalnego
|
||||
index_nohosts=Brak zarejestrowanych serwerów Webmina dla zarządzania oprogramowaniem.
|
||||
index_refresh=Odśwież listy pakietów
|
||||
index_return=lista serwerów
|
||||
index_search=Szukaj pakietu:
|
||||
index_tcount=Pakiety
|
||||
index_tdesc=Opis
|
||||
index_thost=Nazwa hosta
|
||||
@@ -101,7 +118,22 @@ index_title=Klaster - Pakiety oprogramowania
|
||||
index_ttype=Typ OS
|
||||
index_uploaded=Przez wysłanie pliku
|
||||
install_ealready=Wersja $1 jest już zainstalowana
|
||||
install_edir=Nieprawidłowy katalog $!
|
||||
install_efile=Nieprawidłowy plik $1
|
||||
install_elocal=Nie podano pliku lokalnego
|
||||
install_elocal2=`$1` nie istnieje
|
||||
install_err=Błąd instalacji pakietu
|
||||
install_erus=Ten serwer używa innego systemu aktualizacji od głównego serwera ($1 vs $2)
|
||||
install_eupdate=Wystąpił błąd podczas instalacji określonych aktualizacji
|
||||
install_eupload=Twoja przeglądarka nie obsługuje wysyłania plików
|
||||
install_eurl=Niezrozumiały adres URL '$1'
|
||||
install_ezip=Plik $1 jest niepoprawnie skompresowany lub spakowany
|
||||
install_header=Instalacja pakietów
|
||||
install_ok=Zainstalowano
|
||||
install_packs=Pakiet (y) do zainstalowania
|
||||
install_servers=Serwer (y) do zainstalowania na
|
||||
install_title=Instalacja pakietu
|
||||
list_files=Pliki pakietu $1 na $2
|
||||
list_group=Grupa
|
||||
list_ok=OK
|
||||
list_owner=Właściciel
|
||||
@@ -114,14 +146,22 @@ refresh_1=Od
|
||||
refresh_2=Odświeżono $1 (dodano $2)
|
||||
refresh_3=Odświeżono $1 (usunięto $2)
|
||||
refresh_4=Odświeżono $1 (bez zmian)
|
||||
refresh_del=Usunięto $1 z listy serwerów
|
||||
refresh_done=.. gotowe
|
||||
refresh_failed=Błąd odświeżania $1 : $2
|
||||
refresh_header=Odświeżanie list pakietów ze wszystkich serwerów ..
|
||||
refresh_header4=Ponowna prośba o listę pakietów od użytkowników z $2 ..
|
||||
refresh_header5=Odświeżanie list pakietów z $2 ..
|
||||
refresh_title=Odświeżanie list pakietów
|
||||
search_class=Klasa
|
||||
search_delete=Odinstalowanie wybranych pakietów z:
|
||||
search_desc=Opis
|
||||
search_invert=Odwróć zaznaczenie
|
||||
search_match=Pakiety pasujące do $1
|
||||
search_nomatch=Nie znaleziono pakietów pasujących do $1
|
||||
search_none=Brak
|
||||
search_pack=Paczka
|
||||
search_return=wyniki wyszukiwania
|
||||
search_selall=Zaznacz wszystko
|
||||
search_title=Wyszukiwanie pakietów
|
||||
this_server=ten serwer
|
||||
|
||||
@@ -18,3 +18,4 @@ desc_pl=Klaster - Pakiety oprogramowania
|
||||
longdesc_ms_MY=Pasang RPMs, debian dan pakej Solaris ke pelbagai pelayan dari satu sumber.
|
||||
desc_ms_MY=Kluster Pakej Software
|
||||
longdesc_de=Installiert RPMs, Debian- und Solaris-Pakete über mehrere Server aus einer Quelle.
|
||||
longdesc_pl=Instaluj pakiety RPM, debian i Solaris na wielu serwerach z jednego ¼ród³a.
|
||||
|
||||
@@ -5,8 +5,15 @@ BEGIN { push(@INC, ".."); };
|
||||
use WebminCore;
|
||||
&init_config();
|
||||
use Config;
|
||||
|
||||
$packages_file = "$module_config_directory/packages.txt.gz";
|
||||
if (!-r $packages_file) {
|
||||
$packages_file = "$module_var_directory/packages.txt.gz";
|
||||
}
|
||||
$available_packages_cache = "$module_config_directory/available-cache";
|
||||
if (!-r $available_packages_cache) {
|
||||
$available_packages_cache = "$module_var_directory/available-cache";
|
||||
}
|
||||
|
||||
# Get the paths to perl and perldoc
|
||||
$perl_path = &get_perl_path();
|
||||
|
||||
@@ -67,6 +67,7 @@ elsif ($in{'source'} == 3) {
|
||||
$in{'cpan'} || &error($text{'download_emodname'});
|
||||
$in{'cpan'} =~ s/^\s+//;
|
||||
$in{'cpan'} =~ s/\s+$//;
|
||||
$in{'cpan'} =~ s/\/+/::/g;
|
||||
@cpan = split(/\s+|\0/, $in{'cpan'});
|
||||
|
||||
# First check if YUM or APT can install this module for us
|
||||
|
||||
@@ -64,11 +64,13 @@ foreach $m (@ARGV) {
|
||||
}
|
||||
$flags = !-r $file ? "chf" : "rhf";
|
||||
system("cd /tmp/create-module && find . -name .svn | xargs rm -rf");
|
||||
system("cd /tmp/create-module && find . -name '*~' -o -name '*.rej' -o -name '*.orig' -o -name '.*.swp' | xargs rm -rf");
|
||||
system("cd /tmp/create-module && find . -name RELEASE -o -name RELEASE.sh | xargs rm -rf");
|
||||
unlink("/tmp/create-module/$subdir/IDEAS");
|
||||
system("cd /tmp/create-module && find . -name \\*.svn-work | xargs rm -rf");
|
||||
system("cd /tmp/create-module && find . -name \\*.svn-base | xargs rm -rf");
|
||||
system("cd /tmp/create-module && find . -name '*~' -o -name '*.rej' -o -name '*.orig' -o -name '.*.swp' | xargs rm -rf");
|
||||
system("cd /tmp/create-module && find . -name RELEASE -o -name RELEASE.sh | xargs rm -rf");
|
||||
system("cd /tmp/create-module && find . -name linux.sh -o -name freebsd.sh -o -name LICENCE -o -name README.md -o -name distrib | xargs rm -rf");
|
||||
system("cd /tmp/create-module && find . -name 'makemodule*.pl' | xargs rm -rf");
|
||||
unlink("/tmp/create-module/$subdir/IDEAS");
|
||||
system("cd /tmp/create-module && find . -name \\*.cgi | xargs chmod +x");
|
||||
system("cd /tmp/create-module && find . -name \\*.pl | xargs chmod +x");
|
||||
system("cd /tmp/create-module && tar $flags $file $subdir") && die "Failed to create tar file";
|
||||
|
||||
@@ -337,7 +337,7 @@ else {
|
||||
local $lref = &read_file_lines($cron_temp_file);
|
||||
$_[0]->{'line'} = scalar(@$lref);
|
||||
push(@$lref, &cron_job_line($_[0]));
|
||||
&flush_file_lines();
|
||||
&flush_file_lines($cron_temp_file);
|
||||
&set_ownership_permissions($_[0]->{'user'}, undef, undef,
|
||||
$cron_temp_file);
|
||||
©_crontab($_[0]->{'user'});
|
||||
|
||||
@@ -2,7 +2,7 @@ desc_ko_KR.euc=
|
||||
risk=medium high
|
||||
desc_ru_SU=ëÏÍÁÎÄÙ ÐÏÌØÚÏ×ÁÔÅÌÑ
|
||||
desc_zh_TW.Big5=¦Ûqªº©R¥O
|
||||
desc_pl=Wybrane polecenia
|
||||
desc_pl=W³asne polecenia
|
||||
desc_de=Eigene Befehle
|
||||
name=Custom
|
||||
desc_zh_CN=Óû§×Ô¶¨ÒåÃüÁî
|
||||
@@ -36,3 +36,4 @@ desc_no=Egendefinerte kommandoer
|
||||
longdesc_ms_MY=Buat butang untuk melaksanakan arahan yang biasa digunakan atau mengubah fail pada sistem anda.
|
||||
desc_ms_MY=Arahan suai langgan
|
||||
longdesc_de=Erstellt Schaltflächen zum Ausführen von häufig verwendeten Befehle oder bearbeitet Dateien auf Ihrem System.
|
||||
longdesc_pl=Twórz przyciski do wykonywania czêsto u¿ywanych poleceñ lub edytowania plików w twoim systemie.
|
||||
|
||||
@@ -2,7 +2,6 @@ start_cmd=service dhcpd start
|
||||
stop_cmd=service dhcpd stop
|
||||
restart_cmd=service dhcpd restart
|
||||
dhcpd_conf=/etc/dhcp/dhcpd.conf
|
||||
pid_file=/run/dhcpd.pid
|
||||
dhcpd_path=/usr/sbin/dhcpd
|
||||
lease_file=/var/lib/dhcpd/dhcpd.leases
|
||||
lease_sort=0
|
||||
|
||||
@@ -2,7 +2,6 @@ start_cmd=service dhcpd start
|
||||
stop_cmd=service dhcpd stop
|
||||
restart_cmd=service dhcpd restart
|
||||
dhcpd_conf=/etc/dhcp/dhcpd.conf
|
||||
pid_file=/run/dhcpd.pid
|
||||
dhcpd_path=/usr/sbin/dhcpd
|
||||
lease_file=/var/lib/dhcpd/dhcpd.leases
|
||||
lease_sort=0
|
||||
|
||||
@@ -964,17 +964,13 @@ return $file || $config{'pid_file'};
|
||||
sub expand_ip_range
|
||||
{
|
||||
local ($s, $e) = @_;
|
||||
local @rs = split(/\./, $s);
|
||||
local @re = split(/\./, $e);
|
||||
&foreign_require("net");
|
||||
local $si = &net::ip_to_integer($s);
|
||||
local $ei = &net::ip_to_integer($e);
|
||||
return ( ) if ($si > $ei);
|
||||
local @rv;
|
||||
for(my $i=$rs[0]; $i<=$re[0]; $i++) {
|
||||
for(my $j=$rs[1]; $j<=$re[1]; $j++) {
|
||||
for(my $k=$rs[2]; $k<=$re[2]; $k++) {
|
||||
for(my $l=$rs[3]; $l<=$re[3]; $l++) {
|
||||
push(@rv, "$i.$j.$k.$l");
|
||||
}
|
||||
}
|
||||
}
|
||||
for(my $i=$si; $i<=$ei; $i++) {
|
||||
push(@rv, &net::integer_to_ip($i));
|
||||
}
|
||||
return @rv;
|
||||
}
|
||||
|
||||
@@ -72,12 +72,12 @@ print "</td></tr>\n";
|
||||
if (!defined($in{'ret'})) {
|
||||
print "<tr><td valign=middle><b>$text{'esub_shnet'}</b></td>\n";
|
||||
print "<td valign=middle>";
|
||||
my @shn;
|
||||
push(@shn, [ "", "<$text{'esub_none'}>", ( $s_parent ? "" : "selected" ) ]);
|
||||
foreach $s (&find("shared-network", $conf)) {
|
||||
push(@shn, [ $s->{'index'}, ( &can('rw', \%access, $s) ? $s->{'values'}->[0] : "" ), ( $s eq $s_parent ? "" : "selected" ) ]);
|
||||
}
|
||||
print &ui_select("parent", undef, \@shn);
|
||||
my @shn;
|
||||
push(@shn, [ "", "<$text{'esub_none'}>" ]);
|
||||
foreach $s (&find("shared-network", $conf)) {
|
||||
push(@shn, [ $s->{'index'}, ( &can('rw', \%access, $s) ? $s->{'values'}->[0] : "" ) ]);
|
||||
}
|
||||
print &ui_select("parent", $s_parent ? $s_parent->{'index'} : "", \@shn);
|
||||
print "</td>\n";
|
||||
}
|
||||
else {
|
||||
|
||||
@@ -149,7 +149,15 @@ if (defined($sname)) {
|
||||
@rv = grep { $_->{'sectionname'} eq $sname &&
|
||||
$_->{'sectionvalue'} eq $svalue } @rv;
|
||||
}
|
||||
return wantarray ? @rv : $first ? $rv[0] : $rv[$#rv];
|
||||
if (wantarray) {
|
||||
return @rv;
|
||||
}
|
||||
elsif ($first) {
|
||||
return $rv[0];
|
||||
}
|
||||
else {
|
||||
return $rv[$#rv];
|
||||
}
|
||||
}
|
||||
|
||||
# find_value(name, &config, [disabled-mode], [sectionname], [sectionvalue])
|
||||
@@ -164,6 +172,9 @@ elsif (!@rv) {
|
||||
return undef;
|
||||
}
|
||||
else {
|
||||
# Prefer the last one that isn't self-referential
|
||||
my @unself = grep { $_->{'value'} !~ /\$\Q$name\E/ } @rv;
|
||||
@rv = @unself if (@unself);
|
||||
return $rv[$#rv]->{'value'};
|
||||
}
|
||||
}
|
||||
@@ -190,7 +201,19 @@ return wantarray ? @rv : $rv[0];
|
||||
sub save_directive
|
||||
{
|
||||
local ($conf, $name, $value, $sname, $svalue) = @_;
|
||||
local $dir = ref($name) ? $name : &find($name, $conf, 0, $sname, $svalue, 1);
|
||||
local $dir;
|
||||
if (ref($name)) {
|
||||
# Old directive given
|
||||
$dir = $name;
|
||||
}
|
||||
else {
|
||||
# Find by name, by prefer those that aren't self-referential
|
||||
my @dirs = &find($name, $conf, 0, $sname, $svalue, 1);
|
||||
($dir) = grep { $_->{'value'} !~ /\$\Q$name\E/ } @dirs;
|
||||
if (!$dir) {
|
||||
$dir = $dirs[0];
|
||||
}
|
||||
}
|
||||
local $newline = ref($name) ? "$name->{'name'} = $value" : "$name = $value";
|
||||
if ($sname) {
|
||||
$newline = " ".$newline;
|
||||
|
||||
@@ -10,7 +10,7 @@ print &ui_table_start($text{'ssl_header'}, "width=100%", 4);
|
||||
|
||||
# SSL cert and key files
|
||||
if (&find_value("ssl_cert", $conf, 2)) {
|
||||
$cert = &find_value("ssl_cert", $conf);
|
||||
$cert = &find_value("ssl_cert", $conf, 0, "");
|
||||
$cert =~ s/^<//;
|
||||
}
|
||||
else {
|
||||
@@ -21,7 +21,7 @@ print &ui_table_row($text{'ssl_cert'},
|
||||
[ undef, "nowrap" ]);
|
||||
|
||||
if (&find_value("ssl_key", $conf, 2)) {
|
||||
$key = &find_value("ssl_key", $conf);
|
||||
$key = &find_value("ssl_key", $conf, 0, "");
|
||||
$key =~ s/^<//;
|
||||
}
|
||||
else {
|
||||
@@ -39,7 +39,7 @@ print &ui_table_row($text{'ssl_pass'},
|
||||
|
||||
# SSL CA file
|
||||
if (&find_value("ssl_ca", $conf, 2)) {
|
||||
$ca = &find_value("ssl_ca", $conf);
|
||||
$ca = &find_value("ssl_ca", $conf, 0, "");
|
||||
$ca =~ s/^<//;
|
||||
}
|
||||
else {
|
||||
|
||||
@@ -13,7 +13,7 @@ $in{'cert_def'} || -r $in{'cert'} || $in{'cert'} =~ /^[<>\|]/ ||
|
||||
if (&find_value("ssl_cert", $conf, 2)) {
|
||||
$in{'cert'} = "<".$in{'cert'} if ($in{'cert'} =~ /^\//);
|
||||
&save_directive($conf, "ssl_cert",
|
||||
$in{'cert_def'} ? undef : $in{'cert'});
|
||||
$in{'cert_def'} ? undef : $in{'cert'}, "");
|
||||
}
|
||||
else {
|
||||
&save_directive($conf, "ssl_cert_file",
|
||||
@@ -24,7 +24,7 @@ $in{'key_def'} || -r $in{'key'} || $in{'key'} =~ /^[<>\|]/ ||
|
||||
if (&find_value("ssl_key", $conf, 2)) {
|
||||
$in{'key'} = "<".$in{'key'} if ($in{'key'} =~ /^\//);
|
||||
&save_directive($conf, "ssl_key",
|
||||
$in{'key_def'} ? undef : $in{'key'});
|
||||
$in{'key_def'} ? undef : $in{'key'}, "");
|
||||
}
|
||||
else {
|
||||
&save_directive($conf, "ssl_key_file",
|
||||
@@ -37,7 +37,7 @@ $in{'ca_def'} || -r $in{'ca'} || $in{'ca'} =~ /^[<>\|]/ ||
|
||||
if (&find_value("ssl_ca", $conf, 2)) {
|
||||
$in{'ca'} = "<".$in{'ca'} if ($in{'ca'} =~ /^\//);
|
||||
&save_directive($conf, "ssl_ca",
|
||||
$in{'ca_def'} ? undef : $in{'ca'});
|
||||
$in{'ca_def'} ? undef : $in{'ca'}, "");
|
||||
}
|
||||
else {
|
||||
&save_directive($conf, "ssl_ca_file",
|
||||
|
||||
@@ -73,6 +73,7 @@ my $protocol = &find_value("protocol", $jail);
|
||||
print &ui_table_row($text{'jail_defprotocol'},
|
||||
&ui_select("protocol", $protocol,
|
||||
[ [ '', "<$text{'jail_none'}>" ],
|
||||
[ 'all', $text{'jail_allprotocol'} ],
|
||||
[ 'tcp', 'TCP' ],
|
||||
[ 'udp', 'UDP' ],
|
||||
[ 'icmp', 'ICMP' ] ]));
|
||||
|
||||
@@ -77,6 +77,7 @@ index_stopdesc=Klicke auf diese Taste, um den laufende Fail2Ban Server zu stoppe
|
||||
index_title=Fail2Ban Intrusionsdetektor
|
||||
jail_action=Aktion
|
||||
jail_actions=Aktion zum anwenden
|
||||
jail_allprotocol=Alle Protokolle
|
||||
jail_aname=Name
|
||||
jail_auto=Entscheide automatisch
|
||||
jail_backend=Prüfe auf Log-Datei Updates, welche
|
||||
|
||||
@@ -118,6 +118,7 @@ jail_destemail=Default notification email
|
||||
jail_none=None set
|
||||
jail_banaction=Default action to apply
|
||||
jail_defprotocol=Default protocol for actions
|
||||
jail_allprotocol=All protocols
|
||||
jail_edestemail=Missing or invalid default notification email address
|
||||
jail_eignoreip=Invalid IP address to ignore
|
||||
|
||||
|
||||
@@ -76,9 +76,11 @@ else {
|
||||
}
|
||||
|
||||
# Split and validate log file paths
|
||||
my @logpaths = split(/\r?\n/, $in{'logpath'});
|
||||
my @logpaths = grep { /\S/ } split(/\r?\n/, $in{'logpath'});
|
||||
@logpaths || &error($text{'jail_elogpaths'});
|
||||
foreach my $l (@logpaths) {
|
||||
$l =~ s/^\s*//;
|
||||
$l =~ s/\s*$//;
|
||||
$l =~ /^\/\S+$/ || &error($text{'jail_elogpath'});
|
||||
}
|
||||
|
||||
|
||||
@@ -13,12 +13,12 @@ print "Content-type: text/plain\n\n";
|
||||
|
||||
if (defined($in{'user'})) {
|
||||
$uid = $in{'user'} =~ /^\d+$/ ? $in{'user'} :
|
||||
defined(%user_to_uid) ? $user_to_uid{$in{'user'}} :
|
||||
getpwnam($in{'user'});
|
||||
%user_to_uid ? $user_to_uid{$in{'user'}} :
|
||||
getpwnam($in{'user'});
|
||||
&failure(&text('chmod_euser', $in{'user'})) if (!defined($uid));
|
||||
$gid = $in{'group'} =~ /^\d+$/ ? $in{'group'} :
|
||||
defined(%group_to_gid) ? $group_to_gid{$in{'group'}} :
|
||||
getgrnam($in{'group'});
|
||||
%group_to_gid ? $group_to_gid{$in{'group'}} :
|
||||
getgrnam($in{'group'});
|
||||
&failure(&text('chmod_egroup', $in{'group'})) if (!defined($gid));
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
index_title=File Manager
|
||||
index_title=Java File Manager
|
||||
index_nojava=This module requires Java to function, but your browser does not support Java
|
||||
index_eremote=There is no Unix user matching the Webmin login $1.
|
||||
index_index=Return to <a href='$1'>Webmin index</a>.
|
||||
|
||||
@@ -1,36 +1,37 @@
|
||||
desc_ko_KR.euc=ÆÄÀÏ °ü¸®ÀÚ
|
||||
desc_ko_KR.euc=Java ÆÄÀÏ °ü¸®ÀÚ
|
||||
risk=high
|
||||
desc_ru_SU=íÅÎÅÄÖÅÒ ÆÁÊÌÏ×
|
||||
desc_zh_TW.Big5=Àɮ׺޲zªÌ
|
||||
desc_pl=Zarz±dzanie plikami
|
||||
desc_de=Datei-Manager (Java erforderlich)
|
||||
desc_ru_SU=Java íÅÎÅÄÖÅÒ ÆÁÊÌÏ×
|
||||
desc_zh_TW.Big5=Java Àɮ׺޲zªÌ
|
||||
desc_pl=Java Zarz±dzanie plikami
|
||||
desc_de=Java Datei-Manager (Java erforderlich)
|
||||
name=FileManager
|
||||
desc_zh_CN=Îļþ¹ÜÀíÆ÷
|
||||
desc_pt=Administrador de Ficheiros
|
||||
desc_tr=Dosya Yöneticisi
|
||||
desc=File Manager
|
||||
desc_es=Explorador de Archivos
|
||||
desc_sv=Filhanterare
|
||||
desc_fr=Gestionnaire de Fichiers
|
||||
desc_ja_JP.euc=¥Õ¥¡¥¤¥ë ¥Þ¥Í¡¼¥¸¥ã
|
||||
desc_ru_RU=Ìåíåäæåð ôàéëîâ
|
||||
desc_ca=Administrador de Fitxers
|
||||
desc_pt_BR=Gerenciador de Arquivos
|
||||
desc_sk=Správca Systému Súborov
|
||||
desc_zh_CN=Java Îļþ¹ÜÀíÆ÷
|
||||
desc_pt=Java Administrador de Ficheiros
|
||||
desc_tr=Java Dosya Yöneticisi
|
||||
desc=Java File Manager
|
||||
desc_es=Java Explorador de Archivos
|
||||
desc_sv=Java Filhanterare
|
||||
desc_fr=Java Gestionnaire de Fichiers
|
||||
desc_ja_JP.euc=Java ¥Õ¥¡¥¤¥ë ¥Þ¥Í¡¼¥¸¥ã
|
||||
desc_ru_RU=Java Ìåíåäæåð ôàéëîâ
|
||||
desc_ca=Java Administrador de Fitxers
|
||||
desc_pt_BR=Java Gerenciador de Arquivos
|
||||
desc_sk=Java Správca Systému Súborov
|
||||
longdesc=View, edit and change permissions on files and directories on your system with a Windows-like file manager.
|
||||
readonly=1
|
||||
desc_zh_TW.UTF-8=檔案管ç<C2A1>†è€…
|
||||
desc_zh_CN.UTF-8=文件管ç<C2A1>†å™¨
|
||||
desc_ja_JP.UTF-8=ファイル マãƒ<C3A3>ージャ
|
||||
desc_ko_KR.UTF-8=파ì<C592>¼ 관리ìž<C3AC>
|
||||
desc_cz=Správce souborù
|
||||
desc_ru.UTF-8=Менеджер файлов
|
||||
desc_it=File manager
|
||||
desc_cz.UTF-8=Správce souborů
|
||||
desc_pl.UTF-8=ZarzÄ…dzanie plikami
|
||||
desc_sk.UTF-8=Správca Systému Súborov
|
||||
desc_no=Filbehandler
|
||||
desc_nl=File Manager
|
||||
desc_hu=Fájlkezelõ
|
||||
desc_zh_TW.UTF-8=Java 檔案管ç<EFBFBD>†è€…
|
||||
desc_zh_CN.UTF-8=Java 文件管ç<EFBFBD>†å™¨
|
||||
desc_ja_JP.UTF-8=Java ファイル マãƒ<C3A3>ージャ
|
||||
desc_ko_KR.UTF-8=Java 파ì<EFBFBD>¼ 관리ìž<C3AC>
|
||||
desc_cz=Java Správce souborù
|
||||
desc_ru.UTF-8=Java Менеджер файлов
|
||||
desc_it=Java File manager
|
||||
desc_cz.UTF-8=Java Správce souborů
|
||||
desc_pl.UTF-8=Java ZarzÄ…dzanie plikami
|
||||
desc_sk.UTF-8=Java Správca Systému Súborov
|
||||
desc_no=Java Filbehandler
|
||||
desc_nl=Java File Manager
|
||||
desc_hu=Java Fájlkezelõ
|
||||
longdesc_ms_MY=Lihat, ubah dan ubah kebenaran pada fail dan direktori pada sistem dengan pengurus fail yang seakan Windows.
|
||||
desc_ms_MY=Pengurus Fail
|
||||
desc_ms_MY=Java Pengurus Fail
|
||||
longdesc_de=Zeigt, bearbeitet und ändert Berechtigungen für Dateien und Verzeichnisse auf Ihrem System mit einem Windows-ähnliche Dateimanager.
|
||||
|
||||
13
firewall/config.info.pl
Normal file
13
firewall/config.info.pl
Normal file
@@ -0,0 +1,13 @@
|
||||
line0=Opcje konfiguracji,11
|
||||
view_condition=Wyświetlać stan na liście reguł?,1,1-Tak,0-Nie
|
||||
view_comment=Wyświetlać komentarz na liście reguł?,1,1-Tak,0-Nie
|
||||
comment_mod=Zapisuj komentarze jako,1,0-# zapis w pliku komentarzy,1---opcja komentarzy
|
||||
cluster_mode=Aktualizuj klaster serwerów,1,0-Zawsze, gdy wprowadzono zmianę,1-Po zastosowaniu konfiguracji
|
||||
force_init=Zawsze uruchamiaj firewall ze skryptem inita Debiana,1,1-Tak,0-Nie
|
||||
before_cmd=Polecenie do uruchomienia przed zmienieniem reguł,3,Brak
|
||||
after_cmd=Polecenie do uruchomienia po zmienieniu reguł,3,Brak
|
||||
before_apply_cmd=Polecenie do uruchomienia przed zastosowaniem konfiguracji,3,Brak
|
||||
after_apply_cmd=Polecenie do uruchomienia po zastosowaniu konfiguracji,3,Brak
|
||||
line1=Opcje systemu,11
|
||||
save_file=IPtables zapis pliku do edycji,3,Użyj systemu operacyjnego lub Webmina
|
||||
direct=Bezpośrednio edytuj reguły firewalla zamiast zapisywać do pliku?,1,1-Tak,0-Nie
|
||||
@@ -139,7 +139,7 @@ sub save_table
|
||||
local $lref;
|
||||
if ($config{'direct'}) {
|
||||
# Read in the current iptables-save output
|
||||
$lref = &read_file_lines("iptables-save 2>/dev/null |");
|
||||
$lref = &read_file_lines("iptables-save 2>/dev/null |", 1);
|
||||
}
|
||||
else {
|
||||
# Updating the save file
|
||||
|
||||
@@ -49,6 +49,7 @@ if (!$config{'direct'} && &foreign_check("init")) {
|
||||
# rules, and offer to create a save file from them
|
||||
@livetables = &get_iptables_save("iptables-save 2>/dev/null |");
|
||||
&shorewall_message(\@livetables);
|
||||
&firewalld_message(\@livetables);
|
||||
if (!$config{'direct'} &&
|
||||
(!-s $iptables_save_file || $in{'reset'}) && $access{'setup'}) {
|
||||
@tables = @livetables;
|
||||
@@ -420,3 +421,13 @@ if ($filter->{'defaults'}->{'shorewall'}) {
|
||||
}
|
||||
}
|
||||
|
||||
sub firewalld_message
|
||||
{
|
||||
local ($filter) = grep { $_->{'name'} eq 'filter' } @{$_[0]};
|
||||
if ($filter->{'defaults'}->{'INPUT_ZONES'}) {
|
||||
print "<b><center>",
|
||||
&text('index_firewalld', "$gconfig{'webprefix'}/firewalld/"),
|
||||
"</b></center><p>\n";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -68,6 +68,7 @@ index_auto5=Bloqueja-les totes excepte els ports utilitzats per a hostalatge vir
|
||||
index_auto=Configura el Tallafocs
|
||||
index_add=Afegeix
|
||||
index_shorewall=Atenció! Sembla que s'està utilitzant Shorewall per generar el tallafocs del sistema. Pot ser que hagis d'utilitzar el <a href='$1'>mòdul de Tallafocs Shoreline</a> en lloc d'aquest.
|
||||
index_firewalld=Atenció! Sembla que s'està utilitzant FirewallD per a generar el tallafocs del sistema. Potser hauries d'utilitzar el <a href='$1'>mòdul FirewallD</a> en lloc d'aquest.
|
||||
index_reset=Reinicia el Tallafocs
|
||||
index_resetdesc=Fes clic sobre aquest botó per eliminar totes les regles existents del tallafocs i establir-ne de noves per a una configuració inicial bàsica.
|
||||
index_cluster=Servidors del Cluster
|
||||
|
||||
@@ -191,6 +191,7 @@ index_ecommand=Der Befehl $1 wurde nicht auf Ihrem System gefunden. Webmin ben&#
|
||||
index_editing=Regel Datei $1
|
||||
index_ekernel=Ein Fehler ist beim Überprüfen Ihrer aktuellen IPtables-Konfiguration aufgetreten : $1 Dies könnte darauf hindeuten, dass Ihr Kernel IPtables nicht unterstützt.
|
||||
index_existing=Webmin hat erkannt, dass $1 IPtables Firewall-Regel(n) derzeit in Benutzung sind, die nicht in der Datei $2 gespeichert wurden. Diese Regeln wurden vermutlich von einem Skript einrichtet, jedoch dieses Modul nicht in der Lage ist, dieses zu lesen und zu bearbeiten.<p>Wenn Sie dieses Modul benutzen wollen, um Ihre IPtables-Firewall verwalten zu lassen, klicken Sie auf die Schaltfläche unten, um die bestehenden Regeln zu einer Sicherungsdatei zu konvertieren und anschließend Ihr bestehendes Firewall-Skript zu deaktivieren.
|
||||
index_firewalld=Warnung! Es scheint, dass FirewallD verwendet wird, um das Firewall-System zu generieren. Vielleicht sollten Sie die <a href='$1'>FirewallD Firewall-Modul</a> verwenden.
|
||||
index_header=Firewall Konfiguration von $1
|
||||
index_headerex=Bestehende Firewall Konfiguration
|
||||
index_jump=Führe Regel $1 aus
|
||||
|
||||
@@ -68,6 +68,7 @@ index_auto5=Block all except ports used for virtual hosting, on interface:
|
||||
index_auto=Setup Firewall
|
||||
index_add=Add
|
||||
index_shorewall=Warning! It appears that Shorewall is being used to generate your system's firewall. Maybe you should use the <a href='$1'>Shoreline Firewall module</a> instead.
|
||||
index_firewalld=Warning! It appears that FirewallD is being used to generate your system's firewall. Maybe you should use the <a href='$1'>FirewallD module</a> instead.
|
||||
index_reset=Reset Firewall
|
||||
index_resetdesc=Click this button to clear all existing firewall rules and set up new rules for a basic initial configuration.
|
||||
index_cluster=Cluster Servers
|
||||
|
||||
259
firewall/lang/pl
Normal file
259
firewall/lang/pl
Normal file
@@ -0,0 +1,259 @@
|
||||
__norefs=1
|
||||
acl_apply=Może zastosować konfigurację?
|
||||
acl_bootup=Może włączyć firewall przy bootowaniu?
|
||||
acl_cluster=Może zarządzać firewallem klastra?
|
||||
acl_delchain=Może usuwać i czyścić łańcuchy?
|
||||
acl_jall=Wszystko
|
||||
acl_jumps=Dozwolone działania
|
||||
acl_newchain=Może tworzyć nowe łańcuchy?
|
||||
acl_policy=Można zmienić zasady domyślne?
|
||||
acl_setup=Może przeprowadzić wstępną konfigurację zapory?
|
||||
acl_tables=Dozwolone IPtables
|
||||
acl_unapply=Może przywrócić konfigurację?
|
||||
add_echeck=Serwer $1 nie posiada modułu Linux Firewall
|
||||
add_emissing=Brak polecenia $2 na serwerze $1
|
||||
add_err=Błąd dodawania serwera
|
||||
add_gerr=Błąd dodawania grupy
|
||||
add_gmsg=Dodawanie serwerów do grupy $1 ..
|
||||
add_msg=Dodawanie $1 ..
|
||||
add_ok=Dodano $1 z $2 aktywnymi regułami firewalla
|
||||
add_title=Dodawanie serwerów
|
||||
apply_ecannot=Nie masz uprawnień do zastosowania konfiguracji
|
||||
apply_err=Błąd zastosowania konfiguracji
|
||||
apply_remote=Błąd od $1 : $2
|
||||
bootup_ecannot=Nie masz uprawnień do włączenia i wyłączenia uruchamiania firewalla
|
||||
clear_ecannot=Nie masz uprawnień do czyszczenia łańcuchów
|
||||
clear_rusure=Jesteś pewny, że chcesz usunąć wszystkie $2 reguły z łańcucha $1 ?
|
||||
clear_title=Czyszczenie łańcucha
|
||||
cluster_add=Dodaj serwer
|
||||
cluster_delete=Usuń wybrane
|
||||
cluster_desc=Opis
|
||||
cluster_gadd=Dodaj serwery w grupie
|
||||
cluster_host=Nazwa hosta
|
||||
cluster_need=Musisz dodać serwer z loginem i hasłem w module Serwery Webmina nim będziesz mógł nimi tutaj zarządzać.
|
||||
cluster_none=Nie dodano żadnych serwerów do klastra firewalla.
|
||||
cluster_os=System operacyjny
|
||||
cluster_return=serwerów klastra
|
||||
cluster_title=Firewall serwerów klastra
|
||||
delete_ecannot=Nie masz uprawnień do usuwania łańcuchów
|
||||
delete_ok=Usunięto
|
||||
delete_rusure=Jesteś pewny, że chcesz usunąć łańcuch $1 ? Łańcuch posiada $2 reguł, zostaną one usunięte.
|
||||
delete_title=Usuwanie łańcucha
|
||||
desc_always=Zawsze
|
||||
desc_and=i
|
||||
desc_conds=Jeżeli $1
|
||||
desc_d=celem jest $1
|
||||
desc_d!=celem nie jest $1
|
||||
desc_dport=portem docelowym jest $1
|
||||
desc_dport!=portem docelowym nie jest $1
|
||||
desc_dports=portami docelowymi są $1
|
||||
desc_dports!=portami docelowymi nie są $1
|
||||
desc_f=pakiet jest fragmentem
|
||||
desc_f!=pakiet nie jest fragmentem
|
||||
desc_gid-owner=wysyłający jest grupą $1
|
||||
desc_gid-owner!=wysyłający nie jest grupą $1
|
||||
desc_i=Interfejsem wyjściowym jest $1
|
||||
desc_i!=Interfejsem wyjściowym nie jest $1
|
||||
desc_icmp-type=typ ICMP to $1
|
||||
desc_icmp-type!=typ ICMP to nie $1
|
||||
desc_mac-source=adres ethernet to $1
|
||||
desc_mac-source!=adres ethernet to nie jest $1
|
||||
desc_o=interfejs wyjściowy jest $1
|
||||
desc_o!=interfejs wyjściowy nie jest $1
|
||||
desc_p=protokół to $1
|
||||
desc_p!=protokół to nie jest $1
|
||||
desc_physdev-in=Fizyczny wejściowy interfejs jest $1
|
||||
desc_physdev-in!=Fizyczny wejściowy interfejs nie jest $1
|
||||
desc_physdev-out=Fizyczny wyjściowy interfejs jest $1
|
||||
desc_physdev-out!=Fizyczny wyjściowy interfejs nie jest $1
|
||||
desc_ports=źródłowe i docelowa porty są
|
||||
desc_ports!=źródłowe i docelowa porty nie są
|
||||
desc_s=źródłem jest $1
|
||||
desc_s!=źródłem nie jest $1
|
||||
desc_sid-owner=sesja grupy nadawcy jest $1
|
||||
desc_sid-owner!=sesja grupy nadawcy nie jest $1
|
||||
desc_sport=źródłowy port to $1
|
||||
desc_sport!=źródłowy port nie jest $1
|
||||
desc_sports=źródłowe porty są $1
|
||||
desc_sports!=źródłowe porty nie są $1
|
||||
desc_state=stan połączenia jest $1
|
||||
desc_state!=stan połączenia nie jest $1
|
||||
ecluster=Nie masz uprawnień do zarządzania klasterem firewalla
|
||||
edit_above=Powyżej
|
||||
edit_after=Po regule $1
|
||||
edit_any=Dowolny
|
||||
edit_args=Dodatkowe parametry
|
||||
edit_before=Przed regułą $1
|
||||
edit_below=Poniżej
|
||||
edit_chain=Jest częścią łańcucha
|
||||
edit_clone=Klonuj regułę
|
||||
edit_cmt=Komentarz do reguły
|
||||
edit_desc=Wybrane powyżej działanie będzie przeprowadzone tylko jeżeli <b>all</b> poniższe warunki zostaną spełnione.
|
||||
edit_dest=Docelowy adres lub sieć
|
||||
edit_dnat=porty i adresy IP dla DNAT
|
||||
edit_dnatip=Zasięg IP od $1 do $2
|
||||
edit_dport=Porty docelowe TCP lub UDP
|
||||
edit_frag=Fragmentacja
|
||||
edit_fragis=Jest fragmentem
|
||||
edit_fragnot=Nie jest fragmentem
|
||||
edit_header1=Szczegóły łańcucha i działania
|
||||
edit_header2=Szczegóły warunków
|
||||
edit_icmptype=Typ pakietu ICMP
|
||||
edit_ignore=Ignorowane
|
||||
edit_in=Interfejs przychodzący
|
||||
edit_is=Równe
|
||||
edit_jump=Działanie
|
||||
edit_jump_other=Uruchom łańcuch
|
||||
edit_mac=Adresy Ethernet
|
||||
edit_mods=Dodatkowe moduły IPtables
|
||||
edit_mtoports=Źródłowe porty dla masquerading
|
||||
edit_not=Nie jest równe
|
||||
edit_oifc=Inne..
|
||||
edit_out=Interfejs wychodzący
|
||||
edit_physdevin=Interfejs fizyczny przychodzący
|
||||
edit_physdevisin=Pakiety przychodzące na zmostkowanym interfejsie
|
||||
edit_physdevisout=Pakiety wychodzące na zmostkowanym interfejsie
|
||||
edit_physdevout=Interfejs fizyczny wychodzący
|
||||
edit_port0=Port (y)
|
||||
edit_port1=Zakres portów od $1 do $2
|
||||
edit_ports=Źródłowe i docelowe porty
|
||||
edit_prange=Zakres portów od $1 do $2
|
||||
edit_proto=Protokół sieciowy
|
||||
edit_rtoports=Docelowe porty dla przekierowania
|
||||
edit_rwithtype=Typ $1
|
||||
edit_snat=Porty i adresy IP dla SNAT
|
||||
edit_source=Źródłowy adres lub sieć
|
||||
edit_sport=Źródłowy port TCP lub UDP
|
||||
edit_state=Stany połączenia
|
||||
edit_state_established=Istniejące połączenie
|
||||
edit_state_invalid=Nie jest częścią żadnego połączenia
|
||||
edit_state_new=Nowe połączenie
|
||||
edit_tcpflags=Flagi TCP
|
||||
edit_title1=Dodawanie reguły
|
||||
edit_title2=Edycja reguły
|
||||
edit_title3=Klonowanie reguły
|
||||
ejump=Nie masz uprawnień do edycji tej reguły
|
||||
etable=Nie masz uprawnień do edycji tej tabeli IPtable
|
||||
index_action=Akcja
|
||||
index_add=Dodaj
|
||||
index_apply=Zastosuj konfigurację
|
||||
index_applydesc=Kliknij na ten przycisk, aby aktywować powyższą konfigurację firewalla. Każda aktualnie aktywna reguła zostanie zastąpiona
|
||||
index_applydesc2=Kliknij na ten przycisk, aby ustawić powyższą konfigurację firewalla na wszystkich serwerach w tym klastrze. Inne reguły aktualnie aktywne zostaną zastąpione.
|
||||
index_atboot=Włączyć firewall przy starcie systemu?
|
||||
index_auto2=Blokuj wszystkie przychodzące połączenia na zewnętrznym interfejsie:
|
||||
index_auto3=Blokuj wszystko za wyjątkiem SSH i IDENT na zewnętrznym interfejsie:
|
||||
index_auto4=Blokuj wszystko za wyjątkiem SSH, IDENT, ping i wyższych portów na interfejsie:
|
||||
index_auto5=Blokuj wszystko za wyjątkiem portów używanych dla wirtualnego hostingu na interfejsie:
|
||||
index_bootup=Aktywuj przy starcie
|
||||
index_bootupdesc=Wybierz czy firewall ma być aktywny przy starcie systemu czy nie.
|
||||
index_cadd=Dodaj nowy łańcuch o nazwie:
|
||||
index_cclear=Wyczyść wszystkie reguły
|
||||
index_cdelete=Usuń łańcuch
|
||||
index_cdeletesel=Usuń wybrane
|
||||
index_chain=Łańcuch $1
|
||||
index_chain_forward=Pakiety przekazywane (FORWARD) - Ma zastosowanie tylko dla pakietów przesyłanych przez tego hosta
|
||||
index_chain_input=Pakiety przychodzące (INPUT) - Ma zastosowanie tylko dla pakietów adresowanych dla tego hosta
|
||||
index_chain_output=Pakiety wychodzące (OUTPUT) - Ma zastosowanie tylko dla pakietów pochodzących z tego hosta
|
||||
index_change=Wyświetlane IPtable:
|
||||
index_cluster=Serwery klastra
|
||||
index_clusterdesc=Kliknij na ten przycisk, aby ustawić dodatkowe serwery Webmina do używania tej konfiguracji firewalla.
|
||||
index_cmovesel=Przenieś wybrane
|
||||
index_comm=Komentarz
|
||||
index_crename=Zmień nazwę łancucha
|
||||
index_desc=Stan
|
||||
index_ecommand=Polecenie $1 nie zostało znalezione w twoim systemie. Webmin potrzebuje tego polecenia do skonfigurowania IPtables.
|
||||
index_editing=Plik reguł $1
|
||||
index_jump=Skocz do łańcucha $1
|
||||
index_jump_=Nic nie rób
|
||||
index_jump_accept=<font color=#00aa00>Akceptuj</font>
|
||||
index_jump_return=Zamknij łańcuch
|
||||
index_move=Przenieś
|
||||
index_none=Brak zdefiniowanych reguł w tym łańcuchu.
|
||||
index_policy=Domyślne działanie:
|
||||
index_policy_accept=Akceptuj
|
||||
index_policy_drop=Odrzuć
|
||||
index_policy_return=Zamknij łańcuch
|
||||
index_radd=Dodaj regułę
|
||||
index_reset=Resetuj Firewall
|
||||
index_resetdesc=Kliknij na ten przycisk, aby wyczyścić wszystkie istniejące reguły firewalla i ustawić domyślną początkową konfigurację.
|
||||
index_return=listy reguł
|
||||
index_saveex=Zapisz reguły Firewalla
|
||||
index_title=Firewall Linuksa
|
||||
index_unapply=Przywróć konfigurację
|
||||
index_unapply2=Zapisz konfigurację
|
||||
index_unapply2desc=Kliknij na ten przycisk, aby zapisać powyższą konfigurację do pliku konfiguracyjnego firewalla.
|
||||
index_unapplydesc=Kliknij na ten przycisk, aby zresetować powyższą konfigurację do aktualnie aktywnej.
|
||||
log_add_group=Dodano klaster serwerów do grupy $1
|
||||
log_add_host=Dodano klaster serwera $1
|
||||
log_apply=Zastosowano konfigurację
|
||||
log_bootdown=Wyłączono firewall przy uruchamianiu
|
||||
log_bootup=Włączono firewall przy uruchamianiu
|
||||
log_clear_chain=Wyczyszczono łańcuch $1 w tabeli $2
|
||||
log_convert=Skonwertowano istniejący firewall
|
||||
log_create_chain=Utworzono łańcuch $1 w tabeli $2
|
||||
log_create_rule=Dodano regułę do łańcucha $1 w tabeli $2
|
||||
log_delete_chain=Usunięto łańcuch $1 z tabeli $2
|
||||
log_delete_group=Usunięto klaster $1 serwerów
|
||||
log_delete_host=Usunięto klaster serwera $1
|
||||
log_delete_rule=Usunięto regułę z łańcucha $1 w tabeli $2
|
||||
log_delsel_chain=Usunięto $3 reguły z łańcucha $1 w tabeli $2
|
||||
log_modify_chain=Ustawiono domyślne działanie dla łańcucha $1 w tabeli $2
|
||||
log_modify_rule=Zmodyfikowano regułę w łańcuchu $1 w tabeli $2
|
||||
log_move_rule=Przeniesiono regułę w łańcuchu $1 w tabeli $2
|
||||
log_movesel_chain=Przeniesiono $3 reguły z łańcucha $1 w tabeli $2
|
||||
log_openports=Otwarto porty firewalla $1
|
||||
log_rename_chain=Zmieniono nazwę łańcucha $1 w tabeli $2
|
||||
log_setup=Ustawiono firewall
|
||||
log_unapply=Przywrócono konfigurację
|
||||
move_chain=Aktualnie zmieniony
|
||||
move_count=Wybrane reguły
|
||||
move_dest=Docelowy łańcuch
|
||||
move_header=Opcje przeniesienia reguły
|
||||
move_ok=Przeniesiono
|
||||
move_title=Przenoszenie reguł
|
||||
new_ecannot=Nie masz uprawnień do tworzenia łańcuchów
|
||||
new_ename=Brakująca lub nieprawidłowa nazwa łańcucha
|
||||
new_err=Błąd tworzenia łańcucha
|
||||
new_etaken=Łańcuch o takiej nazwie już istnieje
|
||||
policy_ecannot=Nie masz uprawnień do zmiany domyślnego działania dla tego łańcucha
|
||||
rename_chain=Aktualna nazwa
|
||||
rename_count=Reguły w łańcuchu
|
||||
rename_ecannot=Nie masz uprawnień do zmiany nazwy łańcucha
|
||||
rename_header=Opcje zmiany nazwy łańcucha
|
||||
rename_name=Nowa nazwa
|
||||
rename_none=Brak
|
||||
rename_ok=Zmieniono nazwę
|
||||
rename_title=Zmiana nazwy łańcucha
|
||||
save_ecanjump=Nie masz uprawnień do tego działania
|
||||
save_echain=Brakujący lub nieprawidłowy łańcuch do uruchomienia
|
||||
save_edest=Brakujący lub nieprawidłowy docelowy adres lub sieć
|
||||
save_edipfrom=Brakujący lub nieprawidłowy początkowy adres IP dla DNAT
|
||||
save_edipto=Nieprawidłowy końcowy adres IP dla DNAT
|
||||
save_edpfrom=Nieprawidłowy początkowy adres IP dla DNAT
|
||||
save_edport=Brakujące lub nieprawidłowe porty docelowe
|
||||
save_edportfrom=Błędny zakres początkowy dla portów docelowych
|
||||
save_edportto=Błędny końcowy zakres lub docelowe porty
|
||||
save_edpto=Brakujący lub błędny końcowy port dla DNAT
|
||||
save_egidowner=Brakująca lub błędna grupa wysyłająca unix
|
||||
save_ein=Brakujący lub nieprawidłowy interfejs przychodzący
|
||||
save_emac=Brakujący lub błędny adres ethernet
|
||||
save_emtoports=Brakujący lub błędny port źródłowy masquerade
|
||||
save_eout=Brakujący lub błędny interfejs wychodzący
|
||||
save_ephysdevin=Brakujący lub błędny fizyczny interfejs przychodzący
|
||||
save_ephysdevout=Brakujący lub błędny fizyczny interfejs wychodzący
|
||||
save_eports=Brakujący lub błędny port docelowy lub źródło
|
||||
save_eproto=Nie wybrano protokołu
|
||||
save_err=Błąd zapisywania reguły
|
||||
save_ertoports=Brakujący lub błędny docelowy port przekierowania
|
||||
save_esipfrom=Brakujący lub błędny początkowy adres IP dla SNAT
|
||||
save_esipto=Błędny końcowy adres IP dla SNAT
|
||||
save_esource=Brakujący lub błędny źródłowy adres lub sieć
|
||||
save_espfrom=Błędny początkowy port dla SNAT
|
||||
save_esport=Brakujący lub błędny port źródłowy
|
||||
save_esportfrom=Błędny zasięg początkowy dla portów źródłowych
|
||||
save_espto=Brakujący lub błędny końcowy port dla SNAT
|
||||
save_estates=Nie wybrano stanów połączenia
|
||||
setup_ecannot=Nie masz uprawnień do ustawiania firewalla
|
||||
setup_eiface=Nie wpisano interfejsu zewnętrznego sieci
|
||||
unapply_ecannot=Nie masz uprawnień do przywracania konfiguracji
|
||||
unapply_err=Błąd przywracania konfiguracji
|
||||
@@ -21,3 +21,6 @@ desc_no=Linux brannmur
|
||||
desc_hu=Linux tûzfal (Iptables)
|
||||
longdesc_ms_MY=Mengkonfigurasi firewall linux menggunakan iptables. Membenarkan untuk mengubah kesemua jadual, kunci, aturan dan pilihan.
|
||||
desc_ms_MY=Firewall Linux
|
||||
longdesc_de=Konfiguriert eine Linux-Firewall mit iptables. Ermöglicht die Bearbeitung aller Tabellen, Ketten, Regeln und Optionen.
|
||||
desc_pl=Firewall Linuksa
|
||||
longdesc_pl=Konfiguracja firewall linuksa u¿ywaj±c iptables. Pozwala na edycjê wszystkich tabel, regu³ i opcji.
|
||||
|
||||
2
firewalld/CHANGELOG
Normal file
2
firewalld/CHANGELOG
Normal file
@@ -0,0 +1,2 @@
|
||||
---- Changes since 1.750 ----
|
||||
First version of this module, for configuring allowed ports and services in FirewallD.
|
||||
18
firewalld/bootup.cgi
Executable file
18
firewalld/bootup.cgi
Executable file
@@ -0,0 +1,18 @@
|
||||
#!/usr/local/bin/perl
|
||||
# Enable or disable firewalld at boot time
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
require './firewalld-lib.pl';
|
||||
our (%in, %config);
|
||||
&ReadParse();
|
||||
&foreign_require("init");
|
||||
if ($in{'boot'}) {
|
||||
&init::enable_at_boot($config{'init_name'});
|
||||
}
|
||||
else {
|
||||
&init::disable_at_boot($config{'init_name'});
|
||||
}
|
||||
&webmin_log($in{'boot'} ? "bootup" : "bootdown");
|
||||
&redirect("index.cgi?zone=".&urlize($in{'zone'}));
|
||||
|
||||
2
firewalld/config
Normal file
2
firewalld/config
Normal file
@@ -0,0 +1,2 @@
|
||||
firewall_cmd=firewall-cmd
|
||||
init_name=firewalld
|
||||
2
firewalld/config.info
Normal file
2
firewalld/config.info
Normal file
@@ -0,0 +1,2 @@
|
||||
firewall_cmd=Full path to firewall-cmd program,0
|
||||
init_name=FirewallD init script name,0
|
||||
2
firewalld/config.info.ca
Executable file
2
firewalld/config.info.ca
Executable file
@@ -0,0 +1,2 @@
|
||||
firewall_cmd=Camí complet del programa firewall-cmd,0
|
||||
init_name=Nom del script d'inici de FirewallD,0
|
||||
2
firewalld/config.info.de
Normal file
2
firewalld/config.info.de
Normal file
@@ -0,0 +1,2 @@
|
||||
firewall_cmd=Voller Pfad zum firewall-cmd Programm,0
|
||||
init_name=FirewallD init-script-Name,0
|
||||
77
firewalld/create_zone.cgi
Executable file
77
firewalld/create_zone.cgi
Executable file
@@ -0,0 +1,77 @@
|
||||
#!/usr/local/bin/perl
|
||||
# Create a new zone, and add some allowed ports to it
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
require 'firewalld-lib.pl';
|
||||
our (%text, %in);
|
||||
&ReadParse();
|
||||
&error_setup($text{'zone_err'});
|
||||
|
||||
# Validate inputs
|
||||
$in{'name'} =~ /^[a-z0-9\.\_\-]+$/i || &error($text{'zone_ename'});
|
||||
my @zones = &list_firewalld_zones();
|
||||
my ($clash) = grep { $_->{'name'} eq $in{'name'} } @zones;
|
||||
$clash && &error($text{'zone_eclash'});
|
||||
|
||||
# Add the zone
|
||||
my $err = &create_firewalld_zone($in{'name'});
|
||||
&error($err) if ($err);
|
||||
|
||||
# Find the Webmin port
|
||||
my @webminports;
|
||||
if (&foreign_installed("webmin")) {
|
||||
&foreign_require("webmin");
|
||||
my @socks = &webmin::get_miniserv_sockets();
|
||||
@webminports = &unique(map { $_->[1] } @webminports);
|
||||
}
|
||||
else {
|
||||
@webminports = ( $ENV{'SERVER_PORT'} || 10000 );
|
||||
}
|
||||
|
||||
# Work out which ports to allow
|
||||
my (@addports, @addservs);
|
||||
if ($in{'mode'} == 1) {
|
||||
# Copy from another zone
|
||||
my ($source) = grep { $_->{'name'} eq $in{'source'} } @zones;
|
||||
@addports = @{$source->{'ports'}};
|
||||
@addservs = @{$source->{'services'}};
|
||||
}
|
||||
elsif ($in{'mode'} >= 2) {
|
||||
# SSH, Webmin and Ident
|
||||
push(@addports, "ssh/tcp", "auth/tcp");
|
||||
foreach my $webminport (@webminports) {
|
||||
push(@addports, $webminport."-".($webminport+10)."/tcp");
|
||||
}
|
||||
|
||||
if ($in{'mode'} >= 3) {
|
||||
# High ports
|
||||
push(@addports, "1024-65535/tcp");
|
||||
}
|
||||
|
||||
if ($in{'mode'} >= 4) {
|
||||
# Other virtual hosting ports
|
||||
push(@addports, "53/tcp", "53/udp"); # DNS
|
||||
push(@addports, "80/tcp", "443/tcp"); # HTTP
|
||||
push(@addports, "25/tcp", "587/tcp"); # SMTP
|
||||
push(@addports, "20/tcp", "21/tcp"); # FTP
|
||||
push(@addports, "110/tcp", "995/tcp"); # POP3
|
||||
push(@addports, "143/tcp", "220/tcp", "993/tcp"); # IMAP
|
||||
push(@addports, "20000/tcp"); # Usermin
|
||||
}
|
||||
}
|
||||
|
||||
# Add the ports and services
|
||||
my $zone = { 'name' => $in{'name'} };
|
||||
foreach my $p (@addports) {
|
||||
my $err = &create_firewalld_port($zone, split(/\//, $p));
|
||||
&error($err) if ($err);
|
||||
}
|
||||
foreach my $s (@addservs) {
|
||||
my $err = &create_firewalld_service($zone, $s);
|
||||
&error($err) if ($err);
|
||||
}
|
||||
|
||||
&webmin_log("create", "zone", $in{'name'});
|
||||
&redirect("index.cgi?zone=".&urlize($in{'name'}));
|
||||
|
||||
21
firewalld/default_zone.cgi
Executable file
21
firewalld/default_zone.cgi
Executable file
@@ -0,0 +1,21 @@
|
||||
#!/usr/local/bin/perl
|
||||
# Make a zone the default
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
require 'firewalld-lib.pl';
|
||||
our (%text, %in);
|
||||
&ReadParse();
|
||||
&error_setup($text{'defzone_err'});
|
||||
|
||||
# Get the zone
|
||||
my @zones = &list_firewalld_zones();
|
||||
my ($zone) = grep { $_->{'name'} eq $in{'zone'} } @zones;
|
||||
$zone || &error($text{'port_ezone'});
|
||||
|
||||
# Make the default
|
||||
my $err = &default_firewalld_zone($zone);
|
||||
&error($err) if ($err);
|
||||
|
||||
&webmin_log("default", "zone", $zone->{'name'});
|
||||
&redirect("index.cgi?zone=".&urlize($zone->{'name'}));
|
||||
32
firewalld/delete_rules.cgi
Executable file
32
firewalld/delete_rules.cgi
Executable file
@@ -0,0 +1,32 @@
|
||||
#!/usr/local/bin/perl
|
||||
# Delete multiple ports or services
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
require 'firewalld-lib.pl';
|
||||
our (%in, %text);
|
||||
&error_setup($text{'delete_err'});
|
||||
&ReadParse();
|
||||
my @d = split(/\0/, $in{'d'});
|
||||
@d || &error($text{'delete_enone'});
|
||||
|
||||
my @zones = &list_firewalld_zones();
|
||||
my ($zone) = grep { $_->{'name'} eq $in{'zone'} } @zones;
|
||||
$zone || &error($text{'port_ezone'});
|
||||
|
||||
foreach my $d (@d) {
|
||||
my @w = split(/\//, $d);
|
||||
my $err;
|
||||
if ($w[0] eq "port") {
|
||||
$err = &delete_firewalld_port($zone, $w[1], $w[2]);
|
||||
}
|
||||
elsif ($w[0] eq "service") {
|
||||
$err = &delete_firewalld_service($zone, $w[1]);
|
||||
}
|
||||
else {
|
||||
next;
|
||||
}
|
||||
&error(&text('delete_edel', $d, $err)) if ($err);
|
||||
}
|
||||
&webmin_log("delete", "rules", scalar(@d));
|
||||
&redirect("index.cgi?zone=".&urlize($zone->{'name'}));
|
||||
39
firewalld/delete_zone.cgi
Executable file
39
firewalld/delete_zone.cgi
Executable file
@@ -0,0 +1,39 @@
|
||||
#!/usr/local/bin/perl
|
||||
# Delete a zone, after asking for confirmation
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
require 'firewalld-lib.pl';
|
||||
our (%text, %in);
|
||||
&ReadParse();
|
||||
&error_setup($text{'delzone_err'});
|
||||
|
||||
# Get the zone
|
||||
my @zones = &list_firewalld_zones();
|
||||
my ($zone) = grep { $_->{'name'} eq $in{'zone'} } @zones;
|
||||
$zone || &error($text{'port_ezone'});
|
||||
$zone->{'default'} && &error($text{'delzone_edefault'});
|
||||
|
||||
if ($in{'confirm'}) {
|
||||
# Just do it
|
||||
my $err = &delete_firewalld_zone($zone);
|
||||
&error($err) if ($err);
|
||||
&webmin_log("delete", "zone", $zone->{'name'});
|
||||
&redirect("index.cgi");
|
||||
}
|
||||
else {
|
||||
# Ask first
|
||||
&ui_print_header(undef, $text{'delzone_title'}, "");
|
||||
|
||||
print &ui_confirmation_form("delete_zone.cgi",
|
||||
&text('delzone_rusure', "<tt>$zone->{'name'}</tt>",
|
||||
scalar(@{$zone->{'ports'}}),
|
||||
scalar(@{$zone->{'services'}})),
|
||||
[ [ 'zone', $zone->{'name'} ] ],
|
||||
[ [ 'confirm', $text{'delete'} ] ],
|
||||
);
|
||||
|
||||
&ui_print_footer("index.cgi?zone=".&urlize($in{'zone'}),
|
||||
$text{'index_return'});
|
||||
}
|
||||
|
||||
68
firewalld/edit_port.cgi
Executable file
68
firewalld/edit_port.cgi
Executable file
@@ -0,0 +1,68 @@
|
||||
#!/usr/local/bin/perl
|
||||
# Show a form to edit one port or port range
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
require 'firewalld-lib.pl';
|
||||
our (%in, %text);
|
||||
&ReadParse();
|
||||
|
||||
# Get the zone and rule
|
||||
my @zones = &list_firewalld_zones();
|
||||
my ($zone) = grep { $_->{'name'} eq $in{'zone'} } @zones;
|
||||
$zone || &error($text{'port_ezone'});
|
||||
my ($mode, $ports, $proto, $port, $portlow, $porthigh);
|
||||
if (!$in{'new'}) {
|
||||
&ui_print_header(undef, $text{'port_edit'}, "");
|
||||
($ports, $proto) = split(/\//, $in{'id'});
|
||||
if ($ports =~ /^(\d+)\-(\d+)$/) {
|
||||
$mode = 1;
|
||||
($portlow, $porthigh) = ($1, $2);
|
||||
}
|
||||
else {
|
||||
$mode = 0;
|
||||
$port = $ports;
|
||||
}
|
||||
}
|
||||
else {
|
||||
&ui_print_header(undef, $text{'port_create'}, "");
|
||||
$mode = 0;
|
||||
$proto = "tcp";
|
||||
}
|
||||
|
||||
print &ui_form_start("save_port.cgi", "post");
|
||||
print &ui_hidden("zone", $in{'zone'});
|
||||
print &ui_hidden("id", $in{'id'});
|
||||
print &ui_hidden("new", $in{'new'});
|
||||
print &ui_table_start($text{'port_header'}, undef, 2);
|
||||
|
||||
# Zone name
|
||||
print &ui_table_row($text{'port_zone'},
|
||||
"<tt>".&html_escape($zone->{'name'})."</tt>");
|
||||
|
||||
# Port number or range
|
||||
print &ui_table_row($text{'port_port'},
|
||||
&ui_radio_table("mode", $mode,
|
||||
[ [ 0, $text{'port_mode0'},
|
||||
&ui_textbox("port", $port, 6) ],
|
||||
[ 1, $text{'port_mode1'},
|
||||
&ui_textbox("portlow", $portlow, 6)." - ".
|
||||
&ui_textbox("porthigh", $porthigh, 6) ] ]));
|
||||
|
||||
# Protocol name
|
||||
print &ui_table_row($text{'port_proto'},
|
||||
&ui_select("proto", $proto,
|
||||
[ [ "tcp", "TCP" ],
|
||||
[ "udp", "UDP" ] ], 1, 0, 1));
|
||||
|
||||
print &ui_table_end();
|
||||
if ($in{'new'}) {
|
||||
print &ui_form_end([ [ undef, $text{'create'} ] ]);
|
||||
}
|
||||
else {
|
||||
print &ui_form_end([ [ undef, $text{'save'} ],
|
||||
[ 'delete', $text{'delete'} ] ]);
|
||||
}
|
||||
|
||||
&ui_print_footer("index.cgi?zone=".&urlize($zone->{'name'}),
|
||||
$text{'index_return'});
|
||||
47
firewalld/edit_serv.cgi
Executable file
47
firewalld/edit_serv.cgi
Executable file
@@ -0,0 +1,47 @@
|
||||
#!/usr/local/bin/perl
|
||||
# Show a form to edit one service
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
require 'firewalld-lib.pl';
|
||||
our (%in, %text);
|
||||
&ReadParse();
|
||||
|
||||
# Get the zone and rule
|
||||
my @zones = &list_firewalld_zones();
|
||||
my ($zone) = grep { $_->{'name'} eq $in{'zone'} } @zones;
|
||||
$zone || &error($text{'port_ezone'});
|
||||
my $serv;
|
||||
if (!$in{'new'}) {
|
||||
&ui_print_header(undef, $text{'serv_edit'}, "");
|
||||
$serv = $in{'id'};
|
||||
}
|
||||
else {
|
||||
&ui_print_header(undef, $text{'serv_create'}, "");
|
||||
}
|
||||
|
||||
print &ui_form_start("save_serv.cgi", "post");
|
||||
print &ui_hidden("zone", $in{'zone'});
|
||||
print &ui_hidden("id", $in{'id'});
|
||||
print &ui_hidden("new", $in{'new'});
|
||||
print &ui_table_start($text{'serv_header'}, undef, 2);
|
||||
|
||||
# Zone name
|
||||
print &ui_table_row($text{'port_zone'},
|
||||
"<tt>".&html_escape($zone->{'name'})."</tt>");
|
||||
|
||||
# Service name
|
||||
print &ui_table_row($text{'serv_name'},
|
||||
&ui_select("serv", $serv, [ &list_firewalld_services() ]));
|
||||
|
||||
print &ui_table_end();
|
||||
if ($in{'new'}) {
|
||||
print &ui_form_end([ [ undef, $text{'create'} ] ]);
|
||||
}
|
||||
else {
|
||||
print &ui_form_end([ [ undef, $text{'save'} ],
|
||||
[ 'delete', $text{'delete'} ] ]);
|
||||
}
|
||||
|
||||
&ui_print_footer("index.cgi?zone=".&urlize($zone->{'name'}),
|
||||
$text{'index_return'});
|
||||
220
firewalld/firewalld-lib.pl
Normal file
220
firewalld/firewalld-lib.pl
Normal file
@@ -0,0 +1,220 @@
|
||||
# Functions for managing firewalld
|
||||
|
||||
BEGIN { push(@INC, ".."); };
|
||||
use strict;
|
||||
use warnings;
|
||||
use WebminCore;
|
||||
&init_config();
|
||||
do 'md5-lib.pl';
|
||||
our ($module_root_directory, %text, %config, %gconfig);
|
||||
our %access = &get_module_acl();
|
||||
|
||||
# check_firewalld()
|
||||
# Returns an error message if firewalld is not installed, undef if all is OK
|
||||
sub check_firewalld
|
||||
{
|
||||
&has_command($config{'firewall_cmd'}) ||
|
||||
return &text('check_ecmd', "<tt>".$config{'firewall_cmd'}."</tt>");
|
||||
return undef;
|
||||
}
|
||||
|
||||
# is_firewalld_running()
|
||||
# Returns 1 if the server is running, 0 if not
|
||||
sub is_firewalld_running
|
||||
{
|
||||
my $ex = system("$config{'firewall_cmd'} --state >/dev/null 2>&1 </dev/null");
|
||||
return $ex ? 0 : 1;
|
||||
}
|
||||
|
||||
# list_firewalld_zones([active-only])
|
||||
# Returns an array of firewalld zones, each of which is a hash ref with fields
|
||||
# like services and ports
|
||||
sub list_firewalld_zones
|
||||
{
|
||||
my ($active) = @_;
|
||||
my @rv;
|
||||
my $out = &backquote_command("$config{'firewall_cmd'} --list-all-zones ".
|
||||
($active ? "" : "--permanent ")."</dev/null 2>&1");
|
||||
if ($?) {
|
||||
&error("Failed to list zones : $out");
|
||||
}
|
||||
my $zone;
|
||||
foreach my $l (split(/\r?\n/, $out)) {
|
||||
if ($l =~ /^(\S+)(\s+\(.*\))?/) {
|
||||
# New zone
|
||||
$zone = { 'name' => $1,
|
||||
'default' => $2 ? 1 : 0 };
|
||||
push(@rv, $zone);
|
||||
}
|
||||
elsif ($l =~ /^\s+(\S+):\s*(.*)/ && $zone) {
|
||||
# Option in some zone
|
||||
$zone->{$1} = [ split(/\s+/, $2) ];
|
||||
}
|
||||
}
|
||||
return @rv;
|
||||
}
|
||||
|
||||
# list_firewalld_services()
|
||||
# Returns an array of known service names
|
||||
sub list_firewalld_services
|
||||
{
|
||||
my $out = &backquote_command("$config{'firewall_cmd'} --get-services </dev/null 2>&1");
|
||||
if ($?) {
|
||||
&error("Failed to list services : $out");
|
||||
}
|
||||
$out =~ s/\r|\n//g;
|
||||
return split(/\s+/, $out);
|
||||
}
|
||||
|
||||
# create_firewalld_port(&zone, port|range, proto)
|
||||
# Adds a new allowed port to a zone. Returns undef on success or an error
|
||||
# message on failure
|
||||
sub create_firewalld_port
|
||||
{
|
||||
my ($zone, $port, $proto) = @_;
|
||||
my $out = &backquote_logged("$config{'firewall_cmd'} ".
|
||||
"--zone ".quotemeta($zone->{'name'})." ".
|
||||
"--permanent --add-port ".
|
||||
quotemeta($port)."/".quotemeta($proto)." 2>&1");
|
||||
return $? ? $out : undef;
|
||||
}
|
||||
|
||||
# delete_firewalld_port(&zone, port|range, proto)
|
||||
# Delete one existing port from a zone. Returns undef on success or an error
|
||||
# message on failure
|
||||
sub delete_firewalld_port
|
||||
{
|
||||
my ($zone, $port, $proto) = @_;
|
||||
my $out = &backquote_logged("$config{'firewall_cmd'} ".
|
||||
"--zone ".quotemeta($zone->{'name'})." ".
|
||||
"--permanent --remove-port ".
|
||||
quotemeta($port)."/".quotemeta($proto)." 2>&1");
|
||||
return $? ? $out : undef;
|
||||
}
|
||||
|
||||
# create_firewalld_service(&zone, service)
|
||||
# Adds a new allowed service to a zone. Returns undef on success or an error
|
||||
# message on failure
|
||||
sub create_firewalld_service
|
||||
{
|
||||
my ($zone, $service) = @_;
|
||||
my $out = &backquote_logged("$config{'firewall_cmd'} ".
|
||||
"--zone ".quotemeta($zone->{'name'})." ".
|
||||
"--permanent --add-service ".
|
||||
quotemeta($service)." 2>&1");
|
||||
return $? ? $out : undef;
|
||||
}
|
||||
|
||||
# delete_firewalld_service(&zone, service)
|
||||
# Delete one existing service from a zone. Returns undef on success or an error
|
||||
# message on failure
|
||||
sub delete_firewalld_service
|
||||
{
|
||||
my ($zone, $service) = @_;
|
||||
my $out = &backquote_logged("$config{'firewall_cmd'} ".
|
||||
"--zone ".quotemeta($zone->{'name'})." ".
|
||||
"--permanent --remove-service ".
|
||||
quotemeta($service)." 2>&1");
|
||||
return $? ? $out : undef;
|
||||
}
|
||||
|
||||
# apply_firewalld()
|
||||
# Make the current saved config active
|
||||
sub apply_firewalld
|
||||
{
|
||||
my $out = &backquote_logged("$config{'firewall_cmd'} --reload 2>&1");
|
||||
return $? ? $out : undef;
|
||||
}
|
||||
|
||||
# stop_firewalld()
|
||||
# Shut down the firewalld service
|
||||
sub stop_firewalld
|
||||
{
|
||||
&foreign_require("init");
|
||||
my ($ok, $err) = &init::stop_action($config{'init_name'});
|
||||
return $ok ? undef : $err;
|
||||
}
|
||||
|
||||
# start_firewalld()
|
||||
# Shut down the firewalld service
|
||||
sub start_firewalld
|
||||
{
|
||||
&foreign_require("init");
|
||||
my ($ok, $err) = &init::start_action($config{'init_name'});
|
||||
return $ok ? undef : $err;
|
||||
}
|
||||
|
||||
# list_system_interfaces()
|
||||
# Returns the list of all interfaces on the system
|
||||
sub list_system_interfaces
|
||||
{
|
||||
&foreign_require("net");
|
||||
my @rv = map { $_->{'name'} } &net::active_interfaces();
|
||||
push(@rv, map { $_->{'name'} } &net::boot_interfaces());
|
||||
return &unique(@rv);
|
||||
}
|
||||
|
||||
# update_zone_interfaces(&zone, &interface-list)
|
||||
# Update the interfaces a zone applies to
|
||||
sub update_zone_interfaces
|
||||
{
|
||||
my ($zone, $newifaces) = @_;
|
||||
my $oldifaces = $zone->{'interfaces'};
|
||||
foreach my $i (&list_system_interfaces()) {
|
||||
my $inold = &indexof($i, @$oldifaces) >= 0;
|
||||
my $innew = &indexof($i, @$newifaces) >= 0;
|
||||
my $args;
|
||||
if ($inold && !$innew) {
|
||||
# Remove from this zone
|
||||
$args = "--remove-interface ".quotemeta($i);
|
||||
}
|
||||
elsif (!$inold && $innew) {
|
||||
# Add to from this zone
|
||||
$args = "--add-interface ".quotemeta($i);
|
||||
}
|
||||
else {
|
||||
next;
|
||||
}
|
||||
my $cmd = "$config{'firewall_cmd'} ".
|
||||
"--zone ".quotemeta($zone->{'name'})." ".
|
||||
"--permanent ".$args;
|
||||
my $out = &backquote_logged($cmd." 2>&1 </dev/null");
|
||||
return $out if ($?);
|
||||
}
|
||||
return undef;
|
||||
}
|
||||
|
||||
# create_firewalld_zone(name)
|
||||
# Add a new zone with the given name
|
||||
sub create_firewalld_zone
|
||||
{
|
||||
my ($name) = @_;
|
||||
my $cmd = "$config{'firewall_cmd'} --permanent --new-zone ".quotemeta($name);
|
||||
my $out = &backquote_logged($cmd." 2>&1 </dev/null");
|
||||
return $? ? $out : undef;
|
||||
}
|
||||
|
||||
# delete_firewalld_zone(&zone)
|
||||
# Removes the specified zone
|
||||
sub delete_firewalld_zone
|
||||
{
|
||||
my ($zone) = @_;
|
||||
my $cmd = "$config{'firewall_cmd'} --permanent --delete-zone ".
|
||||
quotemeta($zone->{'name'});
|
||||
my $out = &backquote_logged($cmd." 2>&1 </dev/null");
|
||||
return $? ? $out : undef;
|
||||
}
|
||||
|
||||
# default_firewalld_zone(&zone)
|
||||
# Makes the specified zone the default
|
||||
sub default_firewalld_zone
|
||||
{
|
||||
my ($zone) = @_;
|
||||
my $cmd = "$config{'firewall_cmd'} --set-default-zone ".
|
||||
quotemeta($zone->{'name'});
|
||||
my $out = &backquote_logged($cmd." 2>&1 </dev/null");
|
||||
return $? ? $out : undef;
|
||||
}
|
||||
|
||||
1;
|
||||
|
||||
BIN
firewalld/images/icon.gif
Normal file
BIN
firewalld/images/icon.gif
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.8 KiB |
147
firewalld/index.cgi
Executable file
147
firewalld/index.cgi
Executable file
@@ -0,0 +1,147 @@
|
||||
#!/usr/local/bin/perl
|
||||
# Show all firewalld rules and zones
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
require 'firewalld-lib.pl';
|
||||
our (%in, %text, %config, %access, $base_remote_user);
|
||||
&ReadParse();
|
||||
if ($in{'addzone'}) {
|
||||
# Redirect to zone creation form
|
||||
&redirect("zone_form.cgi?zone=".&urlize($in{'zone'}));
|
||||
return;
|
||||
}
|
||||
if ($in{'delzone'}) {
|
||||
# Redirect to zone deletion form
|
||||
&redirect("delete_zone.cgi?zone=".&urlize($in{'zone'}));
|
||||
return;
|
||||
}
|
||||
if ($in{'defzone'}) {
|
||||
# Make a zone the default
|
||||
&redirect("default_zone.cgi?zone=".&urlize($in{'zone'}));
|
||||
return;
|
||||
}
|
||||
&ui_print_header(undef, $text{'index_title'}, "", undef, 1, 1);
|
||||
|
||||
# Is firewalld working?
|
||||
my $err = &check_firewalld();
|
||||
if ($err) {
|
||||
&ui_print_endpage(&text('index_cerr', $err));
|
||||
return;
|
||||
}
|
||||
|
||||
# Get rules and zones
|
||||
my @zones = &list_firewalld_zones();
|
||||
@zones || &error($text{'index_ezones'});
|
||||
my $zone;
|
||||
if ($in{'zone'}) {
|
||||
($zone) = grep { $_->{'name'} eq $in{'zone'} } @zones;
|
||||
}
|
||||
else {
|
||||
($zone) = grep { $_->{'default'} } @zones;
|
||||
}
|
||||
$zone ||= $zones[0];
|
||||
my @azones = &list_firewalld_zones(1);
|
||||
my ($azone) = grep { $_->{'name'} eq $zone->{'name'} } @azones;
|
||||
|
||||
# Show zone selector
|
||||
print &ui_form_start("index.cgi");
|
||||
print "<b>$text{'index_zone'}</b> ",
|
||||
&ui_select("zone", $zone->{'name'},
|
||||
[ map { [ $_->{'name'},
|
||||
$_->{'name'}.($_->{'default'} ? ' (default)' : '') ]}
|
||||
@zones ], 1, 0, 0, 0,
|
||||
"onChange='form.submit()'")," ",
|
||||
&ui_submit($text{'index_zoneok'})," ",
|
||||
&ui_submit($text{'index_zonedef'}, "defzone")," ",
|
||||
&ui_submit($text{'index_zonedel'}, "delzone")," ",
|
||||
&ui_submit($text{'index_zoneadd'}, "addzone")," ",
|
||||
"<p>\n";
|
||||
print &ui_form_end();
|
||||
|
||||
# Show allowed ports and services in this zone
|
||||
my @links = ( &ui_link("edit_port.cgi?new=1&zone=".&urlize($zone->{'name'}),
|
||||
$text{'index_padd'}),
|
||||
&ui_link("edit_serv.cgi?new=1&zone=".&urlize($zone->{'name'}),
|
||||
$text{'index_sadd'}) );
|
||||
if (@{$zone->{'services'}} || @{$zone->{'ports'}}) {
|
||||
my @tds = ( "width=5" );
|
||||
unshift(@links, &select_all_link("d", 1),
|
||||
&select_invert_link("d", 1));
|
||||
print &ui_form_start("delete_rules.cgi", "post");
|
||||
print &ui_hidden("zone", $zone->{'name'});
|
||||
print &ui_links_row(\@links);
|
||||
print &ui_columns_start([ "", $text{'index_type'}, $text{'index_port'},
|
||||
$text{'index_proto'} ], 100, 0, \@tds);
|
||||
foreach my $s (@{$zone->{'services'}}) {
|
||||
my $url = "edit_serv.cgi?id=".&urlize($s).
|
||||
"&zone=".&urlize($zone->{'name'});
|
||||
print &ui_checked_columns_row([
|
||||
&ui_link($url, $text{'index_tservice'}),
|
||||
&ui_link($url, $s),
|
||||
"",
|
||||
], \@tds, "d", "service/".$s);
|
||||
}
|
||||
foreach my $p (@{$zone->{'ports'}}) {
|
||||
my $url = "edit_port.cgi?id=".&urlize($p).
|
||||
"&zone=".&urlize($zone->{'name'});
|
||||
my ($port, $proto) = split(/\//, $p);
|
||||
print &ui_checked_columns_row([
|
||||
&ui_link($url, $text{'index_tport'}),
|
||||
&ui_link($url, $port),
|
||||
&ui_link($url, uc($proto)),
|
||||
], \@tds, "d", "port/".$p);
|
||||
}
|
||||
print &ui_columns_end();
|
||||
print &ui_links_row(\@links);
|
||||
print &ui_form_end([ [ undef, $text{'index_delete'} ] ]);
|
||||
}
|
||||
else {
|
||||
print "<b>$text{'index_none'}</b> <p>\n";
|
||||
print &ui_links_row(\@links);
|
||||
}
|
||||
|
||||
# Show interfaces for this zone
|
||||
print &ui_form_start("save_ifaces.cgi");
|
||||
print &ui_hidden("zone", $zone->{'name'});
|
||||
print "<b>$text{'index_ifaces'}</b>\n";
|
||||
my %zifcs = map { $_, 1 } &unique(@{$azone->{'interfaces'}},
|
||||
@{$zone->{'interfaces'}});
|
||||
foreach my $i (&list_system_interfaces()) {
|
||||
print &ui_checkbox("iface", $i, $i, $zifcs{$i}),"\n";
|
||||
}
|
||||
print &ui_submit($text{'save'});
|
||||
print &ui_form_end();
|
||||
|
||||
# Show start/apply buttons
|
||||
print &ui_hr();
|
||||
print &ui_buttons_start();
|
||||
my $ok = &is_firewalld_running();
|
||||
if ($ok) {
|
||||
print &ui_buttons_row("restart.cgi", $text{'index_restart'},
|
||||
$text{'index_restartdesc'},
|
||||
[ [ "zone", $zone->{'name'} ] ]);
|
||||
print &ui_buttons_row("stop.cgi", $text{'index_stop'},
|
||||
$text{'index_stopdesc'},
|
||||
[ [ "zone", $zone->{'name'} ] ]);
|
||||
}
|
||||
else {
|
||||
print &ui_buttons_row("start.cgi", $text{'index_start'},
|
||||
$text{'index_startdesc'},
|
||||
[ [ "zone", $zone->{'name'} ] ]);
|
||||
}
|
||||
|
||||
# Enable at boot
|
||||
&foreign_require("init");
|
||||
my $st = &init::action_status($config{'init_name'});
|
||||
if ($st) {
|
||||
my $atboot = $st == 2 ? 1 : 0;
|
||||
print &ui_buttons_row("bootup.cgi", $text{'index_bootup'},
|
||||
$text{'index_bootupdesc'},
|
||||
[ [ "zone", $zone->{'name'} ] ],
|
||||
&ui_yesno_radio("boot", $atboot));
|
||||
}
|
||||
|
||||
print &ui_buttons_end();
|
||||
|
||||
&ui_print_footer("/", $text{'index'});
|
||||
20
firewalld/install_check.pl
Executable file
20
firewalld/install_check.pl
Executable file
@@ -0,0 +1,20 @@
|
||||
# install_check.pl
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
do 'firewalld-lib.pl';
|
||||
|
||||
# is_installed(mode)
|
||||
# For mode 1, returns 2 if the server is installed and configured for use by
|
||||
# Webmin, 1 if installed but not configured, or 0 otherwise.
|
||||
# For mode 0, returns 1 if installed, 0 if not
|
||||
sub is_installed
|
||||
{
|
||||
my ($mode) = @_;
|
||||
return 0 if (&check_firewalld());
|
||||
if ($mode) {
|
||||
return &is_firewalld_running() ? 2 : 1;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
98
firewalld/lang/ca
Executable file
98
firewalld/lang/ca
Executable file
@@ -0,0 +1,98 @@
|
||||
index_title=FirewallD
|
||||
index_atboot=Activa el tallafocs en engegar el sistema
|
||||
index_bootup=Activa en engegar
|
||||
index_bootupdesc=Canvia aquest opció per controlar si el tallafocs s'activa en engegar el sistema o no.
|
||||
index_apply=Aplica la Configuració
|
||||
index_applydesc=Fes clic sobre aquest botó per activar la configuracio del tallafocs llistada més amunt. Totes les regles del tallafocs que estiguin actualment en efecte seran descartades i substituïdes.
|
||||
index_restart=Aplica la Configuració
|
||||
index_restartdesc=Activa tots els serveis permesos i els ports llistats més amunr a totes les zones. Totes aquelles regles actives que no s'hagin creat de forma permanent seran substituïdes.
|
||||
index_start=Inicia FirewallD
|
||||
index_startdesc=Inicia el servidor FirewallD i aplica les regles llistades més amunt.
|
||||
index_stop=Atura FirewallD
|
||||
index_stopdesc=Tanca el servidor FirewallD i elimina totes les regles llistades és amunt.
|
||||
index_cerr=No es pot utilitzar el mòdul FirewallD: $1
|
||||
index_zone=Mostra les regles de la zone:
|
||||
index_zoneok=Cnvia
|
||||
index_zoneadd=Afegeix una Zona...
|
||||
index_zonedel=Suprimeix la Zona
|
||||
index_zonedef=Fes Zona per Defecte
|
||||
index_type=Tipus de Regla
|
||||
index_port=Port o servei
|
||||
index_proto=Protocol
|
||||
index_tservice=Servei
|
||||
index_tport=Port
|
||||
index_padd=Afegeix un port permès.
|
||||
index_sadd=Afegeix un servei permès.
|
||||
index_delete=Suprimeix les Regles Seleccionades
|
||||
index_return=a la llista de zones
|
||||
index_ezones=No s'ha trobat cap zona FirewallD!
|
||||
index_none=Aquesta zona encara no té cap port ni servei permès.
|
||||
index_ifaces=Aplica les regles a les interfícies:
|
||||
|
||||
port_edit=Edició de Port
|
||||
port_create=Addició de Port
|
||||
port_header=Opcións del port permès
|
||||
port_zone=Permès a la zona
|
||||
port_port=Port a permetre
|
||||
port_mode0=Un sol port
|
||||
port_mode1=Rang de ports
|
||||
port_proto=Protocol de xarxa
|
||||
port_ezone=La zona no existeix!
|
||||
port_err=No s'ha pogut desar el port
|
||||
port_eport=Hi falta el nom o número de port, o bé és invàlid
|
||||
port_eportlow=El port més baix ha de ser un número
|
||||
port_eporthigh=El port més alt ha de ser un número
|
||||
port_eportrange=El port més baix ha d'estar per sota del més alt
|
||||
|
||||
serv_edit=Edició de Servei
|
||||
serv_create=Addició de Servei
|
||||
serv_header=Opcions del servei permès
|
||||
serv_name=Servei a permetre
|
||||
serv_err=No s'ha pogut desar el servei
|
||||
|
||||
check_ecmd=No s'ha trobat al sistema l'ordre $1 de control de FirewallD
|
||||
|
||||
delete_err=NO s'han pogut suprimir les regles
|
||||
delete_enone=No n'has seleccionat cap!
|
||||
delete_edel=L'eliminació de $1 ha fallat: $2
|
||||
|
||||
zone_title=Creació de Zona
|
||||
zone_header=Opcions de la nova zona
|
||||
zone_name=Nom de la zona
|
||||
zone_mode=Ports i serveis permesos
|
||||
zone_mode0=Cap (es bloquejarà tot el trànsit)
|
||||
zone_mode1=Copia-ho de la zona
|
||||
zone_mode2=Només SSH, IDENT i Webmin
|
||||
zone_mode3=SSH, IDENT, Webmin i els ports alts
|
||||
zone_mode4=Ports utilitzats per a allotjament virtual
|
||||
zone_err=No s'ha pogut crear la zona
|
||||
zone_ename=Hi falta el nom de zona o bé és invàlid
|
||||
zone_eclash=Ja existeix una zona amb el mateix nom
|
||||
|
||||
delzone_title=Supressió de Zona
|
||||
delzone_err=No s'ha pogut suprimir la zona
|
||||
delzone_edefault=La zona per defecte no es pot eliminar
|
||||
delzone_rusure=Segur que vols suprimir la zona $1, que conté $2 ports i $3 serveis?
|
||||
|
||||
defzone_err=No s'ha pogut crear la zona per defecte
|
||||
|
||||
restart_err=No s'ha pogut aplicar la configuració
|
||||
stop_err=No s'ha pogut aturar FirewallD
|
||||
start_err=No s'ha pogut iniciar FirewallD
|
||||
|
||||
log_stop=S'ha aturat FirewallD
|
||||
log_start=S'ha iniciat FirewallD
|
||||
log_restart=S'ha aplicat la configuracio de FirewallD
|
||||
log_bootup=S'ha activat FirewallD en engegar
|
||||
log_bootdown=S'ha desactivat FirewallD en engegar
|
||||
log_create_port=S'ha afegit el port permès $1
|
||||
log_delete_port=S'ha eliminat el port permès $1
|
||||
log_update_port=S'ha actualitzat el port permès $1
|
||||
log_create_serv=S'ha afegit el servei permès $1
|
||||
log_delete_serv=S'ha eliminat el servei permès $1
|
||||
log_update_serv=S'ha actualitzat el servei permès $1
|
||||
log_delete_rules=S'han eliminat $1 ports permesos
|
||||
log_ifaces_zone=S'han actualitzat les interfícies de la zona $1
|
||||
log_create_zone=S'ha creat la zona $1
|
||||
log_delete_zone=S'ha suprimit la zona $1
|
||||
log_default_zone=S'ha fet la zona $1 com a zona per defecte
|
||||
89
firewalld/lang/de
Normal file
89
firewalld/lang/de
Normal file
@@ -0,0 +1,89 @@
|
||||
check_ecmd=Der FirewallD Steuer-Befehl $1 wurde auf Ihrem System nicht gefunden
|
||||
defzone_err=Fehlgeschlagen Zone zum Standard zu setzen
|
||||
delete_edel=Entfernen von $1 fehlgeschlagen : $2
|
||||
delete_enone=Nichts ausgewählt!
|
||||
delete_err=Fehlgeschlagen Regel zu löschen
|
||||
delzone_edefault=Die Standardzone kann nicht entfernt werden
|
||||
delzone_err=Fehlgeschlagen Zone zu löschen
|
||||
delzone_rusure=Sind Sie sich sicher die Zone $1, welche $2 Ports und $3 Dienste enthält, zu löschen?
|
||||
delzone_title=Lösche Zone
|
||||
index_apply=Konfiguration anwenden
|
||||
index_applydesc=Klicken auf diese Schaltfläche, um die Firewall-Konfiguration, welche oben aufgeführt ist, aktiv zu stellen. Alle Firewall-Regeln, welche derzeit aktiv sind, werden verworfen und ersetzt
|
||||
index_atboot=Aktiviere firewall beim Booten?
|
||||
index_bootup=Aktiviere beim Booten
|
||||
index_bootupdesc=Ändere diese Option, um zu kontrollieren, ob Ihre Firewall beim Systemstart aktiviert wird oder nicht.
|
||||
index_cerr=Das FirewallD Module kann nicht benutzt werden : $1
|
||||
index_delete=Lösche ausgewählte Regeln
|
||||
index_ezones=Keine FirewallD Zonen gefunden!
|
||||
index_ifaces=Wende Regeln an Schnittstelle an:
|
||||
index_none=Diese Zone hat bisher keine erlaubten Ports oder Dienste.
|
||||
index_padd=Füge erlaubten Port hinzu.
|
||||
index_port=Port oder Dienst
|
||||
index_proto=Protokoll
|
||||
index_restart=Konfiguration anwenden
|
||||
index_restartdesc=Aktiviert alle erlaubten Dienste und Ports, die oben aufgeführt sind, in allen Zonen. Alle aktiven Regeln, die nicht dauerhaft erstellt wurden, werden ersetzt.
|
||||
index_return=Liste an Zonen
|
||||
index_sadd=Füge erlaubten Dienst hinzu.
|
||||
index_start=Starte FirewallD
|
||||
index_startdesc=Starte den FirewallD Server und wende alle oben aufgeführten Regeln an.
|
||||
index_stop=Stoppe FirewallD
|
||||
index_stopdesc=Fahre den FirewallD Server herunter und entferne alle oben aufgeführten Regeln.
|
||||
index_title=FirewallD
|
||||
index_tport=Port
|
||||
index_tservice=Dienst
|
||||
index_type=Regel-Typ
|
||||
index_zone=Zeige Regel in Zone:
|
||||
index_zoneadd=Füge Zone hinzu..
|
||||
index_zonedef=Setze Standard
|
||||
index_zonedel=Lösche Zone
|
||||
index_zoneok=Ändern
|
||||
log_bootdown=FirewallD beim Booten deaktiviert
|
||||
log_bootup=FirewallD beim Booten aktiviert
|
||||
log_create_port=Erlaubter Port $1 hinzugefügt
|
||||
log_create_serv=Erlaubter Dienst $1 hinzugefügt
|
||||
log_create_zone=Zone $1 erstellt
|
||||
log_default_zone=Setze Zone $1 zum Standard
|
||||
log_delete_port=Erlaubter Dienst $1 gelöscht
|
||||
log_delete_rules=$1 erlaubte Ports gelöscht
|
||||
log_delete_serv=Erlaubter Dienst $1 gelöscht
|
||||
log_delete_zone=Zone $1 gelöscht
|
||||
log_ifaces_zone=Schnittstelle für Zone $1 aktualisiert
|
||||
log_restart=FirewallD Konfiguration angewendet
|
||||
log_start=FirewallD gestartet
|
||||
log_stop=FirewallD gestoppt
|
||||
log_update_port=Erlaubten Port $1 aktualisiert
|
||||
log_update_serv=Erlaubten Dienst $1 aktualisiert
|
||||
port_create=Füge erlaubten Port hinzu
|
||||
port_edit=Editiere erlaubten Port
|
||||
port_eport=Fehlender oder ungültiger Portnummer oder Name
|
||||
port_eporthigh=Hoher Port muss eine Zahl sein
|
||||
port_eportlow=Niedriger Port muss eine Zahl sein
|
||||
port_eportrange=Niedriger Port muss unter dem hohen Port liegen
|
||||
port_err=Fehlgeschlagen Port zu speichern
|
||||
port_ezone=Zone existiert nicht!
|
||||
port_header=Erlaubten Port Optionen
|
||||
port_mode0=Einzelner Port
|
||||
port_mode1=Port-Bereich
|
||||
port_port=Port zu erlauben
|
||||
port_proto=Netzwerkprotokoll
|
||||
port_zone=Erlaubt in Zone
|
||||
restart_err=Fehlgeschlagen Konfiguration anzuwenden
|
||||
serv_create=Füge Dienst hinzu
|
||||
serv_edit=Editiere Dienst
|
||||
serv_err=Fehlgeschlagen Dienst zu speichern
|
||||
serv_header=Erlaubte Dienste Optionen
|
||||
serv_name=Dienste zu erlauben
|
||||
start_err=Fehlgeschlagen FirewallD zu starten
|
||||
stop_err=Fehlgeschlagen FirewallD zu stoppen
|
||||
zone_eclash=Eine Zone mit dem gleichen Namen ist bereits vorhanden
|
||||
zone_ename=Fehlender oder ungültiger Zonen-Name
|
||||
zone_err=Fehlgeschlagen Zonen zu erstellen
|
||||
zone_header=Neue Zonen Optionen
|
||||
zone_mode=Erlaubte Ports und Dienste
|
||||
zone_mode0=Keine (gesamter Traffic wird blockiert)
|
||||
zone_mode1=Kopiere von ZOne
|
||||
zone_mode2=nur SSH, IDENT und Webmin
|
||||
zone_mode3=SSH, IDENT, Webmin und hohe Ports
|
||||
zone_mode4=Port, welche für das virtuelle Hosting verwendet werden
|
||||
zone_name=Zonen-Namen
|
||||
zone_title=Erstelle Zone
|
||||
98
firewalld/lang/en
Normal file
98
firewalld/lang/en
Normal file
@@ -0,0 +1,98 @@
|
||||
index_title=FirewallD
|
||||
index_atboot=Enable firewall at boot time?
|
||||
index_bootup=Activate at boot
|
||||
index_bootupdesc=Change this option to control whether your firewall is activated at boot time or not.
|
||||
index_apply=Apply Configuration
|
||||
index_applydesc=Click this button to make the firewall configuration listed above active. Any firewall rules currently in effect will be flushed and replaced
|
||||
index_restart=Apply Configuration
|
||||
index_restartdesc=Activate all the allowed services and ports listed above, in all zones. Any active rules that were not permanently created will be replaced.
|
||||
index_start=Start FirewallD
|
||||
index_startdesc=Start the FirewallD server and apply the rules listed above.
|
||||
index_stop=Stop FirewallD
|
||||
index_stopdesc=Shut down the FirewallD server and remove all the rules listed above.
|
||||
index_cerr=The FirewallD module cannot be used : $1
|
||||
index_zone=Show rules in zone:
|
||||
index_zoneok=Change
|
||||
index_zoneadd=Add Zone..
|
||||
index_zonedel=Delete Zone
|
||||
index_zonedef=Make Default
|
||||
index_type=Rule type
|
||||
index_port=Port or service
|
||||
index_proto=Protocol
|
||||
index_tservice=Service
|
||||
index_tport=Port
|
||||
index_padd=Add allowed port.
|
||||
index_sadd=Add allowed service.
|
||||
index_delete=Delete Selected Rules
|
||||
index_return=list of zones
|
||||
index_ezones=No FirewallD zones found!
|
||||
index_none=This zone does not have any allowed ports or services yet.
|
||||
index_ifaces=Apply rules to interfaces:
|
||||
|
||||
port_edit=Edit Port
|
||||
port_create=Add Port
|
||||
port_header=Allowed port options
|
||||
port_zone=Allowed in zone
|
||||
port_port=Port to allow
|
||||
port_mode0=Single port
|
||||
port_mode1=Port range
|
||||
port_proto=Network protocol
|
||||
port_ezone=Zone does not exist!
|
||||
port_err=Failed to save port
|
||||
port_eport=Missing or invalid port number or name
|
||||
port_eportlow=Low port must be a number
|
||||
port_eporthigh=High port must be a number
|
||||
port_eportrange=Low port must be below the high port
|
||||
|
||||
serv_edit=Edit Service
|
||||
serv_create=Add Service
|
||||
serv_header=Allowed service options
|
||||
serv_name=Service to allow
|
||||
serv_err=Failed to save service
|
||||
|
||||
check_ecmd=The FirewallD control command $1 was not found on your system
|
||||
|
||||
delete_err=Failed to delete rules
|
||||
delete_enone=None selected!
|
||||
delete_edel=Removal of $1 failed : $2
|
||||
|
||||
zone_title=Create Zone
|
||||
zone_header=New zone options
|
||||
zone_name=Zone name
|
||||
zone_mode=Allowed ports and services
|
||||
zone_mode0=None (all traffic will be blocked)
|
||||
zone_mode1=Copy from zone
|
||||
zone_mode2=SSH, IDENT and Webmin only
|
||||
zone_mode3=SSH, IDENT, Webmin and high ports
|
||||
zone_mode4=Ports used for virtual hosting
|
||||
zone_err=Failed to create zone
|
||||
zone_ename=Missing or invalid zone name
|
||||
zone_eclash=A zone with the same name already exists
|
||||
|
||||
delzone_title=Delete Zone
|
||||
delzone_err=Failed to delete zone
|
||||
delzone_edefault=The default zone cannot be removed
|
||||
delzone_rusure=Are you sure you want to delete the zone $1, which contains $2 ports and $3 services?
|
||||
|
||||
defzone_err=Failed to make zone the default
|
||||
|
||||
restart_err=Failed to apply configuration
|
||||
stop_err=Failed to stop FirewallD
|
||||
start_err=Failed to start FirewallD
|
||||
|
||||
log_stop=Stopped FirewallD
|
||||
log_start=Started FirewallD
|
||||
log_restart=Applied FirewallD configuration
|
||||
log_bootup=Enabled FirewallD at boot
|
||||
log_bootdown=Disabled FirewallD at boot
|
||||
log_create_port=Added allowed port $1
|
||||
log_delete_port=Removed allowed port $1
|
||||
log_update_port=Updated allowed port $1
|
||||
log_create_serv=Added allowed service $1
|
||||
log_delete_serv=Removed allowed service $1
|
||||
log_update_serv=Updated allowed service $1
|
||||
log_delete_rules=Removed $1 allowed ports
|
||||
log_ifaces_zone=Updated interfaces for zone $1
|
||||
log_create_zone=Created zone $1
|
||||
log_delete_zone=Deleted zone $1
|
||||
log_default_zone=Made zone $1 the default
|
||||
29
firewalld/log_parser.pl
Executable file
29
firewalld/log_parser.pl
Executable file
@@ -0,0 +1,29 @@
|
||||
# log_parser.pl
|
||||
# Functions for parsing this module's logs
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
do 'firewalld-lib.pl';
|
||||
our (%text);
|
||||
|
||||
# parse_webmin_log(user, script, action, type, object, ¶ms)
|
||||
# Converts logged information from this module into human-readable form
|
||||
sub parse_webmin_log
|
||||
{
|
||||
my ($user, $script, $action, $type, $object, $p) = @_;
|
||||
if ($type eq "port" || $type eq "serv") {
|
||||
return &text("log_${action}_${type}",
|
||||
"<tt>".&html_escape($object)."</tt>");
|
||||
}
|
||||
elsif ($type eq "rules") {
|
||||
return &text("log_${action}_${type}", &html_escape($object));
|
||||
}
|
||||
elsif ($type eq "zone") {
|
||||
return &text("log_${action}_${type}",
|
||||
"<tt>".&html_escape($object)."</tt>");
|
||||
}
|
||||
else {
|
||||
return $text{"log_${action}"};
|
||||
}
|
||||
}
|
||||
|
||||
9
firewalld/module.info
Normal file
9
firewalld/module.info
Normal file
@@ -0,0 +1,9 @@
|
||||
desc=FirewallD
|
||||
os_support=*-linux
|
||||
depends=net init
|
||||
category=net
|
||||
desc_de=FirewallD
|
||||
longdesc=Configure a Linux firewall using FirewallD, by editing allowed services and ports.
|
||||
longdesc_de=Konfiguriert eine Linux-Firewall mit FirewallD, indem es erlaubte Dienste und Ports editiert.
|
||||
desc_ca=FirewallD
|
||||
longdesc_ca=Configura un tallfocs Linux utilitzant FirewallD, bo i editant els serveis i els ports
|
||||
107
firewalld/open-ports.pl
Executable file
107
firewalld/open-ports.pl
Executable file
@@ -0,0 +1,107 @@
|
||||
#!/usr/local/bin/perl
|
||||
# Open some ports on the firewall. Exit statuses are :
|
||||
# 0 - Nothing needed to be done
|
||||
# 1 - Given ports were opened up
|
||||
# 2 - IPtables is not installed or supported
|
||||
# 3 - No firewall is active
|
||||
# 4 - Could not apply configuration
|
||||
# 5 - Bad args
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
our ($module_name, $no_acl_check);
|
||||
$no_acl_check++;
|
||||
$ENV{'WEBMIN_CONFIG'} = "/etc/webmin";
|
||||
$ENV{'WEBMIN_VAR'} = "/var/webmin";
|
||||
if ($0 =~ /^(.*\/)[^\/]+$/) {
|
||||
chdir($1);
|
||||
}
|
||||
require './firewalld-lib.pl';
|
||||
if ($module_name ne 'firewalld') {
|
||||
print STDERR "Command must be run with full path\n";
|
||||
exit(5);
|
||||
}
|
||||
|
||||
# Parse args
|
||||
my $no_apply = 0;
|
||||
if ($ARGV[0] eq "--no-apply") {
|
||||
$no_apply = 1;
|
||||
shift(@ARGV);
|
||||
}
|
||||
if (!@ARGV) {
|
||||
print STDERR "Missing ports to open\n";
|
||||
exit(5);
|
||||
}
|
||||
foreach my $p (@ARGV) {
|
||||
if ($p !~ /^\d+$/ && $p !~ /^\d+:\d+$/ && $p !~ /^\d+(,\d+)*$/) {
|
||||
print STDERR "Port $p must be number or start:end range\n";
|
||||
exit(5);
|
||||
}
|
||||
}
|
||||
|
||||
# Check Firewalld support
|
||||
if (&foreign_installed($module_name, 1) != 2) {
|
||||
print STDERR "Firewalld is not available\n";
|
||||
exit(2);
|
||||
}
|
||||
if (!&is_firewalld_running()) {
|
||||
print STDERR "Firewalld is not running\n";
|
||||
exit(2);
|
||||
}
|
||||
|
||||
# Check if any zones are active
|
||||
my @azones = &list_firewalld_zones(1);
|
||||
if (!@azones) {
|
||||
print STDERR "No active FirewallD zones found\n";
|
||||
exit(3);
|
||||
}
|
||||
|
||||
# Get the default zone
|
||||
my @zones = &list_firewalld_zones();
|
||||
my ($zone) = grep { $_->{'default'} } @zones;
|
||||
if (!$zone) {
|
||||
print STDERR "Default FirewallD zone not found\n";
|
||||
exit(3);
|
||||
}
|
||||
|
||||
my @added = ( );
|
||||
foreach my $p (@ARGV) {
|
||||
# For each port, find existing rules
|
||||
$p =~ s/^(\d+):(\d+)/$1-$2/;
|
||||
print STDERR "Checking for port $p ..\n";
|
||||
if (&indexof($p."/tcp", @{$zone->{'ports'}}) >= 0) {
|
||||
print STDERR ".. already allowed\n";
|
||||
}
|
||||
else {
|
||||
# Need to add
|
||||
my $err = &create_firewalld_port($zone, $p, "tcp");
|
||||
if ($err) {
|
||||
print STDERR ".. failed : $err\n";
|
||||
}
|
||||
else {
|
||||
push(@added, $p);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (@added) {
|
||||
# Added some ports - apply them
|
||||
print STDERR "Opened ports ",join(" ", @added),"\n";
|
||||
my $ex = 1;
|
||||
if (!$no_apply) {
|
||||
my $err = &apply_firewalld();
|
||||
if ($err) {
|
||||
print "Failed to apply configuration : $err\n";
|
||||
$ex = 4;
|
||||
}
|
||||
else {
|
||||
print "Applied configuration successfully\n";
|
||||
}
|
||||
}
|
||||
&webmin_log("openports", undef, undef, { 'ports' => \@added });
|
||||
exit($ex);
|
||||
}
|
||||
else {
|
||||
print STDERR "All ports are already open\n";
|
||||
exit(0);
|
||||
}
|
||||
12
firewalld/restart.cgi
Executable file
12
firewalld/restart.cgi
Executable file
@@ -0,0 +1,12 @@
|
||||
#!/usr/local/bin/perl
|
||||
# Activate all saved firewalld rules
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
require './firewalld-lib.pl';
|
||||
our (%text, %in);
|
||||
&error_setup($text{'restart_err'});
|
||||
my $err = &apply_firewalld();
|
||||
&error($err) if ($err);
|
||||
&webmin_log("restart");
|
||||
&redirect("index.cgi?zone=".&urlize($in{'zone'}));
|
||||
21
firewalld/save_ifaces.cgi
Executable file
21
firewalld/save_ifaces.cgi
Executable file
@@ -0,0 +1,21 @@
|
||||
#!/usr/local/bin/perl
|
||||
# Update interface ports
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
require 'firewalld-lib.pl';
|
||||
our (%in, %text);
|
||||
&error_setup($text{'ifaces_err'});
|
||||
&ReadParse();
|
||||
|
||||
# Get the zone
|
||||
my @zones = &list_firewalld_zones();
|
||||
my ($zone) = grep { $_->{'name'} eq $in{'zone'} } @zones;
|
||||
$zone || &error($text{'port_ezone'});
|
||||
|
||||
# Update the interfaces list
|
||||
my $err = &update_zone_interfaces($zone, [ split(/\0/, $in{'iface'}) ]);
|
||||
&error($err) if ($err);
|
||||
|
||||
&webmin_log("ifaces", "zone", $zone->{'name'});
|
||||
&redirect("index.cgi?zone=".&urlize($zone->{'name'}));
|
||||
61
firewalld/save_port.cgi
Executable file
61
firewalld/save_port.cgi
Executable file
@@ -0,0 +1,61 @@
|
||||
#!/usr/local/bin/perl
|
||||
# Create, update or delete a port
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
require 'firewalld-lib.pl';
|
||||
our (%in, %text);
|
||||
&error_setup($text{'port_err'});
|
||||
&ReadParse();
|
||||
|
||||
# Get the zone and rule
|
||||
my @zones = &list_firewalld_zones();
|
||||
my ($zone) = grep { $_->{'name'} eq $in{'zone'} } @zones;
|
||||
$zone || &error($text{'port_ezone'});
|
||||
my ($oldport, $oldproto);
|
||||
if ($in{'id'}) {
|
||||
($oldport, $oldproto) = split(/\//, $in{'id'});
|
||||
}
|
||||
|
||||
my $logport;
|
||||
if ($in{'delete'}) {
|
||||
# Just remove the existing rule
|
||||
my $err = &delete_firewalld_port($zone, $oldport, $oldproto);
|
||||
&error($err) if ($err);
|
||||
$logport = $oldport;
|
||||
}
|
||||
else {
|
||||
# Validate inputs
|
||||
my $port;
|
||||
if ($in{'mode'} == 0) {
|
||||
$in{'port'} =~ /^\d+$/ &&
|
||||
$in{'port'} > 0 && $in{'port'} < 65536 ||
|
||||
getservbyname($in{'port'}, $in{'proto'}) ||
|
||||
&error($text{'port_eport'});
|
||||
$port = $in{'port'};
|
||||
}
|
||||
else {
|
||||
$in{'portlow'} =~ /^\d+$/ &&
|
||||
$in{'portlow'} > 0 && $in{'portlow'} < 65536 ||
|
||||
&error($text{'port_eportlow'});
|
||||
$in{'porthigh'} =~ /^\d+$/ &&
|
||||
$in{'porthigh'} > 0 && $in{'porthigh'} < 65536 ||
|
||||
&error($text{'port_eporthigh'});
|
||||
$in{'portlow'} < $in{'porthigh'} ||
|
||||
&error($text{'port_eportrange'});
|
||||
$port = $in{'portlow'}."-".$in{'porthigh'};
|
||||
}
|
||||
my $proto = $in{'proto'};
|
||||
|
||||
# Create or update allowed port
|
||||
if (!$in{'new'}) {
|
||||
my $err = &delete_firewalld_port($zone, $oldport, $oldproto);
|
||||
&error($err) if ($err);
|
||||
}
|
||||
my $err = &create_firewalld_port($zone, $port, $proto);
|
||||
&error($err) if ($err);
|
||||
$logport = $port;
|
||||
}
|
||||
&webmin_log($in{'delete'} ? 'delete' : $in{'new'} ? 'create' : 'update',
|
||||
'port', $logport);
|
||||
&redirect("index.cgi?zone=".&urlize($zone->{'name'}));
|
||||
42
firewalld/save_serv.cgi
Executable file
42
firewalld/save_serv.cgi
Executable file
@@ -0,0 +1,42 @@
|
||||
#!/usr/local/bin/perl
|
||||
# Create, update or delete a service
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
require 'firewalld-lib.pl';
|
||||
our (%in, %text);
|
||||
&error_setup($text{'serv_err'});
|
||||
&ReadParse();
|
||||
|
||||
# Get the zone and rule
|
||||
my @zones = &list_firewalld_zones();
|
||||
my ($zone) = grep { $_->{'name'} eq $in{'zone'} } @zones;
|
||||
$zone || &error($text{'port_ezone'});
|
||||
my $oldserv;
|
||||
if ($in{'id'}) {
|
||||
$oldserv = $in{'id'};
|
||||
}
|
||||
|
||||
my $logserv;
|
||||
if ($in{'delete'}) {
|
||||
# Just remove the existing rule
|
||||
my $err = &delete_firewalld_service($zone, $oldserv);
|
||||
&error($err) if ($err);
|
||||
$logserv = $oldserv;
|
||||
}
|
||||
else {
|
||||
# Validate inputs
|
||||
my $serv = $in{'serv'};
|
||||
|
||||
# Create or update allowed port
|
||||
if (!$in{'new'}) {
|
||||
my $err = &delete_firewalld_service($zone, $oldserv);
|
||||
&error($err) if ($err);
|
||||
}
|
||||
my $err = &create_firewalld_service($zone, $serv);
|
||||
&error($err) if ($err);
|
||||
$logserv = $serv;
|
||||
}
|
||||
&webmin_log($in{'delete'} ? 'delete' : $in{'new'} ? 'create' : 'update',
|
||||
'serv', $logserv);
|
||||
&redirect("index.cgi?zone=".&urlize($zone->{'name'}));
|
||||
12
firewalld/start.cgi
Executable file
12
firewalld/start.cgi
Executable file
@@ -0,0 +1,12 @@
|
||||
#!/usr/local/bin/perl
|
||||
# Start up firewalld
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
require './firewalld-lib.pl';
|
||||
our (%text, %in);
|
||||
&error_setup($text{'start_err'});
|
||||
my $err = &start_firewalld();
|
||||
&error($err) if ($err);
|
||||
&webmin_log("start");
|
||||
&redirect("index.cgi?zone=".&urlize($in{'zone'}));
|
||||
12
firewalld/stop.cgi
Executable file
12
firewalld/stop.cgi
Executable file
@@ -0,0 +1,12 @@
|
||||
#!/usr/local/bin/perl
|
||||
# Shut down firewalld
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
require './firewalld-lib.pl';
|
||||
our (%text, %in);
|
||||
&error_setup($text{'stop_err'});
|
||||
my $err = &stop_firewalld();
|
||||
&error($err) if ($err);
|
||||
&webmin_log("stop");
|
||||
&redirect("index.cgi?zone=".&urlize($in{'zone'}));
|
||||
33
firewalld/zone_form.cgi
Executable file
33
firewalld/zone_form.cgi
Executable file
@@ -0,0 +1,33 @@
|
||||
#!/usr/local/bin/perl
|
||||
# Show a form for creating a new zone, with some default rules
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
require 'firewalld-lib.pl';
|
||||
our (%text, %in);
|
||||
&ReadParse();
|
||||
&ui_print_header(undef, $text{'zone_title'}, "");
|
||||
|
||||
print &ui_form_start("create_zone.cgi", "post");
|
||||
print &ui_table_start($text{'zone_header'}, undef, 2);
|
||||
|
||||
# New zone name
|
||||
print &ui_table_row($text{'zone_name'},
|
||||
&ui_textbox("name", undef, 20));
|
||||
|
||||
# Initial ruleset
|
||||
print &ui_table_row($text{'zone_mode'},
|
||||
&ui_radio_table("mode", 0,
|
||||
[ [ 0, $text{'zone_mode0'} ],
|
||||
[ 1, $text{'zone_mode1'},
|
||||
&ui_select("source", $in{'zone'},
|
||||
[ map { $_->{'name'} } &list_firewalld_zones() ]) ],
|
||||
[ 2, $text{'zone_mode2'} ],
|
||||
[ 3, $text{'zone_mode3'} ],
|
||||
[ 4, $text{'zone_mode4'} ] ]));
|
||||
|
||||
print &ui_table_end();
|
||||
print &ui_form_end([ [ undef, $text{'create'} ] ]);
|
||||
|
||||
&ui_print_footer("index.cgi?zone=".&urlize($in{'zone'}),
|
||||
$text{'index_return'});
|
||||
@@ -73,7 +73,7 @@ else {
|
||||
}
|
||||
|
||||
# Execute the post-backup command, if any
|
||||
if ($ok) {
|
||||
if ($ok || $dump->{'afteraok'}) {
|
||||
print "<pre>";
|
||||
$bok = &execute_after($dump, STDOUT, 1);
|
||||
print "</pre>\n";
|
||||
|
||||
@@ -72,7 +72,7 @@ else {
|
||||
$status{'end'} = time();
|
||||
&write_file($sfile, \%status);
|
||||
|
||||
if ($status{'status'} eq 'complete') {
|
||||
if ($status{'status'} eq 'complete' || $dump->{'afteraok'}) {
|
||||
# Execute the post-backup script
|
||||
$bok = &execute_after($dump, OUT, 0);
|
||||
if (!$bok && !$dump->{'afterfok'}) {
|
||||
|
||||
@@ -101,15 +101,17 @@ if ($access{'extra'}) {
|
||||
# Before and after commands
|
||||
if ($access{'cmds'}) {
|
||||
print &ui_table_row(&hlink($text{'dump_before'},"before"),
|
||||
&ui_textbox("before", $dump->{'before'}, 60)." ".
|
||||
&ui_textbox("before", $dump->{'before'}, 60)."<br>".
|
||||
&ui_checkbox("beforefok", 1, $text{'dump_fok'},
|
||||
!$dump->{'beforefok'}),
|
||||
3, \@tds);
|
||||
|
||||
print &ui_table_row(&hlink($text{'dump_after'},"after"),
|
||||
&ui_textbox("after", $dump->{'after'}, 60)." ".
|
||||
&ui_textbox("after", $dump->{'after'}, 60)."<br>".
|
||||
&ui_checkbox("afterfok", 1, $text{'dump_fok2'},
|
||||
!$dump->{'afterfok'}),
|
||||
!$dump->{'afterfok'})."<br>".
|
||||
&ui_checkbox("afteraok", 1, $text{'dump_aok'},
|
||||
!$dump->{'afteraok'}),
|
||||
3, \@tds);
|
||||
}
|
||||
print &ui_hidden_table_end();
|
||||
|
||||
@@ -2,9 +2,8 @@
|
||||
|
||||
Això pot ser o bé el camí d'un fitxer al qual s'escriurà la còpia, o bé
|
||||
el camí d'una unitat de cinta (com ara <tt>/dev/st0</tt>), o un fitxer o
|
||||
dispositiu d'un host remot. Per tal que les còpies a un host remot funcionin,
|
||||
aquest ha de suportar el protocol <tt>rsh</tt>, que normalment no està
|
||||
activat per raons de seguretat. <p>
|
||||
dispositiu d'un host remot. Les còpies contra un host es fan via el protocol SSH,
|
||||
o bé opcionalment via l'antic protocol RSH, més insegur. <p>
|
||||
|
||||
<hr>
|
||||
|
||||
|
||||
@@ -3,9 +3,7 @@
|
||||
Per defecte, l'ordre <tt>dump</tt> utilitzarà l'ordre i el protocol
|
||||
<tt>rsh</tt> per restaurar des d'altres servidors. No obstant, aquest camp
|
||||
es pot utilitzar per seleccionar una ordre diferent com ara <tt>ssh</tt>,
|
||||
que és més segura i més generalment utilitzada. SSH només funcionará si la
|
||||
configuració SSH de l'usuari <tt>root</tt> permet entrades sense contrasenya
|
||||
des d'aquest sistema al servidor remot. <p>
|
||||
que és més segura i més generalment utilitzada. <p>
|
||||
|
||||
En sistemes Linux i BSD, també pots seleccionar l'opció <tt>FTP</tt>, que
|
||||
utilitzarà el programa client FTP integrat de Webmini per transferir la còpia
|
||||
|
||||
@@ -21,6 +21,7 @@ backup_title=Jetzt sichern
|
||||
delete_enone=Nichts ausgewählt
|
||||
delete_err=Fehlgeschlagen Backups zu löschen
|
||||
dump_after=Kommando nach der Sicherung ausführen
|
||||
dump_aok=Überspringe Befehl, auch wenn Backup fehlschlägt
|
||||
dump_attribs=Dateisystemattribute einfügen?
|
||||
dump_auto=Automatisch herausfinden
|
||||
dump_bcomp=Puffere komprimierte Daten in Blöcke?
|
||||
|
||||
@@ -70,6 +70,7 @@ dump_before=Command to run before backup
|
||||
dump_after=Command to run after backup
|
||||
dump_fok=Halt if command fails
|
||||
dump_fok2=Report failure if command fails
|
||||
dump_aok=Skip command even if backup fails
|
||||
dump_extra=Extra command-line parameters
|
||||
dump_rsh=Remote backup command
|
||||
dump_rsh0=Default (RSH)
|
||||
|
||||
@@ -78,6 +78,7 @@ else {
|
||||
$dump->{'after'} = $in{'after'};
|
||||
$dump->{'beforefok'} = !$in{'beforefok'};
|
||||
$dump->{'afterfok'} = !$in{'afterfok'};
|
||||
$dump->{'afteraok'} = !$in{'afteraok'};
|
||||
}
|
||||
$in{'file'} =~ s/^\s+//; $in{'file'} =~ s/\s+$//;
|
||||
$in{'hfile'} =~ s/^\s+//; $in{'hfile'} =~ s/\s+$//;
|
||||
|
||||
10
gray-theme/lang/cz
Normal file
10
gray-theme/lang/cz
Normal file
@@ -0,0 +1,10 @@
|
||||
left_login=Login: $1
|
||||
left_home=Informace o systému
|
||||
left_oc=Sponzorováno OpenCountry
|
||||
left_feedback=Zaslat zpìtnou vazbu
|
||||
left_search_webmin=Hledat ve Webminu:
|
||||
left_search_usermin=Hledat v Userminu:
|
||||
left_search=Hledat:
|
||||
left_logs=Prohlédnout logy modulù
|
||||
left_others=Ostatní
|
||||
|
||||
@@ -154,7 +154,8 @@ my ($items, $indent) = @_;
|
||||
foreach my $item (@$items) {
|
||||
if ($item->{'type'} eq 'item') {
|
||||
# Link to some page
|
||||
my $t = $item->{'target'} eq 'new' ? '_blank' :
|
||||
my $t = !$item->{'target'} ? 'right' :
|
||||
$item->{'target'} eq 'new' ? '_blank' :
|
||||
$item->{'target'} eq 'window' ? '_top' : 'right';
|
||||
if ($item->{'icon'}) {
|
||||
my $icon = add_webprefix($item->{'icon'});
|
||||
|
||||
BIN
gray-theme/squid/images/manual.gif
Executable file
BIN
gray-theme/squid/images/manual.gif
Executable file
Binary file not shown.
|
After Width: | Height: | Size: 4.9 KiB |
6
grub/config.info.ja_JP.euc
Normal file
6
grub/config.info.ja_JP.euc
Normal file
@@ -0,0 +1,6 @@
|
||||
line1=設定オプション,11
|
||||
install=GRUB を導入するディスク/パーティション,0
|
||||
line2=システム設定,11
|
||||
menu_file=GRUB メニュー設定ファイル,0
|
||||
grub_path=GRUB 実行ファイルのパス,0
|
||||
device_map=デバイス名マッピングファイル,3,GRUBから取得
|
||||
@@ -1,56 +1,72 @@
|
||||
index_title=GRUB ブート ローダー
|
||||
__norefs=2015/09/19 翻訳追加 赤沼 栄 sakaeakanuma@gmail.com
|
||||
global_default=デフォルト ブート オプション
|
||||
global_edev=インストール ディスク/パーティション $1 はサポートされません
|
||||
global_eother=ディスク/パーティションがないか無効です
|
||||
global_epassword=ブートパスワードが指定されていないか不正です
|
||||
global_epasswordfile=オルタネイトメニューファイル名が指定されていません
|
||||
global_err=グローバル オプションを保存できませんでした
|
||||
global_etimeout=タイムアウトがないか無効です
|
||||
global_fallback=フォールバックブートオプション
|
||||
global_first=リストの最初
|
||||
global_forever=永久に待機
|
||||
global_header=グローバルブートメニュー オプション
|
||||
global_install=GRUB をディスク/パーティションにインストール
|
||||
global_none=無し
|
||||
global_other=その他
|
||||
global_password=起動パスワード
|
||||
global_password_file=パスワードが入力された場合使用するメニューファイル:
|
||||
global_secs=秒
|
||||
global_sel=選択..
|
||||
global_timeout=デフォルトをロードするまでのタイムアウト
|
||||
global_title=グローバル オプション
|
||||
index_add=新規ブート オプションを追加
|
||||
index_global=グローバル オプションを編集
|
||||
index_globalmsg=すべてのブート メニューの選択肢に適用するグローバル ブートアップ オプションを編集して、GRUB がインストールされるデバイスを選択します。
|
||||
index_efile=GRUB メニュー ファイル $1 がシステムにありませんでした。GRUB がインストールされていないか、<a href='$2'>モジュール設定</a>が不正な可能性があります。
|
||||
index_epath=GRUB 実行ファイル $1がシステムにありませんでした。GRUB がインストールされていないか、<a href='$2'>モジュール設定</a> が不正な可能性があります。
|
||||
index_global=グローバルオプションを編集
|
||||
index_globalmsg=すべてのブートメニューの選択肢に適用するグローバル ブートアップオプションを編集して、GRUB がインストールされるデバイスを選択します。
|
||||
index_install=GRUB のインストール
|
||||
index_installmsg=ブートアップに上のオプションを表示するために GRUB ローダーを $1 をインストールします。この操作により、LILO などの既存のブート ローダーが上書きされ、システムをブートできなくなる可能性があります。
|
||||
index_none=定義されたブート オプションはありません。GRUB をインストールする前に少なくとも 1つのオプションを追加してください。
|
||||
index_efile=GRUB メニュー ファイル $1 がシステムにありませんでしたGRUB がインストールされていないか、<a href='$2'>モジュール設定</a>が不正な可能性があります。
|
||||
index_epath=GRUB 実行ファイル $1がシステムにありませんでした。GRUB がインストールされていないか、<a href='$2'>モジュール設定</a> が不正な可能性があります。
|
||||
index_none=定義されたブートオプションはありません。GRUB をインストールする前に少なくとも 1つのオプションを追加してください。
|
||||
index_return=オプション リスト
|
||||
|
||||
title_add=ブート オプションの追加
|
||||
title_edit=ブート オプションの編集
|
||||
title_header=ブート メニュー オプションの詳細
|
||||
title_title=オプション タイトル
|
||||
title_root=ブート画像パーティション
|
||||
title_other=その他
|
||||
title_sel=選択..
|
||||
title_boot=ブートするオペレーティング システム
|
||||
title_kernel=Linux カーネル
|
||||
title_kfile=カーネルへのパス
|
||||
index_title=GRUB ブート ローダー
|
||||
install_desc=GRUB を $1 にコマンド $2 と $3 でインストールしています ..
|
||||
install_efind=メニューファイルがありませんでした
|
||||
install_err=GRUB をインストールできませんでした
|
||||
install_failed=.. インストールに失敗しました。
|
||||
install_ok=.. インストールを完了しました。
|
||||
install_title=GRUB のインストール
|
||||
log_create_title=起動オプション $1 が作成されました
|
||||
log_delete_title=起動オプション $1 が削除されました
|
||||
log_down_title=起動オプション $1 を下に移動しました
|
||||
log_global=全体的オプションを変更しました
|
||||
log_install=導入された GRUB
|
||||
log_modify_title=起動オプション $1 が変更されました
|
||||
log_up_title=起動オプション $1 を上に移動しました
|
||||
title_add=ブートオプションの追加
|
||||
title_args=カーネルのオプション
|
||||
title_boot=ブートするオペレーティングシステム
|
||||
title_chain=他の OS
|
||||
title_chain_def=パーティションの最初のセクタから
|
||||
title_chain_file=chainloader ファイルから
|
||||
title_makeactive=root パーティションをアクティブにしますか?
|
||||
title_none=なし (ブートしないメニューの項目)
|
||||
title_err=ブート オプションを保存できませんでした
|
||||
title_etitle=オプション タイトルがありません
|
||||
title_eroot=root パーティションがありません
|
||||
title_ekernel=カーネルのパスがないか無効です
|
||||
title_echain=chainloader ファイルがないか無効です
|
||||
title_edev=root パーティション デバイス $1 がサポートされていません
|
||||
|
||||
global_title=グローバル オプション
|
||||
global_header=グローバルブート メニュー オプション
|
||||
global_default=デフォルト ブート オプション
|
||||
global_fallback=フォールバック ブート オプション
|
||||
global_first=リストの最初
|
||||
global_timeout=デフォルトをロードするまでのタイムアウト
|
||||
global_secs=秒
|
||||
global_install=GRUB をディスク/パーティションにインストール
|
||||
global_sel=選択..
|
||||
global_other=その他
|
||||
global_err=グローバル オプションを保存できませんでした
|
||||
global_etimeout=タイムアウトがないか無効です
|
||||
global_edev=インストール ディスク/パーティション $1 はサポートされません
|
||||
global_eother=ディスク/パーティションがないか無効です
|
||||
|
||||
install_title=GRUB のインストール
|
||||
install_err=GRUB をインストールできませんでした
|
||||
install_efind=メニュー ファイルがありませんでした
|
||||
install_desc=GRUB を $1 にコマンド $2 と $3 でインストールしています ..
|
||||
install_ok=.. インストールを完了しました。
|
||||
install_failed=.. インストールに失敗しました。
|
||||
|
||||
title_edev=root パーティションデバイス $1 がサポートされていません
|
||||
title_edit=ブートオプションの編集
|
||||
title_einitrd=初期 RAMDISK ファイル名が指定されていません
|
||||
title_ekernel=カーネルのパスがないか無効です
|
||||
title_eroot=root パーティションがありません
|
||||
title_err=ブートオプションを保存できませんでした
|
||||
title_etitle=オプションタイトルがありません
|
||||
title_header=ブートメニューオプションの詳細
|
||||
title_initrd=初期 RAMDISK ファイル
|
||||
title_kernel=Linux カーネル
|
||||
title_kfile=カーネルへのパス
|
||||
title_lock=パスワードロックされていますか?
|
||||
title_makeactive=root パーティションをアクティブにしますか?
|
||||
title_modules=外部モジュール
|
||||
title_none1=無し
|
||||
title_none2=(非起動メニューエントリ)
|
||||
title_noverify=パーティションをマウント、ベリファイしない
|
||||
title_other=その他
|
||||
title_root=ブート画像パーティション
|
||||
title_sel=選択..
|
||||
title_title=オプション タイトル
|
||||
|
||||
@@ -395,8 +395,13 @@ elsif (&has_command("who")) {
|
||||
}
|
||||
}
|
||||
|
||||
# Last ditch fallback - assume runlevel 3
|
||||
if (!@rv && !$config{'inittab_extra'}) {
|
||||
push(@rv, 3);
|
||||
}
|
||||
|
||||
# Add statically configured runlevels
|
||||
if ($config{"inittab_rl_$rv[0]"}) {
|
||||
if (@rv && $config{"inittab_rl_$rv[0]"}) {
|
||||
@rv = split(/,/, $config{"inittab_rl_$rv[0]"});
|
||||
}
|
||||
push(@rv, $config{'inittab_extra'});
|
||||
|
||||
24
init/lang/ca
24
init/lang/ca
@@ -50,6 +50,8 @@ index_ustatus=En execuci
|
||||
index_uadd=Crea un nou servei d'inici.
|
||||
index_sadd=Crea un nou servei <i>systemd</i>.
|
||||
index_always=Sempre
|
||||
index_ladd=Crea un nou agent launchd.
|
||||
index_lname=Nom de l'agent
|
||||
|
||||
edit_title=Edició d'Acció
|
||||
create_title=Creació d'Acció
|
||||
@@ -77,6 +79,7 @@ edit_stopat=Atura-la a
|
||||
edit_startnow=Inicia-la ara
|
||||
edit_stopnow=Atura-la ara
|
||||
edit_restartnow=Reinicia-la ara
|
||||
edit_reloadnow2=Rellegeix el Fitxer de Configuració
|
||||
edit_condrestartnow=Reinicia-la Si Cal
|
||||
edit_reloadnow=Recarrega-la Ara
|
||||
edit_statusnow=Mostra l'Estat
|
||||
@@ -187,6 +190,7 @@ mode_win32=Serveis Windows
|
||||
mode_rc=Scripts RC FreeBSD RC
|
||||
mode_upstart=Upstart
|
||||
mode_systemd=Systemd
|
||||
mode_launchd=LaunchD
|
||||
|
||||
upstart_title1=Creació de Servei <i>Upstart</i>
|
||||
upstart_title2=Edició de Servei <i>Upstart</i>
|
||||
@@ -236,4 +240,24 @@ systemd_return=al servei systemd
|
||||
systemd_econf=No has introduït cap configuració de systemd
|
||||
systemd_estart=Hi falten les ordres a executar en iniciar
|
||||
|
||||
launchd_title1=Creació d'Agent Launchd
|
||||
launchd_title2=Edició d'Agent Launchd
|
||||
launchd_egone=L'agent ja no existeix!
|
||||
launchd_header=Detalls dels servei launchd
|
||||
launchd_name=Nom de l'agent
|
||||
launchd_file=Fitxer de configuració
|
||||
launchd_nofile=No s'ha trobat!
|
||||
launchd_start=Ordre del servidor
|
||||
launchd_conf=Configuració de launchd
|
||||
launchd_boot=Inicia'l en engegar el sistema
|
||||
launchd_status=Estat actual
|
||||
launchd_status0=No està en execució
|
||||
launchd_status1=En execució amb PID $1
|
||||
launchd_status2=En execució
|
||||
launchd_err=No s'ha pogut desar l'agent launchd
|
||||
launchd_ename=Hi falta el nom de l'agent launchd o bé sembla invàlid
|
||||
launchd_eclash=Ja existeix un agent amb el mateix nom
|
||||
launchd_return=a l'agent launchd
|
||||
launchd_econf=No has introduït la configuració de l'agent launchd
|
||||
launchd_estart=Hi falta l'ordre del servidor
|
||||
__norefs=1
|
||||
|
||||
@@ -7,36 +7,44 @@ require './inittab-lib.pl';
|
||||
&ui_print_header(undef, $module_info{'desc'}, "", "index", 1, 1, 0,
|
||||
&help_search_link("inittab", "man"));
|
||||
|
||||
print &ui_form_start("delete.cgi", "post");
|
||||
@links = ( &select_all_link("d"),
|
||||
&select_invert_link("d"),
|
||||
&ui_link("edit_inittab.cgi?new=1", $text{'inittab_new'}) );
|
||||
print &ui_links_row(\@links);
|
||||
@tds = ( "width=5" );
|
||||
print &ui_columns_start([ "",
|
||||
&hlink( $text{ 'inittab_id' }, "id" ),
|
||||
&hlink( $text{ 'inittab_active' }, "active" ),
|
||||
&hlink( $text{ 'inittab_runlevels' }, "runlevels" ),
|
||||
&hlink( $text{ 'inittab_action' }, "action" ),
|
||||
&hlink( $text{ 'inittab_process' }, "process" ) ],
|
||||
100, 0, \@tds);
|
||||
foreach $i (&parse_inittab()) {
|
||||
local @cols;
|
||||
push(@cols, &ui_link("edit_inittab.cgi?id=".&urlize($i->{'id'}),
|
||||
&html_escape($i->{'id'})) );
|
||||
push(@cols, $i->{'comment'} ? "<font color=#ff0000>$text{'no'}</font>"
|
||||
: $text{'yes'});
|
||||
local @rls = @{$i->{'levels'}};
|
||||
push(@cols, @rls ? &html_escape(join(", ", @rls))
|
||||
: $text{'inittab_none'});
|
||||
push(@cols, $text{"inittab_".$i->{'action'}} ||
|
||||
"<tt>".&html_escape($i->{'action'})."</tt>");
|
||||
push(@cols, &html_escape($i->{'process'}));
|
||||
print &ui_checked_columns_row(\@cols, \@tds, "d", $i->{'id'});
|
||||
@inittab = &parse_inittab();
|
||||
if (@inittab) {
|
||||
print &ui_form_start("delete.cgi", "post");
|
||||
@links = ( &select_all_link("d"),
|
||||
&select_invert_link("d"),
|
||||
&ui_link("edit_inittab.cgi?new=1", $text{'inittab_new'}) );
|
||||
print &ui_links_row(\@links);
|
||||
@tds = ( "width=5" );
|
||||
print &ui_columns_start(
|
||||
[ "",
|
||||
&hlink( $text{ 'inittab_id' }, "id" ),
|
||||
&hlink( $text{ 'inittab_active' }, "active" ),
|
||||
&hlink( $text{ 'inittab_runlevels' }, "runlevels" ),
|
||||
&hlink( $text{ 'inittab_action' }, "action" ),
|
||||
&hlink( $text{ 'inittab_process' }, "process" ) ],
|
||||
100, 0, \@tds);
|
||||
foreach $i (@inittab) {
|
||||
local @cols;
|
||||
push(@cols, &ui_link("edit_inittab.cgi?id=".&urlize($i->{'id'}),
|
||||
&html_escape($i->{'id'})) );
|
||||
push(@cols, $i->{'comment'} ? "<font color=#ff0000>$text{'no'}</font>"
|
||||
: $text{'yes'});
|
||||
local @rls = @{$i->{'levels'}};
|
||||
push(@cols, @rls ? &html_escape(join(", ", @rls))
|
||||
: $text{'inittab_none'});
|
||||
push(@cols, $text{"inittab_".$i->{'action'}} ||
|
||||
"<tt>".&html_escape($i->{'action'})."</tt>");
|
||||
push(@cols, &html_escape($i->{'process'}));
|
||||
print &ui_checked_columns_row(\@cols, \@tds, "d", $i->{'id'});
|
||||
}
|
||||
print &ui_columns_end();
|
||||
print &ui_links_row(\@links);
|
||||
print &ui_form_end([ [ "delete", $text{'index_delete'} ] ]);
|
||||
}
|
||||
else {
|
||||
print "<b>$text{'inittab_none2'}</b><p>\n";
|
||||
print &ui_link("edit_inittab.cgi?new=1", $text{'inittab_new'}),"<p>\n";
|
||||
}
|
||||
print &ui_columns_end();
|
||||
print &ui_links_row(\@links);
|
||||
print &ui_form_end([ [ "delete", $text{'index_delete'} ] ]);
|
||||
|
||||
print &ui_hr();
|
||||
print "<table width=100%><tr>\n";
|
||||
|
||||
@@ -25,6 +25,7 @@ inittab_return=a la llista de processos
|
||||
inittab_apply=Aplica la Configuració d'Init
|
||||
inittab_applymsg=Fes clic sobre aquest botó per aplicar la configuració Init de SysV actual executant l'ordre <tt>telinit q</tt>. Tingues en compte que, en executar aquesta ordre, qualsevol error en la configuració pot fer que el sistema no funcioni.
|
||||
index_delete=Suprimeix els Processos Seleccionats
|
||||
inittab_none2=No s'ha trobat cap procés d'engegada al sistema. Això probablement vol dir que no utilitza el fitxer de configuració inicial de SysV.
|
||||
|
||||
edit_inittab_err=No tens permís per editar processos
|
||||
edit_inittab_title=Edició del Procés $1
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user