mirror of
https://github.com/webmin/webmin.git
synced 2026-02-03 14:13:29 +00:00
Compare commits
868 Commits
dev/server
...
dev/preser
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
77e809166c | ||
|
|
82f5284ffc | ||
|
|
4b66ac0be5 | ||
|
|
e69fb75c8e | ||
|
|
ff8781c112 | ||
|
|
0dd75db8d8 | ||
|
|
05d01aeef3 | ||
|
|
11f2bc20eb | ||
|
|
52c3178b92 | ||
|
|
e3dec2222d | ||
|
|
05752faec0 | ||
|
|
7507433bf1 | ||
|
|
248cb719c0 | ||
|
|
94b7fdf0ec | ||
|
|
d89f6411b6 | ||
|
|
01d08a3605 | ||
|
|
1cf3813fb6 | ||
|
|
1216ae709b | ||
|
|
3d9497ff45 | ||
|
|
a6832450d1 | ||
|
|
e41037388c | ||
|
|
a7b3af534b | ||
|
|
87e006ceeb | ||
|
|
fbee8f0588 | ||
|
|
e077b4da94 | ||
|
|
38efad8265 | ||
|
|
4d2a1fa084 | ||
|
|
13b2eca3b1 | ||
|
|
aa4c3b1de6 | ||
|
|
edaab4fd6f | ||
|
|
6fded0862c | ||
|
|
4006b0454e | ||
|
|
5d4ab58baa | ||
|
|
e6c7a60fe6 | ||
|
|
a75781d61a | ||
|
|
45348f5b02 | ||
|
|
548c078813 | ||
|
|
76ccb2b7ed | ||
|
|
61d2081371 | ||
|
|
458916b4d8 | ||
|
|
37451ad905 | ||
|
|
9eec58a1f1 | ||
|
|
178f527afa | ||
|
|
cd1555b3e1 | ||
|
|
2d7cfca67f | ||
|
|
e92a35b3ed | ||
|
|
e35efd0f00 | ||
|
|
a12f385a5b | ||
|
|
5dc7cfafd7 | ||
|
|
35aee74311 | ||
|
|
d04dfdf157 | ||
|
|
41f1adf0df | ||
|
|
1ae01bed8d | ||
|
|
4a6f5d9a6a | ||
|
|
bb3a4bc1e8 | ||
|
|
084c117547 | ||
|
|
0221a092b9 | ||
|
|
535d4173b3 | ||
|
|
20d481e96b | ||
|
|
0256ee47f2 | ||
|
|
6af5ed6e2f | ||
|
|
abeff44b1a | ||
|
|
35298efd8a | ||
|
|
3fa687e716 | ||
|
|
43fc057484 | ||
|
|
70e9a1c00b | ||
|
|
d21188c2ad | ||
|
|
a780103e2f | ||
|
|
4014293760 | ||
|
|
ba3be31335 | ||
|
|
adb3d0bb67 | ||
|
|
cd9bc8b7c4 | ||
|
|
e1ebcf0506 | ||
|
|
17a27dbe00 | ||
|
|
e36e943251 | ||
|
|
95ee1e2f2d | ||
|
|
37cde80bbe | ||
|
|
45852664fe | ||
|
|
00885b1f76 | ||
|
|
cce8911f0f | ||
|
|
3a151469c7 | ||
|
|
e3b94dc458 | ||
|
|
cde548ada3 | ||
|
|
00d0a89630 | ||
|
|
9c971202b3 | ||
|
|
2aa3bce4da | ||
|
|
4103177d1e | ||
|
|
31b6cdc82b | ||
|
|
fd8c634277 | ||
|
|
596ba13b1e | ||
|
|
5e684bf41b | ||
|
|
356c8f7f53 | ||
|
|
185465351a | ||
|
|
8d84e7313a | ||
|
|
71e37adfed | ||
|
|
af912d9539 | ||
|
|
5b31c7df84 | ||
|
|
55b5939194 | ||
|
|
00ddfd4d05 | ||
|
|
2d23a3503e | ||
|
|
a838d11a26 | ||
|
|
5f28a28d8d | ||
|
|
e13df24539 | ||
|
|
4f7924338d | ||
|
|
3a1d609579 | ||
|
|
e441427031 | ||
|
|
469857a41e | ||
|
|
e47c82e7e8 | ||
|
|
a0f6dd935c | ||
|
|
e302b706ec | ||
|
|
8c7fc88d51 | ||
|
|
7b4d905eb6 | ||
|
|
a1a6f669b2 | ||
|
|
0298d884ef | ||
|
|
5a8b3467a1 | ||
|
|
17fb8304c3 | ||
|
|
5cd88dad43 | ||
|
|
c15e7a5e5e | ||
|
|
fad464be47 | ||
|
|
489db4c769 | ||
|
|
cc663af3df | ||
|
|
0b58cd5197 | ||
|
|
dbd16c21cc | ||
|
|
8ddabb35b6 | ||
|
|
8476206da8 | ||
|
|
e0085e82d4 | ||
|
|
b697c134f1 | ||
|
|
5d363d60fe | ||
|
|
f06bc871dc | ||
|
|
45e16aeeac | ||
|
|
9be50b5aef | ||
|
|
80c7c7794c | ||
|
|
decb55b8ff | ||
|
|
d061a190ac | ||
|
|
6d89004446 | ||
|
|
9817085c70 | ||
|
|
ca3362ee84 | ||
|
|
e88ba87eae | ||
|
|
a420c7142f | ||
|
|
6f37dc94bf | ||
|
|
c59a200725 | ||
|
|
e56aa7711c | ||
|
|
b480b4caa3 | ||
|
|
db456ad458 | ||
|
|
9513d85157 | ||
|
|
68b547d55a | ||
|
|
dccc3fb10e | ||
|
|
d6bed07aae | ||
|
|
bb7938a0f5 | ||
|
|
8164480b48 | ||
|
|
4155fdb4c5 | ||
|
|
19efd89c28 | ||
|
|
f911137624 | ||
|
|
d4ac34e4b5 | ||
|
|
5323bda372 | ||
|
|
1b1ac686e3 | ||
|
|
75e9323429 | ||
|
|
554b439bf8 | ||
|
|
2f9a0b3f21 | ||
|
|
f457b971a7 | ||
|
|
f5252d3f09 | ||
|
|
60a9419cc3 | ||
|
|
cc2502737f | ||
|
|
0cbd11335d | ||
|
|
f9198b0fbd | ||
|
|
bb24e2bbdd | ||
|
|
a86eb6ff46 | ||
|
|
d2420038f9 | ||
|
|
26625786cb | ||
|
|
3f2023d174 | ||
|
|
6b190a6cba | ||
|
|
5c465a587c | ||
|
|
61f631c1f7 | ||
|
|
40c1c30ae2 | ||
|
|
d805878186 | ||
|
|
84d46adcee | ||
|
|
b740f9850b | ||
|
|
2641985b98 | ||
|
|
736e514766 | ||
|
|
5ab6ce618d | ||
|
|
1c8257ecff | ||
|
|
ebfd1e9e51 | ||
|
|
70dede0e22 | ||
|
|
35e9f0a01d | ||
|
|
0c8777acef | ||
|
|
04523fdb86 | ||
|
|
b83bcc4723 | ||
|
|
b9bb060250 | ||
|
|
f49f8f2fb1 | ||
|
|
801f1f61d8 | ||
|
|
ede9921ea4 | ||
|
|
cbd7a91d5c | ||
|
|
36c8aa5e7d | ||
|
|
7881b1c6c2 | ||
|
|
4a918ee504 | ||
|
|
078d3acb98 | ||
|
|
6a521ea32c | ||
|
|
0c0639d2e9 | ||
|
|
1c8cee607e | ||
|
|
4ac3a675e8 | ||
|
|
35dfcbe456 | ||
|
|
1d5900eb70 | ||
|
|
e2d6caf359 | ||
|
|
1cc640a8e2 | ||
|
|
13442d4aa4 | ||
|
|
677b39bd61 | ||
|
|
0dc1af46f2 | ||
|
|
bff3e78630 | ||
|
|
d9d4522430 | ||
|
|
0bd657978f | ||
|
|
d59c49b6ce | ||
|
|
fae522a28e | ||
|
|
9dcb1da4f5 | ||
|
|
591161560a | ||
|
|
799ccb3683 | ||
|
|
4e5da791e2 | ||
|
|
4db36071b3 | ||
|
|
8de5c83ca8 | ||
|
|
9b496bf413 | ||
|
|
985129bb70 | ||
|
|
f1804201e6 | ||
|
|
0b1e5f87e1 | ||
|
|
1e94a328ba | ||
|
|
bac62e03c7 | ||
|
|
b1a6beda22 | ||
|
|
b57d57b729 | ||
|
|
cd46f97288 | ||
|
|
1f2a7902c6 | ||
|
|
975ae7b497 | ||
|
|
f252296471 | ||
|
|
f33b433b96 | ||
|
|
6eb674b451 | ||
|
|
690bae82fc | ||
|
|
575c1ca5a3 | ||
|
|
97e4545c58 | ||
|
|
73150b7818 | ||
|
|
c72a24369c | ||
|
|
ed7ac533d4 | ||
|
|
6df08bc645 | ||
|
|
54d2766960 | ||
|
|
c22f7fa8af | ||
|
|
da285e9804 | ||
|
|
db42daab77 | ||
|
|
e2cf926097 | ||
|
|
6f1b0db855 | ||
|
|
1f99616848 | ||
|
|
d10d98421e | ||
|
|
827e02d47d | ||
|
|
1bee7442a6 | ||
|
|
d165a4740a | ||
|
|
4126264a63 | ||
|
|
0d390df894 | ||
|
|
eda29478de | ||
|
|
ea98188a63 | ||
|
|
f6b3bb2ca5 | ||
|
|
f25c71f625 | ||
|
|
657113d0c8 | ||
|
|
470bed602b | ||
|
|
90d197701f | ||
|
|
8473d5e611 | ||
|
|
5f6a6c8425 | ||
|
|
ce5b85c5e2 | ||
|
|
1b7c9bea0d | ||
|
|
548b2ab08e | ||
|
|
d3b46a6675 | ||
|
|
5f28c37cab | ||
|
|
5046081a47 | ||
|
|
1a9a1dc1f5 | ||
|
|
031b84621a | ||
|
|
1d1d1d0c54 | ||
|
|
09167a34a6 | ||
|
|
225013da07 | ||
|
|
614aa056c0 | ||
|
|
6eb3b193b9 | ||
|
|
ba677eedc9 | ||
|
|
5c6c4b9da9 | ||
|
|
65ed7a082e | ||
|
|
5008271d11 | ||
|
|
18d405b91a | ||
|
|
d1f0e77d25 | ||
|
|
e8691fd541 | ||
|
|
c820eb21bd | ||
|
|
6850a50b0d | ||
|
|
27969bc0fb | ||
|
|
d92bdfff8a | ||
|
|
56a1382d4c | ||
|
|
ba9b178905 | ||
|
|
b2ef544331 | ||
|
|
fb2ceb9ae5 | ||
|
|
e1dafea664 | ||
|
|
8621cf8bd0 | ||
|
|
0b21cbdc7c | ||
|
|
d446c7d3d0 | ||
|
|
376eb2c04a | ||
|
|
db674f769e | ||
|
|
46358dc5d7 | ||
|
|
fae806f1a8 | ||
|
|
fdf1c40c28 | ||
|
|
5cb91ab3f9 | ||
|
|
7628a7329d | ||
|
|
613c568f4f | ||
|
|
b43e75e701 | ||
|
|
b53333e8bc | ||
|
|
ec34a26e1a | ||
|
|
4102b5ee1c | ||
|
|
c6cb6397f0 | ||
|
|
550a263ceb | ||
|
|
ff5937b79b | ||
|
|
2fce5e752e | ||
|
|
4202fa5063 | ||
|
|
f24a34f8c5 | ||
|
|
13e343e2d7 | ||
|
|
1648384ce8 | ||
|
|
a73eb0cd96 | ||
|
|
adcd7d8fd5 | ||
|
|
21845e9708 | ||
|
|
e4aee1c27e | ||
|
|
64211e46cb | ||
|
|
407ec904ca | ||
|
|
3001ec8aa4 | ||
|
|
abcdf51d10 | ||
|
|
b3350f5b37 | ||
|
|
56abe45e64 | ||
|
|
a260ad5acd | ||
|
|
31eead4a08 | ||
|
|
48023fe3eb | ||
|
|
ae6592602f | ||
|
|
6963ce9add | ||
|
|
28af4c4991 | ||
|
|
7f8ad9c148 | ||
|
|
83c93d8bdc | ||
|
|
3a275d1d5b | ||
|
|
8f6ce35db6 | ||
|
|
2f5ee346b2 | ||
|
|
44f6361c5c | ||
|
|
7fc71adecc | ||
|
|
1e0f6be4ab | ||
|
|
d54c6bf8e0 | ||
|
|
5c533916ff | ||
|
|
b02f0ef96b | ||
|
|
12c205f3ec | ||
|
|
ea00ff92a2 | ||
|
|
0c0b04ffe0 | ||
|
|
c762d41fa1 | ||
|
|
0704ac640e | ||
|
|
a9d0f8b704 | ||
|
|
203c75f79a | ||
|
|
7734ba1285 | ||
|
|
fb6f27aaaa | ||
|
|
dd9dac860c | ||
|
|
68e4f6c5aa | ||
|
|
527d238da2 | ||
|
|
b292c68123 | ||
|
|
3fc4f05f49 | ||
|
|
75836b1f25 | ||
|
|
e3c4711d77 | ||
|
|
5565113777 | ||
|
|
01a10d1f08 | ||
|
|
60793e9ac5 | ||
|
|
e50898dd05 | ||
|
|
bc27c75027 | ||
|
|
9c4f32246d | ||
|
|
37c91a6330 | ||
|
|
f9f19552dd | ||
|
|
60e424689d | ||
|
|
2c1388b0be | ||
|
|
910619c364 | ||
|
|
893e5ba06f | ||
|
|
5cd605dce5 | ||
|
|
6c3a7d1d5e | ||
|
|
882bf281b1 | ||
|
|
f0127ca722 | ||
|
|
cb7a7d6e22 | ||
|
|
a3f9d0a60f | ||
|
|
24bf147c9a | ||
|
|
f5bb99a431 | ||
|
|
3b38106363 | ||
|
|
e08a4bf078 | ||
|
|
cb95472a27 | ||
|
|
d8b02b5f42 | ||
|
|
2dad993bee | ||
|
|
f31c7a9668 | ||
|
|
cf396e6ec1 | ||
|
|
aae7aa527f | ||
|
|
196b7c72a3 | ||
|
|
3cb936d7c8 | ||
|
|
875e827954 | ||
|
|
06a6817f04 | ||
|
|
e62e0d032e | ||
|
|
919601d1c6 | ||
|
|
da142c95a7 | ||
|
|
78c64ea786 | ||
|
|
fd56523955 | ||
|
|
a6f5e593b0 | ||
|
|
70a15314c0 | ||
|
|
3a5dcc4723 | ||
|
|
e9f382272a | ||
|
|
5c8d5ee75e | ||
|
|
f244805c01 | ||
|
|
26cb81ad2b | ||
|
|
3cc8e71035 | ||
|
|
3a264330ed | ||
|
|
8edffc8f30 | ||
|
|
7fd3b9e725 | ||
|
|
1bd70e7669 | ||
|
|
975ed1c277 | ||
|
|
c1b3b6606e | ||
|
|
b6b8398eb2 | ||
|
|
66e2f1e1e3 | ||
|
|
f82def9a9b | ||
|
|
924a0da014 | ||
|
|
c4f39f56f8 | ||
|
|
6b2b72707e | ||
|
|
e327d0b81b | ||
|
|
e418b4c178 | ||
|
|
f89844171c | ||
|
|
2cbdf62b1b | ||
|
|
e89220e846 | ||
|
|
1df9920aa9 | ||
|
|
732d12a1f4 | ||
|
|
83de10b7c2 | ||
|
|
d00945bdfc | ||
|
|
c136c380be | ||
|
|
807f9cfe34 | ||
|
|
93157a428d | ||
|
|
e3866f6607 | ||
|
|
86bab830b3 | ||
|
|
3c67453d16 | ||
|
|
0df0bb4837 | ||
|
|
a2bb0173b6 | ||
|
|
bed55e7e08 | ||
|
|
3ac0a468b1 | ||
|
|
8da45b832a | ||
|
|
d275ee095b | ||
|
|
bf97df4522 | ||
|
|
fa54da125f | ||
|
|
522051a854 | ||
|
|
c87fc1a15c | ||
|
|
80cc0cb9d2 | ||
|
|
a88ae240f5 | ||
|
|
2b38b7bfb7 | ||
|
|
5a791299e6 | ||
|
|
97203f1245 | ||
|
|
a4a8d970e1 | ||
|
|
8665c5a725 | ||
|
|
28e55d6774 | ||
|
|
de638bcb6a | ||
|
|
e9238d1b24 | ||
|
|
f2476e0a6d | ||
|
|
c2c548a3d6 | ||
|
|
ac26b356ac | ||
|
|
9b744c4632 | ||
|
|
e481cf9dda | ||
|
|
5672f6bfce | ||
|
|
dcee332bff | ||
|
|
8d0aeb6fc9 | ||
|
|
716e1deb5f | ||
|
|
b65af5f3ac | ||
|
|
f3c4eb63e8 | ||
|
|
64924182d2 | ||
|
|
8bad9dd0f8 | ||
|
|
8e1507d8d0 | ||
|
|
dd06d75468 | ||
|
|
f3d2d38214 | ||
|
|
e264daebe0 | ||
|
|
3b67cd6773 | ||
|
|
53834dc5e7 | ||
|
|
09891459ee | ||
|
|
346b9f3af8 | ||
|
|
409a4fbb7b | ||
|
|
fd44191c96 | ||
|
|
3b65ec28ed | ||
|
|
0c6351d3ab | ||
|
|
6126d1d0f3 | ||
|
|
c9ee0d5a4d | ||
|
|
1a39ba639f | ||
|
|
7360544f06 | ||
|
|
b8bd5115b4 | ||
|
|
2175bc25fe | ||
|
|
35bae257f2 | ||
|
|
6926262562 | ||
|
|
167b6a33a3 | ||
|
|
0e2cc49ed0 | ||
|
|
b095aa2b20 | ||
|
|
79b840024a | ||
|
|
8925f396cf | ||
|
|
62c5d73076 | ||
|
|
b0b26f8663 | ||
|
|
f555367eb4 | ||
|
|
1fe336ad39 | ||
|
|
8f157253a3 | ||
|
|
aca2a9a524 | ||
|
|
07fc4621f8 | ||
|
|
d239e77f15 | ||
|
|
627a047028 | ||
|
|
a1844d301d | ||
|
|
d9db632718 | ||
|
|
4b38af6b51 | ||
|
|
46238ef7a1 | ||
|
|
059b47f84d | ||
|
|
62b6b32719 | ||
|
|
02eb35d622 | ||
|
|
4d5b4ef697 | ||
|
|
b3c8706690 | ||
|
|
283fe2e440 | ||
|
|
8e586e6f14 | ||
|
|
7ad30bdc8c | ||
|
|
81ead590c9 | ||
|
|
48b0912cf6 | ||
|
|
e0d743076d | ||
|
|
91c2facff9 | ||
|
|
8e71cfa73a | ||
|
|
9cade51106 | ||
|
|
d0691f273c | ||
|
|
ef41362b57 | ||
|
|
6942ce7f0f | ||
|
|
97d1624bb0 | ||
|
|
a85fa2f8c2 | ||
|
|
c0e20f024a | ||
|
|
1c13b29aa6 | ||
|
|
ba623246a1 | ||
|
|
e36f2051e3 | ||
|
|
c0bc9daff3 | ||
|
|
5c0dc5d613 | ||
|
|
a8f00d69f8 | ||
|
|
514b4f8def | ||
|
|
6cc6429a0f | ||
|
|
76b57bab75 | ||
|
|
104375b5b5 | ||
|
|
03f80d707e | ||
|
|
3718835b23 | ||
|
|
eefb0cb32e | ||
|
|
691798f913 | ||
|
|
dec31a73a2 | ||
|
|
904545de89 | ||
|
|
b9f1d5df1d | ||
|
|
46375d60c2 | ||
|
|
ba29164e1d | ||
|
|
50d8ac3261 | ||
|
|
e8fa36e7fd | ||
|
|
c6b5768bf2 | ||
|
|
0d0e9170b9 | ||
|
|
72f127fe0f | ||
|
|
3cdaaf2950 | ||
|
|
f980e3bb2e | ||
|
|
e199d7e5be | ||
|
|
fb662de8b4 | ||
|
|
35d1fe0eb5 | ||
|
|
b40fe2140d | ||
|
|
4c8d27cf89 | ||
|
|
895217865b | ||
|
|
87e386eb69 | ||
|
|
384913506f | ||
|
|
4d88b1ad2b | ||
|
|
db071c39fb | ||
|
|
766eaf635c | ||
|
|
5dd8b95f5f | ||
|
|
873490367d | ||
|
|
0457c1d1c0 | ||
|
|
59b944ebff | ||
|
|
2e63031e22 | ||
|
|
6137f285f2 | ||
|
|
04557f6e28 | ||
|
|
d7de842f45 | ||
|
|
ba1aa5a498 | ||
|
|
b70a697e66 | ||
|
|
c4c2c5c38e | ||
|
|
bbe7e78516 | ||
|
|
e40fc5568b | ||
|
|
71d94982df | ||
|
|
d48154d6a0 | ||
|
|
949f6fbf8d | ||
|
|
3c97fc5a32 | ||
|
|
4d4468e907 | ||
|
|
fc5a638e24 | ||
|
|
cf6a14b7a6 | ||
|
|
6ddde41728 | ||
|
|
5114308d0d | ||
|
|
2c325b1ee4 | ||
|
|
e087bb718c | ||
|
|
51bdd0d07e | ||
|
|
74fec8b171 | ||
|
|
9d360f1c24 | ||
|
|
148743894f | ||
|
|
6b935f980c | ||
|
|
e751836684 | ||
|
|
b9449c213b | ||
|
|
a3c9770d4f | ||
|
|
3c971dacc1 | ||
|
|
ac1a73c154 | ||
|
|
3a099fabec | ||
|
|
9a1e869a82 | ||
|
|
5c54c614e3 | ||
|
|
cbdc843500 | ||
|
|
82fbca20e4 | ||
|
|
ef7dbb1f77 | ||
|
|
4f15106fa9 | ||
|
|
96bfc34247 | ||
|
|
0289ceed5b | ||
|
|
4e54ce3f85 | ||
|
|
73b2322597 | ||
|
|
05c7b6c3a3 | ||
|
|
1bb70effea | ||
|
|
590c27d202 | ||
|
|
846dff2636 | ||
|
|
b339c76fc7 | ||
|
|
fbabecbe9e | ||
|
|
7706c0795e | ||
|
|
4be368c523 | ||
|
|
b268c1bb66 | ||
|
|
b2f18fb784 | ||
|
|
34e3b4c027 | ||
|
|
3c5edcf184 | ||
|
|
33f4d7a008 | ||
|
|
2d182a2eea | ||
|
|
7f06ccaf53 | ||
|
|
d8fa7f26af | ||
|
|
aa6edf6c55 | ||
|
|
4333435739 | ||
|
|
f01197df71 | ||
|
|
cb41eff450 | ||
|
|
352326f574 | ||
|
|
410fd07287 | ||
|
|
faededeb77 | ||
|
|
f0f8dc2850 | ||
|
|
184e8d627d | ||
|
|
fd2b7c1fc7 | ||
|
|
98192ca099 | ||
|
|
05a93a5e3d | ||
|
|
50a2820a97 | ||
|
|
87f2640ee3 | ||
|
|
4180e3d3ee | ||
|
|
b7d7ea5d8d | ||
|
|
4e09cf0b55 | ||
|
|
3f0ab3fb92 | ||
|
|
836647525a | ||
|
|
8b68eac561 | ||
|
|
0503299773 | ||
|
|
2e8000d191 | ||
|
|
65ffcea0db | ||
|
|
45845b8ca6 | ||
|
|
fead9b108d | ||
|
|
db1c9679ba | ||
|
|
d753fa7a8d | ||
|
|
f6d7e05b14 | ||
|
|
a9288423cc | ||
|
|
ac9e54afba | ||
|
|
f7cf6419d2 | ||
|
|
a9097cbb42 | ||
|
|
6f84ca1c9d | ||
|
|
dff70c3349 | ||
|
|
fe8f3f8494 | ||
|
|
f5f3510a59 | ||
|
|
1e375b4740 | ||
|
|
c573496914 | ||
|
|
73e731722d | ||
|
|
6186376b6b | ||
|
|
31e0151804 | ||
|
|
872ca66b07 | ||
|
|
088aba8cec | ||
|
|
99b8959559 | ||
|
|
94f23e63e7 | ||
|
|
7c449cf4a3 | ||
|
|
2db507e5e8 | ||
|
|
bdeb908df0 | ||
|
|
a133cdfdef | ||
|
|
fe2656acd8 | ||
|
|
64a44a667e | ||
|
|
59cef9a04f | ||
|
|
af629fe3cd | ||
|
|
80368e2a04 | ||
|
|
5237ae8ea2 | ||
|
|
54ad4f7f74 | ||
|
|
0dd94f5957 | ||
|
|
5b2b3f0790 | ||
|
|
ac05a0c43a | ||
|
|
18f3e1273f | ||
|
|
710829c16a | ||
|
|
8ced23d027 | ||
|
|
d834bb6da0 | ||
|
|
cc560b00e5 | ||
|
|
3e4668715a | ||
|
|
053e8dcf22 | ||
|
|
2d7e57c7e1 | ||
|
|
30e6360fa2 | ||
|
|
dda9290ff5 | ||
|
|
15a00d8119 | ||
|
|
9289083171 | ||
|
|
3d482d2bf5 | ||
|
|
318150e6b0 | ||
|
|
8939b060b4 | ||
|
|
4709ff6adf | ||
|
|
31af9f996c | ||
|
|
c716443737 | ||
|
|
fd06605f51 | ||
|
|
c8f6b05987 | ||
|
|
a90dbc5f33 | ||
|
|
7fc16f8948 | ||
|
|
a2f1f24a95 | ||
|
|
825b928168 | ||
|
|
de648c24bd | ||
|
|
907818d2a4 | ||
|
|
60a79e67d4 | ||
|
|
04a3b8b5e6 | ||
|
|
dd1b4bc77b | ||
|
|
5156a472be | ||
|
|
185e7db58d | ||
|
|
f8ec917bc5 | ||
|
|
1016ec5f1d | ||
|
|
8a6d4cfefd | ||
|
|
7cbbdc898a | ||
|
|
8db4074d4d | ||
|
|
f6c48e7a11 | ||
|
|
9ae54e61bd | ||
|
|
e917f33e09 | ||
|
|
38aa06b8c6 | ||
|
|
57e710e8a6 | ||
|
|
0d9d978f72 | ||
|
|
196b886ddb | ||
|
|
4197e61772 | ||
|
|
6dc87705d9 | ||
|
|
4b59570a82 | ||
|
|
33927e07ae | ||
|
|
65444b8865 | ||
|
|
5357b084af | ||
|
|
862bbc36df | ||
|
|
e6105bb757 | ||
|
|
864e0c4918 | ||
|
|
115c5763a3 | ||
|
|
d6e307d59a | ||
|
|
9dc21ace2d | ||
|
|
c500759d83 | ||
|
|
736d30ef76 | ||
|
|
a27095f40f | ||
|
|
60a3b3b4a9 | ||
|
|
f932925b29 | ||
|
|
21e8940860 | ||
|
|
944794aeac | ||
|
|
00bd6cf27f | ||
|
|
1fb3bfa6ef | ||
|
|
da14ecbe46 | ||
|
|
1c48f3761e | ||
|
|
246b0018eb | ||
|
|
2e97b09d10 | ||
|
|
f3cc268f0c | ||
|
|
8c3973c68f | ||
|
|
33b591dfac | ||
|
|
ec0ab05782 | ||
|
|
4b03b80912 | ||
|
|
d312c3e318 | ||
|
|
9439ba0450 | ||
|
|
bea827c0b7 | ||
|
|
b1ee7cbf53 | ||
|
|
f56807c023 | ||
|
|
7b34282488 | ||
|
|
31b48f8dd6 | ||
|
|
8c1a74d245 | ||
|
|
6ae1061900 | ||
|
|
7de3647f0d | ||
|
|
76389ea06c | ||
|
|
8ae4364ee1 | ||
|
|
054f0a254e | ||
|
|
02a5982ff9 | ||
|
|
a835742293 | ||
|
|
2d7f299419 | ||
|
|
3bd37be97b | ||
|
|
62e1b4c785 | ||
|
|
3671a76333 | ||
|
|
f3652c7a87 | ||
|
|
980c4c834c | ||
|
|
df438c59ed | ||
|
|
932f2464bc | ||
|
|
d9ea914889 | ||
|
|
1730540764 | ||
|
|
9454cb4a2b | ||
|
|
355d7b5404 | ||
|
|
9f93c29c5f | ||
|
|
43e671497a | ||
|
|
b14c1c07dc | ||
|
|
f4ad3293bf | ||
|
|
e809329ca0 | ||
|
|
3cc16bb120 | ||
|
|
1eb43eafd2 | ||
|
|
f652def98d | ||
|
|
392fb41a24 | ||
|
|
c14b100845 | ||
|
|
b3b5fff0dc | ||
|
|
ef0a48d83a | ||
|
|
58a15dafc7 | ||
|
|
79f78d5e28 | ||
|
|
51e1c7bef3 | ||
|
|
5b5af3eb20 | ||
|
|
2e93819c1b | ||
|
|
d3a10de65d | ||
|
|
8ef754b477 | ||
|
|
4cbda407f9 | ||
|
|
71cce5c580 | ||
|
|
360c27add5 | ||
|
|
753290b95a | ||
|
|
ae579a2047 | ||
|
|
9746f7ea9e | ||
|
|
e599e0206a | ||
|
|
f37dbd4c3d | ||
|
|
ff42c66129 | ||
|
|
d384e696f7 | ||
|
|
3b36dfa8ad | ||
|
|
2d900e88c8 | ||
|
|
ba25fba714 | ||
|
|
44fe8dd676 | ||
|
|
143fb86567 | ||
|
|
dc721b2e4e | ||
|
|
91a0e71d6f | ||
|
|
30770eae4a | ||
|
|
b355fafe0d | ||
|
|
076e3577ba | ||
|
|
6493bc6564 | ||
|
|
27c6a003d8 | ||
|
|
e9ecd9c09e | ||
|
|
9135fa916b | ||
|
|
8d392af6d3 | ||
|
|
da5b0d2411 | ||
|
|
cae06a79a0 | ||
|
|
1a807f5f58 | ||
|
|
c56ea21638 | ||
|
|
36095d04f8 | ||
|
|
8efeb1c86c | ||
|
|
582549ddb6 | ||
|
|
04e14cc979 | ||
|
|
0cd5feb0a3 | ||
|
|
fd762c2f47 | ||
|
|
9aeab55a88 | ||
|
|
3fb71fb569 | ||
|
|
f4d83f5ebf | ||
|
|
b2f4dd4fe8 | ||
|
|
0c575c5266 | ||
|
|
acc47ce0e7 | ||
|
|
81e5120fc4 | ||
|
|
281cb21cce | ||
|
|
ad084a1ceb | ||
|
|
4b436c2f16 | ||
|
|
51e672b87d | ||
|
|
f21650971e | ||
|
|
eccb7a169c | ||
|
|
77c9d1fa9c | ||
|
|
fb0b6b4044 | ||
|
|
deb172ca82 | ||
|
|
f7dc0add11 | ||
|
|
915781d381 | ||
|
|
dca48f4f00 | ||
|
|
8e47199147 | ||
|
|
437bdd2528 | ||
|
|
bedb091e56 | ||
|
|
323f0cc043 | ||
|
|
df7bf3af4a | ||
|
|
94d3727b41 | ||
|
|
510c7153e4 | ||
|
|
389d061972 | ||
|
|
ad5e279231 | ||
|
|
f9bccb3853 | ||
|
|
3c21733d57 | ||
|
|
0d45d61edc | ||
|
|
eb79f4c169 | ||
|
|
48eb29e547 | ||
|
|
3fe5aa8887 | ||
|
|
50e058d2b6 | ||
|
|
2d85a2951c | ||
|
|
21e4debf24 | ||
|
|
fad1201240 |
221
.github/build/deb.sh
vendored
Executable file
221
.github/build/deb.sh
vendored
Executable file
@@ -0,0 +1,221 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
# Copyright @iliajie <ilia@webmin.dev>
|
||||
#
|
||||
# Automatically builds and updates a repo metadata.
|
||||
# Pulls latest changes from GitHub, detects release
|
||||
# version based on what's available in the repo
|
||||
#
|
||||
# (Debian)
|
||||
#
|
||||
# Usage:
|
||||
#
|
||||
# # Pull and build production versions
|
||||
# # of both Webmin and Usermin
|
||||
# ./deb.sh
|
||||
#
|
||||
# # Pull and build devel versions
|
||||
# # of both Webmin and Usermin
|
||||
# ./deb.sh --devel
|
||||
#
|
||||
# # Pull and build production Webmin version 2.101, forcing
|
||||
# # release version 3, displaying detailed output
|
||||
# ./deb.sh webmin 2.101 3 --debug
|
||||
#
|
||||
# # Pull and build production Usermin version 2.000,
|
||||
# # automatically setting release version to minimal
|
||||
# ./deb.sh usermin 2.000
|
||||
#
|
||||
|
||||
# shellcheck disable=SC1091
|
||||
# Source build variables
|
||||
source ./vars.sh || exit 1
|
||||
|
||||
# Source build init
|
||||
source ./init.sh || exit 1
|
||||
|
||||
# Source general build functions
|
||||
source ./funcs.sh || exit 1
|
||||
|
||||
# Build product func
|
||||
build_prod() {
|
||||
|
||||
# Pack with English only in devel builds
|
||||
local english_only=0
|
||||
if [[ "'$*'" == *"--devel"* ]]; then
|
||||
english_only=1
|
||||
fi
|
||||
|
||||
# Always return back to root directory
|
||||
cd "$root" || exit 1
|
||||
|
||||
# Define root
|
||||
local ver=""
|
||||
local prod=$1
|
||||
root_prod="$root/$prod"
|
||||
root_apt="$root_prod/deb"
|
||||
|
||||
# Print build actual date
|
||||
date=$(get_current_date)
|
||||
|
||||
# Print opening header
|
||||
echo "************************************************************************"
|
||||
echo " build start date: $date "
|
||||
echo " package format: DEB "
|
||||
echo " product: $prod "
|
||||
(make_prod_repos "$root_prod") &
|
||||
spinner " package output version:"
|
||||
|
||||
# Pull main project first to get the latest tag
|
||||
cd "$root_prod" || exit 1
|
||||
cmd="git pull $verbosity_level"
|
||||
eval "$cmd"
|
||||
rs1=$?
|
||||
# Clean and try again
|
||||
if [ "$rs1" != "0" ]; then
|
||||
cmd="git checkout \"*\" $verbosity_level && git clean -f -d $verbosity_level && git pull $verbosity_level"
|
||||
eval "$cmd"
|
||||
rs1=$?
|
||||
fi
|
||||
|
||||
# Descend to theme dir
|
||||
cd "authentic-theme" || exit 1
|
||||
cmd="git pull $verbosity_level"
|
||||
eval "$cmd"
|
||||
rs2=$?
|
||||
# Clean and try again
|
||||
if [ "$rs2" != "0" ]; then
|
||||
cmd="git checkout \"*\" $verbosity_level && git clean -f -d $verbosity_level && git pull $verbosity_level"
|
||||
eval "$cmd"
|
||||
rs2=$?
|
||||
fi
|
||||
if [ "$rs1" != "0" ] || [ "$rs2" != "0" ]; then
|
||||
rs=1
|
||||
else
|
||||
rs=0
|
||||
fi
|
||||
|
||||
# Build number
|
||||
date_version=$(get_latest_commit_date_version)
|
||||
|
||||
# Handle other params
|
||||
cd "$root_prod" || exit 1
|
||||
if [[ "'$2'" != *"--"* ]]; then
|
||||
ver=$2
|
||||
fi
|
||||
if [[ "'$3'" != *"--"* ]] && [[ -n "$3" ]]; then
|
||||
rel=$3
|
||||
relval="-$3"
|
||||
else
|
||||
rel=1
|
||||
relval=""
|
||||
fi
|
||||
if [ -z "$ver" ]; then
|
||||
ver=$(get_current_repo_tag)
|
||||
fi
|
||||
if [[ "'$*'" == *"--devel"* ]]; then
|
||||
ver="$ver.$date_version"
|
||||
# Set actual product version
|
||||
echo "${ver}" >"version"
|
||||
fi
|
||||
printf "$ver-$rel\n"
|
||||
echo "************************************************************************"
|
||||
|
||||
echo "Pulling latest changes.."
|
||||
# We need to pull first to get the latest tag,
|
||||
# so here we only report an error if any
|
||||
postcmd $rs
|
||||
echo
|
||||
|
||||
echo "Pre-clean up .."
|
||||
# Make sure directories exist
|
||||
make_dir "$root_repos/"
|
||||
make_dir "$root_apt/"
|
||||
make_dir "$root_prod/newkey/deb/"
|
||||
make_dir "$root_prod/umodules/"
|
||||
make_dir "$root_prod/minimal/"
|
||||
make_dir "$root_prod/tarballs/"
|
||||
|
||||
# Re-create legacy link
|
||||
rm -rf "$root/webadmin"
|
||||
ln -s "$root/webmin" "$root/webadmin"
|
||||
|
||||
# Purge old files
|
||||
purge_dir "$root_prod/newkey/deb"
|
||||
purge_dir "$root_prod/umodules"
|
||||
purge_dir "$root_prod/minimal"
|
||||
purge_dir "$root_prod/tarballs"
|
||||
if [ "$prod" != "" ]; then
|
||||
# XXXX Need to check for
|
||||
# product name exactly
|
||||
rm -f "$root_repos/$prod-latest"*
|
||||
fi
|
||||
postcmd $?
|
||||
echo
|
||||
|
||||
# Descend to project dir
|
||||
cd "$root_prod" || exit 1
|
||||
|
||||
if [ "$english_only" = "1" ]; then
|
||||
echo "Cleaning languages .."
|
||||
cmd="./bin/language-manager --mode=clean --yes $verbosity_level_with_input"
|
||||
eval "$cmd"
|
||||
postcmd $?
|
||||
echo
|
||||
else
|
||||
# Force restore build directory
|
||||
if [ ! -f "lang/ja" ]; then
|
||||
echo "Restoring languages .."
|
||||
cmd="git checkout \"*\" $verbosity_level && git clean -f -d $verbosity_level && git pull $verbosity_level"
|
||||
eval "$cmd"
|
||||
postcmd $?
|
||||
echo
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "Pre-building package .."
|
||||
eval "$cmd"
|
||||
cmd="./makedist.pl \"${ver}${relval}\" $verbosity_level"
|
||||
eval "$cmd"
|
||||
postcmd $?
|
||||
echo
|
||||
|
||||
echo "Building package .."
|
||||
if [ "$relval" == "" ]; then
|
||||
cmd="./makedebian.pl \"$ver\" $verbosity_level"
|
||||
else
|
||||
cmd="./makedebian.pl \"$ver\" \"$rel\" $verbosity_level"
|
||||
fi
|
||||
eval "$cmd"
|
||||
postcmd $?
|
||||
echo
|
||||
|
||||
cd "$root" || exit 1
|
||||
echo "Preparing built files for upload .."
|
||||
cmd="cp -f $root_prod/tarballs/${prod}-${ver}*\.tar.gz $root_repos/${prod}-latest.tar.gz $verbosity_level"
|
||||
eval "$cmd"
|
||||
cmd="echo $ver-$rel \($date\) > $root_repos/${prod}-latest.version $verbosity_level_to_file"
|
||||
eval "$cmd"
|
||||
cmd="find $root_apt -name ${prod}_${ver}${relval}*\.deb -exec mv '{}' $root_repos \; $verbosity_level"
|
||||
eval "$cmd"
|
||||
cmd="mv -f $root_repos/${prod}_${ver}${relval}*\.deb $root_repos/${prod}-latest.deb $verbosity_level"
|
||||
eval "$cmd"
|
||||
postcmd $?
|
||||
}
|
||||
|
||||
if [ -n "$1" ] && [[ "'$1'" != *"--"* ]]; then
|
||||
build_prod $@
|
||||
|
||||
cloud_upload_list_upload=("$root_repos/$1*")
|
||||
cloud_upload cloud_upload_list_upload
|
||||
|
||||
cloud_repo_sign_and_update
|
||||
else
|
||||
build_prod webmin $@
|
||||
build_prod usermin $@
|
||||
|
||||
cloud_upload_list_upload=("$root_repos/*")
|
||||
cloud_upload cloud_upload_list_upload
|
||||
|
||||
cloud_repo_sign_and_update
|
||||
fi
|
||||
163
.github/build/funcs.sh
vendored
Executable file
163
.github/build/funcs.sh
vendored
Executable file
@@ -0,0 +1,163 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
# Copyright @iliajie <ilia@webmin.dev>
|
||||
#
|
||||
# General build functions
|
||||
#
|
||||
#
|
||||
|
||||
# Upload to cloud
|
||||
# Usage:
|
||||
# cloud_upload_list_delete=("$cloud_upload_ssh_dir/repodata")
|
||||
# cloud_upload_list_upload=("$root_repos/*" "$root_repos/repodata")
|
||||
# cloud_upload cloud_upload_list_upload cloud_upload_list_delete
|
||||
cloud_upload() {
|
||||
# Print new block only if definded
|
||||
local ssh_args="-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null"
|
||||
if [ -n "$1" ]; then
|
||||
echo
|
||||
fi
|
||||
# Delete files on remote if needed
|
||||
if [ -n "$2" ]; then
|
||||
echo "Deleting given files in $cloud_upload_ssh_host .."
|
||||
local -n arr_del=$2
|
||||
local err=0
|
||||
for d in "${arr_del[@]}"; do
|
||||
if [ -n "$d" ]; then
|
||||
local cmd1="ssh $ssh_args $cloud_upload_ssh_user@$cloud_upload_ssh_host \"rm -rf $d\" $verbosity_level"
|
||||
eval "$cmd1"
|
||||
if [ "$?" != "0" ]; then
|
||||
err=1
|
||||
fi
|
||||
fi
|
||||
done
|
||||
postcmd $err
|
||||
echo
|
||||
fi
|
||||
|
||||
# Upload files to remote
|
||||
if [ -n "$1" ]; then
|
||||
echo "Uploading built files to $cloud_upload_ssh_host .."
|
||||
local -n arr_upl=$1
|
||||
local err=0
|
||||
for u in "${arr_upl[@]}"; do
|
||||
if [ -n "$u" ]; then
|
||||
local cmd2="scp $ssh_args -r $u $cloud_upload_ssh_user@$cloud_upload_ssh_host:$cloud_upload_ssh_dir/ $verbosity_level"
|
||||
eval "$cmd2"
|
||||
if [ "$?" != "0" ]; then
|
||||
err=1
|
||||
fi
|
||||
fi
|
||||
done
|
||||
postcmd $err
|
||||
echo
|
||||
fi
|
||||
}
|
||||
|
||||
# Sign and update repos metadata in remote
|
||||
cloud_repo_sign_and_update() {
|
||||
echo "Signing and updating repos metadata in $cloud_upload_ssh_host .."
|
||||
local ssh_args="-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null"
|
||||
local remote_cmd="cd ~/.scripts && ./update-repo-packages-signature.bash $cloud_upload_gpg_passphrase"
|
||||
local cmd1="ssh $ssh_args $cloud_upload_ssh_user@$cloud_upload_ssh_host \"$remote_cmd\" $verbosity_level"
|
||||
eval "$cmd1"
|
||||
postcmd $?
|
||||
echo
|
||||
}
|
||||
|
||||
# Post command func
|
||||
postcmd() {
|
||||
if [ "$1" != "0" ]; then
|
||||
echo ".. failed"
|
||||
exit 1
|
||||
else
|
||||
echo ".. done"
|
||||
fi
|
||||
}
|
||||
|
||||
# Get max number from array
|
||||
max() {
|
||||
local -n arr_nums=$1
|
||||
IFS=$'\n'
|
||||
echo "${arr_nums[*]}" | sort -nr | head -n1
|
||||
}
|
||||
|
||||
# Mkdir and children dirs
|
||||
make_dir() {
|
||||
if [ ! -d "$1" ]; then
|
||||
mkdir -p "$1"
|
||||
fi
|
||||
}
|
||||
|
||||
# Remove all content in dir
|
||||
purge_dir() {
|
||||
for file in "$1"/*; do
|
||||
rm -rf "$file"
|
||||
done
|
||||
}
|
||||
|
||||
# Get latest tag version
|
||||
get_current_repo_tag() {
|
||||
cd "$root_prod" || exit 1
|
||||
tg=$(git rev-list --tags --max-count=1)
|
||||
ds=$(git describe --tags "$tg")
|
||||
echo "$ds" | sed 's/v//'
|
||||
}
|
||||
|
||||
# Get latest commit date
|
||||
get_current_date() {
|
||||
echo $(date +'%Y-%m-%d %H:%M:%S %z')
|
||||
}
|
||||
|
||||
# Get latest commit date version
|
||||
get_latest_commit_date_version() {
|
||||
local theme_version
|
||||
local prod_version
|
||||
local max_prod
|
||||
local highest_version
|
||||
|
||||
theme_version=$(git log -n1 --pretty='format:%cd' --date=format:'%Y%m%d%H%M')
|
||||
cd "$root_prod" || exit 1
|
||||
prod_version=$(git log -n1 --pretty='format:%cd' --date=format:'%Y%m%d%H%M')
|
||||
max_prod=("$theme_version" "$prod_version")
|
||||
highest_version=$(max max_prod)
|
||||
echo "$highest_version"
|
||||
}
|
||||
|
||||
# Pull project repo and theme
|
||||
make_prod_repos() {
|
||||
# Webmin or Usermin
|
||||
if [ ! -d "$1" ]; then
|
||||
local repo="webmin/$prod.git"
|
||||
cmd="git clone https://github.com/$repo $verbosity_level"
|
||||
eval "$cmd"
|
||||
if [ ! -d "webmin" ]; then
|
||||
cmd="git clone --depth 1 https://github.com/webmin/webmin $verbosity_level"
|
||||
eval "$cmd"
|
||||
fi
|
||||
fi
|
||||
# Theme
|
||||
theme="authentic-theme"
|
||||
if [ ! -d "$1/$theme" ]; then
|
||||
cd "$1" || exit 1
|
||||
local repo="webmin/$theme.git"
|
||||
cmd="git clone --depth 1 https://github.com/$repo $verbosity_level"
|
||||
eval "$cmd"
|
||||
fi
|
||||
}
|
||||
|
||||
spinner() {
|
||||
local msg=$1
|
||||
local pid=$!
|
||||
local spin='-\|/'
|
||||
local i=0
|
||||
printf "$msg "
|
||||
while kill -0 $pid 2>/dev/null; do
|
||||
(( i = (i + 1) % 4 ))
|
||||
# No spinner if not an interactive shell
|
||||
if [ -n "$PS1" ]; then
|
||||
printf '%c\b' "${spin:i:1}"
|
||||
fi
|
||||
sleep .1
|
||||
done
|
||||
}
|
||||
29
.github/build/init.sh
vendored
Normal file
29
.github/build/init.sh
vendored
Normal file
@@ -0,0 +1,29 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
# Copyright @iliajie <ilia@webmin.dev>
|
||||
#
|
||||
# Build init
|
||||
#
|
||||
#
|
||||
|
||||
# Set up SSH dev keys
|
||||
if [ -n "$WEBMIN_DEV__SSH_PRV_KEY" ] && [ -n "$WEBMIN_DEV__SSH_PUB_KEY" ]; then
|
||||
# Generate new pair with right permissions
|
||||
cmd="ssh-keygen -t rsa -q -f \"$HOME/.ssh/id_rsa\" -N \"\"$verbosity_level"
|
||||
eval "$cmd"
|
||||
# Import SSH keys from secrets to be able to connect to the remote host
|
||||
echo "$WEBMIN_DEV__SSH_PRV_KEY" > "$HOME/.ssh/id_rsa"
|
||||
echo "$WEBMIN_DEV__SSH_PUB_KEY" > "$HOME/.ssh/id_rsa.pub"
|
||||
|
||||
# Set up SSH production keys
|
||||
elif [ -n "$WEBMIN_PROD__SSH_PRV_KEY" ] && [ -n "$WEBMIN_PROD__SSH_PUB_KEY" ]; then
|
||||
# Generate new pair with right permissions
|
||||
cmd="ssh-keygen -t rsa -q -f \"$HOME/.ssh/id_rsa\" -N \"\"$verbosity_level"
|
||||
eval "$cmd"
|
||||
# Import SSH keys from secrets to be able to connect to the remote host
|
||||
echo "$WEBMIN_PROD__SSH_PRV_KEY" > "$HOME/.ssh/id_rsa"
|
||||
echo "$WEBMIN_PROD__SSH_PUB_KEY" > "$HOME/.ssh/id_rsa.pub"
|
||||
fi
|
||||
|
||||
# Create symlink to Perl
|
||||
ln -fs /usr/bin/perl /usr/local/bin/perl
|
||||
243
.github/build/rpm.sh
vendored
Executable file
243
.github/build/rpm.sh
vendored
Executable file
@@ -0,0 +1,243 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
# Copyright @iliajie <ilia@webmin.dev>
|
||||
#
|
||||
# Automatically builds and updates a repo metadata.
|
||||
# Pulls latest changes from GitHub, detects release
|
||||
# version based on what's available in the repo
|
||||
#
|
||||
# (RHEL)
|
||||
#
|
||||
# Usage:
|
||||
#
|
||||
# # Pull and build production versions
|
||||
# # of both Webmin and Usermin
|
||||
# ./rpm.sh
|
||||
#
|
||||
# # Pull and build devel versions
|
||||
# # of both Webmin and Usermin
|
||||
# ./rpm.sh --devel
|
||||
#
|
||||
# # Pull and build production Webmin version 2.101, forcing
|
||||
# # release version 3, displaying detailed output
|
||||
# ./rpm.sh webmin 2.101 3 --debug
|
||||
#
|
||||
# # Pull and build production Usermin version 2.000,
|
||||
# # automatically setting release version to minimal
|
||||
# ./rpm.sh usermin 2.000
|
||||
#
|
||||
|
||||
# shellcheck disable=SC1091
|
||||
# Source build variables
|
||||
source ./vars.sh || exit 1
|
||||
|
||||
# Source build init
|
||||
source ./init.sh || exit 1
|
||||
|
||||
# Source general build functions
|
||||
source ./funcs.sh || exit 1
|
||||
|
||||
# Build product func
|
||||
build_prod() {
|
||||
|
||||
# Pack with English only in devel builds
|
||||
local english_only=0
|
||||
if [[ "'$*'" == *"--devel"* ]]; then
|
||||
english_only=1
|
||||
fi
|
||||
|
||||
# Always return back to root directory
|
||||
cd "$root" || exit 1
|
||||
|
||||
# Define root
|
||||
local ver=""
|
||||
local prod=$1
|
||||
root_prod="$root/$prod"
|
||||
|
||||
# Print build actual date
|
||||
date=$(get_current_date)
|
||||
|
||||
# Print opening header
|
||||
echo "************************************************************************"
|
||||
echo " build start date: $date "
|
||||
echo " package format: RPM "
|
||||
echo " product: $prod "
|
||||
(make_prod_repos "$root_prod") &
|
||||
spinner " package output version:"
|
||||
|
||||
# Pull main project first to get the latest tag
|
||||
cd "$root_prod" || exit 1
|
||||
cmd="git pull $verbosity_level"
|
||||
eval "$cmd"
|
||||
rs1=$?
|
||||
# Clean and try again
|
||||
if [ "$rs1" != "0" ]; then
|
||||
cmd="git checkout \"*\" $verbosity_level && git clean -f -d $verbosity_level && git pull $verbosity_level"
|
||||
eval "$cmd"
|
||||
rs1=$?
|
||||
fi
|
||||
|
||||
# Pull theme to theme dir
|
||||
cd "authentic-theme" || exit 1
|
||||
cmd="git pull $verbosity_level"
|
||||
eval "$cmd"
|
||||
rs2=$?
|
||||
# Clean and try again
|
||||
if [ "$rs2" != "0" ]; then
|
||||
cmd="git checkout \"*\" $verbosity_level && git clean -f -d $verbosity_level && git pull $verbosity_level"
|
||||
eval "$cmd"
|
||||
rs2=$?
|
||||
fi
|
||||
if [ "$rs1" != "0" ] || [ "$rs2" != "0" ]; then
|
||||
rs=1
|
||||
else
|
||||
rs=0
|
||||
fi
|
||||
|
||||
# Build number
|
||||
date_version=$(get_latest_commit_date_version)
|
||||
|
||||
# Handle other params
|
||||
cd "$root_prod" || exit 1
|
||||
if [[ "'$2'" != *"--"* ]]; then
|
||||
ver=$2
|
||||
fi
|
||||
if [[ "'$3'" != *"--"* ]] && [[ -n "$3" ]]; then
|
||||
rel=$3
|
||||
else
|
||||
rel=1
|
||||
fi
|
||||
if [ -z "$ver" ]; then
|
||||
ver=$(get_current_repo_tag)
|
||||
fi
|
||||
if [[ "'$*'" == *"--devel"* ]]; then
|
||||
ver="$ver.$date_version"
|
||||
# Set actual product version
|
||||
echo "${ver}" >"version"
|
||||
fi
|
||||
|
||||
printf "$ver-$rel\n"
|
||||
echo "************************************************************************"
|
||||
|
||||
echo "Pulling latest changes.."
|
||||
# We need to pull first to get the latest tag,
|
||||
# so here we only report an error if any
|
||||
postcmd $rs
|
||||
echo
|
||||
|
||||
echo "Pre-clean up .."
|
||||
# Make sure directories exist
|
||||
make_dir "$root_prod/newkey/rpm/"
|
||||
make_dir "$root_prod/umodules/"
|
||||
make_dir "$root_prod/minimal/"
|
||||
make_dir "$root_prod/tarballs/"
|
||||
make_dir "$root_build/BUILD/"
|
||||
make_dir "$root_build/BUILDROOT/"
|
||||
make_dir "$root_build/RPMS/"
|
||||
make_dir "$root_build/SOURCES/"
|
||||
make_dir "$root_build/SPECS/"
|
||||
make_dir "$root_build/SRPMS/"
|
||||
make_dir "$root_repos/"
|
||||
|
||||
# Re-create legacy link
|
||||
rm -rf "$root/webadmin"
|
||||
ln -s "$root/webmin" "$root/webadmin"
|
||||
|
||||
# Purge old files
|
||||
purge_dir "$root_prod/newkey/rpm"
|
||||
purge_dir "$root_prod/umodules"
|
||||
purge_dir "$root_prod/minimal"
|
||||
purge_dir "$root_prod/tarballs"
|
||||
purge_dir "$root_build/BUILD"
|
||||
purge_dir "$root_build/BUILDROOT"
|
||||
purge_dir "$root_build/RPMS"
|
||||
purge_dir "$root_build/SOURCES"
|
||||
purge_dir "$root_build/SPECS"
|
||||
purge_dir "$root_build/SRPMS"
|
||||
rm -rf "$root_repos/repodata"
|
||||
if [ "$prod" != "" ]; then
|
||||
# XXXX Need to check for
|
||||
# product name exactly
|
||||
rm -f "$root_repos/$prod-latest"*
|
||||
fi
|
||||
postcmd $?
|
||||
make_dir "$root_build/RPMS/noarch"
|
||||
echo
|
||||
|
||||
# Descend to project dir
|
||||
cd "$root_prod" || exit 1
|
||||
|
||||
if [ "$english_only" = "1" ]; then
|
||||
echo "Cleaning languages .."
|
||||
cmd="./bin/language-manager --mode=clean --yes $verbosity_level_with_input"
|
||||
eval "$cmd"
|
||||
postcmd $?
|
||||
echo
|
||||
else
|
||||
# Force restore build directory
|
||||
if [ ! -f "lang/ja" ]; then
|
||||
echo "Restoring languages .."
|
||||
cmd="git checkout \"*\" $verbosity_level && git clean -f -d $verbosity_level && git pull $verbosity_level"
|
||||
eval "$cmd"
|
||||
postcmd $?
|
||||
echo
|
||||
fi
|
||||
fi
|
||||
echo "Pre-building package .."
|
||||
eval "$cmd"
|
||||
if [ "$rel" = "1" ]; then
|
||||
args="$ver"
|
||||
else
|
||||
args="$ver-$rel"
|
||||
fi
|
||||
|
||||
cmd="./makedist.pl \"$args\" $verbosity_level"
|
||||
eval "$cmd"
|
||||
postcmd $?
|
||||
echo
|
||||
|
||||
echo "Building package .."
|
||||
cmd="./makerpm.pl \"$ver\" \"$rel\" $verbosity_level"
|
||||
eval "$cmd"
|
||||
postcmd $?
|
||||
echo
|
||||
|
||||
cd "$root" || exit 1
|
||||
echo "Preparing built files for upload .."
|
||||
cmd="cp -f $root_prod/tarballs/$prod-$ver*\.tar.gz $root_repos/${prod}-latest.tar.gz $verbosity_level"
|
||||
eval "$cmd"
|
||||
cmd="echo $ver-$rel \($date\) > $root_repos/$prod-latest.version"
|
||||
eval "$cmd"
|
||||
cmd="find $root_rpms -name $prod-$ver-$rel*\.rpm -exec mv '{}' $root_repos \; $verbosity_level"
|
||||
eval "$cmd"
|
||||
cmd="mv -f $root_repos/$prod-$ver-$rel*\.rpm $root_repos/${prod}-latest.rpm $verbosity_level"
|
||||
eval "$cmd"
|
||||
postcmd $?
|
||||
echo
|
||||
|
||||
echo "Post-clean up .."
|
||||
cd "$root_build" || exit 1
|
||||
for dir in *; do
|
||||
cmd="rm -rf \"$dir/*\" $verbosity_level"
|
||||
eval "$cmd"
|
||||
done
|
||||
postcmd $?
|
||||
}
|
||||
|
||||
if [ -n "$1" ] && [[ "'$1'" != *"--"* ]]; then
|
||||
build_prod $@
|
||||
|
||||
cloud_upload_list_upload=("$root_repos/$1*")
|
||||
cloud_upload cloud_upload_list_upload
|
||||
|
||||
cloud_repo_sign_and_update
|
||||
|
||||
else
|
||||
build_prod webmin $@
|
||||
build_prod usermin $@
|
||||
|
||||
cloud_upload_list_upload=("$root_repos/*")
|
||||
cloud_upload cloud_upload_list_upload
|
||||
|
||||
cloud_repo_sign_and_update
|
||||
fi
|
||||
27
.github/build/vars.sh
vendored
Executable file
27
.github/build/vars.sh
vendored
Executable file
@@ -0,0 +1,27 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
# Copyright @iliajie <ilia@webmin.dev>
|
||||
#
|
||||
# Build variables
|
||||
#
|
||||
#
|
||||
|
||||
# Set defaults
|
||||
root="${ENV_BUILD__ROOT:-$HOME}"
|
||||
root_repos="${ENV_BUILD__ROOT_REPOS:-$root/repo}"
|
||||
root_build="${ENV_BUILD__ROOT_BUILD:-$root/rpmbuild}"
|
||||
root_rpms="${ENV_BUILD__ROOT_RPMS:-$root_build/RPMS/noarch}"
|
||||
|
||||
# Cloud upload config
|
||||
cloud_upload_ssh_user="${ENV_BUILD__CLOUD_UPLOAD_SSH_USER:-webmin.dev}"
|
||||
cloud_upload_ssh_host="${ENV_BUILD__CLOUD_UPLOAD_SSH_HOST:-webmin.dev}"
|
||||
cloud_upload_ssh_dir="${ENV_BUILD__CLOUD_UPLOAD_SSH_DIR:-~/domains/builds.webmin.dev/public_html}"
|
||||
cloud_upload_gpg_passphrase="${WEBMIN_DEV__GPG_PH}"
|
||||
|
||||
# Define verbosity level
|
||||
verbosity_level=' >/dev/null 2>&1 </dev/null'
|
||||
verbosity_level_to_file='2> /dev/null'
|
||||
verbosity_level_with_input=' >/dev/null 2>&1'
|
||||
if [[ "'$*'" == *"--debug"* ]]; then
|
||||
unset verbosity_level verbosity_level_to_file verbosity_level_with_input
|
||||
fi
|
||||
30
.github/workflows/webmin.dev-deploy-webmin-package.yml
vendored
Normal file
30
.github/workflows/webmin.dev-deploy-webmin-package.yml
vendored
Normal file
@@ -0,0 +1,30 @@
|
||||
name: "webmin.dev: Deploy Webmin package"
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-22.04
|
||||
if: contains(github.event.head_commit.message, '[build]')
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: awalsh128/cache-apt-pkgs-action@latest
|
||||
with:
|
||||
packages: git tar gzip openssl curl openssh-client rpm perl libjson-pp-perl libdigest-sha-perl liblist-moreutils-perl libencode-detect-perl
|
||||
version: 1.0
|
||||
- uses: szenius/set-timezone@v1.2
|
||||
with:
|
||||
timezoneLinux: "Europe/Nicosia"
|
||||
- name: Build and upload packages
|
||||
env:
|
||||
WEBMIN_DEV__SSH_PRV_KEY: ${{ secrets.WEBMIN_DEV__SSH_PRV_KEY }}
|
||||
WEBMIN_DEV__SSH_PUB_KEY: ${{ secrets.WEBMIN_DEV__SSH_PUB_KEY }}
|
||||
WEBMIN_DEV__GPG_PH: ${{ secrets.WEBMIN_DEV__GPG_PH }}
|
||||
ENV_BUILD__CLOUD_UPLOAD_SSH_HOST: ${{ secrets.WEBMIN_DEV__IP_ADDR }}
|
||||
working-directory: ./.github/build
|
||||
run: |-
|
||||
./deb.sh webmin --devel
|
||||
./rpm.sh webmin --devel
|
||||
1
.gitignore
vendored
1
.gitignore
vendored
@@ -21,3 +21,4 @@ core
|
||||
tarballs/
|
||||
minimal/
|
||||
.DS_Store
|
||||
.vscode/settings.json
|
||||
|
||||
74
CHANGELOG.md
74
CHANGELOG.md
@@ -1,5 +1,79 @@
|
||||
## Changelog
|
||||
|
||||
#### 2.111 (April 16, 2024)
|
||||
* Fix EOL detection for unreleased Linux distributions
|
||||
|
||||
#### 2.110 (April 15, 2024)
|
||||
* Add an API to check if the system is running or approaching its end of life (EOL)
|
||||
* Add support for `systemd-timesyncd` and `chronyd` to the System Time module
|
||||
* Add Ubuntu 24.04 support
|
||||
* Add Squid 6 support
|
||||
* Add latest Devuan Linux support
|
||||
* Add an option to request Let's Encrypt certificates using `certbot` in standalone mode [forum.virtualmin.com/t/123696](http://forum.virtualmin.com/t/webmin-ssl-certificate-with-lets-encrypt-directly-obtain-certificate-without-requiring-apache-or-nginx/123696/)
|
||||
* Add IMAP and SMTP monitors in the System and Server Status module
|
||||
* Fix TLS connection to SMTP servers not working in some cases
|
||||
* Fix ProFTPd module to use actual UI library
|
||||
* Fix to using the `qrencode` command to generate QR codes locally instead of the remote Google Chart API
|
||||
* Fix a number of various other issues
|
||||
|
||||
#### 2.105 (November 09, 2023)
|
||||
* Fix param to read only headers [sourceforge.net/usermin-bugs#501](https://sourceforge.net/p/webadmin/usermin-bugs/501/)
|
||||
* Fix not to set `reuse` flag on initial Let's Encrypt request
|
||||
* Fix to correctly escape mail file names upon deletion
|
||||
* Fix index field in cache file in BIND DNS module
|
||||
|
||||
#### 2.104 (October 16, 2023)
|
||||
* Add support for numbered and bulleted lists in email HTML editor
|
||||
* Add ability to display active file locks in `Webmin Configuration ⇾ File Locking` page
|
||||
* Fix hostname detection on `systemd` systems to avoid excessive logging [#2020](https://github.com/webmin/webmin/issues/2020)
|
||||
* Fix Webmin version display [#2023](https://github.com/webmin/webmin/issues/2023)
|
||||
* Fix to check if UI library is loaded before using it [#2021](https://github.com/webmin/webmin/issues/2021)
|
||||
* Fix the absent init script for legacy systems after the initial installation
|
||||
* Update the Authentic theme to the latest version with various fixes and improvements
|
||||
|
||||
#### 2.103 (October 08, 2023)
|
||||
* Add support for hostname detection using `hostnamectl` command
|
||||
* Add support for other ACME services
|
||||
* Add ability to hide dotfiles in File Manager [#1578](https://github.com/webmin/authentic-theme/issues/1578)
|
||||
* Add `xz`, `zstd` and plain `tar` support when creating archives in File Manager [#2009](https://github.com/webmin/webmin/issues/2009)
|
||||
* Add support for English (United States) (military time) locale
|
||||
* Fix to correctly switch key hash type with ACME services
|
||||
* Fix bug when `backend` wasn't saved correctly in Fail2Ban module [#1992](https://github.com/webmin/webmin/issues/1992)
|
||||
* Fix large files download in Upload and Download module
|
||||
* Fix Google Authentication on RHEL systems derivatives
|
||||
* Update the Authentic theme to the latest version with various fixes and improvements
|
||||
|
||||
#### 2.102 (August 23, 2023)
|
||||
* Add support for Amazon Linux 2023
|
||||
* Fix a bug in Network Configuration module when parsing network size [sourceforge.net/discussion#55377]( https://sourceforge.net/p/webadmin/discussion/55377/thread/78e5aa05f3)
|
||||
* Fix Netplan related bugs in Network Configuration module
|
||||
* Fix Terminal focus bug
|
||||
* Fix to correctly compare Webmin semantic versions
|
||||
* Fix to suppress output from `monitor.pl` command [#1984](https://github.com/webmin/webmin/issues/1984)
|
||||
|
||||
#### 2.101 (August 5, 2023)
|
||||
* Add support for reading gzipped email messages
|
||||
* Add `error_stderr` API
|
||||
* Fix to show correct locale for sudo-capable users [webmin/authentic-theme#1663](https://github.com/webmin/authentic-theme/issues/1663)
|
||||
* Fix new signing key import on Debian and derivatives
|
||||
* Fix to check if password hash format is valid for `yescrypt` and `SHA512`
|
||||
* Fix various XSS related issues
|
||||
* Fix updating Webmin from repository if a package is available
|
||||
|
||||
#### 2.100 (July 22, 2023)
|
||||
* Add support for showing defaults for options in PHP Configuration module
|
||||
* Add significant improvements to email display, reply and compose
|
||||
* Add support for WebGL in the Terminal module
|
||||
* Add screen reader support in Terminal module
|
||||
* Add full support for NetworkManager in Network Configuration module
|
||||
* Fix correctly displaying bridges with Netplan in Network Configuration module
|
||||
* Fix displaying active network interfaces in Network Configuration module
|
||||
* Fix to consider current drive temperature in `smartctl` output #1881
|
||||
* Fix to properly stop Usermin https://github.com/webmin/usermin/issues/89
|
||||
* Fix no to add hashed password to the old password list if it's already in there https://github.com/virtualmin/virtualmin-pro/issues/35
|
||||
* Fix displaying placeholder on input to reflect strftime-style format
|
||||
* Update the Authentic theme to the latest version adding new vertical column layout
|
||||
|
||||
#### 2.021 (March 19, 2023)
|
||||
* Add ability to set locale in Webmin Users module for consistency
|
||||
* Fix an error when `make_date` is called on undefined value #1860
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -5,7 +5,7 @@ mime_types=/etc/apache2/mime.types
|
||||
httpd_path=/usr/sbin/httpd
|
||||
start_cmd=systemctl start apache2
|
||||
stop_cmd=systemctl stop apache2
|
||||
apply_cmd=systemctl restart apache2
|
||||
apply_cmd=systemctl reload apache2
|
||||
show_order=0
|
||||
max_servers=100
|
||||
test_config=1
|
||||
|
||||
@@ -779,11 +779,23 @@ local(@po, $po, @rv);
|
||||
if ($in{'Options_def'}) { return ( [ ] ); }
|
||||
@po = ("ExecCGI", "FollowSymLinks", "Includes", "IncludesNOEXEC",
|
||||
"Indexes", "MultiViews", "SymLinksIfOwnerMatch");
|
||||
my $abscount = 0;
|
||||
my $pluscount = 0;
|
||||
foreach $po (@po) {
|
||||
if ($in{$po} == 1) { push(@rv, $po); }
|
||||
elsif ($in{$po} == 2) { push(@rv, "+$po"); }
|
||||
elsif ($in{$po} == 3) { push(@rv, "-$po"); }
|
||||
if ($in{$po} == 1) {
|
||||
push(@rv, $po);
|
||||
$abscount++;
|
||||
}
|
||||
elsif ($in{$po} == 2) {
|
||||
push(@rv, "+$po");
|
||||
$pluscount++;
|
||||
}
|
||||
elsif ($in{$po} == 3) {
|
||||
push(@rv, "-$po");
|
||||
$pluscount++;
|
||||
}
|
||||
}
|
||||
$abscount && $pluscount && &error($text{'core_eoptionsboth'});
|
||||
return @rv ? ( [ join(' ', @rv) ] ) : ( [ "None" ] );
|
||||
}
|
||||
|
||||
|
||||
@@ -501,6 +501,7 @@ core_actmod=Aktiewe modules
|
||||
core_option=Opsie
|
||||
core_setdir=Stel vir gids in
|
||||
core_merge=Smelt met ouer
|
||||
core_eoptionsboth=Gidsopsies : Aktiewe opsies moet almal óf gestel vir gids óf saamgevoeg met ouer wees, maar nie albei nie
|
||||
core_users=Slegs hierdie gebruikers
|
||||
core_groups=Slegs hierdie groepe
|
||||
core_allusers=Alle geldige gebruikers
|
||||
|
||||
@@ -500,6 +500,7 @@ core_actmod=وحدات نشطة
|
||||
core_option=اختيار
|
||||
core_setdir=تعيين للدليل
|
||||
core_merge=دمج مع الوالد
|
||||
core_eoptionsboth=خيارات الدليل: يجب أن تكون جميع الخيارات النشطة إما Set For Directory أو Merged With Parent، ولكن ليس كليهما
|
||||
core_users=فقط هؤلاء المستخدمين
|
||||
core_groups=فقط هذه المجموعات
|
||||
core_allusers=جميع المستخدمين صالحة
|
||||
|
||||
@@ -501,6 +501,7 @@ core_actmod=Актыўныя модулі
|
||||
core_option=Варыянт
|
||||
core_setdir=Набор для каталога
|
||||
core_merge=Зліццё з бацькам
|
||||
core_eoptionsboth=Параметры каталога : усе актыўныя параметры павінны быць усталяваны для каталога або аб'яднаны з бацькоўскім, але не абодва
|
||||
core_users=Толькі гэтыя карыстальнікі
|
||||
core_groups=Толькі гэтыя групы
|
||||
core_allusers=Усе сапраўдныя карыстальнікі
|
||||
|
||||
@@ -9,3 +9,4 @@ core_protocols_http/2=HTTP/2
|
||||
core_protocols_h2=HTTP/2 криптиран
|
||||
core_protocols_h2c=HTTP/2 нешифрован
|
||||
core_eprotcols=Няма избрани протоколи!
|
||||
core_eoptionsboth=Опции за директория: Всички активни опции трябва да са или Задани за директория, или Обединени с родител, но не и двете
|
||||
|
||||
@@ -10,3 +10,4 @@ core_protocols_http/2=HTTP/2
|
||||
core_protocols_h2=HTTP/2 xifrat
|
||||
core_protocols_h2c=HTTP/2 sense xifrar
|
||||
core_eprotcols=No s'ha seleccionat cap protocol!
|
||||
core_eoptionsboth=Opcions de directori: les opcions actives han d'estar totes configurades per al directori o combinades amb el pare, però no totes dues
|
||||
|
||||
@@ -27,6 +27,7 @@ core_protocols_h2=HTTP/2 šifrováno
|
||||
core_protocols_h2c=HTTP/2 nešifrované
|
||||
core_eprotcols=Nejsou vybrány žádné protokoly!
|
||||
core_minor=Pouze menší verze
|
||||
core_eoptionsboth=Možnosti adresáře : Všechny aktivní možnosti musí být buď Set For Directory, nebo Merged With Parent, ale ne obojí
|
||||
|
||||
mod_alias_alias2=alias dokumentu
|
||||
mod_alias_regexp2=alias dokumentu regexp
|
||||
|
||||
@@ -271,6 +271,7 @@ core_optfile=Optagelsesfil pr. Katalog
|
||||
core_ecandoc=Du har ikke tilladelse til at bruge dokumentroten '$1'
|
||||
core_realm=Autentificeringsrealmets navn
|
||||
core_minor=Kun mindre version
|
||||
core_eoptionsboth=Indstillinger for bibliotek : Alle aktive indstillinger skal være enten indstillet til bibliotek eller flettet med overordnet, men ikke begge
|
||||
|
||||
mod_negotiation_cache=Cache-indholdsforhandlede dokumenter?
|
||||
mod_negotiation_pri=Sprogprioritet for flere visninger
|
||||
|
||||
@@ -7,3 +7,4 @@ core_protocols_http/2=HTTP/2
|
||||
core_protocols_h2=HTTP/2 verschlüsselt
|
||||
core_protocols_h2c=HTTP/2 unverschlüsselt
|
||||
core_eprotcols=Keine Protokolle ausgewählt!
|
||||
core_eoptionsboth=Verzeichnisoptionen: Alle aktiven Optionen müssen entweder „Für Verzeichnis festlegen“ oder „Mit übergeordnetem Verzeichnis zusammengeführt“ sein, jedoch nicht beides
|
||||
|
||||
@@ -9,3 +9,4 @@ core_protocols_http/2=HTTP/2
|
||||
core_protocols_h2=HTTP/2 κρυπτογραφημένο
|
||||
core_protocols_h2c=HTTP/2 μη κρυπτογραφημένο
|
||||
core_eprotcols=Δεν επιλέχθηκαν πρωτόκολλα!
|
||||
core_eoptionsboth=Επιλογές καταλόγου : Οι ενεργές επιλογές πρέπει να είναι όλες είτε ορισμένες για κατάλογο είτε συγχωνευμένες με γονέα, αλλά όχι και οι δύο
|
||||
|
||||
@@ -501,6 +501,7 @@ core_actmod=Active modules
|
||||
core_option=Option
|
||||
core_setdir=Set for directory
|
||||
core_merge=Merge with parent
|
||||
core_eoptionsboth=Directory options : Active options must be all either Set For Directory or Merged With Parent, but not both
|
||||
core_users=Only these users
|
||||
core_groups=Only these groups
|
||||
core_allusers=All valid users
|
||||
@@ -637,7 +638,6 @@ mod_proxy_preserve=Preserve original Host: header
|
||||
mod_proxy_timeout=Proxy request timeout in seconds
|
||||
mod_proxy_etimeout=Proxy request timeout must be a number of seconds
|
||||
mod_proxy_via=Set Via: headers
|
||||
mod_proxy_preserve=Preserve original HTTP host
|
||||
mod_proxy_not=None
|
||||
|
||||
mod_log_agent_default=Default
|
||||
|
||||
@@ -50,6 +50,7 @@ core_protocols_h2c=HTTP/2 sin cifrar
|
||||
core_eprotcols=¡No se seleccionaron protocolos!
|
||||
core_ecandoc=No tiene permiso para usar la raíz del documento '$1'
|
||||
core_minor=Solo versión menor
|
||||
core_eoptionsboth=Opciones de directorio: las opciones activas deben estar todas configuradas para directorio o fusionadas con padre, pero no ambas
|
||||
core_fileowner=Propietario de archivo coincide
|
||||
core_filegroup=Partidos del propietario del grupo
|
||||
|
||||
|
||||
@@ -501,6 +501,7 @@ core_actmod=Modulu aktiboak
|
||||
core_option=aukera
|
||||
core_setdir=Direktorioa ezarri
|
||||
core_merge=Gurasoekin elkartu
|
||||
core_eoptionsboth=Direktorio-aukerak : Aukera aktiboak guztiak direktoriorako ezarrita edo gurasoekin bateratuta egon behar dira, baina ez biak
|
||||
core_users=Erabiltzaile horiek bakarrik
|
||||
core_groups=Talde horiek bakarrik
|
||||
core_allusers=Erabiltzaile baliozko guztiak
|
||||
|
||||
@@ -54,6 +54,7 @@ core_ecandoc=You are not allowed to use the document root '$1'
|
||||
core_minor=فقط نسخه جزئی
|
||||
core_uid=شناسه کاربری
|
||||
core_euid='$1' is not a valid group ID
|
||||
core_eoptionsboth=گزینه های دایرکتوری: گزینه های فعال باید همه یا Set For Directory یا Merged with Parent باشند، اما نه هر دو
|
||||
core_fileowner=مالک پرونده مطابقت دارد
|
||||
core_filegroup=مالک گروه مطابقت دارد
|
||||
|
||||
|
||||
@@ -501,6 +501,7 @@ core_actmod=Aktiiviset moduulit
|
||||
core_option=Vaihtoehto
|
||||
core_setdir=Asetettu hakemistoon
|
||||
core_merge=Yhdistä vanhemman kanssa
|
||||
core_eoptionsboth=Hakemistovalinnat : Kaikkien aktiivisten asetusten on oltava joko asetettu hakemistoon tai yhdistetty ylätason kanssa, mutta ei molempia
|
||||
core_users=Vain nämä käyttäjät
|
||||
core_groups=Vain nämä ryhmät
|
||||
core_allusers=Kaikki kelvolliset käyttäjät
|
||||
|
||||
@@ -5,3 +5,4 @@ core_protocols_http/2=HTTP/2
|
||||
core_protocols_h2=HTTP/2 crypté
|
||||
core_protocols_h2c=HTTP/2 non crypté
|
||||
core_eprotcols=Aucun protocole sélectionné !
|
||||
core_eoptionsboth=Options du répertoire : les options actives doivent toutes être définies pour le répertoire ou fusionnées avec le parent, mais pas les deux
|
||||
|
||||
@@ -501,6 +501,7 @@ core_actmod=מודולים פעילים
|
||||
core_option=אפשרות
|
||||
core_setdir=הגדר לספרייה
|
||||
core_merge=התמזגו עם ההורה
|
||||
core_eoptionsboth=אפשרויות ספרייה : האפשרויות הפעילות חייבות להיות כולן מוגדרות למדריך או התמזגו עם אב, אך לא שתיהן
|
||||
core_users=רק משתמשים אלה
|
||||
core_groups=רק הקבוצות האלה
|
||||
core_allusers=כל המשתמשים התקפים
|
||||
|
||||
@@ -25,6 +25,7 @@ core_protocols_h2=HTTP/2 šifrirano
|
||||
core_protocols_h2c=HTTP/2 nešifriran
|
||||
core_eprotcols=Nema odabranih protokola!
|
||||
core_minor=Samo manja verzija
|
||||
core_eoptionsboth=Opcije direktorija : sve aktivne opcije moraju biti postavljene za imenik ili spojene s nadređenim, ali ne oboje
|
||||
|
||||
mod_proxy_seconds=sekundi
|
||||
|
||||
|
||||
@@ -49,6 +49,7 @@ core_protocols_h2c=HTTP/2 titkosítatlan
|
||||
core_eprotcols=Nincsenek kiválasztva protokollok!
|
||||
core_ecandoc=Nem használhatja a '$1' gyökér dokumentumot
|
||||
core_minor=Kisebb verzió
|
||||
core_eoptionsboth=Címtárbeállítások : Az aktív opciók mindegyike címtárhoz beállítva vagy Összevonva a szülővel lehet, de nem mindkettő
|
||||
core_fileowner=A fájltulajdonos megegyezik
|
||||
core_filegroup=Csoportos tulajdonos mérkőzések
|
||||
|
||||
|
||||
@@ -63,6 +63,7 @@ core_eprotcols=Nessun protocollo selezionato!
|
||||
core_ecandoc=Non puoi utilizzare la radice del documento '$1'
|
||||
core_minor=Solo versione secondaria
|
||||
core_eerrordir=La directory per il file di registro degli errori non esiste
|
||||
core_eoptionsboth=Opzioni directory: le opzioni attive devono essere tutte impostate per directory o unite con padre, ma non entrambe
|
||||
core_fileowner=Corrispondenze del proprietario del file
|
||||
core_filegroup=Partite del proprietario del gruppo
|
||||
|
||||
|
||||
@@ -25,6 +25,7 @@ core_protocols_h2=HTTP/2暗号化
|
||||
core_protocols_h2c=HTTP/2暗号化されていない
|
||||
core_eprotcols=プロトコルが選択されていません!
|
||||
core_minor=マイナーバージョンのみ
|
||||
core_eoptionsboth=ディレクトリ オプション: アクティブなオプションはすべて、「ディレクトリに設定」または「親とマージ」のいずれかである必要がありますが、両方にすることはできません。
|
||||
|
||||
mod_proxy_seconds=秒
|
||||
|
||||
|
||||
@@ -101,6 +101,7 @@ core_minor=부 버전 만
|
||||
core_maxxml=최대 XML 요청 본문 크기
|
||||
core_exml=잘못된 XML 요청 본문 크기
|
||||
core_eerrordir=오류 로그 파일의 디렉토리가 존재하지 않습니다
|
||||
core_eoptionsboth=디렉터리 옵션: 활성 옵션은 모두 디렉터리에 대해 설정 또는 상위 항목과 병합이어야 하지만 둘 다일 수는 없습니다
|
||||
core_fileowner=파일 소유자 일치
|
||||
core_filegroup=그룹 소유자 일치
|
||||
core_major=메이저 버전 만
|
||||
|
||||
@@ -501,6 +501,7 @@ core_actmod=Aktyvūs moduliai
|
||||
core_option=Pasirinkimas
|
||||
core_setdir=Nustatykite katalogą
|
||||
core_merge=Sujungti su tėvu
|
||||
core_eoptionsboth=Katalogo parinktys : visos aktyvios parinktys turi būti nustatytos kaip katalogas arba sujungtos su pirminiu, bet ne abi
|
||||
core_users=Tik šie vartotojai
|
||||
core_groups=Tik šios grupės
|
||||
core_allusers=Visi tinkami vartotojai
|
||||
|
||||
@@ -501,6 +501,7 @@ core_actmod=Aktīvie moduļi
|
||||
core_option=Iespēja
|
||||
core_setdir=Iestatīts direktorijam
|
||||
core_merge=Apvienot ar vecāku
|
||||
core_eoptionsboth=Direktorija opcijas : visām aktīvajām opcijām ir jābūt iestatītām direktorijam vai sapludinātām ar vecāku, bet ne abām
|
||||
core_users=Tikai šie lietotāji
|
||||
core_groups=Tikai šīs grupas
|
||||
core_allusers=Visi derīgi lietotāji
|
||||
|
||||
@@ -49,6 +49,7 @@ core_protocols_http/2=HTTP/2
|
||||
core_protocols_h2=HTTP/2 disulitkan
|
||||
core_protocols_h2c=HTTP/2 tidak disulitkan
|
||||
core_eprotcols=Tiada protokol dipilih!
|
||||
core_eoptionsboth=Pilihan direktori : Pilihan aktif mestilah semua sama ada Tetapkan Untuk Direktori atau Digabungkan Dengan Induk, tetapi bukan kedua-duanya
|
||||
|
||||
mod_negotiation_cache=Dokumen-dokumen yang dirundingkan kandungan cache?
|
||||
mod_negotiation_pri=Keutamaan bahasa untuk pelbagai tontonan
|
||||
|
||||
@@ -501,6 +501,7 @@ core_actmod=Moduli attivi
|
||||
core_option=Għażla
|
||||
core_setdir=Issettjat għad-direttorju
|
||||
core_merge=Tingħaqad mal-ġenitur
|
||||
core_eoptionsboth=Għażliet tad-Direttorju : L-għażliet attivi jridu jkunu kollha jew Issettjati Għal Direttorju jew Magħquda Mal-Ġenitur, iżda mhux it-tnejn
|
||||
core_users=Dawn l-utenti biss
|
||||
core_groups=Dawn il-gruppi biss
|
||||
core_allusers=L-utenti validi kollha
|
||||
|
||||
@@ -14,3 +14,4 @@ core_protocols_http/2=HTTP/2
|
||||
core_protocols_h2=HTTP/2 versleuteld
|
||||
core_protocols_h2c=HTTP/2 niet-versleuteld
|
||||
core_eprotcols=Geen protocollen geselecteerd!
|
||||
core_eoptionsboth=Directory-opties: Actieve opties moeten allemaal Set For Directory of Merged With Parent zijn, maar niet beide
|
||||
|
||||
@@ -5,3 +5,4 @@ core_protocols_http/2=HTTP/2
|
||||
core_protocols_h2=HTTP/2 kryptert
|
||||
core_protocols_h2c=HTTP/2 ukryptert
|
||||
core_eprotcols=Ingen protokoller valgt!
|
||||
core_eoptionsboth=Katalogalternativer : Alle aktive alternativer må enten være satt til katalog eller slått sammen med overordnet, men ikke begge
|
||||
|
||||
@@ -9,3 +9,4 @@ core_protocols_http/2=HTTP/2
|
||||
core_protocols_h2=Szyfrowany HTTP/2
|
||||
core_protocols_h2c=HTTP/2 nieszyfrowany
|
||||
core_eprotcols=Nie wybrano protokołów!
|
||||
core_eoptionsboth=Opcje katalogu: wszystkie aktywne opcje muszą być ustawione na katalog lub scalone z nadrzędnym, ale nie na jedno i drugie
|
||||
|
||||
@@ -290,6 +290,7 @@ core_actmod=Módulos ativos
|
||||
core_option=Opção
|
||||
core_setdir=Definido para o diretório
|
||||
core_merge=Mesclar com o pai
|
||||
core_eoptionsboth=Opções de diretório: as opções ativas devem ser todas definidas para o diretório ou mescladas com o pai, mas não ambas
|
||||
core_users=Somente esses usuários
|
||||
core_groups=Somente esses grupos
|
||||
core_allusers=Todos os usuários válidos
|
||||
|
||||
@@ -23,6 +23,7 @@ core_protocols_h2=HTTP/2 criptografado
|
||||
core_protocols_h2c=HTTP/2 não criptografado
|
||||
core_eprotcols=Nenhum protocolo selecionado!
|
||||
core_minor=Apenas versão secundária
|
||||
core_eoptionsboth=Opções de diretório: as opções ativas devem ser todas definidas para o diretório ou mescladas com o pai, mas não ambas
|
||||
|
||||
mod_proxy_seconds=segundos
|
||||
|
||||
|
||||
@@ -501,6 +501,7 @@ core_actmod=Module active
|
||||
core_option=Opțiune
|
||||
core_setdir=Set pentru director
|
||||
core_merge=Unire cu părintele
|
||||
core_eoptionsboth=Opțiuni de director : opțiunile active trebuie să fie toate fie Set for Directory sau Merged With Parent, dar nu ambele
|
||||
core_users=Numai acești utilizatori
|
||||
core_groups=Numai aceste grupuri
|
||||
core_allusers=Toți utilizatorii valabili
|
||||
|
||||
@@ -27,6 +27,7 @@ core_protocols_h2=HTTP/2 зашифрованный
|
||||
core_protocols_h2c=HTTP/2 незашифрованный
|
||||
core_eprotcols=Протоколы не выбраны!
|
||||
core_ecandoc=Вы не можете использовать корневой каталог документа «$1»
|
||||
core_eoptionsboth=Параметры каталога: все активные параметры должны быть либо «Установлено для каталога», либо «Объединено с родительским», но не оба одновременно
|
||||
core_fileowner=Владелец файла соответствует
|
||||
core_filegroup=Совпадения владельца группы
|
||||
|
||||
|
||||
@@ -501,6 +501,7 @@ core_actmod=Aktívne moduly
|
||||
core_option=voľba
|
||||
core_setdir=Nastaviť pre adresár
|
||||
core_merge=Zlúčiť s rodičom
|
||||
core_eoptionsboth=Možnosti adresára: Všetky aktívne možnosti musia byť buď Nastaviť pre adresár alebo Zlúčiť s rodičom, ale nie oboje
|
||||
core_users=Iba títo používatelia
|
||||
core_groups=Iba tieto skupiny
|
||||
core_allusers=Všetci platní používatelia
|
||||
|
||||
@@ -501,6 +501,7 @@ core_actmod=Aktivni moduli
|
||||
core_option=Možnost
|
||||
core_setdir=Nastavite za imenik
|
||||
core_merge=Spojite se s staršem
|
||||
core_eoptionsboth=Možnosti imenika : vse aktivne možnosti morajo biti Nastavljene za imenik ali Združene z nadrejenim, ne pa oboje
|
||||
core_users=Samo ti uporabniki
|
||||
core_groups=Samo te skupine
|
||||
core_allusers=Vsi veljavni uporabniki
|
||||
|
||||
@@ -23,6 +23,7 @@ core_protocols_h2=HTTP/2 krypterad
|
||||
core_protocols_h2c=HTTP/2 okrypterad
|
||||
core_eprotcols=Inga protokoll har valts!
|
||||
core_minor=Endast mindre version
|
||||
core_eoptionsboth=Katalogalternativ : Alla aktiva alternativ måste antingen vara inställda för katalog eller sammanfogade med överordnade, men inte båda
|
||||
|
||||
mod_proxy_seconds=sekunder
|
||||
|
||||
|
||||
@@ -501,6 +501,7 @@ core_actmod=โมดูลที่ใช้งานอยู่
|
||||
core_option=ตัวเลือก
|
||||
core_setdir=ตั้งไว้สำหรับไดเรกทอรี
|
||||
core_merge=รวมกับผู้ปกครอง
|
||||
core_eoptionsboth=ตัวเลือกไดเร็กทอรี : ตัวเลือกที่ใช้งานอยู่ทั้งหมดจะต้องตั้งค่าสำหรับไดเร็กทอรีหรือผสานกับพาเรนต์ แต่ไม่ใช่ทั้งสองอย่าง
|
||||
core_users=เฉพาะผู้ใช้เหล่านี้
|
||||
core_groups=เฉพาะกลุ่มเหล่านี้
|
||||
core_allusers=ผู้ใช้ที่ถูกต้องทั้งหมด
|
||||
|
||||
@@ -178,6 +178,7 @@ core_exml=Geçersiz XML isteği gövde boyutu
|
||||
core_sroot=Sunucu kökü
|
||||
core_eerrordir=Hata günlüğü dosyası dizini mevcut değil
|
||||
core_merge=Üst öğe ile birleştir
|
||||
core_eoptionsboth=Dizin seçenekleri : Etkin seçeneklerin tümü Dizin İçin Ayarla veya Üst Öğeyle Birleştirilmiş olmalıdır, ancak her ikisi birden olmamalıdır
|
||||
core_fileowner=Dosya sahibi eşleşmeleri
|
||||
core_filegroup=Grup sahibi eşleşmeleri
|
||||
core_product=Sadece ürün
|
||||
|
||||
@@ -73,6 +73,7 @@ core_eprotcols=Протоколи не вибрано!
|
||||
core_ecandoc=Вам не дозволяється використовувати корінь документа "$1"
|
||||
core_minor=Тільки незначна версія
|
||||
core_eerrordir=Каталог файлу журналу помилок не існує
|
||||
core_eoptionsboth=Параметри каталогу: усі активні параметри мають бути або встановлені для каталогу, або об’єднані з батьківським, але не обидва
|
||||
core_fileowner=Власник файлу відповідає
|
||||
core_filegroup=Матчі власників групи
|
||||
core_major=Тільки основна версія
|
||||
|
||||
@@ -501,6 +501,7 @@ core_actmod=فعال ماڈیولز
|
||||
core_option=آپشن
|
||||
core_setdir=ڈائریکٹری کے لئے مقرر کریں
|
||||
core_merge=والدین کے ساتھ ضم کریں
|
||||
core_eoptionsboth=ڈائرکٹری کے اختیارات: فعال اختیارات تمام یا تو ڈائرکٹری کے لیے سیٹ ہونے چاہئیں یا والدین کے ساتھ ضم ہونے چاہئیں، لیکن دونوں نہیں۔
|
||||
core_users=صرف یہ صارفین
|
||||
core_groups=صرف یہ گروہ
|
||||
core_allusers=تمام درست استعمال کنندہ
|
||||
|
||||
@@ -501,6 +501,7 @@ core_actmod=Các mô-đun hoạt động
|
||||
core_option=Lựa chọn
|
||||
core_setdir=Đặt cho thư mục
|
||||
core_merge=Hợp nhất với cha mẹ
|
||||
core_eoptionsboth=Tùy chọn thư mục : Tất cả các tùy chọn hoạt động phải là Set For Directory hoặc Merged With Parent, nhưng không được cả hai
|
||||
core_users=Chỉ những người dùng này
|
||||
core_groups=Chỉ những nhóm này
|
||||
core_allusers=Tất cả người dùng hợp lệ
|
||||
|
||||
@@ -68,6 +68,7 @@ core_eprotcols=未选择任何协议!
|
||||
core_ecandoc=不允许使用文档根目录'$1'
|
||||
core_minor=仅次要版本
|
||||
core_eerrordir=错误日志文件目录不存在
|
||||
core_eoptionsboth=目录选项:活动选项必须全部为“为目录设置”或“与父级合并”,但不能同时为两者
|
||||
core_fileowner=文件所有者匹配
|
||||
core_filegroup=群组拥有者比赛
|
||||
|
||||
|
||||
@@ -56,6 +56,7 @@ core_protocols_h2c=HTTP/2 未加密
|
||||
core_eprotcols=未選擇任何協議!
|
||||
core_ecandoc=不允許使用文檔根目錄'$1'
|
||||
core_minor=僅次要版本
|
||||
core_eoptionsboth=目錄選項:活動選項必須全部為“設定目錄”或“與父級合併”,但不能同時為兩者
|
||||
core_fileowner=文件所有者匹配
|
||||
core_filegroup=群組擁有者比賽
|
||||
|
||||
|
||||
@@ -99,9 +99,7 @@ print &ui_table_row($text{'index_time'},
|
||||
&ui_textbox("hour", undef, 2).":".&ui_textbox("min", "00", 2));
|
||||
|
||||
# Current date and time
|
||||
my ($date, $time) = split(/\s+/, &make_date(time()));
|
||||
print &ui_table_row($text{'index_cdate'}, $date);
|
||||
print &ui_table_row($text{'index_ctime'}, $time);
|
||||
print &ui_table_row($text{'index_cdatetime'}, &make_date(time()));
|
||||
|
||||
# Run in directory
|
||||
print &ui_table_row($text{'index_dir'},
|
||||
|
||||
@@ -10,8 +10,7 @@ index_exec=Run at
|
||||
index_created=Created on
|
||||
index_dir=Run in directory
|
||||
index_return=commands list
|
||||
index_cdate=Current date
|
||||
index_ctime=Current time
|
||||
index_cdatetime=Current date and time
|
||||
index_allow=Allowed scheduled command users
|
||||
index_amode=Users to allow
|
||||
index_amode0=All Unix users
|
||||
|
||||
@@ -74,7 +74,7 @@ backup_eserver2=Missing or invalid SSH server
|
||||
backup_epath=Missing or invalid absolute path on FTP server
|
||||
backup_epath2=Missing or invalid absolute path on SSH server
|
||||
backup_euser=Invalid characters in FTP server login
|
||||
backup_epass=Invalid characters in FTP server password
|
||||
backup_epass=Invalid characters in FTP server password - @, : and / cannot be used
|
||||
backup_eport=Missing or invalid FTP server port
|
||||
backup_esport=Missing or invalid SSH server port
|
||||
backup_emods=No modules selected
|
||||
|
||||
@@ -1,79 +1,79 @@
|
||||
index_echeck=$1 Forse non è installato oppure la <a href='$2'>configurazione del modulo</a> non è corretta.
|
||||
index_edb=Impossibile connettersi al database Bacula: $1 Forse non è impostato o la <a href='$2'>configurazione del modulo</a> non è corretta.
|
||||
index_eng=Impossibile connettersi al database dei gruppi Bacula: $1. Forse non esiste o la <a href='$2'>configurazione del modulo</a> non è corretta.
|
||||
index_econsole=Il comando della console Bacula $1 non è riuscito a comunicare con il direttore Bacula. Assicurati che la password in $2 sia corretta.
|
||||
index_econsole2=Il comando della console Bacula $1 non è configurato con un host del regista Bacula valido. Attualmente utilizza $2, che non esiste.
|
||||
index_edb=Impossibile connettersi al database di Bacula: $1 Forse non è impostato o la <a href='$2'>configurazione del modulo</a> non è corretta.
|
||||
index_eng=Impossibile connettersi al database dei gruppi di Bacula: $1. Forse non esiste o la <a href='$2'>configurazione del modulo</a> non è corretta.
|
||||
index_econsole=Il comando della console Bacula $1 non è riuscito a comunicare con il Director Bacula. Assicurati che la password in $2 sia corretta.
|
||||
index_econsole2=Il comando della console Bacula $1 non è configurato con un host del Director Bacula valido. Attualmente utilizza $2, che non esiste.
|
||||
index_fixpass=Fai clic qui per correggere la password della console
|
||||
index_fixaddr=Fai clic qui per correggere l'host Director di Bacula
|
||||
index_fixaddr=Fai clic qui per correggere l'host del Director di Bacula
|
||||
index_stop=Ferma Bacula
|
||||
index_stopdesc=Fare clic su questo pulsante per chiudere i processi del demone Bacula sopra elencati.
|
||||
index_start=Inizia Bacula
|
||||
index_startdesc=Fare clic su questo pulsante per avviare i processi del demone Bacula sopra elencati.
|
||||
index_stopdesc=Fare clic su questo pulsante per chiudere i processi Bacula sopra elencati.
|
||||
index_start=Avvia Bacula
|
||||
index_startdesc=Fare clic su questo pulsante per avviare i processi Bacula sopra elencati.
|
||||
index_restart=Riavvia Bacula
|
||||
index_restartdesc=Fare clic su questo pulsante per interrompere e riavviare i processi del demone Bacula sopra elencati. Ciò può essere necessario per attivare le configurazioni del dispositivo di archiviazione.
|
||||
index_restartdesc=Fare clic su questo pulsante per interrompere e riavviare i processi Bacula sopra elencati. Ciò può essere necessario per attivare le configurazioni del dispositivo di archiviazione.
|
||||
index_apply=Applica configurazione
|
||||
index_applydesc=Fare clic su questo pulsante per attivare la configurazione del regista Bacula mostrata sopra.
|
||||
index_boot=Inizia all'avvio
|
||||
index_applydesc=Fare clic su questo pulsante per attivare la configurazione del Director Bacula mostrata sopra.
|
||||
index_boot=Avvia con il sistema
|
||||
index_bootdesc=Modifica questa opzione per controllare se Bacula viene avviato o meno all'avvio del sistema.
|
||||
index_status=Stati del processo:
|
||||
index_up=Su
|
||||
index_down=Giù
|
||||
index_up=Attivo
|
||||
index_down=Fermo
|
||||
index_return=indice del modulo
|
||||
index_versionbacula=Bacula $1
|
||||
index_versionbareos=Bareos $1
|
||||
index_notrun=I backup e altre operazioni non possono essere eseguiti poiché il daemon di Bacula Directory non è attivo.
|
||||
index_notrun=I backup e altre operazioni non possono essere eseguiti poiché il Director di Bacula non è attivo.
|
||||
index_eversion=Il tuo sistema utilizza Bacula versione $2, ma questo modulo Webmin supporta solo le versioni $1 e successive.
|
||||
index_dir=Director Director
|
||||
index_sd=Configurazione del daemon di archiviazione
|
||||
index_fd=Configurazione del daemon di file
|
||||
index_dir=Configurazione Director
|
||||
index_sd=Configurazione dello Storage daemon
|
||||
index_fd=Configurazione del File daemon
|
||||
index_groups=Configurazione del gruppo Bacula
|
||||
index_actions=Azioni di backup e ripristino
|
||||
index_ocmin=Contributo di <a href=$2 target=_new>Linmin</a> </a>
|
||||
|
||||
connect_emysql=Impossibile caricare il driver DBI del database $1
|
||||
connect_elogin=Impossibile accedere al database $1:$2.
|
||||
connect_elogin=Impossibile accedere al database $1: $2.
|
||||
connect_equery=Il database $1 non sembra contenere tabelle Bacula.
|
||||
connect_equery2=Ciò può essere dovuto al fatto che il modulo SQLite Perl installato è troppo nuovo e non supporta il vecchio formato di database SQLite utilizzato da Bacula.
|
||||
connect_equery3=Il database $1 non sembra contenere tabelle di gruppo OC Bacula.
|
||||
esql=Errore SQL : $1
|
||||
esql=Errore SQL: $1
|
||||
|
||||
check_edir=La directory di configurazione Bacula $1 non è stata trovata sul tuo sistema.
|
||||
check_ebacula=Il comando di controllo Bacula $1 non è stato trovato.
|
||||
check_econsole=Il comando della console Bacula $1 non è stato trovato.
|
||||
check_edirector=Il file di configurazione del direttore Bacula $1 non è stato trovato.
|
||||
check_eclient=Questo sistema sembra essere un <a href='$2'>client Bacula</a> piuttosto che un regista.
|
||||
check_edirector=Il file di configurazione del Director Bacula $1 non è stato trovato.
|
||||
check_eclient=Questo sistema sembra essere un <a href='$2'>client Bacula</a> piuttosto che un Director.
|
||||
check_econfigs=Nessun file di configurazione Bacula trovato in $1
|
||||
check_eservers=Nessun gruppo di server Webmin è stato definito
|
||||
check_engmod=Il modulo dei gruppi Bacula OpenCountry non è installato
|
||||
|
||||
proc_bacula-sd=Demone di archiviazione
|
||||
proc_bacula-fd=Demone di file
|
||||
proc_bacula-dir=Demone di Bacula Director
|
||||
proc_bareos-sd=Demone di archiviazione
|
||||
proc_bareos-fd=Demone di file
|
||||
proc_bareos-dir=Demone di Bacula Director
|
||||
proc_bacula-sd=Storage daemon
|
||||
proc_bacula-fd=File daemon
|
||||
proc_bacula-dir=Bacula Director
|
||||
proc_bareos-sd=Storage daemon
|
||||
proc_bareos-fd=File daemon
|
||||
proc_bareos-dir=Bacula Director
|
||||
|
||||
stop_err=Impossibile arrestare Bacula
|
||||
start_err=Impossibile avviare Bacula
|
||||
start_einit=Nessuno script init trovato per $1
|
||||
start_erun=Impossibile avviare $1 : $2
|
||||
start_erun=Impossibile avviare $1: $2
|
||||
restart_err=Impossibile riavviare Bacula
|
||||
apply_err=Impossibile applicare la configurazione
|
||||
apply_failed=È stato rilevato un errore di configurazione
|
||||
apply_problem=Impossibile applicare la configurazione : $1
|
||||
apply_problem=Impossibile applicare la configurazione: $1
|
||||
|
||||
jobs_title=Processi di backup
|
||||
jobs_none=Nessun processo di backup è stato ancora definito.
|
||||
jobs_name=Nome del lavoro
|
||||
jobs_none=Nessun processo di backup è stata ancora definita.
|
||||
jobs_name=Nome del processo
|
||||
jobs_deftype=Impostazioni predefinite?
|
||||
jobs_type=Tipo di lavoro
|
||||
jobs_client=Client per il backup
|
||||
jobs_fileset=File impostato su backup
|
||||
jobs_schedule=Pianificazione del backup
|
||||
jobs_type=Tipo di processo
|
||||
jobs_client=Client di backup
|
||||
jobs_fileset=Insieme di file di backup
|
||||
jobs_schedule=Pianificazione del processo
|
||||
jobs_add=Aggiungi un nuovo processo di backup.
|
||||
jobs_delete=Elimina lavori selezionati
|
||||
jobs_return=elenco di lavori
|
||||
jobs_derr=Impossibile eliminare i lavori
|
||||
jobs_delete=Elimina processi selezionati
|
||||
jobs_return=lista di processi
|
||||
jobs_derr=Impossibile eliminare i processi.
|
||||
|
||||
filesets_title=Set di file
|
||||
filesets_none=Nessun set di file di backup è stato ancora definito.
|
||||
@@ -83,48 +83,48 @@ filesets_add=Aggiungi un nuovo set di file di backup.
|
||||
filesets_delete=Elimina set di file selezionati
|
||||
filesets_return=elenco di set di file
|
||||
filesets_derr=Impossibile eliminare i set di file
|
||||
filesets_ednone=Nessuno selezionato
|
||||
filesets_ednone=Nessuna selezione
|
||||
|
||||
fileset_title1=Crea set di file
|
||||
fileset_title2=Modifica set di file
|
||||
fileset_header=Dettagli del set di file di backup
|
||||
fileset_egone=Il set di file non esiste più!
|
||||
fileset_name=Nome set file
|
||||
fileset_include=File e directory per il backup
|
||||
fileset_include=File e directory da archiviare
|
||||
fileset_exclude=File e directory da saltare
|
||||
fileset_sig=Tipo di firma del file
|
||||
fileset_sig=Funzione di hash dei file
|
||||
fileset_none=Nessuna
|
||||
fileset_md5=MD5
|
||||
fileset_err=Impossibile salvare il set di file
|
||||
fileset_ename=Nome set file mancante
|
||||
fileset_eclash=Un file impostato con lo stesso nome esiste già
|
||||
fileset_eclash=Un set di file con lo stesso nome esiste già
|
||||
fileset_echild=Questo set di file non può essere eliminato in quanto utilizzato da $1
|
||||
fileset_comp=Tipo di compressione
|
||||
fileset_gzipdef=<Livello di compressione predefinito>
|
||||
fileset_lzo=Compressione LZO
|
||||
fileset_gzip=Livello Gzip $1
|
||||
fileset_gzip=Gzip livello $1
|
||||
fileset_onefs=Limitare il backup a un file system?
|
||||
|
||||
clients_title=Client di backup
|
||||
clients_none=Nessun client di backup è stato ancora definito.
|
||||
clients_name=Nome del cliente
|
||||
clients_name=Nome del client
|
||||
clients_address=Nome host o indirizzo
|
||||
clients_catalog=Catalogare
|
||||
clients_catalog=Catalogo
|
||||
clients_add=Aggiungi un nuovo client di backup.
|
||||
clients_delete=Elimina i clienti selezionati
|
||||
clients_return=elenco dei clienti
|
||||
clients_delete=Elimina i client selezionati
|
||||
clients_return=elenco dei client
|
||||
clients_derr=Impossibile eliminare i client
|
||||
|
||||
client_title1=Crea client di backup
|
||||
client_title2=Modifica client di backup
|
||||
client_header=Dettagli del client di cui eseguire il backup
|
||||
client_egone=Il client non esiste più!
|
||||
client_name=Nome FD client
|
||||
client_name=Nome FD del client
|
||||
client_address=Nome host o indirizzo IP
|
||||
client_port=Porta Bacula FD
|
||||
client_pass=Password Bacula FD
|
||||
client_catalog=Catalogo da usare
|
||||
client_prune=Eliminare lavori e file scaduti?
|
||||
client_prune=Eliminare processi e file scaduti?
|
||||
client_fileret=Conserva i file di backup per
|
||||
client_jobret=Mantieni processi di backup per
|
||||
client_err=Impossibile salvare il client di backup
|
||||
@@ -134,7 +134,7 @@ client_epass=Password mancante
|
||||
client_eaddress=Nome host o indirizzo mancante o non valido
|
||||
client_eport=Porta FD mancante o non valida
|
||||
client_efileret=Periodo di conservazione dei file mancante o non valido
|
||||
client_ejobret=Periodo di conservazione del lavoro mancante o non valido
|
||||
client_ejobret=Periodo di conservazione del processo mancante o non valido
|
||||
client_echild=Questo client non può essere eliminato in quanto utilizzato da $1
|
||||
client_status=Mostra stato
|
||||
|
||||
@@ -144,137 +144,137 @@ job_header=Dettagli del processo di backup
|
||||
job_name=Nome del processo di backup
|
||||
job_enabled=Processo di backup abilitato?
|
||||
job_def=Tipo predefinito
|
||||
job_def0=Decisione predefinita
|
||||
job_def1=Lavoro autonomo
|
||||
job_def0=Definizione predefinita
|
||||
job_def1=Processo isolato
|
||||
job_def2=Eredita valori predefiniti da $1
|
||||
job_type=Tipo di lavoro
|
||||
job_type=Tipo di processo
|
||||
job_level=Livello di backup
|
||||
job_client=Client per il backup
|
||||
job_fileset=File impostato su backup
|
||||
job_schedule=Backup nei tempi previsti
|
||||
job_storage=Dispositivo di archiviazione di destinazione
|
||||
job_fileset=Set di file per il backup
|
||||
job_schedule=Pianificazione processo
|
||||
job_storage=Storage daemon di destinazione
|
||||
job_pool=Pool di volumi
|
||||
job_messages=Destinazione per i messaggi
|
||||
job_prority=Priorità di backup
|
||||
job_err=Impossibile salvare il processo di backup
|
||||
job_ename=Nome lavoro mancante o non valido
|
||||
job_eclash=Esiste già un lavoro con lo stesso nome
|
||||
job_ename=Nome processo mancante o non valido
|
||||
job_eclash=Esiste già un processo con lo stesso nome
|
||||
job_epriority=Numero di priorità mancante o non valido
|
||||
job_echild=Questa definizione di lavoro predefinita non può essere eliminata poiché utilizzata da $1
|
||||
job_run=Corri adesso
|
||||
job_before=Comando prima del lavoro
|
||||
job_after=Comando dopo il lavoro
|
||||
job_cbefore=Comando prima del lavoro (sul client)
|
||||
job_cafter=Comando dopo processo (sul client)
|
||||
job_echild=Questa definizione predefinita di processo non può essere eliminata poiché utilizzata da $1
|
||||
job_run=Esegui ora
|
||||
job_before=Comando prima del processo
|
||||
job_after=Comando dopo il processo
|
||||
job_cbefore=Comando prima del processo (sul client)
|
||||
job_cafter=Comando dopo il processo (sul client)
|
||||
|
||||
schedules_title=Pianificazioni di backup
|
||||
schedules_none=Nessuna pianificazione di backup è stata ancora definita.
|
||||
schedules_name=Nome programma
|
||||
schedules_sched=Esegui livelli e tempi
|
||||
schedules_none=Nessuna pianificazione è stata ancora definita.
|
||||
schedules_name=Nome pianifications
|
||||
schedules_sched=Livelli e pianificazioni di esecuzione
|
||||
schedules_add=Aggiungi una nuova pianificazione del backup.
|
||||
schedules_delete=Elimina i programmi selezionati
|
||||
schedules_return=elenco di programmi
|
||||
schedules_delete=Elimina le pianificazioni selezionate
|
||||
schedules_return=elenco di pianificazioni
|
||||
schedules_derr=Impossibile eliminare le pianificazioni
|
||||
|
||||
schedule_title1=Crea programma di backup
|
||||
schedule_title1=Crea pianificazione di backup
|
||||
schedule_title2=Modifica pianificazione backup
|
||||
schedule_header=Dettagli sulla pianificazione del backup
|
||||
schedule_name=Nome pianificazione backup
|
||||
schedule_runs=Esegui livelli e tempi
|
||||
schedule_runs=Livelli e pianificazioni di esecuzione
|
||||
schedule_level=Livello di backup
|
||||
schedule_pool=Volume
|
||||
schedule_times=Corri a volte
|
||||
schedule_times=Orari di esecuzione
|
||||
schedule_err=Impossibile salvare la pianificazione del backup
|
||||
schedule_ename=Nome programma mancante o non valido
|
||||
schedule_eclash=Esiste già un programma con lo stesso nome
|
||||
schedule_etimes=Tempi di backup mancanti nella riga $1
|
||||
schedule_ename=Nome pianificazione mancante o non valido
|
||||
schedule_eclash=Esiste già una pianificazione con lo stesso nome
|
||||
schedule_etimes=Orari di esecuzione mancanti nella riga $1
|
||||
schedule_echild=Questa pianificazione non può essere eliminata in quanto utilizzata da $1
|
||||
|
||||
backup_title=Esegui processo di backup
|
||||
backup_header=Dettagli del processo di backup
|
||||
backup_job=Lavoro da eseguire
|
||||
backup_job=Processo da eseguire
|
||||
backup_jd=$1 (set di file $2 su $3)
|
||||
backup_wait=Aspetta i risultati?
|
||||
backup_ok=Esegui il backup ora
|
||||
backup_run=Avvio del processo di backup $1 ..
|
||||
backup_return=modulo di backup
|
||||
backup_ejob=.. non è riuscito a trovare lavoro!
|
||||
backup_eok=.. impossibile avviare il lavoro
|
||||
backup_ejob=.. processo non trovato!
|
||||
backup_eok=.. impossibile avviare il processo
|
||||
backup_running=.. il processo di backup è ora in esecuzione. Al termine, i risultati verranno visualizzati di seguito.
|
||||
backup_running2=.. il processo di backup è stato avviato in background.
|
||||
backup_done=.. backup completato.
|
||||
backup_failed=.. il backup non è stato completato correttamente. Controllare il messaggio di errore sopra per i dettagli.
|
||||
|
||||
gbackup_title=Esegui processo di backup del gruppo Bacula
|
||||
gbackup_title=Esegui gruppo di processi di backup
|
||||
gbackup_run=Avvio del processo di backup $1 su $2 client ..
|
||||
gbackup_on=Esecuzione del processo di backup sul client $1 :
|
||||
gbackup_header=Dettagli del processo di backup del gruppo Bacula
|
||||
gbackup_on=Esecuzione del processo di backup sul client $1:
|
||||
gbackup_header=Dettagli del gruppo di processo di backup
|
||||
gbackup_jd=$1 (set di file $2 sul gruppo $3)
|
||||
|
||||
dirstatus_title=Stato del direttore
|
||||
dirstatus_title=Stato del Director
|
||||
dirstatus_sched=Processi di backup pianificati
|
||||
dirstatus_name=Nome del lavoro
|
||||
dirstatus_type=genere
|
||||
dirstatus_name=Nome del processo
|
||||
dirstatus_type=Tipo
|
||||
dirstatus_level=Livello
|
||||
dirstatus_date=Corri a
|
||||
dirstatus_date2=Iniziato alle
|
||||
dirstatus_date=Orari esecuzione
|
||||
dirstatus_date2=Iniziato a
|
||||
dirstatus_volume=Volume
|
||||
dirstatus_schednone=Nessun processo di backup è attualmente pianificato.
|
||||
dirstatus_id=Esegui ID
|
||||
dirstatus_id=Id di esecuzione
|
||||
dirstatus_status=Stato attuale
|
||||
dirstatus_run=Esecuzione di processi di backup
|
||||
dirstatus_run=Processi di backup in esecuzione
|
||||
dirstatus_runnone=Nessun processo di backup è attualmente in esecuzione.
|
||||
dirstatus_done=Processi di backup completati
|
||||
dirstatus_bytes=Taglia
|
||||
dirstatus_bytes=Dimensione
|
||||
dirstatus_files=File
|
||||
dirstatus_status2=Stato
|
||||
dirstatus_donenone=Nessun processo di backup è stato eseguito.
|
||||
dirstatus_cancel=Annulla lavori selezionati
|
||||
dirstatus_cancel=Annulla processi selezionati
|
||||
dirstatus_refresh=Aggiorna la lista
|
||||
|
||||
clientstatus_title=Stato del cliente
|
||||
clientstatus_err=Impossibile recuperare lo stato da $1 : $2
|
||||
clientstatus_msg=Stato da $1 : $2
|
||||
clientstatus_title=Stato del client
|
||||
clientstatus_err=Impossibile recuperare lo stato da $1: $2
|
||||
clientstatus_msg=Stato da $1: $2
|
||||
clientstatus_show=Mostra lo stato del client:
|
||||
clientstatus_ok=ok
|
||||
clientstatus_ok=OK
|
||||
clientstatus_on=$1 (su $2)
|
||||
|
||||
storages_title=Demoni di archiviazione
|
||||
storages_none=Nessun demone di archiviazione è stato ancora definito.
|
||||
storages_name=Nome di archiviazione
|
||||
storages_title=Storage daemon
|
||||
storages_none=Nessuno Storage daemon è stato ancora definito.
|
||||
storages_name=Nome dello Storage daemon
|
||||
storages_address=Nome host o indirizzo
|
||||
storages_device=Dispositivo di archiviazione
|
||||
storages_type=Tipo di supporto
|
||||
storages_add=Aggiungi un nuovo demone di archiviazione.
|
||||
storages_delete=Elimina i daemon di archiviazione selezionati
|
||||
storages_return=elenco di demoni di archiviazione
|
||||
storages_derr=Impossibile eliminare i daemon di archiviazione
|
||||
storages_add=Aggiungi un nuovo Storage daemon.
|
||||
storages_delete=Elimina gli Storage daemon selezionati
|
||||
storages_return=elenco di Storage daemon
|
||||
storages_derr=Impossibile eliminare gli Storage daemon
|
||||
|
||||
storage_title1=Crea un demone di archiviazione
|
||||
storage_title2=Modifica demone di archiviazione
|
||||
storage_header=Dettagli del demone di archiviazione remota
|
||||
storage_egone=Il demone di archiviazione non esiste più!
|
||||
storage_name=Nome del demone di archiviazione
|
||||
storage_title1=Crea uno Storage daemon
|
||||
storage_title2=Modifica demone dello Storage daemon
|
||||
storage_header=Dettagli dello Storage daemon remoto
|
||||
storage_egone=Lo Storage daemon non esiste più!
|
||||
storage_name=Nome dello Storage daemon
|
||||
storage_address=Nome host o indirizzo IP
|
||||
storage_port=Porta SD Bacula
|
||||
storage_pass=Password SD Bacula
|
||||
storage_device=Nome del dispositivo di archiviazione
|
||||
storage_media=Nome del tipo di supporto
|
||||
storage_maxjobs=Numero massimo di lavori simultanei
|
||||
storage_other=Altro ..
|
||||
storage_err=Impossibile salvare il demone di archiviazione
|
||||
storage_ename=Nome del daemon di archiviazione mancante
|
||||
storage_eclash=Un demone di archiviazione con lo stesso nome esiste già
|
||||
storage_maxjobs=Numero massimo di processi simultanei
|
||||
storage_other=Altro..
|
||||
storage_err=Impossibile salvare lo Storage daemon
|
||||
storage_ename=Nome dello Storage daemon mancante
|
||||
storage_eclash=Uno Storage daemon con lo stesso nome esiste già
|
||||
storage_epass=Password mancante
|
||||
storage_eaddress=Nome host o indirizzo mancante o non valido
|
||||
storage_eport=Porta SD mancante o non valida
|
||||
storage_edevice=Nome del dispositivo di archiviazione mancante
|
||||
storage_emedia=Nome del tipo di supporto mancante
|
||||
storage_emaxjobs=Numero massimo di lavori simultanei mancanti
|
||||
storage_echild=Questo client non può essere eliminato in quanto utilizzato da $1
|
||||
storage_emaxjobs=Numero massimo di processi simultanei mancanti
|
||||
storage_echild=Questo Storage daemon non può essere eliminato in quanto utilizzato da $1
|
||||
storage_status=Mostra stato
|
||||
|
||||
devices_title=Dispositivi di memoria
|
||||
devices_title=Dispositivi di archiviazione
|
||||
devices_none=Nessun dispositivo di archiviazione è stato ancora definito.
|
||||
devices_name=Nome del dispositivo
|
||||
devices_device=File o directory del dispositivo
|
||||
@@ -292,7 +292,7 @@ device_name=Nome del dispositivo di archiviazione
|
||||
device_device=Dispositivo di archiviazione o directory
|
||||
device_media=Nome del tipo di supporto
|
||||
device_label=Etichettare automaticamente i supporti?
|
||||
device_random=Mezzo di accesso casuale?
|
||||
device_random=Dispositivo ad accesso casuale?
|
||||
device_auto=Montare automaticamente?
|
||||
device_removable=Supporti rimovibili?
|
||||
device_always=Tieni sempre aperto?
|
||||
@@ -301,34 +301,34 @@ device_ename=Nome del dispositivo di archiviazione mancante
|
||||
device_eclash=Un dispositivo di archiviazione con lo stesso nome esiste già
|
||||
device_emedia=Nome del tipo di supporto mancante
|
||||
device_edevice=Dispositivo o directory di archivio mancante o non valido
|
||||
device_echild=Questo client non può essere eliminato in quanto utilizzato da $1
|
||||
device_echild=Questo dispositivo di archiviazione non può essere eliminato in quanto utilizzato da $1
|
||||
|
||||
storagestatus_title=Stato del demone di archiviazione
|
||||
storagestatus_err=Impossibile recuperare lo stato da $1 : $2
|
||||
storagestatus_msg=Stato da $1 : $2
|
||||
storagestatus_show=Mostra lo stato del demone di archiviazione:
|
||||
storagestatus_ok=ok
|
||||
storagestatus_title=Stato dello Storage daemon
|
||||
storagestatus_err=Impossibile recuperare lo stato da $1: $2
|
||||
storagestatus_msg=Stato da $1: $2
|
||||
storagestatus_show=Mostra lo stato dello Storage daemon:
|
||||
storagestatus_ok=OK
|
||||
|
||||
label_title=Volume dell'etichetta
|
||||
label_title=Etichetta volume
|
||||
label_header=Dettagli del volume da etichettare
|
||||
label_storage=Demone di archiviazione da etichettare
|
||||
label_pool=Crea in piscina
|
||||
label_storage=Storage daemon da etichettare
|
||||
label_pool=Crea pool
|
||||
label_label=Nuovo nome dell'etichetta
|
||||
label_ok=Etichetta ora
|
||||
label_return=modulo di etichetta
|
||||
label_run=Volume di etichettatura con $2 sul daemon di archiviazione $1 ..
|
||||
label_estorage=.. il demone di archiviazione non è stato trovato!
|
||||
label_run=Etichettatura volume con $2 sullo Storage daemon $1 ..
|
||||
label_estorage=.. lo Storage daemon non è stato trovato!
|
||||
label_eexists=.. l'etichetta specificata esiste già.
|
||||
label_efailed=.. etichettatura fallita! Controllare il messaggio di errore sopra per il motivo.
|
||||
label_done=.. etichettatura eseguita correttamente.
|
||||
label_epool=.. impossibile trovare la piscina!
|
||||
label_err=Etichetta fallita
|
||||
label_epool=.. impossibile trovare il pool!
|
||||
label_err=Etichettatura fallita
|
||||
label_elabel=Nessuna etichetta inserita
|
||||
|
||||
pools_title=Pool di volumi
|
||||
pools_none=Nessun pool di volumi è stato ancora definito.
|
||||
pools_name=Nome piscina
|
||||
pools_type=Tipo di piscina
|
||||
pools_name=Nome pool
|
||||
pools_type=Tipo di pool
|
||||
pools_reten=Periodo di conservazione
|
||||
pools_add=Aggiungi un nuovo pool di volumi.
|
||||
pools_delete=Elimina pool di volumi selezionati
|
||||
@@ -340,30 +340,30 @@ pool_title2=Modifica pool di volumi
|
||||
pool_header=Dettagli del pool di volumi di backup
|
||||
pool_egone=Il pool di volumi non esiste più!
|
||||
pool_name=Nome del pool di volumi
|
||||
pool_recycle=Ricicli automaticamente i volumi?
|
||||
pool_auto=Potare i volumi scaduti?
|
||||
pool_recycle=Riciclare automaticamente i volumi?
|
||||
pool_auto=Eliminare i volumi scaduti?
|
||||
pool_any=Backup su qualsiasi volume nel pool?
|
||||
pool_reten=Periodo di conservazione del volume
|
||||
pool_type=Tipo di pool di volumi
|
||||
pool_max=Numero massimo di lavori per volume
|
||||
pool_max=Numero massimo di processi per volume
|
||||
pool_unlimited=Illimitato
|
||||
pool_err=Impossibile salvare il dispositivo di archiviazione
|
||||
pool_ename=Nome del dispositivo di archiviazione mancante
|
||||
pool_eclash=Un dispositivo di archiviazione con lo stesso nome esiste già
|
||||
pool_echild=Questo client non può essere eliminato in quanto utilizzato da $1
|
||||
pool_err=Impossibile salvare il pool di volumi
|
||||
pool_ename=Nome del pool di volumi mancante
|
||||
pool_eclash=Un pool di volumi con lo stesso nome esiste già
|
||||
pool_echild=Questo pool non può essere eliminato in quanto utilizzato da $1
|
||||
pool_emax=Numero massimo di lavori mancante o non valido per volume
|
||||
pool_ereten=Periodo di conservazione mancante o non valido
|
||||
pool_status=Mostra i volumi
|
||||
pool_autolabel=Etichetta automaticamente il prefisso dei volumi
|
||||
pool_maxvolsize=Dimensioni massime del volume (ad es. 5G per 5 Gigabyte)
|
||||
|
||||
poolstatus_title=Volumi In Piscina
|
||||
poolstatus_title=Volumi in pool
|
||||
poolstatus_show=Mostra i volumi nel pool:
|
||||
poolstatus_ok=ok
|
||||
poolstatus_ok=OK
|
||||
poolstatus_volumes=Volumi nel pool selezionato
|
||||
poolstatus_name=Nome volume
|
||||
poolstatus_type=Tipo di supporto
|
||||
poolstatus_first=Prima usato
|
||||
poolstatus_first=Primo uso
|
||||
poolstatus_last=Ultimo uso
|
||||
poolstatus_bytes=Byte scritti
|
||||
poolstatus_status=Modalità di backup
|
||||
@@ -373,116 +373,116 @@ poolstatus_delete=Elimina i volumi selezionati
|
||||
|
||||
dvolumes_err=Impossibile eliminare i volumi
|
||||
dvolumes_enone=Nessuno selezionato
|
||||
dvolumes_ebacula=Errore Bacula : $1
|
||||
dvolumes_ebacula=Errore Bacula: $1
|
||||
|
||||
mount_title=Monta o smonta
|
||||
mount_header=Opzioni di montaggio o disinstallazione dello storage
|
||||
mount_header=Opzioni di montaggio o smontaggio dello storage
|
||||
mount_storage=Dispositivo di archiviazione
|
||||
mount_slot=Slot caricatore automatico
|
||||
mount_noslot=Nessuna
|
||||
mount_slotno=Numero di posto connettore
|
||||
mount_mount=Mount Storage
|
||||
mount_unmount=Smonta memoria
|
||||
mount_run=Volume di montaggio sul dispositivo di archiviazione $1 ..
|
||||
unmount_run=Volume di smontaggio sul dispositivo di memorizzazione $1 ..
|
||||
mount_slot=Slot del caricatore automatico
|
||||
mount_noslot=Nessuno
|
||||
mount_slotno=Numero slot
|
||||
mount_mount=Monta dispositivo
|
||||
mount_unmount=Smonta dispositivo
|
||||
mount_run=Montaggio volume sullo Storage daemon $1 ..
|
||||
unmount_run=Smontaggio volume sullo Storage daemon $1 ..
|
||||
mount_done=.. montato correttamente.
|
||||
unmount_done=.. non montato correttamente.
|
||||
mount_failed=.. montaggio fallito! Vedere il messaggio di errore sopra per il motivo.
|
||||
unmount_failed=.. disinstallazione fallita! Vedere il messaggio di errore sopra per il motivo.
|
||||
unmount_failed=.. smontaggio fallito! Vedere il messaggio di errore sopra per il motivo.
|
||||
mount_return=forma di montaggio
|
||||
mount_err=Impossibile montare il dispositivo di archiviazione
|
||||
mount_eslot=Numero di slot mancante o non valido
|
||||
|
||||
cancel_err=Impossibile annullare i lavori
|
||||
cancel_err=Impossibile annullare i processi
|
||||
cancel_enone=Nessuno selezionato
|
||||
|
||||
gjobs_title=Processi di backup del gruppo Bacula
|
||||
gjobs_none=Nessun processo di backup del gruppo Bacula è stato ancora definito.
|
||||
gjobs_add=Aggiungi un nuovo processo di backup del gruppo Bacula.
|
||||
gjobs_delete=Elimina lavori selezionati
|
||||
gjobs_return=elenco dei lavori del gruppo Bacula
|
||||
gjobs_derr=Impossibile eliminare i lavori del gruppo Bacula
|
||||
gjobs_client=Gruppo Bacula per il backup
|
||||
gjobs_title=Gruppi di processi di backup
|
||||
gjobs_none=Nessun gruppo di processi di backup è stato ancora definito.
|
||||
gjobs_add=Aggiungi un nuovo gruppo di processi di backup.
|
||||
gjobs_delete=Elimina processi selezionati
|
||||
gjobs_return=elenco dei processi del gruppo
|
||||
gjobs_derr=Impossibile eliminare i processi del gruppo
|
||||
gjobs_client=Client per il gruppo
|
||||
|
||||
gjob_title1=Crea processo di backup del gruppo Bacula
|
||||
gjob_title2=Modifica processo di backup del gruppo Bacula
|
||||
gjob_header=Dettagli del processo di backup del gruppo Bacula
|
||||
gjob_client=Gruppo Bacula per il backup
|
||||
gjob_title1=Crea gruppo di processi di backup
|
||||
gjob_title2=Modifica gruppo di processi di backup
|
||||
gjob_header=Dettagli del gruppo di processi di backup
|
||||
gjob_client=Client per il gruppo
|
||||
|
||||
groups_title=Gruppi Bacula
|
||||
groups_none=Nessun gruppo Bacula è stato ancora selezionato per il backup da Bacula.
|
||||
groups_none=Nessun gruppo di processi di backup è stato ancora selezionato.
|
||||
groups_name=Nome del gruppo
|
||||
groups_port=Porta FD
|
||||
groups_add=Aggiungi gruppo Bacula:
|
||||
groups_add=Aggiungi gruppo:
|
||||
groups_ok=Inserisci
|
||||
groups_catalog=Catalogare
|
||||
groups_delete=Elimina i gruppi Bacula selezionati
|
||||
groups_catalog=Catalogo
|
||||
groups_delete=Elimina i gruppi selezionati
|
||||
groups_return=elenco di gruppi
|
||||
groups_derr=Impossibile eliminare i gruppi
|
||||
groups_noadd=Non esistono gruppi Bacula da selezionare per i backup.
|
||||
groups_noadd=Non esistono gruppi da selezionare per i backup.
|
||||
groups_info=$1 ($2 membri)
|
||||
groups_already=Tutti i gruppi Bacula sono già stati aggiunti.
|
||||
groups_already=Tutti i gruppi sono già stati aggiunti.
|
||||
|
||||
group_title1=Crea gruppo Bacula
|
||||
group_title2=Modifica gruppo Bacula
|
||||
group_header=Dettagli del gruppo Bacula di cui eseguire il backup
|
||||
group_title1=Crea gruppo
|
||||
group_title2=Modifica gruppo
|
||||
group_header=Dettagli del gruppo di backup
|
||||
group_egone=Il gruppo non esiste più!
|
||||
group_egone2=Il gruppo Bacula non esiste più!
|
||||
group_name=Nome del gruppo Bacula
|
||||
group_egone2=Il gruppo non esiste più!
|
||||
group_name=Nome del gruppo
|
||||
group_port=Porta Bacula FD
|
||||
group_err=Impossibile salvare il gruppo Bacula
|
||||
group_err=Impossibile salvare il gruppo
|
||||
group_eclash=Un gruppo con lo stesso nome esiste già
|
||||
group_members=Host nel gruppo Bacula
|
||||
group_members=Host nel gruppo
|
||||
|
||||
sync_title=Sincronizzazione del gruppo Bacula
|
||||
sync_header=Opzioni di sincronizzazione client del gruppo Bacula automatico
|
||||
sync_sched=Sincronizzare nei tempi previsti?
|
||||
sync_schedyes=Sì, a volte selezionato di seguito.
|
||||
sync_err=Impossibile salvare la sincronizzazione del gruppo Bacula
|
||||
sync_title=Sincronizzazione del gruppo
|
||||
sync_header=Opzioni di sincronizzazione automatica dei client del gruppo
|
||||
sync_sched=Sincronizzare su schedulazione?
|
||||
sync_schedyes=Sì, agli orari selezionati di seguito.
|
||||
sync_err=Impossibile salvare la sincronizzazione del gruppo
|
||||
|
||||
log_create_client=Client di backup creato $1
|
||||
log_modify_client=Client di backup modificato $1
|
||||
log_delete_client=Client di backup eliminato $1
|
||||
log_delete_clients=Client di backup $1 eliminati
|
||||
log_create_fileset=Set di file creato $1
|
||||
log_modify_fileset=Set di file modificato $1
|
||||
log_delete_fileset=Set di file eliminato $1
|
||||
log_delete_filesets=Set di file $1 eliminati
|
||||
log_create_job=Processo di backup creato $1
|
||||
log_modify_job=Processo di backup modificato $1
|
||||
log_delete_job=Processo di backup eliminato $1
|
||||
log_create_client=Client di backup $1 creato
|
||||
log_modify_client=Client di backup $1 modificato
|
||||
log_delete_client=Client di backup $1 eliminato
|
||||
log_delete_clients=Eliminati $1 client di backup
|
||||
log_create_fileset=Set di file $1 creato
|
||||
log_modify_fileset=Set di file $1 modificato
|
||||
log_delete_fileset=Set di file $1 eliminato
|
||||
log_delete_filesets=Eliminati $1 set di file
|
||||
log_create_job=Processo di backup $1 creato
|
||||
log_modify_job=Processo di backup $1 modificato
|
||||
log_delete_job=Processo di backup $1 eliminato
|
||||
log_delete_jobs=Eliminati $1 processi di backup
|
||||
log_create_schedule=Pianificazione del backup creata $1
|
||||
log_modify_schedule=Pianificazione del backup modificata $1
|
||||
log_delete_schedule=Pianificazione del backup eliminata $1
|
||||
log_delete_schedules=Pianificazioni di backup $1 eliminate
|
||||
log_create_pool=Pool di volumi creato $1
|
||||
log_modify_pool=Pool di volumi modificato $1
|
||||
log_delete_pool=Pool di volumi eliminati $1
|
||||
log_delete_pools=Pool di volumi $1 eliminati
|
||||
log_create_storage=Demone di archiviazione creato $1
|
||||
log_modify_storage=Demone di archiviazione modificato $1
|
||||
log_delete_storage=Demone di archiviazione eliminato $1
|
||||
log_delete_storages=Demoni di archiviazione $1 eliminati
|
||||
log_create_device=Dispositivo di archiviazione creato $1
|
||||
log_modify_device=Dispositivo di archiviazione modificato $1
|
||||
log_delete_device=Dispositivo di archiviazione eliminato $1
|
||||
log_create_schedule=Pianificazione del backup $1 creata
|
||||
log_modify_schedule=Pianificazione del backup $1 modificata
|
||||
log_delete_schedule=Pianificazione del backup $1 eliminata
|
||||
log_delete_schedules=Eliminate $1 pianificazioni di backup
|
||||
log_create_pool=Pool di volumi $1 creato
|
||||
log_modify_pool=Pool di volumi $1 modificato
|
||||
log_delete_pool=Pool di volumi $1 eliminati
|
||||
log_delete_pools=Eliminati $1 Pool di volumi
|
||||
log_create_storage=Storage daemon $1 creato
|
||||
log_modify_storage=Storage daemon $1 modificato
|
||||
log_delete_storage=Storage daemon $1 eliminato
|
||||
log_delete_storages=Eliminati $1 Storage daemon
|
||||
log_create_device=Dispositivo di archiviazione $1 creato
|
||||
log_modify_device=Dispositivo di archiviazione $1 modificato
|
||||
log_delete_device=Dispositivo di archiviazione $1 eliminato
|
||||
log_delete_devices=$1 dispositivi di archiviazione eliminati
|
||||
log_create_group=Creato gruppo Bacula $1
|
||||
log_modify_group=Gruppo Bacula modificato $1
|
||||
log_delete_group=Gruppo Bacula eliminato $1
|
||||
log_delete_groups=$1 gruppi Bacula eliminati
|
||||
log_create_gjob=Processo di backup del gruppo Bacula creato $1
|
||||
log_modify_gjob=Processo di backup del gruppo Bacula modificato $1
|
||||
log_delete_gjob=Processo di backup del gruppo Bacula eliminato $1
|
||||
log_delete_gjobs=Eliminati $1 processi di backup del gruppo Bacula
|
||||
log_create_fdirector=Direttore daemon file creato $1
|
||||
log_modify_fdirector=Direttore del demone file modificato $1
|
||||
log_delete_fdirector=Direttore daemon file eliminato $1
|
||||
log_delete_fdirectors=Direttori di daemon file eliminati $1
|
||||
log_create_sdirector=Direttore del demone di archiviazione creato $1
|
||||
log_modify_sdirector=Direttore del demone di archiviazione modificato $1
|
||||
log_delete_sdirector=Direttore del demone di archiviazione eliminato $1
|
||||
log_create_group=Creato gruppo $1
|
||||
log_modify_group=Gruppo $1 modificato
|
||||
log_delete_group=Gruppo $1 eliminato
|
||||
log_delete_groups=$1 gruppi eliminati
|
||||
log_create_gjob=Processo di backup del gruppo $1 creato
|
||||
log_modify_gjob=Processo di backup del gruppo $1 modificato
|
||||
log_delete_gjob=Processo di backup del gruppo $1 eliminato
|
||||
log_delete_gjobs=Eliminati $1 processi di backup del gruppo
|
||||
log_create_fdirector=Director daemon file creato $1
|
||||
log_modify_fdirector=Director del demone file modificato $1
|
||||
log_delete_fdirector=Director daemon file eliminato $1
|
||||
log_delete_fdirectors=Director di daemon file eliminati $1
|
||||
log_create_sdirector=Director del demone di archiviazione creato $1
|
||||
log_modify_sdirector=Director del demone di archiviazione modificato $1
|
||||
log_delete_sdirector=Director del demone di archiviazione eliminato $1
|
||||
log_delete_sdirectors=Registri daemon di archiviazione $1 eliminati
|
||||
log_stop=Demoni Bacula fermati
|
||||
log_start=Demoni Bacula avviati
|
||||
@@ -494,23 +494,23 @@ log_label=Demone di archiviazione con etichetta $1
|
||||
log_mount=Dispositivo di archiviazione montato $1
|
||||
log_unmount=Dispositivo di archiviazione non montato $1
|
||||
log_sync=Sincronizzazione del gruppo Bacula salvata
|
||||
log_director=Configurazione del regista Bacula globale salvata
|
||||
log_director=Configurazione del Director Bacula globale salvata
|
||||
log_file=Configurazione del demone del file Bacula salvata
|
||||
log_storagec=Configurazione del demone di archiviazione Bacula salvata
|
||||
log_fixpass=Risolto il problema con la password del programma della console Bacula
|
||||
|
||||
director_title=Director Director
|
||||
director_header=Opzioni del regista Global Bacula
|
||||
director_name=Nome del direttore
|
||||
director_port=Ascolta in porto
|
||||
director_jobs=Numero massimo di lavori simultanei
|
||||
director_title=Configurazione Director
|
||||
director_header=Opzioni globali Director
|
||||
director_name=Nome del Director
|
||||
director_port=Porta di ascolto
|
||||
director_jobs=Numero massimo di processi simultanei
|
||||
director_messages=Destinazione per i messaggi
|
||||
director_enone=Nessuna configurazione del regista trovata!
|
||||
director_enone=Nessuna configurazione del Director trovata!
|
||||
director_dir=Directory di lavoro di Bacula
|
||||
director_err=Impossibile salvare la configurazione del direttore
|
||||
director_ename=Nome regista mancante o non valido
|
||||
director_err=Impossibile salvare la configurazione del Director
|
||||
director_ename=Nome Director mancante o non valido
|
||||
director_eport=Numero porta mancante o non valido
|
||||
director_ejobs=Numero mancante o non valido di lavori simultanei
|
||||
director_ejobs=Numero mancante o non valido di processi simultanei
|
||||
director_edir=Directory di lavoro mancante o inesistente
|
||||
|
||||
tls_enable=Abilitare la crittografia TLS?
|
||||
@@ -525,86 +525,86 @@ tls_ekey=File chiave TLS mancante o inesistente
|
||||
tls_ecacert=File di certificato CA TLS mancante o inesistente
|
||||
tls_ecerts=Per abilitare TLS, è necessario specificare i file di certificato, chiave e CA.
|
||||
|
||||
file_title=Configurazione del daemon di file
|
||||
file_header=Opzioni del demone del file Bacula
|
||||
file_name=Nome del demone del file
|
||||
file_port=Ascolta in porto
|
||||
file_jobs=Numero massimo di lavori simultanei
|
||||
file_title=Configurazione del File daemon
|
||||
file_header=Opzioni del File daemon
|
||||
file_name=Nome del File daemon
|
||||
file_port=Porta di ascolto
|
||||
file_jobs=Numero massimo di processi simultanei
|
||||
file_dir=Directory di lavoro di Bacula
|
||||
file_enone=Nessuna configurazione di daemon di file trovata!
|
||||
file_err=Impossibile salvare la configurazione del daemon di file
|
||||
file_ename=Nome del daemon di file mancante o non valido
|
||||
file_enone=Nessuna configurazione di File daemon trovata!
|
||||
file_err=Impossibile salvare la configurazione del File daemon
|
||||
file_ename=Nome del File daemon mancante o non valido
|
||||
file_eport=Numero porta mancante o non valido
|
||||
file_ejobs=Numero mancante o non valido di lavori simultanei
|
||||
file_ejobs=Numero mancante o non valido di processi simultanei
|
||||
file_edir=Directory di lavoro mancante o inesistente
|
||||
|
||||
fdirectors_title=File Daemon Director
|
||||
fdirectors_none=Nessun amministratore è stato ancora definito.
|
||||
fdirectors_name=Nome del direttore
|
||||
fdirectors_title=Director del File daemon
|
||||
fdirectors_none=Nessun Director è stato ancora definito.
|
||||
fdirectors_name=Nome del Director
|
||||
fdirectors_pass=Password accettata
|
||||
fdirectors_add=Aggiungi un nuovo regista.
|
||||
fdirectors_delete=Elimina i registi selezionati
|
||||
fdirectors_return=elenco dei direttori
|
||||
fdirectors_derr=Impossibile eliminare i direttori
|
||||
fdirectors_add=Aggiungi un nuovo Director.
|
||||
fdirectors_delete=Elimina i Director selezionati
|
||||
fdirectors_return=elenco dei Director
|
||||
fdirectors_derr=Impossibile eliminare i Director
|
||||
|
||||
fdirector_title1=Crea File Daemon Director
|
||||
fdirector_title2=Modifica File Daemon Director
|
||||
fdirector_header=Dettagli sul controllo di Remote Director
|
||||
fdirector_egone=Il regista non esiste più!
|
||||
fdirector_name=Nome del direttore
|
||||
fdirector_title1=Crea Director del File daemon
|
||||
fdirector_title2=Modifica Director del File daemon
|
||||
fdirector_header=Dettagli sul controllo del Director remoto
|
||||
fdirector_egone=Il Director non esiste più!
|
||||
fdirector_name=Nome del Director
|
||||
fdirector_pass=Password accettata
|
||||
fdirector_monitor=Consentire solo il monitoraggio della connessione?
|
||||
fdirector_err=Impossibile salvare il daemon director del file
|
||||
fdirector_ename=Nome del regista mancante
|
||||
fdirector_eclash=Un regista con lo stesso nome esiste già
|
||||
fdirector_err=Impossibile salvare il Director del File daemon
|
||||
fdirector_ename=Nome del Director mancante
|
||||
fdirector_eclash=Un Director con lo stesso nome esiste già
|
||||
fdirector_epass=Password mancante
|
||||
|
||||
sdirectors_title=Direttori dei demoni di archiviazione
|
||||
sdirectors_none=Nessun amministratore è stato ancora definito.
|
||||
sdirectors_name=Nome del direttore
|
||||
sdirectors_title=Director degli Storage daemon
|
||||
sdirectors_none=Nessun Director è stato ancora definito.
|
||||
sdirectors_name=Nome del Director
|
||||
sdirectors_pass=Password accettata
|
||||
sdirectors_add=Aggiungi un nuovo regista.
|
||||
sdirectors_delete=Elimina i registi selezionati
|
||||
sdirectors_return=elenco dei direttori
|
||||
sdirectors_derr=Impossibile eliminare i direttori
|
||||
sdirectors_add=Aggiungi un nuovo Director.
|
||||
sdirectors_delete=Elimina i Director selezionati
|
||||
sdirectors_return=elenco dei Director
|
||||
sdirectors_derr=Impossibile eliminare i Director
|
||||
|
||||
sdirector_title1=Crea un Daemon Director di archiviazione
|
||||
sdirector_title2=Modifica Daemon Director di archiviazione
|
||||
sdirector_header=Dettagli sul controllo di Remote Director
|
||||
sdirector_egone=Il regista non esiste più!
|
||||
sdirector_name=Nome del direttore
|
||||
sdirector_title1=Crea un Director dello Storage daemon
|
||||
sdirector_title2=Modifica Director dello Storage daemon
|
||||
sdirector_header=Dettagli sul controllo del Director remoto
|
||||
sdirector_egone=Il Director non esiste più!
|
||||
sdirector_name=Nome del Director
|
||||
sdirector_pass=Password accettata
|
||||
sdirector_monitor=Consentire solo il monitoraggio della connessione?
|
||||
sdirector_err=Impossibile salvare il daemon director di archiviazione
|
||||
sdirector_ename=Nome del regista mancante
|
||||
sdirector_eclash=Un regista con lo stesso nome esiste già
|
||||
sdirector_err=Impossibile salvare il Director dello Storage daemon
|
||||
sdirector_ename=Nome del Director mancante
|
||||
sdirector_eclash=Un Director con lo stesso nome esiste già
|
||||
sdirector_epass=Password mancante
|
||||
|
||||
storagec_title=Configurazione del daemon di archiviazione
|
||||
storagec_header=Opzioni del demone di archiviazione Bacula
|
||||
storagec_title=Configurazione del Director dello Storage daemon
|
||||
storagec_header=Opzioni dello Storage daemon
|
||||
storagec_name=Nome del demone
|
||||
storagec_port=Ascolta in porto
|
||||
storagec_jobs=Numero massimo di lavori simultanei
|
||||
storagec_enone=Nessuna configurazione del demone di archiviazione trovata!
|
||||
storagec_port=Porta di ascolto
|
||||
storagec_jobs=Numero massimo di processi simultanei
|
||||
storagec_enone=Nessuna configurazione dello Storage daemon trovata!
|
||||
storagec_dir=Directory di lavoro di Bacula
|
||||
storagec_err=Impossibile salvare la configurazione del daemon di archiviazione
|
||||
storagec_ename=Nome del daemon di archiviazione mancante o non valido
|
||||
storagec_err=Impossibile salvare la configurazione dello Storage daemon
|
||||
storagec_ename=Nome dello dello Storage daemon mancante o non valido
|
||||
storagec_eport=Numero porta mancante o non valido
|
||||
storagec_ejobs=Numero mancante o non valido di lavori simultanei
|
||||
storagec_ejobs=Numero mancante o non valido di processi simultanei
|
||||
storagec_edir=Directory di lavoro mancante o inesistente
|
||||
|
||||
chooser_title=Seleziona Pianifica
|
||||
chooser_monthsh=Mesi da eseguire
|
||||
chooser_title=Seleziona Pianificazione
|
||||
chooser_monthsh=Mesi in cui eseguire
|
||||
chooser_months=Mesi dell'anno
|
||||
chooser_all=Tutti
|
||||
chooser_sel=Selezionato sotto. ..
|
||||
chooser_ok=ok
|
||||
chooser_timeh=Ora del giorno da eseguire
|
||||
chooser_sel=Selezionati sotto. ..
|
||||
chooser_ok=OK
|
||||
chooser_timeh=Ora del giorno in cui eseguire
|
||||
chooser_time=Ora e minuti
|
||||
chooser_weekdaysh=Giorni della settimana da eseguire
|
||||
chooser_weekdaysh=Giorni della settimana in cui eseguire
|
||||
chooser_weekdays=Giorni della settimana
|
||||
chooser_weekdaynums=Numeri nel mese
|
||||
chooser_daysh=Giorni del mese da eseguire
|
||||
chooser_daysh=Giorni del mese in cui eseguire
|
||||
chooser_days=Date
|
||||
chooser_err=Impossibile selezionare la pianificazione
|
||||
chooser_emonths=Nessun mese scelto
|
||||
@@ -621,43 +621,43 @@ chooser_edaysrange=I giorni selezionati del mese devono essere contigui
|
||||
weekdaynum_1=Primo
|
||||
weekdaynum_2=Secondo
|
||||
weekdaynum_3=Terzo
|
||||
weekdaynum_4=Il quarto
|
||||
weekdaynum_4=Quarto
|
||||
weekdaynum_5=Quinto
|
||||
|
||||
restore_title=Ripristinare il backup
|
||||
restore_title2=Ripristina backup nel gruppo Bacula
|
||||
restore_title=Ripristina backup
|
||||
restore_title2=Ripristina backup nel gruppo
|
||||
restore_title3=Ripristina backup gruppo Bacula
|
||||
restore_header=Opzioni per il ripristino del processo di backup precedente
|
||||
restore_job=Lavoro da ripristinare
|
||||
restore_job=Processo da ripristinare
|
||||
restore_files=File da ripristinare
|
||||
restore_client=Ripristina su client o gruppo
|
||||
restore_storage=Ripristina dal dispositivo di archiviazione
|
||||
restore_where=Ripristina nella directory
|
||||
restore_where2=Altra directory principale
|
||||
restore_ewhere=Directory mancante in cui ripristinare
|
||||
restore_ewhere=Directory su cui ripristinare mancante
|
||||
restore_ok=Ripristina ora
|
||||
restore_err=Impossibile ripristinare il backup
|
||||
restore_efiles=Nessun file inserito
|
||||
restore_ejob=ID lavoro non valido
|
||||
restore_ejobfiles=Nessun file registrato per lavoro
|
||||
restore_run=Avvio del ripristino del processo $1 sul client $2 dalla memoria $3 ..
|
||||
restore_ejob=ID processo non valido
|
||||
restore_ejobfiles=Nessun file archiviato per il processo
|
||||
restore_run=Avvio del ripristino del processo $1 sul client $2 dal dispositivo $3 ..
|
||||
restore_return=modulo di ripristino
|
||||
restore_eok=.. impossibile avviare il lavoro
|
||||
restore_eok=.. impossibile avviare il processo
|
||||
restore_running=.. il ripristino è ora in esecuzione. Al termine, i risultati verranno visualizzati di seguito.
|
||||
restore_running2=.. il ripristino è stato avviato in background.
|
||||
restore_done=.. ripristino completato.
|
||||
restore_failed=.. il ripristino non è stato completato correttamente. Controllare il messaggio di errore sopra per i dettagli.
|
||||
restore_clist=--Clients--
|
||||
restore_glist=--Bacula Gruppi--
|
||||
restore_eclient=Nessun cliente o gruppo Bacula selezionato
|
||||
restore_clist=--Client--
|
||||
restore_glist=--Gruppi Bacula--
|
||||
restore_eclient=Nessun client o gruppo Bacula selezionato
|
||||
restore_egroup=Il gruppo Bacula non esiste
|
||||
restore_jlist=- Lavori con sistema singolo--
|
||||
restore_jlist=--Processi sistema singolo--
|
||||
restore_njlist=--Bacula Groups Jobs--
|
||||
restore_all=--Tutti i clienti del gruppo--
|
||||
restore_all=--Tutti i client del gruppo--
|
||||
restore_eclients=Nessun membro del backup del gruppo Bacula trovato!
|
||||
restore_eall1=L'opzione <b>Tutti i client di backup</b> deve essere selezionata per <b>Ripristina su client o gruppo</b> quando si esegue un ripristino di processo del gruppo Bacula
|
||||
restore_eall2=L'opzione <b>Tutti i client di backup</b> può essere selezionata solo per <b>Ripristina su client o gruppo</b> quando si esegue un ripristino di processo del gruppo Bacula
|
||||
restore_eall1=L'opzione <b>Tutti i client di backup</b> deve essere selezionata per <b>Ripristina su client o gruppo</b> quando si esegue un processo di ripristino del gruppo Bacula
|
||||
restore_eall2=L'opzione <b>Tutti i client di backup</b> può essere selezionata solo per <b>Ripristina su client o gruppo</b> quando si esegue un processo di ripristino del gruppo Bacula
|
||||
restore_enofiles=Nessuno dei file selezionati è nel backup
|
||||
restore_level_F=Pieno
|
||||
restore_level_F=Completo
|
||||
restore_level_D=Differenziale
|
||||
restore_level_I=incrementale
|
||||
@@ -2,7 +2,8 @@
|
||||
# Returns a list of files and directories under some directory
|
||||
|
||||
$trust_unknown_referers = 1;
|
||||
BEGIN { require './bacula-backup-lib.pl'; }
|
||||
use JSON::PP;
|
||||
require './bacula-backup-lib.pl';
|
||||
&ReadParse();
|
||||
|
||||
# Input sanitization
|
||||
|
||||
@@ -61,7 +61,8 @@ sub main
|
||||
'allow-symlinks|as!' => \$opt{'allow-symlinks'},
|
||||
'git-commit|gc!' => \$opt{'git-commit'},
|
||||
'log|l:s' => \$opt{'log'},
|
||||
'verbose|v:i' => \$opt{'verbose'});
|
||||
'verbose|v:i' => \$opt{'verbose'},
|
||||
'yes|y:i' => \$opt{'assumeyes'});
|
||||
|
||||
# Print help and exit
|
||||
pod2usage(0) if ($opt{'help'});
|
||||
@@ -70,6 +71,11 @@ sub main
|
||||
if (!defined($opt{'verbose'})) {
|
||||
$opt{'verbose'} = 1;
|
||||
}
|
||||
|
||||
# Enforce yes for all questions
|
||||
if (defined($opt{'assumeyes'})) {
|
||||
$opt{'assumeyes'} = 1;
|
||||
}
|
||||
|
||||
# Get current path
|
||||
my $path = cwd;
|
||||
@@ -232,7 +238,7 @@ sub main
|
||||
# Just run tests, and exit, without writing anything
|
||||
if (@{ $opt{'keys-test'} }) {
|
||||
say CYAN, "Translation testing for selected keys is about to start ..", RESET;
|
||||
if (prompt('next')) {
|
||||
if (prompt('next', \%opt)) {
|
||||
go(\%opt, \%data);
|
||||
}
|
||||
} else {
|
||||
@@ -248,7 +254,7 @@ sub main
|
||||
if ($opt{'mode'} eq 'clean') {
|
||||
# # Execute clean
|
||||
talk('clean-pre', \%opt, \%data);
|
||||
if (prompt('next')) {
|
||||
if (prompt('next', \%opt)) {
|
||||
go(\%opt, \%data);
|
||||
}
|
||||
}
|
||||
@@ -258,7 +264,7 @@ sub main
|
||||
|
||||
# Execute force transcode/translate
|
||||
talk('overwrite-pre', \%opt, \%data);
|
||||
if (prompt('next')) {
|
||||
if (prompt('next', \%opt)) {
|
||||
go(\%opt, \%data);
|
||||
}
|
||||
}
|
||||
@@ -283,7 +289,7 @@ sub main
|
||||
talk('sync-pre', \%opt, \%data);
|
||||
}
|
||||
|
||||
if (prompt('next')) {
|
||||
if (prompt('next', \%opt)) {
|
||||
go(\%opt, \%data);
|
||||
}
|
||||
}
|
||||
@@ -546,7 +552,7 @@ sub language_transcode
|
||||
eval {$string = decode($encoding, $string)};
|
||||
if ($@) {
|
||||
say "Error found: $@";
|
||||
if (!prompt('next')) {
|
||||
if (!prompt('next', $opt)) {
|
||||
exit;
|
||||
}
|
||||
}
|
||||
@@ -1692,8 +1698,10 @@ sub get_google_translate_token
|
||||
|
||||
sub prompt
|
||||
{
|
||||
my ($q) = @_;
|
||||
|
||||
my ($q, $opt) = @_;
|
||||
if ($opt->{'assumeyes'}) {
|
||||
return 1;
|
||||
}
|
||||
if ($q eq 'next') {
|
||||
return prompt("Do you want to proceed?");
|
||||
}
|
||||
|
||||
153
bin/patch
Executable file
153
bin/patch
Executable file
@@ -0,0 +1,153 @@
|
||||
#!/usr/bin/env perl
|
||||
# patch - Apply a patch to Webmin core or its modules from GitHub or a local file
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
use 5.010;
|
||||
|
||||
use Getopt::Long qw(:config permute pass_through);
|
||||
use Pod::Usage;
|
||||
use File::Basename;
|
||||
use Cwd qw(cwd);
|
||||
|
||||
my %opt;
|
||||
GetOptions(
|
||||
'help|h' => \$opt{'help'},
|
||||
'config|c=s' => \$opt{'config'},
|
||||
);
|
||||
pod2usage(0) if ($opt{'help'});
|
||||
|
||||
# Get Webmin path
|
||||
my $path = cwd;
|
||||
my $lib = "web-lib-funcs.pl";
|
||||
if (!-r "$path/$lib") {
|
||||
$path = dirname(dirname($0));
|
||||
if (!-r "$path/$lib") {
|
||||
$path = $path = Cwd::realpath('..');
|
||||
}
|
||||
}
|
||||
|
||||
# Init core
|
||||
my $config_dir = $opt{'config'} || '/etc/webmin';
|
||||
$ENV{'WEBMIN_CONFIG'} = $config_dir;
|
||||
push(@INC, $path);
|
||||
eval 'use WebminCore';
|
||||
init_config();
|
||||
|
||||
# Check if curl is installed
|
||||
if (!has_command('curl')) {
|
||||
print "curl is not installed\n";
|
||||
exit 1;
|
||||
}
|
||||
|
||||
# Check if git is installed
|
||||
if (!has_command('git')) {
|
||||
print "git is not installed\n";
|
||||
exit 1;
|
||||
}
|
||||
|
||||
# Get patch URL or file
|
||||
my $patch = $ARGV[0];
|
||||
|
||||
# Params check
|
||||
if (!$patch) {
|
||||
pod2usage(0);
|
||||
exit 1;
|
||||
}
|
||||
|
||||
# Patch check
|
||||
if ($patch !~ /^https?:\/\//) {
|
||||
if (!-r $patch) {
|
||||
print "Patch file $patch doesn't exist\n";
|
||||
exit 1;
|
||||
}
|
||||
}
|
||||
elsif ($patch =~ /^https?:\/\/(github|gitlab)\.com/ &&
|
||||
$patch !~ /\.patch$/ && $patch !~ /\.diff$/) {
|
||||
$patch .= '.patch';
|
||||
}
|
||||
|
||||
# Parse module name from URL
|
||||
my $module = "";
|
||||
if ($patch =~ m{https://(github|gitlab)\.com/[^/]+/([^/]+)/commit/[^/]+}) {
|
||||
$module = $2;
|
||||
$module = "" if ($2 eq 'webmin');
|
||||
# Special handling for some modules
|
||||
$module = $module =~ /^virtualmin-pro$/ ?
|
||||
'virtual-server/pro' :
|
||||
'virtual-server'
|
||||
if $module =~ /^virtualmin-(gpl|pro)$/;
|
||||
}
|
||||
|
||||
# Check if module exists
|
||||
if (!-d "$path/$module") {
|
||||
print "Module $module doesn't exist\n";
|
||||
exit 1;
|
||||
}
|
||||
|
||||
# Download command or cat patch file
|
||||
my $cmd;
|
||||
if ($patch =~ /^https?:\/\//) {
|
||||
$cmd = "curl -s @{[quotemeta($patch)]}";
|
||||
chdir "$path/$module";
|
||||
}
|
||||
else {
|
||||
$cmd = "cat @{[quotemeta($patch)]}";
|
||||
}
|
||||
|
||||
# Apply patch using Git
|
||||
my $output = `$cmd 2>&1 | git apply --reject --verbose --whitespace=fix 2>&1`;
|
||||
if ($output !~ /applied patch.*?cleanly/i) {
|
||||
print "Patch failed: $output\n";
|
||||
exit 1;
|
||||
}
|
||||
print "Patch applied successfully to:\n";
|
||||
print " $1\n" while $output =~ /^Applied patch\s+(\S+)/mg;
|
||||
system("$config_dir/restart");
|
||||
|
||||
=pod
|
||||
|
||||
=head1 NAME
|
||||
|
||||
patch
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
Apply a patch to Webmin core or its modules from GitHub or a local file.
|
||||
|
||||
=head1 SYNOPSIS
|
||||
|
||||
webmin patch patch-url/file
|
||||
|
||||
=head1 OPTIONS
|
||||
|
||||
=over
|
||||
|
||||
=item --help, -h
|
||||
|
||||
Give this help list.
|
||||
|
||||
=item --config, -c
|
||||
|
||||
Specify the full path to the Webmin configuration directory. Defaults to
|
||||
C</etc/webmin>
|
||||
|
||||
Examples of usage:
|
||||
|
||||
Apply a patch from a URL.
|
||||
|
||||
- webmin patch https://github.com/webmin/webmin/commit/e6a2bb15b0.patch
|
||||
|
||||
- webmin patch https://github.com/virtualmin/virtualmin-gpl/commit/f4433153d
|
||||
|
||||
Apply a patch from local file.
|
||||
|
||||
- cd /usr/libexec/webmin/virtual-server/pro &&
|
||||
webmin patch /root/virtualmin-pro/patches/patch-1.patch
|
||||
|
||||
=back
|
||||
|
||||
=head1 LICENSE AND COPYRIGHT
|
||||
|
||||
Copyright 2024 Ilia Ross <ilia@virtualmin.com>
|
||||
32
bin/webmin
32
bin/webmin
@@ -5,12 +5,9 @@ use strict;
|
||||
use warnings;
|
||||
BEGIN { $Pod::Usage::Formatter = 'Pod::Text::Color'; }
|
||||
use 5.010; # Version in CentOS 6
|
||||
|
||||
use Getopt::Long qw(:config permute pass_through);
|
||||
use Pod::Usage;
|
||||
use Term::ANSIColor qw(:constants);
|
||||
use File::Spec;
|
||||
use File::Basename;
|
||||
use Pod::Usage;
|
||||
|
||||
my $a0 = $ARGV[0];
|
||||
|
||||
@@ -38,8 +35,12 @@ sub main {
|
||||
}
|
||||
);
|
||||
|
||||
# Set defaults
|
||||
$opt{'config'} ||= "/etc/webmin";
|
||||
$opt{'commands'} = $a0;
|
||||
|
||||
# Load libs
|
||||
loadlibs(\%opt);
|
||||
|
||||
my @remain = @ARGV;
|
||||
# List commands?
|
||||
@@ -48,7 +49,6 @@ sub main {
|
||||
exit 0;
|
||||
} elsif ($opt{'version'} || $opt{'versions'}) {
|
||||
# Load libs
|
||||
my $root = root($opt{'config'});
|
||||
my $ver_checked = sub {
|
||||
my ($ver_remote, $ver_curr) = @_;
|
||||
if ($ver_remote && $ver_curr &&
|
||||
@@ -82,6 +82,7 @@ sub main {
|
||||
}
|
||||
};
|
||||
|
||||
my $root = root($opt{'config'});
|
||||
if ($root && -d $root) {
|
||||
require("$root/web-lib-funcs.pl");
|
||||
|
||||
@@ -207,6 +208,9 @@ exit main( \@ARGV ) if !caller(0);
|
||||
sub run_command {
|
||||
my ( $optref, $subcmd, $remainref ) = @_;
|
||||
|
||||
# Load libs
|
||||
loadlibs($optref);
|
||||
|
||||
# Figure out the Webmin root directory
|
||||
my $root = root($optref->{'config'});
|
||||
|
||||
@@ -237,6 +241,10 @@ sub run_command {
|
||||
|
||||
sub get_command_path {
|
||||
my ($root, $subcmd, $optref) = @_;
|
||||
|
||||
# Load libs
|
||||
loadlibs($optref);
|
||||
|
||||
# Check for a root-level command (in "$root/bin")
|
||||
my $command_path;
|
||||
if ($subcmd) {
|
||||
@@ -374,6 +382,20 @@ sub root {
|
||||
return $root;
|
||||
}
|
||||
|
||||
# loadlibs - Load libraries from the Webmin vendor dir
|
||||
# as those may not be installed as dependency, because
|
||||
# Webmin already provides them from package manager
|
||||
# perspective.
|
||||
sub loadlibs {
|
||||
my ($optref) = @_;
|
||||
$optref->{'config'} ||= "/etc/webmin";
|
||||
my $root = root($optref->{'config'});
|
||||
my $libroot = "$root/vendor_perl";
|
||||
eval "use lib '$libroot'";
|
||||
eval "use File::Basename";
|
||||
eval "use File::Spec";
|
||||
}
|
||||
|
||||
1;
|
||||
|
||||
=pod
|
||||
|
||||
@@ -64,12 +64,12 @@ our $dnssec_dlv_zone = "dlv.isc.org.";
|
||||
our @dnssec_dlv_key = ( 257, 3, 5, '"BEAAAAPHMu/5onzrEE7z1egmhg/WPO0+juoZrW3euWEn4MxDCE1+lLy2brhQv5rN32RKtMzX6Mj70jdzeND4XknW58dnJNPCxn8+jAGl2FZLK8t+1uq4W+nnA3qO2+DL+k6BD4mewMLbIYFwe0PG73Te9fZ2kJb56dhgMde5ymX4BI/oQ+cAK50/xvJv00Frf8kw6ucMTwFlgPe+jnGxPPEmHAte/URkY62ZfkLoBAADLHQ9IrS2tryAe7mbBZVcOwIeU/Rw/mRx/vwwMCTgNboMQKtUdvNXDrYJDSHZws3xiRXF1Rf+al9UmZfSav/4NWLKjHzpT59k/VStTDN0YUuWrBNh"' );
|
||||
|
||||
my $rand_flag;
|
||||
if ($gconfig{'os_type'} =~ /-linux$/ &&
|
||||
if ($gconfig{'os_type'} =~ /-linux$/ &&
|
||||
$config{'force_random'} eq '0' &&
|
||||
-r "/dev/urandom" &&
|
||||
$bind_version =~ /^9\./ &&
|
||||
&compare_version_numbers($bind_version, '<', '9.14.2')) {
|
||||
# Version: 9.14.2 deprecated the use of -r option
|
||||
# Version: 9.14.2 deprecated the use of -r option
|
||||
# in favor of using /dev/random [bugs:#5370]
|
||||
$rand_flag = "-r /dev/urandom";
|
||||
}
|
||||
@@ -449,6 +449,9 @@ for(my $i=0; $i<@oldv || $i<@newv; $i++) {
|
||||
$newv[$i]->{'line'} = $_[0]->{'eline'};
|
||||
$newv[$i]->{'eline'} =
|
||||
$_[0]->{'eline'} + scalar(@nl) - 1;
|
||||
if (!defined($newv[$i]->{'index'})) {
|
||||
$newv[$i]->{'index'} = @$pm ? $pm->[@$pm - 1]->{'index'} + 1 : 0;
|
||||
}
|
||||
&renumber($parent, $_[0]->{'eline'}-1,
|
||||
$_[0]->{'file'}, scalar(@nl));
|
||||
}
|
||||
@@ -469,6 +472,9 @@ for(my $i=0; $i<@oldv || $i<@newv; $i++) {
|
||||
$newv[$i]->{'line'} = $_[0]->{'line'}+1;
|
||||
$newv[$i]->{'eline'} =
|
||||
$_[0]->{'line'} + scalar(@nl);
|
||||
if (!defined($newv[$i]->{'index'})) {
|
||||
$newv[$i]->{'index'} = 0;
|
||||
}
|
||||
&renumber($parent, $_[0]->{'line'},
|
||||
$_[0]->{'file'}, scalar(@nl));
|
||||
}
|
||||
@@ -1000,7 +1006,7 @@ else {
|
||||
}
|
||||
|
||||
if ($access{'dironly'}) {
|
||||
# Check directory access control
|
||||
# Check directory access control
|
||||
return 1 if (!$file);
|
||||
$file = &absolute_path($file);
|
||||
return 0 if (!&allowed_zone_file(\%access, $file));
|
||||
@@ -1330,9 +1336,9 @@ elsif ($type eq "DMARC") {
|
||||
print &ui_table_row($text{'value_dmarcfo'},
|
||||
&ui_select("dmarcfo", $dmarc->{'fo'},
|
||||
[ [ undef, $text{'default'} ],
|
||||
[ 0, $text{'value_dmarcfo0'} ],
|
||||
[ 1, $text{'value_dmarcfo1'} ],
|
||||
[ 'd', $text{'value_dmarcfod'} ],
|
||||
[ 0, $text{'value_dmarcfo0'} ],
|
||||
[ 1, $text{'value_dmarcfo1'} ],
|
||||
[ 'd', $text{'value_dmarcfod'} ],
|
||||
[ 's', $text{'value_dmarcfos'} ] ]));
|
||||
}
|
||||
elsif ($type eq "NSEC3PARAM") {
|
||||
@@ -1486,7 +1492,7 @@ return 1;
|
||||
|
||||
# expand_ip6(ip)
|
||||
# Transform compact (with ::) IPv6 address to the unique expanded form
|
||||
# (without :: and leading zeroes in all parts)
|
||||
# (without :: and leading zeroes in all parts)
|
||||
sub expand_ip6
|
||||
{
|
||||
my ($ip) = @_;
|
||||
@@ -1502,7 +1508,7 @@ return $ip;
|
||||
}
|
||||
|
||||
# expandall_ip6(ip)
|
||||
# Transform IPv6 address to the expanded form containing all internal 0's
|
||||
# Transform IPv6 address to the expanded form containing all internal 0's
|
||||
sub expandall_ip6
|
||||
{
|
||||
my ($ip) = @_;
|
||||
@@ -1513,7 +1519,7 @@ $ip =~ s/(:|^)(\w)(?=:|$)/:000$2/g;
|
||||
return $ip;
|
||||
}
|
||||
|
||||
sub time_unit_choice
|
||||
sub time_unit_choice
|
||||
{
|
||||
my ($name, $value) = @_;
|
||||
return &ui_select($name, $value =~ /^(S?)$/i ? "" :
|
||||
@@ -1842,10 +1848,6 @@ sub create_slave_zone
|
||||
{
|
||||
my $parent = &get_config_parent();
|
||||
my $conf = $parent->{'members'};
|
||||
my $opts = &find("options", $conf);
|
||||
if (!$opts) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
# Check if exists in the view
|
||||
my @zones;
|
||||
@@ -1939,9 +1941,6 @@ my ($name, $slaves, $viewname, $file, $records) = @_;
|
||||
my $parent = &get_config_parent();
|
||||
my $conf = $parent->{'members'};
|
||||
my $opts = &find("options", $conf);
|
||||
if (!$opts) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
# Check if exists in the view
|
||||
my @zones;
|
||||
@@ -1976,22 +1975,36 @@ if (!$file) {
|
||||
push(@{$dir->{'members'}}, { 'name' => 'file',
|
||||
'values' => [ $file ] } );
|
||||
|
||||
# Add slave IPs
|
||||
if (@$slaves) {
|
||||
# Allow transfer from slave IPs
|
||||
my (@notify, @transfer);
|
||||
foreach my $s (@$slaves) {
|
||||
push(@notify, { 'name' => $s });
|
||||
push(@transfer, { 'name' => $s });
|
||||
}
|
||||
if (@transfer) {
|
||||
my $gat = $opts ? &find("allow-transfer", $opts->{'members'}) : undef;
|
||||
if ($gat) {
|
||||
push(@transfer, @{$gat->{'members'}});
|
||||
}
|
||||
}
|
||||
if (@notify) {
|
||||
my %done;
|
||||
@notify = grep { !$done{$_->{'name'}}++ } @notify;
|
||||
my $also = { 'name' => 'also-notify',
|
||||
'type' => 1,
|
||||
'members' => [ ] };
|
||||
my $allow = { 'name' => 'allow-transfer',
|
||||
'type' => 1,
|
||||
'members' => [ ] };
|
||||
foreach my $s (@$slaves) {
|
||||
push(@{$also->{'members'}}, { 'name' => $s });
|
||||
push(@{$allow->{'members'}}, { 'name' => $s });
|
||||
}
|
||||
push(@{$dir->{'members'}}, $also, $allow);
|
||||
'members' => \@notify};
|
||||
push(@{$dir->{'members'}}, $also);
|
||||
push(@{$dir->{'members'}}, { 'name' => 'notify',
|
||||
'values' => [ 'yes' ] });
|
||||
}
|
||||
if (@transfer) {
|
||||
my %done;
|
||||
@transfer = grep { !$done{$_->{'name'}}++ } @transfer;
|
||||
my $allow = { 'name' => 'allow-transfer',
|
||||
'type' => 1,
|
||||
'members' => \@transfer };
|
||||
push(@{$dir->{'members'}}, $allow);
|
||||
}
|
||||
|
||||
# Create the zone file, with records
|
||||
my $ZONE;
|
||||
@@ -2627,7 +2640,7 @@ my $parent = &get_config_parent();
|
||||
my $bconf = &get_config();
|
||||
my $conf = $bconf;
|
||||
if ($zone->{'viewindex'} ne '') {
|
||||
my $view = $conf->[$zone->{'viewindex'}];
|
||||
my $view = $conf->[$zone->{'viewindex'}];
|
||||
$conf = $view->{'members'};
|
||||
$parent = $view;
|
||||
}
|
||||
@@ -2896,7 +2909,7 @@ foreach my $slave (@slaves) {
|
||||
}
|
||||
if ($config{'extra_slaves'}) {
|
||||
push(@otherslaves,
|
||||
grep { $_ ne '' }
|
||||
grep { $_ ne '' }
|
||||
map { &to_ipaddress($_) || &to_ip6address($_) }
|
||||
split(/\s+/, $config{'extra_slaves'}));
|
||||
}
|
||||
@@ -3314,7 +3327,7 @@ return &has_command($config{'signzone'}) &&
|
||||
}
|
||||
|
||||
# supports_dnssec_client()
|
||||
# Returns 2 if this BIND can send and verify DNSSEC requests, 1 if the
|
||||
# Returns 2 if this BIND can send and verify DNSSEC requests, 1 if the
|
||||
# dnssec-validation directive is not supported, 0 otherwise
|
||||
sub supports_dnssec_client
|
||||
{
|
||||
@@ -3339,13 +3352,15 @@ return $alg eq 'RSASHA256' ? ( 2048, 4096 ) :
|
||||
$alg eq 'NSEC3DSA' ? ( 512, 1024, 64 ) :
|
||||
$alg eq 'ECDSAP256SHA256' ? ( 128, 512 ) :
|
||||
$alg eq 'ECDSAP384SHA384' ? ( 128, 512 ) :
|
||||
$alg eq 'ED25519' ? ( 1, 512 ) :
|
||||
$alg eq 'ED448' ? ( 1, 512 ) :
|
||||
( );
|
||||
}
|
||||
|
||||
sub list_dnssec_algorithms
|
||||
{
|
||||
return ("RSASHA1", "RSASHA256", "RSAMD5", "DSA", "DH", "HMAC-MD5",
|
||||
"NSEC3RSASHA1", "NSEC3DSA", "ECDSAP256SHA256", "ECDSAP384SHA384");
|
||||
"NSEC3RSASHA1", "NSEC3DSA", "ECDSAP256SHA256", "ECDSAP384SHA384", "ED25519", "ED448");
|
||||
}
|
||||
|
||||
# get_keys_dir(&zone|&zone-name)
|
||||
@@ -3591,7 +3606,7 @@ for(my $i=$#recs; $i>=0; $i--) {
|
||||
if ($recs[$i]->{'type'} eq 'NSEC' ||
|
||||
$recs[$i]->{'type'} eq 'NSEC3' ||
|
||||
$recs[$i]->{'type'} eq 'RRSIG' ||
|
||||
$recs[$i]->{'type'} eq 'NSEC3PARAM' && $tools ||
|
||||
$recs[$i]->{'type'} eq 'NSEC3PARAM' ||
|
||||
$recs[$i]->{'type'} eq 'DNSKEY') {
|
||||
&delete_record($fn, $recs[$i]);
|
||||
}
|
||||
@@ -3632,7 +3647,7 @@ while($tries++ < 10) {
|
||||
$out = &backquote_logged(
|
||||
"cd ".quotemeta($dir)." && ".
|
||||
"$config{'signzone'} -o ".quotemeta($dom).
|
||||
($alg =~ /^(NSEC3|RSASHA256|RSASHA512|ECCGOST|ECDSAP256SHA256|ECDSAP384SHA384)/ ? " -3 - -u" : "").
|
||||
($alg =~ /^(NSEC3|RSASHA256|RSASHA512|ECCGOST|ECDSAP256SHA256|ECDSAP384SHA384|ED25519|ED448)/ ? " -3 - -u" : "").
|
||||
" -f ".quotemeta($signed)." ".
|
||||
quotemeta($chrootfn)." 2>&1");
|
||||
last if (!$?);
|
||||
@@ -3704,11 +3719,11 @@ my ($z, $recs, $bump) = @_;
|
||||
|
||||
# Check if zones are managed by dnssec-tools
|
||||
my $dom = $z->{'members'} ? $z->{'values'}->[0] : $z->{'name'};
|
||||
|
||||
# If zone is managed through dnssec-tools use zonesigner for resigning the zone
|
||||
|
||||
# If zone is managed through dnssec-tools use zonesigner for resigning the zone
|
||||
if (&check_if_dnssec_tools_managed($dom)) {
|
||||
# Do the signing
|
||||
my $zonefile = &get_zone_file($z);
|
||||
my $zonefile = &get_zone_file($z);
|
||||
my $krfile = "$zonefile".".krf";
|
||||
|
||||
&lock_file(&make_chroot($zonefile));
|
||||
@@ -3890,21 +3905,21 @@ return \%rv;
|
||||
}
|
||||
|
||||
sub get_dnssectools_config
|
||||
{
|
||||
{
|
||||
&lock_file($config{'dnssectools_conf'});
|
||||
my $lref = &read_file_lines($config{'dnssectools_conf'});
|
||||
my @rv;
|
||||
my $lnum = 0;
|
||||
my $lref = &read_file_lines($config{'dnssectools_conf'});
|
||||
my @rv;
|
||||
my $lnum = 0;
|
||||
foreach my $line (@$lref) {
|
||||
my ($n, $v) = split(/\s+/, $line, 2);
|
||||
my ($n, $v) = split(/\s+/, $line, 2);
|
||||
# Do basic sanity checking
|
||||
$v =~ /(\S+)/;
|
||||
$v = $1;
|
||||
if ($n) {
|
||||
push(@rv, { 'name' => $n, 'value' => $v, 'line' => $lnum });
|
||||
}
|
||||
}
|
||||
$lnum++;
|
||||
}
|
||||
}
|
||||
&flush_file_lines();
|
||||
&unlock_file($config{'dnssectools_conf'});
|
||||
return \@rv;
|
||||
@@ -3919,7 +3934,7 @@ sub save_dnssectools_directive
|
||||
|
||||
&lock_file($config{'dnssectools_conf'});
|
||||
my $lref = &read_file_lines($config{'dnssectools_conf'});
|
||||
|
||||
|
||||
foreach my $n (keys %$nv) {
|
||||
my $old = &find($n, $conf);
|
||||
if ($old) {
|
||||
@@ -3943,14 +3958,14 @@ sub list_dnssec_dne
|
||||
}
|
||||
|
||||
# list_dnssec_dshash()
|
||||
# return a list containing the different DS record hash types
|
||||
# return a list containing the different DS record hash types
|
||||
sub list_dnssec_dshash
|
||||
{
|
||||
return ("SHA1", "SHA256");
|
||||
return ("SHA1", "SHA256");
|
||||
}
|
||||
|
||||
# schedule_dnssec_cronjob()
|
||||
# schedule a cron job to handle periodic resign operations
|
||||
# schedule a cron job to handle periodic resign operations
|
||||
sub schedule_dnssec_cronjob
|
||||
{
|
||||
my $job;
|
||||
@@ -3983,7 +3998,7 @@ sub schedule_dnssec_cronjob
|
||||
&unlock_file($module_config_file);
|
||||
}
|
||||
|
||||
# dt_sign_zone(zone, nsec3)
|
||||
# dt_sign_zone(zone, nsec3)
|
||||
# Replaces a zone's file with one containing signed records.
|
||||
sub dt_sign_zone
|
||||
{
|
||||
@@ -4022,9 +4037,9 @@ sub dt_sign_zone
|
||||
$recs[$i]->{'type'} eq 'RRSIG' ||
|
||||
$recs[$i]->{'type'} eq 'DNSKEY') {
|
||||
&delete_record($z, $recs[$i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
©_source_dest($z_chroot, $usz);
|
||||
©_source_dest($z_chroot, $usz);
|
||||
|
||||
$cmd = "$zonesigner $nsec3param".
|
||||
" -genkeys ".
|
||||
@@ -4066,13 +4081,13 @@ sub dt_sign_zone
|
||||
|
||||
rollrec_unlock();
|
||||
&unlock_file($z_chroot);
|
||||
|
||||
|
||||
&dt_rollerd_restart();
|
||||
&restart_bind();
|
||||
return undef;
|
||||
}
|
||||
|
||||
# dt_resign_zone(zone-name, zonefile, krfile, threshold)
|
||||
# dt_resign_zone(zone-name, zonefile, krfile, threshold)
|
||||
# Replaces a zone's file with one containing signed records.
|
||||
sub dt_resign_zone
|
||||
{
|
||||
@@ -4093,7 +4108,7 @@ sub dt_resign_zone
|
||||
rollrec_lock();
|
||||
|
||||
# Remove DNSSEC records and save the unsigned zone file
|
||||
@recs = &read_zone_file($z, $d);
|
||||
@recs = &read_zone_file($z, $d);
|
||||
my $tools = &have_dnssec_tools_support();
|
||||
for(my $i=$#recs; $i>=0; $i--) {
|
||||
if ($recs[$i]->{'type'} eq 'NSEC' ||
|
||||
@@ -4102,12 +4117,12 @@ sub dt_resign_zone
|
||||
$recs[$i]->{'type'} eq 'RRSIG' ||
|
||||
$recs[$i]->{'type'} eq 'DNSKEY') {
|
||||
&delete_record($z, $recs[$i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
©_source_dest($z_chroot, $usz);
|
||||
©_source_dest($z_chroot, $usz);
|
||||
|
||||
if ($t > 0) {
|
||||
$threshold = "-threshold ".quotemeta("-$t"."d"." ");
|
||||
$threshold = "-threshold ".quotemeta("-$t"."d"." ");
|
||||
}
|
||||
|
||||
$cmd = "$zonesigner -verbose -verbose".
|
||||
@@ -4130,7 +4145,7 @@ sub dt_resign_zone
|
||||
}
|
||||
|
||||
# dt_zskroll_zone(zone-name)
|
||||
# Initiates a zsk rollover operation for the zone
|
||||
# Initiates a zsk rollover operation for the zone
|
||||
sub dt_zskroll_zone
|
||||
{
|
||||
my ($d) = @_;
|
||||
@@ -4143,7 +4158,7 @@ sub dt_zskroll_zone
|
||||
}
|
||||
|
||||
# dt_kskroll_zone(zone-name)
|
||||
# Initiates a ksk rollover operation for the zone
|
||||
# Initiates a ksk rollover operation for the zone
|
||||
sub dt_kskroll_zone
|
||||
{
|
||||
my ($d) = @_;
|
||||
@@ -4156,7 +4171,7 @@ sub dt_kskroll_zone
|
||||
}
|
||||
|
||||
# dt_notify_parentzone(zone-name)
|
||||
# Notifies rollerd that the new DS record has been published in the parent zone
|
||||
# Notifies rollerd that the new DS record has been published in the parent zone
|
||||
sub dt_notify_parentzone
|
||||
{
|
||||
my ($d) = @_;
|
||||
@@ -4169,7 +4184,7 @@ sub dt_notify_parentzone
|
||||
}
|
||||
|
||||
# dt_rollerd_restart()
|
||||
# Restart the rollerd daemon
|
||||
# Restart the rollerd daemon
|
||||
sub dt_rollerd_restart
|
||||
{
|
||||
my $rollerd;
|
||||
@@ -4181,7 +4196,7 @@ sub dt_rollerd_restart
|
||||
return $text{'dt_zone_enocmd'};
|
||||
}
|
||||
rollmgr_halt();
|
||||
$r = $config{"dnssectools_rollrec"};
|
||||
$r = $config{"dnssectools_rollrec"};
|
||||
$cmd = "$rollerd -rrfile ".quotemeta($r);
|
||||
&execute_command($cmd);
|
||||
return undef;
|
||||
@@ -4209,9 +4224,9 @@ sub dt_genkrf
|
||||
# Identify if this is a zsk or a ksk
|
||||
$key->{$f} =~ /(K\Q$dom\E\.\+\d+\+\d+)/;
|
||||
if ($key->{'ksk'}) {
|
||||
$kskcur = $1;
|
||||
$kskcur = $1;
|
||||
} else {
|
||||
$zskcur = $1;
|
||||
$zskcur = $1;
|
||||
}
|
||||
©_source_dest($key->{$f}, $keydir);
|
||||
&unlink_file($key->{$f});
|
||||
@@ -4222,7 +4237,7 @@ sub dt_genkrf
|
||||
return &text('dt_zone_enokey', $dom);
|
||||
}
|
||||
|
||||
# Remove the older dsset file
|
||||
# Remove the older dsset file
|
||||
if ($oldkeydir) {
|
||||
&unlink_file($oldkeydir."/"."dsset-".$dom.".");
|
||||
}
|
||||
@@ -4248,7 +4263,7 @@ sub dt_genkrf
|
||||
|
||||
|
||||
# dt_delete_dnssec_state(&zone)
|
||||
# Delete all DNSSEC-Tools meta-data for a given zone
|
||||
# Delete all DNSSEC-Tools meta-data for a given zone
|
||||
sub dt_delete_dnssec_state
|
||||
{
|
||||
my ($zone) = @_;
|
||||
@@ -4298,14 +4313,14 @@ sub dt_delete_dnssec_state
|
||||
$recs[$i]->{'type'} eq 'RRSIG' ||
|
||||
$recs[$i]->{'type'} eq 'DNSKEY') {
|
||||
&delete_record($z, $recs[$i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
&bump_soa_record($z, \@recs);
|
||||
|
||||
|
||||
&unlock_file($z_chroot);
|
||||
rollrec_unlock();
|
||||
|
||||
&dt_rollerd_restart();
|
||||
&dt_rollerd_restart();
|
||||
&restart_bind();
|
||||
} else {
|
||||
# Just delete the dsset- file
|
||||
@@ -4472,4 +4487,3 @@ return $r;
|
||||
}
|
||||
|
||||
1;
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ use warnings;
|
||||
no warnings 'redefine';
|
||||
no warnings 'uninitialized';
|
||||
# Globals
|
||||
our (%access, %text);
|
||||
our (%access, %text, $bind_version);
|
||||
our $dnssec_dlv_zone;
|
||||
|
||||
require './bind8-lib.pl';
|
||||
@@ -17,17 +17,18 @@ $access{'defaults'} || &error($text{'trusted_ecannot'});
|
||||
my $conf = &get_config();
|
||||
my $options = &find("options", $conf);
|
||||
my $mems = $options->{'members'};
|
||||
my @dlv = &find("dnssec-lookaside", $mems);
|
||||
my $tkeys = &find("trusted-keys", $conf);
|
||||
$tkeys ||= { 'members' => [ ] };
|
||||
|
||||
print &ui_form_start("save_trusted.cgi", "post");
|
||||
print &ui_table_start($text{'trusted_header'}, undef, 2);
|
||||
|
||||
# DNSSEC enabled?
|
||||
print &choice_input($text{'trusted_dnssec'}, 'dnssec-enable', $mems,
|
||||
$text{'yes'}, 'yes', $text{'no'}, 'no',
|
||||
$text{'default'}, undef);
|
||||
if (&compare_version_numbers($bind_version, '<', '9.16.0')) {
|
||||
# DNSSEC enabled?
|
||||
print &choice_input($text{'trusted_dnssec'}, 'dnssec-enable', $mems,
|
||||
$text{'yes'}, 'yes', $text{'no'}, 'no',
|
||||
$text{'default'}, undef);
|
||||
}
|
||||
if (&supports_dnssec_client() == 2) {
|
||||
print &choice_input($text{'trusted_validation'},
|
||||
'dnssec-validation', $mems,
|
||||
@@ -36,33 +37,6 @@ if (&supports_dnssec_client() == 2) {
|
||||
$text{'default'}, undef);
|
||||
}
|
||||
|
||||
# Trusted DLVs (obsolete)
|
||||
if (@dlv) {
|
||||
my @dtable = ( );
|
||||
my $i = 0;
|
||||
foreach my $d (@dlv, { 'values' => [ '.' ] }) {
|
||||
my $dlv = $d->{'values'}->[0];
|
||||
$dlv = "" if ($dlv eq ".");
|
||||
push(@dtable, [
|
||||
&ui_opt_textbox("anchor_$i", $d->{'values'}->[2],
|
||||
30, $text{'trusted_none'}),
|
||||
&ui_opt_textbox("dlv_$i", $dlv, 20,
|
||||
$text{'trusted_root'}) ]);
|
||||
$i++;
|
||||
}
|
||||
print &ui_table_row($text{'trusted_dlvs'},
|
||||
&ui_radio("dlv_auto",
|
||||
@dlv == 0 ? 2 :
|
||||
@dlv == 1 && $dlv[0]->{'values'}->[0] eq 'auto' ? 1 : 0,
|
||||
[ [ 1, $text{'trusted_dlvs1'} ],
|
||||
[ 2, $text{'trusted_dlvs2'} ],
|
||||
[ 0, $text{'trusted_dlvs0'} ] ])."<br>\n".
|
||||
&ui_columns_table([ $text{'trusted_anchor'},
|
||||
$text{'trusted_dlv'} ],
|
||||
undef,
|
||||
\@dtable), 3);
|
||||
}
|
||||
|
||||
# Trusted keys
|
||||
if (@{$tkeys->{'members'}}) {
|
||||
my @ktable = ( );
|
||||
|
||||
@@ -40,6 +40,7 @@ if (@keyrecs) {
|
||||
my $kt = $key->{'ksk'} ? 'ksk' : 'zone';
|
||||
my ($keyrec) = grep { $_->{'values'}->[0] ==
|
||||
($key->{'ksk'} ? 257 : 256) } @keyrecs;
|
||||
next if (!$keyrec);
|
||||
my $keyline = format_dnssec_public_key(
|
||||
join(" ", $keyrec->{'name'}, $keyrec->{'class'},
|
||||
$keyrec->{'type'}, @{$keyrec->{'values'}}));
|
||||
|
||||
@@ -147,6 +147,8 @@ master_defttl=Standaard lewendige tyd vir rekords
|
||||
master_edefttl='$1' is nie 'n geldige standaardtyd vir lewering van rekords nie
|
||||
master_esoagone=Geen SOA-rekord gevind nie!
|
||||
master_einclude=Bykomende sjabloonlêer bestaan nie
|
||||
master_vmin=Hierdie sone word deur Virtualmin bestuur. Rekords moet geredigeer word met behulp van die Virtualmin UI, om te verseker dat dit ooreenstem met ander virtuele bediener instellings.
|
||||
master_vminalias=Hierdie sone is 'n alias van 'n Virtualmin-domein, wat gesinchroniseer word met sy teiken. Rekords moet nooit hier geredigeer word nie, aangesien enige veranderinge oorgeskryf sal word!
|
||||
|
||||
delete_title=Vee sone uit
|
||||
delete_mesg=Is u seker dat u die sone $1 wil verwyder? Alle rekords en die sone-lêer sal uitgevee word.
|
||||
|
||||
@@ -147,6 +147,8 @@ master_defttl=الوقت الافتراضي للعيش للسجلات
|
||||
master_edefttl='$1' is not a valid default time-to-live for records
|
||||
master_esoagone=لم يتم العثور على سجل الخدمية!
|
||||
master_einclude=ملف القالب الإضافي غير موجود
|
||||
master_vmin=تتم إدارة هذه المنطقة بواسطة Virtualmin. يجب تحرير السجلات باستخدام Virtualmin UI ، للتأكد من أنها متوافقة مع إعدادات الخادم الظاهري الأخرى.
|
||||
master_vminalias=هذه المنطقة هي اسم مستعار لنطاق Virtualmin ، والذي يتم الاحتفاظ به متزامنًا مع هدفه. يجب عدم تحرير السجلات هنا مطلقًا ، حيث سيتم الكتابة فوق أي تغييرات!
|
||||
|
||||
delete_title=حذف المنطقة
|
||||
delete_mesg=Are you sure you want to delete the zone $1 ? All records and the zone file will be deleted.
|
||||
|
||||
@@ -147,6 +147,8 @@ master_defttl=Час жыць да запісаў па змаўчанні
|
||||
master_edefttl="$1" не з'яўляецца дапушчальным да запісу часу для запісу па змаўчанні
|
||||
master_esoagone=Запіс SOA не знойдзены!
|
||||
master_einclude=Дадатковы файл шаблону не існуе
|
||||
master_vmin=Гэта зона кіруецца Virtualmin. Запісы трэба рэдагаваць з дапамогай інтэрфейсу Virtualmin, каб пераканацца, што яны адпавядаюць наладам іншых віртуальных сервераў.
|
||||
master_vminalias=Гэтая зона з'яўляецца псеўданімам дамена Virtualmin, які падтрымліваецца ў сінхранізацыі з мэтай. Запісы ніколі не павінны рэдагавацца тут, бо любыя змены будуць перазапісаны!
|
||||
|
||||
delete_title=Выдаліць зону
|
||||
delete_mesg=Вы ўпэўнены, што хочаце выдаліць зону $1? Усе запісы і файл зоны будуць выдаленыя.
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
master_inview=$1 с оглед $2
|
||||
master_vmin=Тази зона се управлява от Virtualmin. Записите трябва да се редактират с помощта на потребителския интерфейс на Virtualmin, за да се гарантира, че са съвместими с други настройки на виртуален сървър.
|
||||
master_vminalias=Тази зона е псевдоним на домейн Virtualmin, който се поддържа в синхрон със своята цел. Записите никога не трябва да се редактират тук, тъй като всички промени ще бъдат презаписани!
|
||||
|
||||
delete_vwarn=Тази зона е свързана с домейна Virtualmin $1 и затова не трябва да се изтрива тук!
|
||||
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
master_inview=$1 a la vista $2
|
||||
master_vmin=Aquesta zona està gestionada per Virtualmin. Els registres s'han d'editar mitjançant la interfície d'usuari de Virtualmin, per assegurar-se que són coherents amb altres configuracions del servidor virtual.
|
||||
master_vminalias=Aquesta zona és un àlies d'un domini Virtualmin, que es manté sincronitzat amb el seu objectiu. Els registres no s'han d'editar mai aquí, ja que qualsevol canvi es sobreescriurà!
|
||||
|
||||
delete_onslave=També voleu suprimir-lo dels servidors esclaus?
|
||||
delete_errslave=La zona mestra ha suprimit bé, però s'han produït els errors següents en esclaus : $1
|
||||
|
||||
@@ -24,6 +24,8 @@ master_movedesc=Přesune tuto zónu do jiného zobrazení a přitom zachová vš
|
||||
master_applymsg2=Klepnutím na toto tlačítko použijete změny pouze pro tuto zónu. Toto bude fungovat, pouze pokud byly změny provedeny pro celý server alespoň jednou od vytvoření zóny.
|
||||
master_esoagone=Nebyl nalezen žádný záznam SOA!
|
||||
master_einclude=Další soubor šablony neexistuje
|
||||
master_vmin=Tuto zónu spravuje Virtualmin. Záznamy by měly být upravovány pomocí uživatelského rozhraní Virtualmin, aby bylo zajištěno, že budou konzistentní s ostatními nastaveními virtuálního serveru.
|
||||
master_vminalias=Tato zóna je alias domény Virtualmin, která je synchronizována s jejím cílem. Záznamy by zde nikdy neměly být upravovány, protože jakékoli změny budou přepsány!
|
||||
|
||||
delete_mesg3=Opravdu chcete odstranit zónu $1?
|
||||
delete_vwarn=Tato zóna je přidružena k doméně Virtualmin $1, a proto by zde neměla být odstraněna!
|
||||
|
||||
@@ -147,6 +147,8 @@ master_defttl=Standard tid til live for poster
|
||||
master_edefttl='$1' er ikke en gyldig standard-tid-til-live for poster
|
||||
master_esoagone=Ingen SOA-registrering fundet!
|
||||
master_einclude=Yderligere skabelonfil findes ikke
|
||||
master_vmin=Denne zone administreres af Virtualmin. Records bør redigeres ved hjælp af Virtualmin UI for at sikre, at de stemmer overens med andre virtuelle serverindstillinger.
|
||||
master_vminalias=Denne zone er et alias for et Virtualmin-domæne, som holdes synkroniseret med dets mål. Optegnelser bør aldrig redigeres her, da eventuelle ændringer vil blive overskrevet!
|
||||
|
||||
delete_title=Slet zone
|
||||
delete_mesg=Er du sikker på, at du vil slette zonen $1? Alle poster og zonefilen vil blive slettet.
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
master_inview=$1 im Blick $2
|
||||
master_vmin=Diese Zone wird von Virtualmin verwaltet. Datensätze sollten über die Virtualmin-Benutzeroberfläche bearbeitet werden, um sicherzustellen, dass sie mit anderen Einstellungen des virtuellen Servers konsistent sind.
|
||||
master_vminalias=Diese Zone ist ein Alias einer Virtualmin-Domäne, die mit ihrem Ziel synchron gehalten wird. Datensätze sollten hier niemals bearbeitet werden, da alle Änderungen überschrieben werden!
|
||||
|
||||
delete_vwarn=Diese Zone ist der Virtualmin-Domäne $1 zugeordnet und sollte daher hier nicht gelöscht werden!
|
||||
|
||||
|
||||
@@ -147,6 +147,8 @@ master_defttl=Προεπιλεγμένος χρόνος ζωής για αρχε
|
||||
master_edefttl=Το '$1' δεν είναι έγκυρη προεπιλεγμένη ώρα για ζωντανή εγγραφή
|
||||
master_esoagone=Δεν βρέθηκε αρχείο SOA!
|
||||
master_einclude=Δεν υπάρχει πρόσθετο αρχείο προτύπου
|
||||
master_vmin=Αυτή η ζώνη διαχειρίζεται το Virtualmin. Οι εγγραφές θα πρέπει να επεξεργάζονται χρησιμοποιώντας το Virtualmin UI, για να διασφαλιστεί ότι είναι συνεπείς με άλλες ρυθμίσεις εικονικού διακομιστή.
|
||||
master_vminalias=Αυτή η ζώνη είναι ένα ψευδώνυμο ενός τομέα Virtualmin, ο οποίος διατηρείται σε συγχρονισμό με τον στόχο του. Οι εγγραφές δεν πρέπει ποτέ να επεξεργάζονται εδώ, καθώς τυχόν αλλαγές θα αντικατασταθούν!
|
||||
|
||||
delete_title=Διαγραφή Ζώνης
|
||||
delete_mesg=Είστε βέβαιοι ότι θέλετε να διαγράψετε τη ζώνη $1; Όλες οι εγγραφές και το αρχείο ζώνης θα διαγραφούν.
|
||||
|
||||
@@ -37,6 +37,8 @@ master_defttl=Tiempo de vida predeterminado para registros
|
||||
master_edefttl='$1' no es un tiempo de vida predeterminado válido para los registros
|
||||
master_esoagone=¡No se ha encontrado el registro SOA!
|
||||
master_einclude=El archivo de plantilla adicional no existe
|
||||
master_vmin=Esta zona es administrada por Virtualmin. Los registros deben editarse mediante la interfaz de usuario de Virtualmin para garantizar que sean coherentes con otras configuraciones del servidor virtual.
|
||||
master_vminalias=Esta zona es un alias de un dominio de Virtualmin, que se mantiene sincronizado con su objetivo. Los registros nunca deben editarse aquí, ya que cualquier cambio se sobrescribirá
|
||||
|
||||
delete_mesg3=¿Está seguro de que desea eliminar la zona $1?
|
||||
delete_vwarn=Esta zona está asociada con el dominio Virtualmin $1, por lo que no debe eliminarse aquí.
|
||||
|
||||
@@ -147,6 +147,8 @@ master_defttl=Erregistroen bizitzeko denbora lehenetsia
|
||||
master_edefttl='$1' ez da erregistroen denbora bizitzeko balio lehenetsia
|
||||
master_esoagone=Ez da SOA erregistrorik aurkitu!
|
||||
master_einclude=Ez da txantiloi fitxategi gehigarririk existitzen
|
||||
master_vmin=Zona hau Virtualmin-ek kudeatzen du. Erregistroak Virtualmin UI erabiliz editatu behar dira, zerbitzari birtualeko beste ezarpen batzuekin bat datozela ziurtatzeko.
|
||||
master_vminalias=Zona hau Virtualmin domeinu baten alias bat da, zeina helbururekin sinkronizatuta mantentzen dena. Erregistroak ez dira inoiz hemen editatu behar, edozein aldaketa gainidatzi egingo baita!
|
||||
|
||||
delete_title=Ezabatu zona
|
||||
delete_mesg=Ziur $1 zona ezabatu nahi duzula? Erregistro guztiak eta zona fitxategia ezabatuko dira.
|
||||
|
||||
@@ -30,6 +30,8 @@ master_movedesc=این منطقه را به یک نمای دیگر منتقل م
|
||||
master_applymsg2=برای اعمال تغییرات فقط در این منطقه ، روی این دکمه کلیک کنید. این کار فقط در صورتی انجام می شود که حداقل یک بار از زمان ایجاد منطقه ، برای کل سرور اعمال شود.
|
||||
master_esoagone=هیچ سابقه SOA یافت نشد!
|
||||
master_einclude=پرونده الگوی اضافی وجود ندارد
|
||||
master_vmin=این منطقه توسط Virtualmin مدیریت می شود. رکوردها باید با استفاده از Virtualmin UI ویرایش شوند تا اطمینان حاصل شود که با سایر تنظیمات سرور مجازی سازگار هستند.
|
||||
master_vminalias=این منطقه نام مستعار یک دامنه Virtualmin است که با هدف خود هماهنگ می شود. سوابق هرگز نباید در اینجا ویرایش شوند، زیرا هر تغییری بازنویسی می شود!
|
||||
|
||||
delete_mesg3=Are you sure you want to delete the zone $1 ?
|
||||
delete_vwarn=این منطقه با دامنه Virtualmin $1 همراه است و بنابراین نباید در اینجا حذف شود!
|
||||
|
||||
@@ -147,6 +147,8 @@ master_defttl=Tietueiden oletusaika-aika
|
||||
master_edefttl='$1' ei ole kelvollinen oletusarvoinen elinaika tietueille
|
||||
master_esoagone=SOA-tietuetta ei löytynyt!
|
||||
master_einclude=Muuta mallitiedostoa ei ole
|
||||
master_vmin=Tätä vyöhykettä hallinnoi Virtualmin. Tietueita tulee muokata Virtualmin-käyttöliittymällä, jotta ne ovat yhdenmukaisia muiden virtuaalipalvelinasetusten kanssa.
|
||||
master_vminalias=Tämä vyöhyke on Virtualmin-verkkotunnuksen alias, joka pidetään synkronoituna kohteensa kanssa. Tietueita ei saa koskaan muokata täällä, sillä kaikki muutokset korvataan!
|
||||
|
||||
delete_title=Poista vyöhyke
|
||||
delete_mesg=Haluatko varmasti poistaa vyöhykkeen $1? Kaikki tietueet ja vyöhyketiedosto poistetaan.
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
master_vmin=Cette zone est gérée par Virtualmin. Les enregistrements doivent être modifiés à l'aide de l'interface utilisateur Virtualmin, pour s'assurer qu'ils sont cohérents avec les autres paramètres du serveur virtuel.
|
||||
master_vminalias=Cette zone est un alias d'un domaine Virtualmin, qui est synchronisé avec sa cible. Les enregistrements ne doivent jamais être modifiés ici, car toute modification sera écrasée !
|
||||
|
||||
slave_format=Format de fichier de zone
|
||||
slave_raw=Binaire brut
|
||||
slave_text=Texte brut
|
||||
|
||||
@@ -147,6 +147,8 @@ master_defttl=זמן ברירת המחדל לחיים עבור רשומות
|
||||
master_edefttl='$1' אינו זמן ברירת מחדל תקף לחיות עבור רשומות
|
||||
master_esoagone=לא נמצאה רשומת SOA!
|
||||
master_einclude=קובץ תבנית נוסף אינו קיים
|
||||
master_vmin=אזור זה מנוהל על ידי Virtualmin. יש לערוך את הרשומות באמצעות ממשק המשתמש של Virtualmin, כדי להבטיח שהן עולות בקנה אחד עם הגדרות שרת וירטואלי אחרות.
|
||||
master_vminalias=אזור זה הוא כינוי של דומיין Virtualmin, אשר נשמר מסונכרן עם היעד שלו. לעולם אין לערוך רשומות כאן, מכיוון שכל השינויים יוחלפו!
|
||||
|
||||
delete_title=מחק אזור
|
||||
delete_mesg=האם אתה בטוח שברצונך למחוק את האזור $1 ? כל הרשומות וקובץ האזור יימחקו.
|
||||
|
||||
@@ -147,6 +147,8 @@ master_defttl=Zadano vrijeme za snimanje uživo
|
||||
master_edefttl="$1" nije valjano zadano vrijeme za izradu zapisa
|
||||
master_esoagone=Nije pronađen SOA zapis!
|
||||
master_einclude=Dodatna datoteka predloška ne postoji
|
||||
master_vmin=Ovom zonom upravlja Virtualmin. Zapise treba uređivati pomoću korisničkog sučelja Virtualmin kako bi se osiguralo da su u skladu s drugim postavkama virtualnog poslužitelja.
|
||||
master_vminalias=Ova zona je pseudonim Virtualmin domene, koja je sinkronizirana sa svojim ciljem. Zapisi se nikada ne smiju uređivati ovdje, jer će sve promjene biti prebrisane!
|
||||
|
||||
delete_title=Izbriši zonu
|
||||
delete_mesg=Jeste li sigurni da želite izbrisati zonu $1? Svi zapisi i zonska datoteka bit će izbrisani.
|
||||
|
||||
@@ -10,6 +10,8 @@ master_inview=$1 a $2 nézetben
|
||||
master_egone=A $1 zóna egyetlen nézetben sem létezik
|
||||
master_egone2=A $1 zóna nem létezik!
|
||||
master_egone3=A $1 zóna a $2 nézetben nem létezik!
|
||||
master_vmin=Ezt a zónát a Virtualmin kezeli. A rekordokat a Virtualmin UI használatával kell szerkeszteni, hogy konzisztensek legyenek a többi virtuális szerver beállításával.
|
||||
master_vminalias=Ez a zóna egy Virtualmin tartomány álneve, amely szinkronban van a céljával. A rekordokat soha nem szabad itt szerkeszteni, mert az esetleges változtatások felülíródnak!
|
||||
|
||||
delete_vwarn=Ez a zóna a $1 Virtualmin domainhez van társítva, ezért itt nem szabad törölni!
|
||||
|
||||
|
||||
@@ -47,6 +47,8 @@ master_defttl=Tempo di vita predefinito per i record
|
||||
master_edefttl='$1' non è un time-to-live predefinito valido per i record
|
||||
master_esoagone=Nessun record SOA trovato!
|
||||
master_einclude=Non esiste un file modello aggiuntivo
|
||||
master_vmin=Questa zona è gestita da Virtualmin. I record devono essere modificati utilizzando l'interfaccia utente di Virtualmin, per garantire che siano coerenti con le altre impostazioni del server virtuale.
|
||||
master_vminalias=Questa zona è un alias di un dominio Virtualmin, che viene mantenuto sincronizzato con la sua destinazione. I record non dovrebbero mai essere modificati qui, poiché qualsiasi modifica verrà sovrascritta!
|
||||
|
||||
delete_mesg3=Sei sicuro di voler eliminare la zona $1?
|
||||
delete_onslave=Eliminare anche dai server slave?
|
||||
|
||||
@@ -13,6 +13,8 @@ master_inview=ビュー $2の $1
|
||||
master_egone=ゾーン$1はどのビューにも存在しません
|
||||
master_egone2=ゾーン$1は存在しません!
|
||||
master_egone3=ビュー$2のゾーン$1は存在しません!
|
||||
master_vmin=このゾーンは Virtualmin によって管理されます。レコードは、他の仮想サーバー設定との一貫性を確保するために、Virtualmin UI を使用して編集する必要があります。
|
||||
master_vminalias=このゾーンは Virtualmin ドメインのエイリアスであり、ターゲットとの同期が保たれます。変更が上書きされるため、ここでレコードを編集しないでください。
|
||||
|
||||
delete_vwarn=このゾーンはVirtualminドメイン $1に関連付けられているため、ここで削除しないでください!
|
||||
delete_vwarn2=このゾーンはVirtualminドメイン $1および $2に関連付けられているため、ここで削除しないでください!
|
||||
|
||||
@@ -71,6 +71,8 @@ master_defttl=레코드의 기본 수명
|
||||
master_edefttl='$1'은 (는) 유효한 기본 유효 기간이 아닙니다.
|
||||
master_esoagone=SOA 레코드가 없습니다!
|
||||
master_einclude=추가 템플릿 파일이 없습니다
|
||||
master_vmin=이 영역은 Virtualmin에서 관리합니다. 다른 가상 서버 설정과 일관성을 유지하려면 Virtualmin UI를 사용하여 레코드를 편집해야 합니다.
|
||||
master_vminalias=이 영역은 대상과 동기화된 상태로 유지되는 Virtualmin 도메인의 별칭입니다. 모든 변경 사항을 덮어쓰게 되므로 여기에서 레코드를 편집하면 안 됩니다!
|
||||
|
||||
delete_mesg2=루트 영역을 삭제 하시겠습니까? DNS 서버가 더 이상 인터넷에서 주소를 조회하지 못할 수 있습니다.
|
||||
delete_mesg3=영역 $1을 삭제 하시겠습니까?
|
||||
|
||||
@@ -147,6 +147,8 @@ master_defttl=Numatytasis įrašų gyvavimo laikas
|
||||
master_edefttl=„$1“ nėra tinkamas numatytasis įrašų gyvavimo laikas
|
||||
master_esoagone=Nerastas SOA įrašas.
|
||||
master_einclude=Papildomo šablono failo nėra
|
||||
master_vmin=Šią zoną valdo „Virtualmin“. Įrašai turi būti redaguojami naudojant „Virtualmin“ vartotojo sąsają, siekiant užtikrinti, kad jie atitiktų kitus virtualaus serverio nustatymus.
|
||||
master_vminalias=Ši zona yra „Virtualmin“ domeno slapyvardis, kuris yra sinchronizuojamas su savo taikiniu. Įrašai čia niekada neturėtų būti redaguojami, nes bet kokie pakeitimai bus perrašyti!
|
||||
|
||||
delete_title=Ištrinti zoną
|
||||
delete_mesg=Ar tikrai norite ištrinti $1 zoną? Visi įrašai ir zonos failai bus ištrinti.
|
||||
|
||||
@@ -147,6 +147,8 @@ master_defttl=Noklusētais ierakstu dzīves laiks
|
||||
master_edefttl='$1' nav derīgs ierakstu noklusējuma dzīves laiks
|
||||
master_esoagone=Nav atrasts neviens SOA ieraksts.
|
||||
master_einclude=Papildu veidnes fails neeksistē
|
||||
master_vmin=Šo zonu pārvalda Virtualmin. Ieraksti ir jārediģē, izmantojot Virtualmin UI, lai nodrošinātu to atbilstību citiem virtuālā servera iestatījumiem.
|
||||
master_vminalias=Šī zona ir Virtualmin domēna aizstājvārds, kas tiek sinhronizēts ar tā mērķi. Ierakstus nekad nevajadzētu rediģēt šeit, jo visas izmaiņas tiks pārrakstītas!
|
||||
|
||||
delete_title=Dzēst zonu
|
||||
delete_mesg=Vai tiešām vēlaties izdzēst zonu $1? Visi ieraksti un zonas fails tiks izdzēsti.
|
||||
|
||||
@@ -147,6 +147,8 @@ master_defttl=Waktu untuk hidup untuk rekod lalai
|
||||
master_edefttl='$1' bukan masa lalai yang sah untuk rekod
|
||||
master_esoagone=Tiada rekod SOA ditemui!
|
||||
master_einclude=Fail templat tambahan tidak wujud
|
||||
master_vmin=Zon ini diuruskan oleh Virtualmin. Rekod hendaklah diedit menggunakan UI Virtualmin, untuk memastikan ia konsisten dengan tetapan pelayan maya yang lain.
|
||||
master_vminalias=Zon ini ialah alias domain Virtualmin, yang disimpan selari dengan sasarannya. Rekod tidak boleh diedit di sini, kerana sebarang perubahan akan ditimpa!
|
||||
|
||||
delete_title=Padamkan Zon
|
||||
delete_mesg=Adakah anda pasti mahu memadamkan zon $1? Semua rekod dan fail zon akan dihapuskan.
|
||||
|
||||
@@ -147,6 +147,8 @@ master_defttl=Żmien tal-għajxien awtomatiku għar-rekords
|
||||
master_edefttl="$1" m'huwiex il-ħin ta 'l-għajxien validu għar-rekords
|
||||
master_esoagone=Ma nstab l-ebda rekord SOA!
|
||||
master_einclude=Fajl mudell addizzjonali ma jeżistix
|
||||
master_vmin=Din iż-żona hija mmexxija minn Virtualmin. Ir-rekords għandhom jiġu editjati bl-użu ta' Virtualmin UI, biex jiġi żgurat li jkunu konsistenti ma' settings oħra ta' server virtwali.
|
||||
master_vminalias=Din iż-żona hija alias ta' dominju Virtualmin, li jinżamm sinkronizzat mal-mira tiegħu. Ir-rekords m'għandhom qatt jiġu editjati hawn, peress li kwalunkwe tibdil se jinkiteb fuqhom!
|
||||
|
||||
delete_title=Ħassar Żona
|
||||
delete_mesg=Int żgur li trid tħassar iż-żona $1? Ir-rekords kollha u l-fajl taż-żona se jitħassru.
|
||||
|
||||
@@ -9,6 +9,8 @@ master_inview=$1 in zicht $2
|
||||
master_egone=Zone $1 bestaat in geen enkele weergave
|
||||
master_egone2=Zone $1 bestaat niet!
|
||||
master_egone3=Zone $1 in zicht $2 bestaat niet!
|
||||
master_vmin=Deze zone wordt beheerd door Virtualmin. Records moeten worden bewerkt met behulp van de gebruikersinterface van Virtualmin, om ervoor te zorgen dat ze consistent zijn met andere virtuele serverinstellingen.
|
||||
master_vminalias=Deze zone is een alias van een Virtualmin-domein, dat synchroon wordt gehouden met zijn doel. Records mogen hier nooit worden bewerkt, omdat eventuele wijzigingen worden overschreven!
|
||||
|
||||
delete_vwarn=Deze zone is gekoppeld aan het Virtualmin-domein $1 en mag hier dus niet worden verwijderd!
|
||||
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
master_vmin=Denne sonen administreres av Virtualmin. Oppføringer bør redigeres ved hjelp av Virtualmin-grensesnittet for å sikre at de stemmer overens med andre virtuelle serverinnstillinger.
|
||||
master_vminalias=Denne sonen er et alias for et Virtualmin-domene, som holdes synkronisert med målet. Poster bør aldri redigeres her, da eventuelle endringer vil bli overskrevet!
|
||||
|
||||
slave_format=Sone filformat
|
||||
slave_raw=Rå binær
|
||||
slave_text=Ren tekst
|
||||
|
||||
@@ -3,6 +3,8 @@ index_eexpired_conf=Automatyczne podpisywanie powinno zostać ponownie włączon
|
||||
index_eexpired_mod=Użyj modułu $1, aby wyłączyć DNSSEC dla tych domen lub sprawdzić, dlaczego podpisywanie kończy się niepowodzeniem.
|
||||
|
||||
master_inview=$1 w widoku $2
|
||||
master_vmin=Tą strefą zarządza Virtualmin. Rekordy należy edytować za pomocą interfejsu użytkownika Virtualmin, aby zapewnić ich spójność z innymi ustawieniami serwera wirtualnego.
|
||||
master_vminalias=Ta strefa jest aliasem domeny Virtualmin, która jest synchronizowana z celem. Rekordów nigdy nie należy tutaj edytować, ponieważ wszelkie zmiany zostaną nadpisane!
|
||||
|
||||
delete_vwarn=Ta strefa jest powiązana z domeną Virtualmin $1, dlatego nie należy jej tutaj usuwać!
|
||||
|
||||
|
||||
@@ -88,6 +88,8 @@ master_defttl=Tempo de vida padrão para registros
|
||||
master_edefttl='$1' não é um tempo de vida padrão válido para registros
|
||||
master_esoagone=Nenhum registro SOA encontrado!
|
||||
master_einclude=Arquivo de modelo adicional não existe
|
||||
master_vmin=Esta zona é gerenciada pelo Virtualmin. Os registros devem ser editados usando a IU do Virtualmin, para garantir que sejam consistentes com outras configurações do servidor virtual.
|
||||
master_vminalias=Esta zona é um alias de um domínio Virtualmin, que é mantido em sincronia com seu alvo. Os registros nunca devem ser editados aqui, pois quaisquer alterações serão substituídas!
|
||||
|
||||
delete_title=Excluir zona
|
||||
delete_mesg=Tem certeza de que deseja excluir a zona $1? Todos os registros e o arquivo de zona serão excluídos.
|
||||
|
||||
@@ -11,6 +11,8 @@ master_inview=$1 na visualização $2
|
||||
master_egone=A zona $1 não existe em nenhuma visualização
|
||||
master_egone2=A zona $1 não existe!
|
||||
master_egone3=A zona $1 na exibição $2 não existe!
|
||||
master_vmin=Esta zona é gerenciada pelo Virtualmin. Os registros devem ser editados usando a IU do Virtualmin, para garantir que sejam consistentes com outras configurações do servidor virtual.
|
||||
master_vminalias=Esta zona é um alias de um domínio Virtualmin, que é mantido em sincronia com seu destino. Os registros nunca devem ser editados aqui, pois quaisquer alterações serão substituídas!
|
||||
|
||||
delete_vwarn=Esta zona está associada ao domínio Virtualmin $1 e, portanto, não deve ser excluída aqui!
|
||||
|
||||
|
||||
@@ -147,6 +147,8 @@ master_defttl=Timp de viață implicit pentru înregistrări
|
||||
master_edefttl=„$1” nu este o durată de viață implicită valabilă pentru înregistrări
|
||||
master_esoagone=Nu a fost găsită nicio înregistrare SOA!
|
||||
master_einclude=Fișierul șablon suplimentar nu există
|
||||
master_vmin=Această zonă este gestionată de Virtualmin. Înregistrările trebuie editate utilizând interfața de utilizare Virtualmin, pentru a se asigura că sunt în concordanță cu alte setări ale serverului virtual.
|
||||
master_vminalias=Această zonă este un alias al unui domeniu Virtualmin, care este menținut în sincronizare cu ținta sa. Înregistrările nu trebuie niciodată editate aici, deoarece orice modificări vor fi suprascrise!
|
||||
|
||||
delete_title=Ștergeți Zona
|
||||
delete_mesg=Sigur doriți să ștergeți zona $1? Toate înregistrările și fișierul de zonă vor fi șterse.
|
||||
|
||||
@@ -48,6 +48,8 @@ master_defttl=Время жизни по умолчанию для записе
|
||||
master_edefttl=«$1» не является допустимым временем жизни по умолчанию для записей
|
||||
master_esoagone=Запись SOA не найдена!
|
||||
master_einclude=Дополнительный файл шаблона не существует
|
||||
master_vmin=Эта зона управляется Virtualmin. Записи следует редактировать с помощью пользовательского интерфейса Virtualmin, чтобы обеспечить их соответствие другим настройкам виртуального сервера.
|
||||
master_vminalias=Эта зона является псевдонимом домена Virtualmin, который синхронизируется со своей целью. Записи никогда не должны редактироваться здесь, так как любые изменения будут перезаписаны!
|
||||
|
||||
delete_mesg3=Вы уверены, что хотите удалить зону $1?
|
||||
delete_onslave=Также удалить с подчиненных серверов?
|
||||
|
||||
@@ -147,6 +147,8 @@ master_defttl=Predvolený čas dožívania záznamov
|
||||
master_edefttl='$1' nie je platný predvolený čas do života záznamov
|
||||
master_esoagone=Nenašli sa žiadne záznamy SOA!
|
||||
master_einclude=Dodatočný súbor šablóny neexistuje
|
||||
master_vmin=Túto zónu spravuje Virtualmin. Záznamy by sa mali upravovať pomocou používateľského rozhrania Virtualmin, aby sa zabezpečilo, že budú konzistentné s ostatnými nastaveniami virtuálneho servera.
|
||||
master_vminalias=Táto zóna je alias domény Virtualmin, ktorá je synchronizovaná s jej cieľom. Záznamy by sa tu nikdy nemali upravovať, pretože akékoľvek zmeny budú prepísané!
|
||||
|
||||
delete_title=Odstrániť zónu
|
||||
delete_mesg=Naozaj chcete odstrániť zónu $1? Všetky záznamy a súbor zóny budú vymazané.
|
||||
|
||||
@@ -147,6 +147,8 @@ master_defttl=Privzeti čas za življenje za zapise
|
||||
master_edefttl='$1' ni veljaven privzeti čas za življenje za zapise
|
||||
master_esoagone=Ni SOA zapisa!
|
||||
master_einclude=Dodatna datoteka predloge ne obstaja
|
||||
master_vmin=To območje upravlja Virtualmin. Zapise je treba urejati z uporabniškim vmesnikom Virtualmin, da se zagotovi skladnost z drugimi nastavitvami virtualnega strežnika.
|
||||
master_vminalias=To območje je vzdevek domene Virtualmin, ki je sinhronizirana s svojim ciljem. Zapisov nikoli ne urejajte tukaj, saj bodo vse spremembe prepisane!
|
||||
|
||||
delete_title=Zbriši cono
|
||||
delete_mesg=Ali ste prepričani, da želite izbrisati cono $1? Vsi zapisi in zonska datoteka bodo izbrisani.
|
||||
|
||||
@@ -27,6 +27,8 @@ master_movedesc=Flyttar denna zon till en annan vy, samtidigt som alla poster oc
|
||||
master_applymsg2=Klicka på den här knappen för att endast tillämpa ändringar för denna zon. Detta fungerar bara om ändringar har tillämpats för hela servern minst en gång sedan zonen skapades.
|
||||
master_esoagone=Ingen SOA-post hittades!
|
||||
master_einclude=Ytterligare mallfil finns inte
|
||||
master_vmin=Denna zon hanteras av Virtualmin. Poster bör redigeras med Virtualmin-gränssnittet för att säkerställa att de överensstämmer med andra virtuella serverinställningar.
|
||||
master_vminalias=Denna zon är ett alias för en Virtualmin-domän, som hålls synkroniserad med dess mål. Poster bör aldrig redigeras här, eftersom alla ändringar kommer att skrivas över!
|
||||
|
||||
delete_mesg3=Är du säker på att du vill ta bort zonen $1?
|
||||
delete_vwarn=Denna zon är associerad med Virtualmin-domänen $1, och bör därför inte tas bort här!
|
||||
|
||||
@@ -147,6 +147,8 @@ master_defttl=ค่าเริ่มต้นเวลาอยู่เพื
|
||||
master_edefttl='$1' ไม่ใช่เวลาเริ่มต้นที่ถูกต้องสำหรับบันทึก
|
||||
master_esoagone=ไม่พบบันทึก SOA!
|
||||
master_einclude=ไม่มีไฟล์เทมเพลตเพิ่มเติม
|
||||
master_vmin=โซนนี้จัดการโดย Virtualmin ควรแก้ไขบันทึกโดยใช้ Virtualmin UI เพื่อให้แน่ใจว่าสอดคล้องกับการตั้งค่าเซิร์ฟเวอร์เสมือนอื่นๆ
|
||||
master_vminalias=โซนนี้เป็นนามแฝงของโดเมน Virtualmin ซึ่งซิงค์กับเป้าหมาย ไม่ควรแก้ไขบันทึกที่นี่ เนื่องจากการเปลี่ยนแปลงใดๆ จะถูกเขียนทับ!
|
||||
|
||||
delete_title=ลบโซน
|
||||
delete_mesg=คุณแน่ใจหรือว่าต้องการลบโซน $1 ระเบียนทั้งหมดและไฟล์โซนจะถูกลบ
|
||||
|
||||
@@ -29,6 +29,8 @@ master_movedesc=Tüm kayıtları ve diğer seçenekleri korurken bu bölgeyi ba
|
||||
master_applymsg2=Yalnızca bu bölge için değişiklik uygulamak üzere bu düğmeyi tıklayın. Bu, yalnızca bölge oluşturulduğundan bu yana en az bir kez tüm sunucu için değişiklikler uygulandığında çalışır.
|
||||
master_esoagone=SOA kaydı bulunamadı!
|
||||
master_einclude=Ek şablon dosyası yok
|
||||
master_vmin=Bu bölge Virtualmin tarafından yönetilmektedir. Diğer sanal sunucu ayarlarıyla tutarlı olduklarından emin olmak için kayıtlar Virtualmin UI kullanılarak düzenlenmelidir.
|
||||
master_vminalias=Bu bölge, hedefiyle senkronize tutulan bir Virtualmin etki alanının takma adıdır. Herhangi bir değişikliğin üzerine yazılacağı için kayıtlar burada asla düzenlenmemelidir!
|
||||
|
||||
delete_mesg3=$1 bölgesini silmek istediğinizden emin misiniz?
|
||||
delete_vwarn=Bu bölge $1 Virtualmin etki alanı ile ilişkilidir ve buradan silinmemelidir!
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user