mirror of
https://github.com/webmin/webmin.git
synced 2026-02-03 14:13:29 +00:00
Compare commits
691 Commits
dev/server
...
dev/log-ni
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
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?");
|
||||
}
|
||||
|
||||
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,32 @@ 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 $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 $allow = { 'name' => 'allow-transfer',
|
||||
'type' => 1,
|
||||
'members' => \@transfer };
|
||||
push(@{$dir->{'members'}}, $allow);
|
||||
}
|
||||
|
||||
# Create the zone file, with records
|
||||
my $ZONE;
|
||||
@@ -2627,7 +2636,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 +2905,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 +3323,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 +3348,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 +3602,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 +3643,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 +3715,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 +3901,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 +3930,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 +3954,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 +3994,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 +4033,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 +4077,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 +4104,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 +4113,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 +4141,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 +4154,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 +4167,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 +4180,7 @@ sub dt_notify_parentzone
|
||||
}
|
||||
|
||||
# dt_rollerd_restart()
|
||||
# Restart the rollerd daemon
|
||||
# Restart the rollerd daemon
|
||||
sub dt_rollerd_restart
|
||||
{
|
||||
my $rollerd;
|
||||
@@ -4181,7 +4192,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 +4220,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 +4233,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 +4259,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 +4309,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 +4483,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';
|
||||
@@ -24,10 +24,12 @@ $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,
|
||||
|
||||
@@ -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!
|
||||
|
||||
@@ -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=پہلے سے طے شدہ ریکارڈوں کے لئے وقت رہ
|
||||
master_edefttl='$1' is not a valid default time-to-live for records
|
||||
master_esoagone=ایس او اے کا کوئی ریکارڈ نہیں ملا!
|
||||
master_einclude=اضافی ٹیمپلیٹ فائل موجود نہیں ہے
|
||||
master_vmin=یہ زون Virtualmin کے زیر انتظام ہے۔ Virtualmin UI کا استعمال کرتے ہوئے ریکارڈز میں ترمیم کی جانی چاہیے، تاکہ یہ یقینی بنایا جا سکے کہ وہ دیگر ورچوئل سرور کی ترتیبات کے ساتھ مطابقت رکھتے ہیں۔
|
||||
master_vminalias=یہ زون ورچوئل مین ڈومین کا ایک عرف ہے، جسے اس کے ہدف کے ساتھ ہم آہنگ رکھا جاتا ہے۔ یہاں ریکارڈز میں کبھی بھی ترمیم نہیں کی جانی چاہیے، کیونکہ کوئی بھی تبدیلی اوور رائٹ ہو جائے گی!
|
||||
|
||||
delete_title=زون کو حذف کریں
|
||||
delete_mesg=Are you sure you want to delete the zone $1 ? All records and the zone file will be deleted.
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user