Compare commits

...

527 Commits

Author SHA1 Message Date
Jamie Cameron
4d4468e907 Prevent password change when it makes no sense https://github.com/virtualmin/virtualmin-gpl/issues/648 2023-10-07 08:51:50 -07:00
Jamie Cameron
fc5a638e24 Merge branch 'master' of github.com:webmin/webmin 2023-10-05 21:22:33 -07:00
Jamie Cameron
cf6a14b7a6 Version bump 2023-10-05 21:22:19 -07:00
Ilia Ross
6ddde41728 Revert "Wait a bit longer for DNS propogation"
This reverts commit 45845b8ca6.
2023-10-04 13:01:43 +03:00
Ilia Ross
5114308d0d Fix to never double escape HTML in display 2023-10-04 00:51:49 +03:00
Ilia Ross
2c325b1ee4 Add support for numbered list hotkey 2023-10-03 19:04:29 +03:00
Ilia Ross
e087bb718c Add support for bullet list hotkey 2023-10-03 18:55:38 +03:00
Ilia Ross
51bdd0d07e Fix to remove old Webmin repo in sources.list file
https://github.com/webmin/webmin/issues/1969#issuecomment-1742141240
2023-10-02 21:14:18 +03:00
Jamie Cameron
74fec8b171 Merge pull request #2013 from webmin/dev/theme-switcher
Add theme switcher using hotkeys
2023-10-01 15:21:47 -07:00
Ilia Ross
9d360f1c24 Fix not to enable on error_stack option 2023-10-01 21:34:50 +03:00
Jamie Cameron
148743894f The rm command should always be available 2023-10-01 11:15:23 -07:00
Ilia Ross
6b935f980c Fix to use ACL modify_user to change theme
https://github.com/webmin/webmin/pull/2013#discussion_r1342020745
2023-10-01 14:36:56 +03:00
Jamie Cameron
e751836684 Revert "Fix to use full path [build]"
This reverts commit b9449c213b.
2023-09-30 21:40:53 -07:00
Ilia Ross
b9449c213b Fix to use full path [build] 2023-10-01 03:04:27 +03:00
Jamie Cameron
a3c9770d4f Merge branch 'master' of github.com:webmin/webmin 2023-09-29 20:43:28 -07:00
Jamie Cameron
3c971dacc1 Copy allow-transfer directives up from global, because they aren't merged 2023-09-29 20:40:31 -07:00
Ilia Ross
ac1a73c154 Update CHANGELOG.md for 2.103 2023-09-29 17:23:52 +03:00
Ilia Ross
3a099fabec Fix to consider stand alone option as well 2023-09-29 15:32:07 +03:00
Ilia Ross
9a1e869a82 Fix to only enable theme switcher in debug mode 2023-09-29 12:56:23 +03:00
Ilia Ross
5c54c614e3 Fix comments to update hotkeys 2023-09-29 03:40:32 +03:00
Ilia Ross
cbdc843500 Add theme switcher using hotkeys 2023-09-29 03:24:14 +03:00
Ilia Ross
82fbca20e4 Merge branch 'master' of github.com:webmin/webmin 2023-09-29 00:22:13 +03:00
Ilia Ross
ef7dbb1f77 Fix to support hiding dot-files in File Manager 2023-09-29 00:21:50 +03:00
Jamie Cameron
4f15106fa9 Merge branch 'master' of github.com:webmin/webmin 2023-09-27 16:45:11 -07:00
Jamie Cameron
96bfc34247 Clean up code to set per-domain allow-transfer and also-notify 2023-09-27 16:36:21 -07:00
Ilia Ross
0289ceed5b Fix indent [build] 2023-09-26 21:24:12 +03:00
Ilia Ross
4e54ce3f85 Fix to correctly cache cloned locale with military time 2023-09-26 21:22:44 +03:00
Ilia Ross
73b2322597 Add English (United States) (military time) locale
https://github.com/webmin/authentic-theme/issues/1676#issuecomment-1735466651
2023-09-26 19:19:21 +03:00
Ilia Ross
05c7b6c3a3 Fix locale as sv isn't se
https://github.com/webmin/authentic-theme/issues/1676
2023-09-26 15:22:57 +03:00
Jamie Cameron
1bb70effea Use proper page flipper API 2023-09-25 20:04:11 -07:00
Jamie Cameron
590c27d202 Make option a bit nicer 2023-09-25 19:58:09 -07:00
Jamie Cameron
846dff2636 Clean up page flipper 2023-09-25 19:56:26 -07:00
Ilia Ross
b339c76fc7 Fix to always escape & by default 2023-09-25 19:19:52 +03:00
Ilia Ross
fbabecbe9e Fix support for new ZSTD and XZ formats 2023-09-24 22:12:59 +03:00
Ilia Ross
7706c0795e Add XZ and ZSTD compression ; add plain TAR archives 2023-09-24 21:21:08 +03:00
Ilia Ross
4be368c523 Fix elements overflow in shell module [build]
https://forum.virtualmin.com/t/webmin-command-shell-module-oddity-the-text-input-field-extends-past-screens-end/122741/9?u=ilia
2023-09-23 13:08:18 +03:00
Ilia Ross
b268c1bb66 Fix to import missing $bind_version vars 2023-09-20 19:33:41 +03:00
Jamie Cameron
b2f18fb784 dnssec-enabled has been obsoleted in new version https://github.com/virtualmin/virtualmin-gpl/issues/645 2023-09-19 21:13:38 -07:00
Jamie Cameron
34e3b4c027 Fix core vs cores https://github.com/webmin/webmin/issues/2008 2023-09-19 16:15:30 -07:00
Jamie Cameron
3c5edcf184 Merge branch 'master' of github.com:webmin/webmin 2023-09-18 22:04:15 -07:00
Jamie Cameron
33f4d7a008 Re-check OS after reboot https://github.com/webmin/webmin/issues/2004 2023-09-18 22:04:04 -07:00
Ilia Ross
2d182a2eea Fix ProFTPd config path 2023-09-19 01:07:41 +03:00
Jamie Cameron
7f06ccaf53 Merge pull request #2003 from webmin/dev/die-handler
Add die handler that stores the error from eval message
2023-09-17 22:26:05 -07:00
Jamie Cameron
d8fa7f26af Use proper function to compare versions https://github.com/virtualmin/virtualmin-gpl/issues/641 2023-09-17 19:39:40 -07:00
Jamie Cameron
aa6edf6c55 Preserve original permissions, ownership and file times after gunzipping 2023-09-17 19:20:26 -07:00
Ilia Ross
4333435739 Fix indent 2023-09-17 13:44:03 +03:00
Ilia Ross
f01197df71 Add die handler that stores the error from eval message 2023-09-17 13:42:30 +03:00
Jamie Cameron
cb41eff450 Fix decompression of folders 2023-09-16 18:44:42 -07:00
Jamie Cameron
352326f574 Return decompression status 2023-09-16 18:44:16 -07:00
Jamie Cameron
410fd07287 Merge branch 'master' of github.com:webmin/webmin 2023-09-16 09:29:49 -07:00
Jamie Cameron
faededeb77 Fix variable name 2023-09-16 09:29:42 -07:00
Ilia Ross
f0f8dc2850 Fix to correctly escape content in editor mode
https://forum.virtualmin.com/t/webmins-file-managers-editor-converting-html-special-characters-making-the-next-save-detrimental/122606/18?u=ilia

605a32f87d
2023-09-16 16:57:08 +03:00
Jamie Cameron
184e8d627d Deal with case where all configs are under /opt 2023-09-15 20:52:23 -07:00
Jamie Cameron
fd2b7c1fc7 Merge pull request #2002 from webmin/dev/protocols-save-to-global
Fix to save protocols to global config file
2023-09-15 20:50:34 -07:00
Jamie Cameron
98192ca099 Fix variable name 2023-09-15 18:54:43 -07:00
Jamie Cameron
05a93a5e3d Merge branch 'master' of github.com:webmin/webmin 2023-09-15 18:53:00 -07:00
Jamie Cameron
50a2820a97 remove typo 2023-09-15 18:52:54 -07:00
Ilia Ross
87f2640ee3 Update CHANGELOG.md 2023-09-16 00:21:59 +03:00
Ilia Ross
4180e3d3ee Fix to always include vendor_perl for 2FA to work [build]
https://forum.virtualmin.com/t/added-two-factor-authentication-i-think-last-access-but-not-100-anyway-2fa-is-failing-about-authen-oath/122538/60?u=ilia
2023-09-16 00:03:45 +03:00
Ilia Ross
b7d7ea5d8d Fix to simplify code 2023-09-15 22:34:32 +03:00
Ilia Ross
4e09cf0b55 Fix sent folder name ; update translations 2023-09-15 21:14:43 +03:00
Ilia Ross
3f0ab3fb92 Fix missing line increment 2023-09-15 19:21:08 +03:00
Ilia Ross
836647525a Fix to save protocols to global config file 2023-09-15 17:50:39 +03:00
Ilia Ross
8b68eac561 Fix how errors are handled when $main::error_last_eval is set
Note: If `$main::error_last_eval` was set, then display full error message using HTML accordion, otherwise display a bubble showing a file name and line which failed
2023-09-15 15:37:33 +03:00
Ilia Ross
0503299773 Fix to correctly set last caller (file:line) in error 2023-09-15 14:16:58 +03:00
Jamie Cameron
2e8000d191 Show full error if Authen::OATH cannot be loaded 2023-09-14 18:50:39 -07:00
Jamie Cameron
65ffcea0db Merge branch 'master' of github.com:webmin/webmin 2023-09-14 18:47:44 -07:00
Jamie Cameron
45845b8ca6 Wait a bit longer for DNS propogation 2023-09-14 17:07:04 -07:00
Ilia Ross
fead9b108d Fix to print errors to STDERR nicely 2023-09-15 01:13:54 +03:00
Ilia Ross
db1c9679ba Fix to revert previous patch 2023-09-15 00:40:16 +03:00
Ilia Ross
d753fa7a8d Fix to actually print the error 2023-09-15 00:11:06 +03:00
Ilia Ross
f6d7e05b14 Fix to remove unused config title 2023-09-13 22:53:32 +03:00
Ilia Ross
a9288423cc Fix to remove unused config title 2023-09-12 16:08:25 +03:00
Ilia Ross
ac9e54afba Update CHANGELOG.md for 2.103 2023-09-11 21:34:42 +03:00
Jamie Cameron
f7cf6419d2 Use taqbs 2023-09-06 16:23:40 -07:00
Jamie Cameron
a9097cbb42 Also support passing in the key ID and hmac for non-standard servers 2023-09-05 20:28:21 -07:00
Jamie Cameron
6f84ca1c9d Merge branch 'master' of github.com:webmin/webmin 2023-09-04 19:09:58 -07:00
Ilia Ross
dff70c3349 Fix Postfix check options page 2023-09-04 22:38:47 +03:00
Jamie Cameron
fe8f3f8494 Use standard buffer size 2023-09-04 11:13:45 -07:00
Ilia Ross
f5f3510a59 Fix default download buffer (once more) as 1 MiB should be just fine 2023-09-04 14:09:55 +03:00
Ilia Ross
1e375b4740 Fix indent one more time
c573496914
2023-09-04 13:14:31 +03:00
Jamie Cameron
c573496914 Fix indenting 2023-09-03 22:54:28 -07:00
Jamie Cameron
73e731722d Use packages with new key for upgrading 2023-09-02 21:44:29 -07:00
Jamie Cameron
6186376b6b Use packages with new key for upgrading 2023-09-02 21:43:58 -07:00
Ilia Ross
31e0151804 Fix to use help UI lib for showing explanatory message 2023-09-02 16:11:02 +03:00
Ilia Ross
872ca66b07 Add UI option to control network buffer size for downloads 2023-09-02 15:49:47 +03:00
Ilia Ross
088aba8cec Fix to use safer default buffer 2023-09-02 15:19:11 +03:00
Ilia Ross
99b8959559 Fix to send a file in chunks
https://forum.virtualmin.com/t/upgrade-2-102-killed-download-from-server-feature/122413/7?u=ilia
2023-09-02 15:18:49 +03:00
Jamie Cameron
94f23e63e7 Hide ps command in output 2023-08-31 22:44:44 -07:00
Jamie Cameron
7c449cf4a3 Merge branch 'master' of github.com:webmin/webmin 2023-08-31 22:40:06 -07:00
Jamie Cameron
2db507e5e8 Use proper UI functions for CPU and RAM modes 2023-08-31 22:39:45 -07:00
Ilia Ross
bdeb908df0 Fix to add --no-reuse-key as well
https://forum.virtualmin.com/t/unable-to-switch-ssl-certificate-into-elliptic-curve/122383?u=ilia
2023-08-31 17:15:24 +03:00
Jamie Cameron
a133cdfdef Also uncompress sub-folders 2023-08-30 22:54:25 -07:00
Jamie Cameron
fe2656acd8 Add flag for the key name 2023-08-30 20:15:41 -07:00
Jamie Cameron
64a44a667e Merge branch 'master' of github.com:webmin/webmin 2023-08-30 20:10:39 -07:00
Jamie Cameron
59cef9a04f Add flag for the default GPG key 2023-08-30 20:10:01 -07:00
Ilia Ross
af629fe3cd Fix code indent 2023-08-28 16:08:28 +03:00
Ilia Ross
80368e2a04 Merge branch 'master' of github.com:webmin/webmin 2023-08-28 16:05:39 +03:00
Ilia Ross
5237ae8ea2 Fix bug when backend isn't saved correctly #1992 2023-08-28 16:05:33 +03:00
Jamie Cameron
54ad4f7f74 Work on function to uncompress mail folders 2023-08-27 21:54:18 -07:00
Jamie Cameron
0dd94f5957 Merge branch 'master' of github.com:webmin/webmin 2023-08-26 18:51:08 -07:00
Jamie Cameron
5b2b3f0790 Add flag for ACME service URL 2023-08-26 18:51:01 -07:00
Jamie Cameron
ac05a0c43a Merge pull request #1991 from webmin/dev/cache-system-hostname-using-state
Fix to use a new way for clearing hostname cache
2023-08-26 15:34:26 -07:00
Ilia Ross
18f3e1273f Fix to use a new param to clear cache 2023-08-27 01:27:05 +03:00
Ilia Ross
710829c16a Fix to send headers unless already done in var_dump 2023-08-26 21:45:44 +03:00
Ilia Ross
8ced23d027 Fix to use a new way for clearing hostname cache 2023-08-26 21:26:03 +03:00
Ilia Ross
d834bb6da0 Fix to use state instead of globals in get_system_hostname sub 2023-08-26 21:17:57 +03:00
Jamie Cameron
cc560b00e5 Merge pull request #1990 from webmin/dev/hostname-detection-with-hostnamectl
Add hostname detection using `hostnamectl` command
2023-08-25 13:59:47 -07:00
Jamie Cameron
3e4668715a Merge branch 'master' of github.com:webmin/webmin 2023-08-25 11:25:51 -07:00
Jamie Cameron
053e8dcf22 Remove double HTML escape https://github.com/webmin/usermin/issues/105 2023-08-25 11:25:25 -07:00
Ilia Ross
2d7e57c7e1 Add hostname detection using hostnamectl command 2023-08-25 18:59:03 +03:00
Ilia Ross
30e6360fa2 Update CHANGELOG.md 2023-08-24 00:58:40 +03:00
Jamie Cameron
dda9290ff5 minor version bump 2023-08-23 11:53:53 -07:00
Jamie Cameron
15a00d8119 Remove perl module dependency and just use glob instead 2023-08-23 11:49:00 -07:00
Jamie Cameron
9289083171 No need for BEGIN block 2023-08-23 10:54:20 -07:00
Jamie Cameron
3d482d2bf5 Support CF-Connecting-IPv6 header 2023-08-22 18:46:43 -07:00
Jamie Cameron
318150e6b0 Merge branch 'master' of github.com:webmin/webmin 2023-08-21 17:18:53 -07:00
Jamie Cameron
8939b060b4 Clean up diff dirs so they don't get package up https://forum.virtualmin.com/t/debian-upgrade-nwe-directories-in-root-and-orig-directories-left-after-upgrade-completed/122241/8 2023-08-21 17:18:46 -07:00
Ilia Ross
4709ff6adf Add support for odd Amazon Linux interface names 2023-08-22 01:52:22 +03:00
Jamie Cameron
31af9f996c Also support CF-Connecting-IP https://github.com/webmin/webmin/issues/1956 2023-08-21 10:04:16 -07:00
Jamie Cameron
c716443737 Merge branch 'master' of github.com:webmin/webmin 2023-08-20 21:22:15 -07:00
Jamie Cameron
fd06605f51 Add support for True-Client-IP header as used by Cloudflare https://github.com/webmin/webmin/issues/1956 2023-08-20 21:22:08 -07:00
Ilia Ross
c8f6b05987 Add Config::IniFiles to vendor_perl [build]
* Amazon Linux doesn't have it available anywhere
2023-08-20 15:24:12 +03:00
Ilia Ross
a90dbc5f33 Fix not to print HTML in stdout 2023-08-20 14:08:31 +03:00
Ilia Ross
7fc16f8948 Update CHANGELOG.md 2023-08-19 18:22:16 +03:00
Ilia Ross
a2f1f24a95 Fix Apache graceful restart
https://github.com/virtualmin/virtualmin-gpl/issues/613
2023-08-18 16:15:36 +03:00
Ilia Ross
825b928168 Fix not to escape HTML unless sent to UI 2023-08-18 12:57:43 +03:00
Jamie Cameron
de648c24bd Expand range of versions 2023-08-17 18:28:11 -07:00
Ilia Ross
907818d2a4 Fix SpamAssassin config for Debian 12 2023-08-17 22:45:14 +03:00
Jamie Cameron
60a79e67d4 Merge branch 'master' of github.com:webmin/webmin 2023-08-16 20:41:14 -07:00
Jamie Cameron
04a3b8b5e6 Suppress output from monitor.pl https://github.com/webmin/webmin/issues/1984 2023-08-16 20:41:04 -07:00
Ilia Ross
dd1b4bc77b Fix to also set UCF_FORCE_CONFFOLD variable
https://github.com/virtualmin/virtualmin-gpl/issues/612
2023-08-16 15:12:18 +03:00
Ilia Ross
5156a472be Fix a bug in regex to correctly grep wack [build]
https://sourceforge.net/p/webadmin/discussion/55377/thread/78e5aa05f3
2023-08-16 13:48:54 +03:00
Ilia Ross
185e7db58d Revert "Revert "Fix to priorities ip command usage""
This reverts commit f8ec917bc5.
2023-08-16 13:03:51 +03:00
Ilia Ross
f8ec917bc5 Revert "Fix to priorities ip command usage"
This reverts commit 3b36dfa8ad.
2023-08-16 13:01:17 +03:00
Jamie Cameron
1016ec5f1d HTML escape more fields 2023-08-15 22:16:09 -07:00
Jamie Cameron
8a6d4cfefd Escape some more inputs 2023-08-15 22:15:10 -07:00
Jamie Cameron
7cbbdc898a More HTML escaping 2023-08-15 22:13:14 -07:00
Jamie Cameron
8db4074d4d HTML escape more stuff 2023-08-15 21:18:50 -07:00
Jamie Cameron
f6c48e7a11 Merge branch 'master' of github.com:webmin/webmin 2023-08-15 21:14:14 -07:00
Jamie Cameron
9ae54e61bd Escape search input 2023-08-15 21:13:53 -07:00
Ilia Ross
e917f33e09 Fix to correctly compare Webmin version being semantic version 2023-08-15 17:15:13 +03:00
Jamie Cameron
38aa06b8c6 Merge branch 'master' of github.com:webmin/webmin 2023-08-14 23:03:00 -07:00
Jamie Cameron
57e710e8a6 Small code cleanup 2023-08-14 23:02:35 -07:00
Ilia Ross
0d9d978f72 Fix APT repos
https://forum.virtualmin.com/t/switch-to-new-webmin-repository-url-doesnt-work/121851/5?u=ilia
2023-08-12 11:17:33 +03:00
Jamie Cameron
196b886ddb Merge branch 'master' of github.com:webmin/webmin 2023-08-11 20:36:22 -07:00
Jamie Cameron
4197e61772 Allow use of proxied SSL client name even when in non-SSL mode https://github.com/webmin/webmin/issues/1962 2023-08-11 20:35:57 -07:00
Ilia Ross
6dc87705d9 Fix to always fix Debian repo in the new format 2023-08-11 14:05:08 +03:00
Jamie Cameron
4b59570a82 Merge branch 'master' of github.com:webmin/webmin 2023-08-10 08:14:37 -07:00
Ilia Ross
33927e07ae Fix missing semicolon 2023-08-10 15:10:04 +03:00
Ilia Ross
65444b8865 Fix Terminal focus bug 2023-08-10 14:25:00 +03:00
Jamie Cameron
5357b084af Deal with case where there is no address https://sourceforge.net/p/webadmin/bugs/5630/ 2023-08-09 22:58:31 -07:00
Ilia Ross
862bbc36df Fix to address XSS issues #4 2023-08-09 19:07:13 +03:00
Ilia Ross
e6105bb757 Fix to address XSS issues #1 2023-08-09 16:49:40 +03:00
Ilia Ross
864e0c4918 Fix Cron edit files manually page not display directories #1978 [build] 2023-08-09 14:23:41 +03:00
Ilia Ross
115c5763a3 Fix Postfix edit files manually page not display directories #1978 [build] 2023-08-09 12:46:21 +03:00
Ilia Ross
d6e307d59a Fix not to use new lines to avoid color overflow 2023-08-08 23:19:34 +03:00
iliajie
9dc21ace2d Fix CHANGELOG.md 2023-08-08 14:24:06 +03:00
iliajie
c500759d83 Fix to simplify the code 2023-08-07 21:52:22 +03:00
iliajie
736d30ef76 Fix to display error message cleanly #1975 2023-08-07 19:44:47 +03:00
Jamie Cameron
a27095f40f Merge branch 'master' of github.com:webmin/webmin 2023-08-06 09:51:06 -07:00
Jamie Cameron
60a3b3b4a9 Make sure NSEC3PARAM record is always deleted https://github.com/virtualmin/virtualmin-gpl/issues/604 2023-08-06 09:50:43 -07:00
iliajie
f932925b29 Fix support for Amazon Linux release 2023 OS [build] 2023-08-06 15:45:57 +03:00
iliajie
21e8940860 Update CHANGELOG.md [build] 2023-08-05 23:46:51 +03:00
Jamie Cameron
944794aeac Fix duplicate string 2023-08-05 13:03:12 -07:00
Jamie Cameron
00bd6cf27f Merge branch 'master' of github.com:webmin/webmin 2023-08-05 12:28:52 -07:00
Jamie Cameron
1fb3bfa6ef Update webmin from repository if a package is available 2023-08-05 12:28:06 -07:00
iliajie
da14ecbe46 Update install command to use recommends 2023-08-05 20:19:36 +03:00
Jamie Cameron
1c48f3761e Merge branch 'master' of github.com:webmin/webmin 2023-08-04 17:06:32 -07:00
Jamie Cameron
246b0018eb Hack around IMAP not supporting regexps in searches https://forum.virtualmin.com/t/usermin-email-filters/121844/4 2023-08-04 17:06:01 -07:00
iliajie
2e97b09d10 Fix to show correct locale for sudo-capable user https://github.com/webmin/authentic-theme/issues/1663
f3cc268f0c
2023-08-04 12:58:39 +03:00
iliajie
f3cc268f0c Fix to show correct locale for sudo-capable user #1663 [build] 2023-08-04 12:54:17 +03:00
iliajie
8c3973c68f Update CHANGELOG [build] 2023-08-04 00:58:02 +03:00
Jamie Cameron
33b591dfac Also check if hash format is valid for yescrypt 2023-08-03 14:49:04 -07:00
Jamie Cameron
ec0ab05782 Merge branch 'master' of github.com:webmin/webmin 2023-08-03 14:41:02 -07:00
Jamie Cameron
4b03b80912 Generate new salt if salt isn't valid for SHA 2023-08-03 14:40:16 -07:00
iliajie
d312c3e318 Add support for Amazon Linux 2023 [build] 2023-08-03 23:20:28 +03:00
iliajie
9439ba0450 Add container class 2023-08-03 21:57:03 +03:00
iliajie
bea827c0b7 Fix various XSS related issues 2023-08-03 17:21:40 +03:00
iliajie
b1ee7cbf53 Move Encode::Detect to recommends [build] 2023-08-03 14:09:13 +03:00
iliajie
f56807c023 Fix to make build conditional and test against message 2023-08-03 14:00:50 +03:00
iliajie
7b34282488 Fix to remove building on schedule 2023-08-03 13:49:20 +03:00
iliajie
31b48f8dd6 Add nightly warning 2023-08-03 13:27:18 +03:00
Jamie Cameron
8c1a74d245 More escaping of folder names 2023-08-02 23:21:25 -07:00
Jamie Cameron
6ae1061900 Escape category name 2023-08-02 21:10:35 -07:00
Jamie Cameron
7de3647f0d Escape all the places where the module description is displayed 2023-08-02 17:28:24 -07:00
iliajie
76389ea06c Fix to do more filtering to address reported XSS issue 2023-08-03 00:05:23 +03:00
iliajie
8ae4364ee1 Fix let caller do filtering 2023-08-02 23:42:17 +03:00
iliajie
054f0a254e Fix to do a bit more filtering to prevent root user XSS itself 2023-08-02 23:31:59 +03:00
iliajie
02a5982ff9 Fix for Usermin to clone Webmin repos too 2023-08-02 20:31:26 +03:00
iliajie
a835742293 webmin.dev: Deploy Webmin package 2023-08-02 20:05:55 +03:00
iliajie
2d7f299419 Fix workflows location 2023-08-02 20:04:51 +03:00
iliajie
3bd37be97b Add builds 2023-08-02 20:02:54 +03:00
iliajie
62e1b4c785 Add script to setup development repos with signing keys 2023-08-02 01:48:13 +03:00
Jamie Cameron
3671a76333 Ubuntu 23 has renamed the SSH systemd service to ssh 2023-08-01 15:39:59 -07:00
iliajie
f3652c7a87 Fix wording https://github.com/webmin/webmin/issues/1971#issuecomment-1659864264 2023-08-01 11:50:52 +03:00
Jamie Cameron
980c4c834c Merge branch 'master' of github.com:webmin/webmin 2023-07-31 11:01:35 -07:00
Jamie Cameron
df438c59ed Prevent incompatible option setting https://github.com/webmin/webmin/issues/1971 2023-07-31 11:01:27 -07:00
iliajie
932f2464bc Update CHANGELOG.md date 2023-07-31 16:52:19 +03:00
iliajie
d9ea914889 Fix to always upload to user home directory if possible 2023-07-31 03:10:00 +03:00
iliajie
1730540764 Fix to always download to user home directory if possible 2023-07-31 03:05:39 +03:00
iliajie
9454cb4a2b Merge branch 'master' of github.com:webmin/webmin 2023-07-31 02:50:57 +03:00
iliajie
355d7b5404 Fix to update CHANGELOG.md 2023-07-31 02:50:11 +03:00
iliajie
9f93c29c5f Fix more of those useless XSS 2023-07-31 02:43:25 +03:00
Jamie Cameron
43e671497a New version bump 2023-07-30 16:37:45 -07:00
iliajie
b14c1c07dc Fix to also discard any command output
Ref.: f4ad3293bf (diff-9801c20c5b4becfcc428783737908ea507bfa6387e42710a174992124d267912R64)
2023-07-30 12:23:33 +03:00
Jamie Cameron
f4ad3293bf No need to log a command that we're already capturing the output for 2023-07-29 17:51:41 -07:00
iliajie
e809329ca0 Fix to revert the fix "don't just blindly write the new key" ; fix logging 2023-07-29 22:45:44 +03:00
iliajie
3cc16bb120 Fix not to print section name if there is only one 2023-07-29 17:17:03 +03:00
iliajie
1eb43eafd2 Update key email 2023-07-29 14:28:58 +03:00
iliajie
f652def98d Merge branch 'master' of github.com:webmin/webmin 2023-07-29 11:49:44 +03:00
Jamie Cameron
392fb41a24 Make sure gzip and gunzip are installed 2023-07-28 23:30:13 -07:00
Jamie Cameron
c14b100845 Merge branch 'master' of github.com:webmin/webmin 2023-07-28 18:33:57 -07:00
Jamie Cameron
b3b5fff0dc If trusting the remote IP, also trust the proxied SSL client cert https://github.com/webmin/webmin/issues/1962 2023-07-28 18:33:48 -07:00
iliajie
ef0a48d83a Fix not to print empty section 2023-07-28 23:37:24 +03:00
iliajie
58a15dafc7 Fix fix repo script when there are multiple sources configured 2023-07-28 17:24:51 +03:00
iliajie
79f78d5e28 Fit to simplify message text for updating repo URL 2023-07-28 17:19:19 +03:00
Jamie Cameron
51e1c7bef3 Unix permission fixes 2023-07-26 21:51:05 -07:00
Jamie Cameron
5b5af3eb20 Merge branch 'master' of github.com:webmin/webmin 2023-07-26 21:50:16 -07:00
Jamie Cameron
2e93819c1b If a mail file is compressed, read it via gzip 2023-07-26 21:50:09 -07:00
iliajie
d3a10de65d Update CHANGELOG.md 2023-07-27 00:46:39 +03:00
iliajie
8ef754b477 Add error_stderr API 2023-07-26 22:38:28 +03:00
Jamie Cameron
4cbda407f9 Merge pull request #1142 from seabres/multiple_ldap_server
Allow multiple LDAP server for userdb
2023-07-25 17:17:37 -07:00
Jamie Cameron
71cce5c580 Merge branch 'master' of github.com:webmin/webmin 2023-07-25 16:04:03 -07:00
Jamie Cameron
360c27add5 Don't just blindly write the new key 2023-07-25 16:03:55 -07:00
iliajie
753290b95a Fix Squid package name 2023-07-25 21:11:38 +03:00
iliajie
ae579a2047 Fix headers names be in teletype text 2023-07-25 19:45:09 +03:00
iliajie
9746f7ea9e Add facility to check for Webmin module menu link 2023-07-24 01:01:02 +03:00
Jamie Cameron
e599e0206a Can only use ifup if innstalled 2023-07-23 08:40:27 -07:00
iliajie
f37dbd4c3d Fix to simplify wording 2023-07-22 22:22:54 +03:00
iliajie
ff42c66129 Fix to drop using official word 2023-07-22 22:20:47 +03:00
iliajie
d384e696f7 Fix to add support setting repos without human input #1961 2023-07-22 14:24:48 +03:00
iliajie
3b36dfa8ad Fix to priorities ip command usage 2023-07-22 13:31:20 +03:00
Jamie Cameron
2d900e88c8 Fix setting of default gateway https://github.com/webmin/webmin/issues/1960 2023-07-21 17:58:05 -07:00
Jamie Cameron
ba25fba714 Major version bump 2023-07-19 23:14:55 -07:00
iliajie
44fe8dd676 Fix to correctly pass screen reader option to Terminal 2023-07-19 23:15:58 +03:00
iliajie
143fb86567 Update translations 2023-07-19 20:08:41 +03:00
iliajie
dc721b2e4e Fix to support the mode without user prompt 2023-07-19 19:52:59 +03:00
iliajie
91a0e71d6f Merge branch 'master' of github.com:webmin/webmin 2023-07-19 17:21:36 +03:00
iliajie
30770eae4a Fix to format special words correctly inside config page 2023-07-19 17:21:21 +03:00
iliajie
b355fafe0d Fix to use correct label for fixed-width font 2023-07-19 17:20:51 +03:00
Jamie Cameron
076e3577ba Don't repeat check if failure was due to a timeout 2023-07-18 16:34:24 -07:00
Jamie Cameron
6493bc6564 Fix placement of button 2023-07-18 16:30:37 -07:00
Jamie Cameron
27c6a003d8 Merge pull request #1957 from webmin/dev/network-order-api
Add ability to present active interfaces the way network manager wants
2023-07-18 14:21:54 -07:00
iliajie
e9ecd9c09e Update CHANGELOG.md 2023-07-19 00:08:57 +03:00
iliajie
9135fa916b Add screen reader optional support in Terminal module 2023-07-19 00:07:55 +03:00
iliajie
8d392af6d3 Update CHANGELOG.md 2023-07-18 23:48:56 +03:00
Jamie Cameron
da5b0d2411 Merge pull request #1953 from webmin/dev/phpini-show-defaults
Add PHP module improvements
2023-07-18 13:34:15 -07:00
iliajie
cae06a79a0 Fix to use regular params 2023-07-18 22:53:58 +03:00
iliajie
1a807f5f58 Fix new line in the end of the file once again 2023-07-18 15:25:17 +03:00
iliajie
c56ea21638 Fix missing new line as in original file in master to avoid diff 2023-07-18 15:23:37 +03:00
iliajie
36095d04f8 Fix to use ip addr command only to get active interfaces 2023-07-18 15:19:29 +03:00
Jamie Cameron
8efeb1c86c Format hours and minutes the same https://github.com/webmin/authentic-theme/issues/1663 2023-07-17 18:51:02 -07:00
iliajie
582549ddb6 Fix correctly extract list of IPs ; support switching from DHCP to static 2023-07-17 15:13:45 +03:00
iliajie
04e14cc979 Add ability to present active interfaces the way network manager wants 2023-07-17 13:56:58 +03:00
Jamie Cameron
0cd5feb0a3 Set method and interfaces in one shot 2023-07-16 15:33:45 -07:00
Jamie Cameron
fd762c2f47 Add missing logging messages 2023-07-16 15:03:37 -07:00
Jamie Cameron
9aeab55a88 Don't match dynamic if we're matching it later 2023-07-16 14:39:41 -07:00
Jamie Cameron
3fb71fb569 Merge branch 'master' of github.com:webmin/webmin 2023-07-16 14:14:27 -07:00
Jamie Cameron
f4d83f5ebf Priorize the dynamically assigned IP 2023-07-16 14:14:18 -07:00
iliajie
b2f4dd4fe8 Fix to clearly say if option cannot be extracted 2023-07-16 20:35:02 +03:00
iliajie
0c575c5266 Fix not to display options that are deprecated or removed 2023-07-16 17:27:47 +03:00
iliajie
acc47ce0e7 Add PHP API for comparison and version extraction 2023-07-16 17:13:50 +03:00
iliajie
81e5120fc4 Add displaying tooltip with defaults for "PHP Variables" page 2023-07-16 15:14:23 +03:00
iliajie
281cb21cce Add displaying tooltip with defaults for "Directory Settings" page 2023-07-16 15:10:41 +03:00
iliajie
ad084a1ceb Fix to display unknown value as empty not to be confusing 2023-07-16 15:07:17 +03:00
iliajie
4b436c2f16 Add displaying tooltip with defaults for "Database Settings" page 2023-07-16 15:05:51 +03:00
iliajie
51e672b87d Add displaying tooltip with defaults for "Session Options" page 2023-07-16 14:52:59 +03:00
iliajie
f21650971e Add displaying tooltip with defaults for "Error Logging" page 2023-07-16 14:52:27 +03:00
iliajie
eccb7a169c Add displaying tooltip with defaults for "Other Settings" page 2023-07-16 14:50:33 +03:00
iliajie
77c9d1fa9c Fix tooltip content formatting if HTML is supported 2023-07-16 14:49:04 +03:00
iliajie
fb0b6b4044 Fix to simplify linkage to PHP.net 2023-07-16 13:13:08 +03:00
iliajie
deb172ca82 Fix PHP detection from the path to work for all supported distros 2023-07-16 13:09:19 +03:00
iliajie
f7dc0add11 Add initial support for displaying default PHP value 2023-07-16 03:44:10 +03:00
iliajie
915781d381 Fix typo 2023-07-16 01:36:31 +03:00
iliajie
dca48f4f00 Add support for the new link bubbles 2023-07-16 01:35:11 +03:00
iliajie
8e47199147 Fix to consider active interface using new ui_element_inline API 2023-07-15 23:28:57 +03:00
iliajie
437bdd2528 Fix typo when detecting PHP binary 2023-07-15 23:27:18 +03:00
iliajie
bedb091e56 Add ui_element_inline API and use it on the button in **Net** module 2023-07-15 14:51:54 +03:00
Jamie Cameron
323f0cc043 Use formal params 2023-07-14 16:51:25 -07:00
Jamie Cameron
df7bf3af4a Handle case where main IP is assigned by DHCP 2023-07-14 14:55:44 -07:00
Jamie Cameron
94d3727b41 Fix spacing 2023-07-14 10:20:13 -07:00
Jamie Cameron
510c7153e4 Merge branch 'master' of github.com:webmin/webmin 2023-07-14 10:18:18 -07:00
Jamie Cameron
389d061972 Use new developers key 2023-07-14 10:18:12 -07:00
iliajie
ad5e279231 wuftpd, mon, and jabber are obsolete 2023-07-14 20:14:15 +03:00
Jamie Cameron
f9bccb3853 Merge branch 'master' of github.com:webmin/webmin 2023-07-13 19:49:15 -07:00
Jamie Cameron
3c21733d57 use a safe function to rename a file 2023-07-13 19:48:51 -07:00
iliajie
0d45d61edc Fix to put error details into help bubble 2023-07-13 14:51:13 +03:00
Jamie Cameron
eb79f4c169 Add config option to force use of some authentication plugin 2023-07-12 16:55:03 -07:00
Jamie Cameron
48eb29e547 Merge branch 'master' of github.com:webmin/webmin 2023-07-12 15:52:31 -07:00
Jamie Cameron
3fe5aa8887 Grub 1 and Vgetty are obsolete https://github.com/webmin/webmin/issues/1950 2023-07-12 15:52:23 -07:00
Jamie Cameron
50e058d2b6 Merge pull request #1951 from webmin/dev/error-less-obscure
Fix to make errors less obscure
2023-07-12 14:01:28 -07:00
iliajie
2d85a2951c Fix to make errors less obscure 2023-07-12 23:40:41 +03:00
Jamie Cameron
21e4debf24 Merge pull request #1948 from webmin/dev/server-header
Add ability to control `Server:` response header #1945
2023-07-11 18:56:16 -07:00
iliajie
486b323990 Add ability to control Server: response header #1945
This change:

  1. Adds ability for an admin to set custom response header for `Server:`
  2. Fixes displaying of running Webmin version for unauthenticated user
2023-07-11 15:05:04 +03:00
iliajie
4b89587726 Merge branch 'master' of github.com:webmin/webmin 2023-07-11 13:59:10 +03:00
iliajie
f24fa4af6a Fix to always show PHP default radio 2023-07-11 13:58:43 +03:00
Jamie Cameron
dda33af768 Allow selection of default mode always https://github.com/virtualmin/virtualmin-gpl/issues/555 2023-07-10 16:35:52 -07:00
iliajie
cc05c62609 Fix sub name and add missing class name 2023-07-10 05:48:24 +03:00
iliajie
3c113c9278 Fix not to print section when there are none 2023-07-10 01:30:07 +03:00
iliajie
8b09edc5d3 Fix schedule table be tagged 2023-07-10 01:29:42 +03:00
iliajie
643ace4777 Add new API: ui_space, ui_newline, ui_text
Nothing can be thrown to the browser without being used with UI lib!
2023-07-09 23:07:59 +03:00
Jamie Cameron
097e24a7b1 Allow extra logs to end with a | indicating they are actually commands https://github.com/webmin/webmin/issues/1946 2023-07-09 10:55:48 -07:00
Jamie Cameron
f797d29b81 Fix format of disk usage table: 2023-07-08 17:18:28 -07:00
Jamie Cameron
aca381b118 Inputs can't be outside the table tags 2023-07-07 15:54:30 -07:00
iliajie
195ea913df Fix logic to check if /dev/urandom is allowed 1bc262481d (commitcomment-120432005) 2023-07-05 12:06:47 +03:00
Ilia
7232db4b57 Merge pull request #1940 from swelljoe/redhat-dir-is-deprecated
Prefer rpmbuild dir, even when building as root
2023-07-03 12:18:53 +03:00
Jamie Cameron
f688f29029 Allow editing of bridge STP field 2023-07-02 22:30:51 -07:00
Jamie Cameron
057f10d868 Fix saving of bridge interface 2023-07-02 20:38:02 -07:00
Jamie Cameron
086ebe845a Fix editing of bridge connections to interfaces 2023-07-02 18:48:35 -07:00
Joe Cooper
3e47779858 Prefer rpmbuild dir, even when building as root 2023-07-02 20:30:34 -05:00
Jamie Cameron
39132506e8 Implement creation of bridge interfaces 2023-07-02 17:25:23 -07:00
Jamie Cameron
71dc51523a Merge branch 'master' of github.com:webmin/webmin 2023-07-02 10:50:59 -07:00
Jamie Cameron
93a853f95f Work on bridge support 2023-07-01 23:16:58 -07:00
Jamie Cameron
c0edba233a Merge pull request #1939 from webmin/dev/collation-downgrade
Add ability to downgrade database collation
2023-07-01 19:11:38 -07:00
iliajie
368dacd028 Fix to simplify the code 2023-07-02 03:20:03 +03:00
iliajie
b49d4f8147 Fix to copy file permissions too 2023-07-01 22:19:30 +03:00
iliajie
8f3fb71b68 Fix label be no redundant 2023-06-30 23:30:48 +03:00
iliajie
01e4a5145d Fix label be no redundant 2023-06-30 23:02:51 +03:00
iliajie
f3bc8c9061 Fix to tighten regex match 2023-06-30 14:21:41 +03:00
iliajie
9e58110854 Fix indent 2023-06-30 13:44:47 +03:00
iliajie
2b2ead4d7d Add ability to downgrade database collation 2023-06-30 13:42:31 +03:00
iliajie
827c77c960 Add support for render addons #1656 2023-06-29 16:35:01 +03:00
iliajie
9db9582f4a Fix not to leak variable to global scope 2023-06-29 14:31:06 +03:00
iliajie
20f0538c64 Update xterm.js 2023-06-29 13:57:04 +03:00
iliajie
a026b69736 Add Terminal to be used with safe Webmin user 2023-06-29 13:07:45 +03:00
Jamie Cameron
5b760082d9 Merge branch 'master' of github.com:webmin/webmin 2023-06-28 16:19:34 -07:00
Jamie Cameron
487b11e9be Clean up code showing local disk space https://github.com/webmin/webmin/issues/1936 2023-06-28 16:19:17 -07:00
iliajie
8c236004c9 Fix last row element 2023-06-29 00:05:45 +03:00
Jamie Cameron
1025f8c657 Fix setting of virtual IPs 2023-06-28 07:39:46 -07:00
Jamie Cameron
14ad4cbf85 More work on network manager 2023-06-27 23:27:19 -07:00
Jamie Cameron
0a1f12c22b Use CLI instead of directly updating config files 2023-06-27 15:59:29 -07:00
Jamie Cameron
a9070e4bc3 Improve creation of default interface 2023-06-26 08:01:18 -07:00
Jamie Cameron
679a590b0c Merge pull request #1935 from webmin/dev/images-in-replies
Fix to integrate existing Usermin code to display inline images in replies correctly
2023-06-25 09:53:16 -07:00
iliajie
797dd6a59c Fix to correctly set existing styling for tags found in document
i.e. this will preserve existing styling if any!
2023-06-25 17:43:04 +03:00
iliajie
0b72f7f895 Fix indent 2023-06-25 16:54:25 +03:00
iliajie
6472213dcc Fix not to drop attachments 2023-06-25 16:52:10 +03:00
iliajie
80df962012 Fix to integrate existing Usermin code to display inline imgs in replies 2023-06-25 16:51:45 +03:00
iliajie
944236d454 Fix textarea to be vertically resized only and be in sync with HTML size 2023-06-25 16:09:49 +03:00
iliajie
43dc4a479e Fix not to touch image reference
https://github.com/webmin/webmin/pull/1926#issuecomment-1605882853
2023-06-25 12:38:47 +03:00
iliajie
9355b4969d Fix default HTML editor height 2023-06-24 23:28:55 +03:00
Jamie Cameron
0cd1d43fef Merge branch 'master' of github.com:webmin/webmin 2023-06-23 23:24:14 -07:00
Jamie Cameron
44b06c8908 More work on editing network manager config 2023-06-23 23:19:36 -07:00
iliajie
d78b8e0e1d Fix to embed theme styles when viewing an email too 2023-06-24 01:23:09 +03:00
iliajie
312f55fe11 Fix to update command used in man 2023-06-23 13:50:01 +03:00
Jamie Cameron
87b54273ff Merge pull request #1934 from devadattas/patch-1
Resolves Support issue for MariaDB 11 (https://github.com/webmin/webmin/issues/1933)
2023-06-22 22:07:28 -07:00
Devadatta Sahoo
dedfaa49ae Resolves https://github.com/webmin/webmin/issues/1933
Resolves https://github.com/webmin/webmin/issues/1933
2023-06-23 06:28:40 +05:30
Jamie Cameron
944400a136 Merge pull request #1931 from webmin/dev/fix-temp-dir-creation
Fix to consider temp directory may exists with incorrect permissions
2023-06-22 15:48:37 -07:00
iliajie
d3cdbbcc4b Fix to call only in HTML mode 2023-06-23 01:08:47 +03:00
iliajie
ef9e525bd6 Fix a bug loading theme iframe quote style file 2023-06-22 13:34:21 +03:00
iliajie
0754367f48 Fix to consider temp directory may exists with incorrect permissions 2023-06-22 12:32:35 +03:00
iliajie
3a7145b2e3 Fix language strings as 'warning' and 'danger' already part of UI alert 2023-06-22 11:46:38 +03:00
Jamie Cameron
8dd96e2aca Merge branch 'master' of github.com:webmin/webmin 2023-06-21 16:51:47 -07:00
Jamie Cameron
f49539ad96 Add a warning about editing Virtualmin-controlled domains 2023-06-21 16:48:51 -07:00
iliajie
739411a07e Fix navigation type detection bug 2023-06-21 18:21:42 +03:00
iliajie
ea8c76b5b8 Fix to consider framed theme to load iframe inner styles too 2023-06-21 17:53:11 +03:00
iliajie
d191f1ba92 Add to consider different navigation types 2023-06-21 16:07:42 +03:00
iliajie
444c101d19 Fix to remove outline for inner contenteditable 2023-06-21 15:40:13 +03:00
iliajie
9017d290bc Merge remote-tracking branch 'origin/master' 2023-06-21 12:42:21 +03:00
iliajie
2733f945c5 Add ability for themes to embed styles into quote iframe 2023-06-21 12:42:08 +03:00
Jamie Cameron
231df9c37f UI to edit network manager routes 2023-06-20 23:07:56 -07:00
Jamie Cameron
dbde3d370b Merge branch 'master' of github.com:webmin/webmin 2023-06-20 23:02:55 -07:00
Jamie Cameron
1e07f0c93a Add MTU support 2023-06-20 23:00:11 -07:00
iliajie
9ed3fd2237 Fix to disable ispell 2023-06-20 23:37:36 +03:00
iliajie
629ca21a3a Fix to correctly test for dark palette 2023-06-20 23:33:27 +03:00
Jamie Cameron
0f898b161b Update nameservers in netplan config 2023-06-19 20:21:39 -07:00
Jamie Cameron
de53c330d6 Support for getting and setting default gateway 2023-06-19 20:19:28 -07:00
Jamie Cameron
d9401ff1b7 Merge branch 'master' of github.com:webmin/webmin 2023-06-19 20:10:28 -07:00
Jamie Cameron
e33c5aa630 More work on network manager support: 2023-06-19 20:10:17 -07:00
Jamie Cameron
8ac62d43bd Merge pull request #1926 from webmin/dev/mail-awesome-replies
Add support for better HTML handling in email replies
2023-06-19 11:24:48 -07:00
iliajie
c2c3533e4e Fix HTML editor adding extra new line on page reload 2023-06-19 20:19:15 +03:00
iliajie
bfe966f6cf Add email styling support for Google Mail 2023-06-19 02:59:04 +03:00
iliajie
75b1401e62 Add simple algorithm to convert classes to inline styles
Tags CSS styling to inline styles is on the next and the final commit!
2023-06-19 01:10:29 +03:00
iliajie
f1159015ed Fix to perfect inner styling 2023-06-18 17:18:33 +03:00
iliajie
9c348f7909 Fix to drop pretty redundant Expert mode to: Basic, Simple, Advanced 2023-06-18 16:14:41 +03:00
iliajie
c80d854054 Drop Katex support as we cannot reliably use it in emails 2023-06-18 15:47:02 +03:00
iliajie
f6299b4e29 Add embedment of styling in our email (works everywhere but GMail) 1/2
Gmail fix is coming
2023-06-18 15:42:23 +03:00
Jamie Cameron
b91e25aa6f Clear cached postfix version on webmin upgrade 2023-06-17 22:49:05 -07:00
iliajie
a268373550 Add local editor classes and styles to inline styling in resulting HTML
1/2 - needs more improvements and optimizations - although it works already
2023-06-18 03:23:02 +03:00
iliajie
8d595a7ac5 Fix to remove empty line 2023-06-18 01:29:42 +03:00
iliajie
2065602494 Fix HTML editor tooltip z-index 2023-06-18 01:29:28 +03:00
iliajie
d27e37efbf Fix not to whitelist any attributes 2023-06-18 01:28:46 +03:00
iliajie
85f9402bfe Fix to rename theme iframe CSS file 2023-06-18 00:26:28 +03:00
iliajie
6bb6a0de01 Fix to load iframe CSS from a theme based file 2023-06-18 00:25:43 +03:00
iliajie
081dfbe373 Fix to update last message on the initial load 2023-06-17 23:37:43 +03:00
iliajie
8d330a95de Add ability to load images in quote replies 2023-06-17 22:56:25 +03:00
iliajie
ac5f974d5c Fix to allow inline images 2023-06-17 20:57:17 +03:00
iliajie
3f1306e9cf Fix iframe styling to be theme dependent 2023-06-17 19:23:39 +03:00
iliajie
8bd7c32c10 Fix to keep font size and color in sync for viewer and editor 2023-06-17 19:21:57 +03:00
iliajie
cf7165ffaa Fix heading paddings consistency 2023-06-17 18:40:56 +03:00
iliajie
dd4c7e6fe1 Fix to view email area no padding (let HTML email do the job) 2023-06-17 18:37:20 +03:00
iliajie
5aa1986a30 Fix email styling when viewing 2023-06-17 18:34:06 +03:00
iliajie
ff09a096cb Fix to revert the last commit as we don't need to store replies 2023-06-17 11:54:06 +03:00
iliajie
ca74a730ee Fix to store full message content, including possible replies 2023-06-17 03:06:51 +03:00
iliajie
e208907db1 Fix to pass config option 2023-06-17 02:55:54 +03:00
iliajie
83c0cb66e5 Fix to have only one new line to preserve integrity on restore 2023-06-17 02:34:45 +03:00
iliajie
675dd4d269 Fix to use function declaration instead ; prefix function name 2023-06-17 01:42:53 +03:00
iliajie
f49f068cdc Fix caller function name module dependent, and allow being overridden 2023-06-17 01:21:19 +03:00
iliajie
f39282e0d0 Fix to drop test for modern themes, as it simply works flawlessly 2023-06-17 01:10:50 +03:00
iliajie
b66a2ac0c2 Add ability not to loose message content on page reload or going back 2023-06-17 00:59:29 +03:00
iliajie
2bc982127d Add support for dark mode in code highlights 2023-06-17 00:00:20 +03:00
iliajie
21e76d19bf Fix to drop obsolete option 2023-06-16 23:39:47 +03:00
iliajie
5ec3664397 Fix to correct modules load missing timestamp and webprefix 2023-06-16 23:36:55 +03:00
Jamie Cameron
be449d6fe2 More work on editing network manager configs 2023-06-16 13:14:10 -07:00
iliajie
1248c603e6 Fix to fully abstract selectors and possible elements to sync from 2023-06-16 23:10:40 +03:00
iliajie
1ba3cdcbc9 Fix to remove incorrect HTML escape 2023-06-16 21:38:25 +03:00
iliajie
3e5b68507e Fix not to add any quote if a new message 2023-06-16 20:57:23 +03:00
iliajie
d11257cf84 Fix fills for HTML editor toolbar dropdowns 2023-06-16 19:33:24 +03:00
iliajie
a2204e46e0 Add support for choosing HTML editor mode in module config 2023-06-16 19:22:24 +03:00
iliajie
61197c485f Fix to improve modes names 2023-06-16 19:16:34 +03:00
iliajie
3f39df4203 Fix to automate modules load based on editors mode 2023-06-16 19:11:52 +03:00
iliajie
6386ece898 Add more editor modes
Available modes are: 'essential', 'simple', 'basic', 'advanced'
2023-06-16 18:52:02 +03:00
iliajie
ead4e97574 Fix to abstract HTML editor setup 2023-06-16 18:37:15 +03:00
iliajie
209ee473de Fix missing signature ; revert to using mail toolbar for mail 2023-06-16 17:53:48 +03:00
iliajie
4e06d22d85 Fix not to display empty toolbar container 2023-06-16 17:47:04 +03:00
iliajie
a70a0de807 Add formula support using Katex 2023-06-16 16:45:23 +03:00
iliajie
2788697c25 Fix to automate detection of installed modules 2023-06-16 16:43:11 +03:00
iliajie
126b96730b Add support for code highlight in HTML editor 2023-06-16 16:20:11 +03:00
iliajie
c24c544225 Fix not to mess with default code highlight 2023-06-16 16:11:47 +03:00
iliajie
7373913b0b Add support for loading extra modules 2023-06-16 15:52:53 +03:00
iliajie
90a21972ad Fix link item to be in a separate block 2023-06-16 15:41:32 +03:00
iliajie
17c3dbcf81 Add support for editor full toolbar 2023-06-16 15:38:42 +03:00
iliajie
2ae51b03fd Update translations 2023-06-16 15:08:06 +03:00
iliajie
a353a11653 Improve design by factoring out HTML editor related subs into a lib 2023-06-16 15:01:34 +03:00
iliajie
61e80f5d9f Update new HTML editor being available globally and for all themes 2023-06-16 14:03:58 +03:00
iliajie
f931b6dc01 Add significant improvements to HTML editor load ; share init function 2023-06-16 13:49:05 +03:00
iliajie
2ae5317946 Fix reply opener background 2023-06-16 12:15:32 +03:00
iliajie
50e4738f61 Fix editor area to have background 2023-06-16 12:10:52 +03:00
iliajie
46a6379510 Fix to remove unnecessary loading of custom CSS 2023-06-16 12:10:32 +03:00
Jamie Cameron
a0ede6b7e9 More work on network manager support 2023-06-15 22:24:00 -07:00
Jamie Cameron
f27277c4eb A quote string might have # inside it 2023-06-15 15:11:25 -07:00
iliajie
d53bace45c Fix reply toggle element to use no fonts for better cross compatibility 2023-06-15 22:54:10 +03:00
iliajie
1b689c4eb9 Fix for SPA themes to utilize the same template 2023-06-15 22:04:04 +03:00
iliajie
5677804487 Fix not to loose signature if exists 2023-06-15 18:17:30 +03:00
iliajie
e70d5ce764 Add support for awesome replies using new HTML editor 2023-06-15 18:17:14 +03:00
iliajie
45d6c8d235 Fix to print date in reply 2023-06-15 18:06:47 +03:00
iliajie
a95ccc006b Add new Quill HTML editor 2023-06-15 18:02:08 +03:00
iliajie
9bcf02a9b0 Fix to still provide Xinha for the old Java File Manager 2023-06-15 17:58:54 +03:00
iliajie
8c5a479d3a Fix to drop old Xinha HTML editor 2023-06-15 17:55:58 +03:00
iliajie
6872d8b6d6 Add support for the new HTML editor in the old theme 2023-06-15 17:51:59 +03:00
iliajie
036c08bb1d Add translations for HTML editor 2023-06-15 17:51:32 +03:00
iliajie
61805cee73 Add blockquote formatting unless exists already 2023-06-15 17:51:16 +03:00
iliajie
665c867601 Fix to never reset font weight 2023-06-15 17:46:20 +03:00
iliajie
3509d76a8c Fix textarea paddings 2023-06-15 13:09:13 +03:00
Jamie Cameron
e55f6d0908 Add missing save button https://forum.virtualmin.com/t/no-save-button-for-ssh-server-host-ssh-keys/121174 2023-06-14 21:38:41 -07:00
Jamie Cameron
b00f24f0b5 Use the right signing key 2023-06-14 21:27:43 -07:00
Jamie Cameron
07a46ff561 Start of work on networkmanager support 2023-06-14 21:27:12 -07:00
Jamie Cameron
5954e40808 IPv6 auto field is called auto6 2023-06-14 16:26:57 -07:00
iliajie
3e9a0e84fc Fix to reduce number of rows by default (HTML mode) 2023-06-13 19:33:38 +03:00
iliajie
a837b21013 Fix to reduce number of rows by default 2023-06-13 18:30:39 +03:00
iliajie
a38229817a Fix missing signature in emails 2023-06-13 18:27:41 +03:00
Jamie Cameron
90c36605e8 Merge branch 'master' of github.com:webmin/webmin 2023-06-13 07:41:52 -07:00
Jamie Cameron
e552c68f7e SSL need to be shut down properly 2023-06-13 07:41:09 -07:00
iliajie
7708bc240c Fix to enable HTML editor by default 2023-06-13 02:45:39 +03:00
Jamie Cameron
f6a3381682 Don't hang if we get a partial line 2023-06-11 19:01:49 -07:00
Jamie Cameron
fffe6fad63 Add option for ProxyPreserveHost https://forum.virtualmin.com/t/looking-to-set-up-a-or-multiple-reverse-proxies/121016/19 2023-06-10 16:33:59 -07:00
Jamie Cameron
cd1345cf30 Merge branch 'master' of github.com:webmin/webmin 2023-06-09 14:56:20 -07:00
Jamie Cameron
e8264986af Add option to ignore file changed errors https://forum.virtualmin.com/t/best-strategy-for-filesystem-backup/121093/5 2023-06-09 14:55:55 -07:00
iliajie
472bd9c0e4 Fix to use microtime in filenames with var_dump sub 2023-06-09 13:51:55 +03:00
iliajie
18552ad5ab Fix table columns width in Firewall module to be proportional #1923 2023-06-09 12:22:18 +03:00
Jamie Cameron
1bdcc54f21 Merge pull request #1917 from webmin/dev/load-email-images-by-server
Add support to load email images using the server (for privacy)
2023-06-08 20:11:02 -07:00
iliajie
ca5c75785d Fix to test Perl version for make_date to support (still) CentOS 6
https://sourceforge.net/p/webadmin/bugs/5622/
2023-06-09 03:21:01 +03:00
iliajie
d0e84297eb Fix for each module have its own XHR library
https://github.com/webmin/webmin/pull/1917#discussion_r1222408167
2023-06-08 14:48:46 +03:00
iliajie
df3b10c449 Revert "Fix file name as can be URL with a tracker, e.g. http://...img.png?1234"
This reverts commit f19acd68b2.
2023-06-08 01:16:32 +03:00
iliajie
72c5e39121 Fix to pass simply $response_headers instead 2023-06-07 22:04:58 +03:00
iliajie
cdd01e41bb Fix to check if defined instead 9a69913ccb (r116945393) 2023-06-07 20:30:27 +03:00
iliajie
5fc5fea30a Fix to reference ul tag 2023-06-07 13:38:28 +03:00
iliajie
a276ca7c14 Update language string for PostgreSQL 2023-06-07 12:58:27 +03:00
iliajie
a58fcffcb3 Fix error styling in PostgreSQL index page 2023-06-07 12:58:04 +03:00
iliajie
12bca2adb8 Fix missing dash in key name 2023-06-07 11:49:42 +03:00
iliajie
33fd258c71 Fix to abstract Webmin key name and OS type used in key names 2023-06-07 11:46:43 +03:00
iliajie
9a69913ccb Fix not to set response headers unless requested
https://github.com/webmin/webmin/pull/1917#discussion_r1220002442
2023-06-06 22:44:23 +03:00
iliajie
3d67e17cef Fix indent https://github.com/webmin/webmin/pull/1917#discussion_r1219998798 2023-06-06 22:19:48 +03:00
iliajie
61a40022d7 Add error handling https://github.com/webmin/webmin/pull/1917#discussion_r1219997915 2023-06-06 22:14:11 +03:00
Jamie Cameron
5a7dd1a458 Sign with SHA-256 signature 2023-06-05 22:55:57 -07:00
Jamie Cameron
74202c964f Dev version bump 2023-06-05 22:39:04 -07:00
iliajie
dc7d517989 Remove debug line 2023-06-06 01:15:21 +03:00
iliajie
b662f8d0c3 Fix code indent ; remove spinner once 2023-06-06 01:08:36 +03:00
iliajie
191ea97ea7 Fix to name containing row 2023-06-06 00:33:47 +03:00
iliajie
b0f33b6156 Fix code indents 2023-06-05 14:11:26 +03:00
iliajie
98b67cd60e Fix not to install old Webmin key at all #1919 2023-06-05 13:28:36 +03:00
iliajie
edffeba60b Fix to drop any local MIME type checks
https://github.com/webmin/webmin/pull/1917#discussion_r1217241079
2023-06-05 11:57:56 +03:00
Jamie Cameron
88ae0b68f0 Make wording clearer 2023-06-04 19:52:22 -07:00
iliajie
303b5ee31a Fix indent 2023-06-05 00:47:15 +03:00
iliajie
f694b01535 Fix to escape image URL before sending to the server 2023-06-05 00:35:51 +03:00
iliajie
37857ceeed Fix to try to use content type from response header
https://github.com/webmin/webmin/pull/1917#discussion_r1215792940
2023-06-04 15:12:31 +03:00
iliajie
5b8239c239 Add ability to return response headers 2023-06-04 15:11:08 +03:00
iliajie
8e3fdf43b0 Fix not to use pointless temp file 2023-06-03 22:33:18 +03:00
Jamie Cameron
c7198232f5 Fix wording a little 2023-06-03 11:09:53 -07:00
Jamie Cameron
3855a5f480 Merge branch 'master' of github.com:webmin/webmin 2023-06-02 08:02:19 -07:00
Jamie Cameron
37a03e720c Look in /etc/firewalld/services as well 2023-06-02 08:02:00 -07:00
iliajie
58229c1653 Fix to drop no longer needed and potentially dangerous head_html 2023-06-02 12:49:23 +03:00
iliajie
4ee13f0e20 Fix not to disable referrer check as there is no need for it
https://github.com/webmin/webmin/pull/1917#discussion_r1213968009
2023-06-02 11:36:30 +03:00
iliajie
8d66b62fce Add to use HTML::Entities to try to decode all possible entities
https://github.com/webmin/webmin/pull/1917#discussion_r1213969328
2023-06-02 11:25:27 +03:00
iliajie
eae51d8492 Fix to simplify: remove pre-loader and just load naturally 2023-06-02 02:56:32 +03:00
iliajie
1a0dec8f1e Add image pre-loaders to be awesome 2023-06-02 01:16:07 +03:00
iliajie
991e10a266 Add a robust way for testing file MIME type 2023-06-01 23:09:12 +03:00
iliajie
ec21297448 Add API to unescape HTML entities 2023-06-01 23:00:52 +03:00
iliajie
b97acb1e21 Fix to default to use server loaded images 2023-06-01 18:08:22 +03:00
iliajie
02236da8bc Fix to checkout master commits (added by accident) 2023-06-01 18:05:24 +03:00
iliajie
b3ab3f65a8 Revert "Merge branch 'master' into dev/load-email-images-by-server"
This reverts commit a5ba7ebe05, reversing
changes made to 0e93560003.
2023-06-01 17:59:31 +03:00
Ilia
a5ba7ebe05 Merge branch 'master' into dev/load-email-images-by-server 2023-06-01 17:57:09 +03:00
iliajie
0e93560003 Fix to drop wrong comment 2023-06-01 17:51:09 +03:00
iliajie
35922c6da6 Set x-no-links header 2023-06-01 17:49:19 +03:00
iliajie
71267fb601 Add XHR API to be called using JavaScript 2023-06-01 17:48:04 +03:00
iliajie
6a079198bd Add the reference for the images to load 2023-06-01 17:47:14 +03:00
iliajie
88bd2825ab Add an option to control how to view images 2023-06-01 17:42:24 +03:00
Jamie Cameron
13da04673f Finish off fix to APT repo 2023-06-01 07:11:41 -07:00
Jamie Cameron
68d6d831a1 Merge branch 'master' of github.com:webmin/webmin 2023-05-31 16:09:40 -07:00
Jamie Cameron
23bd2fbe3f Handle case where a URL has an @ towards the end 2023-05-31 16:09:34 -07:00
iliajie
e56298f55b Fix to remove stray } 2023-06-01 00:39:21 +03:00
iliajie
f19acd68b2 Fix file name as can be URL with a tracker, e.g. http://...img.png?1234 2023-05-31 23:28:19 +03:00
Jamie Cameron
57df3868b5 Merge pull request #1915 from webmin/dev/improve-view-mail
Add support for properly displaying HTML emails
2023-05-31 11:24:43 -07:00
iliajie
ff140aab1b Merge remote-tracking branch 'origin/master' 2023-05-31 20:43:45 +03:00
iliajie
754f1efc66 Revert "Fix missing HTML escapes for select option"
This reverts commit 04d75bc526.
2023-05-31 20:42:25 +03:00
Jamie Cameron
2d9ddefe50 More work on fixing the debian repo 2023-05-31 07:52:11 -07:00
Jamie Cameron
aa01bc8231 Merge branch 'master' of github.com:webmin/webmin 2023-05-31 07:51:27 -07:00
Jamie Cameron
add8a4eff6 Fix repo path 2023-05-31 07:51:20 -07:00
iliajie
605a32f87d Fix to add a proper check with negative lookahead before escaping & 2023-05-31 13:44:50 +03:00
Jamie Cameron
7988abf900 Merge branch 'master' of github.com:webmin/webmin 2023-05-30 21:54:46 -07:00
Jamie Cameron
08141fae66 Which APT to use the new repo with the new key 2023-05-30 21:53:37 -07:00
Jamie Cameron
2be85afce9 Merge pull request #1916 from webmin/dev/no-quotemeta-for-row-id
Fix to make sure that `id`s will always match
2023-05-30 16:10:06 -07:00
iliajie
e77b97bc5f Fix to make sure that ids will always match 2023-05-30 22:32:36 +03:00
Jamie Cameron
385d006c08 Build in old and new repo directories 2023-05-29 22:35:12 -07:00
Jamie Cameron
5db29277e4 Import the new key 2023-05-29 19:44:21 -07:00
Jamie Cameron
21f4a9b368 Fix the Webmin repo if the old URL is being used 2023-05-29 18:33:29 -07:00
BRESTAN Rainer
fad1201240 Allow multiple LDAP server for userdb 2019-11-18 18:44:55 +01:00
1465 changed files with 20308 additions and 2436 deletions

221
.github/build/deb.sh vendored Executable file
View File

@@ -0,0 +1,221 @@
#!/usr/bin/env bash
#
# Copyright @iliajie <ilia@webmin.dev>
#
# Automatically builds and updates a repo metadata.
# Pulls latest changes from GitHub, detects release
# version based on what's available in the repo
#
# (Debian)
#
# Usage:
#
# # Pull and build production versions
# # of both Webmin and Usermin
# ./deb.sh
#
# # Pull and build devel versions
# # of both Webmin and Usermin
# ./deb.sh --devel
#
# # Pull and build production Webmin version 2.101, forcing
# # release version 3, displaying detailed output
# ./deb.sh webmin 2.101 3 --debug
#
# # Pull and build production Usermin version 2.000,
# # automatically setting release version to minimal
# ./deb.sh usermin 2.000
#
# shellcheck disable=SC1091
# Source build variables
source ./vars.sh || exit 1
# Source build init
source ./init.sh || exit 1
# Source general build functions
source ./funcs.sh || exit 1
# Build product func
build_prod() {
# Pack with English only in devel builds
local english_only=0
if [[ "'$*'" == *"--devel"* ]]; then
english_only=1
fi
# Always return back to root directory
cd "$root" || exit 1
# Define root
local ver=""
local prod=$1
root_prod="$root/$prod"
root_apt="$root_prod/deb"
# Print build actual date
date=$(get_current_date)
# Print opening header
echo "************************************************************************"
echo " build start date: $date "
echo " package format: DEB "
echo " product: $prod "
(make_prod_repos "$root_prod") &
spinner " package output version:"
# Pull main project first to get the latest tag
cd "$root_prod" || exit 1
cmd="git pull $verbosity_level"
eval "$cmd"
rs1=$?
# Clean and try again
if [ "$rs1" != "0" ]; then
cmd="git checkout \"*\" $verbosity_level && git clean -f -d $verbosity_level && git pull $verbosity_level"
eval "$cmd"
rs1=$?
fi
# Descend to theme dir
cd "authentic-theme" || exit 1
cmd="git pull $verbosity_level"
eval "$cmd"
rs2=$?
# Clean and try again
if [ "$rs2" != "0" ]; then
cmd="git checkout \"*\" $verbosity_level && git clean -f -d $verbosity_level && git pull $verbosity_level"
eval "$cmd"
rs2=$?
fi
if [ "$rs1" != "0" ] || [ "$rs2" != "0" ]; then
rs=1
else
rs=0
fi
# Build number
date_version=$(get_latest_commit_date_version)
# Handle other params
cd "$root_prod" || exit 1
if [[ "'$2'" != *"--"* ]]; then
ver=$2
fi
if [[ "'$3'" != *"--"* ]] && [[ -n "$3" ]]; then
rel=$3
relval="-$3"
else
rel=1
relval=""
fi
if [ -z "$ver" ]; then
ver=$(get_current_repo_tag)
fi
if [[ "'$*'" == *"--devel"* ]]; then
ver="$ver.$date_version"
# Set actual product version
echo "${ver}" >"version"
fi
printf "$ver-$rel\n"
echo "************************************************************************"
echo "Pulling latest changes.."
# We need to pull first to get the latest tag,
# so here we only report an error if any
postcmd $rs
echo
echo "Pre-clean up .."
# Make sure directories exist
make_dir "$root_repos/"
make_dir "$root_apt/"
make_dir "$root_prod/newkey/deb/"
make_dir "$root_prod/umodules/"
make_dir "$root_prod/minimal/"
make_dir "$root_prod/tarballs/"
# Re-create legacy link
rm -rf "$root/webadmin"
ln -s "$root/webmin" "$root/webadmin"
# Purge old files
purge_dir "$root_prod/newkey/deb"
purge_dir "$root_prod/umodules"
purge_dir "$root_prod/minimal"
purge_dir "$root_prod/tarballs"
if [ "$prod" != "" ]; then
# XXXX Need to check for
# product name exactly
rm -f "$root_repos/$prod-latest"*
fi
postcmd $?
echo
# Descend to project dir
cd "$root_prod" || exit 1
if [ "$english_only" = "1" ]; then
echo "Cleaning languages .."
cmd="./bin/language-manager --mode=clean --yes $verbosity_level_with_input"
eval "$cmd"
postcmd $?
echo
else
# Force restore build directory
if [ ! -f "lang/ja" ]; then
echo "Restoring languages .."
cmd="git checkout \"*\" $verbosity_level && git clean -f -d $verbosity_level && git pull $verbosity_level"
eval "$cmd"
postcmd $?
echo
fi
fi
echo "Pre-building package .."
eval "$cmd"
cmd="./makedist.pl \"${ver}${relval}\" $verbosity_level"
eval "$cmd"
postcmd $?
echo
echo "Building package .."
if [ "$relval" == "" ]; then
cmd="./makedebian.pl \"$ver\" $verbosity_level"
else
cmd="./makedebian.pl \"$ver\" \"$rel\" $verbosity_level"
fi
eval "$cmd"
postcmd $?
echo
cd "$root" || exit 1
echo "Preparing built files for upload .."
cmd="cp -f $root_prod/tarballs/${prod}-${ver}*\.tar.gz $root_repos/${prod}-latest.tar.gz $verbosity_level"
eval "$cmd"
cmd="echo $ver-$rel \($date\) > $root_repos/${prod}-latest.version $verbosity_level_to_file"
eval "$cmd"
cmd="find $root_apt -name ${prod}_${ver}${relval}*\.deb -exec mv '{}' $root_repos \; $verbosity_level"
eval "$cmd"
cmd="mv -f $root_repos/${prod}_${ver}${relval}*\.deb $root_repos/${prod}-latest.deb $verbosity_level"
eval "$cmd"
postcmd $?
}
if [ -n "$1" ] && [[ "'$1'" != *"--"* ]]; then
build_prod $@
cloud_upload_list_upload=("$root_repos/$1*")
cloud_upload cloud_upload_list_upload
cloud_repo_sign_and_update
else
build_prod webmin $@
build_prod usermin $@
cloud_upload_list_upload=("$root_repos/*")
cloud_upload cloud_upload_list_upload
cloud_repo_sign_and_update
fi

163
.github/build/funcs.sh vendored Executable file
View File

@@ -0,0 +1,163 @@
#!/usr/bin/env bash
#
# Copyright @iliajie <ilia@webmin.dev>
#
# General build functions
#
#
# Upload to cloud
# Usage:
# cloud_upload_list_delete=("$cloud_upload_ssh_dir/repodata")
# cloud_upload_list_upload=("$root_repos/*" "$root_repos/repodata")
# cloud_upload cloud_upload_list_upload cloud_upload_list_delete
cloud_upload() {
# Print new block only if definded
local ssh_args="-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null"
if [ -n "$1" ]; then
echo
fi
# Delete files on remote if needed
if [ -n "$2" ]; then
echo "Deleting given files in $cloud_upload_ssh_host .."
local -n arr_del=$2
local err=0
for d in "${arr_del[@]}"; do
if [ -n "$d" ]; then
local cmd1="ssh $ssh_args $cloud_upload_ssh_user@$cloud_upload_ssh_host \"rm -rf $d\" $verbosity_level"
eval "$cmd1"
if [ "$?" != "0" ]; then
err=1
fi
fi
done
postcmd $err
echo
fi
# Upload files to remote
if [ -n "$1" ]; then
echo "Uploading built files to $cloud_upload_ssh_host .."
local -n arr_upl=$1
local err=0
for u in "${arr_upl[@]}"; do
if [ -n "$u" ]; then
local cmd2="scp $ssh_args -r $u $cloud_upload_ssh_user@$cloud_upload_ssh_host:$cloud_upload_ssh_dir/ $verbosity_level"
eval "$cmd2"
if [ "$?" != "0" ]; then
err=1
fi
fi
done
postcmd $err
echo
fi
}
# Sign and update repos metadata in remote
cloud_repo_sign_and_update() {
echo "Signing and updating repos metadata in $cloud_upload_ssh_host .."
local ssh_args="-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null"
local remote_cmd="cd ~/.scripts && ./update-repo-packages-signature.bash $cloud_upload_gpg_passphrase"
local cmd1="ssh $ssh_args $cloud_upload_ssh_user@$cloud_upload_ssh_host \"$remote_cmd\" $verbosity_level"
eval "$cmd1"
postcmd $?
echo
}
# Post command func
postcmd() {
if [ "$1" != "0" ]; then
echo ".. failed"
exit 1
else
echo ".. done"
fi
}
# Get max number from array
max() {
local -n arr_nums=$1
IFS=$'\n'
echo "${arr_nums[*]}" | sort -nr | head -n1
}
# Mkdir and children dirs
make_dir() {
if [ ! -d "$1" ]; then
mkdir -p "$1"
fi
}
# Remove all content in dir
purge_dir() {
for file in "$1"/*; do
rm -rf "$file"
done
}
# Get latest tag version
get_current_repo_tag() {
cd "$root_prod" || exit 1
tg=$(git rev-list --tags --max-count=1)
ds=$(git describe --tags "$tg")
echo "$ds" | sed 's/v//'
}
# Get latest commit date
get_current_date() {
echo $(date +'%Y-%m-%d %H:%M:%S %z')
}
# Get latest commit date version
get_latest_commit_date_version() {
local theme_version
local prod_version
local max_prod
local highest_version
theme_version=$(git log -n1 --pretty='format:%cd' --date=format:'%Y%m%d%H%M')
cd "$root_prod" || exit 1
prod_version=$(git log -n1 --pretty='format:%cd' --date=format:'%Y%m%d%H%M')
max_prod=("$theme_version" "$prod_version")
highest_version=$(max max_prod)
echo "$highest_version"
}
# Pull project repo and theme
make_prod_repos() {
# Webmin or Usermin
if [ ! -d "$1" ]; then
local repo="webmin/$prod.git"
cmd="git clone https://github.com/$repo $verbosity_level"
eval "$cmd"
if [ ! -d "webmin" ]; then
cmd="git clone --depth 1 https://github.com/webmin/webmin $verbosity_level"
eval "$cmd"
fi
fi
# Theme
theme="authentic-theme"
if [ ! -d "$1/$theme" ]; then
cd "$1" || exit 1
local repo="webmin/$theme.git"
cmd="git clone --depth 1 https://github.com/$repo $verbosity_level"
eval "$cmd"
fi
}
spinner() {
local msg=$1
local pid=$!
local spin='-\|/'
local i=0
printf "$msg "
while kill -0 $pid 2>/dev/null; do
(( i = (i + 1) % 4 ))
# No spinner if not an interactive shell
if [ -n "$PS1" ]; then
printf '%c\b' "${spin:i:1}"
fi
sleep .1
done
}

29
.github/build/init.sh vendored Normal file
View File

@@ -0,0 +1,29 @@
#!/usr/bin/env bash
#
# Copyright @iliajie <ilia@webmin.dev>
#
# Build init
#
#
# Set up SSH dev keys
if [ -n "$WEBMIN_DEV__SSH_PRV_KEY" ] && [ -n "$WEBMIN_DEV__SSH_PUB_KEY" ]; then
# Generate new pair with right permissions
cmd="ssh-keygen -t rsa -q -f \"$HOME/.ssh/id_rsa\" -N \"\"$verbosity_level"
eval "$cmd"
# Import SSH keys from secrets to be able to connect to the remote host
echo "$WEBMIN_DEV__SSH_PRV_KEY" > "$HOME/.ssh/id_rsa"
echo "$WEBMIN_DEV__SSH_PUB_KEY" > "$HOME/.ssh/id_rsa.pub"
# Set up SSH production keys
elif [ -n "$WEBMIN_PROD__SSH_PRV_KEY" ] && [ -n "$WEBMIN_PROD__SSH_PUB_KEY" ]; then
# Generate new pair with right permissions
cmd="ssh-keygen -t rsa -q -f \"$HOME/.ssh/id_rsa\" -N \"\"$verbosity_level"
eval "$cmd"
# Import SSH keys from secrets to be able to connect to the remote host
echo "$WEBMIN_PROD__SSH_PRV_KEY" > "$HOME/.ssh/id_rsa"
echo "$WEBMIN_PROD__SSH_PUB_KEY" > "$HOME/.ssh/id_rsa.pub"
fi
# Create symlink to Perl
ln -fs /usr/bin/perl /usr/local/bin/perl

243
.github/build/rpm.sh vendored Executable file
View File

@@ -0,0 +1,243 @@
#!/usr/bin/env bash
#
# Copyright @iliajie <ilia@webmin.dev>
#
# Automatically builds and updates a repo metadata.
# Pulls latest changes from GitHub, detects release
# version based on what's available in the repo
#
# (RHEL)
#
# Usage:
#
# # Pull and build production versions
# # of both Webmin and Usermin
# ./rpm.sh
#
# # Pull and build devel versions
# # of both Webmin and Usermin
# ./rpm.sh --devel
#
# # Pull and build production Webmin version 2.101, forcing
# # release version 3, displaying detailed output
# ./rpm.sh webmin 2.101 3 --debug
#
# # Pull and build production Usermin version 2.000,
# # automatically setting release version to minimal
# ./rpm.sh usermin 2.000
#
# shellcheck disable=SC1091
# Source build variables
source ./vars.sh || exit 1
# Source build init
source ./init.sh || exit 1
# Source general build functions
source ./funcs.sh || exit 1
# Build product func
build_prod() {
# Pack with English only in devel builds
local english_only=0
if [[ "'$*'" == *"--devel"* ]]; then
english_only=1
fi
# Always return back to root directory
cd "$root" || exit 1
# Define root
local ver=""
local prod=$1
root_prod="$root/$prod"
# Print build actual date
date=$(get_current_date)
# Print opening header
echo "************************************************************************"
echo " build start date: $date "
echo " package format: RPM "
echo " product: $prod "
(make_prod_repos "$root_prod") &
spinner " package output version:"
# Pull main project first to get the latest tag
cd "$root_prod" || exit 1
cmd="git pull $verbosity_level"
eval "$cmd"
rs1=$?
# Clean and try again
if [ "$rs1" != "0" ]; then
cmd="git checkout \"*\" $verbosity_level && git clean -f -d $verbosity_level && git pull $verbosity_level"
eval "$cmd"
rs1=$?
fi
# Pull theme to theme dir
cd "authentic-theme" || exit 1
cmd="git pull $verbosity_level"
eval "$cmd"
rs2=$?
# Clean and try again
if [ "$rs2" != "0" ]; then
cmd="git checkout \"*\" $verbosity_level && git clean -f -d $verbosity_level && git pull $verbosity_level"
eval "$cmd"
rs2=$?
fi
if [ "$rs1" != "0" ] || [ "$rs2" != "0" ]; then
rs=1
else
rs=0
fi
# Build number
date_version=$(get_latest_commit_date_version)
# Handle other params
cd "$root_prod" || exit 1
if [[ "'$2'" != *"--"* ]]; then
ver=$2
fi
if [[ "'$3'" != *"--"* ]] && [[ -n "$3" ]]; then
rel=$3
else
rel=1
fi
if [ -z "$ver" ]; then
ver=$(get_current_repo_tag)
fi
if [[ "'$*'" == *"--devel"* ]]; then
ver="$ver.$date_version"
# Set actual product version
echo "${ver}" >"version"
fi
printf "$ver-$rel\n"
echo "************************************************************************"
echo "Pulling latest changes.."
# We need to pull first to get the latest tag,
# so here we only report an error if any
postcmd $rs
echo
echo "Pre-clean up .."
# Make sure directories exist
make_dir "$root_prod/newkey/rpm/"
make_dir "$root_prod/umodules/"
make_dir "$root_prod/minimal/"
make_dir "$root_prod/tarballs/"
make_dir "$root_build/BUILD/"
make_dir "$root_build/BUILDROOT/"
make_dir "$root_build/RPMS/"
make_dir "$root_build/SOURCES/"
make_dir "$root_build/SPECS/"
make_dir "$root_build/SRPMS/"
make_dir "$root_repos/"
# Re-create legacy link
rm -rf "$root/webadmin"
ln -s "$root/webmin" "$root/webadmin"
# Purge old files
purge_dir "$root_prod/newkey/rpm"
purge_dir "$root_prod/umodules"
purge_dir "$root_prod/minimal"
purge_dir "$root_prod/tarballs"
purge_dir "$root_build/BUILD"
purge_dir "$root_build/BUILDROOT"
purge_dir "$root_build/RPMS"
purge_dir "$root_build/SOURCES"
purge_dir "$root_build/SPECS"
purge_dir "$root_build/SRPMS"
rm -rf "$root_repos/repodata"
if [ "$prod" != "" ]; then
# XXXX Need to check for
# product name exactly
rm -f "$root_repos/$prod-latest"*
fi
postcmd $?
make_dir "$root_build/RPMS/noarch"
echo
# Descend to project dir
cd "$root_prod" || exit 1
if [ "$english_only" = "1" ]; then
echo "Cleaning languages .."
cmd="./bin/language-manager --mode=clean --yes $verbosity_level_with_input"
eval "$cmd"
postcmd $?
echo
else
# Force restore build directory
if [ ! -f "lang/ja" ]; then
echo "Restoring languages .."
cmd="git checkout \"*\" $verbosity_level && git clean -f -d $verbosity_level && git pull $verbosity_level"
eval "$cmd"
postcmd $?
echo
fi
fi
echo "Pre-building package .."
eval "$cmd"
if [ "$rel" = "1" ]; then
args="$ver"
else
args="$ver-$rel"
fi
cmd="./makedist.pl \"$args\" $verbosity_level"
eval "$cmd"
postcmd $?
echo
echo "Building package .."
cmd="./makerpm.pl \"$ver\" \"$rel\" $verbosity_level"
eval "$cmd"
postcmd $?
echo
cd "$root" || exit 1
echo "Preparing built files for upload .."
cmd="cp -f $root_prod/tarballs/$prod-$ver*\.tar.gz $root_repos/${prod}-latest.tar.gz $verbosity_level"
eval "$cmd"
cmd="echo $ver-$rel \($date\) > $root_repos/$prod-latest.version"
eval "$cmd"
cmd="find $root_rpms -name $prod-$ver-$rel*\.rpm -exec mv '{}' $root_repos \; $verbosity_level"
eval "$cmd"
cmd="mv -f $root_repos/$prod-$ver-$rel*\.rpm $root_repos/${prod}-latest.rpm $verbosity_level"
eval "$cmd"
postcmd $?
echo
echo "Post-clean up .."
cd "$root_build" || exit 1
for dir in *; do
cmd="rm -rf \"$dir/*\" $verbosity_level"
eval "$cmd"
done
postcmd $?
}
if [ -n "$1" ] && [[ "'$1'" != *"--"* ]]; then
build_prod $@
cloud_upload_list_upload=("$root_repos/$1*")
cloud_upload cloud_upload_list_upload
cloud_repo_sign_and_update
else
build_prod webmin $@
build_prod usermin $@
cloud_upload_list_upload=("$root_repos/*")
cloud_upload cloud_upload_list_upload
cloud_repo_sign_and_update
fi

27
.github/build/vars.sh vendored Executable file
View File

@@ -0,0 +1,27 @@
#!/usr/bin/env bash
#
# Copyright @iliajie <ilia@webmin.dev>
#
# Build variables
#
#
# Set defaults
root="${ENV_BUILD__ROOT:-$HOME}"
root_repos="${ENV_BUILD__ROOT_REPOS:-$root/repo}"
root_build="${ENV_BUILD__ROOT_BUILD:-$root/rpmbuild}"
root_rpms="${ENV_BUILD__ROOT_RPMS:-$root_build/RPMS/noarch}"
# Cloud upload config
cloud_upload_ssh_user="${ENV_BUILD__CLOUD_UPLOAD_SSH_USER:-webmin.dev}"
cloud_upload_ssh_host="${ENV_BUILD__CLOUD_UPLOAD_SSH_HOST:-webmin.dev}"
cloud_upload_ssh_dir="${ENV_BUILD__CLOUD_UPLOAD_SSH_DIR:-~/domains/builds.webmin.dev/public_html}"
cloud_upload_gpg_passphrase="${WEBMIN_DEV__GPG_PH}"
# Define verbosity level
verbosity_level=' >/dev/null 2>&1 </dev/null'
verbosity_level_to_file='2> /dev/null'
verbosity_level_with_input=' >/dev/null 2>&1'
if [[ "'$*'" == *"--debug"* ]]; then
unset verbosity_level verbosity_level_to_file verbosity_level_with_input
fi

View File

@@ -0,0 +1,30 @@
name: "webmin.dev: Deploy Webmin package"
on:
push:
branches:
- master
jobs:
build:
runs-on: ubuntu-22.04
if: contains(github.event.head_commit.message, '[build]')
steps:
- uses: actions/checkout@v3
- uses: awalsh128/cache-apt-pkgs-action@latest
with:
packages: git tar gzip openssl curl openssh-client rpm perl libdigest-sha-perl liblist-moreutils-perl libencode-detect-perl
version: 1.0
- uses: szenius/set-timezone@v1.2
with:
timezoneLinux: "Europe/Nicosia"
- name: Build and upload packages
env:
WEBMIN_DEV__SSH_PRV_KEY: ${{ secrets.WEBMIN_DEV__SSH_PRV_KEY }}
WEBMIN_DEV__SSH_PUB_KEY: ${{ secrets.WEBMIN_DEV__SSH_PUB_KEY }}
WEBMIN_DEV__GPG_PH: ${{ secrets.WEBMIN_DEV__GPG_PH }}
ENV_BUILD__CLOUD_UPLOAD_SSH_HOST: ${{ secrets.WEBMIN_DEV__IP_ADDR }}
working-directory: ./.github/build
run: |-
./deb.sh webmin --devel
./rpm.sh webmin --devel

View File

@@ -1,5 +1,48 @@
## Changelog
#### 2.103 (September 30, 2023)
* Add support for hostname detection using `hostnamectl` command
* Add support for other ACME services
* Add ability to hide dotfiles in File Manager [#1578](https://github.com/webmin/authentic-theme/issues/1578)
* Add `xz`, `zstd` and plain `tar` support when creating archives in File Manager [#2009](https://github.com/webmin/webmin/issues/2009)
* Add support for English (United States) (military time) locale
* Fix to correctly switch key hash type with ACME services
* Fix bug when `backend` wasn't saved correctly in Fail2Ban module [#1992](https://github.com/webmin/webmin/issues/1992)
* Fix large files download in Upload and Download module
* Fix Google Authentication on RHEL systems derivatives
* Update the Authentic theme to the latest version with various fixes and improvements
#### 2.102 (August 23, 2023)
* Add support for Amazon Linux 2023
* Fix a bug in Network Configuration module when parsing network size [sourceforge.net/discussion#55377]( https://sourceforge.net/p/webadmin/discussion/55377/thread/78e5aa05f3)
* Fix Netplan related bugs in Network Configuration module
* Fix Terminal focus bug
* Fix to correctly compare Webmin semantic versions
* Fix to suppress output from `monitor.pl` command [#1984](https://github.com/webmin/webmin/issues/1984)
#### 2.101 (August 5, 2023)
* Add support for reading gzipped email messages
* Add `error_stderr` API
* Fix to show correct locale for sudo-capable users [webmin/authentic-theme#1663](https://github.com/webmin/authentic-theme/issues/1663)
* Fix new signing key import on Debian and derivatives
* Fix to check if password hash format is valid for `yescrypt` and `SHA512`
* Fix various XSS related issues
* Fix updating Webmin from repository if a package is available
#### 2.100 (July 22, 2023)
* Add support for showing defaults for options in PHP Configuration module
* Add significant improvements to email display, reply and compose
* Add support for WebGL in the Terminal module
* Add screen reader support in Terminal module
* Add full support for NetworkManager in Network Configuration module
* Fix correctly displaying bridges with Netplan in Network Configuration module
* Fix displaying active network interfaces in Network Configuration module
* Fix to consider current drive temperature in `smartctl` output #1881
* Fix to properly stop Usermin https://github.com/webmin/usermin/issues/89
* Fix no to add hashed password to the old password list if it's already in there https://github.com/virtualmin/virtualmin-pro/issues/35
* Fix displaying placeholder on input to reflect strftime-style format
* Update the Authentic theme to the latest version adding new vertical column layout
#### 2.021 (March 19, 2023)
* Add ability to set locale in Webmin Users module for consistency
* Fix an error when `make_date` is called on undefined value #1860

File diff suppressed because one or more lines are too long

View File

@@ -207,7 +207,7 @@ if ($access{'lang'}) {
if ($access{'locale'}) {
# Current locale
eval "use DateTime; use DateTime::Locale; use DateTime::TimeZone;";
if (!$@) {
if (!$@ && $] > 5.011) {
my $locales = &list_locales();
my %localesrev = reverse %{$locales};
my $locale_auto = &parse_accepted_language();

View File

@@ -5,7 +5,7 @@ mime_types=/etc/apache2/mime.types
httpd_path=/usr/sbin/httpd
start_cmd=systemctl start apache2
stop_cmd=systemctl stop apache2
apply_cmd=systemctl restart apache2
apply_cmd=systemctl reload apache2
show_order=0
max_servers=100
test_config=1

View File

@@ -779,11 +779,23 @@ local(@po, $po, @rv);
if ($in{'Options_def'}) { return ( [ ] ); }
@po = ("ExecCGI", "FollowSymLinks", "Includes", "IncludesNOEXEC",
"Indexes", "MultiViews", "SymLinksIfOwnerMatch");
my $abscount = 0;
my $pluscount = 0;
foreach $po (@po) {
if ($in{$po} == 1) { push(@rv, $po); }
elsif ($in{$po} == 2) { push(@rv, "+$po"); }
elsif ($in{$po} == 3) { push(@rv, "-$po"); }
if ($in{$po} == 1) {
push(@rv, $po);
$abscount++;
}
elsif ($in{$po} == 2) {
push(@rv, "+$po");
$pluscount++;
}
elsif ($in{$po} == 3) {
push(@rv, "-$po");
$pluscount++;
}
}
$abscount && $pluscount && &error($text{'core_eoptionsboth'});
return @rv ? ( [ join(' ', @rv) ] ) : ( [ "None" ] );
}
@@ -1041,7 +1053,7 @@ sub edit_LimitRequestBody
{
return (1, $text{'core_maxbody'},
&opt_input($_[0]->{'value'}, "LimitRequestBody", $text{'core_default'}, 8)
.$text{'bytes'});
.&ui_space(2).$text{'bytes'});
}
sub save_LimitRequestBody
{
@@ -1052,7 +1064,7 @@ sub edit_LimitXMLRequestBody
{
return (1, $text{'core_maxxml'},
&opt_input($_[0]->{'value'}, "LimitXMLRequestBody",
$text{'core_default'}, 8).$text{'bytes'});
$text{'core_default'}, 8).&ui_space(2).$text{'bytes'});
}
sub save_LimitXMLRequestBody
{

View File

@@ -501,6 +501,7 @@ core_actmod=Active modules
core_option=Option
core_setdir=Set for directory
core_merge=Merge with parent
core_eoptionsboth=Directory options : Active options must be all either Set For Directory or Merged With Parent, but not both
core_users=Only these users
core_groups=Only these groups
core_allusers=All valid users

View File

@@ -577,10 +577,10 @@ mod_proxy_netbit=Sottorete (Network/bits)
mod_proxy_maxfw=Numero massimo di proxy nella catena di richiesta
mod_proxy_emaxfs=Il Numero massimo di proxy nella catena di richiesta deve essere un intero
mod_proxy_preserve=Preserva originale l'header Host:
mod_proxy_timeout=Timeout delle richieste proxy in secondi
mod_proxy_etimeout=Il timeout delle richieste proxy deve essere un numero di secondi
mod_proxy_via=Setta header Via:
mod_log_agent_default=Default
mod_log_agent_file=File..
mod_log_agent_program=Programma..

View File

@@ -566,10 +566,10 @@ mod_proxy_netbit=Мережа/біт
mod_proxy_maxfw=Максимальна кількість проксі в ланцюжку запитів
mod_proxy_emaxfs=Максимальна кількість проксі в ланцюжку запитів належний бути цілої числом
mod_proxy_preserve=Зарезервувати оригінальний вузол: заголовок
mod_proxy_timeout=Час чекання виконання запиту проксі в секундах
mod_proxy_etimeout=Час чекання виконання запиту проксі повинне бути числом секунд
mod_proxy_via=Установити через: заголовки
mod_log_agent_default=За замовчуванням
mod_log_agent_file=Файл..
mod_log_agent_program=Програма..

View File

@@ -573,10 +573,10 @@ mod_proxy_netbit=网络/位
mod_proxy_maxfw=请求链中最大的代理数
mod_proxy_emaxfs=请求链中最大的代理数必须是整数
mod_proxy_preserve=保持原来的主机:文件头
mod_proxy_timeout=代理请求超时秒数
mod_proxy_etimeout=代理请求超时必须是一个有效的秒数
mod_proxy_via=设置通过:头
mod_log_agent_default=默认
mod_log_agent_file=文件…
mod_log_agent_program=程序…

View File

@@ -583,10 +583,10 @@ mod_proxy_netbit=網路/位元
mod_proxy_maxfw=請求鏈中最大的代理數
mod_proxy_emaxfs=請求鏈中最大的代理數必須是整數
mod_proxy_preserve=保留原始主機: 檔頭
mod_proxy_timeout=Proxy回應逾時秒數
mod_proxy_etimeout=Proxy回應逾時秒數必須是個秒數數字
mod_proxy_via=設定經由: 檔頭
mod_log_agent_default=預設
mod_log_agent_file=檔案..
mod_log_agent_program=程式..

View File

@@ -25,6 +25,7 @@ $rv = [ [ 'ProxyRequests', 0, 13, 'virtual', undef, 11 ],
[ 'ProxyMaxForwards', 0, 13, 'virtual', 2.0 ],
[ 'ProxyPreserveHost', 0, 13, 'virtual', 2.031 ],
[ 'ProxyTimeout', 0, 13, 'virtual', 2.031 ],
[ 'ProxyPreserveHost', 0, 13, 'virtual', 2.3 ],
[ 'ProxyVia', 0, 13, 'virtual', 2.0 ] ];
return &make_directives($rv, $_[0], "mod_proxy");
}
@@ -291,7 +292,16 @@ sub save_ProxyVia
return &parse_choice("ProxyVia", "");
}
sub edit_ProxyPreserveHost
{
return (1, $text{'mod_proxy_preserve'},
&choice_input($_[0]->{'value'}, "ProxyPreserveHost", "",
"$text{'yes'},on", "$text{'no'},off", "$text{'default'},"));
}
sub save_ProxyPreserveHost
{
return &parse_choice("ProxyPreserveHost", "");
}
1;

View File

@@ -13,6 +13,7 @@ sub edit_SuexecUserGroup
local $rv;
$rv .= sprintf "<input type=radio name=SuexecUserGroup_def value=1 %s> %s\n",
$_[0] ? "" : "checked", $text{'suexec_none'};
$rv .= &ui_newline();
$rv .= sprintf "<input type=radio name=SuexecUserGroup_def value=0 %s>\n",
$_[0] ? "checked" : "";
$rv .= sprintf "%s <input name=SuexecUserGroup_u size=8 value='%s'> %s\n",

View File

@@ -2,7 +2,7 @@
# Returns a list of files and directories under some directory
$trust_unknown_referers = 1;
BEGIN { require './bacula-backup-lib.pl'; }
require './bacula-backup-lib.pl';
&ReadParse();
# Input sanitization

View File

@@ -61,7 +61,8 @@ sub main
'allow-symlinks|as!' => \$opt{'allow-symlinks'},
'git-commit|gc!' => \$opt{'git-commit'},
'log|l:s' => \$opt{'log'},
'verbose|v:i' => \$opt{'verbose'});
'verbose|v:i' => \$opt{'verbose'},
'yes|y:i' => \$opt{'assumeyes'});
# Print help and exit
pod2usage(0) if ($opt{'help'});
@@ -70,6 +71,11 @@ sub main
if (!defined($opt{'verbose'})) {
$opt{'verbose'} = 1;
}
# Enforce yes for all questions
if (defined($opt{'assumeyes'})) {
$opt{'assumeyes'} = 1;
}
# Get current path
my $path = cwd;
@@ -232,7 +238,7 @@ sub main
# Just run tests, and exit, without writing anything
if (@{ $opt{'keys-test'} }) {
say CYAN, "Translation testing for selected keys is about to start ..", RESET;
if (prompt('next')) {
if (prompt('next', \%opt)) {
go(\%opt, \%data);
}
} else {
@@ -248,7 +254,7 @@ sub main
if ($opt{'mode'} eq 'clean') {
# # Execute clean
talk('clean-pre', \%opt, \%data);
if (prompt('next')) {
if (prompt('next', \%opt)) {
go(\%opt, \%data);
}
}
@@ -258,7 +264,7 @@ sub main
# Execute force transcode/translate
talk('overwrite-pre', \%opt, \%data);
if (prompt('next')) {
if (prompt('next', \%opt)) {
go(\%opt, \%data);
}
}
@@ -283,7 +289,7 @@ sub main
talk('sync-pre', \%opt, \%data);
}
if (prompt('next')) {
if (prompt('next', \%opt)) {
go(\%opt, \%data);
}
}
@@ -546,7 +552,7 @@ sub language_transcode
eval {$string = decode($encoding, $string)};
if ($@) {
say "Error found: $@";
if (!prompt('next')) {
if (!prompt('next', $opt)) {
exit;
}
}
@@ -1692,8 +1698,10 @@ sub get_google_translate_token
sub prompt
{
my ($q) = @_;
my ($q, $opt) = @_;
if ($opt->{'assumeyes'}) {
return 1;
}
if ($q eq 'next') {
return prompt("Do you want to proceed?");
}

View File

@@ -65,10 +65,10 @@ our @dnssec_dlv_key = ( 257, 3, 5, '"BEAAAAPHMu/5onzrEE7z1egmhg/WPO0+juoZrW3euWE
my $rand_flag;
if ($gconfig{'os_type'} =~ /-linux$/ &&
$config{'force_random'} eq '0' &&
-r "/dev/urandom" &&
!$config{'force_random'} &&
$bind_version &&
&compare_version_numbers($bind_version, '9.14') < 0) {
$bind_version =~ /^9\./ &&
&compare_version_numbers($bind_version, '<', '9.14.2')) {
# Version: 9.14.2 deprecated the use of -r option
# in favor of using /dev/random [bugs:#5370]
$rand_flag = "-r /dev/urandom";
@@ -1976,22 +1976,32 @@ if (!$file) {
push(@{$dir->{'members'}}, { 'name' => 'file',
'values' => [ $file ] } );
# Add slave IPs
if (@$slaves) {
# Allow transfer from slave IPs
my (@notify, @transfer);
foreach my $s (@$slaves) {
push(@notify, { 'name' => $s });
push(@transfer, { 'name' => $s });
}
if (@transfer) {
my $gat = &find("allow-transfer", $opts->{'members'});
if ($gat) {
push(@transfer, @{$gat->{'members'}});
}
}
if (@notify) {
my $also = { 'name' => 'also-notify',
'type' => 1,
'members' => [ ] };
my $allow = { 'name' => 'allow-transfer',
'type' => 1,
'members' => [ ] };
foreach my $s (@$slaves) {
push(@{$also->{'members'}}, { 'name' => $s });
push(@{$allow->{'members'}}, { 'name' => $s });
}
push(@{$dir->{'members'}}, $also, $allow);
'members' => \@notify};
push(@{$dir->{'members'}}, $also);
push(@{$dir->{'members'}}, { 'name' => 'notify',
'values' => [ 'yes' ] });
}
if (@transfer) {
my $allow = { 'name' => 'allow-transfer',
'type' => 1,
'members' => \@transfer };
push(@{$dir->{'members'}}, $allow);
}
# Create the zone file, with records
my $ZONE;
@@ -3591,7 +3601,7 @@ for(my $i=$#recs; $i>=0; $i--) {
if ($recs[$i]->{'type'} eq 'NSEC' ||
$recs[$i]->{'type'} eq 'NSEC3' ||
$recs[$i]->{'type'} eq 'RRSIG' ||
$recs[$i]->{'type'} eq 'NSEC3PARAM' && $tools ||
$recs[$i]->{'type'} eq 'NSEC3PARAM' ||
$recs[$i]->{'type'} eq 'DNSKEY') {
&delete_record($fn, $recs[$i]);
}

View File

@@ -5,7 +5,7 @@ use warnings;
no warnings 'redefine';
no warnings 'uninitialized';
# Globals
our (%access, %text);
our (%access, %text, $bind_version);
our $dnssec_dlv_zone;
require './bind8-lib.pl';
@@ -24,10 +24,12 @@ $tkeys ||= { 'members' => [ ] };
print &ui_form_start("save_trusted.cgi", "post");
print &ui_table_start($text{'trusted_header'}, undef, 2);
# DNSSEC enabled?
print &choice_input($text{'trusted_dnssec'}, 'dnssec-enable', $mems,
$text{'yes'}, 'yes', $text{'no'}, 'no',
$text{'default'}, undef);
if (&compare_version_numbers($bind_version, '<', '9.16.0')) {
# DNSSEC enabled?
print &choice_input($text{'trusted_dnssec'}, 'dnssec-enable', $mems,
$text{'yes'}, 'yes', $text{'no'}, 'no',
$text{'default'}, undef);
}
if (&supports_dnssec_client() == 2) {
print &choice_input($text{'trusted_validation'},
'dnssec-validation', $mems,

View File

@@ -17,6 +17,14 @@ my $dom = $zone->{'name'};
&ui_print_header(&zone_subhead($zone), $text{'master_title'}, "",
undef, undef, undef, undef, &restart_links($zone));
my $d = &get_virtualmin_domains($dom);
if ($d && $d->{'alias'}) {
print &ui_alert_box($text{'master_vminalias'}, 'danger');
}
elsif ($d) {
print &ui_alert_box($text{'master_vmin'}, 'warn');
}
# Find the record types
my (@rcodes, @recs);
if (!$config{'largezones'}) {

View File

@@ -147,6 +147,8 @@ master_defttl=Standaard lewendige tyd vir rekords
master_edefttl='$1' is nie 'n geldige standaardtyd vir lewering van rekords nie
master_esoagone=Geen SOA-rekord gevind nie!
master_einclude=Bykomende sjabloonlêer bestaan nie
master_vmin=Hierdie sone word deur Virtualmin bestuur. Rekords moet geredigeer word met behulp van die Virtualmin UI, om te verseker dat dit ooreenstem met ander virtuele bediener instellings.
master_vminalias=Hierdie sone is 'n alias van 'n Virtualmin-domein, wat gesinchroniseer word met sy teiken. Rekords moet nooit hier geredigeer word nie, aangesien enige veranderinge oorgeskryf sal word!
delete_title=Vee sone uit
delete_mesg=Is u seker dat u die sone $1 wil verwyder? Alle rekords en die sone-lêer sal uitgevee word.

View File

@@ -147,6 +147,8 @@ master_defttl=الوقت الافتراضي للعيش للسجلات
master_edefttl='$1' is not a valid default time-to-live for records
master_esoagone=لم يتم العثور على سجل الخدمية!
master_einclude=ملف القالب الإضافي غير موجود
master_vmin=تتم إدارة هذه المنطقة بواسطة Virtualmin. يجب تحرير السجلات باستخدام Virtualmin UI ، للتأكد من أنها متوافقة مع إعدادات الخادم الظاهري الأخرى.
master_vminalias=هذه المنطقة هي اسم مستعار لنطاق Virtualmin ، والذي يتم الاحتفاظ به متزامنًا مع هدفه. يجب عدم تحرير السجلات هنا مطلقًا ، حيث سيتم الكتابة فوق أي تغييرات!
delete_title=حذف المنطقة
delete_mesg=Are you sure you want to delete the zone $1 ? All records and the zone file will be deleted.

View File

@@ -147,6 +147,8 @@ master_defttl=Час жыць да запісаў па змаўчанні
master_edefttl="$1" не з'яўляецца дапушчальным да запісу часу для запісу па змаўчанні
master_esoagone=Запіс SOA не знойдзены!
master_einclude=Дадатковы файл шаблону не існуе
master_vmin=Гэта зона кіруецца Virtualmin. Запісы трэба рэдагаваць з дапамогай інтэрфейсу Virtualmin, каб пераканацца, што яны адпавядаюць наладам іншых віртуальных сервераў.
master_vminalias=Гэтая зона з'яўляецца псеўданімам дамена Virtualmin, які падтрымліваецца ў сінхранізацыі з мэтай. Запісы ніколі не павінны рэдагавацца тут, бо любыя змены будуць перазапісаны!
delete_title=Выдаліць зону
delete_mesg=Вы ўпэўнены, што хочаце выдаліць зону $1? Усе запісы і файл зоны будуць выдаленыя.

View File

@@ -1,4 +1,6 @@
master_inview=$1 с оглед $2
master_vmin=Тази зона се управлява от Virtualmin. Записите трябва да се редактират с помощта на потребителския интерфейс на Virtualmin, за да се гарантира, че са съвместими с други настройки на виртуален сървър.
master_vminalias=Тази зона е псевдоним на домейн Virtualmin, който се поддържа в синхрон със своята цел. Записите никога не трябва да се редактират тук, тъй като всички промени ще бъдат презаписани!
delete_vwarn=Тази зона е свързана с домейна Virtualmin $1 и затова не трябва да се изтрива тук!

View File

@@ -1,4 +1,6 @@
master_inview=$1 a la vista $2
master_vmin=Aquesta zona està gestionada per Virtualmin. Els registres s'han d'editar mitjançant la interfície d'usuari de Virtualmin, per assegurar-se que són coherents amb altres configuracions del servidor virtual.
master_vminalias=Aquesta zona és un àlies d'un domini Virtualmin, que es manté sincronitzat amb el seu objectiu. Els registres no s'han d'editar mai aquí, ja que qualsevol canvi es sobreescriurà!
delete_onslave=També voleu suprimir-lo dels servidors esclaus?
delete_errslave=La zona mestra ha suprimit bé, però s'han produït els errors següents en esclaus : $1

View File

@@ -24,6 +24,8 @@ master_movedesc=Přesune tuto zónu do jiného zobrazení a přitom zachová vš
master_applymsg2=Klepnutím na toto tlačítko použijete změny pouze pro tuto zónu. Toto bude fungovat, pouze pokud byly změny provedeny pro celý server alespoň jednou od vytvoření zóny.
master_esoagone=Nebyl nalezen žádný záznam SOA!
master_einclude=Další soubor šablony neexistuje
master_vmin=Tuto zónu spravuje Virtualmin. Záznamy by měly být upravovány pomocí uživatelského rozhraní Virtualmin, aby bylo zajištěno, že budou konzistentní s ostatními nastaveními virtuálního serveru.
master_vminalias=Tato zóna je alias domény Virtualmin, která je synchronizována s jejím cílem. Záznamy by zde nikdy neměly být upravovány, protože jakékoli změny budou přepsány!
delete_mesg3=Opravdu chcete odstranit zónu $1?
delete_vwarn=Tato zóna je přidružena k doméně Virtualmin $1, a proto by zde neměla být odstraněna!

View File

@@ -147,6 +147,8 @@ master_defttl=Standard tid til live for poster
master_edefttl='$1' er ikke en gyldig standard-tid-til-live for poster
master_esoagone=Ingen SOA-registrering fundet!
master_einclude=Yderligere skabelonfil findes ikke
master_vmin=Denne zone administreres af Virtualmin. Records bør redigeres ved hjælp af Virtualmin UI for at sikre, at de stemmer overens med andre virtuelle serverindstillinger.
master_vminalias=Denne zone er et alias for et Virtualmin-domæne, som holdes synkroniseret med dets mål. Optegnelser bør aldrig redigeres her, da eventuelle ændringer vil blive overskrevet!
delete_title=Slet zone
delete_mesg=Er du sikker på, at du vil slette zonen $1? Alle poster og zonefilen vil blive slettet.

View File

@@ -1,4 +1,6 @@
master_inview=$1 im Blick $2
master_vmin=Diese Zone wird von Virtualmin verwaltet. Datensätze sollten über die Virtualmin-Benutzeroberfläche bearbeitet werden, um sicherzustellen, dass sie mit anderen Einstellungen des virtuellen Servers konsistent sind.
master_vminalias=Diese Zone ist ein Alias einer Virtualmin-Domäne, die mit ihrem Ziel synchron gehalten wird. Datensätze sollten hier niemals bearbeitet werden, da alle Änderungen überschrieben werden!
delete_vwarn=Diese Zone ist der Virtualmin-Domäne $1 zugeordnet und sollte daher hier nicht gelöscht werden!

View File

@@ -147,6 +147,8 @@ master_defttl=Προεπιλεγμένος χρόνος ζωής για αρχε
master_edefttl=Το '$1' δεν είναι έγκυρη προεπιλεγμένη ώρα για ζωντανή εγγραφή
master_esoagone=Δεν βρέθηκε αρχείο SOA!
master_einclude=Δεν υπάρχει πρόσθετο αρχείο προτύπου
master_vmin=Αυτή η ζώνη διαχειρίζεται το Virtualmin. Οι εγγραφές θα πρέπει να επεξεργάζονται χρησιμοποιώντας το Virtualmin UI, για να διασφαλιστεί ότι είναι συνεπείς με άλλες ρυθμίσεις εικονικού διακομιστή.
master_vminalias=Αυτή η ζώνη είναι ένα ψευδώνυμο ενός τομέα Virtualmin, ο οποίος διατηρείται σε συγχρονισμό με τον στόχο του. Οι εγγραφές δεν πρέπει ποτέ να επεξεργάζονται εδώ, καθώς τυχόν αλλαγές θα αντικατασταθούν!
delete_title=Διαγραφή Ζώνης
delete_mesg=Είστε βέβαιοι ότι θέλετε να διαγράψετε τη ζώνη $1; Όλες οι εγγραφές και το αρχείο ζώνης θα διαγραφούν.

View File

@@ -147,6 +147,8 @@ master_defttl=Default time-to-live for records
master_edefttl='$1' is not a valid default time-to-live for records
master_esoagone=No SOA record found!
master_einclude=Additional template file does not exist
master_vmin=This zone is managed by Virtualmin. Records should be edited using the Virtualmin UI, to ensure they are consistent with other virtual server settings.
master_vminalias=This zone is an alias of a Virtualmin domain, which is kept in sync with it's target. Records should never be edited here, as any changes will be overwritten!
delete_title=Delete Zone
delete_mesg=Are you sure you want to delete the zone $1 ? All records and the zone file will be deleted.

View File

@@ -37,6 +37,8 @@ master_defttl=Tiempo de vida predeterminado para registros
master_edefttl='$1' no es un tiempo de vida predeterminado válido para los registros
master_esoagone=¡No se ha encontrado el registro SOA!
master_einclude=El archivo de plantilla adicional no existe
master_vmin=Esta zona es administrada por Virtualmin. Los registros deben editarse mediante la interfaz de usuario de Virtualmin para garantizar que sean coherentes con otras configuraciones del servidor virtual.
master_vminalias=Esta zona es un alias de un dominio de Virtualmin, que se mantiene sincronizado con su objetivo. Los registros nunca deben editarse aquí, ya que cualquier cambio se sobrescribirá
delete_mesg3=¿Está seguro de que desea eliminar la zona $1?
delete_vwarn=Esta zona está asociada con el dominio Virtualmin $1, por lo que no debe eliminarse aquí.

View File

@@ -147,6 +147,8 @@ master_defttl=Erregistroen bizitzeko denbora lehenetsia
master_edefttl='$1' ez da erregistroen denbora bizitzeko balio lehenetsia
master_esoagone=Ez da SOA erregistrorik aurkitu!
master_einclude=Ez da txantiloi fitxategi gehigarririk existitzen
master_vmin=Zona hau Virtualmin-ek kudeatzen du. Erregistroak Virtualmin UI erabiliz editatu behar dira, zerbitzari birtualeko beste ezarpen batzuekin bat datozela ziurtatzeko.
master_vminalias=Zona hau Virtualmin domeinu baten alias bat da, zeina helbururekin sinkronizatuta mantentzen dena. Erregistroak ez dira inoiz hemen editatu behar, edozein aldaketa gainidatzi egingo baita!
delete_title=Ezabatu zona
delete_mesg=Ziur $1 zona ezabatu nahi duzula? Erregistro guztiak eta zona fitxategia ezabatuko dira.

View File

@@ -30,6 +30,8 @@ master_movedesc=این منطقه را به یک نمای دیگر منتقل م
master_applymsg2=برای اعمال تغییرات فقط در این منطقه ، روی این دکمه کلیک کنید. این کار فقط در صورتی انجام می شود که حداقل یک بار از زمان ایجاد منطقه ، برای کل سرور اعمال شود.
master_esoagone=هیچ سابقه SOA یافت نشد!
master_einclude=پرونده الگوی اضافی وجود ندارد
master_vmin=این منطقه توسط Virtualmin مدیریت می شود. رکوردها باید با استفاده از Virtualmin UI ویرایش شوند تا اطمینان حاصل شود که با سایر تنظیمات سرور مجازی سازگار هستند.
master_vminalias=این منطقه نام مستعار یک دامنه Virtualmin است که با هدف خود هماهنگ می شود. سوابق هرگز نباید در اینجا ویرایش شوند، زیرا هر تغییری بازنویسی می شود!
delete_mesg3=Are you sure you want to delete the zone $1 ?
delete_vwarn=این منطقه با دامنه Virtualmin $1 همراه است و بنابراین نباید در اینجا حذف شود!

View File

@@ -147,6 +147,8 @@ master_defttl=Tietueiden oletusaika-aika
master_edefttl='$1' ei ole kelvollinen oletusarvoinen elinaika tietueille
master_esoagone=SOA-tietuetta ei löytynyt!
master_einclude=Muuta mallitiedostoa ei ole
master_vmin=Tätä vyöhykettä hallinnoi Virtualmin. Tietueita tulee muokata Virtualmin-käyttöliittymällä, jotta ne ovat yhdenmukaisia muiden virtuaalipalvelinasetusten kanssa.
master_vminalias=Tämä vyöhyke on Virtualmin-verkkotunnuksen alias, joka pidetään synkronoituna kohteensa kanssa. Tietueita ei saa koskaan muokata täällä, sillä kaikki muutokset korvataan!
delete_title=Poista vyöhyke
delete_mesg=Haluatko varmasti poistaa vyöhykkeen $1? Kaikki tietueet ja vyöhyketiedosto poistetaan.

View File

@@ -1,3 +1,6 @@
master_vmin=Cette zone est gérée par Virtualmin. Les enregistrements doivent être modifiés à l'aide de l'interface utilisateur Virtualmin, pour s'assurer qu'ils sont cohérents avec les autres paramètres du serveur virtuel.
master_vminalias=Cette zone est un alias d'un domaine Virtualmin, qui est synchronisé avec sa cible. Les enregistrements ne doivent jamais être modifiés ici, car toute modification sera écrasée !
slave_format=Format de fichier de zone
slave_raw=Binaire brut
slave_text=Texte brut

View File

@@ -147,6 +147,8 @@ master_defttl=זמן ברירת המחדל לחיים עבור רשומות
master_edefttl='$1' אינו זמן ברירת מחדל תקף לחיות עבור רשומות
master_esoagone=לא נמצאה רשומת SOA!
master_einclude=קובץ תבנית נוסף אינו קיים
master_vmin=אזור זה מנוהל על ידי Virtualmin. יש לערוך את הרשומות באמצעות ממשק המשתמש של Virtualmin, כדי להבטיח שהן עולות בקנה אחד עם הגדרות שרת וירטואלי אחרות.
master_vminalias=אזור זה הוא כינוי של דומיין Virtualmin, אשר נשמר מסונכרן עם היעד שלו. לעולם אין לערוך רשומות כאן, מכיוון שכל השינויים יוחלפו!
delete_title=מחק אזור
delete_mesg=האם אתה בטוח שברצונך למחוק את האזור $1 ? כל הרשומות וקובץ האזור יימחקו.

View File

@@ -147,6 +147,8 @@ master_defttl=Zadano vrijeme za snimanje uživo
master_edefttl="$1" nije valjano zadano vrijeme za izradu zapisa
master_esoagone=Nije pronađen SOA zapis!
master_einclude=Dodatna datoteka predloška ne postoji
master_vmin=Ovom zonom upravlja Virtualmin. Zapise treba uređivati pomoću korisničkog sučelja Virtualmin kako bi se osiguralo da su u skladu s drugim postavkama virtualnog poslužitelja.
master_vminalias=Ova zona je pseudonim Virtualmin domene, koja je sinkronizirana sa svojim ciljem. Zapisi se nikada ne smiju uređivati ovdje, jer će sve promjene biti prebrisane!
delete_title=Izbriši zonu
delete_mesg=Jeste li sigurni da želite izbrisati zonu $1? Svi zapisi i zonska datoteka bit će izbrisani.

View File

@@ -10,6 +10,8 @@ master_inview=$1 a $2 nézetben
master_egone=A $1 zóna egyetlen nézetben sem létezik
master_egone2=A $1 zóna nem létezik!
master_egone3=A $1 zóna a $2 nézetben nem létezik!
master_vmin=Ezt a zónát a Virtualmin kezeli. A rekordokat a Virtualmin UI használatával kell szerkeszteni, hogy konzisztensek legyenek a többi virtuális szerver beállításával.
master_vminalias=Ez a zóna egy Virtualmin tartomány álneve, amely szinkronban van a céljával. A rekordokat soha nem szabad itt szerkeszteni, mert az esetleges változtatások felülíródnak!
delete_vwarn=Ez a zóna a $1 Virtualmin domainhez van társítva, ezért itt nem szabad törölni!

View File

@@ -47,6 +47,8 @@ master_defttl=Tempo di vita predefinito per i record
master_edefttl='$1' non è un time-to-live predefinito valido per i record
master_esoagone=Nessun record SOA trovato!
master_einclude=Non esiste un file modello aggiuntivo
master_vmin=Questa zona è gestita da Virtualmin. I record devono essere modificati utilizzando l'interfaccia utente di Virtualmin, per garantire che siano coerenti con le altre impostazioni del server virtuale.
master_vminalias=Questa zona è un alias di un dominio Virtualmin, che viene mantenuto sincronizzato con la sua destinazione. I record non dovrebbero mai essere modificati qui, poiché qualsiasi modifica verrà sovrascritta!
delete_mesg3=Sei sicuro di voler eliminare la zona $1?
delete_onslave=Eliminare anche dai server slave?

View File

@@ -13,6 +13,8 @@ master_inview=ビュー $2の $1
master_egone=ゾーン$1はどのビューにも存在しません
master_egone2=ゾーン$1は存在しません
master_egone3=ビュー$2のゾーン$1は存在しません
master_vmin=このゾーンは Virtualmin によって管理されます。レコードは、他の仮想サーバー設定との一貫性を確保するために、Virtualmin UI を使用して編集する必要があります。
master_vminalias=このゾーンは Virtualmin ドメインのエイリアスであり、ターゲットとの同期が保たれます。変更が上書きされるため、ここでレコードを編集しないでください。
delete_vwarn=このゾーンはVirtualminドメイン $1に関連付けられているため、ここで削除しないでください
delete_vwarn2=このゾーンはVirtualminドメイン $1および $2に関連付けられているため、ここで削除しないでください

View File

@@ -71,6 +71,8 @@ master_defttl=레코드의 기본 수명
master_edefttl='$1'은 (는) 유효한 기본 유효 기간이 아닙니다.
master_esoagone=SOA 레코드가 없습니다!
master_einclude=추가 템플릿 파일이 없습니다
master_vmin=이 영역은 Virtualmin에서 관리합니다. 다른 가상 서버 설정과 일관성을 유지하려면 Virtualmin UI를 사용하여 레코드를 편집해야 합니다.
master_vminalias=이 영역은 대상과 동기화된 상태로 유지되는 Virtualmin 도메인의 별칭입니다. 모든 변경 사항을 덮어쓰게 되므로 여기에서 레코드를 편집하면 안 됩니다!
delete_mesg2=루트 영역을 삭제 하시겠습니까? DNS 서버가 더 이상 인터넷에서 주소를 조회하지 못할 수 있습니다.
delete_mesg3=영역 $1을 삭제 하시겠습니까?

View File

@@ -147,6 +147,8 @@ master_defttl=Numatytasis įrašų gyvavimo laikas
master_edefttl=„$1“ nėra tinkamas numatytasis įrašų gyvavimo laikas
master_esoagone=Nerastas SOA įrašas.
master_einclude=Papildomo šablono failo nėra
master_vmin=Šią zoną valdo „Virtualmin“. Įrašai turi būti redaguojami naudojant „Virtualmin“ vartotojo sąsają, siekiant užtikrinti, kad jie atitiktų kitus virtualaus serverio nustatymus.
master_vminalias=Ši zona yra „Virtualmin“ domeno slapyvardis, kuris yra sinchronizuojamas su savo taikiniu. Įrašai čia niekada neturėtų būti redaguojami, nes bet kokie pakeitimai bus perrašyti!
delete_title=Ištrinti zoną
delete_mesg=Ar tikrai norite ištrinti $1 zoną? Visi įrašai ir zonos failai bus ištrinti.

View File

@@ -147,6 +147,8 @@ master_defttl=Noklusētais ierakstu dzīves laiks
master_edefttl='$1' nav derīgs ierakstu noklusējuma dzīves laiks
master_esoagone=Nav atrasts neviens SOA ieraksts.
master_einclude=Papildu veidnes fails neeksistē
master_vmin=Šo zonu pārvalda Virtualmin. Ieraksti ir jārediģē, izmantojot Virtualmin UI, lai nodrošinātu to atbilstību citiem virtuālā servera iestatījumiem.
master_vminalias=Šī zona ir Virtualmin domēna aizstājvārds, kas tiek sinhronizēts ar tā mērķi. Ierakstus nekad nevajadzētu rediģēt šeit, jo visas izmaiņas tiks pārrakstītas!
delete_title=Dzēst zonu
delete_mesg=Vai tiešām vēlaties izdzēst zonu $1? Visi ieraksti un zonas fails tiks izdzēsti.

View File

@@ -147,6 +147,8 @@ master_defttl=Waktu untuk hidup untuk rekod lalai
master_edefttl='$1' bukan masa lalai yang sah untuk rekod
master_esoagone=Tiada rekod SOA ditemui!
master_einclude=Fail templat tambahan tidak wujud
master_vmin=Zon ini diuruskan oleh Virtualmin. Rekod hendaklah diedit menggunakan UI Virtualmin, untuk memastikan ia konsisten dengan tetapan pelayan maya yang lain.
master_vminalias=Zon ini ialah alias domain Virtualmin, yang disimpan selari dengan sasarannya. Rekod tidak boleh diedit di sini, kerana sebarang perubahan akan ditimpa!
delete_title=Padamkan Zon
delete_mesg=Adakah anda pasti mahu memadamkan zon $1? Semua rekod dan fail zon akan dihapuskan.

View File

@@ -147,6 +147,8 @@ master_defttl=Żmien tal-għajxien awtomatiku għar-rekords
master_edefttl="$1" m'huwiex il-ħin ta 'l-għajxien validu għar-rekords
master_esoagone=Ma nstab l-ebda rekord SOA!
master_einclude=Fajl mudell addizzjonali ma jeżistix
master_vmin=Din iż-żona hija mmexxija minn Virtualmin. Ir-rekords għandhom jiġu editjati bl-użu ta' Virtualmin UI, biex jiġi żgurat li jkunu konsistenti ma' settings oħra ta' server virtwali.
master_vminalias=Din iż-żona hija alias ta' dominju Virtualmin, li jinżamm sinkronizzat mal-mira tiegħu. Ir-rekords m'għandhom qatt jiġu editjati hawn, peress li kwalunkwe tibdil se jinkiteb fuqhom!
delete_title=Ħassar Żona
delete_mesg=Int żgur li trid tħassar iż-żona $1? Ir-rekords kollha u l-fajl taż-żona se jitħassru.

View File

@@ -9,6 +9,8 @@ master_inview=$1 in zicht $2
master_egone=Zone $1 bestaat in geen enkele weergave
master_egone2=Zone $1 bestaat niet!
master_egone3=Zone $1 in zicht $2 bestaat niet!
master_vmin=Deze zone wordt beheerd door Virtualmin. Records moeten worden bewerkt met behulp van de gebruikersinterface van Virtualmin, om ervoor te zorgen dat ze consistent zijn met andere virtuele serverinstellingen.
master_vminalias=Deze zone is een alias van een Virtualmin-domein, dat synchroon wordt gehouden met zijn doel. Records mogen hier nooit worden bewerkt, omdat eventuele wijzigingen worden overschreven!
delete_vwarn=Deze zone is gekoppeld aan het Virtualmin-domein $1 en mag hier dus niet worden verwijderd!

View File

@@ -1,3 +1,6 @@
master_vmin=Denne sonen administreres av Virtualmin. Oppføringer bør redigeres ved hjelp av Virtualmin-grensesnittet for å sikre at de stemmer overens med andre virtuelle serverinnstillinger.
master_vminalias=Denne sonen er et alias for et Virtualmin-domene, som holdes synkronisert med målet. Poster bør aldri redigeres her, da eventuelle endringer vil bli overskrevet!
slave_format=Sone filformat
slave_raw=Rå binær
slave_text=Ren tekst

View File

@@ -3,6 +3,8 @@ index_eexpired_conf=Automatyczne podpisywanie powinno zostać ponownie włączon
index_eexpired_mod=Użyj modułu $1, aby wyłączyć DNSSEC dla tych domen lub sprawdzić, dlaczego podpisywanie kończy się niepowodzeniem.
master_inview=$1 w widoku $2
master_vmin=Tą strefą zarządza Virtualmin. Rekordy należy edytować za pomocą interfejsu użytkownika Virtualmin, aby zapewnić ich spójność z innymi ustawieniami serwera wirtualnego.
master_vminalias=Ta strefa jest aliasem domeny Virtualmin, która jest synchronizowana z celem. Rekordów nigdy nie należy tutaj edytować, ponieważ wszelkie zmiany zostaną nadpisane!
delete_vwarn=Ta strefa jest powiązana z domeną Virtualmin $1, dlatego nie należy jej tutaj usuwać!

View File

@@ -88,6 +88,8 @@ master_defttl=Tempo de vida padrão para registros
master_edefttl='$1' não é um tempo de vida padrão válido para registros
master_esoagone=Nenhum registro SOA encontrado!
master_einclude=Arquivo de modelo adicional não existe
master_vmin=Esta zona é gerenciada pelo Virtualmin. Os registros devem ser editados usando a IU do Virtualmin, para garantir que sejam consistentes com outras configurações do servidor virtual.
master_vminalias=Esta zona é um alias de um domínio Virtualmin, que é mantido em sincronia com seu alvo. Os registros nunca devem ser editados aqui, pois quaisquer alterações serão substituídas!
delete_title=Excluir zona
delete_mesg=Tem certeza de que deseja excluir a zona $1? Todos os registros e o arquivo de zona serão excluídos.

View File

@@ -11,6 +11,8 @@ master_inview=$1 na visualização $2
master_egone=A zona $1 não existe em nenhuma visualização
master_egone2=A zona $1 não existe!
master_egone3=A zona $1 na exibição $2 não existe!
master_vmin=Esta zona é gerenciada pelo Virtualmin. Os registros devem ser editados usando a IU do Virtualmin, para garantir que sejam consistentes com outras configurações do servidor virtual.
master_vminalias=Esta zona é um alias de um domínio Virtualmin, que é mantido em sincronia com seu destino. Os registros nunca devem ser editados aqui, pois quaisquer alterações serão substituídas!
delete_vwarn=Esta zona está associada ao domínio Virtualmin $1 e, portanto, não deve ser excluída aqui!

View File

@@ -147,6 +147,8 @@ master_defttl=Timp de viață implicit pentru înregistrări
master_edefttl=„$1” nu este o durată de viață implicită valabilă pentru înregistrări
master_esoagone=Nu a fost găsită nicio înregistrare SOA!
master_einclude=Fișierul șablon suplimentar nu există
master_vmin=Această zonă este gestionată de Virtualmin. Înregistrările trebuie editate utilizând interfața de utilizare Virtualmin, pentru a se asigura că sunt în concordanță cu alte setări ale serverului virtual.
master_vminalias=Această zonă este un alias al unui domeniu Virtualmin, care este menținut în sincronizare cu ținta sa. Înregistrările nu trebuie niciodată editate aici, deoarece orice modificări vor fi suprascrise!
delete_title=Ștergeți Zona
delete_mesg=Sigur doriți să ștergeți zona $1? Toate înregistrările și fișierul de zonă vor fi șterse.

View File

@@ -48,6 +48,8 @@ master_defttl=Время жизни по умолчанию для записе
master_edefttl=«$1» не является допустимым временем жизни по умолчанию для записей
master_esoagone=Запись SOA не найдена!
master_einclude=Дополнительный файл шаблона не существует
master_vmin=Эта зона управляется Virtualmin. Записи следует редактировать с помощью пользовательского интерфейса Virtualmin, чтобы обеспечить их соответствие другим настройкам виртуального сервера.
master_vminalias=Эта зона является псевдонимом домена Virtualmin, который синхронизируется со своей целью. Записи никогда не должны редактироваться здесь, так как любые изменения будут перезаписаны!
delete_mesg3=Вы уверены, что хотите удалить зону $1?
delete_onslave=Также удалить с подчиненных серверов?

View File

@@ -147,6 +147,8 @@ master_defttl=Predvolený čas dožívania záznamov
master_edefttl='$1' nie je platný predvolený čas do života záznamov
master_esoagone=Nenašli sa žiadne záznamy SOA!
master_einclude=Dodatočný súbor šablóny neexistuje
master_vmin=Túto zónu spravuje Virtualmin. Záznamy by sa mali upravovať pomocou používateľského rozhrania Virtualmin, aby sa zabezpečilo, že budú konzistentné s ostatnými nastaveniami virtuálneho servera.
master_vminalias=Táto zóna je alias domény Virtualmin, ktorá je synchronizovaná s jej cieľom. Záznamy by sa tu nikdy nemali upravovať, pretože akékoľvek zmeny budú prepísané!
delete_title=Odstrániť zónu
delete_mesg=Naozaj chcete odstrániť zónu $1? Všetky záznamy a súbor zóny budú vymazané.

View File

@@ -147,6 +147,8 @@ master_defttl=Privzeti čas za življenje za zapise
master_edefttl='$1' ni veljaven privzeti čas za življenje za zapise
master_esoagone=Ni SOA zapisa!
master_einclude=Dodatna datoteka predloge ne obstaja
master_vmin=To območje upravlja Virtualmin. Zapise je treba urejati z uporabniškim vmesnikom Virtualmin, da se zagotovi skladnost z drugimi nastavitvami virtualnega strežnika.
master_vminalias=To območje je vzdevek domene Virtualmin, ki je sinhronizirana s svojim ciljem. Zapisov nikoli ne urejajte tukaj, saj bodo vse spremembe prepisane!
delete_title=Zbriši cono
delete_mesg=Ali ste prepričani, da želite izbrisati cono $1? Vsi zapisi in zonska datoteka bodo izbrisani.

View File

@@ -27,6 +27,8 @@ master_movedesc=Flyttar denna zon till en annan vy, samtidigt som alla poster oc
master_applymsg2=Klicka på den här knappen för att endast tillämpa ändringar för denna zon. Detta fungerar bara om ändringar har tillämpats för hela servern minst en gång sedan zonen skapades.
master_esoagone=Ingen SOA-post hittades!
master_einclude=Ytterligare mallfil finns inte
master_vmin=Denna zon hanteras av Virtualmin. Poster bör redigeras med Virtualmin-gränssnittet för att säkerställa att de överensstämmer med andra virtuella serverinställningar.
master_vminalias=Denna zon är ett alias för en Virtualmin-domän, som hålls synkroniserad med dess mål. Poster bör aldrig redigeras här, eftersom alla ändringar kommer att skrivas över!
delete_mesg3=Är du säker på att du vill ta bort zonen $1?
delete_vwarn=Denna zon är associerad med Virtualmin-domänen $1, och bör därför inte tas bort här!

View File

@@ -147,6 +147,8 @@ master_defttl=ค่าเริ่มต้นเวลาอยู่เพื
master_edefttl='$1' ไม่ใช่เวลาเริ่มต้นที่ถูกต้องสำหรับบันทึก
master_esoagone=ไม่พบบันทึก SOA!
master_einclude=ไม่มีไฟล์เทมเพลตเพิ่มเติม
master_vmin=โซนนี้จัดการโดย Virtualmin ควรแก้ไขบันทึกโดยใช้ Virtualmin UI เพื่อให้แน่ใจว่าสอดคล้องกับการตั้งค่าเซิร์ฟเวอร์เสมือนอื่นๆ
master_vminalias=โซนนี้เป็นนามแฝงของโดเมน Virtualmin ซึ่งซิงค์กับเป้าหมาย ไม่ควรแก้ไขบันทึกที่นี่ เนื่องจากการเปลี่ยนแปลงใดๆ จะถูกเขียนทับ!
delete_title=ลบโซน
delete_mesg=คุณแน่ใจหรือว่าต้องการลบโซน $1 ระเบียนทั้งหมดและไฟล์โซนจะถูกลบ

View File

@@ -29,6 +29,8 @@ master_movedesc=Tüm kayıtları ve diğer seçenekleri korurken bu bölgeyi ba
master_applymsg2=Yalnızca bu bölge için değişiklik uygulamak üzere bu düğmeyi tıklayın. Bu, yalnızca bölge oluşturulduğundan bu yana en az bir kez tüm sunucu için değişiklikler uygulandığında çalışır.
master_esoagone=SOA kaydı bulunamadı!
master_einclude=Ek şablon dosyası yok
master_vmin=Bu bölge Virtualmin tarafından yönetilmektedir. Diğer sanal sunucu ayarlarıyla tutarlı olduklarından emin olmak için kayıtlar Virtualmin UI kullanılarak düzenlenmelidir.
master_vminalias=Bu bölge, hedefiyle senkronize tutulan bir Virtualmin etki alanının takma adıdır. Herhangi bir değişikliğin üzerine yazılacağı için kayıtlar burada asla düzenlenmemelidir!
delete_mesg3=$1 bölgesini silmek istediğinizden emin misiniz?
delete_vwarn=Bu bölge $1 Virtualmin etki alanı ile ilişkilidir ve buradan silinmemelidir!

View File

@@ -48,6 +48,8 @@ master_defttl=Час життя для записів за замовчуван
master_edefttl='$1' не є дійсним за замовчуванням для прослуховування записів за замовчуванням
master_esoagone=Запис SOA не знайдено!
master_einclude=Додатковий файл шаблону не існує
master_vmin=Цією зоною керує Virtualmin. Записи слід редагувати за допомогою інтерфейсу користувача Virtualmin, щоб переконатися, що вони відповідають іншим налаштуванням віртуального сервера.
master_vminalias=Ця зона є псевдонімом домену Virtualmin, який синхронізується з цільовим доменом. Тут ніколи не можна редагувати записи, оскільки будь-які зміни будуть перезаписані!
delete_mesg3=Ви впевнені, що хочете видалити зону $1?
delete_onslave=Видалити також з підлеглого серверів?

View File

@@ -147,6 +147,8 @@ master_defttl=پہلے سے طے شدہ ریکارڈوں کے لئے وقت رہ
master_edefttl='$1' is not a valid default time-to-live for records
master_esoagone=ایس او اے کا کوئی ریکارڈ نہیں ملا!
master_einclude=اضافی ٹیمپلیٹ فائل موجود نہیں ہے
master_vmin=یہ زون Virtualmin کے زیر انتظام ہے۔ Virtualmin UI کا استعمال کرتے ہوئے ریکارڈز میں ترمیم کی جانی چاہیے، تاکہ یہ یقینی بنایا جا سکے کہ وہ دیگر ورچوئل سرور کی ترتیبات کے ساتھ مطابقت رکھتے ہیں۔
master_vminalias=یہ زون ورچوئل مین ڈومین کا ایک عرف ہے، جسے اس کے ہدف کے ساتھ ہم آہنگ رکھا جاتا ہے۔ یہاں ریکارڈز میں کبھی بھی ترمیم نہیں کی جانی چاہیے، کیونکہ کوئی بھی تبدیلی اوور رائٹ ہو جائے گی!
delete_title=زون کو حذف کریں
delete_mesg=Are you sure you want to delete the zone $1 ? All records and the zone file will be deleted.

View File

@@ -147,6 +147,8 @@ master_defttl=Thời gian tồn tại mặc định cho hồ sơ
master_edefttl='$1' không phải là thời gian tồn tại mặc định hợp lệ cho các bản ghi
master_esoagone=Không tìm thấy bản ghi SOA!
master_einclude=Tệp mẫu bổ sung không tồn tại
master_vmin=Vùng này được quản lý bởi Virtualmin. Các bản ghi phải được chỉnh sửa bằng giao diện người dùng Virtualmin để đảm bảo chúng nhất quán với các cài đặt máy chủ ảo khác.
master_vminalias=Vùng này là bí danh của miền Virtualmin, được giữ đồng bộ với mục tiêu của nó. Các bản ghi không bao giờ được chỉnh sửa ở đây, vì mọi thay đổi sẽ bị ghi đè!
delete_title=Xóa vùng
delete_mesg=Bạn có chắc chắn muốn xóa vùng $1? Tất cả các hồ sơ và các tập tin khu vực sẽ bị xóa.

View File

@@ -48,6 +48,8 @@ master_defttl=记录的默认生存时间
master_edefttl='$1'不是记录的有效默认生存时间
master_esoagone=找不到SOA记录
master_einclude=附加模板文件不存在
master_vmin=该区域由 Virtualmin 管理。应使用 Virtualmin UI 编辑记录,以确保它们与其他虚拟服务器设置一致。
master_vminalias=该区域是 Virtualmin 域的别名,与其目标保持同步。切勿在此处编辑记录,因为任何更改都将被覆盖!
delete_mesg3=您确定要删除区域$1吗
delete_onslave=还要从从服务器删除吗?

View File

@@ -77,6 +77,8 @@ master_defttl=記錄的默認生存時間
master_edefttl='$1'不是記錄的有效默認生存時間
master_esoagone=找不到SOA記錄
master_einclude=附加模板文件不存在
master_vmin=該區域由 Virtualmin 管理。應使用 Virtualmin UI 編輯記錄,以確保它們與其他虛擬服務器設置一致。
master_vminalias=該區域是 Virtualmin 域的別名,與其目標保持同步。切勿在此處編輯記錄,因為任何更改都將被覆蓋!
delete_mesg2=您確定要刪除根區域嗎您的DNS服務器可能不再能夠在Internet上查找地址。
delete_mesg3=您確定要刪除區域$1嗎

View File

@@ -495,11 +495,10 @@ return $name.
# Increase the serial number in some SOA record by 1
sub bump_soa_record
{
my($r, $v, $vals);
for(my $i=0; $i<@{$_[1]}; $i++) {
$r = $_[1]->[$i];
my ($file, $recs) = @_;
foreach my $r (@$recs) {
if ($r->{'type'} eq "SOA") {
$v = $r->{'values'};
my $v = $r->{'values'};
# already set serial if no acl allow it to update or update
# is disabled
my $serial = $v->[2];
@@ -507,8 +506,8 @@ for(my $i=0; $i<@{$_[1]}; $i++) {
# automatically handle serial numbers ?
$serial = &compute_serial($v->[2]);
}
$vals = "$v->[0] $v->[1] (\n\t\t\t$serial\n\t\t\t$v->[3]\n".
"\t\t\t$v->[4]\n\t\t\t$v->[5]\n\t\t\t$v->[6] )";
my $vals = "$v->[0] $v->[1] (\n\t\t\t$serial\n\t\t\t$v->[3]\n".
"\t\t\t$v->[4]\n\t\t\t$v->[5]\n\t\t\t$v->[6] )";
&modify_record($r->{'file'}, $r, $r->{'realname'}, $r->{'ttl'},
$r->{'class'}, $r->{'type'}, $vals);
}

View File

@@ -4,7 +4,7 @@ use strict;
use warnings;
no warnings 'redefine';
no warnings 'uninitialized';
our (%access, %text, %in, %config);
our (%access, %text, %in, %config, $bind_version);
require './bind8-lib.pl';
$access{'defaults'} || &error($text{'trusted_ecannot'});
@@ -17,7 +17,9 @@ my $conf = $parent->{'members'};
my $options = &find("options", $conf);
# DNSSEC enabled
&save_choice("dnssec-enable", $options, 1);
if (&compare_version_numbers($bind_version, '<', '9.16.0')) {
&save_choice("dnssec-enable", $options, 1);
}
if (&supports_dnssec_client() == 2) {
&save_choice("dnssec-validation", $options, 1);
}

View File

@@ -59,9 +59,9 @@ if ($access{'lang'}) {
# Old datetime format or a new locale
if ($access{'locale'}) {
eval "use DateTime; use DateTime::Locale; use DateTime::TimeZone;";
&foreign_require('webmin');
if (!$@) {
eval "use DateTime; use DateTime::Locale; use DateTime::TimeZone;";
if (!$@ && $] > 5.011) {
my $locales = &list_locales();
my %localesrev = reverse %{$locales};
my $locale = $locale_auto || $gconfig{'locale'} || &get_default_system_locale();

View File

@@ -233,25 +233,32 @@ print "<p><b>$text{'do_done'}</b><p>\n";
# Show details of installed packages, where we have them
for($i=0; $i<@names; $i++) {
next if (!$pinfo[$i]);
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'do_details'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";
print &ui_table_start($text{'do_details'}, "width=100%", 4);
if ($pinfo[$i]->[2]) {
print "<tr> <td valign=top width=20%><b>$text{'do_desc'}</b></td>\n";
print "<td colspan=3><pre>$pinfo[$i]->[2]</pre></td> </tr>\n";
print &ui_table_row($text{'do_desc'},
"<pre>".&html_escape($pinfo[$i]->[2])."</pre>", 3);
}
print "<tr> <td width=20%><b>$text{'do_pack'}</b></td> <td>$pinfo[$i]->[0]</td>\n";
print "<td width=20%><b>$text{'do_class'}</b></td> <td>",
$pinfo[$i]->[1] ? $pinfo[$i]->[1] : $text{'do_none'},"</td> </tr>\n";
print &ui_table_row($text{'do_pack'},
$pinfo[$i]->[0]);
print "<tr> <td width=20%><b>$text{'do_ver'}</b></td> <td>$pinfo[$i]->[4]</td>\n";
print "<td width=20%><b>$text{'do_vend'}</b></td> <td>$pinfo[$i]->[5]</td> </tr>\n";
print &ui_table_row($text{'do_class'},
$pinfo[$i]->[1] || $text{'do_none'});
print "<tr> <td width=20%><b>$text{'do_arch'}</b></td> <td>$pinfo[$i]->[3]</td>\n";
print "<td width=20%><b>$text{'do_inst'}</b></td> <td>$pinfo[$i]->[6]</td> </tr>\n";
print "</table></td></tr></table><p>\n";
print &ui_table_row($text{'do_ver'},
$pinfo[$i]->[4]);
print &ui_table_row($text{'do_vend'},
$pinfo[$i]->[5]);
print &ui_table_row($text{'do_arch'},
$pinfo[$i]->[3]);
print &ui_table_row($text{'do_inst'},
$pinfo[$i]->[6]);
print &ui_table_end();
}
&remote_finished();

View File

@@ -22,10 +22,12 @@ else {
if ($in{source} == 0) {
# installing from local file (or maybe directory)
if (!$in{'local'})
{ &install_error($text{'install_elocal'}); }
if (!-r $in{'local'})
{ &install_error(&text('install_elocal2', $in{'local'})); }
if (!$in{'local'}) {
&install_error($text{'install_elocal'});
}
if (!-r $in{'local'}) {
&install_error(&text('install_elocal2', &html_escape($in{'local'})));
}
$source = $in{'local'};
$pfile = $in{'local'};
$filename = $in{'local'};
@@ -177,7 +179,7 @@ print &ui_form_end([ [ undef, $text{'install_ok'} ] ]);
sub install_error
{
print "<b>$main::whatfailed : $_[0]</b> <p>\n";
print "<b>$main::whatfailed : @{[&html_escape($_[0])]}</b> <p>\n";
&ui_print_footer("", $text{'index_return'});
exit;
}

View File

@@ -29,7 +29,7 @@ if (@match == 1) {
&ui_print_header(undef, $text{'search_title'}, "", "search");
if (@match) {
@match = sort { lc($a->{'name'}) cmp lc($b->{'name'}) } @match;
print "<b>",&text('search_match', "<tt>$s</tt>"),"</b><br>\n";
print "<b>",&text('search_match', "<tt>".&html_escape($s)."</tt>"),"</b><br>\n";
print &ui_form_start("delete_packs.cgi", "post");
print &ui_hidden("search", $in{'search'}),"\n";
@@ -43,8 +43,8 @@ if (@match) {
$text{'search_desc'} ], 100, 0, \@tds);
foreach $i (@match) {
local @cols;
push(@cols, "<a href=\"edit_pack.cgi?search=$s&package=".
&urlize($i->{'name'})."\">$i->{'name'}</a>");
push(@cols, "<a href=\"edit_pack.cgi?search=".&urlize($s).
"&package=".&urlize($i->{'name'})."\">$i->{'name'}</a>");
$c = $i->{'class'};
push(@cols, $i->{'class'} || $text{'search_none'});
push(@cols, $i->{'desc'});
@@ -62,7 +62,7 @@ if (@match) {
print &ui_form_end();
}
else {
print "<b>",&text('search_nomatch', "<tt>$s</tt>"),"</b>\n";
print "<b>",&text('search_nomatch', "<tt>".&html_escape($s)."</tt>"),"</b>\n";
}
&ui_print_footer("", $text{'index_return'});

View File

@@ -16,10 +16,12 @@ else {
if ($in{source} == 0) {
# installing from local file (or maybe directory)
if (!$in{'local'})
{ &download_error($text{'install_elocal'}); }
if (!-r $in{'local'})
{ &download_error(&text('install_elocal2', $in{'local'})); }
if (!$in{'local'}) {
&download_error($text{'install_elocal'});
}
if (!-r $in{'local'}) {
&download_error(&text('install_elocal2', &html_escape($in{'local'})));
}
$source = $in{'local'};
$pfile = $in{'local'};
$need_unlink = 0;
@@ -55,7 +57,9 @@ elsif ($in{source} == 2) {
&ftp_download($host, $file, $pfile, \$error,
\&progress_callback);
}
else { &download_error(&text('install_eurl', $in{'url'})); }
else {
&download_error(&text('install_eurl', &html_escape($in{'url'})));
}
&download_error($error) if ($error);
$source = $in{'url'};
$need_unlink = 1;

View File

@@ -16,10 +16,12 @@ else {
if ($in{source} == 0) {
# installing from local file (or maybe directory)
if (!$in{'local'})
{ &download_error($text{'install_elocal'}); }
if (!-r $in{'local'})
{ &download_error(&text('install_elocal2', $in{'local'})); }
if (!$in{'local'}) {
&download_error($text{'install_elocal'});
}
if (!-r $in{'local'}) {
&download_error(&text('install_elocal2', &html_escape($in{'local'})));
}
$source = $in{'local'};
$pfile = $in{'local'};
$need_unlink = 0;
@@ -55,7 +57,9 @@ elsif ($in{source} == 2) {
&ftp_download($host, $file, $pfile, \$error,
\&progress_callback);
}
else { &download_error(&text('install_eurl', $in{'url'})); }
else {
&download_error(&text('install_eurl', &html_escape($in{'url'})));
}
&download_error($error) if ($error);
$source = $in{'url'};
$need_unlink = 1;

View File

@@ -389,7 +389,7 @@ print &ui_form_end([ [ undef, $text{'download_cont'} ],
sub install_error
{
print "<br><b>$main::whatfailed : $_[0]</b> <p>\n";
print "<br><b>$main::whatfailed : @{[&html_escape($_[0])]}</b> <p>\n";
&ui_print_footer($in{'return'},
$in{'returndesc'} || $text{'index_return'});
exit;

View File

@@ -19,6 +19,10 @@ while(@ARGV) {
shift(@ARGV);
$createsig = 1;
}
elsif ($ARGV[0] eq "--key") {
shift(@ARGV);
$keyname = shift(@ARGV);
}
elsif ($ARGV[0] eq "--exclude") {
shift(@ARGV);
push(@exclude, shift(@ARGV));
@@ -98,7 +102,8 @@ if ($file =~ /^(.*)\.gz$/i) {
}
if ($createsig) {
system("rm -f $file-sig.asc");
system("gpg --armor --output $file-sig.asc --detach-sig $file");
system("gpg ".($keyname ? " --default-key $keyname" : "").
" --armor --output $file-sig.asc --detach-sig $file");
}
# read_file(file, &assoc, [&order], [lowercase])

View File

@@ -925,7 +925,7 @@ $table .= &ui_columns_row(\@cols, [ "valign=top", "valign=top", "valign=top",
"valign=top", "valign=top" ]);
$table .= &ui_columns_end();
$table .= $text{'edit_ctrl'};
$rv .= &ui_table_row(undef, $table, $width);
$rv .= &ui_table_row(undef, $table, $width, undef, ['data-schedule-tr']);
return $rv;
}
@@ -1228,34 +1228,53 @@ Returns a human-readable text string describing when a cron job is run.
=cut
sub when_text
{
local $pfx = $_[1] ? "uc" : "";
if ($_[0]->{'interval'}) {
return &text($pfx.'when_interval', $_[0]->{'interval'});
my ($job, $ucfirst) = @_;
my $pfx = $ucfirst ? "uc" : "";
if ($job->{'interval'}) {
return &text($pfx.'when_interval', $job->{'interval'});
}
elsif ($_[0]->{'special'}) {
elsif ($job->{'special'}) {
$pfx = $_[1] ? "" : "lc";
return $text{$pfx.'edit_special_'.$_[0]->{'special'}};
return $text{$pfx.'edit_special_'.$job->{'special'}};
}
elsif ($_[0]->{'boot'}) {
elsif ($job->{'boot'}) {
return &text($pfx.'when_boot');
}
elsif ($_[0]->{'mins'} eq '*' && $_[0]->{'hours'} eq '*' && $_[0]->{'days'} eq '*' && $_[0]->{'months'} eq '*' && $_[0]->{'weekdays'} eq '*') {
elsif ($job->{'mins'} eq '*' && $job->{'hours'} eq '*' &&
$job->{'days'} eq '*' && $job->{'months'} eq '*' &&
$job->{'weekdays'} eq '*') {
return $text{$pfx.'when_min'};
}
elsif ($_[0]->{'mins'} =~ /^\d+$/ && $_[0]->{'hours'} eq '*' && $_[0]->{'days'} eq '*' && $_[0]->{'months'} eq '*' && $_[0]->{'weekdays'} eq '*') {
return &text($pfx.'when_hour', $_[0]->{'mins'});
elsif ($job->{'mins'} =~ /^\d+$/ && $job->{'hours'} eq '*' &&
$job->{'days'} eq '*' && $job->{'months'} eq '*' &&
$job->{'weekdays'} eq '*') {
return &text($pfx.'when_hour', $job->{'mins'});
}
elsif ($_[0]->{'mins'} =~ /^\d+$/ && $_[0]->{'hours'} =~ /^\d+$/ && $_[0]->{'days'} eq '*' && $_[0]->{'months'} eq '*' && $_[0]->{'weekdays'} eq '*') {
return &text($pfx.'when_day', sprintf("%2.2d", $_[0]->{'mins'}), $_[0]->{'hours'});
elsif ($job->{'mins'} =~ /^\d+$/ && $job->{'hours'} =~ /^\d+$/ &&
$job->{'days'} eq '*' && $job->{'months'} eq '*' &&
$job->{'weekdays'} eq '*') {
return &text($pfx.'when_day',
sprintf("%2.2d", $job->{'mins'}),
sprintf("%2.2d", $job->{'hours'}));
}
elsif ($_[0]->{'mins'} =~ /^\d+$/ && $_[0]->{'hours'} =~ /^\d+$/ && $_[0]->{'days'} =~ /^\d+$/ && $_[0]->{'months'} eq '*' && $_[0]->{'weekdays'} eq '*') {
return &text($pfx.'when_month', sprintf("%2.2d", $_[0]->{'mins'}), $_[0]->{'hours'}, $_[0]->{'days'});
elsif ($job->{'mins'} =~ /^\d+$/ && $job->{'hours'} =~ /^\d+$/ &&
$job->{'days'} =~ /^\d+$/ && $job->{'months'} eq '*' &&
$job->{'weekdays'} eq '*') {
return &text($pfx.'when_month',
sprintf("%2.2d", $job->{'mins'}),
sprintf("%2.2d", $job->{'hours'}),
$job->{'days'});
}
elsif ($_[0]->{'mins'} =~ /^\d+$/ && $_[0]->{'hours'} =~ /^\d+$/ && $_[0]->{'days'} eq '*' && $_[0]->{'months'} eq '*' && $_[0]->{'weekdays'} =~ /^\d+$/) {
return &text($pfx.'when_weekday', sprintf("%2.2d", $_[0]->{'mins'}), $_[0]->{'hours'}, $text{"day_".$_[0]->{'weekdays'}});
elsif ($job->{'mins'} =~ /^\d+$/ && $job->{'hours'} =~ /^\d+$/ &&
$job->{'days'} eq '*' && $job->{'months'} eq '*' &&
$job->{'weekdays'} =~ /^\d+$/) {
return &text($pfx.'when_weekday',
sprintf("%2.2d", $job->{'mins'}),
sprintf("%2.2d", $job->{'hours'}),
$text{"day_".$job->{'weekdays'}});
}
else {
return &text($pfx.'when_cron', join(" ", $_[0]->{'mins'}, $_[0]->{'hours'}, $_[0]->{'days'}, $_[0]->{'months'}, $_[0]->{'weekdays'}));
return &text($pfx.'when_cron', join(" ", $job->{'mins'}, $job->{'hours'}, $job->{'days'}, $job->{'months'}, $job->{'weekdays'}));
}
}
@@ -1584,6 +1603,7 @@ if ($config{'system_crontab'}) {
}
if ($config{'cronfiles_dir'}) {
push(@files, glob(&translate_filename($config{'cronfiles_dir'})."/*"));
@files = grep { -f $_ } @files;
}
return &unique(@files);
}

View File

@@ -108,7 +108,7 @@ foreach $u (@ulist) {
$cmdidx = scalar(@cols);
push(@cols, &ui_link("edit_env.cgi?idx=".$idx,
"<i>$text{'index_env'}</i> ".
"<tt>$job->{'name'} = $job->{'value'}</tt>") );
"<tt>@{[&html_escape($job->{'name'})]} = @{[&html_escape($job->{'value'})]}</tt>") );
$donelink = 1;
}
elsif (@exp && $access{'command'}) {
@@ -156,7 +156,7 @@ foreach $u (@ulist) {
# Show comment
if ($config{'show_comment'} || $userconfig{'show_comment'}) {
push(@cols, $job->{'comment'});
push(@cols, &html_escape($job->{'comment'}));
}
# Show next run time

View File

@@ -1,146 +0,0 @@
index_when=Запустить время от времени
index_comment=Описание
index_none2=Нет заданий cron, к которым у вас есть доступ.
index_none3=У вас пока нет работы cron.
index_ecreate=Создайте новую переменную среды.
index_manual=Ручное редактирование заданий cron.
index_env=Переменная среды
index_move=Переехать
index_next=Следующий прогон
index_nunknown=неизвестный
index_run=Бег?
index_ecmd=Команда $1 для управления пользовательскими настройками Cron не найдена. Может быть, Cron не установлен в этой системе?
index_esingle=Файл $1, в котором перечислены задания Cron, не существует. Может быть, Cron не установлен в этой системе?
index_ecrondir=Каталог заданий Cron $1 не существует. Может быть, конфигурация модуля неверна, или Cron не установлен?
index_ecrondir_create=Попробуйте создать каталог заданий $1 ?
index_delete=Удалить выбранные вакансии
index_disable=Отключить выбранные вакансии
index_enable=Включить выбранные вакансии
index_esearch=По вашему запросу $1 не найдено ни одной вакансии.
index_toomany2=Есть слишком много рабочих мест, чтобы показать. Используйте форму поиска выше, чтобы ограничить список.
index_search=Найти подходящие вакансии Cron
index_ok=Поиск
index_searchres=Задания Cron, соответствующие $1 ..
index_reset=Сбросить поиск.
index_econfigcheck=Заданиями Cron нельзя управлять в вашей системе, так как недопустимая конфигурация модуля : $1
index_stop=Остановить демона Крон
index_stopdesc=Остановите фоновый серверный процесс <tt>crond</tt>, выполняющий запланированные задания cron. Это предотвратит выполнение команд в указанное время.
index_start=Запустить крон-демон
index_startdesc=Запустите фоновый серверный процесс <tt>crond</tt>, который запускает запланированные задания cron. <font color=red><b>Это необходимо для выполнения команд в указанное время.</font></font>
index_boot=Запустить загрузку Cron Daemon?
index_bootdesc=Измените этот параметр, чтобы включить или отключить запуск демона запланированных заданий cron во время загрузки системы.
edit_next=Время следующего запуска
edit_comment=Описание
edit_range=Диапазон дат для выполнения
edit_saverun=Сохранить и запустить сейчас
edit_clone=Клон Работа
edit_special1=Простой график ..
edit_special0=Время и даты выбраны ниже ..
edit_special_hourly=почасовой
edit_special_daily=Ежедневно (в полночь)
edit_special_weekly=Еженедельно (в воскресенье)
edit_special_monthly=Ежемесячно (1-го числа)
edit_special_yearly=Ежегодно (1 января)
edit_special_reboot=Когда система загружается
lcedit_special_hourly=почасовой
lcedit_special_daily=ежедневно (в полночь)
lcedit_special_weekly=еженедельно (в воскресенье)
lcedit_special_monthly=ежемесячно (1-го числа)
lcedit_special_yearly=ежегодно (1 января)
lcedit_special_reboot=когда система загружается
save_ecannot2=Вам не разрешено создавать рабочие места cron
save_eidx=Задание Cron было успешно сохранено, но не может быть запущено, поскольку оно не было найдено!
env_title1=Изменить переменную среды
env_title2=Создать переменную среды
env_user=Для пользователя
env_active=Активный?
env_details=Детали переменных среды
env_err=Не удалось сохранить переменную среды
env_order=Примечание. Этот параметр переменной среды будет применяться только к заданиям Cron после него в списке заданий на главной странице модуля.
env_where=Добавить переменную среды
env_where2=Переместить переменную среды
env_top=Перед всеми заданиями Cron для пользователя
env_bot=После всех работ Cron
env_leave=Текущая позиция
exec_cmdbg=Выполнение команды $1 в качестве фонового процесса.
acl_command=Можно просматривать и редактировать команды Cron?
acl_create=Можно ли создавать рабочие места в Cron?
acl_delete=Можно ли удалить задания Cron?
acl_move=Может перенести работу Cron?
acl_kill=Может прекратить работу Cron?
acl_hourly=Ограничить количество рабочих мест максимум до почасовой?
acl_hourlydef=Как установлено в модуле Config
acl_stop=Может ли остановить и запустить демон Cron?
log_kill=Прекращено задание Cron для $1
log_kill_l=Прекращено задание Cron "$2" для $1
log_env_create=Создана переменная среды для $1
log_env_modify=Измененная переменная среды для $1
log_env_delete=Удаленная переменная среды для $1
log_move=Задание Cron перемещено для $1
log_crons_delete=Удалено $1 заданий Cron
log_crons_disable=Отключено $1 заданий Cron
log_crons_enable=Включено $1 заданий Cron
log_stop=Остановленный демон cron
log_start=Запущен демон cron
log_bootup=Включен демон cron при загрузке
log_bootdown=Отключенный демон cron при загрузке
ecopy=Обнаружена ошибка в новой конфигурации Cron: $1 $2
when_min=каждую минуту
when_hour=каждый час в $1 за час
when_day=каждый день на $2:$1
when_month=в день $3 каждый месяц в $2:$1
when_weekday=каждый $3 на $2:$1
when_cron=в момент времени $1
when_interval=каждые $1 секунды
when_boot=во время запуска
ucwhen_min=Каждую минуту
ucwhen_hour=Каждый час в $1 за час
ucwhen_day=Каждый день в $2:$1
ucwhen_month=В день $3 каждый месяц в $2:$1
ucwhen_weekday=Каждый $3 на $2:$1
ucwhen_cron=Время cron $1
ucwhen_interval=Каждые $1 секунды
ucwhen_boot=Во время запуска
move_err=Не удалось переместить работу Cron
move_etype=Эта работа не может быть перемещена
kill_err=Не удалось завершить работу Cron
kill_ecannot=Вы не можете прекратить эту работу
kill_egone=Больше не работает
kill_ekill=Убить не удалось : $1
kill_title=Завершить работу Cron
kill_rusure=Вы уверены, что хотите завершить процесс $1 с PID $2 ?
kill_rusure2=Вы уверены, что хотите завершить процесс $1 с PID $2 и всеми его подпроцессами?
kill_ok=Да, прекратить это
range_all=Беги на любую дату
range_start=Запускать только с $1
range_end=в $1
range_estart=Отсутствует или неверная дата начала в диапазоне для запуска
range_eend=Отсутствует или недействительная дата окончания в диапазоне для запуска
delete_err=Не удалось удалить задания Cron
delete_enone=Не выбрано, ничего не выбрано
manual_title=Редактировать Cron Jobs вручную
manual_edit=Cron файл для редактирования:
manual_ok=редактировать
manual_editing=Используйте текстовое поле ниже для редактирования заданий Cron в $1. Будьте осторожны, так как Webmin не будет выполнять проверку!
manual_efile=Выбранный файл недействителен!
manual_ecannot=Вы не можете вручную редактировать задания cron
stop_err=Не удалось остановить демон
start_err=Не удалось запустить демон
stop_ecannot=Вам не разрешено останавливать демона
start_ecannot=Вам не разрешено запускать демон
bootup_ecannot=Вам не разрешено включать демон при загрузке

View File

@@ -74,12 +74,12 @@ open(FILE, "<".$_[0]);
while($line = <FILE>) {
# strip comments
$line =~ s/\r|\n//g;
$line =~ s/([^\\])\\"/$1\\042/g; # convert escaped quotes to \042
$line =~ s/^([^"#]*)#.*$/$1/g;
$line =~ s/^([^"]*)\/\/.*$/$1/g;
$line =~ s/^([^"]*)\s+#.*$/$1/g; # remove stuff after #, unless
$line =~ s/^(.*".*".*)\s+#.*$/$1/g; # it is inside quotes
$line =~ s/\\\\/\\134/g; # convert \\ into \134
$line =~ s/([^\\])\\"/$1\\042/g; # convert escaped quotes to \042
while(1) {
if (!$cmode && $line =~ /\/\*/ && $line !~ /\".*\/\*.*\"/) {
# start of a C-style comment

View File

@@ -216,6 +216,11 @@ return wantarray ? @rv : $rv[0];
sub save_directive
{
local ($conf, $name, $value, $sname, $svalue) = @_;
$newconf = [ grep { $_->{'file'} !~ /^\/usr\/share\/dovecot/ &&
$_->{'file'} !~ /^\/opt/ } @$conf ];
if (@$newconf) {
$conf = $newconf;
}
local $dir;
if (ref($name)) {
# Old directive given
@@ -577,5 +582,4 @@ else {
}
1;
r

View File

@@ -1,4 +1,3 @@
line2=System configuration,11
exports_file=Exported filesystems file,0
apply_cmd=Command to apply configuration,3,None
restart_command=Command to restart export server,0

View File

@@ -51,9 +51,11 @@ print &ui_table_row($text{'jail_ignoreip'},
my $backend = &find_value("backend", $jail);
print &ui_table_row($text{'jail_backend'},
&ui_select("backend", $backend || "auto",
[ [ "auto", $text{'jail_auto'} ],
[ "gamin", $text{'jail_gamin'} ],
[ "polling", $text{'jail_polling'} ] ]));
[ [ "auto", $text{'jail_auto'} ],
[ "systemd", $text{'jail_systemd'} ],
[ "polling", $text{'jail_polling'} ],
[ "gamin", $text{'jail_gamin'} ],
[ "pyinotify", $text{'jail_pyinotify'} ] ]));
# Email destination
my $destemail = &find_value("destemail", $jail);

0
fail2ban/jail_blocks.cgi Normal file → Executable file
View File

View File

@@ -171,21 +171,30 @@ manual_err=Konfiglêer kon nie gewysig word nie
manual_edata=Geen config-lêerinhoud ingevoer nie
status_title=Tronkstatus en aksies
status_title2=Tronkstatus
status_head_jail_name=Tronk naam
status_title3=Tronkblokke
status_return=tronke status
status_head_jail_blocks=Tronk blokke
status_head_currently_failed=Tans misluk
status_head_total_failed=Totaal het misluk
status_head_file_list=Lêer lys
status_head_currently_banned=Tans verban
status_head_total_banned=Totaal verban
status_head_banned_ip_list=Verbode IP-lys
status_head_blocks_ip=IP
status_head_blocks_stime=Begin Tyd
status_head_blocks_etime=Eind tyd
status_rules_plus_more=+ $1 meer
status_jail_unblock_ip=Verwyder $1 van verbode lys
status_jail_unblock=Deblokkeer alle IP's vir geselekteerde tronke
status_jail_unblock_ips=Deblokkeer geselekteerde IP
status_jail_noactive=Daar is nog geen aktiewe tronke geaktiveer nie.
status_jail_noactiveips=Daar is geen geblokkeerde inskrywings in die tronk <tt>$1</tt> gevind nie.
status_err_set=Kon nie stel handeling nie
status_err_unblock=Kon nie handeling deblokkeer nie
status_err_nojail=Geen tronke is gekies nie
status_err_noips=Geen IP is gekies nie
status_err_unban=Kan nie $1 IP-adres ontban nie
status_err_unbanjail=Kan nie $1 tronk de-ban nie
status_err_unknownjail=Onbekende tronk
syslog_logtarget=Fail2Ban aksie log

View File

@@ -171,21 +171,30 @@ manual_err=فشل في تحرير ملف التكوين
manual_edata=لم يتم إدخال محتويات ملف التكوين
status_title=حالة السجون والإجراءات
status_title2=حالة السجون
status_head_jail_name=اسم السجن
status_title3=كتل السجن
status_return=حالة السجون
status_head_jail_blocks=كتل السجن
status_head_currently_failed=فشل حاليا
status_head_total_failed=مجموع فشل
status_head_file_list=قائمة الملفات
status_head_currently_banned=محظور حاليا
status_head_total_banned=مجموع المحظورة
status_head_banned_ip_list=قائمة IP المحظورة
status_head_blocks_ip=IP
status_head_blocks_stime=وقت البدء
status_head_blocks_etime=وقت النهاية
status_rules_plus_more=+$1 آخرين
status_jail_unblock_ip=قم بإزالة$1 من القائمة المحظورة
status_jail_unblock=قم بإلغاء حظر جميع عناوين IP للسجون المختارة
status_jail_unblock_ips=إلغاء حظر IP المحدد
status_jail_noactive=لا توجد سجون نشطة ممكّنة حتى الآن.
status_jail_noactiveips=لا توجد إدخالات محظورة في السجن تم العثور على <tt>$1</tt>.
status_err_set=فشل تعيين الإجراء
status_err_unblock=فشل في إلغاء حظر الإجراء
status_err_nojail=لم يتم اختيار أي سجون
status_err_noips=لم يتم تحديد IP
status_err_unban=لا يمكن إلغاء حظر عنوان IP لـ$1
status_err_unbanjail=لا يمكن إلغاء حظر سجن$1
status_err_unknownjail=سجن مجهول
syslog_logtarget=سجل العمل Fail2Ban

View File

@@ -171,21 +171,30 @@ manual_err=Не атрымалася рэдагаваць канфігурацы
manual_edata=Не ўводзіцца змесціва канфігурацыйнага файла
status_title=Статус і дзеянні турмы
status_title2=Статус турмы
status_head_jail_name=Назва турмы
status_title3=Турэмныя блокі
status_return=статус турмы
status_head_jail_blocks=Турэмныя блокі
status_head_currently_failed=У цяперашні час не атрымалася
status_head_total_failed=Усяго не атрымалася
status_head_file_list=Спіс файлаў
status_head_currently_banned=У цяперашні час забаронены
status_head_total_banned=Поўная забарона
status_head_banned_ip_list=Спіс забароненых IP
status_head_blocks_ip=IP
status_head_blocks_stime=Час пачатку
status_head_blocks_etime=Час заканчэння
status_rules_plus_more=+ яшчэ $1
status_jail_unblock_ip=Выдаліць $1 са спісу забароненых
status_jail_unblock=Разблакіраваць усе IP-адрасы для выбраных турмаў
status_jail_unblock_ips=Разблакіраваць выбраны IP
status_jail_noactive=Пакуль няма актыўных турмаў.
status_jail_noactiveips=Заблакіраваных запісаў у турме <tt>$1</tt> не знойдзена.
status_err_set=Не атрымалася ўсталяваць дзеянне
status_err_unblock=Не ўдалося разблакіраваць дзеянне
status_err_nojail=СІЗА не выбрана
status_err_noips=IP не выбраны
status_err_unban=Немагчыма разбаніць $1 IP-адрас
status_err_unbanjail=Немагчыма зняць бан з турмы $1
status_err_unknownjail=Невядомая турма
syslog_logtarget=Журнал дзеянняў Fail2Ban

View File

@@ -171,21 +171,30 @@ manual_err=Конфигурационният файл не можа да се
manual_edata=Не е въведено съдържание на конфигурационен файл
status_title=Състояние и действия на затворите
status_title2=Статус на затворите
status_head_jail_name=Име на затвора
status_title3=Затворнически блокове
status_return=състояние на затворите
status_head_jail_blocks=Затворнически блокове
status_head_currently_failed=В момента неуспешно
status_head_total_failed=Общо неуспешно
status_head_file_list=Списък с файлове
status_head_currently_banned=В момента е забранено
status_head_total_banned=Тотално забранено
status_head_banned_ip_list=Списък с забранени IP адреси
status_head_blocks_ip=IP
status_head_blocks_stime=Начален час
status_head_blocks_etime=Крайно време
status_rules_plus_more=+ още $1
status_jail_unblock_ip=Премахнете $1 от списъка с забранени
status_jail_unblock=Деблокирайте всички IP адреси за избрани затвори
status_jail_unblock_ips=Деблокиране на избрания IP
status_jail_noactive=Все още няма активирани активни затвори.
status_jail_noactiveips=Няма намерени блокирани записи в затвора <tt>$1</tt>.
status_err_set=Неуспешно зададено действие
status_err_unblock=Деблокирането на действието не бе успешно
status_err_nojail=Не са избрани затвори
status_err_noips=Не е избрано IP
status_err_unban=Не може да се отмени забрана на $1 IP адрес
status_err_unbanjail=Не може да се отмени забраната на $1 затвор
status_err_unknownjail=Неизвестен затвор
syslog_logtarget=Fail2Ban дневник на действията

View File

@@ -3,20 +3,28 @@ log_update_action=Acció modificada $1
log_update_jail=Presó modificada $1
status_title=Estat i accions de les presons
status_title2=Estat de les presons
status_head_jail_name=Nom de la presó
status_title3=Blocs de la presó
status_return=estat de presons
status_head_jail_blocks=Blocs de presó
status_head_currently_failed=Actualment fallat
status_head_total_failed=Total fallit
status_head_file_list=Llista de fitxers
status_head_currently_banned=Prohibit actualment
status_head_total_banned=Total prohibit
status_head_banned_ip_list=Llista d'IP prohibides
status_head_blocks_ip=IP
status_head_blocks_stime=L'hora d'inici
status_head_blocks_etime=Fi del temps
status_rules_plus_more=+ $1 més
status_jail_unblock_ip=Elimina $1 de la llista prohibida
status_jail_unblock=Desbloquegeu totes les IP de les presons seleccionades
status_jail_unblock_ips=Desbloqueja la IP seleccionada
status_jail_noactive=Encara no hi ha presons actives activades.
status_jail_noactiveips=No s'ha trobat cap entrada bloquejada a la presó <tt>$1</tt>.
status_err_set=No s'ha pogut establir l'acció
status_err_unblock=No s'ha pogut desbloquejar l'acció
status_err_nojail=No s'ha seleccionat cap presó
status_err_noips=No s'ha seleccionat cap IP
status_err_unban=No es pot desbloquejar l'adreça IP de $1
status_err_unbanjail=No es pot desactivar la presó $1
status_err_unknownjail=Presó desconeguda

View File

@@ -171,21 +171,30 @@ manual_err=Nepodařilo se upravit konfigurační soubor
manual_edata=Nebyl zadán žádný obsah konfiguračního souboru
status_title=Stav vězení a akce
status_title2=Stav vězení
status_head_jail_name=Jméno vězení
status_title3=Vězeňské bloky
status_return=stav věznic
status_head_jail_blocks=Vězeňské bloky
status_head_currently_failed=Aktuálně neúspěšné
status_head_total_failed=Celkem se nezdařilo
status_head_file_list=Seznam souborů
status_head_currently_banned=Aktuálně zakázáno
status_head_total_banned=Úplně zakázáno
status_head_banned_ip_list=Seznam zakázaných IP adres
status_head_blocks_ip=IP
status_head_blocks_stime=Doba spuštění
status_head_blocks_etime=Čas ukončení
status_rules_plus_more=+ $1 dalšího
status_jail_unblock_ip=Odebrat $1 ze seznamu zakázaných
status_jail_unblock=Odblokujte všechny IP adresy pro vybraná vězení
status_jail_unblock_ips=Odblokovat vybranou IP
status_jail_noactive=Zatím nejsou povoleny žádné aktivní vězení.
status_jail_noactiveips=Ve vězení <tt>$1</tt> nebyly nalezeny žádné blokované záznamy.
status_err_set=Akce nastavení se nezdařila
status_err_unblock=Akci se nepodařilo odblokovat
status_err_nojail=Nebyla vybrána žádná vězení
status_err_noips=Nebyla vybrána žádná IP
status_err_unban=Nelze zrušit zákaz $1 IP adresy
status_err_unbanjail=Nelze zrušit zákaz $1 vězení
status_err_unknownjail=Neznámé vězení
syslog_logtarget=Protokol akcí Fail2Ban

View File

@@ -171,21 +171,30 @@ manual_err=Kunne ikke redigere konfigurationsfilen
manual_edata=Intet indtastet indhold af konfigurationsfil
status_title=Fængselsstatus og handlinger
status_title2=Fængselsstatus
status_head_jail_name=Navn på fængsel
status_title3=Fængselsblokke
status_return=fængselsstatus
status_head_jail_blocks=Fængselsblokeringer
status_head_currently_failed=I øjeblikket mislykkedes
status_head_total_failed=Total mislykkedes
status_head_file_list=Filliste
status_head_currently_banned=I øjeblikket forbudt
status_head_total_banned=Totalt forbudt
status_head_banned_ip_list=Liste over forbudte IP-adresser
status_head_blocks_ip=IP
status_head_blocks_stime=Starttidspunkt
status_head_blocks_etime=Sluttidspunkt
status_rules_plus_more=+ $1 mere
status_jail_unblock_ip=Fjern $1 fra forbudt liste
status_jail_unblock=Fjern blokering af alle IP'er for udvalgte fængsler
status_jail_unblock_ips=Fjern blokering af valgt IP
status_jail_noactive=Der er endnu ingen aktive jails aktiveret.
status_jail_noactiveips=Der er ingen blokerede poster i fængslet <tt>$1</tt> fundet.
status_err_set=Handlingen kunne ikke indstilles
status_err_unblock=Kunne ikke fjerne blokeringen af handlingen
status_err_nojail=Ingen fængsler er blevet valgt
status_err_noips=Der er ikke valgt nogen IP
status_err_unban=Kan ikke ophæve udelukkelse af $1 IP-adresse
status_err_unbanjail=Kan ikke ophæve ban $1 fængsel
status_err_unknownjail=Ukendt fængsel
syslog_logtarget=Fail2Ban handling log

View File

@@ -1,18 +1,26 @@
status_title=Jails-Status und Aktionen
status_title2=Gefängnisstatus
status_head_jail_name=Name des Gefängnisses
status_title3=Gefängnisblöcke
status_return=Gefängnisstatus
status_head_jail_blocks=Gefängnisblöcke
status_head_currently_failed=Aktuell fehlgeschlagen
status_head_total_failed=Total gescheitert
status_head_file_list=Dateiliste
status_head_currently_banned=Derzeit verboten
status_head_total_banned=Total gesperrt
status_head_banned_ip_list=Verbotene IP-Liste
status_head_blocks_ip=IP
status_head_blocks_stime=Startzeit
status_head_blocks_etime=Endzeit
status_rules_plus_more=+ $1 mehr
status_jail_unblock_ip=Entfernen Sie $1 von der Sperrliste
status_jail_unblock=Entsperren Sie alle IPs für ausgewählte Jails
status_jail_unblock_ips=Entsperren Sie die ausgewählte IP
status_jail_noactive=Es sind noch keine aktiven Jails aktiviert.
status_jail_noactiveips=Es wurden keine blockierten Einträge im Gefängnis <tt>$1</tt> gefunden.
status_err_set=Festgelegte Aktion fehlgeschlagen
status_err_unblock=Die Aktion konnte nicht entsperrt werden
status_err_nojail=Es wurden keine Gefängnisse ausgewählt
status_err_noips=Es wurde keine IP ausgewählt
status_err_unban=Sperrung von $1 IP-Adresse kann nicht aufgehoben werden
status_err_unbanjail=Der Bann für $1 Gefängnis kann nicht aufgehoben werden
status_err_unknownjail=Unbekanntes Gefängnis

View File

@@ -171,21 +171,30 @@ manual_err=Αποτυχία επεξεργασίας του αρχείου ρύ
manual_edata=Δεν έχουν εισαχθεί περιεχόμενα αρχείου ρυθμίσεων
status_title=Κατάσταση και ενέργειες φυλακών
status_title2=Κατάσταση φυλακών
status_head_jail_name=Όνομα φυλακής
status_title3=Μπλοκ φυλακών
status_return=κατάσταση φυλακών
status_head_jail_blocks=Μπλοκ φυλακών
status_head_currently_failed=Αυτήν τη στιγμή απέτυχε
status_head_total_failed=Συνολικά απέτυχε
status_head_file_list=Λίστα αρχείων
status_head_currently_banned=Επί του παρόντος απαγορεύεται
status_head_total_banned=Πλήρης απαγόρευση
status_head_banned_ip_list=Απαγορευμένη λίστα IP
status_head_blocks_ip=IP
status_head_blocks_stime=Ωρα έναρξης
status_head_blocks_etime=Τέλος χρόνου
status_rules_plus_more=+ $1 ακόμη
status_jail_unblock_ip=Αφαιρέστε το $1 από την απαγορευμένη λίστα
status_jail_unblock=Ξεμπλοκάρετε όλες τις IP για επιλεγμένες φυλακές
status_jail_unblock_ips=Ξεμπλοκάρετε την επιλεγμένη IP
status_jail_noactive=Δεν υπάρχουν ακόμη ενεργοποιημένες ενεργές φυλακές.
status_jail_noactiveips=Δεν βρέθηκαν αποκλεισμένες καταχωρήσεις στη φυλακή <tt>$1</tt>.
status_err_set=Η ενέργεια ρύθμισης απέτυχε
status_err_unblock=Αποτυχία κατάργησης αποκλεισμού της ενέργειας
status_err_nojail=Δεν έχουν επιλεγεί φυλακές
status_err_noips=Δεν έχει επιλεγεί IP
status_err_unban=Δεν είναι δυνατή η απαγόρευση της διεύθυνσης IP $1
status_err_unbanjail=Δεν είναι δυνατή η απαγόρευση της φυλακής $1
status_err_unknownjail=Άγνωστη φυλακή
syslog_logtarget=Αρχείο καταγραφής ενέργειας Fail2Ban

View File

@@ -114,8 +114,10 @@ jail_efindtime=Delay between matches must be a number greater than zero
jail_ebantime=Time to ban an IP must be a number greater than zero
jail_backend=Check for log file updates using
jail_auto=Decide automatically
jail_gamin=Gamin file alteration monitor
jail_polling=Background polling
jail_systemd=systemd
jail_polling=polling
jail_gamin=gamin
jail_pyinotify=pyinotify
jail_destemail=Default notification email
jail_none=None set
jail_banaction=Default action to apply

View File

@@ -171,21 +171,30 @@ manual_err=Error al editar el archivo de configuración
manual_edata=No se ingresó el contenido del archivo de configuración
status_title=Estado y acciones de las cárceles
status_title2=Estado de las cárceles
status_head_jail_name=nombre de la cárcel
status_title3=Bloques de la cárcel
status_return=estado de las carceles
status_head_jail_blocks=Bloques de cárcel
status_head_currently_failed=Actualmente fallado
status_head_total_failed=Total fallado
status_head_file_list=lista de archivos
status_head_currently_banned=Actualmente prohibido
status_head_total_banned=Prohibidos totales
status_head_banned_ip_list=Lista de IP prohibidas
status_head_blocks_ip=IP
status_head_blocks_stime=Hora de inicio
status_head_blocks_etime=Hora de finalización
status_rules_plus_more=+ $1 más
status_jail_unblock_ip=Eliminar $1 de la lista de prohibidos
status_jail_unblock=Desbloquear todas las direcciones IP de las cárceles seleccionadas
status_jail_unblock_ips=Desbloquear IP seleccionada
status_jail_noactive=No hay cárceles activas habilitadas todavía.
status_jail_noactiveips=No se encontraron entradas bloqueadas en la cárcel <tt>$1</tt>.
status_err_set=Acción de configuración fallida
status_err_unblock=No se pudo desbloquear la acción
status_err_nojail=No se han seleccionado cárceles
status_err_noips=No se ha seleccionado ninguna IP
status_err_unban=No se puede desbanear $1 dirección IP
status_err_unbanjail=No se puede desbanear $1 jail
status_err_unknownjail=cárcel desconocida
syslog_logtarget=Registro de acciones Fail2Ban

View File

@@ -171,21 +171,30 @@ manual_err=Ezin izan da konfigurazio fitxategia editatu
manual_edata=Ez da konfiguratutako fitxategiaren edukia sartu
status_title=Espetxeen Egoera Eta Ekintzak
status_title2=Espetxeen egoera
status_head_jail_name=Kartzelako izena
status_title3=Kartzela Blokeak
status_return=espetxe egoera
status_head_jail_blocks=Kartzela blokeak
status_head_currently_failed=Une honetan huts egin du
status_head_total_failed=Guztira huts egin du
status_head_file_list=Fitxategien zerrenda
status_head_currently_banned=Gaur egun debekatuta dago
status_head_total_banned=Guztiz debekatuta
status_head_banned_ip_list=Debekatutako IP zerrenda
status_head_blocks_ip=IP
status_head_blocks_stime=Hasiera ordua
status_head_blocks_etime=Amaiera ordua
status_rules_plus_more=+ $1 gehiago
status_jail_unblock_ip=Kendu $1 debekatuta dagoen zerrendatik
status_jail_unblock=Desblokeatu IP guztiak hautatutako espetxeetarako
status_jail_unblock_ips=Desblokeatu Hautatutako IP
status_jail_noactive=Oraindik ez dago kartzela aktiborik gaituta.
status_jail_noactiveips=Ez da blokeatutako sarrerarik aurkitu kartzelan <tt>$1</tt>.
status_err_set=Ezin izan da ezarri ekintza
status_err_unblock=Ezin izan da ekintza desblokeatu
status_err_nojail=Ez da kartzelarik hautatu
status_err_noips=Ez da IPrik hautatu
status_err_unban=Ezin da debekatu $1 IP helbidea
status_err_unbanjail=Ezin da debekatu $1 kartzela
status_err_unknownjail=Kartzela ezezaguna
syslog_logtarget=Fail2Ban ekintzaren erregistroa

View File

@@ -171,21 +171,30 @@ manual_err=ویرایش پرونده پیکربندی انجام نشد
manual_edata=هیچ محتوای پیکربندی وارد نشده است
status_title=وضعیت زندان و اقدامات
status_title2=وضعیت زندان
status_head_jail_name=نام زندان
status_title3=بلوک های زندان
status_return=وضعیت زندان
status_head_jail_blocks=بلوک های زندان
status_head_currently_failed=در حال حاضر شکست خورده است
status_head_total_failed=مجموع ناموفق بود
status_head_file_list=لیست فایل
status_head_currently_banned=در حال حاضر ممنوع است
status_head_total_banned=توتال ممنوع شد
status_head_banned_ip_list=لیست IP ممنوعه
status_head_blocks_ip=IP
status_head_blocks_stime=زمان شروع
status_head_blocks_etime=زمان پایان
status_rules_plus_more=+ $1 بیشتر
status_jail_unblock_ip=$1 را از لیست ممنوعه حذف کنید
status_jail_unblock=رفع انسداد همه IP ها برای زندان های منتخب
status_jail_unblock_ips=رفع انسداد IP انتخاب شده
status_jail_noactive=هنوز هیچ زندان فعالی فعال نشده است.
status_jail_noactiveips=هیچ ورودی مسدود شده ای در زندان <tt>$1</tt> یافت نشد.
status_err_set=عملکرد تنظیم ناموفق
status_err_unblock=عمل رفع انسداد انجام نشد
status_err_nojail=هیچ زندانی انتخاب نشده است
status_err_noips=هیچ IP انتخاب نشده است
status_err_unban=آدرس IP $1 را نمی توان لغو ممنوع کرد
status_err_unbanjail=زندان $1 را نمی توان لغو ممنوعیت کرد
status_err_unknownjail=زندان نامعلوم
syslog_logtarget=ورود به سیستم اقدام Fail2Ban

View File

@@ -171,21 +171,30 @@ manual_err=Konfiguraatiotiedoston muokkaaminen epäonnistui
manual_edata=Konfigurointitiedoston sisältöä ei ole annettu
status_title=Vankiloiden tila ja toimet
status_title2=Vankiloiden tila
status_head_jail_name=Vankilan nimi
status_title3=Vankilalohkot
status_return=vankiloiden tila
status_head_jail_blocks=Vankilalohkot
status_head_currently_failed=Tällä hetkellä epäonnistunut
status_head_total_failed=Yhteensä epäonnistui
status_head_file_list=Tiedostoluettelo
status_head_currently_banned=Tällä hetkellä kielletty
status_head_total_banned=Täysin kielletty
status_head_banned_ip_list=Kielletty IP-luettelo
status_head_blocks_ip=IP
status_head_blocks_stime=Aloitusaika
status_head_blocks_etime=Loppu aika
status_rules_plus_more=+ $1 lisää
status_jail_unblock_ip=Poista $1 kiellettyjen luettelosta
status_jail_unblock=Poista kaikkien IP-osoitteiden esto valituista vankiloista
status_jail_unblock_ips=Kumoa valitun IP-osoitteen esto
status_jail_noactive=Aktiivisia vankiloita ei ole vielä otettu käyttöön.
status_jail_noactiveips=Estettyjä merkintöjä vankilasta <tt>$1</tt> ei löytynyt.
status_err_set=Asetustoiminto epäonnistui
status_err_unblock=Toiminnon eston kumoaminen epäonnistui
status_err_nojail=Vankiloita ei ole valittu
status_err_noips=IP-osoitetta ei ole valittu
status_err_unban=$1 IP-osoitteen estoa ei voi poistaa
status_err_unbanjail=Ei voida poistaa $1 vankilakieltoa
status_err_unknownjail=Tuntematon vankila
syslog_logtarget=Fail2Ban-toimintaloki

View File

@@ -171,21 +171,30 @@ manual_err=Impossible de modifier le fichier de configuration
manual_edata=Aucun contenu de fichier de configuration entré
status_title=Statut et actions des prisons
status_title2=Statut des prisons
status_head_jail_name=Nom de la prison
status_title3=Blocs de prison
status_return=état des prisons
status_head_jail_blocks=Blocs de prison
status_head_currently_failed=Échec actuel
status_head_total_failed=Échec total
status_head_file_list=Liste de fichiers
status_head_currently_banned=Actuellement interdit
status_head_total_banned=Total interdit
status_head_banned_ip_list=Liste d'adresses IP interdites
status_head_blocks_ip=IP
status_head_blocks_stime=Heure de début
status_head_blocks_etime=Heure de fin
status_rules_plus_more=+ $1 de plus
status_jail_unblock_ip=Supprimer $1 de la liste des bannis
status_jail_unblock=Débloquer toutes les IP pour les prisons sélectionnées
status_jail_unblock_ips=Débloquer l'IP sélectionnée
status_jail_noactive=Il n'y a pas encore de prisons actives activées.
status_jail_noactiveips=Il n'y a aucune entrée bloquée dans la prison <tt>$1</tt> trouvée.
status_err_set=Échec de l'action définie
status_err_unblock=Impossible de débloquer l'action
status_err_nojail=Aucune prison n'a été sélectionnée
status_err_noips=Aucune IP n'a été sélectionnée
status_err_unban=Impossible de dé-bannir l'adresse IP $1
status_err_unbanjail=Impossible de débloquer la prison $1
status_err_unknownjail=Prison inconnue
syslog_logtarget=Journal des actions Fail2Ban

View File

@@ -171,21 +171,30 @@ manual_err=עריכת קובץ התצורה נכשלה
manual_edata=לא הוזן תוכן קובץ config
status_title=מצב הכלא ופעולות
status_title2=מצב כלא
status_head_jail_name=שם הכלא
status_title3=חסימות בכלא
status_return=מצב הכלא
status_head_jail_blocks=חסימות בכלא
status_head_currently_failed=כרגע נכשל
status_head_total_failed=סך הכל נכשל
status_head_file_list=רשימת קבצים
status_head_currently_banned=כרגע אסור
status_head_total_banned=נאסר לחלוטין
status_head_banned_ip_list=רשימת IP אסורה
status_head_blocks_ip=IP
status_head_blocks_stime=שעת התחלה
status_head_blocks_etime=שעת סיום
status_rules_plus_more=+ $1 נוספים
status_jail_unblock_ip=הסר את $1 מהרשימה החסומה
status_jail_unblock=בטל את חסימת כל כתובות ה-IP עבור בתי כלא נבחרים
status_jail_unblock_ips=בטל את חסימת ה-IP שנבחר
status_jail_noactive=עדיין אין בתי כלא פעילים מופעלים.
status_jail_noactiveips=לא נמצאו ערכים חסומים בכלא <tt>$1</tt>.
status_err_set=הגדרת הפעולה נכשלה
status_err_unblock=ביטול החסימה של הפעולה נכשל
status_err_nojail=לא נבחרו בתי כלא
status_err_noips=לא נבחר IP
status_err_unban=לא ניתן לבטל את החסימה של $1 כתובת IP
status_err_unbanjail=לא ניתן לבטל את החסימה של הכלא $1
status_err_unknownjail=כלא לא ידוע
syslog_logtarget=יומן הפעולות Fail2Ban

View File

@@ -171,21 +171,30 @@ manual_err=Nije uspjelo uređivanje konfiguracijske datoteke
manual_edata=Nije unesen sadržaj konfiguracijske datoteke
status_title=Status i radnje zatvora
status_title2=Status zatvora
status_head_jail_name=Ime zatvora
status_title3=Zatvorski blokovi
status_return=status zatvora
status_head_jail_blocks=Zatvorski blokovi
status_head_currently_failed=Trenutno nije uspjelo
status_head_total_failed=Ukupno nije uspjelo
status_head_file_list=Popis datoteka
status_head_currently_banned=Trenutno zabranjeno
status_head_total_banned=Totalno zabranjeno
status_head_banned_ip_list=Popis zabranjenih IP-a
status_head_blocks_ip=IP
status_head_blocks_stime=Vrijeme početka
status_head_blocks_etime=Vrijeme završetka
status_rules_plus_more=+ još $1
status_jail_unblock_ip=Ukloni $1 s popisa zabranjenih
status_jail_unblock=Deblokirajte sve IP adrese za odabrane zatvore
status_jail_unblock_ips=Deblokiraj odabrani IP
status_jail_noactive=Još nema omogućenih aktivnih zatvora.
status_jail_noactiveips=Nema blokiranih unosa u zatvoru <tt>$1</tt>.
status_err_set=Radnja postavljanja nije uspjela
status_err_unblock=Deblokiranje radnje nije uspjelo
status_err_nojail=Nisu odabrani zatvori
status_err_noips=Nije odabran nijedan IP
status_err_unban=Nije moguće poništiti zabranu IP adrese $1
status_err_unbanjail=Nije moguće poništiti zabranu $1 zatvora
status_err_unknownjail=Nepoznati zatvor
syslog_logtarget=Dnevnik akcija Fail2Ban

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