mirror of
https://github.com/webmin/webmin.git
synced 2026-02-04 14:42:15 +00:00
Compare commits
722 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9dc7367dd6 | ||
|
|
1e8caabc50 | ||
|
|
64720c97ab | ||
|
|
94cdddf447 | ||
|
|
460ea14a24 | ||
|
|
dcd0daac42 | ||
|
|
2ae5345117 | ||
|
|
c87b5c6e3d | ||
|
|
4fa781805f | ||
|
|
95180b7f9d | ||
|
|
379f7aaf0b | ||
|
|
f79d1040f3 | ||
|
|
9c0d9268e1 | ||
|
|
1cbe773f6f | ||
|
|
27c09c00ec | ||
|
|
e69c6699ac | ||
|
|
c419c339db | ||
|
|
835175b098 | ||
|
|
7ebd6ae4fe | ||
|
|
89b8c53666 | ||
|
|
94e8f32e47 | ||
|
|
1456de9649 | ||
|
|
9a445e00b9 | ||
|
|
771050ba7c | ||
|
|
2de661cfd7 | ||
|
|
0e774af597 | ||
|
|
c22e70a0d1 | ||
|
|
0ee9cd2808 | ||
|
|
2b92ba535e | ||
|
|
0a765063c3 | ||
|
|
911f9fd46d | ||
|
|
c67c945e58 | ||
|
|
91f03a2109 | ||
|
|
5aed345808 | ||
|
|
34468b5eed | ||
|
|
6f581fb0f1 | ||
|
|
4f497ea7b8 | ||
|
|
30577a4161 | ||
|
|
c2d4a90639 | ||
|
|
f6706036b9 | ||
|
|
a330e913ee | ||
|
|
4b6df81888 | ||
|
|
ff42df7647 | ||
|
|
cca627a50e | ||
|
|
6ca8341261 | ||
|
|
591981563a | ||
|
|
7737685835 | ||
|
|
efe00dc8e3 | ||
|
|
cae85a9ce8 | ||
|
|
0ce2ce7236 | ||
|
|
041ed3ace4 | ||
|
|
375436621e | ||
|
|
019b0f0625 | ||
|
|
24b2bcd81b | ||
|
|
b7ede39420 | ||
|
|
d41b963859 | ||
|
|
fd857573ee | ||
|
|
6389fe1787 | ||
|
|
b67b98f6b5 | ||
|
|
2ca5006c6c | ||
|
|
d7652f88db | ||
|
|
873519e64e | ||
|
|
e44934a153 | ||
|
|
8c3ccb1503 | ||
|
|
0e77146a48 | ||
|
|
1ed3f58598 | ||
|
|
23873a5c2b | ||
|
|
a6052e1ae9 | ||
|
|
122c573f94 | ||
|
|
0de4ab8c29 | ||
|
|
2ba05ab405 | ||
|
|
0916b7ad99 | ||
|
|
c43c6a4e27 | ||
|
|
00abf8494a | ||
|
|
529112cd7a | ||
|
|
6365b6bdcd | ||
|
|
a395c32ec6 | ||
|
|
06387a59fa | ||
|
|
4cc65beacc | ||
|
|
a2de217c25 | ||
|
|
f6320c27e2 | ||
|
|
d625028e8f | ||
|
|
7da8c4dd66 | ||
|
|
7b272988e8 | ||
|
|
4d47bc8442 | ||
|
|
2ea940145b | ||
|
|
377bcacff8 | ||
|
|
1379d2cc35 | ||
|
|
37a5504f51 | ||
|
|
ea8b2fc1bf | ||
|
|
2ee32e71cf | ||
|
|
08a1f3db74 | ||
|
|
5b0606c9fc | ||
|
|
06752583db | ||
|
|
0d1f01d511 | ||
|
|
4f6b28f95c | ||
|
|
32ecbaaf02 | ||
|
|
f93251569b | ||
|
|
3176c4cd45 | ||
|
|
7ed31959e4 | ||
|
|
72234a7669 | ||
|
|
44822d651a | ||
|
|
cde3eb1bb1 | ||
|
|
f1c000d1e5 | ||
|
|
4f564b9e2a | ||
|
|
2215ee4cf8 | ||
|
|
483a9a7c5f | ||
|
|
7e75fdfa16 | ||
|
|
086e38676e | ||
|
|
54c1f071fc | ||
|
|
72a6acb7ef | ||
|
|
abe3a4858b | ||
|
|
a41915611e | ||
|
|
e4cb1a4af5 | ||
|
|
cf4c57e947 | ||
|
|
d5f9824741 | ||
|
|
5129dfbe79 | ||
|
|
4b6f58eac8 | ||
|
|
e34875ec0b | ||
|
|
40db0575f6 | ||
|
|
74d463be57 | ||
|
|
1a99e197dc | ||
|
|
19e4df6f0e | ||
|
|
49d4e0f4f3 | ||
|
|
504a7d78c7 | ||
|
|
3ecc241b54 | ||
|
|
8160e5f777 | ||
|
|
3df2f306f7 | ||
|
|
3027952e0d | ||
|
|
505d380fbb | ||
|
|
65c28ad2ab | ||
|
|
da6b642778 | ||
|
|
2d49c19716 | ||
|
|
b7c85e32c7 | ||
|
|
d2283223c3 | ||
|
|
10881d9171 | ||
|
|
770cc24f57 | ||
|
|
7b4f8f5b40 | ||
|
|
e5fe901147 | ||
|
|
017e6585b6 | ||
|
|
81d70f5cc9 | ||
|
|
72283092da | ||
|
|
0e98b4a40a | ||
|
|
b52d5c9986 | ||
|
|
47b5ee31c0 | ||
|
|
37fe61d6f3 | ||
|
|
fcaf0ffb35 | ||
|
|
cd2cb0f5d6 | ||
|
|
8bb3e372ba | ||
|
|
581ddd1491 | ||
|
|
14610a77f1 | ||
|
|
c7285f5d11 | ||
|
|
f1e5428e50 | ||
|
|
c9a9fdeedf | ||
|
|
7482794f07 | ||
|
|
675e9ec513 | ||
|
|
133b511a75 | ||
|
|
0b1fac9f51 | ||
|
|
989c759036 | ||
|
|
2afd4a1dc5 | ||
|
|
e46c7ceb44 | ||
|
|
d9cc4509d2 | ||
|
|
faa65976d7 | ||
|
|
53e306860e | ||
|
|
c64c04d3e0 | ||
|
|
e7c4c3abd9 | ||
|
|
194d48bd9e | ||
|
|
75efeb1d16 | ||
|
|
99a63d9295 | ||
|
|
ef7e2cd933 | ||
|
|
ad043d235e | ||
|
|
678cc38013 | ||
|
|
f6090947ba | ||
|
|
d53ce67174 | ||
|
|
0cfb09e436 | ||
|
|
1a4d525ef2 | ||
|
|
8bfaf2b488 | ||
|
|
af8d5d24a1 | ||
|
|
af65582191 | ||
|
|
87fe720d04 | ||
|
|
c74a867652 | ||
|
|
e4738380e1 | ||
|
|
7df549f91d | ||
|
|
7e9905ce3c | ||
|
|
594a874a4b | ||
|
|
b047220417 | ||
|
|
01165959d3 | ||
|
|
888b0f27f5 | ||
|
|
5e5a7b9cc3 | ||
|
|
0c25d52a6d | ||
|
|
d220823080 | ||
|
|
fa1929966c | ||
|
|
0effafd397 | ||
|
|
01b0a01f90 | ||
|
|
9da01f6a70 | ||
|
|
aafbe392ba | ||
|
|
8ca3de3c28 | ||
|
|
817244241a | ||
|
|
7316d87049 | ||
|
|
368d7e0297 | ||
|
|
721a1f47b3 | ||
|
|
4e668e19cb | ||
|
|
509e01eb90 | ||
|
|
2c1f20fb1d | ||
|
|
703802065f | ||
|
|
6243d45f3f | ||
|
|
de2a5e9ff2 | ||
|
|
43afab0d84 | ||
|
|
8d013ec69c | ||
|
|
7face4b2be | ||
|
|
26d05f0437 | ||
|
|
f7da281d72 | ||
|
|
af33c38d17 | ||
|
|
5abc9b538b | ||
|
|
34781fd651 | ||
|
|
ea69c0978b | ||
|
|
7f2c27df29 | ||
|
|
034a3e9f8c | ||
|
|
fdc689ad5d | ||
|
|
07c560cdf6 | ||
|
|
586af08e08 | ||
|
|
7ba6250482 | ||
|
|
f814546239 | ||
|
|
191827e425 | ||
|
|
9fef0d060b | ||
|
|
acc9f93fef | ||
|
|
527b8b1467 | ||
|
|
bf4e69bc54 | ||
|
|
60351e59c7 | ||
|
|
c031ac4b76 | ||
|
|
4ffd3753a2 | ||
|
|
b6a5b4b230 | ||
|
|
5a21764743 | ||
|
|
ca6739cda3 | ||
|
|
add5d65a6b | ||
|
|
55db94413b | ||
|
|
f21e731422 | ||
|
|
5030fab70e | ||
|
|
0b70e3676e | ||
|
|
5f6fe082e2 | ||
|
|
6a953d9670 | ||
|
|
766ccf57de | ||
|
|
4e02a9823d | ||
|
|
da43d7185c | ||
|
|
4c19095949 | ||
|
|
c07dd3cddf | ||
|
|
9fe942e958 | ||
|
|
7ba14d9de4 | ||
|
|
c455b93573 | ||
|
|
ba263882a6 | ||
|
|
f5927981a6 | ||
|
|
7dcce2a64f | ||
|
|
f9d1278a00 | ||
|
|
771e303e37 | ||
|
|
18e165e925 | ||
|
|
09c125ad9a | ||
|
|
7127ac2072 | ||
|
|
b9507b0d77 | ||
|
|
fe265aa65b | ||
|
|
f003b029b6 | ||
|
|
41c5bd30ea | ||
|
|
f5549dbe39 | ||
|
|
0b416e09e8 | ||
|
|
e01770a0a1 | ||
|
|
bcec484ebf | ||
|
|
314489fae7 | ||
|
|
87854875b7 | ||
|
|
da0b587b2b | ||
|
|
3290f4c11f | ||
|
|
7a3782a680 | ||
|
|
e1d7fc3c14 | ||
|
|
b5d1826ef7 | ||
|
|
41908574ee | ||
|
|
46f5f9715f | ||
|
|
e9a5ea229c | ||
|
|
f8a2f9595d | ||
|
|
867fda60dc | ||
|
|
04c217c97a | ||
|
|
e787caf228 | ||
|
|
45d5dec5a3 | ||
|
|
1efb2eb206 | ||
|
|
4aceed5c8d | ||
|
|
f046efed20 | ||
|
|
d7a9fdb431 | ||
|
|
814cf262fe | ||
|
|
0ce247a1aa | ||
|
|
82a0a3e5c0 | ||
|
|
245709dca0 | ||
|
|
944b6d728c | ||
|
|
59b59b2e43 | ||
|
|
77c84a7539 | ||
|
|
9716326acd | ||
|
|
89331739f3 | ||
|
|
2b0e28852e | ||
|
|
12ef84ff3e | ||
|
|
85e80edf91 | ||
|
|
8e44c145b9 | ||
|
|
a1f53a5a47 | ||
|
|
b91a867744 | ||
|
|
dd5fa1295b | ||
|
|
6bb5b79d80 | ||
|
|
1494007307 | ||
|
|
edd32a0819 | ||
|
|
79877df57c | ||
|
|
641053c5b2 | ||
|
|
b56761c41b | ||
|
|
580578ecbc | ||
|
|
813e6dd4ad | ||
|
|
49aa15c138 | ||
|
|
640bc8495c | ||
|
|
36ed9b2212 | ||
|
|
37f0eb519e | ||
|
|
0d251ff103 | ||
|
|
b99637bab3 | ||
|
|
801a71d172 | ||
|
|
d5aac92059 | ||
|
|
55d98674b1 | ||
|
|
6f0b58ee4d | ||
|
|
63da3c8e39 | ||
|
|
1b21a404bf | ||
|
|
464bc50e62 | ||
|
|
406b3f7bdc | ||
|
|
8b7af771f8 | ||
|
|
aa71f4d8e1 | ||
|
|
a37185b170 | ||
|
|
97e40304ac | ||
|
|
77e6bc2a00 | ||
|
|
eaf63ebc48 | ||
|
|
2c194271fc | ||
|
|
7c0b0f0a9f | ||
|
|
fe8eb50f2d | ||
|
|
cb2d221508 | ||
|
|
c65de713f7 | ||
|
|
2ff3afea6a | ||
|
|
25d7fe4299 | ||
|
|
42a50ab078 | ||
|
|
bc0eea7a01 | ||
|
|
34dbddd616 | ||
|
|
785a1186c6 | ||
|
|
249a205f27 | ||
|
|
7799c6e72f | ||
|
|
960718733a | ||
|
|
da826eaa5f | ||
|
|
25a471e4ef | ||
|
|
c387b955b9 | ||
|
|
919baa1343 | ||
|
|
23b966e7da | ||
|
|
036f695e19 | ||
|
|
1b32109ae6 | ||
|
|
0f895e893c | ||
|
|
f7691fb715 | ||
|
|
0c37e2c626 | ||
|
|
e17abe5e33 | ||
|
|
deb042812b | ||
|
|
2b1ee8bc77 | ||
|
|
9215dde41a | ||
|
|
b59f108286 | ||
|
|
5708320472 | ||
|
|
5e8b5ca17b | ||
|
|
42e3c2c251 | ||
|
|
a7123cb069 | ||
|
|
92b8db19a5 | ||
|
|
a4a6a30234 | ||
|
|
ebd30bd0ef | ||
|
|
a56772ceba | ||
|
|
0b803265f7 | ||
|
|
7774c3cd1f | ||
|
|
e88d7bf265 | ||
|
|
860ae2f15e | ||
|
|
33f6a5d1a2 | ||
|
|
979aac7178 | ||
|
|
8bfed13f60 | ||
|
|
f73482ed0a | ||
|
|
80ea8d8b2e | ||
|
|
9c831d62f8 | ||
|
|
8019ac7cab | ||
|
|
ae2e6d4df2 | ||
|
|
2f85ff61de | ||
|
|
0372fdcc2c | ||
|
|
74db8b7542 | ||
|
|
dad7e2f052 | ||
|
|
01dcde3e62 | ||
|
|
dcd57e44c0 | ||
|
|
5a69c9ddbd | ||
|
|
1db625a87e | ||
|
|
1ec2127363 | ||
|
|
fdcfb5495e | ||
|
|
46814d9e2f | ||
|
|
4f1b8c0ae0 | ||
|
|
3f65039494 | ||
|
|
837e04945b | ||
|
|
a80b49b01c | ||
|
|
12fe0f611b | ||
|
|
99400d02d8 | ||
|
|
e9dc1726ae | ||
|
|
ad0bddd300 | ||
|
|
d0b19dbb75 | ||
|
|
7fa58e88c1 | ||
|
|
65e99558ad | ||
|
|
8f1441ae54 | ||
|
|
c3a5efb914 | ||
|
|
005a90c79d | ||
|
|
4dc9188d86 | ||
|
|
2dc7d94a74 | ||
|
|
85aada310a | ||
|
|
5a19fe2e6c | ||
|
|
55688e6be4 | ||
|
|
24cf47dde0 | ||
|
|
33d45b19d4 | ||
|
|
95b846c6e5 | ||
|
|
0ba71128f1 | ||
|
|
258490b256 | ||
|
|
b29bda4f93 | ||
|
|
c7a941c9af | ||
|
|
97c410db42 | ||
|
|
1ff6413c04 | ||
|
|
34de35e281 | ||
|
|
9aa6081cd8 | ||
|
|
947187c0c2 | ||
|
|
47611a5fb7 | ||
|
|
2cf8380a52 | ||
|
|
2b2b2d55e7 | ||
|
|
a1c5db779d | ||
|
|
f559c1a078 | ||
|
|
cbec150213 | ||
|
|
b1c0c16f4b | ||
|
|
8cb1f61426 | ||
|
|
1ca22a3c10 | ||
|
|
db801188ab | ||
|
|
9fe8bd9f93 | ||
|
|
6ea05708b9 | ||
|
|
3c90c1465a | ||
|
|
f546f23f91 | ||
|
|
2322feb9ae | ||
|
|
91273bfe18 | ||
|
|
c2b396cfbd | ||
|
|
c3f3db868e | ||
|
|
c0a43d0aa5 | ||
|
|
b5243ac90b | ||
|
|
bb3f72cf85 | ||
|
|
082c0644d6 | ||
|
|
7a67864827 | ||
|
|
bdb22b37dc | ||
|
|
cb24e776b8 | ||
|
|
c816d1385f | ||
|
|
a0618b3650 | ||
|
|
a01ceec394 | ||
|
|
99f73bd80f | ||
|
|
ab522f84fc | ||
|
|
4d77d319dc | ||
|
|
e184759e85 | ||
|
|
1ed16816de | ||
|
|
4f51ed32a6 | ||
|
|
4b664a541d | ||
|
|
dbd99caaee | ||
|
|
54fc94e32b | ||
|
|
b8333ec442 | ||
|
|
f99d1d20e0 | ||
|
|
c1ebe147ac | ||
|
|
1348fd1ef6 | ||
|
|
71fb93f840 | ||
|
|
236c09f3c0 | ||
|
|
54bb4804fc | ||
|
|
0ebbe5660a | ||
|
|
155f98977a | ||
|
|
24f731aac8 | ||
|
|
6a8df969d7 | ||
|
|
3300164e7e | ||
|
|
207e0a6dce | ||
|
|
f95f2cef79 | ||
|
|
6dc037a271 | ||
|
|
1379dc8288 | ||
|
|
28ac57ac21 | ||
|
|
1f906be5cb | ||
|
|
2312f3379d | ||
|
|
adb526466a | ||
|
|
88d914721b | ||
|
|
ce18bbe753 | ||
|
|
3edbc9b90f | ||
|
|
2b362c05b1 | ||
|
|
8acd741d78 | ||
|
|
d74d8f045c | ||
|
|
e078bbc930 | ||
|
|
30dd9d1fb4 | ||
|
|
8b8b196d31 | ||
|
|
f8e042beac | ||
|
|
b45191de98 | ||
|
|
21fc5ebd2c | ||
|
|
ca79327451 | ||
|
|
49c927ae80 | ||
|
|
81e89ae384 | ||
|
|
52cb2b38e0 | ||
|
|
9c77c762b1 | ||
|
|
5a234fce9e | ||
|
|
8f49a258b6 | ||
|
|
7e06a2382e | ||
|
|
dee77082ff | ||
|
|
0fd3627e96 | ||
|
|
e17ee3cc8c | ||
|
|
aec4a83306 | ||
|
|
a02935d9e4 | ||
|
|
5bd77486d9 | ||
|
|
ee35b62079 | ||
|
|
21bb772fd3 | ||
|
|
87994b0e6a | ||
|
|
be87b67857 | ||
|
|
cb195701b3 | ||
|
|
dd8bb9bb15 | ||
|
|
ed72b57c4a | ||
|
|
6bc9041a52 | ||
|
|
36b15f2615 | ||
|
|
ce0da729ee | ||
|
|
84c6b0d831 | ||
|
|
e50c011c08 | ||
|
|
6df7e9b67c | ||
|
|
1dd3d51333 | ||
|
|
16c4ca3740 | ||
|
|
f6634503dd | ||
|
|
4f386ddc84 | ||
|
|
5bf35ef9cd | ||
|
|
d46a07d74b | ||
|
|
a7cf8d49dd | ||
|
|
4368bf87bb | ||
|
|
6551501b7e | ||
|
|
9449111200 | ||
|
|
442fc7fd0f | ||
|
|
3eff4a2533 | ||
|
|
f643ce80d0 | ||
|
|
f84f99abb1 | ||
|
|
a84fe682b7 | ||
|
|
fecfdb2f2b | ||
|
|
b091ba221c | ||
|
|
1fd2f398ad | ||
|
|
ad381d1447 | ||
|
|
1004cedd4e | ||
|
|
837d98d6bc | ||
|
|
f16522157d | ||
|
|
ca071daec2 | ||
|
|
90fa9332e9 | ||
|
|
b6984eb5fd | ||
|
|
dc5a5fb4e7 | ||
|
|
05ebd304fe | ||
|
|
dc69277ab3 | ||
|
|
7fd09d1a95 | ||
|
|
7dae254be4 | ||
|
|
ce6b5fed71 | ||
|
|
62049ffa47 | ||
|
|
2e6308372d | ||
|
|
e87f8ef1f5 | ||
|
|
12b3e98bec | ||
|
|
319c3c1f42 | ||
|
|
6a7c775d83 | ||
|
|
e43ec7e4c0 | ||
|
|
3bee204db2 | ||
|
|
96c6793301 | ||
|
|
f786638c29 | ||
|
|
bb2f90ee5b | ||
|
|
6676f6c660 | ||
|
|
0e38b9e7a0 | ||
|
|
afa7f0d82b | ||
|
|
bf7873b3e0 | ||
|
|
e1fa75f314 | ||
|
|
8aa6cc1c08 | ||
|
|
f06acc1a92 | ||
|
|
675e0f032a | ||
|
|
917ff95a90 | ||
|
|
c415c46b37 | ||
|
|
e5760f78ac | ||
|
|
88907f3079 | ||
|
|
f700928156 | ||
|
|
149c4aad4f | ||
|
|
9bc5766fa1 | ||
|
|
c36f4e2af1 | ||
|
|
3b66f444f8 | ||
|
|
75700873ff | ||
|
|
86dfb7f686 | ||
|
|
47b26ce53e | ||
|
|
28c5b02c4a | ||
|
|
5c8540a832 | ||
|
|
5835afd971 | ||
|
|
ff0ba4822d | ||
|
|
df1334f3af | ||
|
|
7621053e6c | ||
|
|
21b431f59b | ||
|
|
5a47843eb6 | ||
|
|
cde06ff828 | ||
|
|
d438f002a9 | ||
|
|
aa0f31c93d | ||
|
|
0e52919e83 | ||
|
|
fdb811e1a6 | ||
|
|
d653841a1d | ||
|
|
1957217e75 | ||
|
|
cca0d50a6b | ||
|
|
dffc6c10b2 | ||
|
|
043690aee8 | ||
|
|
c03e3a5c97 | ||
|
|
2c94d548f2 | ||
|
|
0df9e25be2 | ||
|
|
ed66605896 | ||
|
|
70b534ef3c | ||
|
|
b085b2142f | ||
|
|
c51b7ca4fd | ||
|
|
3e592861d4 | ||
|
|
f505abccd5 | ||
|
|
592d47067a | ||
|
|
37c7f1aaa7 | ||
|
|
2b7688d445 | ||
|
|
a508348cca | ||
|
|
84de87f7ed | ||
|
|
c8ef4468c3 | ||
|
|
79cc63c016 | ||
|
|
c0a72633e8 | ||
|
|
f3c063644d | ||
|
|
cda820a418 | ||
|
|
c38725d371 | ||
|
|
9af0e28e02 | ||
|
|
d8a2a373e4 | ||
|
|
d03f6fdc67 | ||
|
|
1e3b845bf1 | ||
|
|
eab1118184 | ||
|
|
a19b85d570 | ||
|
|
0a08ee52ea | ||
|
|
f34ca656a5 | ||
|
|
0ca5b18938 | ||
|
|
a85db57cdd | ||
|
|
f8f13738a1 | ||
|
|
85ce8657f7 | ||
|
|
07abd58e8b | ||
|
|
475cc4fbdf | ||
|
|
bb0312469e | ||
|
|
095879911f | ||
|
|
99afee45aa | ||
|
|
cf956129cb | ||
|
|
078131f4f6 | ||
|
|
04f2b51bab | ||
|
|
2a65b999ca | ||
|
|
5486730fd6 | ||
|
|
f7f3e3b5ac | ||
|
|
c3f86c7f39 | ||
|
|
ac7f52d6d1 | ||
|
|
15e2f4a114 | ||
|
|
338f801be4 | ||
|
|
b6189c6a43 | ||
|
|
c9345028d7 | ||
|
|
56270624d1 | ||
|
|
ab561465ba | ||
|
|
b2511a047c | ||
|
|
5e89e16f06 | ||
|
|
0bf336d761 | ||
|
|
42157fdfed | ||
|
|
7ee7ed19f4 | ||
|
|
a04eb85879 | ||
|
|
0353111336 | ||
|
|
b35b58cb94 | ||
|
|
f7337c7f27 | ||
|
|
d2b43d2eaa | ||
|
|
7ff9e6501a | ||
|
|
18bae5be08 | ||
|
|
b6bc89aa31 | ||
|
|
8c8afc0cbb | ||
|
|
e8120afc9e | ||
|
|
ce3074ad47 | ||
|
|
27ea3f50c0 | ||
|
|
ac77da0e75 | ||
|
|
8ab998b123 | ||
|
|
a40052a3f0 | ||
|
|
c6cd892f15 | ||
|
|
12b0364e62 | ||
|
|
0883226098 | ||
|
|
7208412de2 | ||
|
|
ceae4b5228 | ||
|
|
f308101805 | ||
|
|
371d2b008f | ||
|
|
5f39cfdd39 | ||
|
|
53f087cafa | ||
|
|
481d2b6d4b | ||
|
|
e3192f2f19 | ||
|
|
186d49c1a0 | ||
|
|
003424a60e | ||
|
|
c2657aab8a | ||
|
|
3cceb09daa | ||
|
|
9e57a7df51 | ||
|
|
4cfb984694 | ||
|
|
220897472f | ||
|
|
dc69374aaa | ||
|
|
ac4d68f2ce | ||
|
|
202d672855 | ||
|
|
2f5ee3eb33 | ||
|
|
b2d4380577 | ||
|
|
d93ae142f2 | ||
|
|
c8cebbb4b9 | ||
|
|
db8407ab09 | ||
|
|
ebfcf159c7 | ||
|
|
8748d785b4 | ||
|
|
25d31738ec | ||
|
|
499fba0b8c | ||
|
|
00bd87ae86 | ||
|
|
2bf3dcbf38 | ||
|
|
6586126d6b | ||
|
|
8b358c438d | ||
|
|
cb481287ac | ||
|
|
7e6982a0cf | ||
|
|
700afdb0cc | ||
|
|
000405b749 | ||
|
|
a14864e932 | ||
|
|
36048fe4cd | ||
|
|
e461576cd9 | ||
|
|
7188abc556 | ||
|
|
55fb44f34c | ||
|
|
b7bbeb457b | ||
|
|
e1e6fd43e0 | ||
|
|
46239c247f | ||
|
|
22c8d8d041 | ||
|
|
792b4d2bd7 | ||
|
|
031dd76538 | ||
|
|
74efe3465e | ||
|
|
b08445e9c4 | ||
|
|
959adc098f | ||
|
|
54c7f75bf9 | ||
|
|
4dfaaaff09 | ||
|
|
52180cea58 | ||
|
|
c273cf02f2 |
2797
JSON/PP.pm
Normal file
2797
JSON/PP.pm
Normal file
File diff suppressed because it is too large
Load Diff
4
README
4
README
@@ -1,4 +1,4 @@
|
||||
Webmin Version 1.810
|
||||
Webmin Version 1.850
|
||||
--------------------
|
||||
Webmin is a web-based interface for system administration for Unix.
|
||||
Using any browser that supports tables and forms, you can setup user
|
||||
@@ -49,6 +49,8 @@ commmand, the sc.exe command and the Win32::Daemon Perl module.
|
||||
|
||||
For more information, see http://www.webmin.com/
|
||||
|
||||
For documentation, see http://doxfer.webmin.com/
|
||||
|
||||
Jamie Cameron
|
||||
jcameron@webmin.com
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -1672,8 +1672,9 @@ authenticate as, as array references.
|
||||
=cut
|
||||
sub get_unixauth
|
||||
{
|
||||
my ($miniserv) = @_;
|
||||
my @rv;
|
||||
my @ua = split(/\s+/, $_[0]->{'unixauth'});
|
||||
my @ua = $miniserv->{'unixauth'} ? split(/\s+/, $miniserv->{'unixauth'}) : ( );
|
||||
foreach my $ua (@ua) {
|
||||
if ($ua =~ /^(\S+)=(\S+)$/) {
|
||||
push(@rv, [ $1, $2 ]);
|
||||
|
||||
5
acl/config.info.fr.UTF-8
Normal file
5
acl/config.info.fr.UTF-8
Normal file
@@ -0,0 +1,5 @@
|
||||
order=Trier les utilisateurs et les groupes par,1,0-Ordre dans le fichier,1-Nom
|
||||
line1=Options configurables,11
|
||||
ssleay=Chemin d'accès au programme openssl ou ssleay,3,Automatique
|
||||
line2=Configuration du système,11
|
||||
display=Mode d'affichage des utilisateurs et des groupes,1,1-Noms seulement,0-Noms et modules
|
||||
@@ -16,6 +16,7 @@ print &ui_table_start($text{'sql_header'}, undef, 2);
|
||||
|
||||
my ($proto, $user, $pass, $host, $prefix, $args) =
|
||||
&split_userdb_string($miniserv{'userdb'});
|
||||
$proto ||= '';
|
||||
|
||||
# Build inputs for MySQL backend
|
||||
my @mysqlgrid = ( );
|
||||
@@ -91,7 +92,7 @@ print &ui_table_row(undef,
|
||||
[ 'ldap', $text{'sql_ldap'}, $ldapgrid ] ]), 2);
|
||||
|
||||
print &ui_table_row(undef,
|
||||
&ui_radio("addto", int($miniserv{'userdb_addto'}),
|
||||
&ui_radio("addto", int($miniserv{'userdb_addto'} || 0),
|
||||
[ [ 0, $text{'sql_addto0'} ],
|
||||
[ 1, $text{'sql_addto1'} ] ]), 2);
|
||||
|
||||
|
||||
@@ -30,7 +30,8 @@ my @webmins = map { [ $_->{'name'} ] }
|
||||
sort { $a->{'name'} cmp $b->{'name'} } &list_users();
|
||||
foreach my $ua (@unixauth, [ ], [ ]) {
|
||||
$utable .= &ui_columns_row([
|
||||
&ui_select("mode_$i", $ua->[0] eq "" ? 0 :
|
||||
&ui_select("mode_$i", !defined($ua->[0]) ? 0 :
|
||||
$ua->[0] eq "" ? 0 :
|
||||
$ua->[0] eq "*" ? 1 :
|
||||
$ua->[0] =~ /^\@/ ? 2 : 3,
|
||||
[ [ 0, " " ],
|
||||
|
||||
@@ -110,7 +110,7 @@ if ($miniserv{'extauth'}) {
|
||||
push(@opts, [ 5, $text{'edit_extauth'} ]);
|
||||
}
|
||||
push(@opts, [ 4, $text{'edit_lock'} ]);
|
||||
my ($lockbox, $tempbox);
|
||||
my ($lockbox, $tempbox) = ("", "");
|
||||
if ($passmode == 1) {
|
||||
$lockbox = &ui_checkbox("lock", 1, $text{'edit_templock'},
|
||||
$user{'pass'} =~ /^\!/ ? 1 : 0);
|
||||
@@ -152,7 +152,7 @@ print &ui_table_row($text{'edit_real'},
|
||||
# Storage type
|
||||
if ($in{'user'}) {
|
||||
print &ui_table_row($text{'edit_proto'},
|
||||
$text{'edit_proto_'.$user{'proto'}});
|
||||
$text{'edit_proto_'.($user{'proto'} || '')});
|
||||
}
|
||||
|
||||
print &ui_hidden_table_end("rights");
|
||||
@@ -186,7 +186,7 @@ if ($access{'lang'}) {
|
||||
if ($access{'cats'}) {
|
||||
# Show categorized modules?
|
||||
print &ui_table_row($text{'edit_notabs'},
|
||||
&ui_radio("notabs", int($user{'notabs'}),
|
||||
&ui_radio("notabs", $user{'notabs'} || 0,
|
||||
[ [ 1, $text{'yes'} ],
|
||||
[ 2, $text{'no'} ],
|
||||
[ 0, $text{'default'} ] ]));
|
||||
@@ -262,8 +262,8 @@ if ($access{'ips'}) {
|
||||
[ 1, $text{'edit_allow'}."<br>" ],
|
||||
[ 2, $text{'edit_deny'}."<br>" ] ]).
|
||||
&ui_textarea("ips",
|
||||
join("\n", split(/\s+/, $user{'allow'} ? $user{'allow'}
|
||||
: $user{'deny'})),
|
||||
join("\n", split(/\s+/, $user{'allow'} ||
|
||||
$user{'deny'} || "")),
|
||||
4, 30));
|
||||
}
|
||||
|
||||
@@ -277,7 +277,7 @@ if (&supports_rbac() && $access{'mode'} == 0) {
|
||||
|
||||
if ($access{'times'}) {
|
||||
# Show allowed days of the week
|
||||
my %days = map { $_, 1 } split(/,/, $user{'days'});
|
||||
my %days = map { $_, 1 } split(/,/, $user{'days'} || '');
|
||||
my $daysels = "";
|
||||
for(my $i=0; $i<7; $i++) {
|
||||
$daysels .= &ui_checkbox("days", $i, $text{'day_'.$i},
|
||||
@@ -290,10 +290,10 @@ if ($access{'times'}) {
|
||||
$daysels);
|
||||
|
||||
# Show allow hour/minute range
|
||||
my ($hf, $mf) = split(/\./, $user{'hoursfrom'});
|
||||
my ($ht, $mt) = split(/\./, $user{'hoursto'});
|
||||
my ($hf, $mf) = split(/\./, $user{'hoursfrom'} || '');
|
||||
my ($ht, $mt) = split(/\./, $user{'hoursto'} || '');
|
||||
print &ui_table_row($text{'edit_hours'},
|
||||
&ui_radio("hours_def", $user{'hoursfrom'} eq '' ? 1 : 0,
|
||||
&ui_radio("hours_def", $hf eq '' ? 1 : 0,
|
||||
[ [ 1, $text{'edit_allhours'} ],
|
||||
[ 0, &text('edit_selhours',
|
||||
&ui_textbox("hours_hfrom", $hf, 2),
|
||||
@@ -337,14 +337,14 @@ my @mlist = grep { $access{'others'} || $has{$_->{'dir'}} ||
|
||||
$mcan{$_->{'dir'}} } &list_module_infos();
|
||||
my @links = ( &select_all_link("mod", 0, $text{'edit_selall'}),
|
||||
&select_invert_link("mod", 0, $text{'edit_invert'}) );
|
||||
my @cats = &unique(map { $_->{'category'} || "" } @mlist);
|
||||
my @cats = &unique(map { $_->{'category'} || '' } @mlist);
|
||||
my %catnames;
|
||||
&read_file("$config_directory/webmin.catnames", \%catnames);
|
||||
my $grids = "";
|
||||
foreach my $c (sort { $b cmp $a } @cats) {
|
||||
my @cmlist = grep { $_->{'category'} eq $c } @mlist;
|
||||
my @cmlist = grep { ($_->{'category'} || '') eq $c } @mlist;
|
||||
$grids .= "<b>".($catnames{$c} ||
|
||||
$text{'category_'.$c})."</b><br>\n";
|
||||
$text{'category_'.$c})."</b><br>\n";
|
||||
my @grid = ( );
|
||||
my $sw = 0;
|
||||
foreach my $m (@cmlist) {
|
||||
|
||||
5
acl/help/ips.fr.UTF-8.html
Normal file
5
acl/help/ips.fr.UTF-8.html
Normal file
@@ -0,0 +1,5 @@
|
||||
<header>Contrôle d'accès IP</header>
|
||||
|
||||
Le contrôle d'accès utilisateur par adresse IP fonctionne de la même manière que le contrôle d'accès IP global dans le module Configuration de Webmin. Seul un utilisateur ayant passé le contrôle global sera vérifié de nouveau avec ces règles.
|
||||
|
||||
<footer>
|
||||
11
acl/lang/ca
11
acl/lang/ca
@@ -146,6 +146,7 @@ delete_err=No s'ha pogut suprimir l'usuari
|
||||
delete_eself=No et pots esborrar a tu mateix
|
||||
delete_ecannot=No tens permís per suprimir usuaris
|
||||
delete_euser=No tens permís per suprimir aquest usuari
|
||||
delete_eanonuser=Aquest usuari s'està utilitzant per a l'accés del mòdul anònim
|
||||
|
||||
cert_title=Petició de Certificat
|
||||
cert_issue=Emissió de Certificat
|
||||
@@ -337,12 +338,20 @@ unix_header=Par
|
||||
unix_utable=Usuaris Unix permesos
|
||||
|
||||
sessions_title=Sessions d'Entrada Actuals
|
||||
sessions_desc=Les sessions d'entrada actuals de Webmin es llisten a sota. Per cancel·lar una sessió existent i forçar l'usuari a tornar a entrar, fes clic sobre l'ID de la sessió.
|
||||
sessions_id=ID de sessió
|
||||
sessions_user=Usuari Webmin
|
||||
sessions_login=Ha entrat a
|
||||
sessions_host=Adreça IP
|
||||
sessions_lview=Visualitza els registres...
|
||||
sessions_actions=Accions...
|
||||
sessions_logouts=Mostra també les sessións desconnectades...
|
||||
sessions_state=Estat
|
||||
sessions_this=Aquesta entrada
|
||||
sessions_in=Connectat
|
||||
sessions_out=Desconnectat
|
||||
sessions_kill=Desconnecta...
|
||||
|
||||
logins_title=Entrades recents a Webmin
|
||||
|
||||
hide_title=Amaga els Mòduls No Utilitzats
|
||||
hide_desc=Els mòduls següents es trauran de la llista d'accés de mòduls de $1, ja que els seus corresponents servidors no estan instal·lats al sistema...
|
||||
|
||||
414
acl/lang/fr
414
acl/lang/fr
@@ -1,348 +1,358 @@
|
||||
acl_acl=Peut modifier le contrôle d'accès au module ?
|
||||
acl_acl=Peut modifier le contrôle d'accès au module ?
|
||||
acl_all=Tous les modules
|
||||
acl_cats=Peut changer de catégorie ?
|
||||
acl_cats=Peut changer de catégorie ?
|
||||
acl_cert=Peut demander un certificat ?
|
||||
acl_chcert=Peut changer le nom du certificat SSL ?
|
||||
acl_config=Peut modifier la configuration du module ?
|
||||
acl_create=Peut créer de nouveaux utilisateurs ?
|
||||
acl_create=Peut créer de nouveaux utilisateurs ?
|
||||
acl_delete=Peut supprimer des utilisateurs ?
|
||||
acl_egroup=Vous n'êtes pas autorisé à modifier les ACL des groupes
|
||||
acl_emod=Vous n'êtes pas autorisé à modifier le contrôle d'accès de ce module
|
||||
acl_err=Impossible d'enregistrer les contrôles d'accès
|
||||
acl_euser=Vous n'êtes pas autorisé à modifier le contrôle d'accès pour cet utilisateur
|
||||
acl_egroup=Vous n'êtes pas autorisé à modifier les ACL des groupes
|
||||
acl_emod=Vous n'êtes pas autorisé à modifier le contrôle d'accès de ce module
|
||||
acl_err=Impossible d'enregistrer les contrôles d'accès
|
||||
acl_euser=Vous n'êtes pas autorisé à modifier le contrôle d'accès pour cet utilisateur
|
||||
acl_gall=Tous les groupes
|
||||
acl_gassign=Peut affecter des utilisateurs à des groupes
|
||||
acl_gassign=Peut affecter des utilisateurs à des groupes
|
||||
acl_gnone=Aucun
|
||||
acl_gr=Membres de $1
|
||||
acl_groups=Peut modifier des groupes ?
|
||||
acl_gsel=Sélectionnés...
|
||||
acl_ips=Peut changer le contrôle d'accès IP ?
|
||||
acl_gsel=Sélectionnés...
|
||||
acl_ips=Peut changer le contrôle d'accès IP ?
|
||||
acl_lang=Peut changer de langue ?
|
||||
acl_mods=Peut accorder un accès à
|
||||
acl_options=Options du contrôle d'accès du module $1
|
||||
acl_mods=Peut accorder un accès ?
|
||||
acl_options=Options du contrôle d'accès du module $1
|
||||
acl_others=Peut voir les modules inaccessibles ?
|
||||
acl_own=Seulement ses propres modules
|
||||
acl_pass=Peut modifier les restrictions du mot de passe ?
|
||||
acl_perms=Les utilisateurs récemment créés obtiennent
|
||||
acl_perms_0=Contrôle d'accès au module par défaut (sans restriction)
|
||||
acl_perms_1=Même contrôle d'accès au module que le créateur
|
||||
acl_rbac=Récupérer les paramètres de contrôle d'accès depuis RBAS ?
|
||||
acl_rbacyes=Oui (remplace les paramètres ci-dessous)
|
||||
acl_perms=Les utilisateurs récemment créés obtiennent
|
||||
acl_perms_0=Contrôle d'accès au module par défaut (sans restriction)
|
||||
acl_perms_1=Même contrôle d'accès au module que le créateur
|
||||
acl_rbac=Récupérer les paramètres de contrôle d'accès depuis RBAS ?
|
||||
acl_rbacyes=Oui (remplace les paramètres ci-dessous)
|
||||
acl_rename=Peut renommer des utilisateurs ?
|
||||
acl_reset=Réinitialiser en mode plein accès
|
||||
acl_sel=Modules sélectionnés...
|
||||
acl_reset=Réinitialiser en mode plein accès
|
||||
acl_sel=Modules sélectionnés...
|
||||
acl_sessions=Peut afficher et annuler des sessions de connexion ?
|
||||
acl_sql=peut configurer la base de donnée du groupe et de l'utilisateur ?
|
||||
acl_sql=peut configurer la base de donnée du groupe et de l'utilisateur ?
|
||||
acl_switch=Peut basculer vers d'autres utilisateurs ?
|
||||
acl_sync=Peut configurer la synchronisation des utilisateurs ?
|
||||
acl_theme=Peut changer le thème personnel ?
|
||||
acl_times=Peut changer les heures de connexion autorisées ?
|
||||
acl_title=Contrôle d'accès du module
|
||||
acl_theme=Peut changer le thème personnel ?
|
||||
acl_times=Peut changer les heures de connexion autorisées ?
|
||||
acl_title=Contrôle d'accès du module
|
||||
acl_title2=$2 pour l'utilisateur $1
|
||||
acl_title3=du groupe $2 pour l'utilisateur $1
|
||||
acl_uall=Tous les utilisateurs
|
||||
acl_unix=Peut configurer l'authentification Unix ?
|
||||
acl_usel=Utilisateurs sélectionnés...
|
||||
acl_users=Utilisateurs pouvant être modifiés
|
||||
acl_usel=Utilisateurs sélectionnés...
|
||||
acl_users=Utilisateurs pouvant être modifiés
|
||||
acl_uthis=Cet utilisateur
|
||||
cert_already=<b>Avertissement</<b> : vous utilisez déjà le certificat $1.
|
||||
cert_already=<b>Avertissement</<b> : vous utilisez déjà le certificat $1.
|
||||
cert_c=Code du pays
|
||||
cert_cn=Votre nom
|
||||
cert_done=Votre certificat pour $1 a été généré avec succès.
|
||||
cert_ebrowser=Webmin ne sait pas comment émettre des certificats client pour votre navigateur ( $1 )
|
||||
cert_eca=Impossible de configurer l'Autorité de Certification : $1
|
||||
cert_ekey=Une nouvelle clé SSL n'a pas été soumise par votre navigateur : peut-être ne gère-t-il pas les certificats client SSL.
|
||||
cert_email=Adresse électronique
|
||||
cert_header=Détails du nouveau certificat
|
||||
cert_done=Votre certificat pour $1 a été généré avec succès.
|
||||
cert_ebrowser=Webmin ne sait pas comment émettre des certificats client pour votre navigateur ( $1 )
|
||||
cert_eca=Impossible de configurer l'Autorité de Certification : $1
|
||||
cert_ekey=Une nouvelle clé SSL n'a pas été soumise par votre navigateur : peut-être ne gère-t-il pas les certificats client SSL.
|
||||
cert_email=Adresse électronique
|
||||
cert_header=Détails du nouveau certificat
|
||||
cert_install=Installez votre certificat dans le navigateur
|
||||
cert_issue=Émettre un certificat
|
||||
cert_key=Taille de la clé
|
||||
cert_msg=Ce formulaire vous permet de demander un certificat SSL client qui servira ensuite à vous accorder l'accès à Webmin au lieu de vos nom d'utilisateur et mot de passe. Cette méthode est plus sûre, mais comme l'authentification est automatique, vous ne pourrez plus changer d'utilisateur quand vous ferez appel au certificat.
|
||||
cert_issue=Émettre un certificat
|
||||
cert_key=Taille de la clé
|
||||
cert_msg=Ce formulaire vous permet de demander un certificat SSL client qui servira ensuite à vous accorder l'accès à Webmin au lieu de vos nom d'utilisateur et mot de passe. Cette méthode est plus sûre, mais comme l'authentification est automatique, vous ne pourrez plus changer d'utilisateur quand vous ferez appel au certificat.
|
||||
cert_o=Organisation
|
||||
cert_ou=Département
|
||||
cert_pickup=<a href='$1'>Cliquez ici pour sélectionner votre certificat et l'installer dans votre navigateur</a>
|
||||
cert_sp=État
|
||||
cert_ou=Département
|
||||
cert_pickup=<a href='$1'>Cliquez ici pour sélectionner votre certificat et l'installer dans votre navigateur</a>
|
||||
cert_sp=État
|
||||
cert_title=Demande de certificat
|
||||
convert_0=Tous les utilisateurs
|
||||
convert_1=Seulement les utilisateurs
|
||||
convert_2=Tous sauf les utilisateurs
|
||||
convert_3=Utilisateurs du groupe
|
||||
convert_4=Utilisateurs dont l'UID est dans l'intervalle
|
||||
convert_added=$1 est ajouté
|
||||
convert_desc=Ce formulaire vous permet de convertir des utilisateurs Unix existants en utilisateurs Webmin. Les droits d'accès de chaque nouvel utilisateur Webmin seront déterminés par le groupe sélectionné ci-dessous.
|
||||
convert_ecannot=Vous n'êtes pas autorisé à convertir un utilisateur Unix
|
||||
convert_added=$1 est ajouté
|
||||
convert_desc=Ce formulaire vous permet de convertir des utilisateurs Unix existants en utilisateurs Webmin. Les droits d'accès de chaque nouvel utilisateur Webmin seront déterminés par le groupe sélectionné ci-dessous.
|
||||
convert_ecannot=Vous n'êtes pas autorisé à convertir un utilisateur Unix
|
||||
convert_egroup=Le groupe Unix n'existe pas
|
||||
convert_emax=UID maximal invalide
|
||||
convert_emin=UID minimal invalide
|
||||
convert_err=Impossible de convertir les utilisateurs
|
||||
convert_eusers=Aucun utilisateur à convertir saisi
|
||||
convert_eusers=Aucun utilisateur à convertir saisi
|
||||
convert_ewgroup=Pas de groupe Webmin de ce type
|
||||
convert_ewgroup2=Vous n'êtes pas autorisé à affecter de nouveaux utilisateurs à ce groupe
|
||||
convert_exists=$1 existe déjà
|
||||
convert_ewgroup2=Vous n'^étes pas autorisé à affecter de nouveaux utilisateurs à ce groupe
|
||||
convert_exists=$1 existe déjà
|
||||
convert_group=Affecter de nouveaux utilisateurs au groupe Webmin
|
||||
convert_invalid=$1 n'est pas un nom d'utilisateur Webmin valide
|
||||
convert_msg=Conversion des utilisateurs Unix en cours...
|
||||
convert_nogroups=Aucun groupe Webmin n'a été défini sur votre système. Vous devez créer au moins un groupe avant d'effectuer la conversion, afin de définir des droits d'accès pour les utilisateurs convertis.
|
||||
convert_nogroups=Aucun groupe Webmin n'a été défini sur votre système. Vous devez créer au moins un groupe avant d'effectuer la conversion, afin de définir des droits d'accès pour les utilisateurs convertis.
|
||||
convert_ok=Convertir maintenant
|
||||
convert_skip=$1 est ignoré
|
||||
convert_sync=Utiliser à l'avenir le même mot de passe que l'utilisateur Unix ?
|
||||
convert_skip=$1 est ignoré
|
||||
convert_sync=Utiliser à l'avenir le même mot de passe que l'utilisateur Unix ?
|
||||
convert_title=Conversion des utilisateurs
|
||||
cpass_dict=est un mot du dictionnaire
|
||||
cpass_minsize=Doit avoir $1 lettre de long au minimum
|
||||
cpass_name=Contient le nom de l'utilisateur
|
||||
cpass_notre=Corresponds à un modèle non permis
|
||||
cpass_old=Les vieux mots de passes ne peuvent pas être réutilisés
|
||||
cpass_re=Ne corresponds pas au modèle requis
|
||||
cpass_spellcmd=Ni les commandes $1 ni $2 requises pour vérifier les mots du dictionnaires ne sont installées
|
||||
delete_ecannot=Vous n'êtes pas autorisé à supprimer des utilisateurs
|
||||
cpass_notre=Corresponds à un modèle non permis
|
||||
cpass_old=Les vieux mots de passes ne peuvent pas être réutilisés
|
||||
cpass_re=Ne correspond pas au modèle requis
|
||||
cpass_spellcmd=Ni les commandes $1 ni $2 requises pour vérifier les mots du dictionnaires ne sont installées
|
||||
delete_ecannot=Vous n'êtes pas autorisé à supprimer des utilisateurs
|
||||
delete_err=Impossible de supprimer cet utilisateur
|
||||
delete_eself=Vous ne pouvez pas vous supprimer vous-même
|
||||
delete_euser=Vous n'êtes pas autorisé à supprimer cet utilisateur
|
||||
edit_all=Autoriser à partir de toutes les adresses
|
||||
delete_eself=Vous ne pouvez pas vous supprimer vous-même
|
||||
delete_euser=Vous n'êtes pas autorisé à supprimer cet utilisateur
|
||||
edit_all=Autoriser à partir de toutes les adresses
|
||||
edit_alldays=Tous les jours
|
||||
edit_allhours=Tout le temps
|
||||
edit_allow=Autoriser uniquement à partir des adresses répertoriées
|
||||
edit_allow=Autoriser uniquement à partir des adresses répertoriées
|
||||
edit_cert=Nom du certificat SSL
|
||||
edit_chars=Lettres
|
||||
edit_clone=Cloner
|
||||
edit_cloneof=Clôner l'utilisateur Webmin
|
||||
edit_days=Jours autorisés dans la semaine
|
||||
edit_deny=Interdire à partir des adresses répertoriées
|
||||
edit_dont=Inchangé
|
||||
edit_ecreate=Vous n'êtes pas autorisé à créer des utilisateurs
|
||||
edit_egone=L'utilisateur sélectionné n'existe plus !
|
||||
edit_euser=Vous n'êtes pas autorisé à modifier cet utilisateur
|
||||
edit_cloneof=Clôner l'utilisateur Webmin
|
||||
edit_days=Jours autorisés dans la semaine
|
||||
edit_deny=Interdire à partir des adresses répertoriées
|
||||
edit_dont=Inchangé
|
||||
edit_ecreate=Vous n'êtes pas autorisé à créer des utilisateurs
|
||||
edit_egone=L'utilisateur sélectionné n'existe plus !
|
||||
edit_euser=Vous n'êtes pas autorisé à modifier cet utilisateur
|
||||
edit_extauth=Programme d'authentification externe
|
||||
edit_global=Permissions pour tout les modules
|
||||
edit_group=Membre du groupe
|
||||
edit_groupmods=(en plus des modules du groupe)
|
||||
edit_hide=Masquer si inutilisé
|
||||
edit_hours=Heures autorisées dans la journée
|
||||
edit_invert=Inverser la sélection
|
||||
edit_ipdesc=Le contrôle d'accès IP utilisateur fonctionne de la même manière que le contrôle d'accès IP global du module de configuration de
|
||||
edit_ips=Contrôle d'accès IP
|
||||
edit_hide=Masquer si inutilisé
|
||||
edit_hours=Heures autorisées dans la journée
|
||||
edit_invert=Inverser la sélection
|
||||
edit_ipdesc=Le contrôle d'accès IP utilisateur fonctionne de la même manière que le contrôle d'accès IP global du module de configuration de
|
||||
edit_ips=Contrôle d'accès IP
|
||||
edit_lang=Langue
|
||||
edit_lock=Aucun mot de passe accepté
|
||||
edit_lock=Aucun mot de passe accepté
|
||||
edit_log=Voir les journaux
|
||||
edit_logout=Durée d'inactivité avant déconnexion
|
||||
edit_logout=Durée d'inactivité avant déconnexion
|
||||
edit_mins=minutes
|
||||
edit_minsize=Langueur minimum du mot de passe
|
||||
edit_mods=Les modules Webmin disponibles
|
||||
edit_modsg=Les modules Webmin disponibles (en y ajoutant ceux du groupe)
|
||||
edit_modules=Modules
|
||||
edit_none=Aucun
|
||||
edit_notabs=Classer les modules par catégories ?
|
||||
edit_overlayglobal=Aucun - utiliser les thème par défaut
|
||||
edit_notabs=Classer les modules par catégories ?
|
||||
edit_overlayglobal=Aucun - utiliser les thème par défaut
|
||||
edit_pam=Authentification PAM
|
||||
edit_pass=Mot de passe
|
||||
edit_passlocked=le mot de passe n'a pas été modifier depuis $1 jours - le compte est verrouillé !
|
||||
edit_passmax=le mot de passe n'a pas été modifier depuis $1 jours -il doit etre modifier à la prochaine connexion.
|
||||
edit_passlocked=le mot de passe n'a pas été modifier depuis $1 jours - le compte est verrouillé !
|
||||
edit_passmax=le mot de passe n'a pas été modifier depuis $1 jours -il doit etre modifier à la prochaine connexion.
|
||||
edit_proto_ldap=Le serveur LDAP
|
||||
edit_proto_mysql=La base de donnée MySQL
|
||||
edit_proto_postgresql=La base de donnée PostgreSQL
|
||||
edit_rbacdeny=Mode d'accès RBAC
|
||||
edit_rbacdeny0=RBAC ne contrôle que le module ACLs sélectionné
|
||||
edit_rbacdeny1=RBAC contrôle tous les modules et les ACLs
|
||||
edit_readonly=Cet utilisateur Webmin ne doit pas être édité car il est géré directement par le module $1. <a href='$2'>Cliquez ici</a> pour ignorer cet avertissement et éditer tout de même cet utilisateur, mais attention car tous les changements manuels peuvent être redéfinis !
|
||||
edit_real=Nom réel
|
||||
edit_return=à l'utilisateur Webmin
|
||||
edit_proto_mysql=La base de donnée MySQL
|
||||
edit_proto_postgresql=La base de donnée PostgreSQL
|
||||
edit_rbacdeny=Mode d'accès RBAC
|
||||
edit_rbacdeny0=RBAC ne contrôle que le module ACLs sélectionné
|
||||
edit_rbacdeny1=RBAC contrôle tous les modules et les ACLs
|
||||
edit_readonly=Cet utilisateur Webmin ne doit pas être édité car il est géré directement par le module $1. <a href='$2'>Cliquez ici</a> pour ignorer cet avertissement et éditer tout de même cet utilisateur, mais attention car tous les changements manuels peuvent être redéfinis !
|
||||
edit_real=Nom réel
|
||||
edit_return=à l'utilisateur Webmin
|
||||
edit_return2=Groupe Webmin
|
||||
edit_rights=Droits d'accès de l'utilisateur Webmin
|
||||
edit_rights=Droits d'accès de l'utilisateur Webmin
|
||||
edit_risk=Niveau de risque
|
||||
edit_risk_high=Super-utilisateur
|
||||
edit_risk_low=Utilisateur normal
|
||||
edit_risk_medium=Utilisateur administrateur
|
||||
edit_same=Identique au mot de passe Unix
|
||||
edit_selall=Tout sélectionner
|
||||
edit_seldays=Uniquement les jours sélectionnés
|
||||
edit_selhours=De $1:$2 à $3:$4
|
||||
edit_selall=Tout sélectionner
|
||||
edit_seldays=Uniquement les jours sélectionnés
|
||||
edit_selhours=De $1:$2 à $3:$4
|
||||
edit_set=Remplacer par
|
||||
edit_skill=Niveau de compétence
|
||||
edit_skill=Niveau de compétence
|
||||
edit_switch=Changer d'utilisateur
|
||||
edit_templock=Verrouillé temporairement
|
||||
edit_theme=Thème personnel
|
||||
edit_themedef=Ancien thème Webmin
|
||||
edit_themeglobal=À partir de la configuration Webmin
|
||||
edit_templock=Verrouillé temporairement
|
||||
edit_theme=Thème personnel
|
||||
edit_themedef=Ancien thème Webmin
|
||||
edit_themeglobal=à partir de la configuration Webmin
|
||||
edit_title=Modification d'un utilisateur Webmin
|
||||
edit_title2=Création d'un utilisateur Webmin
|
||||
edit_title2=Création d'un utilisateur Webmin
|
||||
edit_ui=les option de l'interface utilisateur
|
||||
edit_unix=Authentification Unix
|
||||
edit_user=Nom d'utilisateur
|
||||
gdelete_desc=Voulez-vous vraiment supprimer le groupe $1 et les utilisateurs qui en sont membres : $2 ?
|
||||
gdelete_ecannot=Vous n'êtes pas autorisé à supprimer des groupes
|
||||
gdelete_ecannot=Vous n'êtes pas autorisé à supprimer des groupes
|
||||
gdelete_err=Impossible de supprimer le groupe
|
||||
gdelete_esub=Les groupes comportant des sous-groupes ne peuvent pas être supprimés
|
||||
gdelete_esub=Les groupes comportant des sous-groupes ne peuvent pas être supprimés
|
||||
gdelete_euser=Vous ne pouvez pas supprimer votre propre groupe
|
||||
gdelete_ok=Supprimer le groupe
|
||||
gdelete_title=Suppression d'un groupe
|
||||
gdeletes_err=Echec de suppression des groupes
|
||||
gdeletes_ok=Effacer les groupes
|
||||
gdeletes_rusure=Etes-vous sur de vouloir effacer les $1 groupes sélectionnés, et les $2 utilisateurs qu'ils contiennent ? Tous leurs paramètres de contrôle d'accès et leurs personnalisations seront perdus.
|
||||
gdeletes_rusure=Etes-vous sur de vouloir effacer les $1 groupes sélectionnés, et les $2 utilisateurs qu'ils contiennent ? Tous leurs paramètres de contrôle d'accès et leurs personnalisations seront perdus.
|
||||
gdeletes_title=Effacer les groupes
|
||||
gdeletes_users=Groupes sélectionnés : $1
|
||||
gdeletes_users=Groupes sélectionnés : $1
|
||||
gedit_desc=Description du Groupe
|
||||
gedit_ecannot=Vous n'êtes pas autorisé à modifier des groupes
|
||||
gedit_egone=Le Groupe sélectionné n'existe plus !
|
||||
gedit_ecannot=Vous n'êtes pas autorisé à modifier des groupes
|
||||
gedit_egone=Le Groupe sélectionné n'existe plus !
|
||||
gedit_group=Nom du groupe
|
||||
gedit_members=Membre des utilisateurs et des groupes
|
||||
gedit_modules=Modules des membres
|
||||
gedit_rights=Droits d'accès du groupe Webmin
|
||||
gedit_rights=Droits d'accèês du groupe Webmin
|
||||
gedit_title=Modification d'un groupe Webmin
|
||||
gedit_title2=Création d'un groupe Webmin
|
||||
gsave_edesc=Description Invalide - le caractère : n'est pas permis
|
||||
gsave_edup=Ce nom de groupe est déjà utilisé
|
||||
gedit_title2=Création d'un groupe Webmin
|
||||
gsave_edesc=Description Invalide - le caractère : n'est pas permis
|
||||
gsave_edup=Ce nom de groupe est déjà utilisé
|
||||
gsave_ename=Nom du groupe manquant ou invalide
|
||||
gsave_enamewebmin=Le nom de groupe 'webmin' est réservé pour une utilisation interne
|
||||
gsave_enamewebmin=Le nom de groupe 'webmin' est réservé pour une utilisation interne
|
||||
gsave_err=Impossible d'enregistrer le groupe
|
||||
hide_clone=(Cloner $1)
|
||||
hide_desc=Les modules suivants seront supprimés de la liste d'accès des modules pour $1 car leurs serveurs correspondants ne sont pas installés sur votre système...
|
||||
hide_desc2=Soyez conscient que ces modules ne réapparaîtront pas automatiquement si les serveurs correspondants sont installés. Vous devrez accorder l'accès manuellement à l'aide de ce module.
|
||||
hide_none=Rien à masquer - $1 n'a accès à aucun module dont les serveurs correspondants ne sont pas installés sur votre système.
|
||||
hide_desc=Les modules suivants seront supprimés de la liste d'accès des modules pour $1 car leurs serveurs correspondants ne sont pas installés sur votre système...
|
||||
hide_desc2=Soyez conscient que ces modules ne réapparaîotront pas automatiquement si les serveurs correspondants sont installés. Vous devrez accorder l'accès manuellement à l'aide de ce module.
|
||||
hide_none=Rien à masquer - $1 n'a accès à aucun module dont les serveurs correspondants ne sont pas installés sur votre système.
|
||||
hide_ok=Masquer les modules maintenant
|
||||
hide_title=Masquage des modules inutilisés
|
||||
hide_title=Masquage des modules inutilisés
|
||||
index_cert=Demander un certificat SSL
|
||||
index_certmsg=Cliquez sur ce bouton pour demander un certificat SSL qui vous permettra de vous connecter à Webmin de manière sûre sans avoir besoin de saisir un nom d'utilisateur et un mot de passe.
|
||||
index_certmsg=Cliquez sur ce bouton pour demander un certificat SSL qui vous permettra de vous connecter à Webmin de manière sûre sans avoir besoin de saisir un nom d'utilisateur et un mot de passe.
|
||||
index_convert=Convertir des utilisateurs Unix en utilisateurs Webmin
|
||||
index_create=Créer un nouvel utilisateur Webmin
|
||||
index_delete=Effacer la sélection
|
||||
index_create=Créer un nouvel utilisateur Webmin
|
||||
index_delete=Effacer la sélection
|
||||
index_edit=Modifier l'ACL du module :
|
||||
index_gcreate=Créer un nouveau groupe d'utilisateurs
|
||||
index_gcreate=Créer un nouveau groupe d'utilisateurs
|
||||
index_global=ACL globale
|
||||
index_group=Groupe
|
||||
index_groups=Groupes Webmin
|
||||
index_members=Membres
|
||||
index_modgroups=Modules du groupe $1
|
||||
index_modules=Modules
|
||||
index_nogroups=Aucun groupe Webmin modifiable n'est défini
|
||||
index_nogroups=Aucun groupe Webmin modifiable n'est défini
|
||||
index_none=Aucun
|
||||
index_nousers=Aucun utilisateur Webmin modifiable n'est défini
|
||||
index_nousers=Aucun utilisateur Webmin modifiable n'est défini
|
||||
index_rbac=Configuration RBAC
|
||||
index_rcreate=Créer un nouvel utilisateur à niveau de risque
|
||||
index_return=à la liste des utilisateurs
|
||||
index_rcreate=Créer un nouvel utilisateur à niveau de risque
|
||||
index_return=à la liste des utilisateurs
|
||||
index_sessions=Afficher les sessions de connexion
|
||||
index_sync=Configurer la synchronisation des utilisateurs Unix
|
||||
index_title=Utilisateurs Webmin
|
||||
index_unix=Configurer l'authentification des utilisateurs Unix
|
||||
index_user=Utilisateur
|
||||
index_users=Utilisateurs Webmin
|
||||
log_acl=Mis à jour l'accès de l'$1 pour l'utilisateur $2
|
||||
log_cert=Émis un certificat pour l'utilisateur $1
|
||||
log_clone=Cloné l'utilisateur Webmin $1 en $2
|
||||
log_create=Créé l'utilisateur Webmin $1
|
||||
log_create_g=Créé le groupe Webmin $1
|
||||
log_delete=Supprimé l'utilisateur Webmin $1
|
||||
log_delete_g=Supprimé le groupe Webmin $1
|
||||
log_delete_groups=$1 est effacé des groupes Webmin
|
||||
log_delete_users=$1 est effacé des utilisateurs Webmin
|
||||
log_modify=Modifié l'utilisateur Webmin $1
|
||||
log_modify_g=Modifié le groupe Webmin $1
|
||||
log_rename=Renommé l'utilisateur Webmin $1 en $2
|
||||
log_rename_g=Renommé le groupe Webmin $1 en $2
|
||||
log_reset=Réinitialisé l'accès de l'$1 pour l'utilisateur $2
|
||||
log_switch=Basculé vers l'utilisateur Webmin $1
|
||||
log_acl=Mis à jour l'accès de l'$1 pour l'utilisateur $2
|
||||
log_cert=émis un certificat pour l'utilisateur $1
|
||||
log_clone=Cloné l'utilisateur Webmin $1 en $2
|
||||
log_create=Créé l'utilisateur Webmin $1
|
||||
log_create_g=Créé le groupe Webmin $1
|
||||
log_delete=Supprimé l'utilisateur Webmin $1
|
||||
log_delete_g=Supprimé le groupe Webmin $1
|
||||
log_delete_groups=$1 est effacé des groupes Webmin
|
||||
log_delete_users=$1 est effacé des utilisateurs Webmin
|
||||
log_modify=Modifié l'utilisateur Webmin $1
|
||||
log_modify_g=Modifié le groupe Webmin $1
|
||||
log_rename=Renommé l'utilisateur Webmin $1 en $2
|
||||
log_rename_g=Renommé le groupe Webmin $1 en $2
|
||||
log_reset=Réinitialiser l'accès de l'$1 pour l'utilisateur $2
|
||||
log_switch=Basculé vers l'utilisateur Webmin $1
|
||||
make_done=... accompli
|
||||
make_err=l'opération de création des tables pour l'utilisateur et le groupe a échouée.
|
||||
make_failed=... Échec de la création : $1
|
||||
make_still=Quelques problèmes ont étés rencontrés même après la création de la table : $1
|
||||
make_title=création des Tables de Utilisateur et des Groupes
|
||||
make_err=l'opération de création des tables pour l'utilisateur et le groupe a échoué.
|
||||
make_failed=... échec de la création : $1
|
||||
make_still=Quelques problèmes ont étés rencontrés même après la création de la table : $1
|
||||
make_title=création des Tables de Utilisateur et des Groupes
|
||||
makedn_done=... accompli
|
||||
makedn_title=Création de LDAP DN
|
||||
makedn_title=Création de LDAP DN
|
||||
pass_days=jours
|
||||
pass_ecannot=Vous n'êtes pas autorisé à éditer les restrictions des mots de passes
|
||||
pass_nooldblock=Réutilisation du mot de passe illimitée
|
||||
pass_pass=mots de passes
|
||||
pass_ecannot=Vous n'êtes pas autorisé à éditer les restrictions des mots de passes
|
||||
pass_nooldblock=Réutilisation illimitée du mot de passe
|
||||
pass_pass=mots de passe
|
||||
pass_title=Restrictions de mot de passe
|
||||
rbac_desc=L'intégration RBAC dans Webmin offre la possibilité pour un module utilisateur de déterminer les permissions ACL depuis une base de données RBAC (Role Based Access Control), plutôt que depuis les fichiers de configuration de Webmin. Une fois que le support RBAC est activé, tout utilisateur pour qui <b>$edit_rbacdeny1</b> l'option est sélectionnée verra ses possibilités déterminée par RBAC plutôt que par les paramètres de contôle d'accès de Webmin.
|
||||
rbac_ecpan=Vous n'avez pas accès à la page de modules Perl de Webmin pour installer le module $1 nécessaire pour l'intégration de RBAC.
|
||||
rbac_eperl=Le module Perl $1 nécessaire pour l'intégration RBAC n'est pas installé. <a href='$2'>Cliquez ici</a> pour l'installer maintenant.
|
||||
rbac_esolaris=RBAC n'est supporté actuellement que sur Solaris, et ne peut pas être utilisé sur ce système $1.
|
||||
rbac_ok=L'intégration de RBAC est disponible sur ce sytème et peut être activée pour les utilisateurs en éditant la page "Utilisateur Webmin".
|
||||
rbac_desc=L'intégration RBAC dans Webmin offre la possibilité pour un module utilisateur de déterminer les permissions ACL depuis une base de données RBAC (Role Based Access Control), plutôt que depuis les fichiers de configuration de Webmin. Une fois que le support RBAC est activé, tout utilisateur pour qui <b>$edit_rbacdeny1</b> l'option est sélectionnée verra ses possibilités déterminée par RBAC plutôt que par les paramètres de contôle d'accès de Webmin.
|
||||
rbac_ecpan=Vous n'avez pas accès à la page de modules Perl de Webmin pour installer le module $1 nécessaire pour l'intégration de RBAC.
|
||||
rbac_eperl=Le module Perl $1 nécessaire pour l'intégration RBAC n'est pas installé. <a href='$2'>Cliquez ici</a> pour l'installer maintenant.
|
||||
rbac_esolaris=RBAC n'est supporté actuellement que sur Solaris, et ne peut pas être utilisé sur ce système $1.
|
||||
rbac_ok=L'intégration de RBAC est disponible sur ce sytème et peut être activée pour les utilisateurs en éditant la page "Utilisateur Webmin".
|
||||
rbac_title=Configuration RBAC
|
||||
save_ecolon=Les mots de passe ne peuvent pas contenir le caractère « : »
|
||||
save_ecreate=Vous n'êtes pas autorisé à créer des utilisateurs
|
||||
save_edays=Pas de jours autorisés sélectionnés
|
||||
save_edeny=Vous ne pouvez pas vous interdire d'avoir accès au module de configuration des utilisateurs Webmin
|
||||
save_edup=L'utilisateur '$1' existe déjà
|
||||
save_egroup=Vous n'êtes pas autorisé à affecter quoi que ce soit à ce groupe
|
||||
save_ecolon=Les mots de passe ne peuvent pas contenir le caractère " : "
|
||||
save_ecreate=Vous n'êtes pas autoris" à créer des utilisateurs
|
||||
save_edays=Pas de jours autorisés sélectionnés
|
||||
save_edeny=Vous ne pouvez pas vous interdire d'avoir accès au module de configuration des utilisateurs Webmin
|
||||
save_edup=L'utilisateur '$1' existe déjà
|
||||
save_egroup=Vous n'êtes pas autorisé à affecter quoi que ce soit à ce groupe
|
||||
save_ehost=Impossible de trouver une adresse IP pour '$1'
|
||||
save_ehours=Heures autorisées manquantes ou incorrectes
|
||||
save_ehours2=L'heure de début de l'autorisation doit être avant l'heure de fin
|
||||
save_eip='$1' n'est pas une adresse IP ou une adresse réseau complète
|
||||
save_elogouttime=Temporisation de déconnexion manquante ou non numérique
|
||||
save_emask='$1' n'est pas un masque réseau valide
|
||||
save_ehours=Heures autorisées manquantes ou incorrectes
|
||||
save_ehours2=L'heure de début de l'autorisation doit être avant l'heure de fin
|
||||
save_eip='$1' n'est pas une adresse IP ou une adresse réseau complète
|
||||
save_elogouttime=Temporisation de déconnexion manquante ou non numérique
|
||||
save_emask='$1' n'est pas un masque réseau valide
|
||||
save_emd5=Il n'est pas possible de cocher l'option <b>Mot de passe identique au mot de passe UNIX</b> avec le chiffrement MD5
|
||||
save_emod=Vous ne pouvez pas accorder d'accès au module '$1'
|
||||
save_emod=Vous ne pouvez pas accorder d'accès au module '$1'
|
||||
save_ename='$1' n'est pas un nom d'utilisateur valide
|
||||
save_enamewebmin=Le nom d'utilisateur 'webmin' est réservé pour une utilisation interne
|
||||
save_enet='$1' n'est pas une adresse réseau valide
|
||||
save_enamewebmin=Le nom d'utilisateur 'webmin' est réservé pour une utilisation interne
|
||||
save_enet='$1' n'est pas une adresse réseau valide
|
||||
save_enone=Pas d'adresse saisie
|
||||
save_eos=Votre système d'exploitation ne gère pas l'option <b>Mot de passe identique au mot de passe Unix</b>.
|
||||
save_epam=L'authentification PAM n'est pas disponible car le module Perl <tt>Authen::PAM</tt> n'est pas installé ou ne fonctionne pas correctement.
|
||||
save_epam2=Vous pouvez utiliser le module <b>Modules Perl</b> de Webmin pour <a href='$1'>télécharger et installer Authen::PAM</a> maintenant.
|
||||
save_eos=Votre système d'exploitation ne gère pas l'option <b>Mot de passe identique au mot de passe Unix</b>.
|
||||
save_epam=L'authentification PAM n'est pas disponible car le module Perl <tt>Authen::PAM</tt> n'est pas installé ou ne fonctionne pas correctement.
|
||||
save_epam2=Vous pouvez utiliser le module <b>Modules Perl</b> de Webmin pour <a href='$1'>télécharger et installer Authen::PAM</a> maintenant.
|
||||
save_epass=Mot de passes incorrecte : $1
|
||||
save_err=Impossible d'enregistrer l'utilisateur
|
||||
save_eself=Votre adresse IP actuelle ($1) serait interdite
|
||||
save_eunix=L'utilisateur Unix $1 n'existe pas
|
||||
save_euser=Vous n'êtes pas autorisé à modifier cet utilisateur
|
||||
schema_title=Télécharger un Schéma LDAP
|
||||
sessions_desc=Les noms de connexion de la session Webmin actuelle sont répertoriés ci-dessous. Pour annuler une session existante et forcer l'utilisateur à se connecter à nouveau, cliquez sur son identifiant de session.
|
||||
sessions_host=Adresse IP
|
||||
sessions_id=Identifiant de session
|
||||
sessions_login=Connecté le
|
||||
sessions_lview=Voir les journaux...
|
||||
save_euser=Vous n'êtes pas autorisé à modifier cet utilisateur
|
||||
schema_title=Télécharger un schéma LDAP
|
||||
sessions_desc=Les noms de connexion de la session Webmin actuelle sont répertoriés ci-dessous. Pour annuler une session existante et forcer l'utilisateur à se connecter à nouveau, cliquez sur son identifiant de session.
|
||||
sessions_title=Sessions de connexion actuelles
|
||||
sessions_id=ID de session
|
||||
sessions_user=Utilisateur Webmin
|
||||
sql_db=Nom de la base de donnée
|
||||
sql_host=Nom d'hôte
|
||||
sql_make=Création des Tables
|
||||
sql_makedn=Création DN
|
||||
sessions_login=Connecté le
|
||||
sessions_host=Adresse IP
|
||||
sessions_lview=Voir les journaux...
|
||||
sessions_actions=Actions...
|
||||
sessions_logouts=Montrer aussi les sessions de déconnexion...
|
||||
sessions_state=État
|
||||
sessions_this=Cette connexion
|
||||
sessions_in=Connexion
|
||||
sessions_out=Déconnexion
|
||||
sessions_kill=Déconnecté...
|
||||
|
||||
logins_title=Récentes connexions à Webmin
|
||||
|
||||
sql_db=Nom de la base de donnée
|
||||
sql_host=Nom d'hôte
|
||||
sql_make=Création des Tables
|
||||
sql_makedn=Création DN
|
||||
sql_pass=Mot de passe
|
||||
sql_ssl0=Aucun
|
||||
sql_ssl1=SSL
|
||||
sql_ssl2=TLS
|
||||
sql_user=Nom d'utilisateur
|
||||
switch_eold=Session existante non trouvée !
|
||||
switch_euser=Vous n'êtes pas autorisé à basculer vers cet utilisateur
|
||||
sync_create=Créer un utilisateur Webmin quand un utilisateur Webmin est créé
|
||||
sync_delete=Supprimer l'utilisateur Webmin correspondant quand un utilisateur Unix est supprimé
|
||||
sync_desc=Ce formulaire vous permet de configurer la synchronisation automatique des utilisateurs Unix créés à l'aide de Webmin et des utilisateurs de ce module.
|
||||
sync_ecannot=Vous n'êtes pas autorisé à configurer la synchronisation des utilisateurs
|
||||
sync_group=Affecter de nouveaux utilisateurs à un groupe Webmin
|
||||
sync_nogroups=Aucun groupe Webmin n'a été défini sur votre système. Vous devez créer au moins un groupe pour définir l'accès concernant les utilisateurs créés.
|
||||
switch_eold=Session existante non trouvée !
|
||||
switch_euser=Vous n'êtes pas autorisé à basculer vers cet utilisateur
|
||||
sync_create=Créer un utilisateur Webmin quand un utilisateur Webmin est créé
|
||||
sync_delete=Supprimer l'utilisateur Webmin correspondant quand un utilisateur Unix est supprimé
|
||||
sync_desc=Ce formulaire vous permet de configurer la synchronisation automatique des utilisateurs Unix créés à l'aide de Webmin et des utilisateurs de ce module.
|
||||
sync_ecannot=Vous n'êtes pas autorisé à configurer la synchronisation des utilisateurs
|
||||
sync_group=Affecter de nouveaux utilisateurs à un groupe Webmin
|
||||
sync_nogroups=Aucun groupe Webmin n'a étédéfini sur votre système. Vous devez créer au moins un groupe pour définir l'accès concernant les utilisateurs créés.
|
||||
sync_title=Synchronisation des utilisateurs Unix
|
||||
sync_unix=Définir un mot de passe à de nouveaux utilisateurs pour l'authentification Unix
|
||||
sync_update=Mettre à jour l'utilisateur Webmin correspondant quand un utilisateur Unix est mis à jour
|
||||
udeletes_enone=Aucune sélection
|
||||
udeletes_ereadonly=Un des utilisateurs sélectionnés est marqué comme non éditable
|
||||
sync_unix=Définir un mot de passe pour de nouveaux utilisateurs pour l'authentification Unix
|
||||
sync_update=Mettre à jour l'utilisateur Webmin correspondant quand un utilisateur Unix est mis à jour
|
||||
udeletes_enone=Aucune sélection
|
||||
udeletes_ereadonly=Un des utilisateurs sélectionnés est marqué comme non éditable
|
||||
udeletes_err=Echec de suppression des utilisateurs
|
||||
udeletes_ok=Efface les utilisateurs
|
||||
udeletes_rusure=Etes-vous sur de vouloir effacer les $1 utilisateurs sélectionnés ? Tous leurs paramètres de contrôle d'accès et leurs personnalisations seront perdus.
|
||||
udeletes_rusure=Etes-vous sur de vouloir effacer les $1 utilisateurs sélectionnés ? Tous leurs paramètres de contrôle d'accès et leurs personnalisations seront perdus.
|
||||
udeletes_title=Efface les utilisateurs
|
||||
udeletes_users=Utilisateurs sélectionnés : $1
|
||||
unix_all=Autoriser tous les utilisateurs Unix répertoriés
|
||||
unix_allow=Autoriser uniquement les utilisateurs Unix répertoriés
|
||||
unix_def=Autoriser uniquement les utilisateurs Webmin à se connecter
|
||||
unix_deny=Interdire les utilisateurs Unix répertoriés
|
||||
unix_desc=Cette page vous permet de configurer Webmin pour valider les tentatives de connexion par rapport à la liste des utilisateurs système et de PAM. Ce comportement peut être utile si vous avez un grand nombre d'utilisateurs Unix existants auxquels vous souhaitez donner accès à Webmin.
|
||||
unix_ecannot=Vous n'êtes pas autorisé à configurer l'authentification des utilisateurs Unix
|
||||
udeletes_users=Utilisateurs sélectionnés : $1
|
||||
unix_all=Autoriser tous les utilisateurs Unix répertoriés
|
||||
unix_allow=Autoriser uniquement les utilisateurs Unix répertoriés
|
||||
unix_def=Autoriser uniquement les utilisateurs Webmin à se connecter
|
||||
unix_deny=Interdire les utilisateurs Unix répertoriés
|
||||
unix_desc=Cette page vous permet de configurer Webmin pour valider les tentatives de connexion par rapport à la liste des utilisateurs système et de PAM. Ce comportement peut être utile si vous avez un grand nombre d'utilisateurs Unix existants auxquels vous souhaitez donner accès à Webmin.
|
||||
unix_ecannot=Vous n'êtes pas autorisé à configurer l'authentification des utilisateurs Unix
|
||||
unix_egroup='$1' n'est pas un nom de groupe valide
|
||||
unix_enone=Pas d'utilisateurs ou de groupes Unix à autorisé indiqué
|
||||
unix_epam=L'authentification Unix n'est pas disponible car le module Perl <tt>Authen::PAM</tt> n'est pas installé ou ne fonctionne pas correctement.
|
||||
unix_eshells=Fichier d'interpréteurs de commande manquant ou non existant
|
||||
unix_enone=Pas d'utilisateurs ou de groupes Unix à autoriser indiqués
|
||||
unix_epam=L'authentification Unix n'est pas disponible car le module Perl <tt>Authen::PAM</tt> n'est pas installé ou ne fonctionne pas correctement.
|
||||
unix_eshells=Fichier d'interpréteurs de commande manquant ou non existant
|
||||
unix_euser='$1' n'est pas un nom d'utilisateur valide
|
||||
unix_ewhogroup=Pas de groupe à autoriser en rangée $1
|
||||
unix_ewhouser=Pas d'utilisateur à autoriser en rangée $1
|
||||
unix_ewhogroup=Pas de groupe à autoriser dans la ligne $1
|
||||
unix_ewhouser=Pas d'utilisateur à autoriser en rangée $1
|
||||
unix_group=Membres du groupe..
|
||||
unix_mall=Tous les utilisateurs
|
||||
unix_mode=Autorise
|
||||
unix_none=Aucun utilisateur saisi
|
||||
unix_pamany=Traiter les connexions validés uniquement par PAM comme $1
|
||||
unix_restrict=Les restrictions additionnelles suivantes seront appliquées aux utilisateurs Unix sélectionnés ci-dessus.
|
||||
unix_pamany=Traiter les connexions validés uniquement par PAM comme $1
|
||||
unix_restrict=Les restrictions additionnelles suivantes seront appliquées aux utilisateurs Unix sélectionnés ci-dessus.
|
||||
unix_same=<Comme utilisateur ou groupe>
|
||||
unix_sel=Autoriser les utilisateurs Unix listés ci-dessous à se connecter ..
|
||||
unix_shells=Interdire les utilisateurs Unix dont les interpréteurs de commandes ne sont pas dans un fichier
|
||||
unix_sudo=Autoriser les utilisateurs pouvant lancer des commandes via <tt>sudo</tt> à se connecter en tant que <tt>root</tt>
|
||||
unix_sel=Autoriser les utilisateurs Unix listés ci-dessous à se connecter ..
|
||||
unix_shells=Interdire les utilisateurs Unix dont les interpréteurs de commandes ne sont pas dans un fichier
|
||||
unix_sudo=Autoriser les utilisateurs pouvant lancer des commandes via <tt>sudo</tt> à se connecter en tant que <tt>root</tt>
|
||||
unix_title=Authentification des utilisateurs Unix
|
||||
unix_to=Comme utilisateur Webmin
|
||||
unix_user=Autoriser n'importe quel utilisateur Unix à se connecter avec les droits d'accès d'utilisateur
|
||||
unix_user=Autoriser n'importe quel utilisateur Unix à se connecter avec les droits d'accès d'utilisateur
|
||||
unix_who=Utilisateur ou Groupe
|
||||
|
||||
358
acl/lang/fr.UTF-8
Normal file
358
acl/lang/fr.UTF-8
Normal file
@@ -0,0 +1,358 @@
|
||||
acl_acl=Peut modifier le contrôle d'accès au module ?
|
||||
acl_all=Tous les modules
|
||||
acl_cats=Peut changer de catégorie ?
|
||||
acl_cert=Peut demander un certificat ?
|
||||
acl_chcert=Peut changer le nom du certificat SSL ?
|
||||
acl_config=Peut modifier la configuration du module ?
|
||||
acl_create=Peut créer de nouveaux utilisateurs ?
|
||||
acl_delete=Peut supprimer des utilisateurs ?
|
||||
acl_egroup=Vous n'êtes pas autorisé à modifier les ACL des groupes
|
||||
acl_emod=Vous n'êtes pas autorisé à modifier le contrôle d'accès de ce module
|
||||
acl_err=Impossible d'enregistrer les contrôles d'accès
|
||||
acl_euser=Vous n'êtes pas autorisé à modifier le contrôle d'accès pour cet utilisateur
|
||||
acl_gall=Tous les groupes
|
||||
acl_gassign=Peut affecter des utilisateurs à des groupes
|
||||
acl_gnone=Aucun
|
||||
acl_gr=Membres de $1
|
||||
acl_groups=Peut modifier des groupes ?
|
||||
acl_gsel=Sélectionnés...
|
||||
acl_ips=Peut changer le contrôle d'accès IP ?
|
||||
acl_lang=Peut changer de langue ?
|
||||
acl_mods=Peut accorder un accès ?
|
||||
acl_options=Options du contrôle d'accès du module $1
|
||||
acl_others=Peut voir les modules inaccessibles ?
|
||||
acl_own=Seulement ses propres modules
|
||||
acl_pass=Peut modifier les restrictions du mot de passe ?
|
||||
acl_perms=Les utilisateurs récemment créés obtiennent
|
||||
acl_perms_0=Contrôle d'accès au module par défaut (sans restriction)
|
||||
acl_perms_1=Même contrôle d'accès au module que le créateur
|
||||
acl_rbac=Récupérer les paramètres de contrôle d'accès depuis RBAS ?
|
||||
acl_rbacyes=Oui (remplace les paramètres ci-dessous)
|
||||
acl_rename=Peut renommer des utilisateurs ?
|
||||
acl_reset=Réinitialiser en mode plein accès
|
||||
acl_sel=Modules sélectionnés...
|
||||
acl_sessions=Peut afficher et annuler des sessions de connexion ?
|
||||
acl_sql=peut configurer la base de donnée du groupe et de l'utilisateur ?
|
||||
acl_switch=Peut basculer vers d'autres utilisateurs ?
|
||||
acl_sync=Peut configurer la synchronisation des utilisateurs ?
|
||||
acl_theme=Peut changer le thème personnel ?
|
||||
acl_times=Peut changer les heures de connexion autorisées ?
|
||||
acl_title=Contrôle d'accès du module
|
||||
acl_title2=$2 pour l'utilisateur $1
|
||||
acl_title3=du groupe $2 pour l'utilisateur $1
|
||||
acl_uall=Tous les utilisateurs
|
||||
acl_unix=Peut configurer l'authentification Unix ?
|
||||
acl_usel=Utilisateurs sélectionnés...
|
||||
acl_users=Utilisateurs pouvant être modifiés
|
||||
acl_uthis=Cet utilisateur
|
||||
cert_already=<b>Avertissement</<b> : vous utilisez déjà le certificat $1.
|
||||
cert_c=Code du pays
|
||||
cert_cn=Votre nom
|
||||
cert_done=Votre certificat pour $1 a été généré avec succès.
|
||||
cert_ebrowser=Webmin ne sait pas comment émettre des certificats client pour votre navigateur ( $1 )
|
||||
cert_eca=Impossible de configurer l'Autorité de Certification : $1
|
||||
cert_ekey=Une nouvelle clé SSL n'a pas été soumise par votre navigateur : peut-être ne gère-t-il pas les certificats client SSL.
|
||||
cert_email=Adresse électronique
|
||||
cert_header=Détails du nouveau certificat
|
||||
cert_install=Installez votre certificat dans le navigateur
|
||||
cert_issue=Émettre un certificat
|
||||
cert_key=Taille de la clé
|
||||
cert_msg=Ce formulaire vous permet de demander un certificat SSL client qui servira ensuite à vous accorder l'accès à Webmin au lieu de vos nom d'utilisateur et mot de passe. Cette méthode est plus sûre, mais comme l'authentification est automatique, vous ne pourrez plus changer d'utilisateur quand vous ferez appel au certificat.
|
||||
cert_o=Organisation
|
||||
cert_ou=Département
|
||||
cert_pickup=<a href='$1'>Cliquez ici pour sélectionner votre certificat et l'installer dans votre navigateur</a>
|
||||
cert_sp=État
|
||||
cert_title=Demande de certificat
|
||||
convert_0=Tous les utilisateurs
|
||||
convert_1=Seulement les utilisateurs
|
||||
convert_2=Tous sauf les utilisateurs
|
||||
convert_3=Utilisateurs du groupe
|
||||
convert_4=Utilisateurs dont l'UID est dans l'intervalle
|
||||
convert_added=$1 est ajouté
|
||||
convert_desc=Ce formulaire vous permet de convertir des utilisateurs Unix existants en utilisateurs Webmin. Les droits d'accès de chaque nouvel utilisateur Webmin seront déterminés par le groupe sélectionné ci-dessous.
|
||||
convert_ecannot=Vous n'êtes pas autorisé à convertir un utilisateur Unix
|
||||
convert_egroup=Le groupe Unix n'existe pas
|
||||
convert_emax=UID maximal invalide
|
||||
convert_emin=UID minimal invalide
|
||||
convert_err=Impossible de convertir les utilisateurs
|
||||
convert_eusers=Aucun utilisateur à convertir saisi
|
||||
convert_ewgroup=Pas de groupe Webmin de ce type
|
||||
convert_ewgroup2=Vous n'^étes pas autorisé à affecter de nouveaux utilisateurs à ce groupe
|
||||
convert_exists=$1 existe déjà
|
||||
convert_group=Affecter de nouveaux utilisateurs au groupe Webmin
|
||||
convert_invalid=$1 n'est pas un nom d'utilisateur Webmin valide
|
||||
convert_msg=Conversion des utilisateurs Unix en cours...
|
||||
convert_nogroups=Aucun groupe Webmin n'a été défini sur votre système. Vous devez créer au moins un groupe avant d'effectuer la conversion, afin de définir des droits d'accès pour les utilisateurs convertis.
|
||||
convert_ok=Convertir maintenant
|
||||
convert_skip=$1 est ignoré
|
||||
convert_sync=Utiliser à l'avenir le même mot de passe que l'utilisateur Unix ?
|
||||
convert_title=Conversion des utilisateurs
|
||||
cpass_dict=est un mot du dictionnaire
|
||||
cpass_minsize=Doit avoir $1 lettre de long au minimum
|
||||
cpass_name=Contient le nom de l'utilisateur
|
||||
cpass_notre=Corresponds à un modèle non permis
|
||||
cpass_old=Les vieux mots de passes ne peuvent pas être réutilisés
|
||||
cpass_re=Ne correspond pas au modèle requis
|
||||
cpass_spellcmd=Ni les commandes $1 ni $2 requises pour vérifier les mots du dictionnaires ne sont installées
|
||||
delete_ecannot=Vous n'êtes pas autorisé à supprimer des utilisateurs
|
||||
delete_err=Impossible de supprimer cet utilisateur
|
||||
delete_eself=Vous ne pouvez pas vous supprimer vous-même
|
||||
delete_euser=Vous n'êtes pas autorisé à supprimer cet utilisateur
|
||||
edit_all=Autoriser à partir de toutes les adresses
|
||||
edit_alldays=Tous les jours
|
||||
edit_allhours=Tout le temps
|
||||
edit_allow=Autoriser uniquement à partir des adresses répertoriées
|
||||
edit_cert=Nom du certificat SSL
|
||||
edit_chars=Lettres
|
||||
edit_clone=Cloner
|
||||
edit_cloneof=Clôner l'utilisateur Webmin
|
||||
edit_days=Jours autorisés dans la semaine
|
||||
edit_deny=Interdire à partir des adresses répertoriées
|
||||
edit_dont=Inchangé
|
||||
edit_ecreate=Vous n'êtes pas autorisé à créer des utilisateurs
|
||||
edit_egone=L'utilisateur sélectionné n'existe plus !
|
||||
edit_euser=Vous n'êtes pas autorisé à modifier cet utilisateur
|
||||
edit_extauth=Programme d'authentification externe
|
||||
edit_global=Permissions pour tout les modules
|
||||
edit_group=Membre du groupe
|
||||
edit_groupmods=(en plus des modules du groupe)
|
||||
edit_hide=Masquer si inutilisé
|
||||
edit_hours=Heures autorisées dans la journée
|
||||
edit_invert=Inverser la sélection
|
||||
edit_ipdesc=Le contrôle d'accès IP utilisateur fonctionne de la même manière que le contrôle d'accès IP global du module de configuration de
|
||||
edit_ips=Contrôle d'accès IP
|
||||
edit_lang=Langue
|
||||
edit_lock=Aucun mot de passe accepté
|
||||
edit_log=Voir les journaux
|
||||
edit_logout=Durée d'inactivité avant déconnexion
|
||||
edit_mins=minutes
|
||||
edit_minsize=Langueur minimum du mot de passe
|
||||
edit_mods=Les modules Webmin disponibles
|
||||
edit_modsg=Les modules Webmin disponibles (en y ajoutant ceux du groupe)
|
||||
edit_modules=Modules
|
||||
edit_none=Aucun
|
||||
edit_notabs=Classer les modules par catégories ?
|
||||
edit_overlayglobal=Aucun - utiliser les thème par défaut
|
||||
edit_pam=Authentification PAM
|
||||
edit_pass=Mot de passe
|
||||
edit_passlocked=le mot de passe n'a pas été modifier depuis $1 jours - le compte est verrouillé !
|
||||
edit_passmax=le mot de passe n'a pas été modifier depuis $1 jours -il doit etre modifier à la prochaine connexion.
|
||||
edit_proto_ldap=Le serveur LDAP
|
||||
edit_proto_mysql=La base de donnée MySQL
|
||||
edit_proto_postgresql=La base de donnée PostgreSQL
|
||||
edit_rbacdeny=Mode d'accès RBAC
|
||||
edit_rbacdeny0=RBAC ne contrôle que le module ACLs sélectionné
|
||||
edit_rbacdeny1=RBAC contrôle tous les modules et les ACLs
|
||||
edit_readonly=Cet utilisateur Webmin ne doit pas être édité car il est géré directement par le module $1. <a href='$2'>Cliquez ici</a> pour ignorer cet avertissement et éditer tout de même cet utilisateur, mais attention car tous les changements manuels peuvent être redéfinis !
|
||||
edit_real=Nom réel
|
||||
edit_return=à l'utilisateur Webmin
|
||||
edit_return2=Groupe Webmin
|
||||
edit_rights=Droits d'accès de l'utilisateur Webmin
|
||||
edit_risk=Niveau de risque
|
||||
edit_risk_high=Super-utilisateur
|
||||
edit_risk_low=Utilisateur normal
|
||||
edit_risk_medium=Utilisateur administrateur
|
||||
edit_same=Identique au mot de passe Unix
|
||||
edit_selall=Tout sélectionner
|
||||
edit_seldays=Uniquement les jours sélectionnés
|
||||
edit_selhours=De $1:$2 à $3:$4
|
||||
edit_set=Remplacer par
|
||||
edit_skill=Niveau de compétence
|
||||
edit_switch=Changer d'utilisateur
|
||||
edit_templock=Verrouillé temporairement
|
||||
edit_theme=Thème personnel
|
||||
edit_themedef=Ancien thème Webmin
|
||||
edit_themeglobal=à partir de la configuration Webmin
|
||||
edit_title=Modification d'un utilisateur Webmin
|
||||
edit_title2=Création d'un utilisateur Webmin
|
||||
edit_ui=les option de l'interface utilisateur
|
||||
edit_unix=Authentification Unix
|
||||
edit_user=Nom d'utilisateur
|
||||
gdelete_desc=Voulez-vous vraiment supprimer le groupe $1 et les utilisateurs qui en sont membres : $2 ?
|
||||
gdelete_ecannot=Vous n'êtes pas autorisé à supprimer des groupes
|
||||
gdelete_err=Impossible de supprimer le groupe
|
||||
gdelete_esub=Les groupes comportant des sous-groupes ne peuvent pas être supprimés
|
||||
gdelete_euser=Vous ne pouvez pas supprimer votre propre groupe
|
||||
gdelete_ok=Supprimer le groupe
|
||||
gdelete_title=Suppression d'un groupe
|
||||
gdeletes_err=Echec de suppression des groupes
|
||||
gdeletes_ok=Effacer les groupes
|
||||
gdeletes_rusure=Etes-vous sur de vouloir effacer les $1 groupes sélectionnés, et les $2 utilisateurs qu'ils contiennent ? Tous leurs paramètres de contrôle d'accès et leurs personnalisations seront perdus.
|
||||
gdeletes_title=Effacer les groupes
|
||||
gdeletes_users=Groupes sélectionnés : $1
|
||||
gedit_desc=Description du Groupe
|
||||
gedit_ecannot=Vous n'êtes pas autorisé à modifier des groupes
|
||||
gedit_egone=Le Groupe sélectionné n'existe plus !
|
||||
gedit_group=Nom du groupe
|
||||
gedit_members=Membre des utilisateurs et des groupes
|
||||
gedit_modules=Modules des membres
|
||||
gedit_rights=Droits d'accèês du groupe Webmin
|
||||
gedit_title=Modification d'un groupe Webmin
|
||||
gedit_title2=Création d'un groupe Webmin
|
||||
gsave_edesc=Description Invalide - le caractère : n'est pas permis
|
||||
gsave_edup=Ce nom de groupe est déjà utilisé
|
||||
gsave_ename=Nom du groupe manquant ou invalide
|
||||
gsave_enamewebmin=Le nom de groupe 'webmin' est réservé pour une utilisation interne
|
||||
gsave_err=Impossible d'enregistrer le groupe
|
||||
hide_clone=(Cloner $1)
|
||||
hide_desc=Les modules suivants seront supprimés de la liste d'accès des modules pour $1 car leurs serveurs correspondants ne sont pas installés sur votre système...
|
||||
hide_desc2=Soyez conscient que ces modules ne réapparaîotront pas automatiquement si les serveurs correspondants sont installés. Vous devrez accorder l'accès manuellement à l'aide de ce module.
|
||||
hide_none=Rien à masquer - $1 n'a accès à aucun module dont les serveurs correspondants ne sont pas installés sur votre système.
|
||||
hide_ok=Masquer les modules maintenant
|
||||
hide_title=Masquage des modules inutilisés
|
||||
index_cert=Demander un certificat SSL
|
||||
index_certmsg=Cliquez sur ce bouton pour demander un certificat SSL qui vous permettra de vous connecter à Webmin de manière sûre sans avoir besoin de saisir un nom d'utilisateur et un mot de passe.
|
||||
index_convert=Convertir des utilisateurs Unix en utilisateurs Webmin
|
||||
index_create=Créer un nouvel utilisateur Webmin
|
||||
index_delete=Effacer la sélection
|
||||
index_edit=Modifier l'ACL du module :
|
||||
index_gcreate=Créer un nouveau groupe d'utilisateurs
|
||||
index_global=ACL globale
|
||||
index_group=Groupe
|
||||
index_groups=Groupes Webmin
|
||||
index_members=Membres
|
||||
index_modgroups=Modules du groupe $1
|
||||
index_modules=Modules
|
||||
index_nogroups=Aucun groupe Webmin modifiable n'est défini
|
||||
index_none=Aucun
|
||||
index_nousers=Aucun utilisateur Webmin modifiable n'est défini
|
||||
index_rbac=Configuration RBAC
|
||||
index_rcreate=Créer un nouvel utilisateur à niveau de risque
|
||||
index_return=à la liste des utilisateurs
|
||||
index_sessions=Afficher les sessions de connexion
|
||||
index_sync=Configurer la synchronisation des utilisateurs Unix
|
||||
index_title=Utilisateurs Webmin
|
||||
index_unix=Configurer l'authentification des utilisateurs Unix
|
||||
index_user=Utilisateur
|
||||
index_users=Utilisateurs Webmin
|
||||
log_acl=Mis à jour l'accès de l'$1 pour l'utilisateur $2
|
||||
log_cert=émis un certificat pour l'utilisateur $1
|
||||
log_clone=Cloné l'utilisateur Webmin $1 en $2
|
||||
log_create=Créé l'utilisateur Webmin $1
|
||||
log_create_g=Créé le groupe Webmin $1
|
||||
log_delete=Supprimé l'utilisateur Webmin $1
|
||||
log_delete_g=Supprimé le groupe Webmin $1
|
||||
log_delete_groups=$1 est effacé des groupes Webmin
|
||||
log_delete_users=$1 est effacé des utilisateurs Webmin
|
||||
log_modify=Modifié l'utilisateur Webmin $1
|
||||
log_modify_g=Modifié le groupe Webmin $1
|
||||
log_rename=Renommé l'utilisateur Webmin $1 en $2
|
||||
log_rename_g=Renommé le groupe Webmin $1 en $2
|
||||
log_reset=Réinitialiser l'accès de l'$1 pour l'utilisateur $2
|
||||
log_switch=Basculé vers l'utilisateur Webmin $1
|
||||
make_done=... accompli
|
||||
make_err=l'opération de création des tables pour l'utilisateur et le groupe a échoué.
|
||||
make_failed=... échec de la création : $1
|
||||
make_still=Quelques problèmes ont étés rencontrés même après la création de la table : $1
|
||||
make_title=création des Tables de Utilisateur et des Groupes
|
||||
makedn_done=... accompli
|
||||
makedn_title=Création de LDAP DN
|
||||
pass_days=jours
|
||||
pass_ecannot=Vous n'êtes pas autorisé à éditer les restrictions des mots de passes
|
||||
pass_nooldblock=Réutilisation illimitée du mot de passe
|
||||
pass_pass=mots de passe
|
||||
pass_title=Restrictions de mot de passe
|
||||
rbac_desc=L'intégration RBAC dans Webmin offre la possibilité pour un module utilisateur de déterminer les permissions ACL depuis une base de données RBAC (Role Based Access Control), plutôt que depuis les fichiers de configuration de Webmin. Une fois que le support RBAC est activé, tout utilisateur pour qui <b>$edit_rbacdeny1</b> l'option est sélectionnée verra ses possibilités déterminée par RBAC plutôt que par les paramètres de contôle d'accès de Webmin.
|
||||
rbac_ecpan=Vous n'avez pas accès à la page de modules Perl de Webmin pour installer le module $1 nécessaire pour l'intégration de RBAC.
|
||||
rbac_eperl=Le module Perl $1 nécessaire pour l'intégration RBAC n'est pas installé. <a href='$2'>Cliquez ici</a> pour l'installer maintenant.
|
||||
rbac_esolaris=RBAC n'est supporté actuellement que sur Solaris, et ne peut pas être utilisé sur ce système $1.
|
||||
rbac_ok=L'intégration de RBAC est disponible sur ce sytème et peut être activée pour les utilisateurs en éditant la page "Utilisateur Webmin".
|
||||
rbac_title=Configuration RBAC
|
||||
save_ecolon=Les mots de passe ne peuvent pas contenir le caractère " : "
|
||||
save_ecreate=Vous n'êtes pas autoris" à créer des utilisateurs
|
||||
save_edays=Pas de jours autorisés sélectionnés
|
||||
save_edeny=Vous ne pouvez pas vous interdire d'avoir accès au module de configuration des utilisateurs Webmin
|
||||
save_edup=L'utilisateur '$1' existe déjà
|
||||
save_egroup=Vous n'êtes pas autorisé à affecter quoi que ce soit à ce groupe
|
||||
save_ehost=Impossible de trouver une adresse IP pour '$1'
|
||||
save_ehours=Heures autorisées manquantes ou incorrectes
|
||||
save_ehours2=L'heure de début de l'autorisation doit être avant l'heure de fin
|
||||
save_eip='$1' n'est pas une adresse IP ou une adresse réseau complète
|
||||
save_elogouttime=Temporisation de déconnexion manquante ou non numérique
|
||||
save_emask='$1' n'est pas un masque réseau valide
|
||||
save_emd5=Il n'est pas possible de cocher l'option <b>Mot de passe identique au mot de passe UNIX</b> avec le chiffrement MD5
|
||||
save_emod=Vous ne pouvez pas accorder d'accès au module '$1'
|
||||
save_ename='$1' n'est pas un nom d'utilisateur valide
|
||||
save_enamewebmin=Le nom d'utilisateur 'webmin' est réservé pour une utilisation interne
|
||||
save_enet='$1' n'est pas une adresse réseau valide
|
||||
save_enone=Pas d'adresse saisie
|
||||
save_eos=Votre système d'exploitation ne gère pas l'option <b>Mot de passe identique au mot de passe Unix</b>.
|
||||
save_epam=L'authentification PAM n'est pas disponible car le module Perl <tt>Authen::PAM</tt> n'est pas installé ou ne fonctionne pas correctement.
|
||||
save_epam2=Vous pouvez utiliser le module <b>Modules Perl</b> de Webmin pour <a href='$1'>télécharger et installer Authen::PAM</a> maintenant.
|
||||
save_epass=Mot de passes incorrecte : $1
|
||||
save_err=Impossible d'enregistrer l'utilisateur
|
||||
save_eself=Votre adresse IP actuelle ($1) serait interdite
|
||||
save_eunix=L'utilisateur Unix $1 n'existe pas
|
||||
save_euser=Vous n'êtes pas autorisé à modifier cet utilisateur
|
||||
schema_title=Télécharger un schéma LDAP
|
||||
sessions_desc=Les noms de connexion de la session Webmin actuelle sont répertoriés ci-dessous. Pour annuler une session existante et forcer l'utilisateur à se connecter à nouveau, cliquez sur son identifiant de session.
|
||||
sessions_title=Sessions de connexion actuelles
|
||||
sessions_id=ID de session
|
||||
sessions_user=Utilisateur Webmin
|
||||
sessions_login=Connecté le
|
||||
sessions_host=Adresse IP
|
||||
sessions_lview=Voir les journaux...
|
||||
sessions_actions=Actions...
|
||||
sessions_logouts=Montrer aussi les sessions de déconnexion...
|
||||
sessions_state=État
|
||||
sessions_this=Cette connexion
|
||||
sessions_in=Connexion
|
||||
sessions_out=Déconnexion
|
||||
sessions_kill=Déconnecté...
|
||||
|
||||
logins_title=Récentes connexions à Webmin
|
||||
|
||||
sql_db=Nom de la base de donnée
|
||||
sql_host=Nom d'hôte
|
||||
sql_make=Création des Tables
|
||||
sql_makedn=Création DN
|
||||
sql_pass=Mot de passe
|
||||
sql_ssl0=Aucun
|
||||
sql_ssl1=SSL
|
||||
sql_ssl2=TLS
|
||||
sql_user=Nom d'utilisateur
|
||||
switch_eold=Session existante non trouvée !
|
||||
switch_euser=Vous n'êtes pas autorisé à basculer vers cet utilisateur
|
||||
sync_create=Créer un utilisateur Webmin quand un utilisateur Webmin est créé
|
||||
sync_delete=Supprimer l'utilisateur Webmin correspondant quand un utilisateur Unix est supprimé
|
||||
sync_desc=Ce formulaire vous permet de configurer la synchronisation automatique des utilisateurs Unix créés à l'aide de Webmin et des utilisateurs de ce module.
|
||||
sync_ecannot=Vous n'êtes pas autorisé à configurer la synchronisation des utilisateurs
|
||||
sync_group=Affecter de nouveaux utilisateurs à un groupe Webmin
|
||||
sync_nogroups=Aucun groupe Webmin n'a étédéfini sur votre système. Vous devez créer au moins un groupe pour définir l'accès concernant les utilisateurs créés.
|
||||
sync_title=Synchronisation des utilisateurs Unix
|
||||
sync_unix=Définir un mot de passe pour de nouveaux utilisateurs pour l'authentification Unix
|
||||
sync_update=Mettre à jour l'utilisateur Webmin correspondant quand un utilisateur Unix est mis à jour
|
||||
udeletes_enone=Aucune sélection
|
||||
udeletes_ereadonly=Un des utilisateurs sélectionnés est marqué comme non éditable
|
||||
udeletes_err=Echec de suppression des utilisateurs
|
||||
udeletes_ok=Efface les utilisateurs
|
||||
udeletes_rusure=Etes-vous sur de vouloir effacer les $1 utilisateurs sélectionnés ? Tous leurs paramètres de contrôle d'accès et leurs personnalisations seront perdus.
|
||||
udeletes_title=Efface les utilisateurs
|
||||
udeletes_users=Utilisateurs sélectionnés : $1
|
||||
unix_all=Autoriser tous les utilisateurs Unix répertoriés
|
||||
unix_allow=Autoriser uniquement les utilisateurs Unix répertoriés
|
||||
unix_def=Autoriser uniquement les utilisateurs Webmin à se connecter
|
||||
unix_deny=Interdire les utilisateurs Unix répertoriés
|
||||
unix_desc=Cette page vous permet de configurer Webmin pour valider les tentatives de connexion par rapport à la liste des utilisateurs système et de PAM. Ce comportement peut être utile si vous avez un grand nombre d'utilisateurs Unix existants auxquels vous souhaitez donner accès à Webmin.
|
||||
unix_ecannot=Vous n'êtes pas autorisé à configurer l'authentification des utilisateurs Unix
|
||||
unix_egroup='$1' n'est pas un nom de groupe valide
|
||||
unix_enone=Pas d'utilisateurs ou de groupes Unix à autoriser indiqués
|
||||
unix_epam=L'authentification Unix n'est pas disponible car le module Perl <tt>Authen::PAM</tt> n'est pas installé ou ne fonctionne pas correctement.
|
||||
unix_eshells=Fichier d'interpréteurs de commande manquant ou non existant
|
||||
unix_euser='$1' n'est pas un nom d'utilisateur valide
|
||||
unix_ewhogroup=Pas de groupe à autoriser dans la ligne $1
|
||||
unix_ewhouser=Pas d'utilisateur à autoriser en rangée $1
|
||||
unix_group=Membres du groupe..
|
||||
unix_mall=Tous les utilisateurs
|
||||
unix_mode=Autorise
|
||||
unix_none=Aucun utilisateur saisi
|
||||
unix_pamany=Traiter les connexions validés uniquement par PAM comme $1
|
||||
unix_restrict=Les restrictions additionnelles suivantes seront appliquées aux utilisateurs Unix sélectionnés ci-dessus.
|
||||
unix_same=<Comme utilisateur ou groupe>
|
||||
unix_sel=Autoriser les utilisateurs Unix listés ci-dessous à se connecter ..
|
||||
unix_shells=Interdire les utilisateurs Unix dont les interpréteurs de commandes ne sont pas dans un fichier
|
||||
unix_sudo=Autoriser les utilisateurs pouvant lancer des commandes via <tt>sudo</tt> à se connecter en tant que <tt>root</tt>
|
||||
unix_title=Authentification des utilisateurs Unix
|
||||
unix_to=Comme utilisateur Webmin
|
||||
unix_user=Autoriser n'importe quel utilisateur Unix à se connecter avec les droits d'accès d'utilisateur
|
||||
unix_who=Utilisateur ou Groupe
|
||||
@@ -41,3 +41,5 @@ desc_ms_MY=Pengguna Webmin
|
||||
longdesc_de=Erstellt Webmin-Benutzer und konfiguriert, auf welche Module und Funktionen diese berechtigt sind, zugreifen.
|
||||
longdesc_es=Crear usuarios de webmin y configurar a que modulos y caracteristicas pueden acceder.
|
||||
longdesc_pl=Twórz u¿ytkowników Webmina i kontroluj, które modu³y i funkcje s± dla nich dostêpne.
|
||||
longdesc_ca=Crea usuaris Webmin i configura quins mòduls i característiques tenen permès d'accedir.
|
||||
desc_fr.UTF-8=Utilisateurs Webmin
|
||||
|
||||
@@ -52,11 +52,11 @@ else {
|
||||
|
||||
# Validate username, and check for a clash
|
||||
$in{'name'} =~ /^[A-z0-9\-\_\.\@]+$/ && $in{'name'} !~ /^\@/ ||
|
||||
&error(&text('save_ename', $in{'name'}));
|
||||
&error(&text('save_ename', &html_escape($in{'name'})));
|
||||
$in{'name'} eq 'webmin' && &error($text{'save_enamewebmin'});
|
||||
if (!$in{'old'} || $in{'old'} ne $in{'name'}) {
|
||||
my $clash = &get_user($in{'name'});
|
||||
$clash && &error(&text('save_edup', $in{'name'}));
|
||||
$clash && &error(&text('save_edup', &html_escape($in{'name'})));
|
||||
}
|
||||
!$access{'logouttime'} || $in{'logouttime_def'} ||
|
||||
$in{'logouttime'} =~ /^\d+$/ || &error($text{'save_elogouttime'});
|
||||
|
||||
@@ -13,8 +13,8 @@ my %miniserv;
|
||||
&get_miniserv_config(\%miniserv);
|
||||
if (!$miniserv{'twofactor_provider'}) {
|
||||
&ui_print_header(undef, $text{'twofactor_title'}, "");
|
||||
&ui_print_endpage(&text('twofactor_setup',
|
||||
'../webmin/edit_twofactor.cgi'));
|
||||
print &text('twofactor_setup', '../webmin/edit_twofactor.cgi'),"<p>\n";
|
||||
&ui_print_footer("", $text{'index_return'});
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -25,3 +25,4 @@ desc_no=ADSL klient
|
||||
longdesc_ms_MY=Sediakan klien PPP dengan pakej RP-PPPoE.
|
||||
desc_ms_MY=Klien ADSL
|
||||
longdesc_pl=Konfigurowanie klienta PPTP z pakietem RP-PPPoE.
|
||||
longdesc_ca=Configura un client PPP amb el paquet RP-PPPoE.
|
||||
|
||||
@@ -9,3 +9,4 @@ desc_hu=Shell hozz
|
||||
desc_ms_MY=Log masuk Teks
|
||||
longdesc_ms_MY=Akses shell pada sistem anda tanpa menggunakan klien SSH secara berasingan dengan menggunaka Ajaxterm
|
||||
longdesc_pl=Dostêp do pow³oki systemowej bez konieczno¶ci u¿ywania oddzielnego klienta SSH, u¿ywaj±c Ajaxterm
|
||||
longdesc_ca=Accedeix a la shell del sistema sense necessitat d'un client SSH separat utilitzant Ajaxterm
|
||||
|
||||
@@ -10,7 +10,7 @@ $access{'types'} eq '*' && $access{'virts'} eq '*' ||
|
||||
|
||||
$conf = &get_config();
|
||||
@files = grep { -f $_ } &unique(map { $_->{'file'} } @$conf);
|
||||
$in{'file'} = $files[0] if (!$in{'file'});
|
||||
$in{'file'} = $files[0] if ($in{'file'} eq '');
|
||||
print "<form action=allmanual_form.cgi>\n";
|
||||
print "<input type=submit value='$text{'manual_file'}'>\n";
|
||||
print "<select name=file>\n";
|
||||
|
||||
@@ -97,6 +97,7 @@ $apache_docbase = $config{'apache_docbase'} ? $config{'apache_docbase'} :
|
||||
# name - The name of this directive
|
||||
# value - Value (possibly with spaces)
|
||||
# members - For type 1, a reference to the array of members
|
||||
# indent - Number of spaces before the name
|
||||
sub parse_config_file
|
||||
{
|
||||
local($fh, @rv, $line, %dummy);
|
||||
@@ -224,15 +225,16 @@ while($line = <$fh>) {
|
||||
'name', "</IfVersion>" });
|
||||
}
|
||||
}
|
||||
elsif ($line =~ /^\s*<(\S+)\s*(.*)>/) {
|
||||
elsif ($line =~ /^(\s*)<(\S+)\s*(.*)>/) {
|
||||
# start of a container directive. The first member is a dummy
|
||||
# directive at the same line as the container
|
||||
local(%dir, @members);
|
||||
%dir = ('line', $_[1],
|
||||
'file', $_[2],
|
||||
'type', 1,
|
||||
'name', $1,
|
||||
'value', $2);
|
||||
'name', $2,
|
||||
'value', $3,
|
||||
'indent', length($1));
|
||||
$dir{'value'} =~ s/\s+$//g;
|
||||
$dir{'words'} = &wsplit($dir{'value'});
|
||||
$_[1]++;
|
||||
@@ -241,15 +243,16 @@ while($line = <$fh>) {
|
||||
$dir{'eline'} = $_[1]-1;
|
||||
push(@rv, \%dir);
|
||||
}
|
||||
elsif ($line =~ /^\s*(\S+)\s*(.*)$/) {
|
||||
elsif ($line =~ /^(\s*)(\S+)\s*(.*)$/) {
|
||||
# normal directive
|
||||
local(%dir);
|
||||
%dir = ('line', $_[1],
|
||||
'eline', $_[1],
|
||||
'file', $_[2],
|
||||
'type', 0,
|
||||
'name', $1,
|
||||
'value', $2);
|
||||
'name', $2,
|
||||
'value', $3,
|
||||
'indent', length($1));
|
||||
if ($dir{'value'} =~ s/\\$//g) {
|
||||
# multi-line directive!
|
||||
while($line = <$fh>) {
|
||||
@@ -586,7 +589,8 @@ for($i=0; $i<@old || $i<@{$_[1]}; $i++) {
|
||||
$old[$i]->{'value'} = $v;
|
||||
$old[$i]->{'words'} = &wsplit($v);
|
||||
$old[$i]->{'eline'} = $old[$i]->{'line'};
|
||||
splice(@$lref, $old[$i]->{'line'}, $len, "$_[0] $v");
|
||||
splice(@$lref, $old[$i]->{'line'}, $len,
|
||||
(" " x $old[$i]->{'indent'}).$_[0]." ".$v);
|
||||
$change = $old[$i];
|
||||
}
|
||||
}
|
||||
@@ -1393,7 +1397,7 @@ if ($httpd_modules{'core'} >= 1.301) {
|
||||
}
|
||||
}
|
||||
local $out = &backquote_command("$cmd 2>&1");
|
||||
if ($out && $out !~ /syntax\s+ok/i) {
|
||||
if ($out && $out !~ /(syntax|Checking).*\s+ok/i) {
|
||||
return $out;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,7 +20,7 @@ httpd_version=Versi
|
||||
apachectl_path=Camí de l'ordre apachectl,3,Cap
|
||||
start_cmd=Ordre per iniciar Apache,3,Utilitza apachectl o inicia manualment
|
||||
stop_cmd=Ordre per aturar Apache,3,Utilitza apachectl o mata el procés
|
||||
,restart-Executa les ordres d'inici i aturada.
|
||||
apply_cmd=Ordre per aplicar la configuració,10,-Utilitza apachectl o senyal HUP,restart-Executa els ordres d'inici i aturada
|
||||
graceful_cmd=Ordre per rellegir la configuració,3,La mateixa que per aplicar-la
|
||||
httpd_conf=Camí de httpd.conf o apache2.conf,3,Automàtic
|
||||
srm_conf=Camí de srm.conf,3,Automàtic
|
||||
|
||||
@@ -40,3 +40,4 @@ longdesc_ms_MY=Mengkonfigurasi hampir kesemua arahan Apache dan ciri-ciri yang a
|
||||
desc_ms_MY=Pelayan Web Apache
|
||||
longdesc_de=Konfiguriert fast alle Apache-Direktiven und Features.
|
||||
longdesc_pl=Konfiguracja niemal wszystkich opcji i dyrektyw Apache.
|
||||
longdesc_ca=Configura gairebé totes les directives característiques d'Apache.
|
||||
|
||||
@@ -31,3 +31,4 @@ desc_no=Tidsplanlagte kommandoer
|
||||
longdesc_ms_MY=Jadual pelaksanaan arahan one-off atau skrip.
|
||||
desc_ms_MY=Perintah Berjadual
|
||||
longdesc_pl=Harmonogram wykonywania poleceñ lub skryptów.
|
||||
longdesc_ca=Planifica l'execució d'una ordre o script.
|
||||
|
||||
@@ -227,10 +227,11 @@ Returns a backup destination string, or calls error.
|
||||
sub parse_backup_destination
|
||||
{
|
||||
my %in = %{$_[1]};
|
||||
my $mode = $in{"$_[0]_mode"};
|
||||
my $mode = $in{"$_[0]_mode"} || 0;
|
||||
if ($mode == 0) {
|
||||
# Local file
|
||||
$in{"$_[0]_file"} =~ /^\/\S/ || &error($text{'backup_edest'});
|
||||
$in{"$_[0]_file"} && $in{"$_[0]_file"} =~ /^\/\S/ ||
|
||||
&error($text{'backup_edest'});
|
||||
return $in{"$_[0]_file"};
|
||||
}
|
||||
elsif ($mode == 1) {
|
||||
@@ -587,7 +588,7 @@ if (!$show) {
|
||||
}
|
||||
|
||||
# Extract contents (only files specified by manifests)
|
||||
my $flag = $show ? "t" : "x";
|
||||
my $flag = $show ? "t" : "xv";
|
||||
my $qfiles = join(" ", map { s/^\///; quotemeta($_) } &unique(@files));
|
||||
if ($gzipped) {
|
||||
&execute_command("cd / ; gunzip -c $qfile | tar ${flag}f - $qfiles",
|
||||
|
||||
@@ -29,3 +29,4 @@ desc_no=Sikkerhetskopier konfig.filer
|
||||
longdesc_ms_MY=Lakukan salinan secara manual atau berjadual dan mengembalikan fail konfigurasi yang diuruskan oleh modul Webmin.
|
||||
desc_ms_MY=Backup Fail konfigurasi
|
||||
longdesc_pl=Rêczne lub zaplanowane tworzenie i przywracanie kopii zapasowych plików konfiguracyjnych modu³ów zarz±dzanych przez Webmina.
|
||||
longdesc_ca=Porta a terme còpies de seguretat i restauracions manuals o planificades dels fitxers de configuració gestionats pels mòduls de Webmin.
|
||||
|
||||
@@ -948,9 +948,11 @@ foreach my $l (split(/\r?\n/, $status)) {
|
||||
elsif ($l =~ /^Running\s+Jobs/i) { $sect = 2; }
|
||||
elsif ($l =~ /^Terminated\s+Jobs/i) { $sect = 3; }
|
||||
|
||||
if ($sect == 1 && $l =~ /^\s*(\S+)\s+(\S+)\s+(\d+)\s+(\S+\s+\S+(\s+\d+:\d+)?)\s+(\S+)\s+(\S+)\s*$/) {
|
||||
if ($sect == 1 && $l =~ /^\s*(\S+)\s+(\S+)\s+(\d+)\s+(\S+\s+\S+(\s+\d+:\d+)?)\s+(\S+)\s+(\S+)?\s*$/) {
|
||||
# Scheduled job, like
|
||||
# Full Backup 10 27-Jun-14 17:30 ykfdc1-BackupJob wkly_1736
|
||||
# copy jobs do not have any destination tape (=> ? on the latest field)
|
||||
# Full Backup 11 19-Aug-16 17:50 ykfdc1-Copyjob
|
||||
push(@sched, { 'level' => &full_level("$1"),
|
||||
'type' => $2,
|
||||
'pri' => $3,
|
||||
|
||||
@@ -13,3 +13,4 @@ longdesc_ms_MY=Konfigurasi Bacula untuk melaksanakan salinan dan mengembalikan s
|
||||
longdesc_de=Konfiguriert Bacula um Sicherungen zu erstellen und manuell oder nach Plan wiederherzustellen, für eine oder viele Systeme.
|
||||
longdesc_pl=Skonfiguruj Bacula do przeprowadzania kopii zapasowej i przywracania rêcznie lub wed³ug harmonogramu na jednym lub wielu systemach.
|
||||
desc_no=Bacula backupsystem
|
||||
longdesc_ca=Configura Bacula per portar a terme còpies de seguretat i restauracions manualment o de forma planificada, per a un o més sistemes.
|
||||
|
||||
@@ -81,4 +81,5 @@ syslog_syslog-ng=Syslog-NG
|
||||
rotate_title=Actualització d'Estadístiques
|
||||
rotate_doing=S'està processant el trànsit de xarxa registrat...
|
||||
rotate_done=...fet.
|
||||
|
||||
__norefs=1
|
||||
|
||||
@@ -19,3 +19,4 @@ desc_no=Overvåking av båndbredde
|
||||
longdesc_ms_MY=Lihat laporan mengenai penggunaan jalur lebar oleh host, port, protokol dan masa pada sistem Linux.
|
||||
desc_ms_MY=Pemantauan jalur lebar
|
||||
longdesc_pl=Raporty na temat wykorzystania transferu przez host, port, protokó³ w okre¶lonym czasie.
|
||||
longdesc_ca=Visualitza els informes de l'ús d'amplada de banda per host, port, protocol i hores en un sistema Linux.
|
||||
|
||||
@@ -55,9 +55,11 @@ foreach $hour (@hours) {
|
||||
&save_hour($hour);
|
||||
}
|
||||
|
||||
# Truncate the file and notify syslog
|
||||
open(LOG, ">$bandwidth_log");
|
||||
close(LOG);
|
||||
# Truncate the file (if it exists) and notify syslog
|
||||
if (-r $bandwidth_log) {
|
||||
open(LOG, ">$bandwidth_log");
|
||||
close(LOG);
|
||||
}
|
||||
&foreign_call($syslog_module, "signal_syslog");
|
||||
|
||||
# Remove PID file
|
||||
|
||||
@@ -146,3 +146,7 @@ Added support for NSEC3PARAM records.
|
||||
Added support for editing DMARC records, which are specially encoded TXT records for defining the response to SPF and DKIM violations.
|
||||
---- Changes since 1.770 ----
|
||||
Automatic creation and deletion of reverse records in partial delegation zones now works the same as in full reverse zones.
|
||||
---- Changes since 1.810 ----
|
||||
Added support for editing TLSA (SSL Certificate) records.
|
||||
---- Changes since 1.830 ----
|
||||
Added support for editing SSHFP (SSH Public Key) records.
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
# bind8-lib.pl
|
||||
# Common functions for bind8 config files
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
no warnings 'redefine';
|
||||
|
||||
BEGIN { push(@INC, ".."); };
|
||||
use WebminCore;
|
||||
@@ -49,10 +51,8 @@ if (open(my $VERSION, "<", "$module_config_directory/version")) {
|
||||
chop($bind_version = <$VERSION>);
|
||||
close($VERSION);
|
||||
}
|
||||
else {
|
||||
$bind_version = &get_bind_version();
|
||||
}
|
||||
if ($bind_version =~ /^(\d+\.\d+)\./) {
|
||||
$bind_version ||= &get_bind_version();
|
||||
if ($bind_version && $bind_version =~ /^(\d+\.\d+)\./) {
|
||||
# Convery to properly formatted number
|
||||
$bind_version = $1;
|
||||
}
|
||||
@@ -92,9 +92,11 @@ sub have_dnssec_tools_support
|
||||
# Returns the BIND verison number, or undef if unknown
|
||||
sub get_bind_version
|
||||
{
|
||||
my $out = &backquote_command("$config{'named_path'} -v 2>&1");
|
||||
if ($out =~ /(bind|named)\s+([0-9\.]+)/i) {
|
||||
return $2;
|
||||
if (&has_command($config{'named_path'})) {
|
||||
my $out = &backquote_command("$config{'named_path'} -v 2>&1");
|
||||
if ($out =~ /(bind|named)\s+([0-9\.]+)/i) {
|
||||
return $2;
|
||||
}
|
||||
}
|
||||
return undef;
|
||||
}
|
||||
@@ -577,7 +579,7 @@ sub addr_match_input
|
||||
{
|
||||
my @av;
|
||||
my $v = &find($_[1], $_[2]);
|
||||
if ($v) {
|
||||
if ($v && $v->{'members'}) {
|
||||
foreach my $av (@{$v->{'members'}}) {
|
||||
push(@av, join(" ", $av->{'name'}, @{$av->{'values'}}));
|
||||
}
|
||||
@@ -614,10 +616,12 @@ sub address_port_input
|
||||
my $v = &find($_[4], $_[6]);
|
||||
|
||||
my $port;
|
||||
for (my $i = 0; $i < @{$v->{'values'}}; $i++) {
|
||||
if ($v->{'values'}->[$i] eq $_[5]) {
|
||||
$port = $v->{'values'}->[$i+1];
|
||||
last;
|
||||
if ($v && $v->{'values'}) {
|
||||
for (my $i = 0; $i < @{$v->{'values'}}; $i++) {
|
||||
if ($v->{'values'}->[$i] eq $_[5]) {
|
||||
$port = $v->{'values'}->[$i+1];
|
||||
last;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -634,8 +638,10 @@ sub address_input
|
||||
{
|
||||
my ($v, @av);
|
||||
$v = &find($_[1], $_[2]);
|
||||
foreach my $av (@{$v->{'members'}}) {
|
||||
push(@av, join(" ", $av->{'name'}, @{$av->{'values'}}));
|
||||
if ($v && $v->{'members'}) {
|
||||
foreach my $av (@{$v->{'members'}}) {
|
||||
push(@av, join(" ", $av->{'name'}, @{$av->{'values'}}));
|
||||
}
|
||||
}
|
||||
if ($_[3] == 0) {
|
||||
# text area
|
||||
@@ -652,10 +658,17 @@ else {
|
||||
# save_port_address(name, portname, &config, indent)
|
||||
sub save_port_address {
|
||||
my ($port, @vals, $dir, $n);
|
||||
foreach my $addr (split(/\s+/, $in{$_[0]})) {
|
||||
$addr =~ /^\S+$/ || &error(&text('eipacl', $addr));
|
||||
push(@vals, { 'name' => $addr });
|
||||
}
|
||||
my @sp = split(/\s+/, $in{$_[0]});
|
||||
for(my $i=0; $i<@sp; $i++) {
|
||||
$sp[$i] =~ /^\S+$/ || &error(&text('eipacl', $sp[$i]));
|
||||
if (lc($sp[$i+1]) eq "key") {
|
||||
push(@vals, { 'name' => $sp[$i++],
|
||||
'values' => [ "key", $sp[++$i] ] });
|
||||
}
|
||||
else {
|
||||
push(@vals, { 'name' => $sp[$i] });
|
||||
}
|
||||
}
|
||||
$dir = { 'name' => $_[0], 'type' => 1, 'members' => \@vals };
|
||||
($n = $_[1]) =~ s/[^A-Za-z0-9_]/_/g;
|
||||
$dir->{'values'} = [ $_[1], $in{$_[1]} ] if (!$in{"${n}_def"});
|
||||
@@ -669,9 +682,9 @@ my ($addr, @vals, $dir);
|
||||
my @sp = split(/\s+/, $in{$_[0]});
|
||||
for(my $i=0; $i<@sp; $i++) {
|
||||
!$_[3] || &check_ipaddress($sp[$i]) || &error(&text('eip', $sp[$i]));
|
||||
if (lc($sp[$i]) eq "key") {
|
||||
push(@vals, { 'name' => $sp[$i],
|
||||
'values' => [ $sp[++$i] ] });
|
||||
if (lc($sp[$i+1]) eq "key") {
|
||||
push(@vals, { 'name' => $sp[$i++],
|
||||
'values' => [ "key", $sp[++$i] ] });
|
||||
}
|
||||
else {
|
||||
push(@vals, { 'name' => $sp[$i] });
|
||||
@@ -687,13 +700,15 @@ sub forwarders_input
|
||||
{
|
||||
my $v = &find($_[1], $_[2]);
|
||||
my (@ips, @prs);
|
||||
foreach my $av (@{$v->{'members'}}) {
|
||||
push(@ips, $av->{'name'});
|
||||
if ($av->{'values'}->[0] eq 'port') {
|
||||
push(@prs, $av->{'values'}->[1]);
|
||||
}
|
||||
else {
|
||||
push(@prs, undef);
|
||||
if ($v && $v->{'members'}) {
|
||||
foreach my $av (@{$v->{'members'}}) {
|
||||
push(@ips, $av->{'name'});
|
||||
if ($av->{'values'}->[0] eq 'port') {
|
||||
push(@prs, $av->{'values'}->[1]);
|
||||
}
|
||||
else {
|
||||
push(@prs, undef);
|
||||
}
|
||||
}
|
||||
}
|
||||
my @table;
|
||||
@@ -906,7 +921,8 @@ if ($_[0]->{'members'}) {
|
||||
else {
|
||||
# A cached zone object
|
||||
$zn = $_[0]->{'name'};
|
||||
$vn = $_[0]->{'view'} eq '*' ? undef : $_[0]->{'view'};
|
||||
$vn = !defined($_[0]->{'view'}) ||
|
||||
$_[0]->{'view'} eq '*' ? undef : $_[0]->{'view'};
|
||||
$file = $_[0]->{'file'};
|
||||
}
|
||||
|
||||
@@ -996,7 +1012,7 @@ elsif ($type eq "NS") {
|
||||
print &ui_table_row($text{'edit_zonename'},
|
||||
&ui_textbox("name", $rec{'name'}, 30));
|
||||
}
|
||||
elsif ($type eq "SRV") {
|
||||
elsif ($type eq "SRV" || $type eq "TLSA") {
|
||||
my ($serv, $proto, $name) =
|
||||
$rec{'name'} =~ /^([^\.]+)\.([^\.]+)\.(\S+)/ ? ($1, $2, $3) :
|
||||
(undef, undef, undef);
|
||||
@@ -1006,7 +1022,7 @@ elsif ($type eq "SRV") {
|
||||
&ui_textbox("name", $name, 30));
|
||||
|
||||
print &ui_table_row($text{'edit_proto'},
|
||||
&ui_select("proto", $proto,
|
||||
&ui_select("proto", $proto || "tcp",
|
||||
[ [ "tcp", "TCP" ],
|
||||
[ "udp", "UDP" ],
|
||||
[ "tls", "TLS" ] ], undef, undef, 1));
|
||||
@@ -1119,6 +1135,45 @@ elsif ($type eq "SRV") {
|
||||
print &ui_table_row($text{'value_SRV4'},
|
||||
&ui_textbox("value3", $v[3], 30));
|
||||
}
|
||||
elsif ($type eq "TLSA") {
|
||||
print &ui_table_row($text{'value_TLSA1'},
|
||||
&ui_select("value0", $v[0],
|
||||
[ [ 0, $text{'tlsa_usage0'}." (0)" ],
|
||||
[ 1, $text{'tlsa_usage1'}." (1)" ],
|
||||
[ 2, $text{'tlsa_usage2'}." (2)" ],
|
||||
[ 3, $text{'tlsa_usage3'}." (3)" ] ]));
|
||||
|
||||
print &ui_table_row($text{'value_TLSA2'},
|
||||
&ui_select("value1", $v[1],
|
||||
[ [ 0, $text{'tlsa_selector0'}." (0)" ],
|
||||
[ 1, $text{'tlsa_selector1'}." (1)" ] ]));
|
||||
|
||||
print &ui_table_row($text{'value_TLSA3'},
|
||||
&ui_select("value2", $v[2],
|
||||
[ [ 0, $text{'tlsa_match0'}." (0)" ],
|
||||
[ 1, $text{'tlsa_match1'}." (1)" ],
|
||||
[ 2, $text{'tlsa_match2'}." (2)" ] ]));
|
||||
|
||||
print &ui_table_row($text{'value_TLSA4'},
|
||||
&ui_textbox("value3", $v[3], 70));
|
||||
}
|
||||
elsif ($type eq "SSHFP") {
|
||||
print &ui_table_row($text{'value_SSHFP1'},
|
||||
&ui_select("value0", $v[0],
|
||||
[ [ 1, $text{'sshfp_alg1'}." (1)" ],
|
||||
[ 2, $text{'sshfp_alg2'}." (2)" ],
|
||||
[ 3, $text{'sshfp_alg3'}." (3)" ],
|
||||
[ 4, $text{'sshfp_alg4'}." (4)" ] ]));
|
||||
|
||||
print &ui_table_row($text{'value_SSHFP2'},
|
||||
&ui_select("value1", $v[1],
|
||||
[ [ 1, $text{'sshfp_fp1'}." (1)" ],
|
||||
[ 2, $text{'sshfp_fp2'}." (2)" ] ]));
|
||||
|
||||
print &ui_table_row($text{'value_SSHFP3'},
|
||||
&ui_textbox("value2", $v[2], 70));
|
||||
|
||||
}
|
||||
elsif ($type eq "LOC") {
|
||||
print &ui_table_row($text{'value_LOC1'},
|
||||
&ui_textbox("value0", join(" ", @v), 40), 3);
|
||||
@@ -1151,23 +1206,23 @@ elsif ($type eq "SPF") {
|
||||
&ui_yesno_radio("spfptr", $spf->{'ptr'} ? 1 : 0), 3);
|
||||
|
||||
print &ui_table_row($text{'value_spfas'},
|
||||
&ui_textarea("spfas", join("\n", @{$spf->{'a:'}}), 3, 40), 3);
|
||||
&ui_textarea("spfas", join("\n", @{$spf->{'a:'} || []}), 3, 40), 3);
|
||||
|
||||
print &ui_table_row($text{'value_spfmxs'},
|
||||
&ui_textarea("spfmxs", join("\n", @{$spf->{'mx:'}}), 3, 40), 3);
|
||||
&ui_textarea("spfmxs", join("\n", @{$spf->{'mx:'} || []}), 3, 40), 3);
|
||||
|
||||
print &ui_table_row($text{'value_spfip4s'},
|
||||
&ui_textarea("spfip4s", join("\n", @{$spf->{'ip4:'}}),
|
||||
&ui_textarea("spfip4s", join("\n", @{$spf->{'ip4:'} || []}),
|
||||
3, 40), 3);
|
||||
|
||||
if (&supports_ipv6()) {
|
||||
print &ui_table_row($text{'value_spfip6s'},
|
||||
&ui_textarea("spfip6s", join("\n", @{$spf->{'ip6:'}}),
|
||||
&ui_textarea("spfip6s", join("\n", @{$spf->{'ip6:'} || []}),
|
||||
3, 40), 3);
|
||||
}
|
||||
|
||||
print &ui_table_row($text{'value_spfincludes'},
|
||||
&ui_textarea("spfincludes", join("\n", @{$spf->{'include:'}}),
|
||||
&ui_textarea("spfincludes", join("\n", @{$spf->{'include:'} || []}),
|
||||
3, 40), 3);
|
||||
|
||||
print &ui_table_row($text{'value_spfall'},
|
||||
@@ -1434,7 +1489,7 @@ if ($config{'file_perms'}) {
|
||||
}
|
||||
|
||||
my @cat_list;
|
||||
if ($bind_version >= 9) {
|
||||
if ($bind_version && $bind_version >= 9) {
|
||||
@cat_list = ( 'default', 'general', 'database', 'security', 'config',
|
||||
'resolver', 'xfer-in', 'xfer-out', 'notify', 'client',
|
||||
'unmatched', 'network', 'update', 'queries', 'dispatch',
|
||||
@@ -1567,6 +1622,7 @@ sub make_chroot
|
||||
{
|
||||
my $chroot = &get_chroot();
|
||||
return $_[0] if (!$chroot);
|
||||
return $_[0] if ($chroot eq "/");
|
||||
return $_[0] if ($_[0] eq $config{'named_conf'} && $config{'no_chroot'});
|
||||
return $_[0] if ($_[0] eq $config{'rndc_conf'}); # don't chroot rndc.conf
|
||||
if ($config{'no_pid_chroot'} && $_[1]) {
|
||||
@@ -2043,7 +2099,7 @@ return 0;
|
||||
# an error message on failure.
|
||||
sub restart_bind
|
||||
{
|
||||
if ($config{'restart_cmd'} eq 'restart') {
|
||||
if ($config{'restart_cmd'} && $config{'restart_cmd'} eq 'restart') {
|
||||
# Stop and start again
|
||||
&stop_bind();
|
||||
sleep(1); # Systemd doesn't like rapid stops and starts
|
||||
@@ -2125,7 +2181,7 @@ return undef;
|
||||
sub start_bind
|
||||
{
|
||||
my $chroot = &get_chroot();
|
||||
my $user;
|
||||
my $user = "";
|
||||
my $cmd;
|
||||
if ($config{'named_user'}) {
|
||||
$user = "-u $config{'named_user'}";
|
||||
@@ -2394,13 +2450,15 @@ unlink($zone_names_cache);
|
||||
# Returns a zone cache object, looked up by name or index
|
||||
sub get_zone_name
|
||||
{
|
||||
my ($key, $viewidx) = @_;
|
||||
$viewidx ||= '';
|
||||
my @zones = &list_zone_names();
|
||||
my $field = $_[0] =~ /^\d+$/ ? "index" : "name";
|
||||
my $field = $key =~ /^\d+$/ ? "index" : "name";
|
||||
foreach my $z (@zones) {
|
||||
if ($z->{$field} eq $_[0] &&
|
||||
($_[1] eq 'any' ||
|
||||
$_[1] eq '' && !defined($z->{'viewindex'}) ||
|
||||
$_[1] ne '' && $z->{'viewindex'} == $_[1])) {
|
||||
if ($z->{$field} eq $key &&
|
||||
($viewidx eq 'any' ||
|
||||
$viewidx eq '' && !defined($z->{'viewindex'}) ||
|
||||
$viewidx ne '' && $z->{'viewindex'} == $_[1])) {
|
||||
return $z;
|
||||
}
|
||||
}
|
||||
@@ -2667,7 +2725,13 @@ return $base."/".$format;
|
||||
sub create_on_slaves
|
||||
{
|
||||
my ($zone, $master, $file, $hosts, $localview, $moreslaves) = @_;
|
||||
my %on = map { $_, 1 } @$hosts;
|
||||
my %on;
|
||||
if ($hosts && !ref($hosts)) {
|
||||
$hosts = [ split(/\s+/, $hosts) ];
|
||||
}
|
||||
if ($hosts) {
|
||||
%on = map { $_, 1 } @$hosts;
|
||||
}
|
||||
&remote_error_setup(\&slave_error_handler);
|
||||
my @slaveerrs;
|
||||
my @slaves = &list_slave_servers();
|
||||
@@ -2863,7 +2927,7 @@ $slave_error = $_[0];
|
||||
|
||||
sub get_forward_record_types
|
||||
{
|
||||
return ("A", "NS", "CNAME", "MX", "HINFO", "TXT", "SPF", "DMARC", "WKS", "RP", "PTR", "LOC", "SRV", "KEY", "NSEC3PARAM", $config{'support_aaaa'} ? ( "AAAA" ) : ( ), @extra_forward);
|
||||
return ("A", "NS", "CNAME", "MX", "HINFO", "TXT", "SPF", "DMARC", "WKS", "RP", "PTR", "LOC", "SRV", "KEY", "TLSA", "SSHFP", "NSEC3PARAM", $config{'support_aaaa'} ? ( "AAAA" ) : ( ), @extra_forward);
|
||||
}
|
||||
|
||||
sub get_reverse_record_types
|
||||
@@ -3078,8 +3142,10 @@ return &has_command($config{'signzone'}) &&
|
||||
# dnssec-validation directive is not supported, 0 otherwise
|
||||
sub supports_dnssec_client
|
||||
{
|
||||
return $bind_version >= 9.4 ? 2 :
|
||||
$bind_version >= 9 ? 1 : 0;
|
||||
my ($bind_major, $bind_minor) = split(/\./, $bind_version);
|
||||
|
||||
return $bind_major > 9 ? 2 :
|
||||
$bind_major == 9 ? ($bind_minor >= 4 ? 2 : 1) : 0;
|
||||
}
|
||||
|
||||
# dnssec_size_range(algorithm)
|
||||
@@ -3094,13 +3160,16 @@ return $alg eq 'RSAMD5' || $alg eq 'RSASHA1' ||
|
||||
$alg eq 'DSA' ? ( 512, 1024, 64 ) :
|
||||
$alg eq 'HMAC-MD5' ? ( 1, 512 ) :
|
||||
$alg eq 'NSEC3RSASHA1' ? ( 512, 4096 ) :
|
||||
$alg eq 'NSEC3DSA' ? ( 512, 1024, 64 ) : ( );
|
||||
$alg eq 'NSEC3DSA' ? ( 512, 1024, 64 ) :
|
||||
$alg eq 'ECDSAP256SHA256' ? ( 128, 512 ) :
|
||||
$alg eq 'ECDSAP384SHA384' ? ( 128, 512 ) :
|
||||
( );
|
||||
}
|
||||
|
||||
sub list_dnssec_algorithms
|
||||
{
|
||||
return ("RSASHA1", "RSASHA256", "RSAMD5", "DSA", "DH", "HMAC-MD5",
|
||||
"NSEC3RSASHA1", "NSEC3DSA");
|
||||
"NSEC3RSASHA1", "NSEC3DSA", "ECDSAP256SHA256", "ECDSAP384SHA384");
|
||||
}
|
||||
|
||||
# get_keys_dir(&zone|&zone-name)
|
||||
@@ -3203,6 +3272,8 @@ for(my $i=$#recs; $i>=0; $i--) {
|
||||
foreach my $key (@keys) {
|
||||
&create_record($chrootfn, $dom.".", undef, "IN", "DNSKEY",
|
||||
join(" ", @{$key->{'values'}}));
|
||||
&set_ownership($key->{'privatefile'});
|
||||
&set_ownership($key->{'publicfile'});
|
||||
}
|
||||
&bump_soa_record($chrootfn, \@recs);
|
||||
|
||||
@@ -3271,6 +3342,8 @@ $newzonekey || return "Could not find new DNSSEC zone key";
|
||||
&modify_record($fn, $zonerec, $dom.".", undef, "IN", "DNSKEY",
|
||||
join(" ", @{$newzonekey->{'values'}}));
|
||||
&bump_soa_record($fn, \@recs);
|
||||
&set_ownership($newzonekey->{'privatefile'});
|
||||
&set_ownership($newzonekey->{'publicfile'});
|
||||
|
||||
# Re-sign everything
|
||||
my $err = &sign_dnssec_zone($z);
|
||||
@@ -3292,7 +3365,7 @@ my $dom = $z->{'members'} ? $z->{'values'}->[0] : $z->{'name'};
|
||||
my @keys = &get_dnssec_key($z);
|
||||
foreach my $key (@keys) {
|
||||
foreach my $f ('publicfile', 'privatefile') {
|
||||
&unlink_file($key->{$f}) if ($key->{$f});
|
||||
&unlink_file($key->{$f}) if (ref($key) && $key->{$f});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3356,7 +3429,8 @@ return $out if ($tries >= 10);
|
||||
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 'RRSIG' ||
|
||||
$recs[$i]->{'type'} eq 'NSEC3PARAM') {
|
||||
&delete_record($fn, $recs[$i]);
|
||||
}
|
||||
}
|
||||
@@ -3364,7 +3438,8 @@ my @signedrecs = &read_zone_file($fn.".webmin-signed", $dom);
|
||||
foreach my $r (@signedrecs) {
|
||||
if ($r->{'type'} eq 'NSEC' ||
|
||||
$r->{'type'} eq 'NSEC3' ||
|
||||
$r->{'type'} eq 'RRSIG') {
|
||||
$r->{'type'} eq 'RRSIG' ||
|
||||
$r->{'type'} eq 'NSEC3PARAM') {
|
||||
&create_record($fn, $r->{'name'}, $r->{'ttl'}, $r->{'class'},
|
||||
$r->{'type'}, join(" ", @{$r->{'values'}}),
|
||||
$r->{'comment'});
|
||||
@@ -3430,7 +3505,7 @@ if ($keyrec) {
|
||||
}
|
||||
|
||||
# get_dnssec_key(&zone|&zone-name)
|
||||
# Returns a list of hash containing details of a zone's keys, or an error
|
||||
# Returns a list of hashes containing details of a zone's keys, or an error
|
||||
# message. The KSK is always returned first.
|
||||
sub get_dnssec_key
|
||||
{
|
||||
@@ -3460,6 +3535,7 @@ foreach my $f (readdir(ZONEDIR)) {
|
||||
$rv->{'public'} = $pub->{'values'}->[3];
|
||||
$rv->{'values'} = $pub->{'values'};
|
||||
$rv->{'publictext'} = &read_file_contents("$dir/$f");
|
||||
while($rv->{'publictext'} =~ s/^;.*\r?\n//) { }
|
||||
}
|
||||
elsif ($f =~ /^K\Q$dom\E\.\+(\d+)\+(\d+)\.private$/) {
|
||||
# Found the private key file
|
||||
@@ -3477,6 +3553,7 @@ foreach my $f (readdir(ZONEDIR)) {
|
||||
}
|
||||
$rv->{'algorithm'} =~ s/^\d+\s+\((\S+)\)$/$1/;
|
||||
$rv->{'privatetext'} = join("\n", @$lref)."\n";
|
||||
while($rv->{'privatetext'} =~ s/^;.*\r?\n//) { }
|
||||
}
|
||||
}
|
||||
closedir(ZONEDIR);
|
||||
|
||||
@@ -67,7 +67,7 @@ print &ui_table_row($text{'trusted_dlvs'},
|
||||
# Trusted keys
|
||||
my @ktable = ( );
|
||||
$i = 0;
|
||||
foreach my $k (@{$tkeys->{'members'}}, { }) {
|
||||
foreach my $k (@{$tkeys->{'members'}}, { 'values' => [ ] }) {
|
||||
my @v = @{$k->{'values'}};
|
||||
my @wrapped = ( );
|
||||
while(length($v[3]) > 30) {
|
||||
|
||||
@@ -124,7 +124,7 @@ print &ui_table_start($text{'zonedef_msg2'}, "width=100%", 4);
|
||||
|
||||
print &addr_match_input($text{'zonedef_transfer'}, "allow-transfer", $mems);
|
||||
print &addr_match_input($text{'zonedef_query'}, "allow-query", $mems);
|
||||
print &addr_match_input($text{'master_notify2'}, "allow-notify", $mems);
|
||||
print &addr_match_input($text{'master_notify2'}, "also-notify", $mems);
|
||||
|
||||
print &ignore_warn_fail($text{'zonedef_cmaster'}, 'master', $check{'master'});
|
||||
print &ignore_warn_fail($text{'zonedef_cslave'}, 'slave', $check{'slave'});
|
||||
|
||||
@@ -134,13 +134,19 @@ if ($in{'onslave'}) {
|
||||
my @slaves = &list_slave_servers();
|
||||
if (@slaves) {
|
||||
my $also = { 'name' => 'also-notify',
|
||||
'type' => 1,
|
||||
'members' => [ ] };
|
||||
'type' => 1,
|
||||
'members' => [ ] };
|
||||
my $allow = { 'name' => 'allow-transfer',
|
||||
'type' => 1,
|
||||
'members' => [ ] };
|
||||
foreach my $s (@slaves) {
|
||||
push(@{$also->{'members'}},
|
||||
{ 'name' => &to_ipaddress($s->{'host'}) });
|
||||
push(@{$allow->{'members'}},
|
||||
{ 'name' => &to_ipaddress($s->{'host'}) });
|
||||
}
|
||||
push(@{$dir->{'members'}}, $also);
|
||||
push(@{$dir->{'members'}}, $allow);
|
||||
push(@{$dir->{'members'}}, { 'name' => 'notify',
|
||||
'values' => [ 'yes' ] });
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@ require './bind8-lib.pl';
|
||||
|
||||
my $zone = &get_zone_name_or_error($in{'zone'}, $in{'view'});
|
||||
my ($zconf, $conf, $parent) = &zone_to_config($zone);
|
||||
&can_edit_zone($zconf) ||
|
||||
&can_edit_zone($zone) ||
|
||||
&error($text{'master_edelete'});
|
||||
|
||||
$access{'ro'} && &error($text{'master_ero'});
|
||||
|
||||
@@ -146,7 +146,7 @@ if (!$access{'ro'} && $type eq 'master') {
|
||||
push(@hcols, &ui_link("edit_recs.cgi?zone=$in{'zone'}&view=$in{'view'}&type=$in{'type'}&sort=1", ($in{'type'} eq "PTR" ? $text{'recs_addr'} : $text{'recs_name'}) ) );
|
||||
push(@hcols, &ui_link("edit_recs.cgi?zone=$in{'zone'}&view=$in{'view'}&type=$in{'type'}&sort=5", $text{'recs_type'}) ) if ($in{'type'} eq "ALL");
|
||||
push(@hcols, $text{'recs_ttl'});
|
||||
my @hmap = @{$hmap{$in{'type'}}};
|
||||
my @hmap = $hmap{$in{'type'}} ? @{$hmap{$in{'type'}}} : ( );
|
||||
foreach my $h (@hmap) {
|
||||
push(@hcols, &ui_link("edit_recs.cgi?zone=$in{'zone'}&view=$in{'view'}&type=$in{'type'}&sort=2",$h) );
|
||||
}
|
||||
@@ -207,6 +207,37 @@ for(my $i=0; $i<@_; $i++) {
|
||||
}
|
||||
else {
|
||||
$v = $r->{'values'}->[$j];
|
||||
if ($in{'type'} eq "TLSA") {
|
||||
# Display TLSA codes nicely
|
||||
if ($j == 0) {
|
||||
$v = $text{'tlsa_usage'.$v};
|
||||
}
|
||||
elsif ($j == 1) {
|
||||
$v = $text{'tlsa_selector'.$v};
|
||||
}
|
||||
elsif ($j == 2) {
|
||||
$v = $text{'tlsa_match'.$v};
|
||||
}
|
||||
else {
|
||||
$v = undef;
|
||||
}
|
||||
$v = $v ? $v." (".$r->{'values'}->[$j].")"
|
||||
: $r->{'values'}->[$j];
|
||||
}
|
||||
elsif ($in{'type'} eq "SSHFP") {
|
||||
# Display SSHFP codes nicely
|
||||
if ($j == 0) {
|
||||
$v = $text{'sshfp_alg'.$v};
|
||||
}
|
||||
elsif ($j == 1) {
|
||||
$v = $text{'sshfp_fp'.$v};
|
||||
}
|
||||
else {
|
||||
$v = undef;
|
||||
}
|
||||
$v = $v ? $v." (".$r->{'values'}->[$j].")"
|
||||
: $r->{'values'}->[$j];
|
||||
}
|
||||
}
|
||||
if (length($v) > 80) {
|
||||
$v = substr($v, 0, 80)." ...";
|
||||
|
||||
@@ -28,7 +28,7 @@ if ($zone->{'file'}) {
|
||||
undef, undef, $lasttrans);
|
||||
|
||||
my (@rcodes, @rtitles, @rlinks, @ricons, %rnum, $done_recs);
|
||||
if ($zone->{'file'}) {
|
||||
if ($zone->{'file'} && -r $zone->{'file'}) {
|
||||
print "<p>\n";
|
||||
my @recs = &read_zone_file($zone->{'file'}, $dom);
|
||||
if ($dom =~ /in-addr\.arpa/i || $dom =~ /\.$ipv6revzone/i) {
|
||||
|
||||
@@ -122,10 +122,18 @@ $_[1] =~ /^(\d+)\.(\d+)\.(\d+)\.(\d+)/;
|
||||
my @to = ($1, $2, $3, $4);
|
||||
return @to if (@to != 4);
|
||||
|
||||
for (my $i=0;$i<4;$i++) {
|
||||
$from[$i]=$from[$i]==0?1:$from[$i];
|
||||
$to[$i]=$to[$i]==255?254:$to[$i];
|
||||
}
|
||||
for (my $i=3;$i>=0;$i--) {
|
||||
my $e = 0;
|
||||
if ($from[$i] == 0) {
|
||||
$from[$i] = 1;
|
||||
$e++;
|
||||
}
|
||||
if ($to[$i] == 255) {
|
||||
$to[$i] = 254;
|
||||
$e++;
|
||||
}
|
||||
last if ($e);
|
||||
}
|
||||
|
||||
my %frecs;
|
||||
|
||||
|
||||
@@ -44,6 +44,10 @@ if (my $out = &check_bind_8()) {
|
||||
|
||||
# Try to get the version number, and save for later calls
|
||||
my $bind_version = &get_bind_version();
|
||||
if ($bind_version && $bind_version =~ /^(\d+\.\d+)\./) {
|
||||
# Convery to properly formatted number
|
||||
$bind_version = $1;
|
||||
}
|
||||
my $VERSION;
|
||||
&open_tempfile($VERSION, ">$module_config_directory/version");
|
||||
&print_tempfile($VERSION, "$bind_version\n");
|
||||
@@ -345,6 +349,8 @@ elsif (@zones) {
|
||||
next if (!@zv);
|
||||
print "<b>",&text('index_inview',
|
||||
"<tt>$vw->{'name'}</tt>"),"</b><br>\n";
|
||||
my (@zlinks, @ztitles, @zsort, @zicons, @ztypes, @zdels);
|
||||
my $len = 0;
|
||||
foreach my $z (@zv) {
|
||||
my $v = $z->{'name'};
|
||||
my $t = $z->{'type'};
|
||||
@@ -452,7 +458,8 @@ if ($access{'views'} && $bind_version >= 9) {
|
||||
print &ui_subheading($text{'index_views'});
|
||||
|
||||
# Show a warning if any zones are not in a view
|
||||
my @notinview = grep { $_->{'viewindex'} eq '' } @zones;
|
||||
my @notinview = grep { !defined($_->{'viewindex'}) ||
|
||||
$_->{'viewindex'} eq '' } @zones;
|
||||
if (@notinview && @views) {
|
||||
print "<b>",&text('index_viewwarn',
|
||||
join(" , ", map { "<tt>".&ip6int_to_net(
|
||||
|
||||
@@ -271,6 +271,10 @@ edit_eloc=Hi falta la latitud i la longitud
|
||||
edit_eweight='$1' no és un pes de servei vàlid
|
||||
edit_eport='$1' no és un número de port vàlid
|
||||
edit_etarget='$1' no és un nom de servidor ni una adreça vàlida
|
||||
edit_eusage='$1' no és un número d'ús TLSA vàlid
|
||||
edit_eselector='$1' no és un número de selector TLSA vàlid
|
||||
edit_ematch='$1' no és un número de coincidència TLSA vàlid
|
||||
edit_etlsa=El certificat codificat amb TLSA és invàlid - només pot contenir bytes hexadecimals de dos dígits
|
||||
edit_return=als registres
|
||||
edit_ecname1=No pots crear un registre d'àlies de nom amb el mateix nom que un d'existent.
|
||||
edit_ecname2=No pots crear un registre amb el mateix nom que un d'existent.
|
||||
@@ -285,7 +289,11 @@ edit_dtitle=Suprimeix el Registre
|
||||
edit_rusure=Segur que vols suprimir el registre $1 del domini $2, i possiblement qualsevol registre invers o de reenviament que hi coincideixi?
|
||||
edit_dok=Sí, Suprimeix-lo
|
||||
edit_eptr='$1' no és un nom de host de registre d'adreça inversa vàlid
|
||||
edit_ealg2='$1' no és un número d'algoritme de certificat vàlid
|
||||
edit_efp='$1' no és un tipus d'empremta digital de certificat vàlid
|
||||
edit_esshfp=Hi falten les dades de la clau pública codificades en base 64 o bé no són vàlides
|
||||
edit_espfa='$1' no és un host destinació vàlid
|
||||
edit_espfa2='$1' ha de ser un nom de host, no una adreça IP
|
||||
edit_espfmx='$1' no és un nom de domini destinació vàlid
|
||||
edit_espfmxmax=No tens permís per tenir més de 10 dominis des dels quals enviar MX
|
||||
edit_espfip='$1' no és una adreça IP o IP/prefix destinació vàlida
|
||||
@@ -377,6 +385,8 @@ type_HINFO=Informaci
|
||||
type_NSEC3PARAM=Paràmetres DNSSEC
|
||||
type_TXT=Text
|
||||
type_SPF=Remitent Permès des de
|
||||
type_TLSA=Certificat SSL
|
||||
type_SSHFP=Clau Pública SSH
|
||||
type_DMARC=DMARC
|
||||
type_WKS=Servei Conegut (WKS)
|
||||
type_RP=Persona Responsable
|
||||
@@ -407,6 +417,8 @@ recs_defttl=TTL per defecte
|
||||
recs_A=Adreça
|
||||
recs_AAAA=Adreça IPv6
|
||||
recs_NS=Servidor de Noms
|
||||
edit_TLSA=Certificat SSL
|
||||
edit_SSHFP=Clau Pública SSH
|
||||
recs_CNAME=Àlies del Nom
|
||||
recs_MX=Servidor de Correu
|
||||
recs_HINFO=Informació del Host
|
||||
@@ -426,6 +438,8 @@ recs_delete=Suprimeix els Seleccionats
|
||||
value_A1=Adreça
|
||||
value_AAAA1=Adreça IPv6
|
||||
value_NS1=Servidor de Noms
|
||||
recs_TLSA=Certificat SSL
|
||||
recs_SSHFP=Clau Pública SSH
|
||||
value_CNAME1=Nom Real
|
||||
value_MX1=Prioritat
|
||||
value_MX2=Servidor de Correu
|
||||
@@ -443,6 +457,13 @@ value_SRV1=Prioritat
|
||||
value_SRV2=Pes
|
||||
value_SRV3=Port
|
||||
value_SRV4=Servidor
|
||||
value_TLSA1=Ús del certificat
|
||||
value_TLSA2=Selector del certificat
|
||||
value_TLSA3=Coincidència del certificat
|
||||
value_TLSA4=Dades del certificat
|
||||
value_SSHFP1=Algoritme de la clau pública
|
||||
value_SSHFP2=Empremta digital de la clau pública
|
||||
value_SSHFP3=Dades de la clau pública
|
||||
value_KEY1=Banderes
|
||||
value_KEY2=Protocol
|
||||
value_KEY3=Algoritme
|
||||
@@ -488,6 +509,23 @@ value_dmarcaspf=Requereix alineaci
|
||||
value_dmarcadkim=Requereix alineació DKIM estricta
|
||||
value_dmarcnor=No ho enviïs
|
||||
|
||||
tlsa_usage0=Autoritat certificadora
|
||||
tlsa_usage1=Acaba l'entitat
|
||||
tlsa_usage2=Ancora de confiança
|
||||
tlsa_usage3=Domini emès
|
||||
tlsa_selector0=Certificat complet
|
||||
tlsa_selector1=Info de la clau pública
|
||||
tlsa_match0=Contingut sense hash
|
||||
tlsa_match1=amb hash SHA-256
|
||||
tlsa_match2=amb hash SHA-512
|
||||
|
||||
sshfp_alg1=RSA
|
||||
sshfp_alg2=DSA
|
||||
sshfp_alg3=ECDSA
|
||||
sshfp_alg4=Ed25519
|
||||
sshfp_fp1=SHA-1
|
||||
sshfp_fp2=SHA-256
|
||||
|
||||
warn=Avisa
|
||||
fail=Falla
|
||||
ignore=Ignora
|
||||
@@ -1097,6 +1135,7 @@ dnssec_header=Opcions de re-signatura de la clau
|
||||
dnssec_enabled=Activació automàtica de la re-signatura de la clau
|
||||
dnssec_period=Període entre re-signatures
|
||||
dnssec_days=dies
|
||||
dnssec_secs=segons
|
||||
dnssec_desc=Les zones signades amb DNSSEC tenen típicament dues claus - una clau de zona que s'ha de regenerar i signar regularment, i una clau de signatura que roman constant. Aquesta pàgina permet configurar Webmin per dur a terme aquesta re-signatura automàticament.
|
||||
dnssec_err=No s'ha pogut desar la re-signatura de la clau DNSSEC
|
||||
dnssec_eperiod=Hi falta el nombre de dies entre re-signatures o bé és invàlid
|
||||
|
||||
@@ -229,6 +229,8 @@ edit_PTR=Reverse-Adresse
|
||||
edit_RP=Verantwortliche Person
|
||||
edit_SPF=Sender Permitted Form (SPF)
|
||||
edit_SRV=Service-Adresse
|
||||
edit_SSHFP=SSH Öffentlicher Schlüssel
|
||||
edit_TLSA=SSL-Zertifikat
|
||||
edit_TXT=Text
|
||||
edit_WKS=Bekannter Dienst
|
||||
edit_add=Füge $1 Datensatz hinzu
|
||||
@@ -787,6 +789,8 @@ recs_PTR=Reverse-Adresse
|
||||
recs_RP=Verantwortliche Person
|
||||
recs_SPF=Sender Permitted Form (SPF)
|
||||
recs_SRV=Service Adresse
|
||||
recs_SSHFP=SSH Öffentlicher Schlüssel
|
||||
recs_TLSA=SSL-Zertifikat
|
||||
recs_TXT=Text
|
||||
recs_WKS=Bekannter Dienst
|
||||
recs_addr=Adresse
|
||||
@@ -929,6 +933,12 @@ slaves_sync=Erzeuge alle existierenden Master-Zonen auf Slave-Servern?
|
||||
slaves_title=Cluster-Slave-Server
|
||||
slaves_toview=Zeige Slaves an, um Zonen dort hinzuzufügen
|
||||
slaves_view=Zur Ansicht hinzufügen
|
||||
sshfp_alg1=RSA
|
||||
sshfp_alg2=DSA
|
||||
sshfp_alg3=ECDSA
|
||||
sshfp_alg4=Ed25519
|
||||
sshfp_fp1=SHA-1
|
||||
sshfp_fp2=SHA-256
|
||||
start_ecannot=Sie haben keine Berechtigung, BIND zu starten
|
||||
start_error=Fehler beim Starten von BIND : $1
|
||||
stop_ecannot=Sie dürfen BIND nicht stoppen
|
||||
@@ -944,6 +954,12 @@ text_soa=Erhöhe Seriennummer automatisch
|
||||
text_title=Bearbeite Datensatzdatei
|
||||
text_title2=Zeige Einträge der Zonendatei an
|
||||
text_undo=Rückgängig
|
||||
tlsa_match0=Ungehashter Inhalt
|
||||
tlsa_match1=SHA-256 gehasht
|
||||
tlsa_match2=SHA-512 gehasht
|
||||
tlsa_selector0=Volles Zertifikat
|
||||
tlsa_selector1=Öffentlicher Schlüssel info
|
||||
tlsa_usage0=Zertifizierungsstelle
|
||||
trusted_alg=Algorithmus
|
||||
trusted_dlv=Reale Zone
|
||||
trusted_dnssec=DNSSEC aktiviert?
|
||||
@@ -983,6 +999,8 @@ type_PTR=Reverse-Adresse
|
||||
type_RP=Verantwortliche Person
|
||||
type_SPF=Sender Permitted Form (SPF)
|
||||
type_SRV=Service-Adresse
|
||||
type_SSHFP=SSH Öffentlicher Schlüssel
|
||||
type_TLSA=SSL-Zertifikat
|
||||
type_TXT=Text
|
||||
type_WKS=Bekannter Dienst
|
||||
umass_any=<b>ALLE</b> Einträge aktualisieren
|
||||
|
||||
@@ -271,6 +271,10 @@ edit_eloc=Missing latitude and longitude
|
||||
edit_eweight='$1' is not a valid service weight
|
||||
edit_eport='$1' is not a valid port number
|
||||
edit_etarget='$1' is not a valid server name or address
|
||||
edit_eusage='$1' is not a valid TLSA usage number
|
||||
edit_eselector='$1' is not a valid TLSA selector number
|
||||
edit_ematch='$1' is not a valid TLSA match number
|
||||
edit_etlsa=Invalid TLSA encoded certificate - must contain only 2-digit hex bytes
|
||||
edit_return=records
|
||||
edit_ecname1=You cannot create a name alias record with the same name as an existing record.
|
||||
edit_ecname2=You cannot create a record with the same name as an existing name alias record.
|
||||
@@ -281,6 +285,9 @@ edit_eflags='$1' is not a valid decimal or hex key flags number
|
||||
edit_eproto='$1' is not a valid key protocol number
|
||||
edit_ealg='$1' is not a valid key algorithm number
|
||||
edit_ekey=Missing or invalid base-64 encoded key data
|
||||
edit_ealg2='$1' is not a valid certificate algorithm number
|
||||
edit_efp='$1' is not a valid certificate fingerprint type
|
||||
edit_esshfp=Missing or invalid base-64 encoded public key data
|
||||
edit_dtitle=Delete Record
|
||||
edit_rusure=Are you sure you want to delete the record $1 from domain $2, and possibly any matching reverse or forward record?
|
||||
edit_dok=Yes, Delete It
|
||||
@@ -378,6 +385,8 @@ type_HINFO=Host Information
|
||||
type_NSEC3PARAM=DNSSEC Parameters
|
||||
type_TXT=Text
|
||||
type_SPF=Sender Permitted From
|
||||
type_TLSA=SSL Certificate
|
||||
type_SSHFP=SSH Public Key
|
||||
type_DMARC=DMARC
|
||||
type_WKS=Well Known Service
|
||||
type_RP=Responsible Person
|
||||
@@ -403,6 +412,8 @@ edit_LOC=Location
|
||||
edit_SRV=Service Address
|
||||
edit_KEY=Public Key
|
||||
edit_NSEC3PARAM=DNSSEC Parameters
|
||||
edit_TLSA=SSL Certificate
|
||||
edit_SSHFP=SSH Public Key
|
||||
|
||||
recs_defttl=Default TTL
|
||||
recs_A=Address
|
||||
@@ -422,6 +433,8 @@ recs_SRV=Service Address
|
||||
recs_ALL=All
|
||||
recs_KEY=Public Key
|
||||
recs_NSEC3PARAM=DNSSEC Parameters
|
||||
recs_TLSA=SSL Certificate
|
||||
recs_SSHFP=SSH Public Key
|
||||
recs_delete=Delete Selected
|
||||
|
||||
value_A1=Address
|
||||
@@ -444,6 +457,13 @@ value_SRV1=Priority
|
||||
value_SRV2=Weight
|
||||
value_SRV3=Port
|
||||
value_SRV4=Server
|
||||
value_TLSA1=Certificate usage
|
||||
value_TLSA2=Certificate selector
|
||||
value_TLSA3=Certificate match
|
||||
value_TLSA4=Certificate data
|
||||
value_SSHFP1=Public key algorithm
|
||||
value_SSHFP2=Public key fingerprint
|
||||
value_SSHFP3=Public key data
|
||||
value_KEY1=Flags
|
||||
value_KEY2=Protocol
|
||||
value_KEY3=Algorithm
|
||||
@@ -489,6 +509,23 @@ value_dmarcaspf=Require strict SPF alignment
|
||||
value_dmarcadkim=Require strict DKIM alignment
|
||||
value_dmarcnor=Don't send
|
||||
|
||||
tlsa_usage0=Certificate authority
|
||||
tlsa_usage1=End entity
|
||||
tlsa_usage2=Trust anchor
|
||||
tlsa_usage3=Domain issued
|
||||
tlsa_selector0=Full certificate
|
||||
tlsa_selector1=Public key info
|
||||
tlsa_match0=Unhashed contents
|
||||
tlsa_match1=SHA-256 hashed
|
||||
tlsa_match2=SHA-512 hashed
|
||||
|
||||
sshfp_alg1=RSA
|
||||
sshfp_alg2=DSA
|
||||
sshfp_alg3=ECDSA
|
||||
sshfp_alg4=Ed25519
|
||||
sshfp_fp1=SHA-1
|
||||
sshfp_fp2=SHA-256
|
||||
|
||||
warn=Warn
|
||||
fail=Fail
|
||||
ignore=Ignore
|
||||
|
||||
@@ -266,6 +266,7 @@ edit_eip6='$1' er ikke en gyldig IPv6 adresse
|
||||
edit_ekey=Manglende eller ugyldig base-64 kodet nøkkeldata
|
||||
edit_elabel=En etikett i '$1' er for lang
|
||||
edit_eloc=Manglende bredde- og lengdegrad
|
||||
edit_ematch='$1' er ikke et gyldig TLSA match nummer
|
||||
edit_emx='$1' er ikke en gyldig e-post tjener
|
||||
edit_ename='$1' er ikke et gyldig oppføringsnavn
|
||||
edit_ens='$1' er ikke en gyldig navnetjener
|
||||
@@ -278,6 +279,7 @@ edit_eproto='$1' er ikke et gyldig nøkkel protokoll nummer
|
||||
edit_eptr='$1' er ikke et gyldig vertsnavn for en revers adresseoppføring
|
||||
edit_erevmust=Revers sone for IP adresse ikke funnet
|
||||
edit_err=Kunne ikke lagre oppføring
|
||||
edit_eselector='$1' er ikke et gyldig TLSA selector nummer
|
||||
edit_eserv=Du oppga ikke noen vekjente tjenester
|
||||
edit_eserv2='$1' er ikke et gyldig tjenestenavn
|
||||
edit_espfa='$1' er ikke en gyldig vert å tillate sending fra
|
||||
@@ -290,8 +292,10 @@ edit_espfmx='$1' er ikke et gyldig domenenavn å tillate MX sending fra
|
||||
edit_espfmxmax=Du har ikke lov til å ha flere enn 10 domener som det tillates MX sending fra
|
||||
edit_espfredirect='$1' er ikke et gyldig alternativt domenenavn
|
||||
edit_etarget='$1' er ikke et gyldig tjenernavn eller adresse
|
||||
edit_etlsa=Ugyldig TLSA kodet sertifikat - kan kun inneholde 2-siffers hex bytes
|
||||
edit_ettl='$1' er ikke en gyldig time-to-live
|
||||
edit_etxt='$1' er ikek et gyldig navn på en tekst-oppføring
|
||||
edit_eusage='$1' er ikke et gyldig TLSA bruks-nummer
|
||||
edit_eweight='$1' er ikke en gyldig tjeneste-vekt
|
||||
edit_header=I $1
|
||||
edit_name=Navn
|
||||
@@ -958,6 +962,15 @@ text_soa=Øk serienummer automatisk
|
||||
text_title=Rediger oppføringsfil
|
||||
text_title2=Vis oppføringsfil
|
||||
text_undo=Omgjør
|
||||
tlsa_match0=Uhashet innhold
|
||||
tlsa_match1=SHA-256 hashet
|
||||
tlsa_match2=SHA-512 hashet
|
||||
tlsa_selector0=Fullt sertifikat
|
||||
tlsa_selector1=Offentlig nøkkel info
|
||||
tlsa_usage0=Sertifikat-autoritet
|
||||
tlsa_usage1=Slutt entitet
|
||||
tlsa_usage2=Trust anker
|
||||
tlsa_usage3=Domene utgitt
|
||||
trusted_alg=Algoritme
|
||||
trusted_anchor=Anker sone
|
||||
trusted_dlv=Virkelig sone
|
||||
@@ -1001,6 +1014,7 @@ type_PTR=Revers adresse
|
||||
type_RP=Ansvarlig person
|
||||
type_SPF=Avsender tillatt fra
|
||||
type_SRV=Tjeneste adresse
|
||||
type_TLSA=SSL sertifikat
|
||||
type_TXT=Tekst
|
||||
type_WKS=Velkjente tjenester
|
||||
umass_any=Oppdater <b>alle</b> oppføringer
|
||||
@@ -1047,6 +1061,10 @@ value_SRV1=Prioritet
|
||||
value_SRV2=Vekt
|
||||
value_SRV3=Port
|
||||
value_SRV4=Tjener
|
||||
value_TLSA1=Sertifikat bruk
|
||||
value_TLSA2=Sertifikat selektor
|
||||
value_TLSA3=Sertifikat match
|
||||
value_TLSA4=Sertifikat data
|
||||
value_TXT1=Melding
|
||||
value_WKS1=Adresse
|
||||
value_WKS2=Protokoll
|
||||
|
||||
@@ -20,15 +20,15 @@ if ($type eq 'record') {
|
||||
$p->{'newvalues'}) {
|
||||
return &text("log_${action}_record_v",
|
||||
$text{"type_$p->{'type'}"},
|
||||
"<tt>$p->{'name'}</tt>",
|
||||
"<tt>$object</tt>",
|
||||
"<tt>$p->{'newvalues'}</tt>");
|
||||
"<tt>".&html_escape($p->{'name'})."</tt>",
|
||||
"<tt>".&html_escape($object)."</tt>",
|
||||
"<tt>".&html_escape($p->{'newvalues'})."</tt>");
|
||||
}
|
||||
else {
|
||||
return &text("log_${action}_record",
|
||||
$text{"type_$p->{'type'}"},
|
||||
"<tt>$p->{'name'}</tt>",
|
||||
"<tt>$object</tt>");
|
||||
"<tt>".&html_escape($p->{'name'})."</tt>",
|
||||
"<tt>".&html_escape($object)."</tt>");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -38,7 +38,7 @@ foreach my $d (split(/\0/, $in{'d'})) {
|
||||
else {
|
||||
$zconf = $conf->[$zone->{'index'}];
|
||||
}
|
||||
&can_edit_zone($zconf, $view) ||
|
||||
&can_edit_zone($zone) ||
|
||||
&error($text{'master_edelete'});
|
||||
push(@zones, [ $zconf, $view ]);
|
||||
push(@znames, $zconf->{'value'});
|
||||
|
||||
@@ -70,7 +70,7 @@ foreach my $zi (@zones) {
|
||||
my @recs = &read_zone_file($zi->{'file'}, $zi->{'name'});
|
||||
my $realfile = &make_chroot(&absolute_path($zi->{'file'}));
|
||||
foreach my $r (@recs) {
|
||||
my $v = join(" ", @{$r->{'values'}});
|
||||
my $v = join(" ", @{$r->{'values'} || []});
|
||||
if ($r->{'type'} eq $in{'type'} &&
|
||||
($v eq $in{'old'} || $in{'old_def'})) {
|
||||
# Found a regular record to fix
|
||||
|
||||
@@ -38,3 +38,4 @@ longdesc_ms_MY=Membuat dan mengubah domain, rekod DNS, 'options' dan 'views' pad
|
||||
desc_ms_MY=Pelayan DNS BIND
|
||||
longdesc_de=Erstellt und bearbeitet Domains, DNS-Einträge, BIND-Optionen und Ansichten.
|
||||
longdesc_pl=Twórz i edytuj domeny, rekordy DNS, opcje BIND i widoki.
|
||||
longdesc_ca=Crea i edita dominis, registres DNS records, opcions BIND i vistes.
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
# Functions for managing BIND 4 and 8/9 records files
|
||||
use strict;
|
||||
use warnings;
|
||||
no warnings 'redefine';
|
||||
|
||||
# Globals from Webmin or bind8-lib.pl
|
||||
our (%config, %text, %in);
|
||||
@@ -29,7 +30,7 @@ if (&is_raw_format_records($rootfile)) {
|
||||
&has_command("named-compilezone") ||
|
||||
&error("Zone file $rootfile is in raw format, but the ".
|
||||
"named-compilezone command is not installed");
|
||||
&open_execute_command($FILE, "named-compilezone -f raw -F text -o - $origin $rootfile", 1, 1);
|
||||
open($FILE, "named-compilezone -f raw -F text -o - $origin $rootfile |");
|
||||
}
|
||||
else {
|
||||
# Can read text format records directly
|
||||
@@ -827,7 +828,7 @@ if ($dmarc->{'other'}) {
|
||||
push(@rv, @{$dmarc->{'other'}});
|
||||
}
|
||||
my @rvwords;
|
||||
my $rvword;
|
||||
my $rvword = "";
|
||||
while(@rv) {
|
||||
my $w = shift(@rv);
|
||||
if (length($rvword)+length($w)+1 >= 255) {
|
||||
@@ -969,7 +970,8 @@ sub record_id
|
||||
{
|
||||
my ($r) = @_;
|
||||
return $r->{'name'}."/".$r->{'type'}.
|
||||
(uc($r->{'type'}) eq 'SOA' ? '' : '/'.join('/', @{$r->{'values'}}));
|
||||
(uc($r->{'type'}) eq 'SOA' || !$r->{'values'} ? '' :
|
||||
'/'.join('/', @{$r->{'values'}}));
|
||||
}
|
||||
|
||||
# find_record_by_id(&recs, id, index)
|
||||
@@ -1018,7 +1020,7 @@ sub get_dnskey_rrset
|
||||
sub is_raw_format_records
|
||||
{
|
||||
my ($file) = @_;
|
||||
open(my $RAW, "<", $file);
|
||||
open(my $RAW, "<", $file) || return 0;
|
||||
my $buf;
|
||||
read($RAW, $buf, 3);
|
||||
close($RAW);
|
||||
|
||||
@@ -13,7 +13,7 @@ my $dom;
|
||||
my $err;
|
||||
|
||||
my $debug;
|
||||
if ($ARGV[0] eq "--debug") {
|
||||
if (@ARGV && $ARGV[0] eq "--debug") {
|
||||
$debug = 1;
|
||||
}
|
||||
my $period = $config{'dnssec_period'} || 21;
|
||||
|
||||
@@ -281,13 +281,36 @@ else {
|
||||
&valname($in{'value3'}) ||
|
||||
&error(&text('edit_etarget', $in{'value3'}));
|
||||
}
|
||||
elsif ($in{'type'} eq 'TLSA') {
|
||||
$in{'serv'} =~ /^[A-Za-z0-9\-\_]+$/ ||
|
||||
&error(&text('edit_eserv2', $in{'serv'}));
|
||||
$in{'name'} = join(".", "_".$in{'serv'}, "_".$in{'proto'},
|
||||
$in{'name'} ? ( $in{'name'} ) : ( ));
|
||||
$in{'value0'} =~ /^\d+$/ ||
|
||||
&error(text('edit_eusage', $in{'value0'}));
|
||||
$in{'value1'} =~ /^\d+$/ ||
|
||||
&error(text('edit_eselector', $in{'value1'}));
|
||||
$in{'value2'} =~ /^\d+$/ ||
|
||||
&error(text('edit_ematch', $in{'value2'}));
|
||||
$in{'value3'} =~ /^[a-f0-9]+$/ &&
|
||||
length($in{'value3'}) % 2 == 0 ||
|
||||
&error(&text('edit_etlsa', $in{'value3'}));
|
||||
}
|
||||
elsif ($in{'type'} eq 'SSHFP') {
|
||||
$in{'value0'} =~ /^\d+$/ ||
|
||||
&error(text('edit_ealg', $in{'value0'}));
|
||||
$in{'value1'} =~ /^\d+$/ ||
|
||||
&error(text('edit_efp', $in{'value1'}));
|
||||
$in{'value2'} =~ /^[a-f0-9]+$/ ||
|
||||
&error(&text('edit_esshfp', $in{'value2'}));
|
||||
}
|
||||
elsif ($in{'type'} eq 'KEY') {
|
||||
$in{'value0'} =~ /^(\d+|0x[0-9a-f]+={0,2})$/i ||
|
||||
&error(text('edit_eflags', $in{'value0'}));
|
||||
$in{'value1'} =~ /^\d+$/ ||
|
||||
&error(text('edit_eproto', $in{'value1'}));
|
||||
$in{'value2'} =~ /^\d+$/ ||
|
||||
&error(text('edit_ealg', $in{'value2'}));
|
||||
&error(text('edit_ealg2', $in{'value2'}));
|
||||
$in{'value3'} =~ s/[ \r\n]//g;
|
||||
$in{'value3'} =~ /^[a-zA-Z0-9\/\+]+$/ ||
|
||||
&error(text('edit_ekey'));
|
||||
|
||||
@@ -155,7 +155,7 @@ foreach my $s (@add) {
|
||||
push(@{$n->{'members'}}, { 'name' => $sip });
|
||||
&lock_file($z->{'file'});
|
||||
&save_directive($z, $d, [ $n ], 1);
|
||||
&flush_file_lines($z->{'file'});
|
||||
&flush_file_lines();
|
||||
$dchanged++;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,3 +27,4 @@ desc_pl.UTF-8=Udostępnianie po NFS
|
||||
desc_hu.UTF-8=NFS exprotálás
|
||||
desc_nl=NFS Exports
|
||||
longdesc_de=Bearbeitet Datei-Freigaben aus der FreeBSD-Datei /etc/exports.
|
||||
longdesc_ca=Edita les unitats compartides del fitxer /etc/exports de FreeBSD.
|
||||
|
||||
299
bsdfdisk/lang/de
299
bsdfdisk/lang/de
@@ -1,161 +1,160 @@
|
||||
disk_add=Füge ein neues Slice hinzu.
|
||||
disk_blocks=<b>Blöcke:</b> $1
|
||||
disk_cylinders=<b>Zylinder:</b> $1
|
||||
disk_device=<b>Geräte-Datei:</b> $1
|
||||
disk_dsize=<b>Festplattengröße:</b> $1
|
||||
disk_egone=Festplatte existiert nicht länger!
|
||||
disk_end=Endblock
|
||||
disk_extent=Extent
|
||||
disk_free=Freier Speicher
|
||||
disk_iscsi=iSCSI geteiltes Gerät $1
|
||||
disk_model=<b>Marke und Modell:</b> $1
|
||||
disk_no=Slice
|
||||
disk_none=Dieses Laufwerk hat bisher keine Slices.
|
||||
disk_parts=Partitionen
|
||||
disk_return=Festplattendetails und Liste an Slices
|
||||
disk_scount=$1 Partitionen
|
||||
disk_size=Größe
|
||||
disk_smart=Zeige SMART Status
|
||||
disk_smartdesc=Zeigt den aktuellen Status dieses Laufwerk wie von SMART erkannt, und überprüft auf Festplattenfehler.
|
||||
disk_start=Startblock
|
||||
disk_table=<b>Partitionsformat:</b> $1
|
||||
disk_title=Editiere Festplatte
|
||||
disk_type=Typ
|
||||
disk_use=Benutzt von
|
||||
disk_vm=Virtueller Speicher
|
||||
dpart_confirm=Lösche Jetzt
|
||||
dpart_deleting=Lösche Partition $1 ..
|
||||
dpart_done=.. fertig
|
||||
dpart_failed=.. Löschen fehlgeschlagen : $1
|
||||
dpart_rusure=Sind Sie sicher, dass Sie die Partition $1 löschen möchten? Alle Dateisysteme in ihr werden ebenfalls gelöscht.
|
||||
dpart_title=Lösche Partition
|
||||
dpart_warn=Warnung - diese Partition ist aktuell in Benutzung von $1
|
||||
dslice_confirm=Jetzt löschen
|
||||
dslice_deleting=Lösche Slice $1 ..
|
||||
dslice_done=.. fertig
|
||||
dslice_failed=.. löschen fehlgeschlagen : $1
|
||||
dslice_rusure=Sind Sie sicher, dass Sie den Slice $1 löschen möchten? Alle Partitionen und Dateisysteme in ihm werden ebenfalls gelöscht.
|
||||
dslice_title=Lösche Slice
|
||||
dslice_warn=Warnung - Dieses Slice ist derzeit in Verwendung : $1
|
||||
fsck_checking=Prüfe Dateisystem auf $1 ..
|
||||
fsck_done=.. Prüfung abgeschlossen ohne Fehler zu finden
|
||||
fsck_err=Fehlgeschlagen Dateisystem zu prüfen
|
||||
fsck_failed=.. Prüfung fehlgeschlagen!
|
||||
fsck_title=Prüfe Dateisystem
|
||||
index_dmodel=Marke und Modell
|
||||
index_dname=Festplattenname
|
||||
index_dparts=Slices
|
||||
index_dsize=Gesamtgröße
|
||||
index_ecmd=Der erforderliche Befehl $1 fehlt
|
||||
index_none=Keine Festplatten wurden auf diesem System gefunden!
|
||||
index_problem=Dieses Modul kann nicht verwendet werden : $1
|
||||
index_return=Liste an Festplatten
|
||||
index_title=Partitionen auf lokalen Festplatten
|
||||
log_create_part=Partition $1 erstellt
|
||||
log_create_slice=Slice $1 erstellt
|
||||
log_delete_part=Partition $1 gelöscht
|
||||
log_delete_slice=Slice $1 gelöscht
|
||||
log_fsck_part=Dateisystem auf der Partition $1 überprüft
|
||||
log_modify_part=Partition $1 modifiziert
|
||||
log_modify_slice=Slice $1 modifiziert
|
||||
log_newfs_part=Dateisystem auf Partition $1 erstellt
|
||||
newfs_create=Erstelle jetzt
|
||||
newfs_creating=Erstelle Dateisystem auf $1 ..
|
||||
newfs_deffree=Standard (8%)
|
||||
newfs_done=.. erstellen erfolgreich
|
||||
newfs_efree=Speicherplatz zum Reservieren für root muss Prozent sein
|
||||
newfs_elabel=Fehlendes oder ungültiges Label
|
||||
newfs_err=Fehlgeschlagen Dateisystem zu erstellen
|
||||
newfs_failed=.. erstellen fehlgeschlagen!
|
||||
newfs_free=Speicherplatz zum Reservieren für root
|
||||
newfs_header=Neues Dateisystem Details
|
||||
newfs_label=Dateisystem Label
|
||||
newfs_none=Keines
|
||||
newfs_title=Erstelle Dateisystem
|
||||
newfs_trim=Aktiviere TRIM-Modus für SSDs
|
||||
npart_creating=Erstelle Partition $1 auf $2
|
||||
npart_diskblocks=Slice Größe in Blöcken
|
||||
npart_done=.. Partition erstellt
|
||||
npart_eclash=Eine Partition mit Buchstaben $1 existiert bereits
|
||||
npart_eletter=Partition Nummer muss ein Buchstabe von A bis D sein
|
||||
npart_emax=Endblock kann nicht größer als die Slice Größe von $1 Blöcken sein
|
||||
npart_err=Fehlgeschlagen Partition zu erstellen
|
||||
npart_failed=.. Partition Erstellung fehlgeschlagen : $1
|
||||
npart_header=Neue Partition Details
|
||||
npart_letter=Partition Buchstabe
|
||||
npart_title=Erstelle Partition
|
||||
npart_type=Partitionstyp
|
||||
nslice_creating=Erstelle Slice $1 auf $2 ..
|
||||
nslice_diskblocks=Festplattengröße in Blöcken
|
||||
nslice_done=.. Slice hinzugefügt
|
||||
nslice_eclash=Ein Slice mit Nummer $1 existiert bereits
|
||||
nslice_eend=Endblock muss eine Nummer sein
|
||||
nslice_emax=Endblock kann nicht größer sein als Festplattengröße von $1 Blöcken
|
||||
nslice_end=Endblock
|
||||
nslice_enumber=Fehlende oder nicht-numerische Slice-Nummer
|
||||
nslice_erange=Startblock muss kleiner als der Endblock sein
|
||||
nslice_err=Fehlgeschlagen Slice zu erstellen
|
||||
nslice_estart=Startblock muss eine Nummer sein
|
||||
nslice_failed=.. Slice Erstellung fehlgeschlagen : $1
|
||||
nslice_header=Neues Slice Details
|
||||
nslice_makepart=Erstelle eine Standard-Partition?
|
||||
nslice_number=Slice Nummer
|
||||
nslice_parting=Erstelle Standard-Partitionen in Slice $1 auf $2 ..
|
||||
nslice_pdone=.. Partition erstellt
|
||||
nslice_pfailed=.. Partition Erstellung fehlgeschlagen : $1
|
||||
nslice_start=Startblock
|
||||
nslice_title=Erstelle Slice
|
||||
nslice_type=Neuer Slice Typ
|
||||
part_cannotedit=Diese Partition kann nicht verändert werden, da diese derzeit in Gebrauch ist.
|
||||
part_delete=Lösche Partition
|
||||
part_deletedesc=Klicke auf diese Taste, um diese Partition aus dem Slice zu entfernen. Alle Daten auf der Partition werden für immer verloren sein.
|
||||
part_device=Gerätedatei
|
||||
part_egone=Partition existiert nicht länger!
|
||||
part_end=Endblock
|
||||
part_err=Fehlgeschlagen Partition zu speichern
|
||||
part_esave=Aktuell benutzt von $1
|
||||
part_foruse=Für den Einsatz von $1
|
||||
part_fsck=Prüfe Dateisystem
|
||||
part_fsckdesc=Klicke auf diese Taste, um das UFS-Dateisystem auf diesem Gerät zu überprüfen und gefundene Fehler zu reparieren.
|
||||
part_header=Partitionsdetails
|
||||
part_inuse=In Benutzung von $1
|
||||
part_mountmsg=Mount dieses Gerät auf neues Verzeichnis auf Ihrem System, so dass es verwendet werden kann, um Dateien zu speichern. Ein Dateisystem muss bereits auf der Partition erstellt worden sein.
|
||||
part_mountmsg2=Mount dieses Gerät als virtuellen Speicher auf Ihrem System, um die Menge des verfügbaren Speichers zu erhöhen.
|
||||
npart_eclash=Eine Partition mit Buchstaben $1 existiert bereits
|
||||
disk_scount=$1 Partitionen
|
||||
index_ecmd=Der erforderliche Befehl $1 fehlt
|
||||
disk_parts=Partitionen
|
||||
npart_type=Partitionstyp
|
||||
newfs_create=Erstelle jetzt
|
||||
part_newfs=Erstelle Dateisystem
|
||||
part_newfsdesc=Klicke auf diese Schaltfläche, um ein neues UFS-Dateisystem auf diesem Gerät zu erstellen. Alle Daten, die zuvor auf der Partition waren, werden gelöscht.
|
||||
log_newfs_part=Dateisystem auf Partition $1 erstellt
|
||||
part_mountmsg=Mount dieses Gerät auf neues Verzeichnis auf Ihrem System, so dass es verwendet werden kann, um Dateien zu speichern. Ein Dateisystem muss bereits auf der Partition erstellt worden sein.
|
||||
slice_ssize=Slice Größe
|
||||
slice_none=Dieses Slice hat bisher keine Partitionen.
|
||||
index_dname=Festplattenname
|
||||
slice_err=Fehlgeschlagen Slice zu modifizieren
|
||||
nslice_enumber=Fehlende oder nicht-numerische Slice-Nummer
|
||||
part_cannotedit=Diese Partition kann nicht verändert werden, da diese derzeit in Gebrauch ist.
|
||||
nslice_erange=Startblock muss kleiner als der Endblock sein
|
||||
dpart_deleting=Lösche Partition $1 ..
|
||||
part_fsckdesc=Klicke auf diese Taste, um das UFS-Dateisystem auf diesem Gerät zu überprüfen und gefundene Fehler zu reparieren.
|
||||
part_deletedesc=Klicke auf diese Taste, um diese Partition aus dem Slice zu entfernen. Alle Daten auf der Partition werden für immer verloren sein.
|
||||
fsck_done=.. Prüfung abgeschlossen ohne Fehler zu finden
|
||||
npart_header=Neue Partition Details
|
||||
nslice_header=Neues Slice Details
|
||||
newfs_failed=.. erstellen fehlgeschlagen!
|
||||
slice_letter=Partition
|
||||
fsck_checking=Prüfe Dateisystem auf $1 ..
|
||||
index_dmodel=Marke und Modell
|
||||
disk_start=Startblock
|
||||
part_end=Endblock
|
||||
part_inuse=In Benutzung von $1
|
||||
log_fsck_part=Dateisystem auf der Partition $1 überprüft
|
||||
slice_use=Benutzt von
|
||||
newfs_free=Speicherplatz zum Reservieren für root
|
||||
dpart_failed=.. Löschen fehlgeschlagen : $1
|
||||
disk_blocks=<b>Blöcke:</b> $1
|
||||
npart_creating=Erstelle Partition $1 auf $2
|
||||
npart_err=Fehlgeschlagen Partition zu erstellen
|
||||
nslice_eend=Endblock muss eine Nummer sein
|
||||
part_foruse=Für den Einsatz von $1
|
||||
newfs_none=Keines
|
||||
newfs_elabel=Fehlendes oder ungültiges Label
|
||||
disk_title=Editiere Festplatte
|
||||
index_none=Keine Festplatten wurden auf diesem System gefunden!
|
||||
part_newmount=Mount Partition auf:
|
||||
log_delete_slice=Slice $1 gelöscht
|
||||
nslice_eclash=Ein Slice mit Nummer $1 existiert bereits
|
||||
dslice_title=Lösche Slice
|
||||
slice_type=Typ
|
||||
nslice_emax=Endblock kann nicht größer sein als Festplattengröße von $1 Blöcken
|
||||
dpart_warn=Warnung - diese Partition ist aktuell in Benutzung von $1
|
||||
slice_title=Editiere Slice
|
||||
npart_failed=.. Partition Erstellung fehlgeschlagen : $1
|
||||
newfs_trim=Aktiviere TRIM-Modus für SSDs
|
||||
disk_type=Typ
|
||||
newfs_label=Dateisystem Label
|
||||
part_type=Partitionstyp
|
||||
newfs_title=Erstelle Dateisystem
|
||||
disk_device=<b>Geräte-Datei:</b> $1
|
||||
nslice_parting=Erstelle Standard-Partitionen in Slice $1 auf $2 ..
|
||||
disk_dsize=<b>Festplattengröße:</b> $1
|
||||
newfs_efree=Speicherplatz zum Reservieren für root muss Prozent sein
|
||||
slice_sstart=Startender Block
|
||||
npart_diskblocks=Slice Größe in Blöcken
|
||||
index_dparts=Slices
|
||||
slice_egone=Ausgewähltes Slice existiert nicht!
|
||||
disk_model=<b>Marke und Modell:</b> $1
|
||||
nslice_makepart=Erstelle eine Standard-Partition?
|
||||
nslice_title=Erstelle Slice
|
||||
disk_none=Dieses Laufwerk hat bisher keine Slices.
|
||||
part_newfsdesc=Klicke auf diese Schaltfläche, um ein neues UFS-Dateisystem auf diesem Gerät zu erstellen. Alle Daten, die zuvor auf der Partition waren, werden gelöscht.
|
||||
nslice_pfailed=.. Partition Erstellung fehlgeschlagen : $1
|
||||
dpart_title=Lösche Partition
|
||||
nslice_creating=Erstelle Slice $1 auf $2 ..
|
||||
part_header=Partitionsdetails
|
||||
newfs_deffree=Standard (8%)
|
||||
newfs_creating=Erstelle Dateisystem auf $1 ..
|
||||
part_newmount2=Mount Partition
|
||||
part_nouse=Nichts
|
||||
newfs_header=Neues Dateisystem Details
|
||||
part_err=Fehlgeschlagen Partition zu speichern
|
||||
fsck_failed=.. Prüfung fehlgeschlagen!
|
||||
dpart_rusure=Sind Sie sicher, dass Sie die Partition $1 löschen möchten? Alle Dateisysteme in ihr werden ebenfalls gelöscht.
|
||||
dslice_warn=Warnung - Dieses Slice ist derzeit in Verwendung : $1
|
||||
slice_end=Endblock
|
||||
slice_send=Endblock
|
||||
log_create_slice=Slice $1 erstellt
|
||||
dslice_failed=.. löschen fehlgeschlagen : $1
|
||||
slice_none2=Dieses Slice hat keine Partitionen, und keines kann erstellt werden, solange es in Verwendung als Dateisystem ist.
|
||||
npart_done=.. Partition erstellt
|
||||
log_modify_slice=Slice $1 modifiziert
|
||||
index_dsize=Gesamtgröße
|
||||
part_delete=Lösche Partition
|
||||
slice_add=Eine neue Partition hinzufügen.
|
||||
dslice_deleting=Lösche Slice $1 ..
|
||||
npart_emax=Endblock kann nicht größer als die Slice Größe von $1 Blöcken sein
|
||||
fsck_err=Fehlgeschlagen Dateisystem zu prüfen
|
||||
disk_size=Größe
|
||||
slice_extent=Extent
|
||||
disk_smart=Zeige SMART Status
|
||||
nslice_err=Fehlgeschlagen Slice zu erstellen
|
||||
newfs_err=Fehlgeschlagen Dateisystem zu erstellen
|
||||
dslice_rusure=Sind Sie sicher, dass Sie den Slice $1 löschen möchten? Alle Partitionen und Dateisysteme in ihm werden ebenfalls gelöscht.
|
||||
slice_start=Startblock
|
||||
disk_use=Benutzt von
|
||||
part_return=Partitionsdetails
|
||||
part_size=Partitionsgröße
|
||||
part_start=Startblock
|
||||
part_title=Editiere Partition
|
||||
part_type=Partitionstyp
|
||||
part_use=Aktuell benutzt von
|
||||
select_device=$1 Gerät $2
|
||||
disk_iscsi=iSCSI geteiltes Gerät $1
|
||||
nslice_done=.. Slice hinzugefügt
|
||||
disk_no=Slice
|
||||
index_return=Liste an Festplatten
|
||||
nslice_number=Slice Nummer
|
||||
select_part=$1 Gerät $2 Slice $3 Partition $4
|
||||
select_slice=$1 Gerät $2 Slice $3
|
||||
slice_add=Eine neue Partition hinzufügen.
|
||||
slice_delete=Lösche Slice
|
||||
log_delete_part=Partition $1 gelöscht
|
||||
part_nouse=Nichts
|
||||
disk_free=Freier Speicher
|
||||
slice_deletedesc=Lösche diesen Slice und alle Partitionen und Dateisysteme innerhalb. Alle Daten auf diesem Dateisystem werden mit ziemlicher Sicherheit nicht wiederhergestellt werden können.
|
||||
slice_egone=Ausgewähltes Slice existiert nicht!
|
||||
slice_end=Endblock
|
||||
slice_err=Fehlgeschlagen Slice zu modifizieren
|
||||
slice_extent=Extent
|
||||
slice_header=Slice Details
|
||||
slice_letter=Partition
|
||||
slice_none=Dieses Slice hat bisher keine Partitionen.
|
||||
slice_none2=Dieses Slice hat keine Partitionen, und keines kann erstellt werden, solange es in Verwendung als Dateisystem ist.
|
||||
slice_return=Slice Details und Liste an Partitionen
|
||||
part_esave=Aktuell benutzt von $1
|
||||
part_start=Startblock
|
||||
fsck_title=Prüfe Dateisystem
|
||||
part_mountmsg2=Mount dieses Gerät als virtuellen Speicher auf Ihrem System, um die Menge des verfügbaren Speichers zu erhöhen.
|
||||
disk_smartdesc=Zeigt den aktuellen Status dieses Laufwerk wie von SMART erkannt, und überprüft auf Festplattenfehler.
|
||||
slice_sactive=Aktiv Slice?
|
||||
slice_sblocks=Anzahl an Blöcken
|
||||
slice_send=Endblock
|
||||
slice_size=Größe
|
||||
slice_ssize=Slice Größe
|
||||
slice_sstart=Startender Block
|
||||
slice_start=Startblock
|
||||
slice_stype=Slice Typ
|
||||
npart_letter=Partition Buchstabe
|
||||
slice_suse=Direkt benutzt von
|
||||
slice_title=Editiere Slice
|
||||
slice_type=Typ
|
||||
slice_use=Benutzt von
|
||||
select_slice=$1 Gerät $2 Slice $3
|
||||
nslice_failed=.. Slice Erstellung fehlgeschlagen : $1
|
||||
disk_egone=Festplatte existiert nicht länger!
|
||||
part_use=Aktuell benutzt von
|
||||
slice_header=Slice Details
|
||||
disk_extent=Extent
|
||||
log_modify_part=Partition $1 modifiziert
|
||||
slice_return=Slice Details und Liste an Partitionen
|
||||
nslice_pdone=.. Partition erstellt
|
||||
nslice_start=Startblock
|
||||
newfs_done=.. erstellen erfolgreich
|
||||
nslice_end=Endblock
|
||||
part_title=Editiere Partition
|
||||
disk_return=Festplattendetails und Liste an Slices
|
||||
part_fsck=Prüfe Dateisystem
|
||||
slice_stype=Slice Typ
|
||||
npart_eletter=Partition Nummer muss ein Buchstabe von A bis D sein
|
||||
nslice_type=Neuer Slice Typ
|
||||
index_title=Partitionen auf lokalen Festplatten
|
||||
slice_delete=Lösche Slice
|
||||
slice_size=Größe
|
||||
dslice_confirm=Jetzt löschen
|
||||
log_create_part=Partition $1 erstellt
|
||||
dslice_done=.. fertig
|
||||
disk_end=Endblock
|
||||
part_egone=Partition existiert nicht länger!
|
||||
npart_title=Erstelle Partition
|
||||
slice_sblocks=Anzahl an Blöcken
|
||||
nslice_diskblocks=Festplattengröße in Blöcken
|
||||
disk_add=Füge ein neues Slice hinzu.
|
||||
index_problem=Dieses Modul kann nicht verwendet werden : $1
|
||||
disk_vm=Virtueller Speicher
|
||||
select_device=$1 Gerät $2
|
||||
dpart_confirm=Lösche Jetzt
|
||||
nslice_estart=Startblock muss eine Nummer sein
|
||||
dpart_done=.. fertig
|
||||
|
||||
@@ -6,3 +6,4 @@ desc_de=Partitionen auf lokalen Festplatten
|
||||
longdesc=Create and edit paritions on local SCSI and IDE disks on FreeBSD.
|
||||
longdesc_de=Erstellt und bearbeitet Partitionen auf lokalen SCSI- und IDE-Festplatten auf FreeBSD.
|
||||
desc_ca=Particions dels Discs Locals
|
||||
longdesc_ca=Crea i edita les particions de discs locals SCSI i IDE a FreeBSD.
|
||||
|
||||
@@ -28,3 +28,4 @@ longdesc_ms_MY=Burn data CD dari imej ISO atau direktori yang dipilih.
|
||||
desc_ms_MY=CD Burner
|
||||
longdesc_de=Brennt Daten-CD von ISO-images oder ausgewählten Verzeichnissen.
|
||||
longdesc_pl=Nagrywaj dane na CD z obrazów ISO lub wybranych katalogów.
|
||||
longdesc_ca=Torra CDs de dades a partir d'imatges ISO o directoris seleccionats.
|
||||
|
||||
192
certmgr/certmgr-lib.pl
Executable file → Normal file
192
certmgr/certmgr-lib.pl
Executable file → Normal file
@@ -60,7 +60,8 @@ sub print_sign_form {
|
||||
print &ui_table_start($text{'signcsr_header'}, undef, 2);
|
||||
print &ui_table_row($text{'signcsr_csrfile'}, &ui_textbox("csrfile", $in{'csrfile'}, 40), undef, $valign_middle);
|
||||
print &ui_table_row($text{'signcsr_signfile'}, &ui_textbox("signfile", $in{'signfile'}, 40), undef, $valign_middle);
|
||||
print &ui_table_row($text{'signcsr_keyfile'}, &ui_textbox("keycertfile", $in{'keycertfile'}, 40), undef, $valign_middle);
|
||||
print &ui_table_row($text{'signcsr_keycertfile'}, &ui_textbox("cacertfile", $in{'cacertfile'}, 40), undef, $valign_middle);
|
||||
print &ui_table_row($text{'signcsr_keyfile'}, &ui_textbox("cakeyfile", $in{'cakeyfile'}, 40), undef, $valign_middle);
|
||||
print &ui_table_row(&ui_link("/help.cgi/certmgr/signcsr_ca_pass",
|
||||
"<b>$text{'signcsr_ca_passphrase'}</b>", undef,
|
||||
"onClick='window.open(\"/help.cgi/certmgr/signcsr_ca_pass\", \"help\", \"toolbar=no,menubar=no,scrollbars=yes,width=400,height=300,resizable=yes\"); return false;'"),
|
||||
@@ -77,9 +78,12 @@ sub show_cert_info {
|
||||
my $certdata=$_[1];
|
||||
my %issuer;
|
||||
my %subject;
|
||||
my %v3ext;
|
||||
my $isreq=0;
|
||||
my @gr;
|
||||
my @fields=('CN','O','OU','L','ST','C');
|
||||
my $field;
|
||||
my $rv = "";
|
||||
if ($certdata=~/^\s*Certificate\s+Request:.*$/mi) {$isreq=1;}
|
||||
foreach $field (@fields){
|
||||
if ($certdata=~/^\s*Issuer:.*?\s+$field=(.*?)(, [A-Z]{1,2}|\/\w+=|$)/m) { $issuer{$field}=$1; }
|
||||
if ($certdata=~/^\s*Subject:.*?\s+$field=(.*?)(, [A-Z]{1,2}|\/\w+=|$)/m) { $subject{$field}=$1; }
|
||||
@@ -89,10 +93,19 @@ sub show_cert_info {
|
||||
if ($certdata=~/^\s*Subject:.*?\/Email=(\S*?)(,\s*|$)/m) { $subject{'emailAddress'}=$1;}
|
||||
if ($certdata=~/^\s*Not\s*After\s*:\s*(.*?)\s*$/m) { $subject{'expires'}=$1;}
|
||||
if ($certdata=~/^\s*Not\s*Before\s*:\s*(.*?)\s*$/m) { $subject{'issued'}=$1;}
|
||||
if ($certdata=~/^\s*MD5\s*Fingerprint=(.*?)\s*$/m) { $subject{'md5fingerprint'}=$1;}
|
||||
if ($certdata=~/^\s*(\S*)\s*Public\s*Key:\s*\((.*?)\s*bit\)\s*$/m) { $subject{'keytype'}=$1; $subject{'keysize'}=$2;}
|
||||
if ($certdata=~/^\s*Modulus\s*\(\d*\s*bit\):\s*((([0-9a-fA-F]{2}:)*\s*)*[0-9a-fA-F]{2})/ms) { $subject{'modulus'}=$1; }
|
||||
if ($certdata=~/^\s*MD5\s+Fingerprint=(.*?)\s*$/m) { $subject{'md5fingerprint'}=$1;}
|
||||
if ($certdata=~/^\s*SHA1\s+Fingerprint=(.*?)\s*$/m) { $subject{'sha1fingerprint'}=$1;}
|
||||
if ($certdata=~/^\s*SHA256\s+Fingerprint=(.*?)\s*$/m) { $subject{'sha256fingerprint'}=$1;}
|
||||
if ($certdata=~/^\s*Public\s+Key\s+Algorithm:\s*(.*?)\s*$/mi) { $subject{'keytype'}=$1;}
|
||||
if ($certdata=~/^\s*Public-Key:\s*\(\s*(\S*?)\s*bit\s*\)\s*$/m) { $subject{'keysize'}=$1;}
|
||||
if ($certdata=~/^\s*Modulus:\s*((([0-9a-fA-F]{2}:)*\s*)*[0-9a-fA-F]{2})/ms) { $subject{'modulus'}=$1; }
|
||||
if ($certdata=~/^\s*Exponent:\s*(.*?)\s*?$/m) { $subject{'exponent'}=$1; }
|
||||
if ($certdata=~/^\s*X509v3 Subject Alternative Name:\s*(.*?)\s*?$/m) { $v3ext{'san'}=$1; }
|
||||
if ($certdata=~/^\s*Serial\s+Number:\s*((([0-9a-fA-F]{2}:)*\s*)*[0-9a-fA-F]{2})\s+/ms) { $subject{'serial'}=$1;}
|
||||
if (!$subject{'serial'}) {
|
||||
if ($certdata=~/^\s*Serial\s+Number:\s*([0-9]+)\s*\(/ms) { $subject{'serial'}=$1;}
|
||||
}
|
||||
if ($certdata=~/^\s*Signature\s+Algorithm:\s*(.*)$/mi) { $subject{'sigalgorithm'}=$1;}
|
||||
if ($subject{'L'} && ($subject{'ST'} || $subject{'C'})) {$subject{'L'}.=',';} #Append commas
|
||||
if ($subject{'ST'} && $subject{'C'}) {$subject{'ST'}.=',';} #Append commas
|
||||
if ($issuer{'L'} && ($issuer{'ST'} || $issuer{'C'})) {$issuer{'L'}.=',';} #Append commas
|
||||
@@ -100,30 +113,86 @@ sub show_cert_info {
|
||||
$subject{'modulus'}=~s/$/<\/code><br>/msg;
|
||||
$subject{'modulus'}=~s/^/<code>/msg;
|
||||
$subject{'modulus'}=~s/\s+//msg;
|
||||
$rv .= "<table width=100%>\n";
|
||||
$rv .= "<tr><td width=50%><b>$text{'certmgrlib_subject'}</b></td><td width=50%><b>$text{'certmgrlib_issuer'}</b></td></tr>\n";
|
||||
$rv .= "<tr><td>$subject{'CN'}</td><td>$issuer{'CN'}</td></tr>\n";
|
||||
$rv .= "<tr><td>$subject{'O'}</td><td>$issuer{'O'}</td></tr>\n";
|
||||
$rv .= "<tr><td>$subject{'OU'}</td><td>$issuer{'OU'}</td></tr>\n";
|
||||
$rv .= "<tr><td>$subject{'L'} $subject{'ST'} $subject{'C'}</td><td>$issuer{'L'} $issuer{'ST'} $issuer{'C'}</td></tr>\n";
|
||||
$rv .= "<tr><td>$subject{'emailAddress'}</td><td>$issuer{'emailAddress'}</td></tr>\n";
|
||||
|
||||
push(@gr, '<span style="font-weight:bold;">'.$text{'certmgrlib_subject'}.'</span>');
|
||||
push(@gr, '');
|
||||
push(@gr, $text{'view_cn'});
|
||||
push(@gr, $subject{'CN'});
|
||||
if ($subject{'O'}) {
|
||||
push(@gr, $text{'view_o'});
|
||||
push(@gr, $subject{'O'});
|
||||
}
|
||||
if ($subject{'OU'}){
|
||||
push(@gr, $text{'view_ou'});
|
||||
push(@gr, $subject{'OU'});
|
||||
}
|
||||
if ($subject{'L'} || $subject{'ST'} || $subject{'C'}) {
|
||||
push(@gr, $text{'view_location'});
|
||||
push(@gr, $subject{'L'}.$subject{'ST'}.$subject{'C'});
|
||||
}
|
||||
if ($subject{'emailAddress'}){
|
||||
push(@gr, $text{'view_email'});
|
||||
push(@gr, $subject{'emailAddress'});
|
||||
}
|
||||
if ($v3ext{'san'}){
|
||||
push(@gr, "subjectAltName");
|
||||
push(@gr, $v3ext{'san'});
|
||||
}
|
||||
if ($subject{'issued'}){
|
||||
$rv .= "<tr><td colspan=2>$text{'issued_on'} $subject{'issued'}</td></tr>\n";
|
||||
$rv .= "<tr><td colspan=2>$text{'expires_on'} $subject{'expires'}</td></tr>\n";
|
||||
}
|
||||
if ($full){
|
||||
$rv .= "<tr><td>$text{'keysize'}</td><td>$subject{'keysize'}</td></tr>\n";
|
||||
$rv .= "<tr><td>$text{'keytype'}</td><td>$subject{'keytype'}</td></tr>\n";
|
||||
}
|
||||
if ($full){
|
||||
$rv .= "<tr><td>$text{'publicExponent'}</td><td>$subject{'exponent'}</td></tr>\n";
|
||||
$rv .= "<tr><td colspan=2>$text{'modulus'}:<br>$subject{'modulus'}</td></tr>\n";
|
||||
push(@gr, $text{'issued_on'});
|
||||
push(@gr, $subject{'issued'});
|
||||
push(@gr, $text{'expires_on'});
|
||||
push(@gr, $subject{'expires'});
|
||||
}
|
||||
if ($subject{'md5fingerprint'}){
|
||||
$rv .= "<tr><td colspan=2>$text{'md5fingerprint'}:<br>$subject{'md5fingerprint'}</td></tr>\n";
|
||||
push(@gr, $text{'md5fingerprint'});
|
||||
push(@gr, $subject{'md5fingerprint'});
|
||||
}
|
||||
$rv .= "</table>\n";
|
||||
return $rv;
|
||||
if ($subject{'sha1fingerprint'}){
|
||||
push(@gr, $text{'sha1fingerprint'});
|
||||
push(@gr, $subject{'sha1fingerprint'});
|
||||
}
|
||||
if ($subject{'sha256fingerprint'}){
|
||||
push(@gr, $text{'sha256fingerprint'});
|
||||
push(@gr, $subject{'sha256fingerprint'});
|
||||
}
|
||||
if ($full) {
|
||||
if ($subject{'serial'}) {
|
||||
push(@gr, $text{'view_serial'});
|
||||
push(@gr, $subject{'serial'});
|
||||
}
|
||||
if ($subject{'sigalgorithm'}) {
|
||||
push(@gr, $text{'view_sig_algorithm'});
|
||||
push(@gr, $subject{'sigalgorithm'});
|
||||
}
|
||||
push(@gr, $text{'keysize'});
|
||||
push(@gr, $subject{'keysize'});
|
||||
push(@gr, $text{'keytype'});
|
||||
push(@gr, $subject{'keytype'});
|
||||
push(@gr, $text{'publicExponent'});
|
||||
push(@gr, $subject{'exponent'});
|
||||
push(@gr, $text{'modulus'});
|
||||
push(@gr, $subject{'modulus'});
|
||||
}
|
||||
if (!$isreq) {
|
||||
push(@gr, '<br /><span style="font-weight:bold;">'.$text{'certmgrlib_issuer'}.'</span>');
|
||||
push(@gr, '');
|
||||
push(@gr, $text{'view_cn'});
|
||||
push(@gr, $issuer{'CN'});
|
||||
if ($issuer{'O'}) {
|
||||
push(@gr, $text{'view_o'});
|
||||
push(@gr, $issuer{'O'});
|
||||
}
|
||||
if ($issuer{'OU'}){
|
||||
push(@gr, $text{'view_ou'});
|
||||
push(@gr, $issuer{'OU'});
|
||||
}
|
||||
if ($issuer{'L'} || $issuer{'ST'} || $issuer{'C'}) {
|
||||
push(@gr, $text{'view_location'});
|
||||
push(@gr, $issuer{'L'}.$issuer{'ST'}.$issuer{'C'});
|
||||
}
|
||||
}
|
||||
return &ui_grid_table(\@gr, 2, undef, ['style="padding:0;"', 'style="padding:0 0 0.5% 3%;width:75%;"']);
|
||||
}
|
||||
|
||||
sub show_key_info {
|
||||
@@ -155,6 +224,79 @@ sub show_key_info {
|
||||
return $rv;
|
||||
}
|
||||
|
||||
sub show_crl_info {
|
||||
my $full=$_[0];
|
||||
my $crldata=$_[1];
|
||||
my %issuer;
|
||||
my %v3ext;
|
||||
my ($ndx, $pos);
|
||||
my $isreq=0;
|
||||
my @gr;
|
||||
my @fields=('CN','O','OU','L','ST','C');
|
||||
my $field;
|
||||
foreach $field (@fields){
|
||||
if ($crldata=~/^\s*Issuer:.*?\/$field=(.*?)(, [A-Z]{1,2}|\/\w+=|$)/m) { $issuer{$field}=$1; }
|
||||
}
|
||||
if ($crldata=~/^\s*Signature\s+Algorithm:\s*(.*)$/mi) { $issuer{'sigalgorithm'}=$1;}
|
||||
if ($crldata=~/^\s*Last\s+Update:\s*(.*?)\s*?$/m) { $v3ext{'lastupdate'}=$1; }
|
||||
if ($crldata=~/^\s*Next\s+Update:\s*(.*?)\s*?$/m) { $v3ext{'nextupdate'}=$1; }
|
||||
if ($crldata=~/^\s*X509v3 CRL Number:\s*(.*?)\s*?$/m) { $v3ext{'crlnum'}=$1; }
|
||||
if ($issuer{'L'} && ($issuer{'ST'} || $issuer{'C'})) {$issuer{'L'}.=',';} #Append commas
|
||||
if ($issuer{'ST'} && $issuer{'C'}) {$issuer{'ST'}.=',';} #Append commas
|
||||
push(@gr, '<span style="font-weight:bold;">'.$text{'crl'}.'</span>');
|
||||
push(@gr, '');
|
||||
push(@gr, $text{'view_cn'});
|
||||
push(@gr, $issuer{'CN'});
|
||||
if ($issuer{'O'}) {
|
||||
push(@gr, $text{'view_o'});
|
||||
push(@gr, $issuer{'O'});
|
||||
}
|
||||
if ($issuer{'OU'}){
|
||||
push(@gr, $text{'view_ou'});
|
||||
push(@gr, $issuer{'OU'});
|
||||
}
|
||||
if ($issuer{'L'} || $issuer{'ST'} || $issuer{'C'}) {
|
||||
push(@gr, $text{'view_location'});
|
||||
push(@gr, $issuer{'L'}.$issuer{'ST'}.$issuer{'C'});
|
||||
}
|
||||
if ($issuer{'sigalgorithm'}) {
|
||||
push(@gr, $text{'view_sig_algorithm'});
|
||||
push(@gr, $issuer{'sigalgorithm'});
|
||||
}
|
||||
if ($v3ext{'lastupdate'}) {
|
||||
push(@gr, $text{'view_last_update'});
|
||||
push(@gr, $v3ext{'lastupdate'});
|
||||
}
|
||||
if ($v3ext{'nextupdate'}) {
|
||||
push(@gr, $text{'view_next_update'});
|
||||
push(@gr, $v3ext{'nextupdate'});
|
||||
}
|
||||
if ($v3ext{'crlnum'}) {
|
||||
push(@gr, $text{'view_crl_number'});
|
||||
push(@gr, $v3ext{'crlnum'});
|
||||
}
|
||||
if ($full) {
|
||||
push(@gr, "$text{'view_revoked_certs'}:");
|
||||
push(@gr, "");
|
||||
$ndx = index($crldata, "Serial Number:");
|
||||
while ($ndx gt 0) {
|
||||
$crldata = substr($crldata, $ndx);
|
||||
$crldata=~/^\s*Serial Number:\s*(.*)$/mi;
|
||||
push(@gr, "<span style=\"padding-left:10%;\">$text{'view_serial'}</span>");
|
||||
push(@gr, $1);
|
||||
$crldata=~/^\s*Revocation Date:\s*(.*)$/mi;
|
||||
push(@gr, "<span style=\"padding-left:10%;\">$text{'view_revoke_date'}</span>");
|
||||
push(@gr, $1);
|
||||
$crldata=~/^\s*X509v3 CRL Reason Code:\s*(.*)$/mi;
|
||||
push(@gr, "<span style=\"padding-left:10%;\">$text{'view_revoke_reason'}</span>");
|
||||
push(@gr, $1);
|
||||
$ndx = index($crldata, "Serial Number:", $ndx + 1);
|
||||
}
|
||||
}
|
||||
|
||||
return &ui_grid_table(\@gr, 2, undef, ['style="padding:0;"', 'style="padding:0 0 0.5% 3%;width:65%;"']);
|
||||
}
|
||||
|
||||
sub pem_or_der{
|
||||
my $filename=$_[0];
|
||||
my $filetype=$_[1];
|
||||
|
||||
@@ -103,12 +103,15 @@ prime1=Primzahl 1
|
||||
prime2=Primzahl 2
|
||||
privateExponent=Privater Exponent
|
||||
publicExponent=Öffentlicher Exponent
|
||||
sha1fingerprint=SHA-1 Fingerprint
|
||||
sha256fingerprint=SHA-256 Fingerprint
|
||||
signcsr_ca_passphrase=CA Passphrase
|
||||
signcsr_csrfile=CSR Dateiname
|
||||
signcsr_days=Anzahl der Tage der Zertifizierung für
|
||||
signcsr_desc=Auf dieser Seite können Sie eine signiertes CSR von jemand anderem mit einem eigenen privaten Schlüssel signieren.
|
||||
signcsr_e_nocsrfile=Keinen CSR Dateinamen eingegeben
|
||||
signcsr_e_nokeyfile=Kein CA privater Schlüssel oder Zertifikats-Datei eingegeben
|
||||
signcsr_e_nopassword=Es wurde kein CA-Kennwort eingegeben
|
||||
signcsr_e_nosignfile=Kein signiertes Zertifikats-Dateiname eingegeben
|
||||
signcsr_e_signfailed=Fehler, signiertes Zertifikat nicht generiert
|
||||
signcsr_generate=Signiere Zertifikat
|
||||
@@ -121,13 +124,26 @@ signcsr_title=Signiere Certificate Signing Request
|
||||
signcsr_worked=Signiere Zertifikat generiert
|
||||
st=Staat oder Provinz (vollständiger Name)
|
||||
view_choose=Wähle
|
||||
view_cn=Common Name
|
||||
view_crl_number=CRL Nummer
|
||||
view_delete=Lösche
|
||||
view_deleted=Datei erfolgreich gelöscht
|
||||
view_download=Download
|
||||
view_e_nofile=Datei nicht gefunden oder ist keine normale Datei
|
||||
view_e_not_deleted=Fehler: Problem beim Löschen der Datei
|
||||
view_email=E-Mail-Adresse
|
||||
view_last_update=Letztes Update
|
||||
view_location=Lokalität
|
||||
view_next_update=Weiter Update
|
||||
view_o=Organisationsname
|
||||
view_ou=Organisationseinheit Name
|
||||
view_pkcs12=Als PKCS12, mit Passwort:
|
||||
view_revoke_date=Widerrufsdatum
|
||||
view_revoke_reason=Widerrufsgrund
|
||||
view_revoked_certs=Widerrufsbescheinigungen
|
||||
view_select=Bitte wähle eine Datei zum Anzeigen
|
||||
view_serial=Ordnungsnummer
|
||||
view_sig_algorithm=Signaturalgorithmus
|
||||
view_title=Zeige Zertifikat/CSR/Schlüssel
|
||||
view_update=Aktualisieren
|
||||
view_view=Zeige
|
||||
|
||||
16
certmgr/lang/en
Executable file → Normal file
16
certmgr/lang/en
Executable file → Normal file
@@ -20,6 +20,8 @@ keytype=Key Type
|
||||
issued_on=Issued on
|
||||
expires_on=Expires on
|
||||
md5fingerprint=MD5 Fingerprint
|
||||
sha1fingerprint=SHA-1 Fingerprint
|
||||
sha256fingerprint=SHA-256 Fingerprint
|
||||
|
||||
modulus=Modulus (from public key)
|
||||
publicExponent=Public Exponent
|
||||
@@ -102,6 +104,19 @@ view_deleted=File deleted sucessfully
|
||||
view_e_not_deleted=Error: Problem deleting file
|
||||
view_e_nofile=File not found or not a regular file
|
||||
view_wildcard=File Wildcard
|
||||
view_cn=Common Name
|
||||
view_o=Organization
|
||||
view_ou=Organization Unit
|
||||
view_email=Email Address
|
||||
view_location=Location
|
||||
view_serial=Serial Number
|
||||
view_sig_algorithm=Signature Algorithm
|
||||
view_last_update=Last Update
|
||||
view_next_update=Next Update
|
||||
view_revoked_certs=Revoked Certificates
|
||||
view_revoke_date=Revocation Date
|
||||
view_revoke_reason=Revocation Reason
|
||||
view_crl_number=CRL Number
|
||||
|
||||
import_title=Import Key or Signed Certificate
|
||||
import_e_nodir=No directory selected
|
||||
@@ -135,6 +150,7 @@ signcsr_generate=Sign Certificate
|
||||
signcsr_e_nocsrfile=No CSR filename entered
|
||||
signcsr_e_nosignfile=No signed certificate filename entered
|
||||
signcsr_e_nokeyfile=No CA private key file or certificate file entered
|
||||
signcsr_e_nopassword=No CA private key password entered
|
||||
signcsr_e_signfailed=Error, signed certificate not generated
|
||||
signcsr_worked=Signed certificate generated
|
||||
signcsr_saved_cert=The certificate was saved as
|
||||
|
||||
39
certmgr/lang/es
Executable file → Normal file
39
certmgr/lang/es
Executable file → Normal file
@@ -20,6 +20,8 @@ keytype=Tipo de llave
|
||||
issued_on=Fecha de certificación
|
||||
expires_on=Fecha de vencimiento
|
||||
md5fingerprint=Huella dactilar MD5
|
||||
sha1fingerprint=Huella dactilar SHA-1
|
||||
sha256fingerprint=Huella dactilar SHA-256
|
||||
|
||||
modulus=Modulus (del llave publico)
|
||||
publicExponent=Exponente Publico
|
||||
@@ -86,17 +88,30 @@ manage_decrypt=Decrypt Private Key
|
||||
manage_changepw=Change Password of Private Key
|
||||
manage_delete=Delete Certificate
|
||||
|
||||
view_title=View Certificate/CSR/Key
|
||||
view_view=View
|
||||
view_update=Update
|
||||
view_download=Download
|
||||
view_delete=Delete
|
||||
view_select=Please select a file to view
|
||||
view_choose=Choose
|
||||
view_deleted=File deleted sucessfully
|
||||
view_e_not_deleted=Error: Problem deleting file
|
||||
view_e_nofile=File not found or not a regular file
|
||||
view_wildcard=File Wildcard
|
||||
view_title=Ver el Certificado/CSR/Key
|
||||
view_view=Ver
|
||||
view_update=Actualizar
|
||||
view_download=Descargar
|
||||
view_delete=Borrar
|
||||
view_select=Por favor seleccione un archivo para ver
|
||||
view_choose=Escoger
|
||||
view_deleted=Archivo eliminado correctamente
|
||||
view_e_not_deleted=Error: Problema al eliminar el archivo
|
||||
view_e_nofile=Archivo no encontrado o no es un archivo regular
|
||||
view_wildcard=Archivo comodín
|
||||
view_cn=Nombre Común
|
||||
view_o=Organización
|
||||
view_ou=Unidad de Organización
|
||||
view_email=Dirección de email
|
||||
view_location=Locación
|
||||
view_serial=número de serie
|
||||
view_sig_algorithm=Algoritmo de firma
|
||||
view_last_update=última actualización
|
||||
view_next_update=Siguiente actualización
|
||||
view_revoked_certs=Certificados revocados
|
||||
view_revoke_date=Fecha de revocación
|
||||
view_revoke_reason=Razón de revocación
|
||||
view_crl_number=Número CRL
|
||||
|
||||
import_title=Import Key or Signed Certificate
|
||||
import_e_nodir=No directory selected
|
||||
@@ -114,3 +129,5 @@ import_upload_cert=Upload Certificate
|
||||
import_key_file=Key file to upload
|
||||
import_key_destination=Destination directory of key
|
||||
import_upload_key=Upload Key
|
||||
|
||||
signcsr_e_nopassword=No CA private key password entered
|
||||
|
||||
@@ -4,3 +4,4 @@ desc=PKI Certificate and Key Management
|
||||
name=certmgr
|
||||
version=1.8
|
||||
desc_de=PKI-Zertifikat und Schlüssel-Management
|
||||
desc_no=PKI Sertifikater og nøkler
|
||||
|
||||
36
certmgr/signcsr.cgi
Executable file → Normal file
36
certmgr/signcsr.cgi
Executable file → Normal file
@@ -15,7 +15,10 @@ if ($in{'submitted'} eq "sign") {
|
||||
if (!$in{'signfile'}) {
|
||||
$error.=$text{'signcsr_e_nosignfile'}."<br>\n";
|
||||
}
|
||||
if (!$in{'keyfile'} || !$in{'keycertfile'}) {
|
||||
if (!$in{'cakeyfile'}) {
|
||||
$error.=$text{'signcsr_e_nokeyfile'}."<br>\n";
|
||||
}
|
||||
if (!$in{'cacertfile'}) {
|
||||
$error.=$text{'signcsr_e_nokeyfile'}."<br>\n";
|
||||
}
|
||||
if (!$error) {
|
||||
@@ -27,8 +30,8 @@ if ($in{'submitted'} eq "sign") {
|
||||
$config{'incsr_filename'}; }
|
||||
if (!$in{'signfile'}) { $in{'signfile'}=$config{'ssl_cert_dir'}."/".
|
||||
$config{'sign_filename'}; }
|
||||
if (!$in{'keyfile'}) { $in{'keyfile'}=$config{'cakey_path'}; }
|
||||
if (!$in{'keycertfile'}) { $in{'keycertfile'}=$config{'cacert_path'};}
|
||||
if (!$in{'cacertfile'}) { $in{'cacertfile'}=$config{'cacert_path'}; }
|
||||
if (!$in{'cakeyfile'}) { $in{'cakeyfile'}=$config{'cakey_path'}; }
|
||||
if (!$in{'days'}) { $in{'days'}=$config{'default_days'}; }
|
||||
}
|
||||
|
||||
@@ -45,10 +48,12 @@ print &ui_hr();
|
||||
sub process{
|
||||
&foreign_require("webmin", "webmin-lib.pl");
|
||||
local %miniserv;
|
||||
local ($tempdir, $des, $out, $url);
|
||||
local $error=0;
|
||||
&get_miniserv_config(\%miniserv);
|
||||
if (!$miniserv{'ca'}) {
|
||||
&webmin::setup_ca();
|
||||
}
|
||||
}
|
||||
if ((-e $in{'signfile'})&&($in{'overwrite'} ne "yes")) {
|
||||
&overwriteprompt();
|
||||
print &ui_hr();
|
||||
@@ -57,11 +62,19 @@ sub process{
|
||||
}
|
||||
$tempdir = &tempname();
|
||||
mkdir($tempdir, 0700);
|
||||
if ($in{'password'}){ $des="-passin pass:".quotemeta($in{'password'}); }
|
||||
$out = `yes | $config{'openssl_cmd'} ca -in $in{'csrfile'} -out $in{'signfile'} -cert $in{'keycertfile'} -keyfile $in{'keyfile'} -outdir $tempdir -days $in{'days'} -config $config_directory/acl/openssl.cnf $des 2>&1`;
|
||||
if (keyfile_is_encrypted($in{'cakeyfile'})) {
|
||||
if ($in{'password'}) { $des="-passin pass:".quotemeta($in{'password'}); }
|
||||
else {
|
||||
print "<b>$text{'signcsr_e_signfailed'}</b>\n<pre>$text{'signcsr_e_nopassword'}</pre>\n";
|
||||
print &ui_hr();
|
||||
&footer("", $text{'index_return'});
|
||||
exit;
|
||||
}
|
||||
}
|
||||
$out = `yes | $config{'openssl_cmd'} ca -in $in{'csrfile'} -out $in{'signfile'} -cert $in{'cacertfile'} -keyfile $in{'cakeyfile'} -outdir $tempdir -days $in{'days'} -config $config{'ssl_cnf_file'} $des 2>&1`;
|
||||
|
||||
system("rm -rf $tempdir");
|
||||
if (!-e $in{'csrfile'}) {
|
||||
if ($out =~ /^ERROR(.*$)/mi || $out =~ /:error:/mi) {
|
||||
$error=$out;
|
||||
} else{
|
||||
$error=0;
|
||||
@@ -109,3 +122,12 @@ sub overwriteprompt{
|
||||
print &ui_table_end();
|
||||
|
||||
}
|
||||
|
||||
sub keyfile_is_encrypted{
|
||||
my $key=$_[0];
|
||||
my $encrypted=0;
|
||||
open(KFILE,$key)||return(0);
|
||||
while(<KFILE>){ if (/^Proc.*ENCRYPTED.*$/mi) { $encrypted=1; last; } }
|
||||
close(KFILE);
|
||||
return($encrypted);
|
||||
}
|
||||
|
||||
36
certmgr/view.cgi
Executable file → Normal file
36
certmgr/view.cgi
Executable file → Normal file
@@ -38,12 +38,15 @@ if (($in{'filename'}) && ($in{'view'} eq $text{'view_view'})) {
|
||||
}
|
||||
while(<FILE>){ $buffer.=$_;}
|
||||
if ($buffer=~/^\s*-+BEGIN\s*RSA\s*PRIVATE\s*KEY-*\s*$/mi) { $key=1; }
|
||||
if ($buffer=~/^\s*-+BEGIN\s*PRIVATE\s*KEY-*\s*$/mi) { $key=1; }
|
||||
if ($buffer=~/^\s*-+BEGIN\s*CERTIFICATE-*\s*$/mi) { $cert=1; }
|
||||
if ($buffer=~/^\s*-+BEGIN\s*CERTIFICATE\s*REQUEST-*\s*$/mi) { $csr=1; }
|
||||
if ($buffer=~/^\s*-+BEGIN\s*X509\s*CRL-*\s*$/mi) { $crl=1; }
|
||||
if (($key)&&($cert)) {$in{'keycertfile'}=$in{'filename'};}
|
||||
elsif ($key) {$in{'keyfile'}=$in{'filename'};}
|
||||
elsif ($cert) {$in{'certfile'}=$in{'filename'};}
|
||||
elsif ($csr) {$in{'csrfile'}=$in{'filename'};}
|
||||
elsif ($crl) {$in{'crlfile'}=$in{'filename'};}
|
||||
else {
|
||||
print "$text{'e_file'}<br>\n$text{'e_notcert'}\n<p>\n";
|
||||
&footer("", $text{'index_return'});
|
||||
@@ -135,6 +138,25 @@ if ($in{'keycertfile'}) {
|
||||
exit;
|
||||
}
|
||||
|
||||
if ($in{'crlfile'}) {
|
||||
if ($in{'dl'} eq 'yes') {
|
||||
# Just output in PEM format
|
||||
&output_cert($in{'crlfile'});
|
||||
}
|
||||
|
||||
open(OPENSSL,"$config{'openssl_cmd'} crl -in $in{'crlfile'} -text -noout|");
|
||||
while(<OPENSSL>){ $buffer.=$_; }
|
||||
close(OPENSSL);
|
||||
|
||||
print &ui_table_start($in{'crlfile'}, "width=60%", 2);
|
||||
print &ui_table_row(undef, (!$buffer ? $text{'e_file'} : show_crl_info(1,$buffer) ) );
|
||||
print &ui_table_end()."<br>";
|
||||
&download_form("crlfile", $in{'crlfile'}, "CRL");
|
||||
print &ui_hr();
|
||||
&footer("", $text{'index_return'});
|
||||
exit;
|
||||
}
|
||||
|
||||
print &ui_form_start("view.cgi", "post");
|
||||
print &ui_table_start($text{'view_select'}, undef, 2);
|
||||
print &ui_table_row($text{'view_wildcard'}.": ".&ui_textbox("wildcard", $in{'wildcard'}), &ui_submit($text{'view_update'},"update"), undef, $valign_middle);
|
||||
@@ -194,12 +216,14 @@ $rv1 .= &ui_hidden($mode, $keyfile);
|
||||
$rv1 .= &ui_submit("$text{'view_download'} $suffix");
|
||||
$rv1 .= "</form>";
|
||||
|
||||
$rv2 = "<form id='view_p12filename' action='view.cgi/$p12filename' method=post>";
|
||||
$rv2 .= &ui_hidden("pkcs12", "yes");
|
||||
$rv2 .= &ui_hidden($mode, $keyfile);
|
||||
$rv2 .= &ui_submit("$text{'view_download'} $suffix $text{'view_pkcs12'}");
|
||||
$rv2 .= &ui_password("pass","",20);
|
||||
$rv2 .= "</form>";
|
||||
if ($mode ne "crlfile") {
|
||||
$rv2 = "<form id='view_p12filename' action='view.cgi/$p12filename' method=post>";
|
||||
$rv2 .= &ui_hidden("pkcs12", "yes");
|
||||
$rv2 .= &ui_hidden($mode, $keyfile);
|
||||
$rv2 .= &ui_submit("$text{'view_download'} $suffix $text{'view_pkcs12'}");
|
||||
$rv2 .= &ui_password("pass","",20);
|
||||
$rv2 .= "</form>";
|
||||
}
|
||||
|
||||
$rv3 = "<form id='view' action='view.cgi' method=post>";
|
||||
$rv3 .= &ui_hidden("delete", "yes");
|
||||
|
||||
@@ -8,6 +8,8 @@ require './change-user-lib.pl';
|
||||
our (%text, %in, %gconfig, $base_remote_user, %access);
|
||||
&ReadParse();
|
||||
|
||||
&ui_print_unbuffered_header(undef, $text{'change_title'}, "");
|
||||
|
||||
my @users = &acl::list_users();
|
||||
my ($user) = grep { $_->{'name'} eq $base_remote_user } @users;
|
||||
my $oldtheme = $user->{'theme'};
|
||||
@@ -74,7 +76,12 @@ if ($access{'pass'} && &can_change_pass($user) && !$in{'pass_def'}) {
|
||||
$user->{'temppass'} = 0;
|
||||
}
|
||||
|
||||
&ui_print_unbuffered_header(undef, $text{'change_title'}, "");
|
||||
if ($access{'theme'} &&
|
||||
($newtheme ne $oldtheme || $newoverlay ne $oldoverlay)) {
|
||||
if (defined(&theme_pre_change_theme)) {
|
||||
&theme_pre_change_theme();
|
||||
}
|
||||
}
|
||||
|
||||
print "$text{'change_user'}<br>\n";
|
||||
&acl::modify_user($user->{'name'}, $user);
|
||||
@@ -86,6 +93,9 @@ print "$text{'change_done'}<p>\n";
|
||||
|
||||
if ($access{'theme'} &&
|
||||
($newtheme ne $oldtheme || $newoverlay ne $oldoverlay)) {
|
||||
if (defined(&theme_post_change_theme)) {
|
||||
&theme_post_change_theme();
|
||||
}
|
||||
print "$text{'change_redirect'}<br>\n";
|
||||
print &js_redirect("/", "top");
|
||||
print "$text{'change_done'}<p>\n";
|
||||
|
||||
@@ -23,8 +23,8 @@ print &ui_table_start(undef, undef, 2);
|
||||
|
||||
if ($access{'lang'}) {
|
||||
# Show personal language
|
||||
my @langs = &list_languages();
|
||||
my $glang = $gconfig{"lang"} || $default_lang;
|
||||
my @langs = &list_languages($user->{'lang'} || $glang);
|
||||
my ($linfo) = grep { $_->{'lang'} eq $glang } @langs;
|
||||
print &ui_table_row($text{'index_lang'},
|
||||
&ui_radio("lang_def", $user->{'lang'} ? 0 : 1,
|
||||
|
||||
@@ -36,3 +36,4 @@ longdesc_hu=Webmin nyelvezet
|
||||
longdesc_ms_MY=Membolehkan pengguna Webmin untuk menukar bahasa, tema dan mungkin kata laluan.
|
||||
desc_ms_MY=Tukar Bahasa dan Tema
|
||||
longdesc_pl=Pozwala aktualnemu u¿ytkownikowi Webimina na zmianê jêzyka, motywu i has³a (o ile to mo¿liwe).
|
||||
longdesc_ca=Permet que l'usuari actual de Webmin es canviï el seu idioma, tema i, possiblement, contrasenya.
|
||||
|
||||
@@ -15,3 +15,4 @@ desc_hu=Cluster f
|
||||
longdesc_ms_MY=Jadualkan pemindahan fail dari pelayan ini ke pelayan yang lain dalam kluster Webmin.
|
||||
desc_ms_MY=Kluster Fail Salinan
|
||||
longdesc_pl=Zaplanowany transfer plików z tego serwera do innych serwerów w klastrze.
|
||||
longdesc_ca=Planifica la transferència de fitxers des d'aquest servidor a múltiples servidors d'un cluster Webmin.
|
||||
|
||||
@@ -16,3 +16,4 @@ desc_hu=Cluster id
|
||||
longdesc_ms_MY=Mencipta tugas Cron yang berjalan pada pelayan berganda secara serentak.
|
||||
desc_ms_MY=Kluster Tugas Cron
|
||||
longdesc_pl=Twórz zaplanowane zadania Cron, które zosatan± uruchomione na wielu serwerach równocze¶nie.
|
||||
longdesc_ca=Crea treballs Cron planificats que s'executen en múltiples servidors simultàniament.
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user