Compare commits

..

722 Commits
1.810 ... 1.850

Author SHA1 Message Date
Jamie Cameron
9dc7367dd6 Don't set bridge options that aren't defined 2017-06-24 15:39:12 -07:00
Jamie Cameron
1e8caabc50 Merge branch 'master' of git@github.com:webmin/webmin 2017-06-24 14:03:41 -07:00
Jamie Cameron
64720c97ab Don't overwrite old repo name https://github.com/webmin/webmin/issues/603 2017-06-24 14:01:30 -07:00
Jamie Cameron
94cdddf447 Merge pull request #602 from Jaybus2/master
certmgr: Updated view/manage to work with openssl > 0.9.8
2017-06-22 20:01:16 -07:00
Josh Fisher
460ea14a24 Updated view/manage to work with openssl > 0.9.8 2017-06-22 12:11:54 -04:00
Jamie Cameron
dcd0daac42 Error is not a valid warning level 2017-06-21 15:41:57 -07:00
Jamie Cameron
2ae5345117 Remove dupe string 2017-06-21 10:14:25 -07:00
Jamie Cameron
c87b5c6e3d New major version 2017-06-18 17:17:56 -07:00
Jamie Cameron
4fa781805f Further updates for Debian 9 stable 2017-06-18 16:46:52 -07:00
Jamie Cameron
95180b7f9d Completed port forwarding support 2017-06-17 16:23:23 -07:00
Jamie Cameron
379f7aaf0b Creation and deletion of forwards now working 2017-06-17 15:43:47 -07:00
Jamie Cameron
f79d1040f3 More work on firewalld forwarding support 2017-06-17 14:59:51 -07:00
Jamie Cameron
9c0d9268e1 Merge branch 'master' of git@github.com:webmin/webmin 2017-06-17 12:24:54 -07:00
Jamie Cameron
1cbe773f6f Also parse jail.d/*.local files https://github.com/webmin/webmin/issues/599 2017-06-17 12:24:22 -07:00
Jamie Cameron
27c09c00ec Merge pull request #600 from gnadelwartz/master
firewall: minimal support for ipset rules
2017-06-17 11:44:21 -07:00
Kay Marquardt (Gnadelwartz)
e69c6699ac update lang/en lang/de 2017-06-17 20:35:41 +02:00
Kay Marquardt (Gnadelwartz)
c419c339db locallizaion of ipset output 2017-06-17 20:22:08 +02:00
Kay Marquardt (Gnadelwartz)
835175b098 display ipset name, type, number, size 2017-06-17 19:58:01 +02:00
Kay Marquardt (Gnadelwartz)
7ebd6ae4fe read in ipset sets 2017-06-17 19:37:11 +02:00
Kay Marquardt (Gnadelwartz)
89b8c53666 list active ipsets in index.cgi 2017-06-17 18:05:36 +02:00
Kay Marquardt (Gnadelwartz)
94e8f32e47 generalize args processing and localize src dest 2017-06-17 17:26:11 +02:00
Kay Marquardt (Gnadelwartz)
1456de9649 lang string for source and destination 2017-06-17 16:58:44 +02:00
Kay Marquardt (Gnadelwartz)
9a445e00b9 display description for IP-Set Rules 2017-06-17 15:06:11 +02:00
Kay Marquardt (Gnadelwartz)
771050ba7c display description for IP-Set Rules 2017-06-17 15:05:10 +02:00
Jamie Cameron
2de661cfd7 Start of work on port forwarding 2017-06-16 19:47:53 -07:00
Jamie Cameron
0e774af597 Support GPT fdisk partitions 2017-06-16 19:47:28 -07:00
Jamie Cameron
c22e70a0d1 Merge branch 'master' of git@github.com:webmin/webmin 2017-06-16 19:14:17 -07:00
Jamie Cameron
0ee9cd2808 Use /proc/filesystems to check for support https://sourceforge.net/p/webadmin/bugs/4972/ 2017-06-16 18:48:41 -07:00
Joe Cooper
2b92ba535e Merge pull request #598 from swelljoe/master
Fix default zone detection

Merging to insure it makes it into the next release, as it's needed for VM6.
2017-06-15 13:45:36 -05:00
Joe cooper
0a765063c3 Probably don't need to fail if no default 2017-06-15 13:41:56 -05:00
Jamie Cameron
911f9fd46d Use correct zone even for cleanup 2017-06-15 13:30:21 -05:00
Jamie Cameron
c67c945e58 escape some params 2017-06-15 13:30:20 -05:00
Jamie Cameron
91f03a2109 Escape untrusted params 2017-06-15 13:30:20 -05:00
Jamie Cameron
5aed345808 Handle xz compressed files https://sourceforge.net/p/webadmin/bugs/4970/ 2017-06-15 13:30:20 -05:00
Kay Marquardt (Gnadelwartz)
34468b5eed display wrapper config-test results in check_inst.cgi 2017-06-15 13:30:20 -05:00
Kay Marquardt (Gnadelwartz)
6f581fb0f1 more transl check_inst.cgi 2017-06-15 13:30:20 -05:00
Kay Marquardt (Gnadelwartz)
4f497ea7b8 fix index_emdomdir=.. 2017-06-15 13:30:20 -05:00
Jamie Cameron
30577a4161 Use correct zone even for cleanup 2017-06-14 15:10:39 -07:00
Jamie Cameron
c2d4a90639 escape some params 2017-06-12 14:12:39 -07:00
Jamie Cameron
f6706036b9 Merge branch 'master' of git@github.com:webmin/webmin 2017-06-12 14:06:54 -07:00
Jamie Cameron
a330e913ee Escape untrusted params 2017-06-12 14:01:10 -07:00
Jamie Cameron
4b6df81888 Merge pull request #596 from gnadelwartz/master
majordomo: finish check_install-cgi tests
2017-06-11 14:18:27 -07:00
Joe cooper
ff42df7647 Fix default zone detection 2017-06-11 15:38:01 -05:00
Jamie Cameron
cca627a50e Merge branch 'master' of git@github.com:webmin/webmin 2017-06-11 13:29:09 -07:00
Jamie Cameron
6ca8341261 Handle xz compressed files https://sourceforge.net/p/webadmin/bugs/4970/ 2017-06-11 13:28:14 -07:00
Joe Cooper
591981563a Merge pull request #597 from swelljoe/master
More strict/warn fixes
2017-06-11 15:04:04 -05:00
Kay Marquardt (Gnadelwartz)
7737685835 display wrapper config-test results in check_inst.cgi 2017-06-11 21:00:09 +02:00
Kay Marquardt (Gnadelwartz)
efe00dc8e3 more transl check_inst.cgi 2017-06-11 18:52:07 +02:00
Kay Marquardt (Gnadelwartz)
cae85a9ce8 fix index_emdomdir=.. 2017-06-11 17:21:57 +02:00
Jamie Cameron
0ce2ce7236 Merge pull request #592 from gnadelwartz/master
Majordomo: add check_inst.cgi to provide hints about missing/wrong config/installation
2017-06-10 18:49:59 -07:00
Jamie Cameron
041ed3ace4 Fix perl warnings 2017-06-10 12:46:33 -07:00
Kay Marquardt (Gnadelwartz)
375436621e add check config buton to edit_global 2017-06-10 00:31:40 +02:00
Kay Marquardt (Gnadelwartz)
019b0f0625 start translation check_inst.cgi 2017-06-09 19:14:34 +02:00
Kay Marquardt (Gnadelwartz)
24b2bcd81b make some checks only if majordomo is installed 2017-06-09 18:59:33 +02:00
Kay Marquardt (Gnadelwartz)
b7ede39420 add script check_inst.cgi to provide hints what can be wrong 2017-06-09 16:48:25 +02:00
Kay Marquardt (Gnadelwartz)
d41b963859 add fail=Failed to webmin lang file 2017-06-09 13:52:42 +02:00
Kay Marquardt (Gnadelwartz)
fd857573ee index.cgi: ucfirst listname, maito:listname 2017-06-09 13:46:47 +02:00
Jamie Cameron
6389fe1787 Merge pull request #591 from Jaybus2/master
certmgr: Fix signcsr not using configured openssl.cnf
2017-06-08 22:21:24 -07:00
Joe cooper
b67b98f6b5 More strict/warn fixes 2017-06-08 21:26:44 -05:00
Josh Fisher
2ca5006c6c Fix certmgr/signcsr not using configured openssl.cnf 2017-06-08 11:07:26 -04:00
Kay Marquardt (Gnadelwartz)
d7652f88db move check_mdom_conf() to mdom-lib.pl 2017-06-08 14:17:49 +02:00
Jamie Cameron
873519e64e Merge pull request #590 from gnadelwartz/master
majordomo: allow edit and save multi line globals
2017-06-07 15:08:04 -07:00
Kay Marquardt (Gnadelwartz)
e44934a153 remove debug use Data:dump 2017-06-07 17:24:48 +02:00
Kay Marquardt (Gnadelwartz)
8c3ccb1503 fix get_list_config offset 2017-06-07 17:22:26 +02:00
Kay Marquardt (Gnadelwartz)
0e77146a48 allow edit and save multi line globals 2017-06-07 14:58:01 +02:00
Jamie Cameron
1ed3f58598 Handle new quoting of colors in webmin 1.840 https://sourceforge.net/p/webadmin/bugs/4968/ 2017-06-05 18:54:44 -07:00
Jamie Cameron
23873a5c2b Ensure that the most recent cert file is used 2017-06-04 14:36:34 -07:00
Jamie Cameron
a6052e1ae9 Remove tags thhat will be escaped 2017-06-04 12:31:44 -07:00
Jamie Cameron
122c573f94 Also try common cert locations 2017-06-02 16:41:17 -07:00
Jamie Cameron
0de4ab8c29 Merge branch 'master' of git@github.com:webmin/webmin 2017-06-02 15:32:18 -07:00
Jamie Cameron
2ba05ab405 Don't delete temp file for download if it was pre-created in /tmp/.webmin https://virtualmin.com/node/52315 2017-06-02 15:31:51 -07:00
Jamie Cameron
0916b7ad99 Merge pull request #588 from swelljoe/master
Roll back amp change, as HTML5 allows it
2017-06-02 16:36:40 -04:00
Joe cooper
c43c6a4e27 Roll back amp change, as HTML5 allows it 2017-06-02 15:19:47 -05:00
Jamie Cameron
00abf8494a New dev version 2017-06-02 08:55:44 -07:00
Jamie Cameron
529112cd7a German translation updates from Raymond Vetter 2017-06-01 23:16:52 -07:00
Jamie Cameron
6365b6bdcd German translation updates from Raymond Vetter 2017-06-01 23:16:52 -07:00
Jamie Cameron
a395c32ec6 Slave master IPs can contain "key" https://sourceforge.net/p/webadmin/bugs/4966/ 2017-06-01 21:45:04 -04:00
Jamie Cameron
06387a59fa Merge pull request #587 from gnadelwartz/master
german module.info (again and correct)
2017-06-01 21:16:19 -04:00
Jamie Cameron
4cc65beacc Restart FPM server after updating an FPM config file 2017-06-01 12:45:41 -07:00
Jamie Cameron
a2de217c25 Merge pull request #586 from ymulleneers/master
Various minor corrections
2017-06-01 15:13:40 -04:00
Jamie Cameron
f6320c27e2 Merge pull request #563 from qooob/patch-17
`en.UTF8` -> `en` for the upcoming 1.841 to satisfy compiler
2017-06-01 14:49:06 -04:00
Kay Marquardt (Gnadelwartz)
d625028e8f german module.info (again and correct) 2017-06-01 17:39:48 +02:00
Jamie Cameron
7da8c4dd66 Deal with zero-sized filesystems 4c19095949 2017-06-01 07:14:53 -07:00
Jamie Cameron
7b272988e8 Add missed error message 2017-05-31 22:28:14 -07:00
Jamie Cameron
4d47bc8442 Russian fix 2017-05-31 22:27:06 -07:00
Jamie Cameron
2ea940145b Start of work on FPM format support 2017-05-31 22:26:46 -07:00
MUY
377bcacff8 Update web-lib-funcs.pl
quote_escape - usually used to concatenate to string, so the function should always return a string, even if first argument is undef.  The usage of the eq operator on an undef variable cause a warning, in addition '' is evaluated to 'false' in conditions.
2017-06-01 06:43:59 +02:00
MUY
1379d2cc35 Update web-lib-funcs.pl
html_escape hang if first argument is not defined (ex: text('not_defined')) + usually used to concatenate to string, so the function should always returns a string.
2017-06-01 06:37:34 +02:00
MUY
37a5504f51 Update switch_user.cgi
Only ask once the password in Mozilla Firefox 31.
2017-06-01 06:29:57 +02:00
Jamie Cameron
ea8b2fc1bf New dev version bump 2017-05-31 18:57:45 -07:00
Jamie Cameron
2ee32e71cf Code cleanups 2017-05-31 18:52:38 -07:00
Jamie Cameron
08a1f3db74 If speed is reported as Unknown, don't use it 2017-05-31 18:19:27 -07:00
Jamie Cameron
5b0606c9fc Set correct ownership on compressed files 2017-05-31 15:05:20 -07:00
Jamie Cameron
06752583db Add some missing escaping 2017-05-31 14:43:10 -07:00
Jamie Cameron
0d1f01d511 Upload new files with correct ownership, and fix some formatting errors 2017-05-31 14:29:28 -07:00
Jamie Cameron
4f6b28f95c Merge pull request #585 from gnadelwartz/majordomo2
majordomo: fix subs closed, add quotes around tag values
2017-05-31 11:05:59 -04:00
Kay Marquardt (Gnadelwartz)
32ecbaaf02 fix subs closed, add quotes around tag values 2017-05-31 11:05:13 +02:00
Jamie Cameron
f93251569b Clean up code, and set correct owner on downloaded files 2017-05-30 21:56:39 -07:00
Jamie Cameron
3176c4cd45 Merge branch 'master' of git@github.com:webmin/webmin 2017-05-30 20:03:47 -07:00
Jamie Cameron
7ed31959e4 Use correct zone file for www. record 2017-05-30 19:58:49 -07:00
Jamie Cameron
72234a7669 Merge pull request #581 from gnadelwartz/master
convert majordomo final part
2017-05-30 19:32:50 -07:00
Joe Cooper
44822d651a Merge pull request #584 from swelljoe/master
Use escaped ampersand
2017-05-30 21:15:02 -05:00
Joe cooper
cde3eb1bb1 Merge remote-tracking branch 'upstream/master' 2017-05-30 21:13:53 -05:00
Joe cooper
f1c000d1e5 When in doubt, nest more tables 2017-05-30 21:12:53 -05:00
Joe cooper
4f564b9e2a Use escaped ampersand 2017-05-30 20:36:12 -05:00
Joe Cooper
2215ee4cf8 Merge pull request #583 from swelljoe/master
Get rid of about half of validation errors
2017-05-30 20:17:12 -05:00
Joe cooper
483a9a7c5f One last literal quoted 2017-05-30 20:13:36 -05:00
Joe cooper
7e75fdfa16 More validation fixes 2017-05-30 20:08:34 -05:00
Joe cooper
086e38676e Use quoted literals in tag style 2017-05-30 19:33:16 -05:00
Joe Cooper
54c1f071fc Merge pull request #582 from swelljoe/master
HTML 4.01 transitional until we get rid of in-tag styling
2017-05-30 17:56:04 -05:00
Joe cooper
72a6acb7ef HTML 4.01 transitional until we get rid of in-tag styling 2017-05-30 17:54:57 -05:00
Kay Marquardt
abe3a4858b Merge pull request #4 from gnadelwartz/majordomo2
majordomo final part
2017-05-30 17:59:58 +02:00
Kay Marquardt (Gnadelwartz)
a41915611e show subscription rules in edit list 2017-05-30 17:58:12 +02:00
Kay Marquardt (Gnadelwartz)
e4cb1a4af5 fix set_alias 2017-05-30 17:09:30 +02:00
Kay Marquardt (Gnadelwartz)
cf4c57e947 save/load owner from list.owner file 2017-05-30 16:55:26 +02:00
Kay Marquardt (Gnadelwartz)
d5f9824741 first aid: provide download link of patched majordomo version 2017-05-30 14:22:18 +02:00
Kay Marquardt (Gnadelwartz)
5129dfbe79 fix missing dynamic in config.info.de 2017-05-30 12:56:53 +02:00
Kay Marquardt (Gnadelwartz)
4b6f58eac8 config option for save list owner in listname.owner 2017-05-30 12:51:44 +02:00
Kay Marquardt (Gnadelwartz)
e34875ec0b more options for create list 2017-05-30 12:33:06 +02:00
Jamie Cameron
40db0575f6 Create new files with same ownership as parent (and add some missing escaping) 2017-05-29 16:16:14 -07:00
Jamie Cameron
74d463be57 Merge branch 'master' of git@github.com:webmin/webmin 2017-05-29 16:08:44 -07:00
Jamie Cameron
1a99e197dc Create new dirs with same ownership as parent 2017-05-29 16:07:03 -07:00
Jamie Cameron
19e4df6f0e Merge pull request #575 from gnadelwartz/majordomo2
majordomo: finish index, delete_list, edit_members (Part 3)
2017-05-28 22:14:54 -07:00
Jamie Cameron
49d4e0f4f3 Version bump for dev release 2017-05-28 12:11:34 -07:00
Jamie Cameron
504a7d78c7 Merge branch 'master' of git@github.com:webmin/webmin 2017-05-28 12:09:18 -07:00
Jamie Cameron
3ecc241b54 Also check certifate altnames https://sourceforge.net/p/webadmin/bugs/4963/ 2017-05-28 12:08:45 -07:00
Joe Cooper
8160e5f777 Merge pull request #579 from swelljoe/master
default val for $user
2017-05-28 14:06:24 -05:00
Joe cooper
3df2f306f7 default val for 2017-05-28 14:04:45 -05:00
Joe Cooper
3027952e0d Merge pull request #564 from swelljoe/master
Some more cleanups to make deb and rpm
2017-05-28 14:01:48 -05:00
Joe cooper
505d380fbb Merge remote-tracking branch 'upstream/master' 2017-05-28 13:57:00 -05:00
Jamie Cameron
65c28ad2ab Merge branch 'master' of git@github.com:webmin/webmin 2017-05-27 21:42:32 -07:00
Jamie Cameron
da6b642778 Fix saving of usermin category names https://github.com/webmin/usermin/issues/23 2017-05-27 21:41:52 -07:00
Kay Marquardt (Gnadelwartz)
2d49c19716 fix remote(sendmail), convert all <input submit> to &ui_submit() 2017-05-28 00:21:24 +02:00
Kay Marquardt (Gnadelwartz)
b7c85e32c7 edit button for mail settings 2017-05-26 23:37:46 +02:00
Kay Marquardt (Gnadelwartz)
d2283223c3 template for list.info, use sendmail to subscribe, use archive if exist 2017-05-26 23:32:10 +02:00
Kay Marquardt (Gnadelwartz)
10881d9171 move majordomo default list config to /template 2017-05-26 18:25:11 +02:00
Kay Marquardt (Gnadelwartz)
770cc24f57 create majordomo default config template 2017-05-26 18:19:42 +02:00
Kay Marquardt (Gnadelwartz)
7b4f8f5b40 remove wrong lang/edit_list copy 2017-05-26 16:53:39 +02:00
Kay Marquardt (Gnadelwartz)
e5fe901147 finish converting index, delete_list and edit_member 2017-05-26 16:46:34 +02:00
Kay Marquardt (Gnadelwartz)
017e6585b6 convert new list to &ui_button 2017-05-26 14:33:54 +02:00
Kay Marquardt (Gnadelwartz)
81d70f5cc9 adjust headers for edit and delete 2017-05-26 14:14:27 +02:00
Kay Marquardt (Gnadelwartz)
72283092da add file list.owner 2017-05-26 13:21:33 +02:00
Jamie Cameron
0e98b4a40a Merge pull request #574 from gnadelwartz/master
Majordomo conversion Part2
2017-05-25 19:48:44 -07:00
Jamie Cameron
b52d5c9986 Merge branch 'master' of git@github.com:webmin/webmin 2017-05-25 16:48:15 -07:00
Kay Marquardt
47b5ee31c0 Merge pull request #3 from gnadelwartz/majordomo2
Majordomo conversion Part2
2017-05-26 00:12:08 +02:00
Kay Marquardt (Gnadelwartz)
37fe61d6f3 floating buttons and edit icons 2017-05-25 23:57:23 +02:00
Kay Marquardt (Gnadelwartz)
fcaf0ffb35 /usr/local/bin 2017-05-25 23:48:46 +02:00
Kay Marquardt (Gnadelwartz)
cd2cb0f5d6 majordomo conversion part2 2017-05-25 23:43:48 +02:00
Kay Marquardt (Gnadelwartz)
8bb3e372ba adjust lang/de 2017-05-25 18:27:06 +02:00
Kay Marquardt (Gnadelwartz)
581ddd1491 new design for edit list 2017-05-25 18:26:12 +02:00
Jamie Cameron
14610a77f1 Underlying default cannot be switched yet 2017-05-25 08:00:49 -07:00
Joe cooper
c7285f5d11 move t/ removal to the right place 2017-05-24 23:04:33 -05:00
Joe cooper
f1e5428e50 Autoprov to avoid pretending to provide perl modules 2017-05-24 22:53:01 -05:00
Joe cooper
c9a9fdeedf Merge remote-tracking branch 'upstream/master' 2017-05-24 22:50:13 -05:00
Jamie Cameron
7482794f07 Merge pull request #573 from gnadelwartz/master
correct soltion for missing col when chain is filtered
2017-05-24 17:18:34 -07:00
Jamie Cameron
675e9ec513 Remove comment 2017-05-24 16:14:55 -07:00
Jamie Cameron
133b511a75 Encourage use of utf-8 languages 2017-05-24 16:14:20 -07:00
Kay Marquardt
0b1fac9f51 Merge pull request #2 from gnadelwartz/majordomo2
fix: fix missing col, no morelinebraks because of <b> in cell
2017-05-24 09:51:40 +02:00
Kay Marquardt (Gnadelwartz)
989c759036 /usr/LOCAL/bin/perl 2017-05-24 09:48:46 +02:00
Kay Marquardt (Gnadelwartz)
2afd4a1dc5 remove forgotten debug 2017-05-24 09:47:31 +02:00
Kay Marquardt (Gnadelwartz)
e46c7ceb44 replace <b> with <strong> => no <br> in table row 2017-05-24 09:44:28 +02:00
Kay Marquardt (Gnadelwartz)
d9cc4509d2 correct solution for missing 1st col 2017-05-24 09:43:11 +02:00
Jamie Cameron
faa65976d7 Merge branch 'master' of git@github.com:webmin/webmin 2017-05-23 21:54:18 -07:00
Jamie Cameron
53e306860e Version bump 2017-05-23 21:53:39 -07:00
Jamie Cameron
c64c04d3e0 Merge pull request #572 from gnadelwartz/master
majordomo change index view from buttons to list (part 1)
2017-05-23 17:28:01 -07:00
Kay Marquardt
e7c4c3abd9 Merge pull request #1 from gnadelwartz/majordomo2
display list values in overview
2017-05-23 20:52:00 +02:00
Kay Marquardt (Gnadelwartz)
194d48bd9e display list values in overview 2017-05-23 20:48:51 +02:00
Kay Marquardt (Gnadelwartz)
75efeb1d16 remove config.de.UTF-8 2017-05-23 17:08:13 +02:00
Kay Marquardt (Gnadelwartz)
99a63d9295 add postfix config mode to all config.info.* 2017-05-23 17:04:20 +02:00
Kay
ef7e2cd933 change index view from buttons to list (part 1) 2017-05-23 14:05:01 +02:00
Jamie Cameron
ad043d235e Norwegian update from Stein-Aksel Basma 2017-05-22 17:20:43 -07:00
Jamie Cameron
678cc38013 Merge pull request #570 from gnadelwartz/master
add update-from-repo to dist
2017-05-21 18:19:44 -07:00
Jamie Cameron
f6090947ba Merge branch 'master' of git@github.com:webmin/webmin 2017-05-21 11:26:22 -07:00
Jamie Cameron
d53ce67174 Filter out ANY onX= tags in HTML, as the number of possible ways Javascript can be called is unbounded 2017-05-21 11:25:58 -07:00
Kay Marquardt (Gnadelwartz)
0cfb09e436 add update-from-repo to dist 2017-05-21 19:45:08 +02:00
Jamie Cameron
1a4d525ef2 Merge pull request #569 from gnadelwartz/master
add some sanity checks to update-from-repo if alternate repo is given
2017-05-21 10:05:02 -07:00
Kay
8bfaf2b488 fix REPO for sanity check 2017-05-21 15:29:36 +02:00
Kay Marquardt (Gnadelwartz)
af8d5d24a1 add sanity checks if alternate repo given 2017-05-21 15:23:52 +02:00
Kay
af65582191 fix indention and setup.sh not copied in usermin 2017-05-21 14:26:36 +02:00
Jamie Cameron
87fe720d04 Merge pull request #567 from gnadelwartz/master
Update webmin/usermin in place from github.com repo
2017-05-20 12:55:05 -07:00
Jamie Cameron
c74a867652 Fix typo 888b0f27f5 2017-05-20 12:48:07 -07:00
Kay Marquardt
e4738380e1 Update edit_file.cgi 2017-05-20 18:05:06 +02:00
Kay Marquardt
7df549f91d Update edit_file.cgi 2017-05-20 18:04:45 +02:00
Kay Marquardt
7e9905ce3c revert edit-file.cgi wrong repo 2017-05-20 18:04:23 +02:00
Kay Marquardt (Gnadelwartz)
594a874a4b on iso-8859 try a second guess 2017-05-20 17:58:58 +02:00
Kay Marquardt (Gnadelwartz)
b047220417 check for additional standard modules eg majordomo 2017-05-20 10:26:43 +02:00
Kay Marquardt
01165959d3 remove obsolete redirect to file 2017-05-19 17:12:19 +02:00
Jamie Cameron
888b0f27f5 Deal with CPU info that doesn't contact mhz https://github.com/webmin/webmin/pull/565 2017-05-19 07:50:39 -07:00
Kay Marquardt
5e5a7b9cc3 forgot lang and ulang when updateing lang files only 2017-05-19 16:05:15 +02:00
Kay Marquardt
0c25d52a6d shorten version nuber created from last commit date 2017-05-19 15:05:09 +02:00
Kay Marquardt (Gnadelwartz)
d220823080 Update webmin/usermin in place from github.com repo 2017-05-19 14:45:57 +02:00
Jamie Cameron
fa1929966c Put free space in a more consistent location 2017-05-18 21:09:23 -07:00
Jamie Cameron
0effafd397 Catalan updates from Jaume Badiella 2017-05-18 21:07:52 -07:00
Jamie Cameron
01b0a01f90 Catalan updates from Jaume Badiella 2017-05-18 21:07:26 -07:00
Jamie Cameron
9da01f6a70 Ignore missing deps on upgrade https://sourceforge.net/p/webadmin/bugs/4960/ 2017-05-18 17:50:13 -07:00
Jamie Cameron
aafbe392ba Filter out some more javascript 2017-05-17 22:15:01 -07:00
Jamie Cameron
8ca3de3c28 Use safe write function, and simplify error handling 2017-05-16 23:16:46 -07:00
Jamie Cameron
817244241a Filename needs escaping 2017-05-16 23:11:36 -07:00
Joe Cooper
7316d87049 Merge branch 'master' into master 2017-05-16 23:49:07 -05:00
Joe cooper
368d7e0297 handle undefined vars 2017-05-16 23:45:58 -05:00
Joe cooper
721a1f47b3 marge upstream changes to makemodulerpm 2017-05-16 23:27:29 -05:00
Joe cooper
4e668e19cb Merge remote-tracking branch 'upstream/master' 2017-05-16 23:25:55 -05:00
Jamie Cameron
509e01eb90 Move version logic to more comprehensible place 2017-05-16 12:58:20 -07:00
Jamie Cameron
2c1f20fb1d Support exclude flag and set version in .info files 2017-05-16 12:57:18 -07:00
Jamie Cameron
703802065f The uptime command has changed its wording https://github.com/webmin/webmin/issues/498 2017-05-16 12:39:24 -07:00
Jamie Cameron
6243d45f3f Respect check-SSL setting 2017-05-16 12:25:24 -07:00
Ilia Rostovtsev
de2a5e9ff2 en.UTF8 -> en for the upcoming 1.841 to satisfy compiler 2017-05-16 18:19:07 +03:00
Joe cooper
43afab0d84 don't warn on uninitialized 2017-05-16 04:18:13 -05:00
Joe cooper
8d013ec69c More strict/warn fixes 2017-05-16 03:44:59 -05:00
Jamie Cameron
7face4b2be Add flag to exclude files. Also, update version in module.info to match command line, if given 2017-05-15 21:46:07 -07:00
Jamie Cameron
26d05f0437 Add --exclude flag 2017-05-15 18:21:59 -07:00
Jamie Cameron
f7da281d72 Allow disabling of the SSL name check 2017-05-15 16:54:07 -07:00
Jamie Cameron
af33c38d17 Merge branch 'master' of git@github.com:webmin/webmin 2017-05-15 16:35:07 -07:00
Jamie Cameron
5abc9b538b Include SNI host in hostname to check 2017-05-15 16:34:13 -07:00
Jamie Cameron
34781fd651 German translation updates from Raymond Vetter 2017-05-14 21:01:53 -07:00
Jamie Cameron
ea69c0978b German translation updates from Raymond Vetter 2017-05-14 21:01:50 -07:00
Jamie Cameron
7f2c27df29 Merge pull request #561 from gnadelwartz/master
tarnslation adjustements like for usermin
2017-05-14 14:16:07 -07:00
Kay Marquardt
034a3e9f8c adjust trans 2017-05-14 19:57:17 +02:00
Jamie Cameron
fdc689ad5d Merge branch 'master' of git@github.com:webmin/webmin 2017-05-14 10:52:56 -07:00
Kay Marquardt
07c560cdf6 de de.UTF longgdesc 2017-05-14 19:51:37 +02:00
Jamie Cameron
586af08e08 Get and show thin pool usage percentage 2017-05-14 10:49:04 -07:00
Jamie Cameron
7ba6250482 Merge pull request #560 from gnadelwartz/master
german translations converted from UTF-8
2017-05-14 10:05:40 -07:00
Kay Marquardt
f814546239 adjust german translation 2017-05-14 15:09:54 +02:00
Kay Marquardt
191827e425 Create config.info.de.UTF-8 2017-05-14 15:08:38 +02:00
Kay Marquardt
9fef0d060b german translation 2017-05-14 15:06:06 +02:00
Kay Marquardt
acc9f93fef german translations converted from UTF-8 2017-05-14 14:03:38 +02:00
Jamie Cameron
527b8b1467 software packages isn't supported on macos 2017-05-13 15:26:58 -07:00
Jamie Cameron
bf4e69bc54 software packages isn't supported on macos 2017-05-13 15:26:10 -07:00
Jamie Cameron
60351e59c7 Add monitor type for fail2ban https://sourceforge.net/p/webadmin/bugs/4956/ 2017-05-13 15:13:43 -07:00
Jamie Cameron
c031ac4b76 Merge branch 'master' of git@github.com:webmin/webmin 2017-05-12 21:59:22 -07:00
Jamie Cameron
4ffd3753a2 Handle FreeBSD vmstat output https://github.com/webmin/webmin/issues/498 2017-05-12 21:45:56 -07:00
Jamie Cameron
b6a5b4b230 Merge pull request #559 from gnadelwartz/patch-1
ajdust filemin german translations
2017-05-12 17:25:27 -07:00
Jamie Cameron
5a21764743 Warn if saved config is invald 2017-05-12 17:10:15 -07:00
Kay Marquardt
ca6739cda3 Merge pull request #1 from gnadelwartz/patch-2
fix my typos
2017-05-12 22:54:58 +02:00
Kay Marquardt
add5d65a6b Merge branch 'patch-1' into patch-2 2017-05-12 22:54:42 +02:00
Kay Marquardt
55db94413b fix my typos 2017-05-12 22:52:51 +02:00
Kay Marquardt
f21e731422 adjust translations to autehtic-theme translations 2017-05-12 22:50:27 +02:00
Joe cooper
5030fab70e Remove test directory 2017-05-11 23:30:34 -05:00
Joe cooper
0b70e3676e use 5.010 for defined-or 2017-05-11 23:23:36 -05:00
Joe cooper
5f6fe082e2 Even more strict/warn 2017-05-11 23:20:33 -05:00
Joe cooper
6a953d9670 Some more strict/warn cleanups 2017-05-11 23:10:35 -05:00
Jamie Cameron
766ccf57de Deal wth missing findmnt command gracefully https://sourceforge.net/p/webadmin/bugs/4955/ 2017-05-11 20:42:22 -07:00
Jamie Cameron
4e02a9823d Fix incorrect string https://sourceforge.net/p/webadmin/bugs/4953/ 2017-05-10 22:31:39 -07:00
Jamie Cameron
da43d7185c changelog for disk free display 2017-05-10 14:41:44 -07:00
Jamie Cameron
4c19095949 Show filesystems that are almost full 2017-05-10 14:40:12 -07:00
Jamie Cameron
c07dd3cddf Merge branch 'master' of git@github.com:webmin/webmin 2017-05-10 12:54:11 -07:00
Jamie Cameron
9fe942e958 Return list of per-filesystem stats too 2017-05-10 12:53:14 -07:00
Jamie Cameron
7ba14d9de4 Merge pull request #558 from gnadelwartz/add-warning-about-not-active-direct
Add warnings about not active direct and disable edit for filtered rules
2017-05-10 10:52:30 -07:00
Jamie Cameron
c455b93573 Merge pull request #557 from gnadelwartz/hofix-filter_chain
hotfix filter chain #555
2017-05-10 10:49:03 -07:00
Kay Marquardt
ba263882a6 disable edit/delete for filtered rules, unified firewall_message
because we must hold jump to chain rules even if filtered to statisfy iptables-restore, edit and delet these rules is disabled.

replaced shorewall_message, firewalld_message and fail2ban_message by one sub external_firewall_message
2017-05-10 17:39:42 +02:00
Kay Marquardt
f5927981a6 keep -j CHAIN to statisfy iptables-restore 2017-05-10 14:28:54 +02:00
Kay Marquardt
7dcce2a64f Warning about external Firewall programm and no direct mode 2017-05-10 12:18:06 +02:00
Kay Marquardt
f9d1278a00 Warning about external Firewall programm and no direct mode 2017-05-10 12:10:33 +02:00
Kay Marquardt
771e303e37 filter_chain does now work without direct
BUT only if no external firewall configuration is detected, i.e. fail2ban.
In this case a Warning is diplayed to activate direct.
2017-05-10 12:05:44 +02:00
Kay Marquardt
18e165e925 filter_chain works now also without direct
filter_chain works now also without direct but its recommended.
a waning is displayed if you use it with fail2ban detected and without direct mode
2017-05-10 12:02:37 +02:00
Kay Marquardt
09c125ad9a prevent modifiying of filtered chains 2017-05-10 11:54:46 +02:00
Kay Marquardt
7127ac2072 add warning aubout using filter_chain without direct 2017-05-10 11:51:10 +02:00
Kay Marquardt
b9507b0d77 adjust description direct must be active 2017-05-10 10:37:41 +02:00
Kay Marquardt
fe265aa65b add description to mention direct must be active 2017-05-10 10:36:58 +02:00
Kay Marquardt
f003b029b6 hotfix for filter_chain: use only with direct 2017-05-10 10:07:05 +02:00
Jamie Cameron
41c5bd30ea Merge pull request #551 from gnadelwartz/master
filter out chains not managed by firewall and add warning if fail2ban detected
2017-05-09 10:30:53 -07:00
Jamie Cameron
f5549dbe39 Merge branch 'master' of git@github.com:webmin/webmin 2017-05-09 09:17:51 -07:00
Kay Marquardt
0b416e09e8 Merge pull request #1 from gnadelwartz/firewall-f2b-warn
merge branch wadd arning about fail2ban firewalll rules detected
2017-05-09 13:24:55 +02:00
Kay Marquardt
e01770a0a1 adjust translation 2017-05-09 13:23:48 +02:00
Kay Marquardt
bcec484ebf adjust description 2017-05-09 13:22:08 +02:00
Kay Marquardt
314489fae7 more secure matching against chains to filter out 2017-05-09 13:13:43 +02:00
Kay Marquardt
87854875b7 remove default for filter_chain 2017-05-09 13:09:06 +02:00
Kay Marquardt
da0b587b2b add index_fail2ban 2017-05-09 12:31:46 +02:00
Kay Marquardt
3290f4c11f index_fail2ban translation 2017-05-09 12:29:57 +02:00
Kay Marquardt
7a3782a680 detect fail2ban usage 2017-05-09 12:26:33 +02:00
Jamie Cameron
e1d7fc3c14 Don't check fields that don't exist https://github.com/webmin/webmin/issues/553 2017-05-08 19:16:00 -07:00
Kay Marquardt
b5d1826ef7 Update config 2017-05-07 21:14:43 +02:00
Kay Marquardt
41908574ee Update config.info.de 2017-05-07 21:01:14 +02:00
Kay Marquardt
46f5f9715f Update config.info 2017-05-07 20:59:43 +02:00
Kay Marquardt
e9a5ea229c firewall-lib.pl regex to filter out chains
add regex filter to filter out chains not managed by firewall, i.e. fail2ban,
in get_iptables_save()
2017-05-07 20:58:31 +02:00
Jamie Cameron
f8a2f9595d Merge pull request #549 from ymulleneers/master
Indentation
2017-05-06 19:19:16 -07:00
Jamie Cameron
867fda60dc Also import the theme key 2017-05-06 12:07:34 -07:00
Jamie Cameron
04c217c97a Prevent same allowed path being listed twice 2017-05-06 11:41:08 -07:00
Jamie Cameron
e787caf228 Fix path validation when saving files https://github.com/webmin/webmin/issues/548 2017-05-06 11:24:31 -07:00
Jamie Cameron
45d5dec5a3 Fix perl warning 2017-05-05 16:14:24 -07:00
Jamie Cameron
1efb2eb206 Support Virtuozzo linux https://sourceforge.net/p/webadmin/bugs/4877/ 2017-05-05 14:30:12 -07:00
Jamie Cameron
4aceed5c8d Add perl-Encode-Detect dependency 2017-05-05 14:15:57 -07:00
MUY
f046efed20 Merge pull request #1 from ymulleneers/ymulleneers-patch-1
Update sorttable.js
2017-05-05 20:33:52 +02:00
MUY
d7a9fdb431 Update sorttable.js
Indentation
2017-05-05 20:33:19 +02:00
Jamie Cameron
814cf262fe Merge pull request #547 from qooob/patch-16
Check for valid encoding
2017-05-05 10:07:39 -07:00
Jamie Cameron
0ce247a1aa Merge pull request #546 from qooob/patch-15
Let non-unicode users read files in their charset correctly + check f…
2017-05-05 10:07:10 -07:00
Jamie Cameron
82a0a3e5c0 Remove non-ascii chars that aren't allowed in SSL certs https://www.virtualmin.com/node/52077 2017-05-05 09:56:14 -07:00
Jamie Cameron
245709dca0 Only iterate over the last octet network 2017-05-04 23:36:23 -07:00
Ilia Rostovtsev
944b6d728c Check for valid encoding
There are cases when detected `$encoding_name` is not recognized by `decode()` subroutine leading to fatal error.
2017-05-04 15:39:09 +03:00
Ilia Rostovtsev
59b59b2e43 Let non-unicode users read files in their charset correctly + check for valid encoding
In case a user still have old, non-UTF8 setup, they still need to see files in their encoding correctly, thus without converting output to utf-8. The way it is now, breaks things.

Also, there are cases when detected `$encoding_name` is not recognized by `decode()` subroutine.
2017-05-04 15:36:42 +03:00
Jamie Cameron
77c84a7539 Handle case where encoding module is missing 2017-05-03 20:43:38 -07:00
Jamie Cameron
9716326acd Merge pull request #543 from qooob/patch-13
Make editor respect file's initial encoding: Viewer
2017-05-03 20:41:25 -07:00
Jamie Cameron
89331739f3 Merge pull request #545 from amishxda/master
add noportcheck to not to check if port is in use
2017-05-03 19:03:32 -07:00
Amish
2b0e28852e add noportcheck to not to check if port is in use
add variable noportcheck to not to check if port is in use
2017-05-03 14:22:10 +05:30
Jamie Cameron
12ef84ff3e Merge pull request #544 from qooob/patch-14
Make editor respect file's initial encoding: Saver
2017-05-02 21:58:39 -07:00
Ilia Rostovtsev
85e80edf91 Make editor respect file's initial encoding: Saver
An addition to `edit_file.cgi` commit.
2017-05-02 13:26:30 +03:00
Ilia Rostovtsev
8e44c145b9 Make editor respect file's initial encoding: Viewer
This patch will make sure that user, will be able to READ files with different encodings properly and also, will be able to SAVE them without changing the initial encoding.

This awesomeness requires dependencies. However, RHEL has it installed by default but not Debian. New Webmin release should make sure to require/pull dependent packages:

For RHEL: `perl-Encode-Detect`
For Debian: `libencode-detect-perl`

P.S. We should no let user to set non-UTF8 locale anymore. All languages should be displayed unambiguously, like Google does, (Русский, svenska, Deutsche, English (United States) .. ).
2017-05-02 13:23:34 +03:00
Jamie Cameron
a1f53a5a47 Merge pull request #541 from qooob/patch-12
For the future so user could choose encoding in file editor window
2017-05-01 22:27:37 -07:00
Ilia Rostovtsev
b91a867744 For the future so user could choose encoding in file editor window
I think I did it correctly, theoretically looks good. I just don't know if `$in{'encoding'}` has to be escaped anyhow. Other than that, it seems ok, as when user passes encoding, it will tell the script to use one.
2017-05-01 20:49:17 +03:00
Jamie Cameron
dd5fa1295b Merge pull request #540 from qooob/patch-11
Typo, missing ;
2017-05-01 10:24:27 -07:00
Ilia Rostovtsev
6bb5b79d80 Typo, missing ; 2017-05-01 20:12:29 +03:00
Jamie Cameron
1494007307 Merge pull request #539 from qooob/patch-10
Fix for folks not using UTF-8 #52019
2017-05-01 10:09:01 -07:00
Ilia Rostovtsev
edd32a0819 Here is the fix for folks not using UTF-8 #52019
This is more like server side thing.

We expect that everything that is coming from the editor (CodeMirror) is always UTF-8 encoded. In case, global encoding is set to something different, then UTF-8, we must use the user encoding to properly encode the data and have correct file encoding after all.

[#52019](https://www.virtualmin.com/node/52019)
2017-05-01 20:04:27 +03:00
Jamie Cameron
79877df57c Escape output from the init script 2017-04-29 16:56:58 -07:00
Jamie Cameron
641053c5b2 config option fixes 2017-04-29 16:27:39 -07:00
Jamie Cameron
b56761c41b permissons fixes 2017-04-29 16:27:22 -07:00
Jamie Cameron
580578ecbc Use proper version comparison function 2017-04-29 16:26:24 -07:00
Jamie Cameron
813e6dd4ad Use proper version comparison function, so that 2.3 is below 2.11 https://sourceforge.net/p/webadmin/bugs/4937/ 2017-04-29 15:48:03 -07:00
Jamie Cameron
49aa15c138 Use correct hostname in SNI for SSL requests https://virtualmin.com/node/51969 2017-04-29 14:59:03 -07:00
Jamie Cameron
640bc8495c IPv6 addresses need [ ] in the URL https://sourceforge.net/p/webadmin/bugs/4949/ 2017-04-27 23:23:14 -07:00
Jamie Cameron
36ed9b2212 Merge branch 'master' of git@github.com:webmin/webmin 2017-04-27 09:05:27 -07:00
Jamie Cameron
37f0eb519e Detect the browser seen on the galaxy s6 https://www.virtualmin.com/node/51987 2017-04-27 09:04:52 -07:00
Jamie Cameron
0d251ff103 Merge pull request #536 from qooob/patch-9
To look consistent in Account Functions in Usermin
2017-04-25 17:10:22 -07:00
Jamie Cameron
b99637bab3 Merge pull request #535 from qooob/patch-8
When there is no value we need to return 0 but not empty
2017-04-25 17:09:52 -07:00
Jamie Cameron
801a71d172 Merge pull request #344 from qooob/patch-30
Respect module info
2017-04-25 16:55:24 -07:00
Ilia Rostovtsev
d5aac92059 To look consistent in Account Functions in Usermin
Just to beautify the string to look like the rest of them in `Account Functions`.
2017-04-25 14:10:19 +03:00
Ilia Rostovtsev
55d98674b1 When there is no value we need to return 0 but not empty
As reported here, it's true:

https://github.com/qooob/authentic-theme/issues/726
2017-04-25 10:56:58 +03:00
Jamie Cameron
6f0b58ee4d new version bump 2017-04-23 22:33:25 -07:00
Jamie Cameron
63da3c8e39 Fix dupe string 2017-04-23 22:32:41 -07:00
Jamie Cameron
1b21a404bf Merge branch 'master' of git@github.com:webmin/webmin 2017-04-23 20:25:03 -07:00
Jamie Cameron
464bc50e62 Use new API to keep chroot shell 2017-04-23 20:24:56 -07:00
Jamie Cameron
406b3f7bdc Add new option to keep the current shell 2017-04-23 20:20:56 -07:00
Joe Cooper
8b7af771f8 Merge pull request #533 from swelljoe/master
no warnings redefine to prevent confusing warnings
2017-04-23 19:50:12 -05:00
Joe cooper
aa71f4d8e1 no warnings redefine to prevent confusing warnings 2017-04-23 19:41:56 -05:00
Jamie Cameron
a37185b170 Fix code that detects support for mysql.hosts table https://sourceforge.net/p/webadmin/bugs/4945/ 2017-04-23 14:17:51 -07:00
Jamie Cameron
97e40304ac Fix missing space 2017-04-19 22:30:59 -07:00
Jamie Cameron
77e6bc2a00 HTML outside the head or body is too dangerous to include 2017-04-19 18:41:09 -07:00
Jamie Cameron
eaf63ebc48 chroot options for shell module 2017-04-19 13:54:16 -07:00
Jamie Cameron
2c194271fc ref and use columns can collide https://sourceforge.net/p/webadmin/bugs/4939/ 2017-04-18 23:25:21 -07:00
Jamie Cameron
7c0b0f0a9f Merge branch 'master' of git@github.com:webmin/webmin 2017-04-18 22:07:07 -07:00
Jamie Cameron
fe8eb50f2d Fix a couple of small bugs on my system 2017-04-18 22:01:32 -07:00
Jamie Cameron
cb2d221508 Merge pull request #476 from qooob/patch-2
Enable editor for .XSL files
2017-04-17 18:19:54 -07:00
Jamie Cameron
c65de713f7 Merge pull request #531 from qooob/patch-7
path in bookmarks must be URI friendly
2017-04-16 09:45:44 -07:00
Ilia Rostovtsev
2ff3afea6a path in bookmarks must be URI friendly 2017-04-16 09:37:49 +03:00
Jamie Cameron
25d7fe4299 Support both smtpd_recipient_restrictions and smtpd_relay_restrictions, and fix labelling https://sourceforge.net/p/webadmin/bugs/4930/ 2017-04-15 21:30:59 -07:00
Jamie Cameron
42a50ab078 smtp_skip_4xx_greeting is deprecated 2017-04-13 21:27:57 -07:00
Jamie Cameron
bc0eea7a01 onError is also a JS reference 2017-04-11 16:17:30 -07:00
Jamie Cameron
34dbddd616 Check allowed paths in some more cases 2017-04-11 10:38:04 -07:00
Jamie Cameron
785a1186c6 Escape text of command being run 2017-04-11 10:30:57 -07:00
Jamie Cameron
249a205f27 protect against dangerous attachment filenames 2017-04-11 10:26:05 -07:00
Jamie Cameron
7799c6e72f Make disabling referers check warning scarier 2017-04-11 10:22:19 -07:00
Jamie Cameron
960718733a man command supports paths as input, which can be used to read files 2017-04-11 10:19:30 -07:00
Jamie Cameron
da826eaa5f Remove useless print 2017-04-10 23:16:05 -07:00
Jamie Cameron
25a471e4ef simplify_path returns a new path 2017-04-10 15:23:34 -07:00
Jamie Cameron
c387b955b9 Add checkbox to check sig on new module and theme installs 2017-04-09 19:12:04 -07:00
Jamie Cameron
919baa1343 PPTP start script runs the server in the background https://sourceforge.net/p/webadmin/bugs/4876/ 2017-04-09 18:35:15 -07:00
Jamie Cameron
23b966e7da Merge branch 'master' of git@github.com:webmin/webmin 2017-04-09 13:28:39 -07:00
Jamie Cameron
036f695e19 Assume all .cgi scripts with #! lines that reference perl are executable internally 2017-04-08 16:51:41 -07:00
Jamie Cameron
1b32109ae6 Merge pull request #527 from razor2k/master
Added v flag for tar extraction
2017-03-31 08:33:34 -07:00
razor2k
0f895e893c Added v flag for tar extraction
Added the v (verbose) flag when really extracting the backup tar.
If this flag is not set tar will not print the list of files, that are extracted. This leads to an empty output which later leads to an empty @$files when trying to split the output from the untar command.
This then leads to restore.cgi falsely reporting "0 files have been restored".
Tested on Ubuntu 14.04.5
2017-03-31 10:31:05 +02:00
Jamie Cameron
f7691fb715 Include NSEC3PARAM record types when doing DNSSEC signing https://virtualmin.com/node/51485 2017-03-30 18:06:48 -07:00
Jamie Cameron
0c37e2c626 Merge branch 'master' of git@github.com:webmin/webmin 2017-03-29 22:20:30 -07:00
Jamie Cameron
e17abe5e33 Support multiple init scripts https://sourceforge.net/p/webadmin/bugs/4925/ 2017-03-29 21:57:02 -07:00
Jamie Cameron
deb042812b Merge pull request #526 from qooob/patch-5
Excluding bind mounts properly
2017-03-28 20:29:56 -07:00
Jamie Cameron
2b1ee8bc77 Also unmask units when enabling https://www.virtualmin.com/node/45624 2017-03-28 07:56:35 -07:00
Ilia Rostovtsev
9215dde41a Excluding bind mounts properly
Jamie, hi.

I finally had a time to take a look. The fix is simple and straight forward. It works perfectly on my production system. All "bad" mounts are excluded and not listed anymore.
2017-03-28 12:31:02 +03:00
Jamie Cameron
b59f108286 Include JSON::PP in the core webmin package 2017-03-27 21:36:49 -07:00
Jamie Cameron
5708320472 Merge pull request #525 from swelljoe/master
makemodulerpm.pl updates
2017-03-27 16:13:08 -07:00
Joe Cooper
5e8b5ca17b strict/warnings 2017-03-27 04:02:00 -04:00
Joe Cooper
42e3c2c251 COlorize, declare some vars 2017-03-27 03:25:58 -04:00
Joe Cooper
a7123cb069 merge upstream, fix conflicts 2017-03-27 02:51:55 -04:00
Joe Cooper
92b8db19a5 strict/warn, no root needed, colors 2017-03-27 02:40:26 -04:00
Jamie Cameron
a4a6a30234 Rename all config files with stars to use ALL 2017-03-26 22:05:43 -07:00
Jamie Cameron
ebd30bd0ef Rename more star config files 2017-03-26 21:54:55 -07:00
Jamie Cameron
a56772ceba Test rename one star file 2017-03-26 21:54:15 -07:00
Jamie Cameron
0b803265f7 Use default_dir in module.info as final module dir, if set 2017-03-26 21:35:02 -07:00
Jamie Cameron
7774c3cd1f Exclude 'verison' file from packaged modules and themes 2017-03-26 14:25:00 -07:00
Jamie Cameron
e88d7bf265 Snapshots in thinpools don't really have a size 2017-03-26 14:18:10 -07:00
Jamie Cameron
860ae2f15e changelog for thin LV feature 2017-03-26 14:05:58 -07:00
Jamie Cameron
33f6a5d1a2 Link to source of LV snapshots 2017-03-26 14:03:28 -07:00
Jamie Cameron
979aac7178 Snapshots in thin pools don't need a size specified 2017-03-26 13:50:38 -07:00
Jamie Cameron
8bfed13f60 Use formal params 2017-03-26 13:39:47 -07:00
Jamie Cameron
f73482ed0a Deletion warning for thin LVs 2017-03-26 12:06:23 -07:00
Jamie Cameron
80ea8d8b2e Close DH params file to avoid FS leakage 2017-03-26 11:54:37 -07:00
Jamie Cameron
9c831d62f8 Show LV members 2017-03-26 11:54:14 -07:00
Jamie Cameron
8019ac7cab Add return link from mkfs form 2017-03-26 10:36:20 -07:00
Jamie Cameron
ae2e6d4df2 thin pool creation now working 2017-03-26 10:26:11 -07:00
Jamie Cameron
2f85ff61de German translation updates from Raymond Vetter 2017-03-26 09:38:00 -07:00
Jamie Cameron
0372fdcc2c German translation updates from Raymond Vetter 2017-03-26 09:37:54 -07:00
Jamie Cameron
74db8b7542 More work on supporting thin pools in the UI 2017-03-24 17:51:22 -07:00
Jamie Cameron
dad7e2f052 Function to create a thin pool 2017-03-24 17:32:04 -07:00
Jamie Cameron
01dcde3e62 CGI to create a thin pool 2017-03-24 16:27:44 -07:00
Jamie Cameron
dcd57e44c0 LVM thin pool form 2017-03-24 16:13:40 -07:00
Jamie Cameron
5a69c9ddbd Set new DNSSEC key ownership correctly https://sourceforge.net/p/webadmin/bugs/4923/ 2017-03-24 13:56:38 -07:00
Jamie Cameron
1db625a87e Fix some perl warnings https://sourceforge.net/p/webadmin/bugs/4921/ 2017-03-23 17:11:50 -07:00
Jamie Cameron
1ec2127363 Pass in password on the command line https://www.virtualmin.com/node/50338 2017-03-22 21:03:48 -07:00
Jamie Cameron
fdcfb5495e Make source/dest IP fields nicer https://www.virtualmin.com/node/51219 2017-03-22 17:33:38 -07:00
Jamie Cameron
46814d9e2f Preserve spaces when editing directives https://github.com/virtualmin/virtualmin/issues/35 2017-03-22 16:58:20 -07:00
Jamie Cameron
4f1b8c0ae0 Add missing string 2017-03-20 17:00:22 -07:00
Jamie Cameron
3f65039494 Use normal form API https://github.com/qooob/authentic-theme/issues/680 2017-03-19 13:42:16 -07:00
Jamie Cameron
837e04945b Get interfaces early on so that any error doesn't appear in the middle of a table https://github.com/qooob/authentic-theme/issues/679 2017-03-19 10:02:01 -07:00
Jamie Cameron
a80b49b01c Merge branch 'master' of git@github.com:webmin/webmin 2017-03-19 10:00:58 -07:00
Jamie Cameron
12fe0f611b Blank isn't an allowed option for mynetworks_style 2017-03-19 09:57:38 -07:00
Jamie Cameron
99400d02d8 Merge pull request #519 from qooob/patch-4
Let a function to accept non numeric value
2017-03-18 17:16:53 -07:00
Ilia Rostovtsev
e9dc1726ae Let a function to accept non numeric value
In case the way it is now, there is no use in custom values for radio buttons. For example it will never let it set to `false` or `true` (as a string), thus always passing an integer to the `ui_radio()`.
2017-03-18 17:16:20 +03:00
Jamie Cameron
ad0bddd300 German translation updates from Raymond Vetter 2017-03-17 20:20:21 -07:00
Jamie Cameron
d0b19dbb75 Fix more unescaped paths 2017-03-16 22:54:36 -07:00
Jamie Cameron
7fa58e88c1 Don't trust path elements 2017-03-15 23:22:47 -07:00
Jamie Cameron
65e99558ad Fix return link 2017-03-15 23:19:49 -07:00
Jamie Cameron
8f1441ae54 Fix return link 2017-03-15 23:17:13 -07:00
Jamie Cameron
c3a5efb914 Don't include error messages in the output from mysqldump https://www.virtualmin.com/node/50156 2017-03-14 20:40:22 -07:00
Jamie Cameron
005a90c79d Username can be edited https://github.com/webmin/webmin/issues/513 2017-03-13 20:32:08 -07:00
Jamie Cameron
4dc9188d86 Clear module.infos in new location too 2017-03-13 19:42:36 -07:00
Jamie Cameron
2dc7d94a74 Remove un-necessary cache clearing 2017-03-13 19:41:59 -07:00
Jamie Cameron
85aada310a Version bump 2017-03-12 20:29:07 -07:00
Jamie Cameron
5a19fe2e6c Deal with older Net::SSLeay versions 2017-03-12 18:02:02 -07:00
Jamie Cameron
55688e6be4 Fedora 25 uses mariaDB 2017-03-12 17:44:02 -07:00
Jamie Cameron
24cf47dde0 Completed webmin per-domain cert support 2017-03-12 17:42:03 -07:00
Jamie Cameron
33d45b19d4 Use formal params 2017-03-12 17:16:11 -07:00
Jamie Cameron
95b846c6e5 Allow hostnames to be entered as well as IPs 2017-03-12 15:36:15 -07:00
Jamie Cameron
0ba71128f1 Allow hostnames to be entered as well as IPs 2017-03-12 15:34:30 -07:00
Jamie Cameron
258490b256 Don't log empty sessions 2017-03-11 13:10:43 -08:00
Jamie Cameron
b29bda4f93 Suppress redefined function warnings https://www.virtualmin.com/node/46831 2017-03-11 13:04:56 -08:00
Jamie Cameron
c7a941c9af Fix bug where a sub-directory with the same name cannot be linked to 2017-03-10 19:05:07 -08:00
Jamie Cameron
97c410db42 Dev version bump 2017-03-09 22:40:33 -08:00
Jamie Cameron
1ff6413c04 Allow : in redirect URL 2017-03-09 17:50:47 -08:00
Jamie Cameron
34de35e281 Fix perl warning https://sourceforge.net/p/webadmin/bugs/4920/ 2017-03-09 17:29:00 -08:00
Jamie Cameron
9aa6081cd8 keep changelog.md in distro 2017-03-09 08:59:30 -08:00
Jamie Cameron
947187c0c2 German translation updates from Raymond Vetter 2017-03-08 22:16:20 -08:00
Jamie Cameron
47611a5fb7 German translation updates from Raymond Vetter 2017-03-08 22:16:20 -08:00
Jamie Cameron
2cf8380a52 Fix typo 2017-03-08 22:14:01 -08:00
Jamie Cameron
2b2b2d55e7 Clarifiy meaning of filemanger ACL 2017-03-08 22:08:11 -08:00
Jamie Cameron
a1c5db779d Skip duplicate themes (like blue and gray) https://sourceforge.net/p/webadmin/bugs/4917/ 2017-03-08 21:21:20 -08:00
Jamie Cameron
f559c1a078 Handle version parts like deb8u9 and deb8u10 https://sourceforge.net/p/webadmin/bugs/4911/ 2017-03-07 20:53:17 -08:00
Jamie Cameron
cbec150213 Handle allow-hotplug lnine https://www.virtualmin.com/node/43038 2017-03-07 20:00:14 -08:00
Jamie Cameron
b1c0c16f4b Fix handling of allow-transfer lines with a key https://github.com/webmin/webmin/issues/506 2017-03-06 20:02:23 -08:00
Jamie Cameron
8cb1f61426 German translation updates from Raymond Vetter 2017-03-06 19:56:16 -08:00
Jamie Cameron
1ca22a3c10 Merge branch 'master' of git@github.com:webmin/webmin 2017-03-05 13:45:31 -08:00
Jamie Cameron
db801188ab Page to manually edit cron jobs 2017-03-05 13:45:16 -08:00
Jamie Cameron
9fe8bd9f93 Merge pull request #502 from jjinno/master
enable/disable cluster-useradmin features & fix visual bugs
2017-03-01 16:54:49 -08:00
jjinno
6ea05708b9 fixed icons & implemented link-disable option
Fixed missing icons link due to bad path.
Implemented use of "conf_host_links" option to enable/disable links to the "edit host" page.
2017-03-01 01:05:34 -08:00
jjinno
3c90c1465a fixed icons & table view
Fixed missing icons link due to bad path.
Ported "table view" from index.cgi... because there is just one module-global option to use "table view"... so it should probably apply module-globally?
2017-03-01 00:59:43 -08:00
jjinno
f546f23f91 fixed HTML table error
there was a missing TD tag causing serious layout issues.
2017-03-01 00:54:51 -08:00
jjinno
2322feb9ae icons & table view
Fixed missing icons link due to bad path.
Ported "table view" from index.cgi... because there is just one module-global option to use "table view"... so it should probably apply module-globally?
2017-03-01 00:50:34 -08:00
jjinno
91273bfe18 configure host-as-a-link
ability to disable host links (looks best in table view) so that users/groups are not visible
2017-03-01 00:44:47 -08:00
jjinno
c2b396cfbd add host-as-a-link option default
ability to disable host links (looks best in table view) so that users/groups are not visible
2017-03-01 00:43:44 -08:00
jjinno
c3f3db868e update default config
turned on all features by default (keeps existing behavior)
2017-02-28 23:23:13 -08:00
jjinno
c0a43d0aa5 reorder config options
reordered config options to match displayed order
2017-02-28 23:21:54 -08:00
jjinno
b5243ac90b enable/disable features
config options for enabling/disabling:
 - Add user
 - Add group
 - Find user
 - Find group
 - Refresh cache
 - Synchronize

The idea was to allow an administrator the ability to provide refresh & sync without needing to provide access to the cluster-module's inferior version of the users/groups tools... but I have broken out the enable/disable on each feature individually, should one want to manage at that level.
2017-02-28 23:10:17 -08:00
jjinno
bb3f72cf85 add enable/disable for features
Adding config options for enabling/disabling:
 - Add user
 - Add group
 - Find user
 - Find group
 - Refresh cache
 - Synchronize
2017-02-28 22:51:52 -08:00
Jamie Cameron
082c0644d6 Remove message about timeout of logged out user 2017-02-27 19:26:03 -08:00
Jamie Cameron
7a67864827 Clarify what ssl_ca is for 2017-02-26 21:12:44 -08:00
Jamie Cameron
bdb22b37dc Fix perl warnings https://sourceforge.net/p/webadmin/bugs/4907/ 2017-02-26 14:11:32 -08:00
Jamie Cameron
cb24e776b8 Fix perl warnings https://sourceforge.net/p/webadmin/bugs/4907/ 2017-02-26 14:08:41 -08:00
Jamie Cameron
c816d1385f Detect missing IMAP handle better https://virtualmin.com/node/48616 2017-02-25 13:33:28 -08:00
Jamie Cameron
a0618b3650 Support detecting CPU load and model on FreeBSD https://github.com/webmin/webmin/issues/498 2017-02-24 16:24:04 -08:00
Jamie Cameron
a01ceec394 Merge branch 'master' of git@github.com:webmin/webmin 2017-02-24 16:04:59 -08:00
Jamie Cameron
99f73bd80f Filter out template units, which cause the subsequent call to systemctl show to fail https://github.com/webmin/webmin/issues/430: 2017-02-24 16:04:21 -08:00
Jamie Cameron
ab522f84fc Merge pull request #499 from jjinno/master
Enable/Disable for Winbind & File/Printer Share buttons
2017-02-23 22:37:26 -07:00
jjinno
4d77d319dc code refactor + new use of conf_fs/conf_ps
Refactor complicated "Global Configuration" table to be simpler code... just like the "Samba Users" table created just below it...

instead of misusing permissions bits from ACLfs_global/ACLps_global, using conf_fs/conf_ps respectively to determine whether or not the File/Printer share buttons should be displayed.
2017-02-23 14:54:51 -08:00
jjinno
e184759e85 default values
added for conf_fs/conf_ps
2017-02-23 14:47:38 -08:00
jjinno
1ed16816de new variables
default values
conf_fs=0,conf_ps=0
2017-02-23 14:45:07 -08:00
jjinno
4f51ed32a6 new admin enable/disable options
Added a radio button to disable (hide) the "Winbind Options" button.
Added 2 new variables ("conf_fs" & "conf_ps") that are defined as:
    0 when ALL of create/read/write permissions are denied for file/print shares (respectively)
    1 when ANY of create/read/write permissions are given to file/print shares (respectively)

These values will be picked up by index.cgi
2017-02-23 14:43:37 -08:00
jjinno
4b664a541d add lang for disable winbind button
self explanatory
2017-02-23 12:26:15 -08:00
Jamie Cameron
dbd99caaee Path needs to be escaped in footer 2017-02-19 17:30:10 -08:00
Jamie Cameron
54fc94e32b Fix XSS vulnerability in path 2017-02-19 17:28:39 -08:00
Jamie Cameron
b8333ec442 Fedora 25 uses mariadb 2017-02-18 21:22:29 -08:00
Jamie Cameron
f99d1d20e0 Allow all types of ICMPv6 traffic https://sourceforge.net/p/webadmin/bugs/4900/ 2017-02-18 14:14:10 -08:00
Jamie Cameron
c1ebe147ac BIND mounts can't have quotas https://github.com/webmin/webmin/issues/493 2017-02-16 21:48:32 -08:00
Jamie Cameron
1348fd1ef6 Suppress duplicate definition warnings, which can happen in some cases where the theme calls this library https://www.virtualmin.com/node/46831 2017-02-15 20:01:21 -08:00
Jamie Cameron
71fb93f840 Fix perl warnings https://sourceforge.net/p/webadmin/bugs/4895/ 2017-02-12 10:01:46 -08:00
Jamie Cameron
236c09f3c0 Flag is info and not --info e50c011c08 2017-02-12 09:53:21 -08:00
Jamie Cameron
54bb4804fc Debian 8 has changed the squid package name https://sourceforge.net/p/webadmin/bugs/4894/ 2017-02-10 15:58:01 -08:00
Jamie Cameron
0ebbe5660a Deal with silly version numbers like 2.11 https://www.virtualmin.com/node/46799 2017-02-10 15:52:32 -08:00
Jamie Cameron
155f98977a Move version comparison code up to global 2017-02-10 15:47:35 -08:00
Jamie Cameron
24f731aac8 IP to ignore can be a hostname https://sourceforge.net/p/webadmin/bugs/4893/ 2017-02-10 15:38:33 -08:00
Jamie Cameron
6a8df969d7 Fix option name https://sourceforge.net/p/webadmin/bugs/4892/ 2017-02-07 21:06:26 -08:00
Jamie Cameron
3300164e7e Catalan update from Jaume Badiella 2017-02-05 20:36:27 -08:00
Jamie Cameron
207e0a6dce Catalan update from Jaume Badiella 2017-02-05 20:36:00 -08:00
Jamie Cameron
f95f2cef79 Include DNS validation timeout 2017-02-05 15:13:27 -08:00
Jamie Cameron
6dc037a271 TTL should be lower for let's encrypt validation record 2017-02-05 15:05:25 -08:00
Jamie Cameron
1379dc8288 Don't wait forever for validation 2017-02-05 15:03:38 -08:00
Jamie Cameron
28ac57ac21 dev version bump 2017-02-05 14:23:28 -08:00
Jamie Cameron
1f906be5cb changelog for let's encrypt 2017-02-05 14:18:52 -08:00
Jamie Cameron
2312f3379d DNS validation support in acme_tiny via hook script 2017-02-05 13:18:34 -08:00
Jamie Cameron
adb526466a German translation updates from Raymond Vetter 2017-02-05 10:40:31 -08:00
Jamie Cameron
88d914721b Some older Apache versionsdon't support AuthType https://www.virtualmin.com/node/45842 2017-02-05 10:25:57 -08:00
Jamie Cameron
ce18bbe753 Add missing source columns properly https://github.com/qooob/authentic-theme/issues/661 2017-02-04 21:31:04 -08:00
Jamie Cameron
3edbc9b90f Don't rotate a non-existent file, as this can cause it to be created with the wrong ownership https://sourceforge.net/p/webadmin/bugs/4890/ 2017-02-04 20:53:51 -08:00
Jamie Cameron
2b362c05b1 Merge branch 'master' of git@github.com:webmin/webmin 2017-02-01 14:50:16 -08:00
Jamie Cameron
8acd741d78 Add allow-transfer block for slave domains https://github.com/webmin/webmin/issues/487 2017-02-01 14:39:28 -08:00
Jamie Cameron
d74d8f045c Merge pull request #488 from mnoorenberghe/patch-2
Don't blank the password field on the login page
2017-02-01 14:17:53 -08:00
Jamie Cameron
e078bbc930 Detect if a zero-sized cert was created https://www.virtualmin.com/node/45801 2017-02-01 10:10:31 -08:00
Matt N
30dd9d1fb4 Don't blank the password field on the login page
This interferes with password managers and the general consensus from the security community is that password managers improve security by encouraging stronger passwords and reducing password re-use.
2017-02-01 01:33:30 -08:00
Jamie Cameron
8b8b196d31 SSSD also indicates LDAP is in use https://www.virtualmin.com/node/45780 2017-01-31 23:07:57 -08:00
Jamie Cameron
f8e042beac ALways use only list of subnets and hosts that are visible 2017-01-31 22:56:46 -08:00
Jamie Cameron
b45191de98 Fixes to get DNS validation integration with certbot working 2017-01-31 17:42:29 -08:00
Jamie Cameron
21fc5ebd2c Merge branch 'master' of git@github.com:webmin/webmin 2017-01-31 15:45:08 -08:00
Jamie Cameron
ca79327451 Work on DNS-based validation for let's encrypt 2017-01-31 15:44:38 -08:00
Jamie Cameron
49c927ae80 Merge pull request #486 from qooob/patch-3
Make sure that new dropdown always visible
2017-01-31 12:54:35 -08:00
Ilia Rostovtsev
81e89ae384 Make sure that new dropdown always visible
To make sure it doesn't happen.
https://github.com/qooob/authentic-theme/issues/660
2017-01-31 12:48:07 +03:00
Jamie Cameron
52cb2b38e0 Fix wrong text string https://www.virtualmin.com/node/45713 2017-01-29 15:44:20 -08:00
Jamie Cameron
9c77c762b1 Hook scripts needed for Let's Encrypt DNS validation 2017-01-29 11:21:22 -08:00
Jamie Cameron
5a234fce9e Use formal parameters 2017-01-29 11:07:19 -08:00
Jamie Cameron
8f49a258b6 Move code for DNF into the right place e50c011c08 2017-01-27 17:18:30 -08:00
Jamie Cameron
7e06a2382e Fix labels for SSHFP support 2017-01-27 16:41:36 -08:00
Jamie Cameron
dee77082ff SSHFP types are 1-based 2017-01-26 22:45:46 -08:00
Jamie Cameron
0fd3627e96 SSHFP record support 2017-01-26 21:27:33 -08:00
Jamie Cameron
e17ee3cc8c Legit HTML can appear outside the body in corrupt emails 2017-01-24 21:56:22 -08:00
Jamie Cameron
aec4a83306 Don't try IPv6 resolution if not enabled 2017-01-23 18:48:32 -08:00
Jamie Cameron
a02935d9e4 Add Springdale as a Redhat clone https://sourceforge.net/p/webadmin/bugs/4877/ 2017-01-23 10:21:53 -08:00
Jamie Cameron
5bd77486d9 Catch failure of the mysqldump command in the pipeline https://sourceforge.net/p/webadmin/bugs/4878/ 2017-01-22 19:39:39 -08:00
Jamie Cameron
ee35b62079 Add core function to check if bash is being used 2017-01-22 16:16:46 -08:00
Jamie Cameron
21bb772fd3 DNF uses a different changelog command e50c011c08 2017-01-22 09:24:40 -08:00
Jamie Cameron
87994b0e6a Also do regular encoding french 2017-01-19 21:05:30 -08:00
Jamie Cameron
be87b67857 French translation from Laurent Coignet 2017-01-19 20:58:00 -08:00
Jamie Cameron
cb195701b3 French translation from Laurent Coignet 2017-01-19 20:57:45 -08:00
Jamie Cameron
dd8bb9bb15 French translation from Laurent Coignet 2017-01-19 20:57:26 -08:00
Jamie Cameron
ed72b57c4a Fix group membership checks https://sourceforge.net/p/webadmin/bugs/4875/ 2017-01-19 16:46:15 -08:00
Jamie Cameron
6bc9041a52 CentOS 7 uses 1000 as the base UID/GID https://sourceforge.net/p/webadmin/bugs/4874/ 2017-01-18 16:51:19 -08:00
Jamie Cameron
36b15f2615 Properly identify other bridge types https://github.com/webmin/webmin/issues/482 2017-01-18 15:45:13 -08:00
Jamie Cameron
ce0da729ee Handle case where getaddrinfo is not available 2017-01-18 15:27:21 -08:00
Jamie Cameron
84c6b0d831 Give DNSSEC key files the right ownership https://github.com/webmin/webmin/issues/471 2017-01-15 20:50:00 -08:00
Jamie Cameron
e50c011c08 Use DNF instrnstead of YUM if installed https://github.com/webmin/webmin/issues/480 2017-01-15 20:27:53 -08:00
Jamie Cameron
6df7e9b67c GPT disks can have more than 4 primary partitions https://sourceforge.net/p/webadmin/bugs/4872/ 2017-01-13 15:16:32 -08:00
Jamie Cameron
1dd3d51333 Fix perl warning if module is undef https://sourceforge.net/p/webadmin/bugs/4867/ 2017-01-11 16:20:51 -08:00
Jamie Cameron
16c4ca3740 Add clone button to backups https://github.com/webmin/webmin/issues/477 2017-01-10 12:46:12 -08:00
Ilia Rostovtsev
f6634503dd Enable editor for .XSL files
https://github.com/qooob/authentic-theme/issues/629#issuecomment-271280127
2017-01-10 12:21:27 +03:00
Jamie Cameron
4f386ddc84 New DNSSEC key types https://www.virtualmin.com/node/45306 2017-01-09 15:54:51 -08:00
Jamie Cameron
5bf35ef9cd Norwegian update from Stein-Aksel Basma 2017-01-09 15:32:59 -08:00
Jamie Cameron
d46a07d74b Version bump 2017-01-06 22:07:36 -08:00
Jamie Cameron
a7cf8d49dd German translation updates from Raymond Vetter 2017-01-05 23:01:36 -08:00
Jamie Cameron
4368bf87bb Add field for CIFS version https://virtualmin.com/node/45199 2017-01-03 17:14:11 -08:00
Jamie Cameron
6551501b7e Ensure apache access to the well-known directory 2017-01-02 18:11:18 -08:00
Jamie Cameron
9449111200 permissions fixes 2017-01-02 13:19:38 -08:00
Jamie Cameron
442fc7fd0f Use new version saving function 2017-01-02 13:19:01 -08:00
Jamie Cameron
3eff4a2533 Merge branch 'master' of git@github.com:webmin/webmin 2017-01-02 13:17:55 -08:00
Jamie Cameron
f643ce80d0 Make authentic the default for new installs 2017-01-02 13:16:44 -08:00
Jamie Cameron
f84f99abb1 Merge pull request #475 from qooob/patch-1
Missed dialogs for new 1.830 distro
2017-01-01 21:23:29 -08:00
Ilia Rostovtsev
a84fe682b7 Missed dialogs for new 1.830 distro 2017-01-01 14:19:29 +03:00
Jamie Cameron
fecfdb2f2b I already bumped the version 2016-12-27 13:33:20 -08:00
Jamie Cameron
b091ba221c New version bump 2016-12-27 11:23:03 -08:00
Jamie Cameron
1fd2f398ad Add and use a function to save the MySQL version number 2016-12-26 21:11:11 -08:00
Jamie Cameron
ad381d1447 Differentiate remote and local mysql versions 2016-12-24 22:33:26 -08:00
Jamie Cameron
1004cedd4e Merge branch 'master' of git@github.com:webmin/webmin 2016-12-22 21:38:48 -08:00
Jamie Cameron
837d98d6bc Fix case where a non-root user is downloading in the browser https://virtualmin.com/node/44972 2016-12-22 21:36:36 -08:00
Joe Cooper
f16522157d Update README 2016-12-22 20:26:17 -08:00
Jamie Cameron
ca071daec2 New version bump 2016-12-21 14:47:19 -08:00
Jamie Cameron
90fa9332e9 Fix perl typo 2016-12-21 14:31:18 -08:00
Jamie Cameron
b6984eb5fd New Debian and Mint versions 2016-12-20 17:26:06 -08:00
Jamie Cameron
dc5a5fb4e7 Make challenge file world-readable, to ensure Apache can read it 2016-12-20 09:00:20 -08:00
Jamie Cameron
05ebd304fe Filter out duplicate updates 2016-12-18 11:07:00 -08:00
Jamie Cameron
dc69277ab3 German translation updates from Raymond Vetter 2016-12-18 10:36:28 -08:00
Jamie Cameron
7fd09d1a95 German translation updates from Raymond Vetter 2016-12-18 10:36:22 -08:00
Jamie Cameron
7dae254be4 Fix perl warning 2016-12-16 21:46:56 -08:00
Jamie Cameron
ce6b5fed71 German translation update from Abrax 2016-12-14 22:00:44 -08:00
Jamie Cameron
62049ffa47 Expand supported Squid versions 2016-12-14 09:36:23 -08:00
Jamie Cameron
2e6308372d Don't prompt for password 2016-12-11 19:54:47 -08:00
Jamie Cameron
e87f8ef1f5 Handle new format diretives for the root DN and password 2016-12-11 11:08:48 -08:00
Jamie Cameron
12b3e98bec Shell script needs to start with /bin/sh 2016-12-10 22:44:12 -08:00
Jamie Cameron
319c3c1f42 Fix inconsistent quoting https://github.com/webmin/webmin/issues/470 2016-12-09 10:01:04 -08:00
Jamie Cameron
6a7c775d83 Filter out any JS in action descriptions 2016-12-06 21:09:56 -08:00
Jamie Cameron
e43ec7e4c0 HTML escape record values 2016-12-06 20:35:06 -08:00
Jamie Cameron
3bee204db2 Fix permissions check for dleting zones, that was breaking access to zones in views https://sourceforge.net/p/webadmin/bugs/4853/ 2016-12-06 15:18:24 -08:00
Jamie Cameron
96c6793301 Don't ignore selection for files that start with 0 https://www.virtualmin.com/node/44669 2016-12-06 07:46:28 -08:00
Jamie Cameron
f786638c29 If a command is already in the previous list, move it to the top https://github.com/webmin/webmin/issues/469 2016-12-05 14:50:18 -08:00
Jamie Cameron
bb2f90ee5b Disallow backslash in passwords https://virtualmin.com/node/44451 2016-12-04 10:25:48 -08:00
Jamie Cameron
6676f6c660 Merge branch 'master' of git@github.com:webmin/webmin 2016-12-04 10:13:43 -08:00
Jamie Cameron
0e38b9e7a0 Cert file could be a link, so copy the target rather than the link 2016-12-04 10:03:11 -08:00
Jamie Cameron
afa7f0d82b Merge pull request #467 from qooob/master
Unambiguous table header
2016-12-02 14:22:05 -08:00
Ilia Rostovtsev
bf7873b3e0 Unambiguous table header 2016-12-02 09:43:21 +03:00
Ilia Rostovtsev
e1fa75f314 Unambiguous table header 2016-12-02 09:43:01 +03:00
Ilia Rostovtsev
8aa6cc1c08 Unambiguous table header 2016-12-02 09:42:48 +03:00
Ilia Rostovtsev
f06acc1a92 Unambiguous table header 2016-12-02 09:42:33 +03:00
Ilia Rostovtsev
675e0f032a Unambiguous table header 2016-12-02 09:42:07 +03:00
Ilia Rostovtsev
917ff95a90 Unambiguous table header 2016-12-02 09:41:24 +03:00
Ilia Rostovtsev
c415c46b37 Unambiguous table header 2016-12-02 09:40:36 +03:00
Jamie Cameron
e5760f78ac Drop two old themes from the standard package 2016-11-30 17:16:24 -08:00
Jamie Cameron
88907f3079 Show previously used names if any https://www.virtualmin.com/node/41951 2016-11-30 15:52:33 -08:00
Jamie Cameron
f700928156 Merge branch 'master' of git@github.com:webmin/webmin 2016-11-30 15:50:39 -08:00
Jamie Cameron
149c4aad4f Some records don't have values (like ttl) https://sourceforge.net/p/webadmin/bugs/4851/ 2016-11-30 15:48:43 -08:00
Jamie Cameron
9bc5766fa1 Merge pull request #465 from qooob/master
SeLinux/attributes listing and control - Security strengthening/2
2016-11-30 13:51:41 -08:00
Jamie Cameron
c36f4e2af1 Merge pull request #466 from qooob/patch-1
`stat()` -> `lstat()` seems better
2016-11-30 13:21:04 -08:00
Ilia Rostovtsev
3b66f444f8 stat() -> lstat() seems better 2016-11-30 15:00:57 +03:00
Ilia Rostovtsev
75700873ff SeLinux/attributes listing and control - Security strengthening/2 2016-11-30 13:48:46 +03:00
Ilia Rostovtsev
86dfb7f686 SeLinux/attributes listing and control - Security strengthening/2 2016-11-30 13:47:06 +03:00
Jamie Cameron
47b26ce53e Merge pull request #464 from qooob/master
SeLinux/attributes listing and control - Security strengthening
2016-11-29 14:00:16 -08:00
Ilia Rostovtsev
28c5b02c4a SeLinux/attributes listing and control - Security strengthening 2016-11-30 00:13:36 +03:00
Jamie Cameron
5c8540a832 Merge pull request #463 from qooob/master
SeLinux/attributes listing and control
2016-11-29 10:06:17 -08:00
Ilia Rostovtsev
5835afd971 SeLinux/attributes listing and control 2016-11-29 16:44:02 +03:00
Ilia Rostovtsev
ff0ba4822d SeLinux/attributes listing and control 2016-11-29 16:43:32 +03:00
Ilia Rostovtsev
df1334f3af SeLinux/attributes listing and control 2016-11-29 16:42:36 +03:00
Ilia Rostovtsev
7621053e6c SeLinux/attributes listing and control 2016-11-29 16:42:17 +03:00
Ilia Rostovtsev
21b431f59b SeLinux/attributes listing and control 2016-11-29 16:41:52 +03:00
Ilia Rostovtsev
5a47843eb6 SeLinux/attributes listing and control 2016-11-29 16:40:56 +03:00
Ilia Rostovtsev
cde06ff828 SeLinux/attributes listing and control 2016-11-29 16:40:17 +03:00
Ilia Rostovtsev
d438f002a9 SeLinux/attributes listing and control 2016-11-29 16:39:43 +03:00
Ilia Rostovtsev
aa0f31c93d SeLinux/attributes listing and control 2016-11-29 16:39:22 +03:00
Ilia Rostovtsev
0e52919e83 SeLinux/attributes listing and control 2016-11-29 16:39:02 +03:00
Ilia Rostovtsev
fdb811e1a6 SeLinux/attributes listing and control 2016-11-29 16:38:43 +03:00
Ilia Rostovtsev
d653841a1d SeLinux/attributes listing and control 2016-11-29 16:38:06 +03:00
Ilia Rostovtsev
1957217e75 SeLinux/attributes listing and control 2016-11-29 16:37:38 +03:00
Ilia Rostovtsev
cca0d50a6b SeLinux/attributes listing and control 2016-11-29 16:36:58 +03:00
Ilia Rostovtsev
dffc6c10b2 SeLinux/attributes listing and control 2016-11-29 16:36:24 +03:00
Ilia Rostovtsev
043690aee8 SeLinux/attributes listing and control 2016-11-29 16:36:11 +03:00
Ilia Rostovtsev
c03e3a5c97 SeLinux/attributes listing and control 2016-11-29 16:35:07 +03:00
Ilia Rostovtsev
2c94d548f2 SeLinux/attributes listing and control 2016-11-29 16:33:02 +03:00
Ilia Rostovtsev
0df9e25be2 SeLinux/attributes listing and control 2016-11-29 16:32:43 +03:00
Ilia Rostovtsev
ed66605896 SeLinux/attributes listing and control 2016-11-29 16:32:24 +03:00
Ilia Rostovtsev
70b534ef3c SeLinux/attributes listing and control 2016-11-29 16:31:57 +03:00
Ilia Rostovtsev
b085b2142f SeLinux/attributes listing and control 2016-11-29 16:31:02 +03:00
Jamie Cameron
c51b7ca4fd Try both upper and lower case P flags https://www.virtualmin.com/node/44318 2016-11-28 15:01:32 -08:00
Jamie Cameron
3e592861d4 Merge branch 'master' of git@github.com:webmin/webmin 2016-11-26 17:22:35 -08:00
Jamie Cameron
f505abccd5 Fix perl warning by failing fast if directory doesn't exist https://sourceforge.net/p/webadmin/bugs/4849/ 2016-11-26 17:15:54 -08:00
Jamie Cameron
592d47067a Merge pull request #460 from qooob/patch-39
Typo
2016-11-25 09:47:05 -08:00
Ilia Rostovtsev
37c7f1aaa7 Typo 2016-11-25 15:16:38 +03:00
Jamie Cameron
2b7688d445 Trying to limit the level of recursion when parsing turns out to be infinitely expensive :-( 2016-11-18 15:14:49 -08:00
Jamie Cameron
a508348cca Make missing perl module clearer 2016-11-18 13:42:19 -08:00
Jamie Cameron
84de87f7ed Take fixed version into account when checking for a new version 2016-11-14 20:34:34 -08:00
Jamie Cameron
c8ef4468c3 Stop including the X1 let's encrypt cert https://www.virtualmin.com/node/43460 2016-11-11 18:46:43 -08:00
Jamie Cameron
79cc63c016 / is not an actual chroot 2016-11-10 11:25:16 -08:00
Jamie Cameron
c0a72633e8 Add support for pre-theme-change functions as well 2016-11-10 10:12:59 -08:00
Jamie Cameron
f3c063644d theme pre/post functions have to be exported 2016-11-10 10:04:25 -08:00
Jamie Cameron
cda820a418 MySQL 5.7.16 doesn't support the hosts table https://www.virtualmin.com/node/43131 2016-11-09 20:56:08 -08:00
Jamie Cameron
c38725d371 Load theme library first, so tha the old theme's functions are available 2016-11-04 08:35:21 -07:00
Jamie Cameron
9af0e28e02 Suppress message when backing up to browser https://www.virtualmin.com/node/43291 2016-11-02 22:09:52 -07:00
Jamie Cameron
d8a2a373e4 Add post-theme-change function 2016-11-01 20:39:06 -07:00
Jamie Cameron
d03f6fdc67 Support views without needing to login to MySQL 2016-10-30 22:43:49 -07:00
Jamie Cameron
1e3b845bf1 Deal with invalid keys without crashing 2016-10-30 22:19:45 -07:00
Jamie Cameron
eab1118184 Fix saving of groups https://sourceforge.net/p/webadmin/bugs/4844/ 2016-10-30 20:26:30 -07:00
Jamie Cameron
a19b85d570 Limit level of recursion possible for the most expensive regexp https://www.virtualmin.com/node/43153 2016-10-28 16:53:59 -07:00
Jamie Cameron
0a08ee52ea mysql 5.5+ always supports views 2016-10-27 23:18:35 -07:00
Jamie Cameron
f34ca656a5 Fix another use of nocreateuser permission https://github.com/webmin/webmin/issues/449 2016-10-26 22:03:51 -07:00
Jamie Cameron
0ca5b18938 Disallow colon in default value https://sourceforge.net/p/webadmin/bugs/4839/ 2016-10-26 21:44:03 -07:00
Jamie Cameron
a85db57cdd Merge branch 'master' of git@github.com:webmin/webmin 2016-10-24 17:17:01 -07:00
Jamie Cameron
f8f13738a1 Fix perl warning https://www.virtualmin.com/node/39161 2016-10-24 17:09:19 -07:00
Jamie Cameron
85ce8657f7 Merge pull request #446 from augustr/fix-bind8-lib-comparison
Fix bind version comparison in bind8-lib
2016-10-22 16:39:41 -07:00
August Rydberg
07abd58e8b Fix bind version comparison in bind8-lib 2016-10-22 09:49:37 +02:00
Jamie Cameron
475cc4fbdf Strip out unsafe HTML from error messages 2016-10-21 15:46:23 -07:00
Jamie Cameron
bb0312469e Support all NFS security options https://github.com/webmin/webmin/issues/443 2016-10-19 22:03:28 -07:00
Jamie Cameron
095879911f MAC addresses must have a :, - or . in them 2016-10-19 21:27:20 -07:00
Jamie Cameron
99afee45aa If host entered is 12 hex bytes in any format, convert to standard format 2016-10-19 21:25:15 -07:00
Jamie Cameron
cf956129cb German translation updates from Raymond Vetter 2016-10-18 12:37:10 -07:00
Jamie Cameron
078131f4f6 German translation updates from Raymond Vetter 2016-10-18 12:37:02 -07:00
Jamie Cameron
04f2b51bab Fix some perl warnings https://sourceforge.net/p/webadmin/bugs/4837/ 2016-10-17 21:09:04 -07:00
Jamie Cameron
2a65b999ca source line is not part of an interface https://www.virtualmin.com/node/43038 2016-10-16 15:22:59 -07:00
Jamie Cameron
5486730fd6 Fix incorrect field name 2016-10-16 11:33:47 -07:00
Jamie Cameron
f7f3e3b5ac Show the TLSA numeric codes 2016-10-16 11:18:50 -07:00
Jamie Cameron
c3f86c7f39 Strip comments from public key text 2016-10-16 10:48:11 -07:00
Jamie Cameron
ac7f52d6d1 forgotten checkin for sms subject update 2016-10-14 16:56:25 -07:00
Jamie Cameron
15e2f4a114 Remove the .service suffix https://github.com/webmin/webmin/issues/430 2016-10-14 16:54:07 -07:00
Jamie Cameron
338f801be4 Don't try to clear out file that doesn't exist 2016-10-14 12:29:37 -07:00
Jamie Cameron
b6189c6a43 dev version bump 2016-10-14 11:26:37 -07:00
Jamie Cameron
c9345028d7 Allow setting of subject line for SMS emails 2016-10-14 11:08:00 -07:00
Jamie Cameron
56270624d1 Don't assume that a specific file was edited https://www.virtualmin.com/node/42988 2016-10-12 20:45:54 -07:00
Jamie Cameron
ab561465ba Allow multiple masquerade IPs https://github.com/webmin/webmin/issues/438 2016-10-11 18:01:39 -07:00
Jamie Cameron
b2511a047c In new packages mode, don't show the whole list by default 2016-10-10 15:56:27 -07:00
Jamie Cameron
5e89e16f06 PFS support in usermin too 2016-10-09 22:07:16 -07:00
Jamie Cameron
0bf336d761 Fix PFS support by creating and using DH params file https://github.com/webmin/webmin/issues/413 2016-10-09 21:56:23 -07:00
Jamie Cameron
42157fdfed Default to using the built-in lets encrypt client, because the official client has an unreliable output format 2016-10-09 10:44:14 -07:00
Jamie Cameron
7ee7ed19f4 Merge pull request #437 from deserted/master
increase specificity of regex to avoid problems with new output from certbot/letsencrypt client
2016-10-09 10:37:36 -07:00
Tim Allingham
a04eb85879 increase specificity of regex to avoid problems with new output from certbot/letsencrypt client 2016-10-09 21:00:12 +11:00
Jamie Cameron
0353111336 Enable IPv6 by default for new installs https://sourceforge.net/p/webadmin/bugs/4824/ 2016-10-05 16:43:54 -07:00
Jamie Cameron
b35b58cb94 Initialize a forgotten var that causes zones nested under views to break https://github.com/webmin/webmin/issues/411 2016-10-04 16:33:55 -07:00
Jamie Cameron
f7337c7f27 Clear out JS file 2016-10-03 09:03:28 -07:00
Jamie Cameron
d2b43d2eaa TLSA record support 2016-10-02 20:30:36 -07:00
Jamie Cameron
7ff9e6501a Fix ordering of number-string-number version check, as it needs to come before number-string 2016-10-02 11:31:43 -07:00
Jamie Cameron
18bae5be08 Use a separate mode input to determine whether the system time, hardware time or NTP time are being set. This is needed because authentic theme changes the values of submit buttons 2016-10-02 00:01:29 -07:00
Jamie Cameron
b6bc89aa31 German translation updates from Raymond Vetter 2016-10-01 15:05:33 -07:00
Jamie Cameron
8c8afc0cbb Fix missing space 2016-10-01 15:04:50 -07:00
Jamie Cameron
e8120afc9e New version bump 2016-10-01 15:02:38 -07:00
Jamie Cameron
ce3074ad47 Add missing slash 2016-10-01 14:57:41 -07:00
Jamie Cameron
27ea3f50c0 Fix comparison of versions like 5foo7 and 5foo10 https://github.com/webmin/webmin/issues/282 2016-10-01 10:37:45 -07:00
Jamie Cameron
ac77da0e75 Merge branch 'master' of git@github.com:webmin/webmin 2016-09-30 15:36:59 -07:00
Jamie Cameron
8ab998b123 Fix creation of new actions 2016-09-30 15:36:47 -07:00
Jamie Cameron
a40052a3f0 Merge pull request #432 from cornec81/master
firewall6 modules changes
2016-09-30 14:04:03 -07:00
Jamie Cameron
c6cd892f15 Fail fast if file can't be opened 2016-09-30 14:01:44 -07:00
Corne Cornelius
12b0364e62 silly perl path fix 2016-09-30 20:03:32 +00:00
Corne Cornelius
0883226098 firewall6: bug fixes and pager 2016-09-30 19:57:44 +00:00
Jamie Cameron
7208412de2 let's encrypt output can be a symlink, so always de-reference it https://www.virtualmin.com/node/42419 2016-09-29 16:28:54 -07:00
Jamie Cameron
ceae4b5228 LDAP client check doesn't handle new-style nslcd format https://www.virtualmin.com/node/42113 2016-09-25 09:40:12 -07:00
Jamie Cameron
f308101805 Also use list-unit-files to find disabled units https://github.com/webmin/webmin/issues/430 2016-09-24 15:55:43 -07:00
Jamie Cameron
371d2b008f ATA mode no longer needs to be on by default, as it breaks on some drives https://sourceforge.net/p/webadmin/bugs/4821/ 2016-09-19 19:57:34 -07:00
Jamie Cameron
5f39cfdd39 Properly deal with the case where a directive is missing https://www.virtualmin.com/node/41676 2016-09-19 17:55:15 -07:00
Jamie Cameron
53f087cafa Fix protocol check https://sourceforge.net/p/webadmin/bugs/4820/ 2016-09-18 16:02:39 -07:00
Jamie Cameron
481d2b6d4b German translation updates from Raymond Vetter 2016-09-17 16:21:11 -07:00
Jamie Cameron
e3192f2f19 German translation updates from Raymond Vetter 2016-09-17 16:21:04 -07:00
Jamie Cameron
186d49c1a0 Option has been renamed in IPv6 https://sourceforge.net/p/webadmin/bugs/4819/ 2016-09-17 10:23:58 -07:00
Jamie Cameron
003424a60e Support new format comments https://sourceforge.net/p/webadmin/bugs/4818/ 2016-09-16 21:15:54 -07:00
Jamie Cameron
c2657aab8a Clear zone list on each iteration https://github.com/webmin/webmin/issues/411 2016-09-15 20:53:38 -07:00
Jamie Cameron
3cceb09daa Upgrade form is no longer GET https://sourceforge.net/p/webadmin/usermin-bugs/455/ 2016-09-12 21:34:12 -07:00
Jamie Cameron
9e57a7df51 German translation updates from Raymond Vetter 2016-09-12 20:24:00 -07:00
Jamie Cameron
4cfb984694 German translation updates from Raymond Vetter 2016-09-12 20:24:00 -07:00
Jamie Cameron
220897472f Fix typo 2016-09-12 20:21:43 -07:00
Jamie Cameron
dc69374aaa let's encrypt cert size option 2016-09-11 09:49:18 -07:00
Jamie Cameron
ac4d68f2ce Close HTTP connection on failure, to avoid dangling file handles https://www.virtualmin.com/node/41967 2016-09-09 16:25:11 -07:00
Jamie Cameron
202d672855 dev version bump 2016-09-08 21:44:19 -07:00
Jamie Cameron
2f5ee3eb33 Handle gentoo's apache cofnig check output https://www.virtualmin.com/node/41961 2016-09-08 20:04:49 -07:00
Jamie Cameron
b2d4380577 Add depenency on time::local, so that on systems like Fedora 24 the needed Perl modules get installed https://github.com/webmin/webmin/issues/405 2016-09-06 21:12:36 -07:00
Jamie Cameron
d93ae142f2 Allow password reading from stdin 2016-08-31 22:03:57 -07:00
Jamie Cameron
c8cebbb4b9 German translation updates from Raymond Vetter 2016-08-29 20:40:41 -07:00
Jamie Cameron
db8407ab09 German translation updates from Raymond Vetter 2016-08-29 20:40:35 -07:00
Jamie Cameron
ebfcf159c7 Don't replace a new update with an older one in the same cycle https://www.virtualmin.com/node/41721 2016-08-27 17:48:31 -07:00
Jamie Cameron
8748d785b4 German translation updates from Raymond Vetter 2016-08-27 10:31:50 -07:00
Jamie Cameron
25d31738ec German translation updates from Raymond Vetter 2016-08-27 10:31:45 -07:00
Jamie Cameron
499fba0b8c Forgotten checkin from previous work to validation options files 2016-08-27 09:09:30 -07:00
Jamie Cameron
00bd87ae86 Download all the Let's Encrypt CA files 2016-08-27 09:07:21 -07:00
Jamie Cameron
2bf3dcbf38 Catalan update from Jaume Badiella 2016-08-27 09:06:01 -07:00
Jamie Cameron
6586126d6b Catalan update from Jaume Badiella 2016-08-27 09:05:13 -07:00
Jamie Cameron
8b358c438d Fix default also notify field https://www.virtualmin.com/node/41824 2016-08-26 23:19:08 -07:00
Jamie Cameron
cb481287ac Force stop before starting, just in case the init system thinks we're already started 2016-08-24 21:45:21 -07:00
Jamie Cameron
7e6982a0cf Use title from clone, if any 2016-08-24 21:01:01 -07:00
Jamie Cameron
700afdb0cc Fix perl warning 2016-08-24 20:30:39 -07:00
Jamie Cameron
000405b749 Skip fuse filesystemss 2016-08-23 21:41:39 -07:00
Jamie Cameron
a14864e932 Turkish translation from Melih akpınar 2016-08-21 20:43:47 -07:00
Jamie Cameron
36048fe4cd Option to download mysql backup 2016-08-20 18:46:34 -07:00
Jamie Cameron
e461576cd9 Merge pull request #415 from ymulleneers/patch-1
Copy jobs do not have destination tape
2016-08-19 22:26:05 -07:00
ymulleneers
7188abc556 Copy jobs do not have destination tapes
copy jobs do not have any destination tape (here called volume) (=> ? on the 7th or latest field)
example (spaces removed) : Full Backup 11 19-Aug-16 17:50 ykfdc1-Copyjob
2016-08-19 12:15:44 +02:00
Jamie Cameron
55fb44f34c open_execute_command doesn't work with file handle vars https://sourceforge.net/p/webadmin/bugs/4801/ 2016-08-17 20:12:57 -07:00
Jamie Cameron
b7bbeb457b Don't try to read missing zone file https://sourceforge.net/p/webadmin/bugs/4801/ 2016-08-15 20:29:18 -07:00
Jamie Cameron
e1e6fd43e0 Don't attempt to run named- v if not installed https://sourceforge.net/p/webadmin/bugs/4802/ 2016-08-15 09:01:35 -07:00
Jamie Cameron
46239c247f Fix IPv6 ICMP type option https://sourceforge.net/p/webadmin/bugs/4807/ 2016-08-14 17:36:01 -07:00
Jamie Cameron
22c8d8d041 Assume IPFW version 2, since it's been out for ages https://github.com/webmin/webmin/issues/410 2016-08-14 17:09:28 -07:00
Jamie Cameron
792b4d2bd7 Fix perl error 2016-08-14 11:41:33 -07:00
Jamie Cameron
031dd76538 Perl expects arrays to exist https://sourceforge.net/p/webadmin/bugs/4805/ 2016-08-14 10:22:30 -07:00
Jamie Cameron
74efe3465e Allow version override https://github.com/webmin/webmin/issues/410 2016-08-13 12:23:44 -07:00
Jamie Cameron
b08445e9c4 Fix perl error about use of unitialized arrays 2016-08-12 21:46:03 -07:00
Jamie Cameron
959adc098f Deal with invalid version file https://sourceforge.net/p/webadmin/bugs/4802/ 2016-08-11 20:35:49 -07:00
Jamie Cameron
54c7f75bf9 Some records don't have values https://sourceforge.net/p/webadmin/bugs/4800/ 2016-08-11 20:27:02 -07:00
Jamie Cameron
4dfaaaff09 Don't crash if there are no records of some type https://www.virtualmin.com/node/41676 2016-08-10 13:41:28 -07:00
Jamie Cameron
52180cea58 Work-around for chance that clients may call this API with a string list https://www.virtualmin.com/node/41674 2016-08-10 13:30:45 -07:00
Ilia Rostovtsev
c273cf02f2 Respect module info 2016-05-11 13:58:40 +04:00
806 changed files with 11773 additions and 4103 deletions

2797
JSON/PP.pm Normal file

File diff suppressed because it is too large Load Diff

4
README
View File

@@ -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

View File

@@ -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
View 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&#232;s au programme openssl ou ssleay,3,Automatique
line2=Configuration du syst&#232;me,11
display=Mode d'affichage des utilisateurs et des groupes,1,1-Noms seulement,0-Noms et modules

View File

@@ -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);

View File

@@ -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, " " ],

View File

@@ -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) {

View 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>

View File

@@ -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...

View File

@@ -1,348 +1,358 @@
acl_acl=Peut modifier le contr&#244;le d'acc&#232;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&#233;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&#233;er de nouveaux utilisateurs ?
acl_create=Peut créer de nouveaux utilisateurs ?
acl_delete=Peut supprimer des utilisateurs ?
acl_egroup=Vous n'&#234;tes pas autoris&#233; &#224; modifier les ACL des groupes
acl_emod=Vous n'&#234;tes pas autoris&#233; &#224; modifier le contr&#244;le d'acc&#232;s de ce module
acl_err=Impossible d'enregistrer les contr&#244;les d'acc&#232;s
acl_euser=Vous n'&#234;tes pas autoris&#233; &#224; modifier le contr&#244;le d'acc&#232;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 &#224; 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&#233;lectionn&#233;s...
acl_ips=Peut changer le contr&#244;le d'acc&#232;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&#232;s &#224;
acl_options=Options du contr&#244;le d'acc&#232;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&#233;cemment cr&#233;&#233;s obtiennent
acl_perms_0=Contr&#244;le d'acc&#232;s au module par d&#233;faut (sans restriction)
acl_perms_1=M&#234;me contr&#244;le d'acc&#232;s au module que le cr&#233;ateur
acl_rbac=R&#233;cup&#233;rer les param&#232;tres de contr&#244;le d'acc&#232;s depuis RBAS ?
acl_rbacyes=Oui (remplace les param&#232;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&#233;initialiser en mode plein acc&#232;s
acl_sel=Modules s&#233;lectionn&#233;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&#233;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&#232;me personnel ?
acl_times=Peut changer les heures de connexion autoris&#233;es ?
acl_title=Contr&#244;le d'acc&#232;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&#233;lectionn&#233;s...
acl_users=Utilisateurs pouvant &#234;tre modifi&#233;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&#233;j&#224; 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 &#233;t&#233; g&#233;n&#233;r&#233; avec succ&#232;s.
cert_ebrowser=Webmin ne sait pas comment &#233;mettre des certificats client pour votre navigateur ( $1 )
cert_eca=Impossible de configurer l'Autorit&#233; de Certification : $1
cert_ekey=Une nouvelle cl&#233; SSL n'a pas &#233;t&#233; soumise par votre navigateur : peut-&#234;tre ne g&#232;re-t-il pas les certificats client SSL.
cert_email=Adresse &#233;lectronique
cert_header=D&#233;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=&#201;mettre un certificat
cert_key=Taille de la cl&#233;
cert_msg=Ce formulaire vous permet de demander un certificat SSL client qui servira ensuite &#224; vous accorder l'acc&#232;s &#224; Webmin au lieu de vos nom d'utilisateur et mot de passe. Cette m&#233;thode est plus s&#251;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&#233;partement
cert_pickup=<a href='$1'>Cliquez ici pour s&#233;lectionner votre certificat et l'installer dans votre navigateur</a>
cert_sp=&#201;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&#233;
convert_desc=Ce formulaire vous permet de convertir des utilisateurs Unix existants en utilisateurs Webmin. Les droits d'acc&#232;s de chaque nouvel utilisateur Webmin seront d&#233;termin&#233;s par le groupe s&#233;lectionn&#233; ci-dessous.
convert_ecannot=Vous n'&#234;tes pas autoris&#233; &#224; 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 &#224; convertir saisi
convert_eusers=Aucun utilisateur à convertir saisi
convert_ewgroup=Pas de groupe Webmin de ce type
convert_ewgroup2=Vous n'&#234;tes pas autoris&#233; &#224; affecter de nouveaux utilisateurs &#224; ce groupe
convert_exists=$1 existe d&#233;j&#224;
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 &#233;t&#233; d&#233;fini sur votre syst&#232;me. Vous devez cr&#233;er au moins un groupe avant d'effectuer la conversion, afin de d&#233;finir des droits d'acc&#232;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&#233;
convert_sync=Utiliser &#224; l'avenir le m&#234;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 &#224; un mod&#232;le non permis
cpass_old=Les vieux mots de passes ne peuvent pas &#234;tre r&#233;utilis&#233;s
cpass_re=Ne corresponds pas au mod&#232;le requis
cpass_spellcmd=Ni les commandes $1 ni $2 requises pour v&#233;rifier les mots du dictionnaires ne sont install&#233;es
delete_ecannot=Vous n'&#234;tes pas autoris&#233; &#224; 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&#234;me
delete_euser=Vous n'&#234;tes pas autoris&#233; &#224; supprimer cet utilisateur
edit_all=Autoriser &#224; 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 &#224; partir des adresses r&#233;pertori&#233;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&#244;ner l'utilisateur Webmin
edit_days=Jours autoris&#233;s dans la semaine
edit_deny=Interdire &#224; partir des adresses r&#233;pertori&#233;es
edit_dont=Inchang&#233;
edit_ecreate=Vous n'&#234;tes pas autoris&#233; &#224; cr&#233;er des utilisateurs
edit_egone=L'utilisateur s&#233;lectionn&#233; n'existe plus !
edit_euser=Vous n'&#234;tes pas autoris&#233; &#224; 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&#233;
edit_hours=Heures autoris&#233;es dans la journ&#233;e
edit_invert=Inverser la s&#233;lection
edit_ipdesc=Le contr&#244;le d'acc&#232;s IP utilisateur fonctionne de la m&#234;me mani&#232;re que le contr&#244;le d'acc&#232;s IP global du module de configuration de
edit_ips=Contr&#244;le d'acc&#232;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&#233;
edit_lock=Aucun mot de passe accepté
edit_log=Voir les journaux
edit_logout=Dur&#233;e d'inactivit&#233; avant d&#233;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&#233;gories ?
edit_overlayglobal=Aucun - utiliser les th&#232;me par d&#233;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 &#233;t&#233; modifier depuis $1 jours - le compte est verrouill&#233; !
edit_passmax=le mot de passe n'a pas &#233;t&#233; modifier depuis $1 jours -il doit etre modifier &#224; 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&#233;e MySQL
edit_proto_postgresql=La base de donn&#233;e PostgreSQL
edit_rbacdeny=Mode d'acc&#232;s RBAC
edit_rbacdeny0=RBAC ne contr&#244;le que le module ACLs s&#233;lectionn&#233;
edit_rbacdeny1=RBAC contr&#244;le tous les modules et les ACLs
edit_readonly=Cet utilisateur Webmin ne doit pas &#234;tre &#233;dit&#233; car il est g&#233;r&#233; directement par le module $1. <a href='$2'>Cliquez ici</a> pour ignorer cet avertissement et &#233;diter tout de m&#234;me cet utilisateur, mais attention car tous les changements manuels peuvent &#234;tre red&#233;finis !
edit_real=Nom r&#233;el
edit_return=&#224; 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&#232;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&#233;lectionner
edit_seldays=Uniquement les jours s&#233;lectionn&#233;s
edit_selhours=De $1:$2 &#224; $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&#233;tence
edit_skill=Niveau de compétence
edit_switch=Changer d'utilisateur
edit_templock=Verrouill&#233; temporairement
edit_theme=Th&#232;me personnel
edit_themedef=Ancien th&#232;me Webmin
edit_themeglobal=&#192; 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&#233;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'&#234;tes pas autoris&#233; &#224; 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 &#234;tre supprim&#233;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&#233;lectionn&#233;s, et les $2 utilisateurs qu'ils contiennent ? Tous leurs param&#232;tres de contr&#244;le d'acc&#232;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&#233;lectionn&#233;s : $1
gdeletes_users=Groupes sélectionnés : $1
gedit_desc=Description du Groupe
gedit_ecannot=Vous n'&#234;tes pas autoris&#233; &#224; modifier des groupes
gedit_egone=Le Groupe s&#233;lectionn&#233; 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&#232;s du groupe Webmin
gedit_rights=Droits d'accèês du groupe Webmin
gedit_title=Modification d'un groupe Webmin
gedit_title2=Cr&#233;ation d'un groupe Webmin
gsave_edesc=Description Invalide - le caract&#232;re : n'est pas permis
gsave_edup=Ce nom de groupe est d&#233;j&#224; utilis&#233;
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&#233;serv&#233; 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&#233;s de la liste d'acc&#232;s des modules pour $1 car leurs serveurs correspondants ne sont pas install&#233;s sur votre syst&#232;me...
hide_desc2=Soyez conscient que ces modules ne r&#233;appara&#238;tront pas automatiquement si les serveurs correspondants sont install&#233;s. Vous devrez accorder l'acc&#232;s manuellement &#224; l'aide de ce module.
hide_none=Rien &#224; masquer - $1 n'a acc&#232;s &#224; aucun module dont les serveurs correspondants ne sont pas install&#233;s sur votre syst&#232;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&#233;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 &#224; Webmin de mani&#232;re s&#251;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&#233;er un nouvel utilisateur Webmin
index_delete=Effacer la s&#233;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&#233;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&#233;fini
index_nogroups=Aucun groupe Webmin modifiable n'est défini
index_none=Aucun
index_nousers=Aucun utilisateur Webmin modifiable n'est d&#233;fini
index_nousers=Aucun utilisateur Webmin modifiable n'est défini
index_rbac=Configuration RBAC
index_rcreate=Cr&#233;er un nouvel utilisateur &#224; niveau de risque
index_return=&#224; 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 &#224; jour l'acc&#232;s de l'$1 pour l'utilisateur $2
log_cert=&#201;mis un certificat pour l'utilisateur $1
log_clone=Clon&#233; l'utilisateur Webmin $1 en $2
log_create=Cr&#233;&#233; l'utilisateur Webmin $1
log_create_g=Cr&#233;&#233; le groupe Webmin $1
log_delete=Supprim&#233; l'utilisateur Webmin $1
log_delete_g=Supprim&#233; le groupe Webmin $1
log_delete_groups=$1 est effac&#233; des groupes Webmin
log_delete_users=$1 est effac&#233; des utilisateurs Webmin
log_modify=Modifi&#233; l'utilisateur Webmin $1
log_modify_g=Modifi&#233; le groupe Webmin $1
log_rename=Renomm&#233; l'utilisateur Webmin $1 en $2
log_rename_g=Renomm&#233; le groupe Webmin $1 en $2
log_reset=R&#233;initialis&#233; l'acc&#232;s de l'$1 pour l'utilisateur $2
log_switch=Bascul&#233; 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&#233;ration de cr&#233;ation des tables pour l'utilisateur et le groupe a &#233;chou&#233;e.
make_failed=... &#201;chec de la cr&#233;ation : $1
make_still=Quelques probl&#232;mes ont &#233;t&#233;s rencontr&#233;s m&#234;me apr&#232;s la cr&#233;ation de la table : $1
make_title=cr&#233;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&#233;ation de LDAP DN
makedn_title=Création de LDAP DN
pass_days=jours
pass_ecannot=Vous n'&#234;tes pas autoris&#233; &#224; &#233;diter les restrictions des mots de passes
pass_nooldblock=R&#233;utilisation du mot de passe illimit&#233;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&#233;gration RBAC dans Webmin offre la possibilit&#233; pour un module utilisateur de d&#233;terminer les permissions ACL depuis une base de donn&#233;es RBAC (Role Based Access Control), plut&#244;t que depuis les fichiers de configuration de Webmin. Une fois que le support RBAC est activ&#233;, tout utilisateur pour qui <b>$edit_rbacdeny1</b> l'option est s&#233;lectionn&#233;e verra ses possibilit&#233;s d&#233;termin&#233;e par RBAC plut&#244;t que par les param&#232;tres de cont&#244;le d'acc&#232;s de Webmin.
rbac_ecpan=Vous n'avez pas acc&#232;s &#224; la page de modules Perl de Webmin pour installer le module $1 n&#233;cessaire pour l'int&#233;gration de RBAC.
rbac_eperl=Le module Perl $1 n&#233;cessaire pour l'int&#233;gration RBAC n'est pas install&#233;. <a href='$2'>Cliquez ici</a> pour l'installer maintenant.
rbac_esolaris=RBAC n'est support&#233; actuellement que sur Solaris, et ne peut pas &#234;tre utilis&#233; sur ce syst&#232;me $1.
rbac_ok=L'int&#233;gration de RBAC est disponible sur ce syt&#232;me et peut &#234;tre activ&#233;e pour les utilisateurs en &#233;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&#232;re &#171; : &#187;
save_ecreate=Vous n'&#234;tes pas autoris&#233; &#224; cr&#233;er des utilisateurs
save_edays=Pas de jours autoris&#233;s s&#233;lectionn&#233;s
save_edeny=Vous ne pouvez pas vous interdire d'avoir acc&#232;s au module de configuration des utilisateurs Webmin
save_edup=L'utilisateur '$1' existe d&#233;j&#224;
save_egroup=Vous n'&#234;tes pas autoris&#233; &#224; affecter quoi que ce soit &#224; 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&#233;es manquantes ou incorrectes
save_ehours2=L'heure de d&#233;but de l'autorisation doit &#234;tre avant l'heure de fin
save_eip='$1' n'est pas une adresse IP ou une adresse r&#233;seau compl&#232;te
save_elogouttime=Temporisation de d&#233;connexion manquante ou non num&#233;rique
save_emask='$1' n'est pas un masque r&#233;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&#232;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&#233;serv&#233; pour une utilisation interne
save_enet='$1' n'est pas une adresse r&#233;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&#232;me d'exploitation ne g&#232;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&#233; ou ne fonctionne pas correctement.
save_epam2=Vous pouvez utiliser le module <b>Modules Perl</b> de Webmin pour <a href='$1'>t&#233;l&#233;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'&#234;tes pas autoris&#233; &#224; modifier cet utilisateur
schema_title=T&#233;l&#233;charger un Sch&#233;ma LDAP
sessions_desc=Les noms de connexion de la session Webmin actuelle sont r&#233;pertori&#233;s ci-dessous. Pour annuler une session existante et forcer l'utilisateur &#224; se connecter &#224; nouveau, cliquez sur son identifiant de session.
sessions_host=Adresse IP
sessions_id=Identifiant de session
sessions_login=Connect&#233; 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&#233;e
sql_host=Nom d'h&#244;te
sql_make=Cr&#233;ation des Tables
sql_makedn=Cr&#233;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&#233;e !
switch_euser=Vous n'&#234;tes pas autoris&#233; &#224; basculer vers cet utilisateur
sync_create=Cr&#233;er un utilisateur Webmin quand un utilisateur Webmin est cr&#233;&#233;
sync_delete=Supprimer l'utilisateur Webmin correspondant quand un utilisateur Unix est supprim&#233;
sync_desc=Ce formulaire vous permet de configurer la synchronisation automatique des utilisateurs Unix cr&#233;&#233;s &#224; l'aide de Webmin et des utilisateurs de ce module.
sync_ecannot=Vous n'&#234;tes pas autoris&#233; &#224; configurer la synchronisation des utilisateurs
sync_group=Affecter de nouveaux utilisateurs &#224; un groupe Webmin
sync_nogroups=Aucun groupe Webmin n'a &#233;t&#233; d&#233;fini sur votre syst&#232;me. Vous devez cr&#233;er au moins un groupe pour d&#233;finir l'acc&#232;s concernant les utilisateurs cr&#233;&#233;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&#233;finir un mot de passe &#224; de nouveaux utilisateurs pour l'authentification Unix
sync_update=Mettre &#224; jour l'utilisateur Webmin correspondant quand un utilisateur Unix est mis &#224; jour
udeletes_enone=Aucune s&#233;lection
udeletes_ereadonly=Un des utilisateurs s&#233;lectionn&#233;s est marqu&#233; comme non &#233;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&#233;lectionn&#233;s ? Tous leurs param&#232;tres de contr&#244;le d'acc&#232;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&#233;lectionn&#233;s : $1
unix_all=Autoriser tous les utilisateurs Unix r&#233;pertori&#233;s
unix_allow=Autoriser uniquement les utilisateurs Unix r&#233;pertori&#233;s
unix_def=Autoriser uniquement les utilisateurs Webmin &#224; se connecter
unix_deny=Interdire les utilisateurs Unix r&#233;pertori&#233;s
unix_desc=Cette page vous permet de configurer Webmin pour valider les tentatives de connexion par rapport &#224; la liste des utilisateurs syst&#232;me et de PAM. Ce comportement peut &#234;tre utile si vous avez un grand nombre d'utilisateurs Unix existants auxquels vous souhaitez donner acc&#232;s &#224; Webmin.
unix_ecannot=Vous n'&#234;tes pas autoris&#233; &#224; 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 &#224; autoris&#233; indiqu&#233;
unix_epam=L'authentification Unix n'est pas disponible car le module Perl <tt>Authen::PAM</tt> n'est pas install&#233; ou ne fonctionne pas correctement.
unix_eshells=Fichier d'interpr&#233;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 &#224; autoriser en rang&#233;e $1
unix_ewhouser=Pas d'utilisateur &#224; autoriser en rang&#233;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&#233;s uniquement par PAM comme $1
unix_restrict=Les restrictions additionnelles suivantes seront appliqu&#233;es aux utilisateurs Unix s&#233;lectionn&#233;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=&lt;Comme utilisateur ou groupe&gt;
unix_sel=Autoriser les utilisateurs Unix list&#233;s ci-dessous &#224; se connecter ..
unix_shells=Interdire les utilisateurs Unix dont les interpr&#233;teurs de commandes ne sont pas dans un fichier
unix_sudo=Autoriser les utilisateurs pouvant lancer des commandes via <tt>sudo</tt> &#224; 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 &#224; se connecter avec les droits d'acc&#232;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
View 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=&lt;Comme utilisateur ou groupe&gt;
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

View File

@@ -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

View File

@@ -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'});

View File

@@ -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;
}

View File

@@ -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.

View File

@@ -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

View File

@@ -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";

View File

@@ -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;
}
}

View File

@@ -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

View File

@@ -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.

View File

@@ -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.

View File

@@ -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",

View File

@@ -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.

View File

@@ -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,

View File

@@ -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&#252;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.

View File

@@ -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

View File

@@ -19,3 +19,4 @@ desc_no=Overv&#229;king av b&#229;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.

View File

@@ -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

View 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.

View File

@@ -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);

View File

@@ -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) {

View File

@@ -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'});

View File

@@ -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' ] });
}

View File

@@ -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'});

View File

@@ -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)." ...";

View File

@@ -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) {

View File

@@ -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;

View File

@@ -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(

View File

@@ -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

View File

@@ -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 &#214;ffentlicher Schl&#252;ssel
edit_TLSA=SSL-Zertifikat
edit_TXT=Text
edit_WKS=Bekannter Dienst
edit_add=F&#252;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 &#214;ffentlicher Schl&#252;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&#252;gen
slaves_view=Zur Ansicht hinzuf&#252;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&#252;rfen BIND nicht stoppen
@@ -944,6 +954,12 @@ text_soa=Erh&#246;he Seriennummer automatisch
text_title=Bearbeite Datensatzdatei
text_title2=Zeige Eintr&#228;ge der Zonendatei an
text_undo=R&#252;ckg&#228;ngig
tlsa_match0=Ungehashter Inhalt
tlsa_match1=SHA-256 gehasht
tlsa_match2=SHA-512 gehasht
tlsa_selector0=Volles Zertifikat
tlsa_selector1=&#214;ffentlicher Schl&#252;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 &#214;ffentlicher Schl&#252;ssel
type_TLSA=SSL-Zertifikat
type_TXT=Text
type_WKS=Bekannter Dienst
umass_any=<b>ALLE</b> Eintr&#228;ge aktualisieren

View File

@@ -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

View File

@@ -266,6 +266,7 @@ edit_eip6='$1' er ikke en gyldig IPv6 adresse
edit_ekey=Manglende eller ugyldig base-64 kodet n&#248;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&#248;ringsnavn
edit_ens='$1' er ikke en gyldig navnetjener
@@ -278,6 +279,7 @@ edit_eproto='$1' er ikke et gyldig n&#248;kkel protokoll nummer
edit_eptr='$1' er ikke et gyldig vertsnavn for en revers adresseoppf&#248;ring
edit_erevmust=Revers sone for IP adresse ikke funnet
edit_err=Kunne ikke lagre oppf&#248;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 &#229; tillate sending fra
@@ -290,8 +292,10 @@ edit_espfmx='$1' er ikke et gyldig domenenavn &#229; tillate MX sending fra
edit_espfmxmax=Du har ikke lov til &#229; 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&#229; en tekst-oppf&#248;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=&#216;k serienummer automatisk
text_title=Rediger oppf&#248;ringsfil
text_title2=Vis oppf&#248;ringsfil
text_undo=Omgj&#248;r
tlsa_match0=Uhashet innhold
tlsa_match1=SHA-256 hashet
tlsa_match2=SHA-512 hashet
tlsa_selector0=Fullt sertifikat
tlsa_selector1=Offentlig n&#248;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&#248;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

View File

@@ -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>");
}
}
}

View File

@@ -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'});

View File

@@ -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

View File

@@ -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&#228;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.

View File

@@ -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);

View File

@@ -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;

View File

@@ -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'));

View File

@@ -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++;
}
}

View File

@@ -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.

View File

@@ -1,161 +1,160 @@
disk_add=F&#252;ge ein neues Slice hinzu.
disk_blocks=<b>Bl&#246;cke:</b> $1
disk_cylinders=<b>Zylinder:</b> $1
disk_device=<b>Ger&#228;te-Datei:</b> $1
disk_dsize=<b>Festplattengr&#246;&#223;e:</b> $1
disk_egone=Festplatte existiert nicht l&#228;nger!
disk_end=Endblock
disk_extent=Extent
disk_free=Freier Speicher
disk_iscsi=iSCSI geteiltes Ger&#228;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&#246;&#223;e
disk_smart=Zeige SMART Status
disk_smartdesc=Zeigt den aktuellen Status dieses Laufwerk wie von SMART erkannt, und &#252;berpr&#252;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&#246;sche Jetzt
dpart_deleting=L&#246;sche Partition $1 ..
dpart_done=.. fertig
dpart_failed=.. L&#246;schen fehlgeschlagen : $1
dpart_rusure=Sind Sie sicher, dass Sie die Partition $1 l&#246;schen m&#246;chten? Alle Dateisysteme in ihr werden ebenfalls gel&#246;scht.
dpart_title=L&#246;sche Partition
dpart_warn=Warnung - diese Partition ist aktuell in Benutzung von $1
dslice_confirm=Jetzt l&#246;schen
dslice_deleting=L&#246;sche Slice $1 ..
dslice_done=.. fertig
dslice_failed=.. l&#246;schen fehlgeschlagen : $1
dslice_rusure=Sind Sie sicher, dass Sie den Slice $1 l&#246;schen m&#246;chten? Alle Partitionen und Dateisysteme in ihm werden ebenfalls gel&#246;scht.
dslice_title=L&#246;sche Slice
dslice_warn=Warnung - Dieses Slice ist derzeit in Verwendung : $1
fsck_checking=Pr&#252;fe Dateisystem auf $1 ..
fsck_done=.. Pr&#252;fung abgeschlossen ohne Fehler zu finden
fsck_err=Fehlgeschlagen Dateisystem zu pr&#252;fen
fsck_failed=.. Pr&#252;fung fehlgeschlagen!
fsck_title=Pr&#252;fe Dateisystem
index_dmodel=Marke und Modell
index_dname=Festplattenname
index_dparts=Slices
index_dsize=Gesamtgr&#246;&#223;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&#246;scht
log_delete_slice=Slice $1 gel&#246;scht
log_fsck_part=Dateisystem auf der Partition $1 &#252;berpr&#252;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&#252;r root muss Prozent sein
newfs_elabel=Fehlendes oder ung&#252;ltiges Label
newfs_err=Fehlgeschlagen Dateisystem zu erstellen
newfs_failed=.. erstellen fehlgeschlagen!
newfs_free=Speicherplatz zum Reservieren f&#252;r root
newfs_header=Neues Dateisystem Details
newfs_label=Dateisystem Label
newfs_none=Keines
newfs_title=Erstelle Dateisystem
newfs_trim=Aktiviere TRIM-Modus f&#252;r SSDs
npart_creating=Erstelle Partition $1 auf $2
npart_diskblocks=Slice Gr&#246;&#223;e in Bl&#246;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&#246;&#223;er als die Slice Gr&#246;&#223;e von $1 Bl&#246;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&#246;&#223;e in Bl&#246;cken
nslice_done=.. Slice hinzugef&#252;gt
nslice_eclash=Ein Slice mit Nummer $1 existiert bereits
nslice_eend=Endblock muss eine Nummer sein
nslice_emax=Endblock kann nicht gr&#246;&#223;er sein als Festplattengr&#246;&#223;e von $1 Bl&#246;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&#228;ndert werden, da diese derzeit in Gebrauch ist.
part_delete=L&#246;sche Partition
part_deletedesc=Klicke auf diese Taste, um diese Partition aus dem Slice zu entfernen. Alle Daten auf der Partition werden f&#252;r immer verloren sein.
part_device=Ger&#228;tedatei
part_egone=Partition existiert nicht l&#228;nger!
part_end=Endblock
part_err=Fehlgeschlagen Partition zu speichern
part_esave=Aktuell benutzt von $1
part_foruse=F&#252;r den Einsatz von $1
part_fsck=Pr&#252;fe Dateisystem
part_fsckdesc=Klicke auf diese Taste, um das UFS-Dateisystem auf diesem Ger&#228;t zu &#252;berpr&#252;fen und gefundene Fehler zu reparieren.
part_header=Partitionsdetails
part_inuse=In Benutzung von $1
part_mountmsg=Mount dieses Ger&#228;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&#228;t als virtuellen Speicher auf Ihrem System, um die Menge des verf&#252;gbaren Speichers zu erh&#246;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&#228;che, um ein neues UFS-Dateisystem auf diesem Ger&#228;t zu erstellen. Alle Daten, die zuvor auf der Partition waren, werden gel&#246;scht.
log_newfs_part=Dateisystem auf Partition $1 erstellt
part_mountmsg=Mount dieses Ger&#228;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&#246;&#223;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&#228;ndert werden, da diese derzeit in Gebrauch ist.
nslice_erange=Startblock muss kleiner als der Endblock sein
dpart_deleting=L&#246;sche Partition $1 ..
part_fsckdesc=Klicke auf diese Taste, um das UFS-Dateisystem auf diesem Ger&#228;t zu &#252;berpr&#252;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&#252;r immer verloren sein.
fsck_done=.. Pr&#252;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&#252;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 &#252;berpr&#252;ft
slice_use=Benutzt von
newfs_free=Speicherplatz zum Reservieren f&#252;r root
dpart_failed=.. L&#246;schen fehlgeschlagen : $1
disk_blocks=<b>Bl&#246;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&#252;r den Einsatz von $1
newfs_none=Keines
newfs_elabel=Fehlendes oder ung&#252;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&#246;scht
nslice_eclash=Ein Slice mit Nummer $1 existiert bereits
dslice_title=L&#246;sche Slice
slice_type=Typ
nslice_emax=Endblock kann nicht gr&#246;&#223;er sein als Festplattengr&#246;&#223;e von $1 Bl&#246;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&#252;r SSDs
disk_type=Typ
newfs_label=Dateisystem Label
part_type=Partitionstyp
newfs_title=Erstelle Dateisystem
disk_device=<b>Ger&#228;te-Datei:</b> $1
nslice_parting=Erstelle Standard-Partitionen in Slice $1 auf $2 ..
disk_dsize=<b>Festplattengr&#246;&#223;e:</b> $1
newfs_efree=Speicherplatz zum Reservieren f&#252;r root muss Prozent sein
slice_sstart=Startender Block
npart_diskblocks=Slice Gr&#246;&#223;e in Bl&#246;cken
index_dparts=Slices
slice_egone=Ausgew&#228;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&#228;che, um ein neues UFS-Dateisystem auf diesem Ger&#228;t zu erstellen. Alle Daten, die zuvor auf der Partition waren, werden gel&#246;scht.
nslice_pfailed=.. Partition Erstellung fehlgeschlagen : $1
dpart_title=L&#246;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&#252;fung fehlgeschlagen!
dpart_rusure=Sind Sie sicher, dass Sie die Partition $1 l&#246;schen m&#246;chten? Alle Dateisysteme in ihr werden ebenfalls gel&#246;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&#246;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&#246;&#223;e
part_delete=L&#246;sche Partition
slice_add=Eine neue Partition hinzuf&#252;gen.
dslice_deleting=L&#246;sche Slice $1 ..
npart_emax=Endblock kann nicht gr&#246;&#223;er als die Slice Gr&#246;&#223;e von $1 Bl&#246;cken sein
fsck_err=Fehlgeschlagen Dateisystem zu pr&#252;fen
disk_size=Gr&#246;&#223;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&#246;schen m&#246;chten? Alle Partitionen und Dateisysteme in ihm werden ebenfalls gel&#246;scht.
slice_start=Startblock
disk_use=Benutzt von
part_return=Partitionsdetails
part_size=Partitionsgr&#246;&#223;e
part_start=Startblock
part_title=Editiere Partition
part_type=Partitionstyp
part_use=Aktuell benutzt von
select_device=$1 Ger&#228;t $2
disk_iscsi=iSCSI geteiltes Ger&#228;t $1
nslice_done=.. Slice hinzugef&#252;gt
disk_no=Slice
index_return=Liste an Festplatten
nslice_number=Slice Nummer
select_part=$1 Ger&#228;t $2 Slice $3 Partition $4
select_slice=$1 Ger&#228;t $2 Slice $3
slice_add=Eine neue Partition hinzuf&#252;gen.
slice_delete=L&#246;sche Slice
log_delete_part=Partition $1 gel&#246;scht
part_nouse=Nichts
disk_free=Freier Speicher
slice_deletedesc=L&#246;sche diesen Slice und alle Partitionen und Dateisysteme innerhalb. Alle Daten auf diesem Dateisystem werden mit ziemlicher Sicherheit nicht wiederhergestellt werden k&#246;nnen.
slice_egone=Ausgew&#228;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&#252;fe Dateisystem
part_mountmsg2=Mount dieses Ger&#228;t als virtuellen Speicher auf Ihrem System, um die Menge des verf&#252;gbaren Speichers zu erh&#246;hen.
disk_smartdesc=Zeigt den aktuellen Status dieses Laufwerk wie von SMART erkannt, und &#252;berpr&#252;ft auf Festplattenfehler.
slice_sactive=Aktiv Slice?
slice_sblocks=Anzahl an Bl&#246;cken
slice_send=Endblock
slice_size=Gr&#246;&#223;e
slice_ssize=Slice Gr&#246;&#223;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&#228;t $2 Slice $3
nslice_failed=.. Slice Erstellung fehlgeschlagen : $1
disk_egone=Festplatte existiert nicht l&#228;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&#252;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&#246;sche Slice
slice_size=Gr&#246;&#223;e
dslice_confirm=Jetzt l&#246;schen
log_create_part=Partition $1 erstellt
dslice_done=.. fertig
disk_end=Endblock
part_egone=Partition existiert nicht l&#228;nger!
npart_title=Erstelle Partition
slice_sblocks=Anzahl an Bl&#246;cken
nslice_diskblocks=Festplattengr&#246;&#223;e in Bl&#246;cken
disk_add=F&#252;ge ein neues Slice hinzu.
index_problem=Dieses Modul kann nicht verwendet werden : $1
disk_vm=Virtueller Speicher
select_device=$1 Ger&#228;t $2
dpart_confirm=L&#246;sche Jetzt
nslice_estart=Startblock muss eine Nummer sein
dpart_done=.. fertig

View File

@@ -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.

View File

@@ -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&#228;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
View 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];

View File

@@ -103,12 +103,15 @@ prime1=Primzahl 1
prime2=Primzahl 2
privateExponent=Privater Exponent
publicExponent=&#214;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&#252;r
signcsr_desc=Auf dieser Seite k&#246;nnen Sie eine signiertes CSR von jemand anderem mit einem eigenen privaten Schl&#252;ssel signieren.
signcsr_e_nocsrfile=Keinen CSR Dateinamen eingegeben
signcsr_e_nokeyfile=Kein CA privater Schl&#252;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&#228;ndiger Name)
view_choose=W&#228;hle
view_cn=Common Name
view_crl_number=CRL Nummer
view_delete=L&#246;sche
view_deleted=Datei erfolgreich gel&#246;scht
view_download=Download
view_e_nofile=Datei nicht gefunden oder ist keine normale Datei
view_e_not_deleted=Fehler: Problem beim L&#246;schen der Datei
view_email=E-Mail-Adresse
view_last_update=Letztes Update
view_location=Lokalit&#228;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&#228;hle eine Datei zum Anzeigen
view_serial=Ordnungsnummer
view_sig_algorithm=Signaturalgorithmus
view_title=Zeige Zertifikat/CSR/Schl&#252;ssel
view_update=Aktualisieren
view_view=Zeige

16
certmgr/lang/en Executable file → Normal file
View 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
View 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&#237;n
view_cn=Nombre Com&#250;n
view_o=Organizaci&#243;n
view_ou=Unidad de Organizaci&#243;n
view_email=Direcci&#243;n de email
view_location=Locaci&#243;n
view_serial=número de serie
view_sig_algorithm=Algoritmo de firma
view_last_update=&#250;ltima actualizaci&#243;n
view_next_update=Siguiente actualizaci&#243;n
view_revoked_certs=Certificados revocados
view_revoke_date=Fecha de revocaci&#243;n
view_revoke_reason=Raz&#243;n de revocaci&#243;n
view_crl_number=N&#250;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

View File

@@ -4,3 +4,4 @@ desc=PKI Certificate and Key Management
name=certmgr
version=1.8
desc_de=PKI-Zertifikat und Schl&#252;ssel-Management
desc_no=PKI Sertifikater og n&#248;kler

36
certmgr/signcsr.cgi Executable file → Normal file
View 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
View 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");

View File

@@ -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";

View File

@@ -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,

View File

@@ -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.

View File

@@ -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.

View File

@@ -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