Compare commits

...

253 Commits
1.830 ... 1.840

Author SHA1 Message Date
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
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
Ilia Rostovtsev
c273cf02f2 Respect module info 2016-05-11 13:58:40 +04:00
415 changed files with 5878 additions and 1192 deletions

2797
JSON/PP.pm Normal file

File diff suppressed because it is too large Load Diff

2
README
View File

@@ -1,4 +1,4 @@
Webmin Version 1.830
Webmin Version 1.840
--------------------
Webmin is a web-based interface for system administration for Unix.
Using any browser that supports tables and forms, you can setup user

File diff suppressed because one or more lines are too long

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

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

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

@@ -42,3 +42,4 @@ longdesc_de=Erstellt Webmin-Benutzer und konfiguriert, auf welche Module und Fun
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

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

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

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

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

@@ -148,3 +148,5 @@ Added support for editing DMARC records, which are specially encoded TXT records
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;
@@ -673,9 +675,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] });
@@ -1148,6 +1150,23 @@ elsif ($type eq "TLSA") {
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);
@@ -2424,13 +2443,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;
}
}
@@ -2899,7 +2920,7 @@ $slave_error = $_[0];
sub get_forward_record_types
{
return ("A", "NS", "CNAME", "MX", "HINFO", "TXT", "SPF", "DMARC", "WKS", "RP", "PTR", "LOC", "SRV", "KEY", "TLSA", "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
@@ -3132,13 +3153,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)
@@ -3241,6 +3265,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);
@@ -3309,6 +3335,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);
@@ -3394,7 +3422,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]);
}
}
@@ -3402,7 +3431,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'});

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

@@ -218,6 +218,23 @@ for(my $i=0; $i<@_; $i++) {
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];
}

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

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

@@ -285,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
@@ -383,6 +386,7 @@ 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
@@ -408,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
@@ -427,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
@@ -453,6 +461,9 @@ 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
@@ -508,6 +519,13 @@ 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

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

View File

@@ -296,13 +296,21 @@ else {
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

@@ -1,2 +1,9 @@
sort_mode=0
table_mode=0
conf_add_user=1
conf_add_group=1
conf_find_user=1
conf_find_group=1
conf_allow_refresh=1
conf_allow_sync=1
conf_host_links=1

View File

@@ -1,2 +1,11 @@
line1=Display Options,11
sort_mode=Sort hosts by,1,1-Hostname,0-Order added,2-Description
table_mode=Show hosts as,1,1-Table,0-Icons
conf_host_links=Provide a link to modify host,1,1-Yes,0-No
line2=Users and Groups Options,11
conf_add_user=Allow user add,1,1-Yes,0-No
conf_add_group=Allow group add,1,1-Yes,0-No
conf_find_user=Allow user database searching,1,1-Yes,0-No
conf_find_group=Allow group database searching,1,1-Yes,0-No
conf_allow_refresh=Allow refresh of user and group lists,1,1-Yes,0-No
conf_allow_sync=Allow server synchronization,1,1-Yes,0-No

View File

@@ -1,2 +1,11 @@
line1=Display Optionen,11
sort_mode=Sortiere Hosts nach,1,1-Hostname,0-wie hinzugef&#252;gt,2-Beschreibung
table_mode=Zeige Hosts als,1,1-Tabelle,0-Symbol
conf_host_links=Geben einen Link an, um Host zu &#228;ndern,1,1-Ja, 0-Nein
line2=Benutzer- und Gruppenoptionen,11
conf_add_user=Erlaube Benutzer hinzuf&#252;gen,1,1-Ja, 0-Nein
conf_add_group=Erlaube Gruppen hinzuf&#252;gen,1,1-Ja, 0-Nein
conf_find_user=Erlaube Benutzerdatenbanksuche,1,1-Ja, 0-Nein
conf_find_group=Erlaube Gruppendatenbanksuche,1,1-Ja, 0-Nein
conf_allow_refresh=Erlaube das Aktualisieren von Benutzer- und Gruppenlisten,1,1-Ja, 0-Nein
conf_allow_sync=Erlaube Server-Synchronisation,1,1-Ja, 0-Nein

View File

@@ -93,7 +93,9 @@ foreach $h (@hosts) {
local ($og) = grep { $_->{'group'} eq $in{'group'} } @{$h->{'groups'}};
if ($og) {
local ($s) = grep { $_->{'id'} == $h->{'id'} } @servers;
push(@icons, "/servers/images/$s->{'type'}.gif");
push(@icons, $gconfig{'webprefix'} ?
($gconfig{'webprefix'}."/servers/images/".$s->{'type'}.".gif") :
("../servers/images/".$s->{'type'}.".gif"));
push(@links, "edit_host.cgi?id=$h->{'id'}");
push(@titles, $s->{'desc'} ? $s->{'desc'} : $s->{'host'});
}
@@ -116,7 +118,31 @@ print "</form></table><p>\n";
print &ui_hr();
print &ui_subheading($text{'uedit_hosts'});
&icons_table(\@links, \@titles, \@icons);
if ($config{'table_mode'}) {
# Show as table
print &ui_columns_start([ $text{'index_thost'},
$text{'index_tdesc'},
$text{'index_ttype'} ]);
foreach $h (@hosts) {
local ($s) = grep { $_->{'id'} == $h->{'id'} } @servers;
next if (!$s);
local ($type) = grep { $_->[0] eq $s->{'type'} }
@servers::server_types;
local ($link) = $config{'conf_host_links'} ?
&ui_link("edit_host.cgi?id=$h->{'id'}",($s->{'host'} || &get_system_hostname())) :
($s->{'host'} || &get_system_hostname());
print &ui_columns_row([
$link,
$s->{'desc'},
$type->[1],
]);
}
print &ui_columns_end();
}
else {
# Show as icons
&icons_table(\@links, \@titles, \@icons);
}
&ui_print_footer("", $text{'index_return'});

View File

@@ -18,8 +18,13 @@ print "<tr $cb> <td><table width=100%>\n";
print "<tr> <td><b>$text{'host_name'}</b></td>\n";
if ($server->{'id'}) {
printf &ui_link("/servers/link.cgi/%s/","%s")."</td>\n",
$server->{'id'}, $server->{'desc'} ? "$server->{'desc'} ($server->{'host'}:$server->{'port'})" : "$server->{'host'}:$server->{'port'}";
print "<td>";
printf &ui_link("/servers/link.cgi/%s/","%s"),
$server->{'id'},
$server->{'desc'} ?
"$server->{'desc'} ($server->{'host'}:$server->{'port'})" :
"$server->{'host'}:$server->{'port'}";
print "</td>";
}
else {
print "<td><a href=/>$text{'this_server'}</a></td>\n";

View File

@@ -408,7 +408,9 @@ foreach $h (@hosts) {
local ($ou) = grep { $_->{'user'} eq $in{'user'} } @{$h->{'users'}};
if ($ou) {
local ($s) = grep { $_->{'id'} == $h->{'id'} } @servers;
push(@icons, "/servers/images/$s->{'type'}.gif");
push(@icons, $gconfig{'webprefix'} ?
($gconfig{'webprefix'}."/servers/images/".$s->{'type'}.".gif") :
("../servers/images/".$s->{'type'}.".gif"));
push(@links, "edit_host.cgi?id=$h->{'id'}");
push(@titles, $s->{'desc'} ? $s->{'desc'} : $s->{'host'});
}
@@ -435,7 +437,31 @@ print "</form></table><p>\n";
print &ui_hr();
print &ui_subheading($text{'uedit_hosts'});
&icons_table(\@links, \@titles, \@icons);
if ($config{'table_mode'}) {
# Show as table
print &ui_columns_start([ $text{'index_thost'},
$text{'index_tdesc'},
$text{'index_ttype'} ]);
foreach $h (@hosts) {
local ($s) = grep { $_->{'id'} == $h->{'id'} } @servers;
next if (!$s);
local ($type) = grep { $_->[0] eq $s->{'type'} }
@servers::server_types;
local ($link) = $config{'conf_host_links'} ?
&ui_link("edit_host.cgi?id=$h->{'id'}",($s->{'host'} || &get_system_hostname())) :
($s->{'host'} || &get_system_hostname());
print &ui_columns_row([
$link,
$s->{'desc'},
$type->[1],
]);
}
print &ui_columns_end();
}
else {
# Show as icons
&icons_table(\@links, \@titles, \@icons);
}
&ui_print_footer("", $text{'index_return'});

View File

@@ -23,10 +23,13 @@ $formno = 0;
foreach $h (@hosts) {
local ($s) = grep { $_->{'id'} == $h->{'id'} } @servers;
next if (!$s);
local ($link) = $config{'conf_host_links'} ? "edit_host.cgi?id=$h->{'id'}" : "#";
push(@titles, $s->{'desc'} ? $s->{'desc'}
: "$s->{'host'}:$s->{'port'}");
push(@links, "edit_host.cgi?id=$h->{'id'}");
push(@icons, "$gconfig{'webprefix'}/servers/images/$s->{'type'}.gif");
push(@links, $link);
push(@icons, $gconfig{'webprefix'} ?
($gconfig{'webprefix'}."/servers/images/".$s->{'type'}.".gif") :
("../servers/images/".$s->{'type'}.".gif"));
push(@installed, @{$h->{'packages'}});
$gothost{$h->{'id'}}++;
}
@@ -43,8 +46,11 @@ if (@links) {
next if (!$s);
local ($type) = grep { $_->[0] eq $s->{'type'} }
@servers::server_types;
local ($link) = $config{'conf_host_links'} ?
&ui_link("edit_host.cgi?id=$h->{'id'}",($s->{'host'} || &get_system_hostname())) :
($s->{'host'} || &get_system_hostname());
print &ui_columns_row([
&ui_link("edit_host.cgi?id=$h->{'id'}",($s->{'host'} || &get_system_hostname())),
$link,
$s->{'desc'},
scalar(@{$h->{'users'}}),
scalar(@{$h->{'groups'}}),
@@ -86,63 +92,142 @@ if (@groups) {
}
print "</tr></table></form>\n";
if ($config{'conf_add_user'} == 0 &&
$config{'conf_add_group'} == 0 &&
$config{'conf_allow_refresh'} == 0 &&
$config{'conf_allow_sync'} == 0 &&
$config{'conf_find_user'} == 0 &&
$config{'conf_find_group'} == 0) {
# If we have configured EVERY possible 'host' action off, then dont show
# the header/horizontal-rule/etc...
@hosts = ();
}
if (@hosts) {
# Display search and add forms
print &ui_hr();
print &ui_subheading($text{'index_users'});
print "<table width=100%><tr>\n";
print "<form action=search_user.cgi><td>\n";
print "<b>$text{'index_finduser'}</b> <select name=field>\n";
print "<option value=user checked>$text{'user'}</option>\n";
print "<option value=real>$text{'real'}</option>\n";
print "<option value=shell>$text{'shell'}</option>\n";
print "<option value=home>$text{'home'}</option>\n";
print "<option value=uid>$text{'uid'}</option>\n";
print "</select> <select name=match>\n";
print "<option value=0 checked>$text{'index_equals'}</option>\n";
print "<option value=4>$text{'index_contains'}</option>\n";
print "<option value=1>$text{'index_matches'}</option>\n";
print "<option value=5>$text{'index_ncontains'}</option>\n";
print "<option value=3>$text{'index_nmatches'}</option>\n";
print "</select> <input name=what size=15>&nbsp;&nbsp;\n";
print "<input type=submit value=\"$text{'find'}\"></td></form>\n";
print "<form action=user_form.cgi><td align=right>\n";
print "<input type=hidden name=new value=1>\n";
print "<input type=submit value='$text{'index_newuser'}'>\n";
print "</td></form></tr>\n";
print "<tr><form action=search_group.cgi><td>\n";
print "<b>$text{'index_findgroup'}</b> <select name=field>\n";
print "<option value=group checked>$text{'gedit_group'}</option>\n";
print "<option value=members>$text{'gedit_members'}</option>\n";
print "<option value=gid>$text{'gedit_gid'}</option>\n";
print "</select> <select name=match>\n";
print "<option value=0 checked>$text{'index_equals'}</option>\n";
print "<option value=4>$text{'index_contains'}</option>\n";
print "<option value=1>$text{'index_matches'}</option>\n";
print "<option value=5>$text{'index_ncontains'}</option>\n";
print "<option value=3>$text{'index_nmatches'}</option>\n";
print "</select> <input name=what size=15>&nbsp;&nbsp;\n";
print "<input type=submit value=\"$text{'find'}\"></td></form>\n";
print "<form action=group_form.cgi><td align=right>\n";
print "<input type=hidden name=new value=1>\n";
print "<input type=submit value='$text{'index_newgroup'}'>\n";
print "</td></form></tr>\n";
print "<tr><form action=refresh.cgi>\n";
print "<td><input type=submit value='$text{'index_refresh'}'>\n";
&create_on_input(undef, 1);
print "</td>\n";
print "</form>\n";
print "<form action=sync_form.cgi>\n";
print "<td align=right><input type=submit ",
"value='$text{'index_sync'}'></td>\n";
print "</form></tr> </table>\n";
print "<table width=100%>";
if ($config{'conf_find_user'} == 1 ||
$config{'conf_add_user'} == 1) {
print "<tr>\n";
}
if ($config{'conf_find_user'} == 1) {
print "<td>\n";
print "<form action=search_user.cgi>\n";
print "<b>$text{'index_finduser'}</b> <select name=field>\n";
print "<option value=user checked>$text{'user'}</option>\n";
print "<option value=real>$text{'real'}</option>\n";
print "<option value=shell>$text{'shell'}</option>\n";
print "<option value=home>$text{'home'}</option>\n";
print "<option value=uid>$text{'uid'}</option>\n";
print "</select> <select name=match>\n";
print "<option value=0 checked>$text{'index_equals'}";
print "</option>\n";
print "<option value=4>$text{'index_contains'}</option>\n";
print "<option value=1>$text{'index_matches'}</option>\n";
print "<option value=5>$text{'index_ncontains'}</option>\n";
print "<option value=3>$text{'index_nmatches'}</option>\n";
print "</select> <input name=what size=15>&nbsp;&nbsp;\n";
print "<input type=submit value=\"$text{'find'}\"></form>\n";
print "</td>\n";
}
&ui_print_footer("/", $text{'index'});
if ($config{'conf_add_user'} == 1 &&
$config{'conf_find_user'} == 1) {
print "<td align=right>\n";
}
elsif ($config{'conf_add_user'} == 1) {
print "<td>\n";
}
if ($config{'conf_add_user'} == 1) {
print "<form action=user_form.cgi>\n";
print "<input type=hidden name=new value=1>\n";
print "<input type=submit value='$text{'index_newuser'}'>\n";
print "</form>\n";
print "</td>\n";
}
if ($config{'conf_find_user'} == 1 ||
$config{'conf_add_user'} == 1) {
print "</tr>\n";
}
if ($config{'conf_find_group'} == 1 ||
$config{'conf_add_group'} == 1) {
print "<tr>\n";
}
if ($config{'conf_find_group'} == 1) {
print "<td>\n";
print "<form action=search_group.cgi>";
print "<b>$text{'index_findgroup'}</b> <select name=field>\n";
print "<option value=group checked>$text{'gedit_group'}";
print "</option>\n";
print "<option value=members>$text{'gedit_members'}";
print "</option>\n";
print "<option value=gid>$text{'gedit_gid'}</option>\n";
print "</select> <select name=match>\n";
print "<option value=0 checked>$text{'index_equals'}";
print "</option>\n";
print "<option value=4>$text{'index_contains'}</option>\n";
print "<option value=1>$text{'index_matches'}</option>\n";
print "<option value=5>$text{'index_ncontains'}</option>\n";
print "<option value=3>$text{'index_nmatches'}</option>\n";
print "</select> <input name=what size=15>&nbsp;&nbsp;\n";
print "<input type=submit value=\"$text{'find'}\">";
print "</form>\n";
print "</td>";
}
if ($config{'conf_add_group'} == 1 &&
$config{'conf_find_group'} == 1) {
print "<td align=right>\n";
}
elsif ($config{'conf_add_group'} == 1) {
print "<td>\n";
}
if ($config{'conf_add_group'} == 1) {
print "<form action=group_form.cgi>\n";
print "<input type=hidden name=new value=1>\n";
print "<input type=submit value='$text{'index_newgroup'}'>\n";
print "</form></td>\n";
}
if ($config{'conf_find_group'} == 1 ||
$config{'conf_add_group'} == 1) {
print "</tr>\n";
}
if ($config{'conf_allow_refresh'} == 1 ||
$config{'conf_allow_sync'} == 1) {
print "<tr>\n";
}
if ($config{'conf_allow_refresh'} == 1) {
print "<td>\n";
print "<form action=refresh.cgi>\n";
print "<input type=submit value='$text{'index_refresh'}'>\n";
&create_on_input(undef, 1);
print "</form>\n";
print "</td>\n";
}
if ($config{'conf_allow_refresh'} == 1 &&
$config{'conf_allow_sync'} == 1) {
print "<td align=right>";
}
else {
print "<td>";
}
if ($config{'conf_allow_sync'} == 1) {
print "<form action=sync_form.cgi>\n";
print "<input type=submit value='$text{'index_sync'}'>\n";
print "</form>\n";
print "</td>\n";
}
if ($config{'conf_allow_refresh'} == 1 ||
$config{'conf_allow_sync'} == 1) {
print "</tr>\n";
}
print "</table>\n";
}
&ui_print_footer("/", $text{'index'});

View File

@@ -41,3 +41,5 @@ Added a Module Config option to add new cron jobs to a specific file, like /etc/
Fixed a security hole what could be exploited by passing in an invalid username.
---- Changes since 1.690 ----
Added buttons to move cron jobs to the top and bottom of the list.
---- Changes since 1.830 ----
Added a page for manually editing cron jobs.

View File

@@ -171,6 +171,7 @@ if ($config{'single_file'}) {
'name' => $2,
'value' => $3,
'user' => "NONE",
'command' => '',
'index' => scalar(@rv) });
}
$lnum++;
@@ -1567,5 +1568,23 @@ foreach my $f (readdir(DIR)) {
closedir(DIR);
}
=head2 list_cron_files()
Returns a list of all files containing cron jobs
=cut
sub list_cron_files
{
my @jobs = &list_cron_jobs();
my @files = map { $_->{'file'} } grep { $_->{'file'} } @jobs;
if ($config{'system_crontab'}) {
push(@files, $config{'system_crontab'});
}
if ($config{'cronfiles_dir'}) {
push(@files, glob(&translate_filename($config{'cronfiles_dir'})."/*"));
}
return &unique(@files);
}
1;

30
cron/edit_manual.cgi Executable file
View File

@@ -0,0 +1,30 @@
#!/usr/local/bin/perl
# Show the manual edit form
require './cron-lib.pl';
&ReadParse();
&ui_print_header(undef, $text{'manual_title'}, "");
$access{'acl_users'} == 0 || &error($text{'manual_ecannot'});
# File selection form
my @files = &list_cron_files();
print &ui_form_start("edit_manual.cgi");
print "<b>$text{'manual_edit'}</b> ",
&ui_select("file", $in{'file'} || $files[0], [ @files ])," ",
&ui_submit($text{'manual_ok'});
print &ui_hidden("search", $in{'search'});
print &ui_form_end();
if ($in{'file'}) {
&indexof($in{'file'}, @files) >= 0 || &error($text{'manual_efile'});
print &ui_form_start("save_manual.cgi", "form-data");
print &text('manual_editing',
"<tt>".&html_escape($in{'file'})."</tt>"),"<br>\n";
print &ui_textarea("data", &read_file_contents($in{'file'}), 20, 80);
print &ui_hidden("search", $in{'search'});
print &ui_hidden("file", $in{'file'});
print &ui_form_end([ [ undef, $text{'save'} ] ]);
}
&ui_print_footer("index.cgi?search=".&urlize($in{'search'}),
$text{'index_return'});

View File

@@ -57,6 +57,10 @@ if ($access{'create'}) {
if ($config{cron_allow_file} && $config{cron_deny_file} && $access{'allow'}) {
push(@crlinks, &ui_link("edit_allow.cgi", $text{'index_allow'}) );
}
my @files = &list_cron_files();
if ($access{'acl_users'} == 0 && @files) {
push(@crlinks, &ui_link("edit_manual.cgi", $text{'index_manual'}));
}
# Build a list of cron job rows to show
$single_user = !&supports_users() || (@ulist == 1 && $access{'mode'});

View File

@@ -92,6 +92,7 @@ index_enable=Aktiviere ausgew&#228;hlte Auftr&#228;ge
index_env=Umgebungsvariable
index_esearch=Keine Auftr&#228;ge f&#252;r Ihre Suche nach $1 gefunden.
index_esingle=Die Datei $1 die Cron Auftr&#228;ge auflistet wurde nicht gefunden. Vielleicht ist Cron nicht auf Ihrem System installiert?
index_manual=Editiere manuell Cron-Auftr&#228;ge.
index_move=Verschieben
index_none=Es gibt keine Cron-Auftr&#228;ge auf diesem System
index_none2=Es gibt keine Cron-Auftr&#228;ge, auf die Sie zugreifen d&#252;rfen.
@@ -137,6 +138,11 @@ log_kill_l=Cron-Auftrag "$2" f&#252;r $1 terminiert.
log_modify=Cron-Auftrag f&#252;r $1 ge&#228;ndert
log_modify_l=Cron-Auftrag "$2" f&#252;r $1 ge&#228;ndert
log_move=Cron-Auftrag verschoben f&#252;r $1
manual_ecannot=Sie sind nicht berechtigt, Cron-Auftr&#228;ge manuell zu bearbeiten
manual_edit=Cron Datei zum editieren:
manual_efile=Ausgew&#228;hlte Datei ist ung&#252;ltig!
manual_ok=Editieren
manual_title=Editiere manuell Cron-Auftr&#228;ge
move_err=Konnte Cron-Auftrag nicht verschieben
move_etype=Dieser Cron-Auftrag kann nicht verschoben werden
range_all=F&#252;hre zu jeder Zeit aus

View File

@@ -10,6 +10,7 @@ index_none3=You do not have any cron jobs yet.
index_create=Create a new scheduled cron job.
index_ecreate=Create a new environment variable.
index_allow=Control user access to cron jobs.
index_manual=Manually edit cron jobs.
index_return=cron list
index_env=Environment variable
index_move=Move
@@ -180,4 +181,12 @@ range_eend=Missing or invalid ending date in range to run
delete_err=Failed to delete Cron jobs
delete_enone=None selected
manual_title=Manually Edit Cron Jobs
manual_edit=Cron file to edit:
manual_ok=Edit
manual_editing=Use the text box below to edit Cron jobs in $1. Be careful, as no validation will be done by Webmin!
manual_efile=Selected file is not valid!
manual_ecannot=You are not allowed to manually edit cron jobs
__norefs=1

19
cron/save_manual.cgi Executable file
View File

@@ -0,0 +1,19 @@
#!/usr/local/bin/perl
# Save a manually edited cron job
require './cron-lib.pl';
&ReadParseMime();
&error_setup($text{'manual_err'});
$access{'acl_users'} == 0 || &error($text{'manual_ecannot'});
# Validate the file and update it
my @files = &list_cron_files();
&indexof($in{'file'}, @files) >= 0 || &error($text{'manual_efile'});
$in{'data'} =~ s/\r//g;
$in{'data'} .= "\n" if ($in{'data'} !~ /\n$/);
&open_lock_tempfile(FILE, ">$in{'file'}");
&print_tempfile(FILE, $in{'data'});
&close_tempfile(FILE);
&webmin_log("manual", undef, $in{'file'});
&redirect("index.cgi?search=".&urlize($in{'search'}));

View File

@@ -78,6 +78,7 @@ save_etimeout=Hi falta el temps m
save_eusermin=Les ordres que s'executen en altres servidors no es poden executar des d'Usermin
save_eformat=El tipus MIME de sortida és invàlid
save_eopts=Hi falta el fitxer d'opcions per al paràmetre $1
save_eopts2=El fitxer d'opcions o el valor per defecte del paràmetre $1 no pot contenir:
run_err=No s'ha pogut executar l'ordre
run_ecannot=No tens permís per executar aquesta ordre

View File

@@ -126,6 +126,8 @@ save_ecmd=Ingen kommando angitt
save_edesc=Ingen beskrivelse angitt
save_edir=Manglende eller ugyldig katalog
save_eformat=Ugyldig output MIME type
save_eopts=Manglende innstllingsfil for parameter $1
save_eopts2=Innstillingsfil eller standard-verdi for parameter $1 kan ikke innholde :
save_eorder=Sortering p&#229; hovedsiden m&#229; v&#230;re et heltall
save_err=Kunne ikke lagre kommando
save_etimeout=Manglende eller ugyldig maks. tid &#229; vente

View File

@@ -1 +1 @@
gray-theme
authentic-theme

View File

@@ -190,10 +190,12 @@ elsif ($norder == 2) {
}
# display subnets and shared nets
my @cansubn;
foreach $u (@subn) {
local $can_view = &can('r', \%access, $u);
next if !$can_view && $access{'hide'};
local ($l, $t, $i);
push(@cansubn, $u);
if ($u->{'name'} eq "subnet") {
push(@ulinks, $l = $can_view ?
"edit_subnet.cgi?idx=$u->{'index'}".
@@ -249,8 +251,8 @@ if ($access{'r_sub'} || $access{'c_sub'} ||
undef, undef, undef, \@checkboxes);
}
else {
&net_table(\@subn, 0, scalar(@subn), \@links, \@titles,
\@checkboxids);
&net_table(\@cansubn, 0, scalar(@cansubn), \@links,
\@titles, \@checkboxids);
}
}
elsif (!@ulinks && !@slinks) {
@@ -321,9 +323,11 @@ elsif ($horder == 4) {
}
# display hosts
my @canhost;
foreach $h (@host) {
local $can_view = &can('r', \%access, $h);
next if !$can_view && $access{'hide'};
push(@canhost, $h);
if ($h->{'name'} eq 'host') {
# Add icon for a host
push(@hlinks, $l = $can_view ?
@@ -401,8 +405,8 @@ if ($access{'r_hst'} || $access{'c_hst'} ||
undef, undef, undef, \@hgcheckboxes);
}
else {
&host_table(\@host, 0, scalar(@host), \@links, \@titles,
\@hgcheckboxids);
&host_table(\@canhost, 0, scalar(@canhost), \@links,
\@titles, \@hgcheckboxids);
}
}
elsif (!@hlinks && !@glinks) {

View File

@@ -53,7 +53,7 @@ ssl_title=SSL Configuration
ssl_header=IMAP and POP3 SSL mode options
ssl_key=SSL private key file
ssl_cert=SSL certificate file
ssl_ca=SSL CA certificate file
ssl_ca=SSL client CA certificate file
ssl_pass=Password for key file
ssl_prompt=None needed
ssl_regen=Interval between SSL parameter regeneration
@@ -63,7 +63,7 @@ ssl_plain=Disallow plaintext authentication in non-SSL mode?
ssl_err=Failed to save SSL configuration
ssl_ekey=Missing or non-existent private key file
ssl_ecert=Missing or non-existent certificate file
ssl_eca=Missing or non-existent CA certificate file
ssl_eca=Missing or non-existent client CA certificate file
ssl_eregen=Missing or non-numeric parameter regeneration interval
ssl_epass=No SSL key file password entered

Some files were not shown because too many files have changed in this diff Show More