Compare commits

...

2828 Commits

Author SHA1 Message Date
Jamie Cameron
0bbeb5f4f7 Merge pull request #2416 from abcbarryn/modules/legacy
Added local copy of perl ini module
2025-02-18 22:09:07 -08:00
Barry Nelson
7d24ec6846 Add local copy of perl ini module 2025-02-19 00:23:37 -05:00
Barry Nelson
7383e6ad8d Merge pull request #10 from webmin/modules/legacy
Update branch
2025-02-19 00:21:46 -05:00
Jamie Cameron
f42adffc15 Merge pull request #2404 from abcbarryn/modules/legacy
Perl scripts to enable XDMCP
2025-02-11 20:09:03 -08:00
Barry Nelson
13de6fea4e Perl script to enable XDMCP
This update will enable XDMCP which is required for the VNC client to function. This has been tested on CentOS stream 9 and SuSE Linux. It will create .bak files of the original configuration.
2025-02-11 18:15:09 -05:00
Barry Nelson
861462d499 Merge pull request #7 from webmin/modules/legacy
Merge pull request #2399 from abcbarryn/modules/legacy
2025-02-09 23:19:54 -05:00
Jamie Cameron
0ed2109fed Merge pull request #2399 from abcbarryn/modules/legacy
Completely disable http/https on port 6080.
2025-02-09 17:21:43 -08:00
Barry Nelson
452958387c Update create VNC service script.
Support systems without xinetd that use systemd instead, also detect if GDM is used and XDMCP is disabled and enabled it. The use still has to open the port for the web socket (default 6080) in the firewall themselves though. Tested on CentOS 9 and an older SuSE Linux.
2025-02-09 01:36:19 -05:00
Barry Nelson
0a51170d3c Patch to completely disable http/https protocol on port 6080.
Only wss (web socket proxy) protocol is enabled on port 6080 and that is required.
2025-02-07 13:55:55 -05:00
Barry Nelson
767aa3a353 Delete vnc/empty directory 2025-02-07 13:52:23 -05:00
Barry Nelson
7fadece759 Merge pull request #6 from webmin/modules/legacy
Merge pull request #2395 from abcbarryn/modules/legacy
2025-02-07 00:29:10 -05:00
Jamie Cameron
32502d0ec9 Merge pull request #2395 from abcbarryn/modules/legacy
This contains no changed files
2025-02-06 21:10:46 -08:00
Barry Nelson
40d42664dd Turn off web directory indexes on web sock proxy and spoof 404 error on vnc.html 2025-02-06 12:42:39 -05:00
Barry Nelson
02d2f59663 Delete vnc/empty/index.html 2025-02-06 12:40:12 -05:00
Barry Nelson
f63e31dd7e Dummy VNC page for web sock proxy 2025-02-06 01:31:45 -05:00
Barry Nelson
ec679ad594 Restricted VNC web page to Webmin and added credits. 2025-02-06 01:29:43 -05:00
Barry Nelson
b5ec296302 Merge pull request #4 from webmin/modules/legacy
Merge pull request #2391 from abcbarryn/modules/legacy
2025-02-06 01:21:09 -05:00
Jamie Cameron
0c7024863a Merge pull request #2391 from abcbarryn/modules/legacy
New VNC module
2025-02-04 19:16:35 -08:00
Barry Nelson
700b0b49fe Finished updating VNC to the new java script version 2025-02-04 18:16:48 -05:00
Barry Nelson
0d87f98edf Add files via upload 2025-02-04 18:15:08 -05:00
Barry Nelson
aa60c17d14 Add files via upload 2025-02-04 18:13:00 -05:00
Barry Nelson
6ef110bcff Add files via upload 2025-02-04 18:12:14 -05:00
Barry Nelson
d8e2ba9d06 Add files via upload 2025-02-04 18:11:15 -05:00
Barry Nelson
c0df2266f3 Add files via upload 2025-02-04 18:09:54 -05:00
Barry Nelson
44a727f3f9 Add files via upload 2025-02-04 18:08:22 -05:00
Barry Nelson
4f16a893b2 Add files via upload 2025-02-04 18:07:28 -05:00
Barry Nelson
8ec49e117a Add files via upload 2025-02-04 18:06:31 -05:00
Barry Nelson
284533ccbf Recreate vnc folder for version 2.0 using java script 2025-02-04 18:05:12 -05:00
Barry Nelson
61013cd1e0 Delete vnc directory 2025-02-04 18:04:07 -05:00
Barry Nelson
67bde6a6fc Delete vnc/lang directory 2025-02-04 18:03:22 -05:00
Barry Nelson
b46b118f76 Delete vnc/images directory 2025-02-04 18:03:00 -05:00
Barry Nelson
5c046d9250 Patches to allow for 4096 bit keys. 2025-02-04 17:57:04 -05:00
Ilia Ross
577b9a9691 Preserve unsupported legacy modules 2025-02-02 14:52:02 +02:00
Ilia Ross
699de35596 Fix to create correct rc script
2b357cf0f1 (r152033120)
2025-02-02 13:57:35 +02:00
Ilia Ross
9d5d790526 Fix to ensure systemd custom units are created in the correct directory 2025-02-01 21:23:22 +02:00
Ilia Ross
433c4151fe Update translations 2025-02-01 12:18:33 +02:00
Ilia Ross
07e1655e14 Fix to improve option name 2025-02-01 12:04:10 +02:00
Jamie Cameron
44f4283009 Add missing blank line 2025-01-31 19:41:14 -08:00
Jamie Cameron
f330307803 Merge branch 'master' of github.com:webmin/webmin 2025-01-31 19:40:32 -08:00
Jamie Cameron
8595a36f18 Don't show extensions UI when we enable them via packages https://forum.virtualmin.com/t/there-is-a-problem-with-php-extensions/124552 2025-01-31 19:40:25 -08:00
Ilia Ross
121b20caa0 Fix button id to be more distinctive for easier styling 2025-01-31 19:38:17 +02:00
Ilia Ross
198b25e3a3 Fix only display the bottom form when there are too many users 2025-01-31 19:25:00 +02:00
Ilia Ross
d70496aac9 Fix broken Fetchmail page 2025-01-31 15:11:21 +02:00
Jamie Cameron
14f9624ac4 Also check file size in the cache 2025-01-29 20:54:28 -08:00
Jamie Cameron
8727a6cc8e Merge branch 'master' of github.com:webmin/webmin 2025-01-29 20:44:49 -08:00
Jamie Cameron
60ce4c81fe Cleanup code that checks the cache 2025-01-29 20:39:57 -08:00
Ilia Ross
ba81b22e55 Fix to revert File::Copy for compatibility with earlier versions of Perl 2025-01-29 21:22:21 +02:00
Jamie Cameron
6e6c9c26c7 Logic cleanup 2025-01-27 21:55:06 -08:00
Jamie Cameron
8d0367e6e6 Merge branch 'master' of github.com:webmin/webmin 2025-01-27 21:47:03 -08:00
Jamie Cameron
60bba6cb81 Modes can be a regular array 2025-01-27 21:44:53 -08:00
Ilia Ross
ee3bf19a9b Add ability to set optional preferences for repository 2025-01-27 12:44:48 +02:00
Ilia Ross
da6b548876 Fix description padding 2025-01-26 22:56:35 +02:00
Jamie Cameron
ad0b28abf7 Always update the usermin version, since we don't need to check that their os_list files are in sync 2025-01-25 17:52:54 -08:00
Jamie Cameron
401631daec Merge pull request #2284 from webmin/dev/support-deb822-style-repos
Add support for listing `deb822-style` repos
2025-01-25 12:13:02 -08:00
Ilia Ross
ee33579600 Fix to prioritize brevity over readability 2025-01-25 21:17:12 +02:00
Jamie Cameron
ff065a5647 On some systems /proc/mdstat doesn't exist until the first RAID device is created https://github.com/webmin/webmin/issues/1736 2025-01-25 10:04:35 -08:00
Jamie Cameron
e7d2dc8b67 Merge branch 'master' of github.com:webmin/webmin 2025-01-25 09:38:49 -08:00
Jamie Cameron
b95c96e501 Include zone name in deleted records log message 2025-01-25 09:38:21 -08:00
Ilia Ross
ad540808df Add support for recommended packages 2025-01-24 13:26:54 +02:00
Ilia Ross
a73f7cf6d7 Fix sub name 2025-01-24 11:54:51 +02:00
Jamie Cameron
24d39f631d If just one record is deleted, log it differently 2025-01-23 16:36:45 -08:00
Jamie Cameron
9c4e2d7653 Merge pull request #2371 from webmin/dev/bandwidth-firewalld
Add support for bandwidth monitoring with Firewalld and Journald
2025-01-23 16:03:16 -08:00
Ilia Ross
ae5c7a9db9 Revert "Fix to log each deleted DNS record individually"
This reverts commit 1ad15e0bfb.
2025-01-23 12:43:21 +02:00
Ilia Ross
1ce380f037 Fix to assume that an old process can still be running during upgrade 2025-01-23 12:01:32 +02:00
Jamie Cameron
300d34e303 Merge pull request #2373 from webmin/dev/drop-authen-oath
Fix to replace `Authen::OATH` validation with simpler `Digest::HMAC_SHA1`
2025-01-22 19:00:06 -08:00
Ilia Ross
81afd08b0d Fix to replace Authen::OATH validation with simpler Digest::HMAC_SHA1 2025-01-23 02:52:09 +02:00
Ilia Ross
87a2871013 Fix to drop no longer needed Authen::OATH and its deps 2025-01-23 02:45:40 +02:00
Ilia Ross
e2dd91febc Update vendor_perl libs 2025-01-23 01:54:02 +02:00
Jamie Cameron
2008ad63fb Merge branch 'master' of github.com:webmin/webmin 2025-01-21 20:05:23 -08:00
Jamie Cameron
fcdebf6891 Some systems use the event MPM instead of prefork https://github.com/webmin/webmin/issues/2365 2025-01-21 20:05:15 -08:00
Ilia Ross
d0e7a4efde Fix to correct port validation in Fail2Ban
https://forum.virtualmin.com/t/possible-bug-on-fail2ban-jail-edit/130165?u=ilia
2025-01-22 01:53:54 +02:00
Ilia Ross
1ad15e0bfb Fix to log each deleted DNS record individually
https://github.com/webmin/webmin/pull/2369#issuecomment-2605135007
2025-01-21 21:17:25 +02:00
Ilia Ross
5427420d3c Add Fail2Ban placeholders support for backend
https://forum.virtualmin.com/t/fail2ban-will-not-start/128934/7
2025-01-21 14:03:35 +02:00
Ilia Ross
dd4ae09642 Add endlessly better graphs filling and positioning 2025-01-21 01:31:43 +02:00
Ilia Ross
5d31698099 Fix to always prioritize Journald 2025-01-21 00:17:25 +02:00
Ilia Ross
72fef64c4d Fix variable being in the wrong scope 2025-01-21 00:00:02 +02:00
Ilia Ross
3258e1cbac Revert "Merge pull request #2369 from cstrotm/delete-record-extra-log"
This reverts commit fe1043a6aa, reversing
changes made to 42beaf915a.
2025-01-20 23:55:24 +02:00
Jamie Cameron
fe1043a6aa Merge pull request #2369 from cstrotm/delete-record-extra-log
Delete record extra log
2025-01-20 10:58:20 -08:00
Ilia Ross
cf79c33e28 Fix to use var directory for storing data 2025-01-20 18:39:21 +02:00
Ilia Ross
c0e09b4fa6 Add support for collecting bandwidth stats using Journald 2025-01-20 18:26:08 +02:00
Ilia Ross
785eb8646b Fix exit statuses and use lexical file handler 2025-01-20 18:15:08 +02:00
Ilia Ross
50be76165b Fix to handle output nicely 2025-01-20 18:03:31 +02:00
Carsten Strotmann
c4a0b18a49 Whitespace adjust 2025-01-20 16:02:14 +01:00
Ilia Ross
aae7bb5ac8 Fix code readability and scoping 2025-01-20 16:19:38 +02:00
Ilia Ross
67391244e4 Fix to lock module config 2025-01-20 15:29:33 +02:00
Ilia Ross
1cf778b627 Fix to remove comments, as no work required here really 2025-01-20 15:11:36 +02:00
Ilia Ross
39af4f2328 Fix to let *tables decide which log level (defaults to 4) 2025-01-20 14:22:26 +02:00
Ilia Ross
42beaf915a Merge pull request #2368 from MacSteini/master
Update de
2025-01-20 13:59:38 +02:00
MacSteini
fbdbedd3bc Update de 2025-01-20 11:26:10 +00:00
Carsten Strotmann
98f7a86f71 Add additional information when deleting records 2025-01-20 09:47:50 +01:00
Ilia Ross
1506238c7b Add FirewallD with Journald labels and generalize language for all supported systems 2025-01-20 02:42:01 +02:00
Ilia Ross
9e3918e813 Fix language for consistency 2025-01-20 02:13:38 +02:00
Ilia Ross
9160dc5735 Add missing syslog function 2025-01-20 01:55:25 +02:00
Ilia Ross
8e4bfff29e Add check for FirewallD 2025-01-20 01:54:48 +02:00
Ilia Ross
40b61a6c22 Add FirewallD to config info 2025-01-20 01:42:14 +02:00
Ilia Ross
a014d5b59f Add API to support FirewallD 2025-01-20 01:40:49 +02:00
Ilia Ross
d1e4c5d577 Add API to handle direct rules in FirewallD 2025-01-20 01:16:05 +02:00
Ilia Ross
da52526931 Fix to support log action when listing 2025-01-19 22:58:12 +02:00
Ilia Ross
0363812172 Add rich rule helper function 2025-01-19 21:24:36 +02:00
Ilia Ross
8acf9980f8 Fix variable scope 2025-01-19 19:56:06 +02:00
Ilia Ross
af3ee1034f Add check for which IP families are enabled on the system 2025-01-19 19:32:55 +02:00
Ilia Ross
186e578802 Add validation for CIDR too 2025-01-19 19:30:22 +02:00
Ilia Ross
a2520b4396 Fix special case for unspecified address when checking IPv6 2025-01-19 19:21:46 +02:00
Ilia Ross
38f0ccc155 Add API to check if rich rule exists 2025-01-19 01:26:57 +02:00
Ilia Ross
73132e7f86 Fix to separate the logic for constructing and setting rich rule 2025-01-19 01:22:16 +02:00
Ilia Ross
d4d963910d Fix messy rich-rule API 2025-01-18 23:33:35 +02:00
Ilia Ross
80ce9a7ef4 Merge pull request #2366 from MacSteini/master
Update de
2025-01-18 15:53:37 +02:00
Ilia Ross
314d6c5efc Add ability to resolve compatibility-level conditionals
https://sourceforge.net/p/webadmin/bugs/5653/
2025-01-18 15:17:39 +02:00
MacSteini
260eca09ae Update de 2025-01-18 04:02:04 +00:00
Ilia Ross
0928edaa08 Add further fixes (final) to support latest contemporary OpenSSH 2025-01-17 23:00:08 +02:00
Ilia Ross
5df04a50bd Fix factored out function to correctly sort one file by another 2025-01-17 22:28:18 +02:00
Ilia Ross
0dab0c08ed Update translations 2025-01-17 22:21:26 +02:00
Ilia Ross
0b80083a9c Add improvements to display allowed login modes 2025-01-17 21:56:04 +02:00
Ilia Ross
bb8421c411 Fix support for SSH deprecated option on 'Authentication' page 2025-01-17 14:56:22 +02:00
Ilia Ross
6b3457e9fd Fix to drop removed SSH options from 'Miscellaneous Options' page 2025-01-17 14:26:36 +02:00
Ilia Ross
f5e15dbe08 Fix to re-use method for getting SSH socket unit 2025-01-17 04:41:41 +02:00
Ilia Ross
78d5332499 Add support to configure SSH socket #2356 2025-01-17 04:35:57 +02:00
Ilia Ross
761a879919 Add ability to return filtered systemd unit options 2025-01-16 21:45:47 +02:00
Ilia Ross
1c8c259eae Add API to edit systemd units 2025-01-16 15:02:54 +02:00
Ilia Ross
98a8fa9e22 Fix to rename the workflow file
https://github.com/webmin/webmin/issues/2362
2025-01-16 01:08:15 +02:00
Ilia Ross
d10bd3a601 Revert "Add config option to allow auto-refresh of Running Processes module"
This reverts commit a379c1f3ed.
2025-01-16 00:07:05 +02:00
Ilia Ross
a379c1f3ed Add config option to allow auto-refresh of Running Processes module
https://github.com/webmin/webmin/issues/2251#issuecomment-2283057260
2025-01-15 23:58:54 +02:00
Ilia Ross
99a59ed554 Fix to factor out a function with different logic 2025-01-15 13:19:22 +02:00
Ilia Ross
f15ebca9af Fix indents 2025-01-15 12:20:38 +02:00
Jamie Cameron
cc25fa2b32 Use formal params 2025-01-14 21:05:54 -08:00
Jamie Cameron
9ccb944291 Merge branch 'master' of github.com:webmin/webmin 2025-01-14 19:19:49 -08:00
Jamie Cameron
6114028aea Set old user environment variables https://github.com/virtualmin/virtualmin-gpl/issues/995 2025-01-14 19:14:45 -08:00
Ilia Ross
41887071c0 Merge branch 'master' of github.com:webmin/webmin 2025-01-15 02:28:00 +02:00
Ilia Ross
468a570adf Add cat_systemd sub to parse systemd unit config 2025-01-15 02:27:50 +02:00
Jamie Cameron
1a45048d89 Temp filename should include a counter to ensure uniqueness 2025-01-14 15:51:02 -08:00
Jamie Cameron
846b611455 Merge branch 'master' of github.com:webmin/webmin 2025-01-14 15:40:34 -08:00
Jamie Cameron
27ac760466 Using _ seems risky 2025-01-14 15:40:10 -08:00
Ilia Ross
dedfc90e71 Fix comment 2025-01-15 01:34:08 +02:00
Ilia Ross
89ae8632e0 Add is_active_systemd sub 2025-01-15 01:23:03 +02:00
Ilia Ross
a508a10f54 Merge pull request #2360 from MacSteini/master
Update de
2025-01-15 01:19:13 +02:00
MacSteini
4ea1303a40 Update de 2025-01-14 23:17:00 +00:00
Ilia Ross
9d48afe562 Fix to disable explicitly 2025-01-14 19:15:35 +02:00
Jamie Cameron
edccfc4533 Merge branch 'master' of github.com:webmin/webmin 2025-01-14 08:35:16 -08:00
Jamie Cameron
4d70ada051 Handle zero values properly 2025-01-14 08:35:11 -08:00
Ilia Ross
c0f69446b3 Fix support for idle conns in contemporary SSH 2025-01-14 15:23:22 +02:00
Ilia Ross
aab912dccf Fix setting Protocol directive in contemporary SSH 2025-01-14 03:14:21 +02:00
Jamie Cameron
66a792292a Run cron commands in the user's home dir https://github.com/webmin/webmin/issues/2355: 2025-01-12 09:25:26 -08:00
Jamie Cameron
a291502d24 Merge branch 'master' of github.com:webmin/webmin 2025-01-11 15:52:40 -08:00
Jamie Cameron
cfb7f9b560 hash in port needs to be quoted https://github.com/webmin/webmin/issues/2357 2025-01-11 15:52:31 -08:00
Ilia Ross
7eb8e4d336 Fix to improve new params names 2025-01-11 05:31:14 +02:00
Ilia Ross
ec4b331709 Fix repo name consistency 2025-01-11 04:52:01 +02:00
Ilia Ross
ed31389087 Add ability to exclude packages if defined 2025-01-11 04:46:40 +02:00
Ilia Ross
23aa974014 Fix typo 2025-01-10 16:36:53 +02:00
Ilia Ross
1ceabeb841 Fix workflow to correctly trigger workflow on release 2025-01-10 03:05:46 +02:00
Ilia Ross
5478a4fc87 Dev: Revert to build on tag as all works fine now [no-build] 2025-01-09 04:30:09 +02:00
Ilia Ross
16df7857a4 Dev: Force tagged release for testing 2025-01-09 04:15:33 +02:00
Ilia Ross
8223f24b2b Fix to test new master template with tagged releases support 2025-01-09 04:14:24 +02:00
Jamie Cameron
30b2791669 Merge pull request #2354 from mckaygerhard/master-fix-init-openrc-gentoo-alpine
update openrc based outdated script in sync with current gentoo and alpine
2025-01-08 09:33:42 -08:00
Jamie Cameron
09418cec2e Merge branch 'master' of github.com:webmin/webmin 2025-01-08 08:39:18 -08:00
Jamie Cameron
f9e2f1a0be Better default if apache isn't installed 2025-01-08 08:37:00 -08:00
mckaygerhard
de140fa55c update openrc gentoo based outdated script in sync with current gentoo
* This script its from ancient webmin era.. we need up to date to
  be able to use for alpine and modern gentoo linux distributions,
  gentoo still uses Openrc for many things no matter if you choose
  other init systems
* Fix status command not available to, by the detection of the pid,
  this is using the config pid variable from webmin config miniserv
  is need for future support on issue #2353 and related to #835 that
  just assume init sysv systems or the other s*** only.
  Still is pending future support for openrc init system but with
  this path next changes are more easy to do
2025-01-08 10:16:26 -04:00
Ilia Ross
f6f0dee117 Add support for configuring protected repos requiring authentication 2025-01-07 23:58:57 +02:00
Ilia Ross
9636b82f55 Update repo meta for RPM-based distros too 2025-01-07 23:08:15 +02:00
Ilia Ross
08ace21d34 Add better error handling 2025-01-07 23:07:39 +02:00
Ilia Ross
795040a0a5 Fix to update how message is shown in force mode 2025-01-07 22:21:03 +02:00
Ilia Ross
77df6875c2 Fix to improve release naming 2025-01-07 05:29:30 +02:00
Ilia Ross
c1989caae1 Fix to use simpler default host for edge releases 2025-01-07 04:51:50 +02:00
Ilia Ross
8517809ae0 Add further improvements to repo setup script
* This change enables configuration of any RC or cutting-edge repo across the project using the same signing key (Webmin Developers )
2025-01-07 03:43:21 +02:00
Jamie Cameron
6a9f7a7f7e Merge branch 'master' of github.com:webmin/webmin 2025-01-05 09:45:41 -08:00
Jamie Cameron
80bfbf30dc Only read one XML file https://github.com/webmin/webmin/issues/2351 2025-01-05 09:45:34 -08:00
Ilia Ross
1ce2c9f1c2 Add known hosts to be set up 2025-01-04 01:40:54 +02:00
Ilia Ross
f73f8cfb55 Update secret 2025-01-02 19:56:10 +02:00
Ilia Ross
9133a10b5d Fix to pass secrets 2025-01-02 18:53:54 +02:00
Ilia Ross
3c75e74b8b Fix the branch name for reusable workflow 2025-01-02 16:05:49 +02:00
Ilia Ross
9749106ccf Fix to update master workflow path (corrected) 2025-01-02 16:03:40 +02:00
Ilia Ross
1297ad22c8 Fix to update master workflow path 2025-01-02 15:59:33 +02:00
Ilia Ross
04eaedb299 Fix to use webmin/webmin-ci-cd reusable template 2025-01-02 15:54:15 +02:00
Ilia Ross
bdf6e37de8 Fix support for setting up SUSE distros 2025-01-02 14:30:19 +02:00
Ilia Ross
1555dfe168 Merge pull request #2349 from rhabacker/master
Generation of repo files for (open)suse distributions added
2025-01-02 14:28:38 +02:00
Ralf Habacker
8f8ea12e98 Generation of repo files for (open)suse distributions added 2025-01-02 11:54:55 +01:00
Jamie Cameron
cd69218e1b Merge branch 'master' of github.com:webmin/webmin 2025-01-01 16:15:05 -08:00
Jamie Cameron
a5085ccb23 There may be multiple additional parameters https://github.com/webmin/webmin/issues/2348 2025-01-01 16:14:55 -08:00
Ilia Ross
79e248cf98 Add support for updated environment
[build]
2025-01-01 17:36:56 +02:00
Ilia Ross
11aacce9f6 Fix help 2024-12-31 19:14:47 +02:00
Ilia Ross
8de2dbb795 Add ability to set prefix 2024-12-31 19:10:19 +02:00
Ilia Ross
5113f6d076 Add support for Obsoletes: in RPM 2024-12-31 18:54:56 +02:00
Ilia Ross
65b36d6c07 Fix to set maintainer correctly 2024-12-31 17:30:45 +02:00
Ilia Ross
d737c638aa Fix to remove debug info 2024-12-31 17:30:19 +02:00
Ilia Ross
6d90370b0b Add debug info about env variables 2024-12-31 17:22:05 +02:00
Ilia Ross
b58ba1cb3b Fix to allow maintainer to be configurable
[build]
2024-12-31 16:42:03 +02:00
Ilia Ross
a6005361b5 Fix to move CI/CD to dedicated repo 2024-12-31 03:31:20 +02:00
Ilia Ross
2a81aabf96 Fix to correctly handle builds for multiple types 2024-12-31 03:18:44 +02:00
Ilia Ross
ee994bef2f Fix not to fail on rebuilds 2024-12-31 03:10:33 +02:00
Ilia Ross
871152f723 Fix to optimize package repo pulling and scoping 2024-12-31 03:03:02 +02:00
Ilia Ross
7ed1497f8d Fix to spin slower 2024-12-31 01:45:23 +02:00
Ilia Ross
1a4f461ae5 Fix spinner to be simple to work in non-interactive CI/CD 2024-12-31 01:36:19 +02:00
Ilia Ross
b945282489 Fix to simplify workflow name 2024-12-31 00:40:42 +02:00
Ilia Ross
e9ef704787 Fix to try to use single depth when cloning 2024-12-31 00:36:22 +02:00
Ilia Ross
c122d13747 Fix to rename workflow filename 2024-12-31 00:33:44 +02:00
Ilia Ross
742dcdc022 Add proper bootstrapping for other repos in CI/CD 2024-12-31 00:07:17 +02:00
Ilia Ross
5d01d93f67 Fix to drop verbose as we successfully reworked CI/CD scripts primarily 2/3 2024-12-30 23:34:05 +02:00
Ilia Ross
5d981550af Fix to avoid trailing spaces when dealing with ssh and scp commands in CI/CD
[build]
2024-12-30 23:29:17 +02:00
Ilia Ross
a5302c109a Add more debug when uploading (CI/CD)
[build]
2024-12-30 23:16:42 +02:00
Ilia Ross
d755168d12 Fix setup SSH error print logic in CI/CD 2024-12-30 23:16:07 +02:00
Ilia Ross
d8f669b7df Add more details when uploading (CI/CD)
[build]
2024-12-30 23:00:28 +02:00
Ilia Ross
5a44632bd1 Fix to abstract key path in repo setup CI/CD 2024-12-30 22:44:29 +02:00
Ilia Ross
9ce7706ff2 Fix setup SSH logic in CI/CD 2024-12-30 22:41:47 +02:00
Ilia Ross
160895f5e2 Add reworked CI/CD 1/2
[build]
2024-12-30 22:25:17 +02:00
Ilia Ross
7249984dee Fix to make old repo setup script work #2347 2/2 2024-12-30 20:06:41 +02:00
Ilia Ross
c6b216ee32 Fix to make old repo setup script work #2347 2024-12-30 18:36:38 +02:00
Ilia Ross
357392eb84 Merge pull request #2346 from MacSteini/master
Updated de & fr
2024-12-30 13:14:27 +02:00
MacSteini
2f46acff31 Updated de 2024-12-30 01:27:56 +00:00
MacSteini
9511fc342f Updated de & fr
Updated de

Made a fundamental mistake the last time I ran an automated script and messed up quota/lang/fr
2024-12-30 01:24:20 +00:00
Jamie Cameron
d590ed3f54 Merge pull request #2344 from webmin/dev/setup-repos-consolidate
Add improvement to repos setup script
2024-12-29 17:03:25 -06:00
Ilia Ross
416c614d6c Fix to update moved home for webmin.dev testing builds 2024-12-29 14:47:09 +02:00
Ilia Ross
21bf12a897 Fix to drop deleting files upon upload as it deletes all files unconditionally 2024-12-29 05:26:40 +02:00
Ilia Ross
ad7f7e84b1 Fix for path not to be treated as literal 2024-12-29 05:19:15 +02:00
Ilia Ross
132a223d5c Fix to enter correct directory before deleting 2024-12-29 04:44:19 +02:00
Ilia Ross
66ee14b2a6 Fix to avoid immediate expansion 2024-12-29 04:33:48 +02:00
Ilia Ross
acc820debf Fix to clear files before upload 2024-12-29 04:26:04 +02:00
Ilia Ross
9d4db5bc42 Fix to skip moving file completely as the name already what we want 2024-12-29 04:19:27 +02:00
Ilia Ross
b39486de66 Fix not to move into itself 2024-12-29 04:14:25 +02:00
Ilia Ross
5bc24cff74 Fix clean up 2024-12-29 04:08:36 +02:00
Ilia Ross
d083cffd50 Fix typo when print tar package version 2024-12-29 03:57:10 +02:00
Ilia Ross
af150c9210 Fix to add proper packages names 2024-12-29 03:53:18 +02:00
Ilia Ross
64084c3b90 Dev: Disable debug 2024-12-29 03:37:34 +02:00
Ilia Ross
d24e3bf3aa Dev: Fix to enable debug 2024-12-29 03:35:27 +02:00
Ilia Ross
9ac2a45822 Fix to use a consistent flag name 2024-12-29 03:28:54 +02:00
Ilia Ross
09a00bd839 Add support for building Webmin modules in CI/CD 1/2 2024-12-29 03:15:00 +02:00
Ilia Ross
b755ce9daf Fix to use dedicated function for directory delete 2024-12-29 02:01:33 +02:00
Ilia Ross
ebab02c15b Fix not to depend on mod_def_list.txt file 2024-12-28 22:43:22 +02:00
Ilia Ross
38d6309e57 Update translations 2024-12-28 12:48:17 +02:00
Ilia Ross
75d91469ed Fix message to be less confusing
Ref.: https://github.com/webmin/webmin/pull/2345
2024-12-28 12:41:07 +02:00
Ilia Ross
980a0f37fc Merge pull request #2345 from swelljoe/server-was-confusing
A user was confused by 'The Webmin server'
2024-12-28 12:35:20 +02:00
Ilia Ross
899c385032 Fix to simplify repo name 2024-12-28 12:27:30 +02:00
Joe Cooper
444b437ba3 A user was confused by 'The Webmin server' 2024-12-28 00:36:55 -06:00
Ilia Ross
cefdce5911 Add improvement to repos setup script 2024-12-28 01:28:59 +02:00
Ilia Ross
07da92a2e7 Add support for sortable dates in tables 1/2 2024-12-25 13:47:03 +02:00
Ilia Ross
4ad3f1e2b6 Add ability to adjust font size in terminal module 2024-12-25 01:03:42 +02:00
Ilia Ross
2b0abd778e Fix line height for the text inside details 2024-12-23 22:46:44 +02:00
Ilia Ross
53b84887cd Fix cursor for the text inside details 2024-12-23 22:32:08 +02:00
Ilia Ross
e6e65a5d32 Fix embedded font size into inline details 2024-12-23 22:08:21 +02:00
Ilia Ross
554f0b57a2 Fix to nicely support details inside second print 2024-12-23 21:50:22 +02:00
Jamie Cameron
2aad92ea53 Merge branch 'master' of github.com:webmin/webmin 2024-12-21 15:41:41 -08:00
Jamie Cameron
506f7a1819 If not binding to an IP, add a Listen directive for a custom port if needed https://github.com/webmin/webmin/issues/2341 2024-12-21 15:41:33 -08:00
Ilia Ross
56c0f5ea32 Fix to prefer JSON::XS over JSON::PP 2024-12-21 22:50:52 +02:00
Ilia Ross
94bb4921d2 Merge pull request #2340 from MacSteini/master
DE update & whitespace trimming of language files
2024-12-20 18:51:37 +02:00
MacSteini
357bed0506 Update de 2024-12-20 16:19:15 +00:00
MacSteini
901e324bae DE update & whitespace trimming of language files 2024-12-20 16:04:32 +00:00
Jamie Cameron
19eb916cc1 Merge branch 'master' of github.com:webmin/webmin 2024-12-19 18:21:51 -08:00
Jamie Cameron
46403a77b1 Add docs on trust remote proxy features 2024-12-19 18:18:44 -08:00
Jamie Cameron
b174973984 Merge pull request #2339 from MacSteini/master
Leading Space Removal
2024-12-19 11:26:59 -08:00
MacSteini
6e9cb986ad Leading Space Removal
Removed leading spaces from language files
2024-12-19 16:10:31 +00:00
Ilia Ross
95501e1c29 Merge pull request #2338 from MacSteini/master
Update de
2024-12-19 12:28:32 +02:00
MacSteini
ff36b2ce22 Update de 2024-12-19 10:07:50 +00:00
Jamie Cameron
b1a98f9b6c The default is any 2024-12-18 14:49:30 -08:00
Jamie Cameron
9329829732 If virtualmin is installed, just assume that it's in charge of spam delivery 2024-12-18 09:53:52 -08:00
Jamie Cameron
b82c01c4ff Move check for procmail into a separate function to avoid bloating index.cgi 2024-12-18 09:50:45 -08:00
Jamie Cameron
59e97be96c Clean up indentatiuon 2024-12-18 09:43:53 -08:00
Jamie Cameron
5363e461e4 Merge branch 'master' of github.com:webmin/webmin 2024-12-17 21:45:45 -08:00
Jamie Cameron
efae1cf754 Add UI option to control if SSL client cert is trusted 2024-12-17 21:45:00 -08:00
Ilia Ross
2732142969 Fix to preserve to comments #2333 2024-12-16 21:54:28 +02:00
Ilia Ross
5498afecb4 Merge pull request #2337 from MacSteini/master
Update de
2024-12-16 19:45:28 +02:00
MacSteini
20a6a7d5e7 Update de 2024-12-16 17:45:15 +00:00
MacSteini
9d4b281069 Update de 2024-12-16 17:43:06 +00:00
Ilia Ross
cdb18f32e0 Merge pull request #2336 from MacSteini/master
Removed trailing spaces
2024-12-16 19:12:12 +02:00
MacSteini
162206949f Consecutive Spaces Replacement
Replaced multiple consecutive spaces with a single space
2024-12-16 16:57:09 +00:00
MacSteini
8fd971c970 Delete Space Scanner.zsh 2024-12-16 15:17:33 +00:00
MacSteini
5ea0cc6b42 Trailing Spaces Removal
Removed trailing spaces
2024-12-16 15:16:55 +00:00
Ilia Ross
5fde929295 Merge pull request #2335 from MacSteini/master
Blanks Removal
2024-12-16 15:06:02 +02:00
MacSteini
64598e5f39 Blanks Removal
Removed blanks before or after the equal sign
2024-12-16 12:59:19 +00:00
Jamie Cameron
6980e08f87 get_mysql_config must return an array ref 2024-12-14 13:30:41 -08:00
Jamie Cameron
3f09aeed14 Merge branch 'master' of github.com:webmin/webmin 2024-12-13 14:23:50 -08:00
Jamie Cameron
bdea86afa2 Set the temp dir after we've checked return status from cat 2024-12-13 14:23:40 -08:00
Jamie Cameron
46af488994 Merge pull request #2330 from MacSteini/master
Update de
2024-12-02 19:24:44 -08:00
MacSteini
53197ca536 Update de 2024-12-03 02:55:10 +00:00
MacSteini
a1066eb002 Update de 2024-12-03 02:51:07 +00:00
Jamie Cameron
b488e28550 Improve messages when installing packages, and association between PHP versions and package names 2024-12-01 16:59:26 -08:00
Jamie Cameron
226da2c60d Merge branch 'master' of github.com:webmin/webmin 2024-12-01 10:24:50 -08:00
Jamie Cameron
7de796620c Log and restart Apache/FPM after installing a PHP module 2024-12-01 10:24:40 -08:00
Jamie Cameron
0d8e877f85 Merge pull request #2328 from MacSteini/master
Update de
2024-11-30 17:42:48 -08:00
MacSteini
2f12268e4b Update de 2024-12-01 01:37:43 +00:00
Jamie Cameron
1db2df6bdf Merge branch 'master' of github.com:webmin/webmin 2024-11-30 08:30:57 -08:00
Jamie Cameron
85dd40d710 Add missing cgi script 2024-11-30 08:30:24 -08:00
Ilia Ross
f0fdb4cd89 Merge pull request #2327 from MacSteini/master
Updated de
2024-11-30 14:02:19 +02:00
MacSteini
df928c5487 Update de 2024-11-30 11:26:47 +00:00
MacSteini
6c573f0251 Updated de
Corrections (UTF-8, new lines at file end), amendments, updates
2024-11-30 11:24:13 +00:00
Jamie Cameron
51817a25bd Check-in missing file 2024-11-29 18:23:19 -08:00
Jamie Cameron
797ba9f45e Various fixes to support module install for the default version 2024-11-29 17:07:02 -08:00
Jamie Cameron
08b1ee3be6 Improve messages when installing a PHP module 2024-11-29 16:53:42 -08:00
Jamie Cameron
f9c9ff77b6 Merge branch 'master' of github.com:webmin/webmin 2024-11-29 16:05:52 -08:00
Jamie Cameron
dd42835d12 Work on support for installing PHP modules 2024-11-29 16:05:43 -08:00
Ilia Ross
c9b77043d8 Fix email message shown in iframe to match overall UI https://github.com/webmin/usermin/issues/122 2024-11-30 00:32:29 +02:00
Ilia Ross
4f78baf0b2 Fix line height in HTML mail message https://github.com/webmin/usermin/issues/121 2024-11-29 23:25:13 +02:00
Ilia Ross
c24d9dcdef Fix smaller and simpler html2text over lynx for converting HTML to text in mail 2024-11-29 23:20:08 +02:00
Ilia Ross
d82d31f92a Update translations (proftpd,filemin) 2024-11-29 15:12:53 +02:00
Jamie Cameron
310664de76 Merge pull request #2326 from swelljoe/less-inetd
Remove one mention of inetd
2024-11-28 17:15:38 -08:00
Joe Cooper
26e37add44 Russian and Ukrainian 2024-11-28 15:22:21 -06:00
Joe Cooper
465803f73f Remove one mention of inetd 2024-11-28 15:11:10 -06:00
Ilia Ross
d2db00a5d1 Add ability to control strict user ownership check #2300 2024-11-28 21:14:58 +02:00
Ilia Ross
83457fe4c0 Fix to test if delete, rename, paste and save is allowed #2300 2024-11-28 00:48:54 +02:00
Jamie Cameron
3c45598140 Merge branch 'master' of github.com:webmin/webmin 2024-11-27 09:04:15 -08:00
Ilia Ross
36de5bfc30 Merge pull request #2325 from MacSteini/master
Updated de
2024-11-27 13:42:08 +02:00
MacSteini
c461dfe965 Merge branch 'master' of https://github.com/MacSteini/webmin 2024-11-27 10:05:08 +00:00
MacSteini
d913d6c6a3 Updated de 2024-11-27 10:05:06 +00:00
Jamie Cameron
a539f46189 Ignore packages after the 'Obsoleting Packages' line https://forum.virtualmin.com/t/detection-of-available-package-updates-packages-available-from-multiple-repos/130651 2024-11-26 21:43:59 -08:00
Ilia Ross
4bd0c8a67f Merge pull request #2324 from MacSteini/master
Update de
2024-11-26 19:35:08 +02:00
MacSteini
4070f632de Merge branch 'webmin:master' into master 2024-11-26 14:01:02 +00:00
MacSteini
b6729f437e Update de
Corrected typo
2024-11-26 14:00:01 +00:00
Ilia Ross
26ab2110cb Merge pull request #2323 from MacSteini/master
Updated de
2024-11-26 12:25:54 +02:00
MacSteini
61cf8dcc73 Updated de
Corrections (UTF-8, new lines at file end), amendments, updates
2024-11-26 09:02:52 +00:00
Jamie Cameron
749f740bbb Merge pull request #2322 from MacSteini/master
Updated de
2024-11-25 21:12:52 -08:00
MacSteini
7cd1f70142 Merge branch 'webmin:master' into master 2024-11-26 01:44:22 +00:00
MacSteini
477982776c Updated de
Corrections (UTF-8, new lines at file end), amendments, updates
2024-11-26 01:43:34 +00:00
Jamie Cameron
96548df5f2 Merge branch 'master' of github.com:webmin/webmin 2024-11-25 15:48:21 -08:00
Jamie Cameron
1a0eed3943 Actually the hash map type is sometimes missing 2024-11-25 15:48:05 -08:00
Ilia Ross
94d366551a Merge pull request #2318 from MacSteini/master
Update de
2024-11-25 19:30:38 +02:00
MacSteini
dfd0924869 Revert "Files updated by Language Manager"
This reverts commit 9d25a07c12.
2024-11-25 17:19:01 +00:00
Ilia Ross
a2d5d68dcf Update translations 2024-11-25 16:06:36 +02:00
Ilia Ross
e7441b05ed Fix to display nicer 2024-11-25 16:00:16 +02:00
Ilia Ross
4b87ccb3c1 Fix to put editable options on the top of the list #2319 2024-11-25 15:44:16 +02:00
MacSteini
9d25a07c12 Files updated by Language Manager 2024-11-25 11:51:01 +00:00
MacSteini
37d5120977 Update de 2024-11-25 11:27:53 +00:00
Jamie Cameron
0178d7ae99 Merge branch 'master' of github.com:webmin/webmin 2024-11-24 22:34:13 -08:00
Jamie Cameron
c39e5ffb01 Allow modules to be enabled or disabled 2024-11-24 22:34:06 -08:00
Ilia Ross
4e5ba94818 Fix internal version to be integer #2313
[build]
2024-11-24 21:12:34 +02:00
Ilia Ross
599d096783 Add support for openEuler in repo setup script 2024-11-24 21:09:48 +02:00
Ilia Ross
55ae93e447 Add support for openEuler LTS and Innovation #2313
[build]
2024-11-24 20:49:27 +02:00
Jamie Cameron
e412d1a1e6 Start of work on being able to select PHP modules 2024-11-23 22:34:59 -08:00
Jamie Cameron
b69067e38f Cleanup UI code 2024-11-23 22:05:43 -08:00
Jamie Cameron
80e99b7b25 Don't use error handler that doesn't exist 2024-11-21 20:37:56 -08:00
Ilia Ross
4f945b0a4e Fix mail buttons text
https://github.com/webmin/usermin/issues/120
2024-11-19 21:03:58 +02:00
Ilia Ross
93a298a7d1 Fix to call post change theme 2024-11-19 13:21:34 +02:00
Ilia Ross
23871ff3a9 Fix to properly handle matching comma-separated named ports 2024-11-17 17:41:35 +02:00
Ilia Ross
5931243e4d Fix to instruct the browser not to save password fields
https://github.com/webmin/webmin/issues/847#issuecomment-2480540430

[build]
2024-11-17 14:00:56 +02:00
Jamie Cameron
5a8e7c5dee Merge branch 'master' of github.com:webmin/webmin 2024-11-16 13:15:05 -08:00
Jamie Cameron
4dd309829c Properly support un-set and all modes 2024-11-16 12:18:15 -08:00
Jamie Cameron
ab75637b7a Add proper logging of commands run 2024-11-16 12:17:45 -08:00
Ilia Ross
a6e0b3cee5 Update translations and include the new Polish translation 2024-11-16 14:03:39 +02:00
Ilia Ross
4a9ed9e8ab Update translations 2024-11-16 13:07:43 +02:00
Ilia Ross
a955ccc55c Update Polish translations (Package Updates) 2024-11-16 13:07:05 +02:00
Ilia Ross
ad43838cb6 Update Polish translations (ACL) 2024-11-16 13:05:44 +02:00
Ilia Ross
fbf85c6e76 Update Polish translations (Read User Mail) 2024-11-16 13:03:22 +02:00
Ilia Ross
c7eb185639 Update Polish translations (Disk and Network Filesystems) 2024-11-16 12:57:25 +02:00
Ilia Ross
eab8fae651 Update Polish translations (System Logs) 2024-11-16 12:49:26 +02:00
Ilia Ross
a5be6dc02a Update Polish translations (File Manager) 2024-11-16 12:41:01 +02:00
Jamie Cameron
0d72f56620 Merge pull request #2314 from MacSteini/master
Updated de
2024-11-13 17:14:45 -08:00
MacSteini
9a797f0a0e Updated de 2024-11-14 01:10:28 +00:00
Jamie Cameron
8fc26680dc Code cleanups 2024-11-13 16:56:11 -08:00
Jamie Cameron
7828756ed2 Merge branch 'master' of github.com:webmin/webmin 2024-11-13 09:26:17 -08:00
Jamie Cameron
4d8cc424f4 Fix inet_protocols field 2024-11-12 21:29:12 -08:00
Ilia Ross
591dda7199 Fix to remove deprecated call
[build]
2024-11-12 04:05:37 +02:00
Ilia Ross
54a72c5025 Fix comment 2024-11-12 03:56:19 +02:00
Ilia Ross
816328b643 Add an attempt to get disk IOs
https://github.com/webmin/webmin/issues/2311#issuecomment-2469338370

[build]
2024-11-12 03:51:47 +02:00
Ilia Ross
1fb332ff05 Fix to support network I/O on macOS 2024-11-12 01:48:26 +02:00
Ilia Ross
1c991f9635 Add check if some IOs related functions supported 2024-11-12 01:05:19 +02:00
Ilia Ross
c7a709c837 Add support for displaying CPU and disk data on the latest macOS #2311 2024-11-11 23:48:18 +02:00
Ilia Ross
950122068d Fix to support new brand_string in macOS #2311 2024-11-11 16:09:43 +02:00
Ilia Ross
e7d8f7271a Fix to use the same terminology and colors we use in dashboard 2024-11-10 22:19:00 +02:00
Ilia Ross
5dbefb1d42 Fix to clarify language 2024-11-10 21:35:07 +02:00
Ilia Ross
f152dafc3f Fix to consider filter form only of hours been generated 2024-11-10 21:33:29 +02:00
Ilia Ross
78eb57f55c Fix to print nicer alerts 2024-11-10 21:07:33 +02:00
Jamie Cameron
c91b322c60 Turn off autorenew for all webmin-generated certs, because we handle renewal internally https://github.com/virtualmin/virtualmin-gpl/issues/956 2024-11-09 21:17:45 -08:00
Jamie Cameron
be52cadfbe Add field for sql_mode https://github.com/webmin/webmin/issues/2306 2024-11-08 16:29:35 -08:00
Jamie Cameron
699c0820ea Debian has multiple CA paths 2024-11-08 15:18:51 -08:00
Jamie Cameron
444307c58a There could be multiple CA paths 2024-11-08 15:16:40 -08:00
Jamie Cameron
8dd0d03018 Remove ancient config that's specific to the long-gone MSC linux 2024-11-07 21:38:11 -08:00
Jamie Cameron
e2bc898b57 Add button to restart mysql https://github.com/webmin/webmin/issues/2309 2024-11-07 21:31:47 -08:00
Jamie Cameron
d826b3423f Add 'all' option for protocols 2024-11-03 13:06:30 -08:00
Jamie Cameron
70344dea10 Add more SMTP client options https://github.com/webmin/webmin/issues/2302 2024-11-01 21:14:24 -07:00
Jamie Cameron
33b2ebecfa Add field for inet_protocols https://github.com/webmin/webmin/issues/2302 2024-11-01 21:07:14 -07:00
Jamie Cameron
c26d653f5b QR code URL is different in Usermin https://github.com/webmin/usermin/issues/116 2024-10-30 21:19:41 -07:00
Jamie Cameron
db7c8b8770 Move QR code generation into library that is shared with Usermin https://github.com/webmin/usermin/issues/116 2024-10-30 21:15:04 -07:00
Jamie Cameron
6d6dd87d38 No need to show anything when flushing queue https://github.com/webmin/webmin/issues/2303 2024-10-30 21:11:07 -07:00
Jamie Cameron
580149f8bd Merge branch 'master' of github.com:webmin/webmin 2024-10-30 16:19:36 -07:00
Jamie Cameron
ee8d72b2e4 Fix wording so that users don't expect to see results https://github.com/webmin/webmin/issues/2303 2024-10-30 16:19:06 -07:00
Ilia Ross
a8a382ecc3 An attempt to address TOTP naming confusion 2024-10-24 01:43:33 +03:00
Ilia Ross
33afba1686 Fix to set default last to 1000
https://forum.virtualmin.com/t/is-this-process-normal-or-should-i-worry/128835/32?u=ilia
2024-10-23 01:29:23 +03:00
Ilia Ross
e43df47e41 Fix to set default last to 10000
https://forum.virtualmin.com/t/is-this-process-normal-or-should-i-worry/128835/32?u=ilia
2024-10-23 01:21:46 +03:00
Ilia Ross
1d57955672 Fix to call last command for the given user if no lastlog available 2024-10-22 19:19:47 +03:00
Jamie Cameron
42c4a39510 Allow input type to be specified in ui_opt_textbox 2024-10-21 16:35:48 -07:00
Jamie Cameron
adb047dd11 Clean up PID-based lock dir 2024-10-21 16:29:49 -07:00
Jamie Cameron
19edf0efd9 SPF record parts aren't space separate https://github.com/virtualmin/virtualmin-gpl/issues/935 2024-10-21 16:06:28 -07:00
Jamie Cameron
8f7a2f818f Merge branch 'master' of github.com:webmin/webmin 2024-10-20 20:12:39 -07:00
Jamie Cameron
ce70d4caab Fix inconsistency in locked_file_link 2024-10-20 18:05:11 -07:00
Ilia Ross
65d185bfdf Update translations 2024-10-20 16:17:42 +03:00
Ilia Ross
eb2cd4e142 Fix to display more accurate heading 2024-10-20 16:16:38 +03:00
Ilia Ross
21e110cc8a Fix to bring back support for limit in last command
https://forum.virtualmin.com/t/is-this-process-normal-or-should-i-worry/128835/10?u=ilia
2024-10-20 15:59:41 +03:00
Jamie Cameron
c1196f744a Clean up lock link on unlock https://forum.virtualmin.com/t/lock-files-building-up-in-var-webmin-locks/129859 2024-10-19 19:41:33 -07:00
Jamie Cameron
f9c355d127 Merge branch 'master' of github.com:webmin/webmin 2024-10-18 15:34:15 -07:00
Jamie Cameron
4ef76b2ed9 Make sure temporary lock link files are deleted https://forum.virtualmin.com/t/lock-files-building-up-in-var-webmin-locks/129859 2024-10-18 15:33:54 -07:00
Ilia Ross
072771f524 Add missing comment 2024-10-18 11:50:39 +03:00
Jamie Cameron
05382d840d fs has to be outside the command 2024-10-17 16:47:06 -07:00
Jamie Cameron
22beff5e92 Add missing . 2024-10-17 16:31:24 -07:00
Jamie Cameron
5ff7190f06 Do proper quoting for XFS commands 2024-10-17 15:18:30 -07:00
Jamie Cameron
66bf7c9e28 Merge branch 'master' of github.com:webmin/webmin 2024-10-16 19:47:36 -07:00
Jamie Cameron
06fe239c3f Add debug mode 2024-10-16 19:47:28 -07:00
Ilia Ross
00f11fc81d Fix to quote usernames in xfs_quota command
https://forum.virtualmin.com/t/issue-regarding-with-restore/129843/4?u=ilia
2024-10-16 12:28:39 +03:00
Ilia Ross
643270f3d9 Add old actual file names for backward compatibility #2296 2024-10-16 00:28:46 +03:00
Ilia Ross
262a1cb531 Update repos setup script name #2296 2024-10-16 00:22:11 +03:00
Ilia Ross
cef6f833fb Add missing my [build] 2024-10-16 00:15:43 +03:00
Jamie Cameron
084ed0b835 Default to using the default 2024-10-14 20:58:28 -07:00
Jamie Cameron
5182e4a428 Default to global notification address 2024-10-14 20:44:28 -07:00
Jamie Cameron
086f366954 Add UI field to use the global notify address, and respect it 2024-10-14 20:32:07 -07:00
Jamie Cameron
7476d48ab7 Use global to address as the default 2024-10-14 20:16:00 -07:00
Jamie Cameron
5992c7ba51 Respect global to address if set 2024-10-13 19:36:37 -07:00
Jamie Cameron
cc0ab1bc8a Respect global default destination address if set 2024-10-13 19:20:39 -07:00
Jamie Cameron
d1cc0c4790 Default to address should be in global config 2024-10-13 19:01:27 -07:00
Jamie Cameron
720b01e690 Remove old formatting HTML 2024-10-13 18:54:30 -07:00
Jamie Cameron
552d909078 Add field for default notification address 2024-10-13 18:51:29 -07:00
Jamie Cameron
1633f275db Make text boxes bigger 2024-10-13 11:40:39 -07:00
Jamie Cameron
c3bb0b09c2 Use commas to separate dissable functions https://github.com/virtualmin/virtualmin-gpl/issues/753 2024-10-13 10:11:30 -07:00
Jamie Cameron
38136888b3 Add a page for select functions to disable https://github.com/virtualmin/virtualmin-gpl/issues/753 2024-10-12 22:06:09 -07:00
Jamie Cameron
216ae24206 Merge branch 'master' of github.com:webmin/webmin 2024-10-12 12:57:29 -07:00
Jamie Cameron
f5b76f5b77 Show current hashed password if there is one 2024-10-12 12:01:39 -07:00
Ilia Ross
2ad935f672 Merge pull request #2294 from MacSteini/master
Updated de
2024-10-08 03:44:08 +03:00
MacSteini
b5ef94d12c Updated de 2024-10-08 00:57:49 +01:00
Ilia Ross
0844abc63d Merge pull request #2293 from MacSteini/master
Corrected typo
2024-10-07 19:56:21 +03:00
Ilia Ross
63a81ef70f Fix to use the correct key name in other language files 2024-10-07 19:55:31 +03:00
MacSteini
76c41b8508 Corrected typo 2024-10-07 16:48:47 +01:00
Ilia Ross
5077349364 Merge pull request #2292 from MacSteini/master
Updated de and possible typo
2024-10-07 18:35:46 +03:00
MacSteini
47e26c4fde Updated de 2024-10-07 16:02:41 +01:00
MacSteini
a0da37ca08 Updated de 2024-10-07 15:08:23 +01:00
MacSteini
21dbdcc983 Merge branch 'master' of https://github.com/MacSteini/webmin 2024-10-07 13:20:19 +01:00
MacSteini
b66aab704d Updated de 2024-10-07 13:20:01 +01:00
MacSteini
84b559646c Merge branch 'webmin:master' into master 2024-10-07 13:01:32 +01:00
MacSteini
f3f232b7f5 Updated de 2024-10-07 12:59:12 +01:00
MacSteini
c5543500b4 Typo?
Is this supposed to be mfwizard_pgroup_name_error or smfwizard_pgroup_name_error?
2024-10-07 12:59:02 +01:00
Jamie Cameron
687225075d Merge pull request #2291 from MacSteini/master
Updated de
2024-10-02 20:42:52 -07:00
MacSteini
7c2a993629 Merge branch 'webmin:master' into master 2024-10-03 04:14:39 +01:00
MacSteini
4775d07c8f Updated de 2024-10-03 04:11:15 +01:00
Jamie Cameron
1bee0a007d Fix indefinite article https://github.com/webmin/webmin/issues/2289 2024-09-30 10:25:11 -07:00
Jamie Cameron
11ad8d48e6 Use formal params 2024-09-29 13:43:56 -07:00
Jamie Cameron
c61b52afc9 support clones of modules that have their own monitoes 2024-09-29 13:43:32 -07:00
Jamie Cameron
3ea7b57ca2 Use formal params 2024-09-28 21:40:52 -07:00
Jamie Cameron
c75f29d011 Don't show clones because they are handled inside the monitor 2024-09-28 21:34:20 -07:00
Jamie Cameron
8b726abdad Use proper API to get clones 2024-09-28 21:27:40 -07:00
Jamie Cameron
bc820a5148 Instead of passing a param to check_reboot_required that causes it to return 0, just don't call it 2024-09-28 15:13:24 -07:00
Jamie Cameron
65e70835d2 Add a status monitor to check if a reboot is required 2024-09-28 15:10:01 -07:00
Jamie Cameron
37075fc1ec Code cleanups 2024-09-28 10:16:47 -07:00
Jamie Cameron
cda9b9553f Merge branch 'master' of github.com:webmin/webmin 2024-09-28 10:09:11 -07:00
Jamie Cameron
ce27473110 VirtIO disks aren't IDE 2024-09-28 10:08:43 -07:00
Ilia Ross
ef09c6cef0 Update translations 2024-09-27 22:34:48 +03:00
Ilia Ross
d97bbfff0f Fix language strings to be consistent 2024-09-27 22:34:28 +03:00
Ilia Ross
5419079e8b Fix to print message when refreshing packages https://github.com/virtualmin/virtualmin-gpl/issues/909 2024-09-27 22:28:23 +03:00
Jamie Cameron
6cbbeebb56 Properly select folder, and make sure it exists 2024-09-19 20:24:00 -07:00
Ilia Ross
b7981f9024 Fix query string #2285 2024-09-19 14:41:06 +03:00
Ilia Ross
c199cffb3d Fix to account for paragraphs that don't end with a new line
https://github.com/webmin/webmin/pull/2284#discussion_r1764346284
2024-09-18 13:03:20 +03:00
Ilia Ross
a1ab757d66 Fix to remove commented out line 2024-09-18 12:50:22 +03:00
Jamie Cameron
cf876900cf Merge branch 'master' of github.com:webmin/webmin 2024-09-17 22:32:12 -07:00
Jamie Cameron
289b61f91e ui-lib conversion 2024-09-17 22:31:58 -07:00
Ilia Ross
89300de664 Add support for listing deb822-style repos
https://forum.virtualmin.com/t/package-repositories-empty-ubuntu-24-04/129152/12?u=ilia
2024-09-16 20:55:43 +03:00
Ilia Ross
19009cd155 Update translations 2024-09-16 15:40:38 +03:00
Jamie Cameron
d1ec3910d2 Rename Google Authenticator to just TOTP 2024-09-15 20:46:55 -07:00
Jamie Cameron
7cd747d82f Stop trusting remote client IP address for logging unless it's enabled 2024-09-15 19:24:32 -07:00
Jamie Cameron
ccd7b4b7d5 TTL and generator records don't have a value https://forum.virtualmin.com/t/migration-to-new-server/129151/2 2024-09-15 17:07:20 -07:00
Jamie Cameron
8dff80e2cb Merge branch 'master' of github.com:webmin/webmin 2024-09-14 20:10:04 -07:00
Jamie Cameron
14d5182b9e Support multi-line mappings https://github.com/webmin/webmin/issues/2279 2024-09-14 20:08:23 -07:00
Ilia Ross
b44ca28634 Merge pull request #2283 from leangjia/master
Updated Chinese translations
2024-09-12 12:10:43 +03:00
leangjia
564f4a9b47 Updated Chinese translations 2024-09-12 15:50:58 +08:00
liAnGjiA
4d739ea832 Merge branch 'webmin:master' into master 2024-09-12 15:13:13 +08:00
leangjia
8df7958dfb Updated Chinese translations 2024-09-12 15:12:18 +08:00
Jamie Cameron
5463547e7a Update version collected in the module lib, rather than from the UI 2024-09-11 22:08:42 -07:00
Jamie Cameron
7cfa552ff4 Merge branch 'master' of github.com:webmin/webmin 2024-09-11 21:55:29 -07:00
Jamie Cameron
944f1a020d Use formal param 2024-09-11 21:55:23 -07:00
Ilia Ross
f6fa766746 Merge pull request #2281 from leangjia/master
Updated Chinese translations
2024-09-11 18:22:38 +03:00
leangjia
68fc90d2db Updated Chinese translations.
Happy Mid-autumn Festival.
2024-09-11 15:47:22 +08:00
leangjia
0c408cf7e7 Updated Chinese translations.
Happy Mid-autumn Festival.
2024-09-11 14:27:37 +08:00
leangjia
9409051046 Updated Chinese translations.
Happy Mid-autumn Festival.
2024-09-11 13:57:09 +08:00
leangjia
54e559452f Updated Chinese translations.
Happy Mid-autumn Festival.
2024-09-11 13:48:42 +08:00
leangjia
d905f72cd7 Updated Chinese translations.
Happy Mid-autumn Festival.
2024-09-11 13:32:34 +08:00
leangjia
44521d8d60 Updated Chinese translations.
Happy Mid-autumn Festival.
2024-09-11 13:16:21 +08:00
leangjia
8dd6b6c44d Updated Chinese translations.
Happy Mid-autumn Festival.
2024-09-11 12:52:58 +08:00
leangjia
6257679e44 Updated Chinese translations.
Happy Mid-autumn Festival.
2024-09-11 12:41:05 +08:00
leangjia
6a9849ba2d Updated Chinese translations 2024-09-11 09:52:17 +08:00
leangjia
e1f398d3aa Updated Chinese translations 2024-09-11 09:32:55 +08:00
Ilia Ross
e3acac1ebf Merge pull request #2280 from leangjia/master
Updated Chinese translations
2024-09-10 11:56:15 +03:00
leangjia
a2a1dc12e9 Updated Chinese translations 2024-09-10 16:34:23 +08:00
leangjia
ac967a1fc5 Updated Chinese translations 2024-09-10 16:27:09 +08:00
leangjia
4b14aee655 Merge branch 'master' of https://github.com/leangjia/webmin 2024-09-10 16:14:36 +08:00
leangjia
e4672703e8 Updated Chinese translations 2024-09-10 16:14:25 +08:00
Ilia Ross
147afb9d41 Merge pull request #2278 from MacSteini/master
Update de
2024-09-09 19:27:45 +03:00
MacSteini
c14b3a8e08 Merge branch 'webmin:master' into master 2024-09-09 14:43:01 +01:00
MacSteini
e3112ac41f Update de 2024-09-09 14:41:28 +01:00
Jamie Cameron
cb2be8b8d8 Merge branch 'master' of github.com:webmin/webmin 2024-09-08 15:42:19 -07:00
Jamie Cameron
11b4a8ca54 Just lock the zone file instead of the whole domain, to prevent deadlocks when called from Virtualmin 2024-09-08 15:39:06 -07:00
Ilia Ross
e7f7487930 Merge pull request #2276 from MacSteini/master
Updated de
2024-09-07 19:31:16 +03:00
Ilia Ross
36e2359312 Disable mail counting by default, as the index page won't load at all with a large number of emails in the mailboxes 2024-09-07 19:24:10 +03:00
MacSteini
54793b4596 Update de 2024-09-07 16:32:17 +01:00
Ilia Ross
65f349c1ce Fix to increase the number of default cron jobs to display 2024-09-07 18:28:11 +03:00
MacSteini
992a961590 Update de 2024-09-07 15:59:59 +01:00
MacSteini
f87cc4a121 Update de 2024-09-07 15:43:38 +01:00
MacSteini
261ff535e0 Updated de 2024-09-07 12:46:38 +01:00
MacSteini
e8c1b3dedb Merge branch 'webmin:master' into master 2024-09-07 03:13:32 +01:00
Jamie Cameron
1f6697e05f NSEC3PARAM salt can be - https://github.com/virtualmin/virtualmin-gpl/issues/895 2024-09-06 19:00:42 -07:00
MacSteini
03147121c6 Update de
Minor fix to replace an English phrase with the German equivalent
2024-09-07 02:23:52 +01:00
Jamie Cameron
4b3acba3f8 Merge branch 'master' of github.com:webmin/webmin 2024-09-06 16:15:35 -07:00
Jamie Cameron
38b119ac43 Fix error message for salt field https://github.com/virtualmin/virtualmin-gpl/issues/895 2024-09-06 16:15:27 -07:00
Ilia Ross
ae70f5e4bd Merge pull request #2275 from MacSteini/master
Update de
2024-09-06 18:25:32 +03:00
MacSteini
d3f8859df2 German translation files reviewed and updated 2024-09-06 15:22:42 +01:00
MacSteini
6145783116 Update de
Corrected an unusual way of writing a date
2024-09-06 14:22:09 +01:00
Ilia Ross
5ba6cbe9ab Merge pull request #2274 from MacSteini/master
Updated de and removed de.auto
2024-09-06 16:05:09 +03:00
MacSteini
d55d49e4d0 Update de
Replaced fancy with straight quotes
2024-09-06 12:31:38 +01:00
MacSteini
7bad42f217 Updated de
Reviewed and corrected where applicable. Adapted translation based on the newer changes in EN file
2024-09-06 12:10:17 +01:00
MacSteini
d7b2a41040 Update de 2024-09-06 11:31:38 +01:00
MacSteini
5c723544fe Delete at/lang/de.auto 2024-09-06 11:31:13 +01:00
Ilia Ross
b0e3787461 Merge pull request #2272 from MacSteini/master
Updated German language files
2024-09-06 13:27:16 +03:00
MacSteini
a415a743f6 Merge remote-tracking branch 'upstream/master' 2024-09-06 11:19:03 +01:00
Ilia Ross
4e351b32fb Fix to stress out command name 2024-09-06 12:49:33 +03:00
MacSteini
a326c0939d Update en
Reverted back to its original state.
2024-09-06 10:38:49 +01:00
MacSteini
295318f67f Update en
Reverted back to its original state
2024-09-06 10:26:11 +01:00
MacSteini
3c86a1a158 Update en
Reverted back to its original state
2024-09-06 10:25:02 +01:00
Ilia Ross
33192cc0d9 Merge pull request #2273 from leangjia/master
Updated Chinese translations
2024-09-06 11:56:35 +03:00
Ilia Ross
da20f7c88f Update at module language 2024-09-06 11:48:05 +03:00
Jamie Cameron
d81bf3f569 Stop offering to allow editing of PHP FPM config files, as PHP options cannot be set at the global level https://forum.virtualmin.com/t/urgent-php-fpm-crashes/129009 2024-09-05 22:25:28 -07:00
leangjia
01663dfe25 Updated Chinese translations 2024-09-06 10:11:25 +08:00
MacSteini
bc10564706 Update de 2024-09-06 00:18:26 +01:00
MacSteini
f10998e2b7 Update en
Prefixed double dots with a space as you explained in another PR.
2024-09-06 00:11:32 +01:00
MacSteini
639d558a47 Delete bandwidth/lang/de.auto 2024-09-06 00:00:15 +01:00
MacSteini
edc41bf338 Update de 2024-09-05 23:58:52 +01:00
MacSteini
b9f3152827 Delete passwd/lang/de.auto 2024-09-05 23:53:04 +01:00
MacSteini
04bcccdc43 Update de 2024-09-05 23:50:09 +01:00
MacSteini
f1f4d9b719 Delete webmincron/lang/de.auto 2024-09-05 23:47:27 +01:00
MacSteini
a45964f55e Delete webminlog/lang/de.auto 2024-09-05 23:45:08 +01:00
MacSteini
23def8deb5 Update de 2024-09-05 23:44:30 +01:00
MacSteini
2ba7e4b071 Delete apache/lang/de.auto 2024-09-05 23:20:06 +01:00
MacSteini
33b4223183 Update de 2024-09-05 23:19:56 +01:00
MacSteini
9607c3cae7 Update de 2024-09-05 23:18:27 +01:00
MacSteini
782f0fbedd Update en 2024-09-05 23:07:51 +01:00
MacSteini
7f659978ac Update de 2024-09-05 22:51:25 +01:00
MacSteini
768b586144 Update en
Corrected line 56 - it was the only place where “At” was mentioned.
2024-09-05 22:48:29 +01:00
MacSteini
167d73090e Delete at/lang/de.auto 2024-09-05 22:47:43 +01:00
MacSteini
951dffc3a3 Update de 2024-09-05 22:47:14 +01:00
Jamie Cameron
a5a97eaedb Merge branch 'master' of github.com:webmin/webmin 2024-09-05 11:32:59 -07:00
Jamie Cameron
6b2a9d34bf Use correct state flag during initial rule setup https://github.com/webmin/webmin/issues/2264 2024-09-05 11:31:52 -07:00
MacSteini
b5f79d31a6 Update de 2024-09-05 15:49:09 +01:00
MacSteini
1d272f0490 Delete lang/de.auto 2024-09-05 15:27:47 +01:00
Ilia Ross
b5f2e8f47f Merge pull request #2266 from MacSteini/master
Reviewed and amended German translations
2024-09-05 17:24:56 +03:00
MacSteini
d650d65163 Update de 2024-09-05 15:03:58 +01:00
MacSteini
0389c537be Update de 2024-09-05 12:34:17 +01:00
Ilia Ross
530db71e3f Merge pull request #2271 from leangjia/master
Updated Chinese translations
2024-09-05 12:39:03 +03:00
leangjia
2ad13ccd74 Updated Chinese translations 2024-09-05 17:36:55 +08:00
Ilia Ross
3a90c0e4fe Merge pull request #2270 from leangjia/master
Updated Chinese translations
2024-09-05 12:21:57 +03:00
leangjia
75095eab06 Updated Chinese translations 2024-09-05 17:16:57 +08:00
Ilia Ross
8f2338e1a7 Merge pull request #2269 from leangjia/master
Updated Chinese translations
2024-09-05 11:28:47 +03:00
leangjia
60345c4d8e Updated Chinese translations 2024-09-05 11:17:18 +08:00
Jamie Cameron
b648a21323 Merge pull request #2268 from leangjia/master
Updated Chinese translations
2024-09-03 21:24:34 -07:00
leangjia
d59837dbad Updated Chinese translations 2024-09-04 12:06:27 +08:00
MacSteini
e60e24f1ee Update de 2024-09-03 23:30:35 +01:00
MacSteini
c861bf971e Update de 2024-09-03 14:25:36 +01:00
MacSteini
8bc8c017e6 Update de 2024-09-03 14:20:58 +01:00
Ilia Ross
87bacd1489 Merge pull request #2265 from leangjia/master
Updated Chinese translations
2024-09-03 14:05:53 +03:00
MacSteini
5fae4a69ee Update de 2024-09-03 11:40:07 +01:00
leangjia
1764671ac7 Delete the zh.auto 2024-09-03 18:18:44 +08:00
MacSteini
7f1faaac4d Merged with de 2024-09-03 11:07:34 +01:00
MacSteini
91111d5e82 Update de 2024-09-03 11:06:48 +01:00
leangjia
39a3ebac3b Updated Chinese translations gray-theme zh. 2024-09-03 17:59:12 +08:00
MacSteini
60b87f3b34 Update de 2024-09-03 10:40:29 +01:00
leangjia
758e277328 Updated Chinese translations system-status/lang/zh 2024-09-03 17:35:48 +08:00
leangjia
d02615c0ab Updated Chinese translations filemin lang zh. 2024-09-03 14:14:05 +08:00
liAnGjiA
6051231e73 Merge branch 'webmin:master' into master 2024-09-03 13:18:27 +08:00
leangjia
d80a394d77 Updated Chinese translations acl lang zh. 2024-09-03 13:16:01 +08:00
Ilia Ross
9f64dbd134 Update Swedish translations 2024-09-02 23:58:22 +03:00
Ilia Ross
85e3dc418a Update translations 2024-09-02 23:50:58 +03:00
Jamie Cameron
c607990c48 HTML escape description in services list 2024-09-02 10:14:04 -07:00
Jamie Cameron
c76e257961 Merge branch 'master' of github.com:webmin/webmin 2024-09-02 10:13:27 -07:00
Jamie Cameron
0009335636 HTML escape description in actions list 2024-09-02 10:13:19 -07:00
Ilia Ross
964bc33ed0 Merge pull request #2263 from leangjia/master
Updated Chinese translations change-user lang zh.
2024-09-02 14:19:08 +03:00
leangjia
75087357b0 perfect change-user lang zh. 2024-09-02 16:23:53 +08:00
Jamie Cameron
c0a45fe6ca Merge branch 'master' of github.com:webmin/webmin 2024-08-30 22:12:40 -07:00
Jamie Cameron
da5c68a04f Add ACL option to set the allowed user based on the directory being accessed 2024-08-30 22:10:52 -07:00
Ilia Ross
9966a2ab47 Fix to support source repos
https://forum.virtualmin.com/t/software-package-repos-displaying-duplicates/128831?u=ilia
2024-08-29 15:51:08 +03:00
Jamie Cameron
cffabd972b Fix version selector 2024-08-28 18:00:36 -07:00
Ilia Ross
b2e0db9db9 Add support to apply the patch from the raw link
https://forum.virtualmin.com/t/re-moving-sites-from-directadmin-to-virtualmin/128503/33?u=ilia
2024-08-28 15:20:20 +03:00
Jamie Cameron
d2d070b721 Merge branch 'master' of github.com:webmin/webmin 2024-08-27 21:11:41 -07:00
Jamie Cameron
0939e55b01 Include version of package to get from debian https://github.com/webmin/webmin/issues/2261 2024-08-27 21:11:35 -07:00
Ilia Ross
2259c1a72a Fix language 2024-08-26 15:41:22 +03:00
Ilia Ross
26fc396421 Fix to print in dashboard only allowed fields
https://forum.virtualmin.com/t/obscuring-account-information/128735?u=ilia
2024-08-26 14:46:47 +03:00
Ilia Ross
69823048d2 Fix matching Debian repos
https://forum.virtualmin.com/t/repos-in-virtualmin/128745/3?u=ilia
2024-08-25 21:44:40 +03:00
Ilia Ross
5e57e571b3 Fix the default notification email is set as non-replyable 2024-08-24 19:35:33 +03:00
Jamie Cameron
6e3fb4d806 Merge branch 'master' of github.com:webmin/webmin 2024-08-23 21:36:42 -07:00
Jamie Cameron
f8ce246b37 If there is a password change CGI setup, rate limit how often it can be called to prevent brute-force guessing attacks 2024-08-23 21:36:34 -07:00
Ilia Ross
d45e317303 Merge pull request #2258 from MacSteini/master
Updated German translations
2024-08-23 14:59:51 +03:00
MacSteini
90c0ec556f Update de
Reviewed and merged with de.auto
2024-08-23 11:40:03 +01:00
MacSteini
d65460d50e Update de.auto
Reviewed and merged with de
2024-08-23 10:35:06 +01:00
MacSteini
c757f90f7c Update en
Corrected typos
2024-08-23 10:21:40 +01:00
MacSteini
c34c1b5b6e Update de
Reviewed and merged with de.auto
2024-08-23 10:20:51 +01:00
MacSteini
d553327a11 Update de.auto
Reviewed and moved translations into de
2024-08-23 09:46:35 +01:00
Ilia Ross
6db78a06b8 Fix to implement a fix that allows the root user to lock itself out
125cc7b418 (r145623195)
2024-08-22 01:11:04 +03:00
Ilia Ross
b54f1780c6 Fix not to allow locking only for local root account 2024-08-21 23:16:32 +03:00
Jamie Cameron
d2b2727039 Also update serial in SOA object https://forum.virtualmin.com/t/issue-with-dns-zone-serial-not-updating-in-virtualmin-cloudmin-setup/128622 2024-08-20 22:08:25 -07:00
Jamie Cameron
464a553534 Simplify ppermission mappings 2024-08-20 21:32:33 -07:00
Jamie Cameron
ddbd770dda Add field for setting plugin 2024-08-20 21:28:39 -07:00
Jamie Cameron
6bf6553ff0 Formatting cleanup 2024-08-20 20:39:02 -07:00
Jamie Cameron
01299c0c38 Merge branch 'master' of github.com:webmin/webmin 2024-08-20 10:56:40 -07:00
Jamie Cameron
b71ac3b9a0 Slave zones can now be called secondary https://github.com/webmin/webmin/issues/2257 2024-08-20 10:55:47 -07:00
Ilia Ross
3c347dc92f Merge pull request #2256 from MacSteini/master
Updated German Translation
2024-08-20 17:35:24 +03:00
MacSteini
0860344fd1 Updated de 2024-08-20 14:41:19 +01:00
MacSteini
801fa703bf Moved translations into de 2024-08-20 14:40:36 +01:00
MacSteini
049a8072b8 Update de.auto 2024-08-20 14:26:40 +01:00
Ilia Ross
9e410f45ca Fix lines to fit 80 chars 2024-08-19 15:50:48 +03:00
Ilia Ross
d541abc7f4 Fix to optimize previous code reducing redundancy (no logical changes) 2024-08-19 15:47:59 +03:00
Ilia Ross
e9eda1ddc4 Add ability to write file directly to disk #2254 2024-08-19 05:12:55 +03:00
Ilia Ross
b5b2c3cd6e Fix to correctly test if account lock is supported 2024-08-15 14:23:22 +03:00
Ilia Ross
86e12bd485 Fix to simplify if no password set 2024-08-15 14:22:34 +03:00
Ilia Ross
cbe75574d0 Fix to use the same format when comparing versions 2024-08-15 13:49:24 +03:00
Ilia Ross
cf838e5d9a Fix to test if reuse flags are supported
https://github.com/webmin/webmin/issues/2135#issuecomment-2290975157
2024-08-15 13:48:42 +03:00
Ilia Ross
6cdb1df135 Fix to simplify account lock check
f61c7bd773 (r145408919)
2024-08-15 13:30:32 +03:00
Jamie Cameron
ffc7dac5f1 Plugin needs a with prefix when used in SQL 2024-08-15 03:25:06 -07:00
Jamie Cameron
66ad3fe075 Merge branch 'master' of github.com:webmin/webmin 2024-08-14 03:09:30 -07:00
Jamie Cameron
0b83f310e6 Work on being able to specify plugin 2024-08-14 03:09:21 -07:00
Jamie Cameron
efccfc4db6 Use the same message for wrong user and password 2024-08-14 03:08:26 -07:00
Ilia Ross
c642286a5a Fix to optimize code 2024-08-13 22:57:43 +03:00
Ilia Ross
e8ed462b8c Fix to support replication perms 2024-08-13 22:31:32 +03:00
Ilia Ross
9cecabf781 Add ability to display permissions intelligently 2024-08-13 22:25:17 +03:00
Jamie Cameron
7198370f9b Recommend the perl mysql driver modules 2024-08-12 18:52:39 -07:00
Jamie Cameron
930652699b Merge branch 'master' of github.com:webmin/webmin 2024-08-12 17:38:30 -07:00
Jamie Cameron
c3c7e3ea9e recommend the MySQL DBD and DBI modules https://github.com/webmin/webmin/issues/2253 2024-08-12 17:35:14 -07:00
Jamie Cameron
53f44413f8 remove obsolete comment 2024-08-12 17:49:50 +08:00
Ilia Ross
25321b467b Update changelog 2024-08-11 21:10:43 +03:00
Ilia Ross
dc17b3cbe5 Fix changelog 2024-08-11 21:06:19 +03:00
Ilia Ross
a4621a800b Fix changelog 2024-08-11 21:01:33 +03:00
Jamie Cameron
97308e69aa changelog update 2024-08-11 07:42:09 -07:00
Jamie Cameron
86144e16f7 New version bump 2024-08-11 07:41:05 -07:00
Jamie Cameron
b18b9decd4 Fix schema page description 2024-08-11 03:48:02 -07:00
Jamie Cameron
90cd81893e Fix bugs in LDAP import 2024-08-11 03:42:06 -07:00
Jamie Cameron
9d7c3fdd9a Work on schema import support 2024-08-11 03:27:04 -07:00
Jamie Cameron
c0e36426bd Remove useless fixed spacing 2024-08-11 02:50:23 -07:00
Jamie Cameron
9dd678946d Use proper function to check status 2024-08-08 19:25:14 -07:00
Jamie Cameron
d440ba7f58 Let the user know why no rules are down 2024-08-08 19:24:10 -07:00
Jamie Cameron
090a769145 Use proper function 2024-08-08 19:21:34 -07:00
Jamie Cameron
bcec22b385 Merge branch 'master' of github.com:webmin/webmin 2024-08-08 19:20:43 -07:00
Jamie Cameron
dbfc621482 Add a monitor for firewalld https://github.com/virtualmin/virtualmin-gpl/issues/870 2024-08-08 19:16:00 -07:00
Ilia Ross
6bc70a7738 Add support for disk I/O in FreeBSD 2024-08-07 15:28:58 +03:00
Ilia Ross
f5b3f9cc1d Fix to use os_type for OS check
0ac51a83e9 (r145024453)
2024-08-06 12:21:19 +03:00
Ilia Ross
24055330d3 Fix build system 2024-08-04 17:03:41 +03:00
Ilia Ross
0ac51a83e9 Add an API to count processes 2024-08-03 17:05:56 +03:00
Ilia Ross
e517300fe0 Fix to display wildcard char next to dbs https://github.com/virtualmin/virtualmin-gpl/issues/723#issuecomment-2263713657 2024-08-02 15:22:21 +03:00
Ilia Ross
ae34d0ef86 Fix to unquote database name in view
https://github.com/virtualmin/virtualmin-gpl/issues/723#issuecomment-2262824643
2024-08-01 20:29:40 +03:00
Ilia Ross
8236fb2fd8 Add support to display tag, algo and digests in table #2245 2024-08-01 13:01:30 +03:00
Ilia Ross
f499c62da4 Update CHANGELOG.md 2024-08-01 00:52:57 +03:00
Ilia Ross
a51e3d0a22 Fix BIND service name is now named.service in Debian 12 and Ubuntu 24.04
[build]
2024-08-01 00:34:02 +03:00
Ilia Ross
e1398bf75b Version bump 2.202 2024-07-30 22:13:20 +03:00
Ilia Ross
ba26d2aac0 Merge pull request #2241 from bim-g/update_ui_print_header_documentation
[FIX] Add missing `title` parameter to `ui_print_header` method on the documentation
2024-07-30 05:12:35 +03:00
bim-g
7225ccab73 [FIX] Add missing title parameter to ui_print_header documentation 2024-07-30 01:02:54 +02:00
Ilia Ross
d224d0aafc Fix backup file naming to be consistent with Virtualmin 2024-07-28 23:46:38 +03:00
Ilia Ross
8220fef7e0 Fix to name downloaded backup file nicely #2239
E.g. webmin-backup-config-host.ubuntu24-pro.virtualmin.dev-2024-07-28-20-08.tgz
2024-07-28 20:11:55 +03:00
Jamie Cameron
1a658b1010 If given names are enabled, always add the needed class 2024-07-27 14:53:23 -07:00
Jamie Cameron
4c3b792adc LDAP config file param has moved to the ldap-client module 2024-07-27 14:40:18 -07:00
Jamie Cameron
19940bae86 Base may have a sub-entry for users and groups 2024-07-27 14:26:25 -07:00
Jamie Cameron
256178c6c3 sometimes LDAP connect fails with sigpipe 2024-07-26 21:04:55 -07:00
Jamie Cameron
2a43a870c2 Fix init script name 2024-07-26 19:09:02 -07:00
Jamie Cameron
615765b995 Check status from init script if possible 2024-07-26 19:06:16 -07:00
Jamie Cameron
6f7003965e Merge branch 'master' of github.com:webmin/webmin 2024-07-26 14:56:52 -07:00
Jamie Cameron
d8a7a583a3 Prevent duplication of systemd actions and init scripts https://github.com/webmin/webmin/issues/2227 2024-07-26 14:56:46 -07:00
Jamie Cameron
c51cc8f38a Merge pull request #2234 from webmin/dev/mysql-improve-operations-with-large-dbs
Fix to optimize getting table index structure for large databases
2024-07-26 14:22:58 -07:00
Ilia Ross
5210f623f3 Fix to use prepared statements 2024-07-26 21:11:05 +03:00
Jamie Cameron
ba4b65774e Merge branch 'master' of github.com:webmin/webmin 2024-07-26 10:20:51 -07:00
Jamie Cameron
b1d273c555 BIND 4 is ancient and shouldn't be shown by default https://github.com/webmin/webmin/issues/2232 2024-07-26 10:20:42 -07:00
Ilia Ross
b03f1b766f Fix to optimize getting table index stats for large tables 2024-07-26 19:56:45 +03:00
Ilia Ross
a9ed10401d Update changelog (progress) 2024-07-26 00:55:11 +03:00
Ilia Ross
253d85b6ee Fix setting webprefix for WebSocket URL
https://forum.virtualmin.com/t/after-update-webmin-2-200-cant-view-stat-history/128119/6?u=ilia
2024-07-26 00:41:40 +03:00
Jamie Cameron
0247b71fb7 Show full BIND version https://github.com/webmin/webmin/issues/2226 2024-07-24 14:02:00 -07:00
Jamie Cameron
fd819d83e8 New version bump 2024-07-23 21:58:01 -07:00
Jamie Cameron
8c5fcef916 Fix string for update logging 2024-07-23 21:57:32 -07:00
Jamie Cameron
c15bbca109 Separate comment column https://github.com/webmin/webmin/issues/2221 2024-07-23 21:52:24 -07:00
Jamie Cameron
c47c4b7ffd Merge branch 'master' of github.com:webmin/webmin 2024-07-23 20:12:17 -07:00
Jamie Cameron
8efa25eabf Add missing function 2024-07-23 20:12:06 -07:00
Ilia Ross
190bd58b1b Fix to clarify option name 2024-07-24 03:50:01 +03:00
Ilia Ross
d645dc9345 Update changelog for Webmin 2.201 2024-07-24 03:25:43 +03:00
Ilia Ross
963bb60c02 Fix to go directly to viewing logs on module load 2024-07-24 03:18:31 +03:00
Jamie Cameron
fa4e39ec9a Merge branch 'master' of github.com:webmin/webmin 2024-07-23 17:00:41 -07:00
Jamie Cameron
c1b45ff210 Add option to include compressed rotated logs in searches, and enable it by default, to maintain parity with the old sylog module 2024-07-23 17:00:34 -07:00
Ilia Ross
5cb103bde3 Revert "Fix to call exit after redirect"
This reverts commit e3a1fd849b.
2024-07-24 02:02:14 +03:00
Ilia Ross
7282348b7d Fix to use consistent download page 2024-07-24 00:20:58 +03:00
Ilia Ross
e3a1fd849b Fix to call exit after redirect 2024-07-24 00:20:47 +03:00
Jamie Cameron
1fb01aa46e Fix permissions 2024-07-23 13:50:19 -07:00
Jamie Cameron
779ebb4a63 Fix redirection to first log 2024-07-23 13:50:02 -07:00
Jamie Cameron
c391830670 Fix more cases where switch_to_unix_user isn't being passed the username 2024-07-22 16:48:28 -07:00
Jamie Cameron
c8c6c3e40f Merge branch 'master' of github.com:webmin/webmin 2024-07-22 16:11:41 -07:00
Jamie Cameron
c1f45d6d61 When running a command as a different user, the username needs to be passed to switch_to_unix_user so that all the secondary groups can be populated https://github.com/webmin/webmin/issues/2223 2024-07-22 16:11:37 -07:00
Ilia Ross
8804ba6529 Update CHANGELOG.md 2024-07-22 16:00:56 +03:00
Ilia Ross
11ae39081c Fix to try more simple patch command at first 2024-07-22 14:18:51 +03:00
Jamie Cameron
2751224d4d Really update version 2024-07-21 10:21:20 -07:00
Jamie Cameron
6fce9fa491 New version bump 2024-07-21 10:20:43 -07:00
Jamie Cameron
41fdb5dac2 Fix renumbering when adding a domain 2024-07-20 21:53:49 -07:00
Jamie Cameron
4ffca4597c Clean up group_to_dn function 2024-07-20 21:30:46 -07:00
Jamie Cameron
ecfc06d9c6 Preserve firstname and surname 2024-07-20 21:28:45 -07:00
Jamie Cameron
db55dde7ce Merge branch 'master' of github.com:webmin/webmin 2024-07-20 21:23:16 -07:00
Jamie Cameron
c6edd4b97d Code cleanups 2024-07-20 21:19:01 -07:00
Ilia Ross
8cd2dbae96 Fix to redirect to tabs only inside same module
https://forum.virtualmin.com/t/small-upgrade-error-maybe-wrong-url-on-button/127999?u=ilia
2024-07-21 02:37:32 +03:00
Jamie Cameron
8676a3fb21 Merge branch 'master' of github.com:webmin/webmin 2024-07-20 16:18:25 -07:00
Jamie Cameron
27339eb1bf Use my instead of local 2024-07-20 16:18:16 -07:00
Ilia Ross
e014926854 Update CHANGELOG.md for 2.200 2024-07-21 02:00:01 +03:00
Ilia Ross
a721f60f9c Fix to allow service-worker.js in unauth [build] 2024-07-20 15:57:40 +03:00
Jamie Cameron
46c76e13f9 Merge branch 'master' of github.com:webmin/webmin 2024-07-19 16:52:29 -07:00
Jamie Cameron
f72058306b COnfig option to show hostname and comment https://github.com/webmin/webmin.com/issues/18 2024-07-19 16:52:23 -07:00
Ilia Ross
a15446d3b1 Fix to simplify the code and use no globals [build] 2024-07-19 13:40:14 +03:00
Ilia Ross
fc9ce7f3dd Fix comment 2024-07-19 13:30:01 +03:00
Ilia Ross
72cd50a054 Fix to consider "F" as new theme name "Framed" not "Gray" 2024-07-19 13:13:53 +03:00
Ilia Ross
e307fb4dcd Fix to drop unnecessary option 2024-07-19 12:36:52 +03:00
Jamie Cameron
d631929194 Merge branch 'master' of github.com:webmin/webmin 2024-07-16 16:08:06 -07:00
Jamie Cameron
db9628e7eb Update MIME types for javascript and gzipped files 2024-07-16 16:08:01 -07:00
Jamie Cameron
2c04c04ce7 Merge pull request #2217 from webmin/dev/package-updates-always-show-sec
Fix to always show security updates button
2024-07-16 11:51:16 -07:00
Ilia Ross
a5301245d3 Fix to always show security updates button 2024-07-16 17:38:14 +03:00
Jamie Cameron
165af690c7 Log automatic package updates 2024-07-13 17:07:07 -07:00
Jamie Cameron
29da8ea3d0 Clarify what kind of update it is https://forum.virtualmin.com/t/security-updates-being-auto-installed-regardles-of-software-scheduled-upgrades-set-to-just-notify/127852 2024-07-12 17:22:19 -07:00
Jamie Cameron
73b7e62f13 Merge branch 'master' of github.com:webmin/webmin 2024-07-09 08:30:51 -07:00
Ilia Ross
76141ce22f Fix to use larger QR code [build] 2024-07-09 15:53:18 +03:00
Jamie Cameron
4b575b8168 Clarify comment 2024-07-08 22:55:44 -07:00
Ilia Ross
2b28521297 Fix to display correct return button 2024-07-08 21:03:40 +03:00
Ilia Ross
be767951ca Fix to have no block elements in header 2024-07-08 19:33:52 +03:00
Jamie Cameron
9960d6011f Update comment to match reality 2024-07-07 11:12:47 -07:00
Jamie Cameron
461bd30e2a Save last size and subset mode 2024-07-06 15:26:57 -07:00
Jamie Cameron
2f88a4eefb Follow default reuse option 2024-07-06 15:23:17 -07:00
Jamie Cameron
c9f368d264 Properly check all ServerAlias directives and ports 2024-07-06 15:12:08 -07:00
Jamie Cameron
0e24e8ac61 Merge branch 'master' of github.com:webmin/webmin 2024-07-05 10:32:21 -07:00
Jamie Cameron
1d0d25efac Don't add tab param twice https://sourceforge.net/p/webadmin/bugs/5648/ 2024-07-05 10:01:55 -07:00
Jamie Cameron
1c5d2d2bd7 Merge pull request #2211 from webmin/dev/preserve-file-acls
Add ability to preserve original file ACLs
2024-07-03 15:43:43 -07:00
Ilia Ross
77e809166c Fix to use backquote_command instead 2024-07-03 10:40:20 +03:00
Jamie Cameron
927a2c32d8 Show queue state in list 2024-07-02 21:36:05 -07:00
Jamie Cameron
4a3c6c4854 Merge branch 'master' of github.com:webmin/webmin 2024-07-02 21:21:27 -07:00
Jamie Cameron
37beab77ba Show mail queue directory 2024-07-02 21:21:21 -07:00
Ilia Ross
82f5284ffc Fix to use pipe handling data directly in memory
https://github.com/webmin/webmin/pull/2211#discussion_r1663042881
2024-07-02 22:48:40 +03:00
Ilia Ross
5f579e8ded Fix to invalidate OS EOL data on upgrade 2024-07-02 22:24:09 +03:00
Ilia Ross
4b66ac0be5 Add ability to preserve original file ACLs
https://github.com/webmin/authentic-theme/discussions/1511#discussioncomment-9913902
2024-07-02 20:50:19 +03:00
Jamie Cameron
e69fb75c8e Show the mail queue path 2024-07-01 21:33:22 -07:00
Jamie Cameron
ff8781c112 Merge branch 'master' of github.com:webmin/webmin 2024-07-01 21:15:04 -07:00
Jamie Cameron
0dd75db8d8 Don't wrap header lines 2024-07-01 21:09:17 -07:00
Jamie Cameron
05d01aeef3 Merge pull request #2207 from webmin/dev/patch-api
Add apply patch CLI API
2024-06-30 11:05:00 -07:00
Jamie Cameron
11f2bc20eb Merge branch 'master' of github.com:webmin/webmin 2024-06-30 10:07:08 -07:00
Jamie Cameron
52c3178b92 Add API to delete sections 2024-06-30 10:07:01 -07:00
Jamie Cameron
e3dec2222d Merge pull request #2209 from webmin/dev/separate-temps-collection-2208
Fix to separate drive and CPU temperatures collection #2208
2024-06-30 08:24:26 -07:00
Ilia Ross
05752faec0 Fix to separate drive and CPU temperatures collection #2208 2024-06-30 15:54:47 +03:00
Ilia Ross
7507433bf1 Fix to drop dependency from Term::ANSIColor 2024-06-30 11:41:41 +03:00
Ilia Ross
248cb719c0 Fix restart command depend on config dir 2024-06-29 23:32:15 +03:00
Ilia Ross
94b7fdf0ec Fix to escape params 2024-06-29 23:29:55 +03:00
Ilia Ross
d89f6411b6 Fix to use has_command API 2024-06-29 20:34:29 +03:00
Ilia Ross
01d08a3605 Fix to make patch API work directly from URL 2024-06-28 19:48:51 +03:00
Jamie Cameron
1cf3813fb6 Merge branch 'master' of github.com:webmin/webmin 2024-06-27 19:45:29 -07:00
Jamie Cameron
1216ae709b Stop showing and editing dnssec-lookaside https://github.com/webmin/webmin/issues/617 2024-06-27 19:45:21 -07:00
Ilia Ross
3d9497ff45 Fix command example 2024-06-28 01:51:02 +03:00
Ilia Ross
a6832450d1 Fix to restart Webmin when done 2024-06-28 01:38:28 +03:00
Ilia Ross
e41037388c Apply a patch to Webmin core or its modules from GitHub or a local file 2024-06-28 01:35:10 +03:00
Ilia Ross
a7b3af534b Fix to drop Threads module from recommended packages 2024-06-26 18:12:47 +03:00
Ilia Ross
87e006ceeb Add new API to verify session id 2024-06-26 14:39:23 +03:00
Ilia Ross
fbee8f0588 Add logging for active FTP conns 2024-06-20 20:04:19 +03:00
Jamie Cameron
e077b4da94 Start of work on support for requesting only a subset of hostnames 2024-06-19 22:05:22 -07:00
Jamie Cameron
38efad8265 Escape some inputs 2024-06-19 20:37:25 -07:00
Jamie Cameron
4d2a1fa084 Add spam folder name 2024-06-19 17:19:51 -07:00
Jamie Cameron
13b2eca3b1 Follow webmin code standards 2024-06-19 16:48:41 -07:00
Ilia Ross
aa4c3b1de6 Fix embedded styles margin 2024-06-19 16:55:25 +03:00
Ilia Ross
edaab4fd6f Fix embedded styles 2024-06-19 16:52:04 +03:00
Jamie Cameron
6fded0862c Merge pull request #2201 from webmin/dev/fix-last-command-match-freebsd
Fix listing last logins in FreeBSD
2024-06-18 16:16:37 -07:00
Ilia Ross
4006b0454e Fix to escape and not to truncate username 2024-06-18 23:51:19 +03:00
Ilia Ross
5d4ab58baa Fix the regex for last command on FreeBSD 2024-06-18 23:50:12 +03:00
Jamie Cameron
e6c7a60fe6 Merge pull request #2200 from webmin/dev/fix-last-command-regexes
Fix the regex to correctly match the output of the `last` command on contemporary systems
2024-06-18 13:38:21 -07:00
Ilia Ross
a75781d61a Fix the regex to correctly match the output of the last command on contemporary systems 2024-06-18 23:36:31 +03:00
Jamie Cameron
45348f5b02 Merge pull request #2199 from webmin/dev/last-dont-truncate-username
Fix not to truncate usernames
2024-06-18 11:33:01 -07:00
Ilia Ross
548c078813 Fix not to truncate usernames 2024-06-18 20:23:22 +03:00
Ilia Ross
76ccb2b7ed Fix support for Chrony in Debian systems 2024-06-17 15:09:42 +03:00
Ilia Ross
61d2081371 Add to support more passible options to systemd service file 2024-06-16 01:55:03 +03:00
Ilia Ross
458916b4d8 Fix to simplify make_date calls 2024-06-16 01:48:14 +03:00
Jamie Cameron
37451ad905 Merge pull request #2197 from vsc55/fix-2196
Fix metod detect Linux Gentoo.
2024-06-15 09:50:06 -07:00
Javier Pastor
9eec58a1f1 Fix metod detect Linux Gentoo. 2024-06-15 18:41:54 +02:00
Ilia Ross
178f527afa Fix to return an actual value 2024-06-15 16:50:04 +03:00
Jamie Cameron
cd1555b3e1 Merge branch 'master' of github.com:webmin/webmin 2024-06-12 16:53:02 -07:00
Jamie Cameron
2d7cfca67f Prevent duplicate also-notify and allow-transfer IPs 2024-06-12 16:52:50 -07:00
Jamie Cameron
e92a35b3ed Merge pull request #2195 from webmin/dev/xterm-acls-allow-not-enforce-sudo
Fix to allow disabling the enforcement of sudo-capable logins
2024-06-12 15:47:08 -07:00
Ilia Ross
e35efd0f00 Fix to always show the field 2024-06-13 01:36:41 +03:00
Ilia Ross
a12f385a5b Fix to consider user with the same name 2024-06-13 01:07:21 +03:00
Ilia Ross
5dc7cfafd7 Fix to allow disabling the enforcement of sudo-capable logins 2024-06-12 20:14:06 +03:00
Jamie Cameron
35aee74311 Merge pull request #2194 from webmin/dev/xterm-start-with-sudocapable
Fix to start with a sudo-capable user if possible
2024-06-11 18:19:05 -07:00
Ilia Ross
d04dfdf157 Fix to simplify the test 2024-06-12 01:20:29 +03:00
Ilia Ross
41f1adf0df Fix to start with a sudo-capable user if possible 2024-06-11 15:31:00 +03:00
Ilia Ross
1ae01bed8d Fix to support theme styling for embedded calendar 2024-06-10 16:34:29 +03:00
Ilia Ross
4a6f5d9a6a Fix not to load images by default and ask 2024-06-10 14:23:18 +03:00
Ilia Ross
bb3a4bc1e8 Fix font size consistency 2024-06-10 13:48:14 +03:00
Jamie Cameron
084c117547 Merge pull request #2193 from webmin/dev/embed-calendar
Add support for embedding calendar events inline in email messages
2024-06-09 18:48:18 -07:00
Ilia Ross
0221a092b9 Drop duplicate code
https://github.com/webmin/webmin/pull/2193#discussion_r1632362334
2024-06-09 21:16:52 +03:00
Ilia Ross
535d4173b3 Fix to factor out code to separate functions to be available in Usermin 2024-06-09 19:59:50 +03:00
Ilia Ross
20d481e96b Add further margin fixes 2024-06-09 19:13:52 +03:00
Ilia Ross
0256ee47f2 Fix block margin for perfect alignment 2024-06-09 16:16:52 +03:00
Ilia Ross
6af5ed6e2f Fix margin for inner content 2024-06-09 16:09:44 +03:00
Ilia Ross
abeff44b1a Add further improvements to TZs 2024-06-09 04:39:53 +03:00
Ilia Ross
35298efd8a Fix timezones 2024-06-09 04:14:32 +03:00
Ilia Ross
3fa687e716 Fix bugs 2024-06-09 03:49:43 +03:00
Ilia Ross
43fc057484 Add further indent improvements 2024-06-09 03:24:23 +03:00
Ilia Ross
70e9a1c00b Fix indentation 2024-06-09 03:14:50 +03:00
Ilia Ross
d21188c2ad Add improvements to mail frame interactions 2024-06-09 03:06:53 +03:00
Ilia Ross
a780103e2f Fix to improve calendar styles 2024-06-09 02:45:51 +03:00
Ilia Ross
4014293760 Fix to resize embedding iframe for content to fit on view details 2024-06-09 01:55:56 +03:00
Ilia Ross
ba3be31335 Fix to resize iframe if called by some elements from inside 2024-06-09 01:53:36 +03:00
Ilia Ross
adb3d0bb67 Revert "Fix to expose mail iframe resize function"
This reverts commit cd9bc8b7c4.
2024-06-09 01:42:12 +03:00
Ilia Ross
cd9bc8b7c4 Fix to expose mail iframe resize function 2024-06-09 01:16:21 +03:00
Ilia Ross
e1ebcf0506 Fix code to fit within an 80-character width 2024-06-09 01:06:27 +03:00
Ilia Ross
17a27dbe00 Fix to drop showing organizer time unless TZ is explicitly given 2024-06-09 00:48:36 +03:00
Ilia Ross
e36e943251 Fix to keep calendar cell always in right size 2024-06-09 00:31:39 +03:00
Ilia Ross
95ee1e2f2d Add support to embed iCalendar to email message 2024-06-08 23:52:59 +03:00
Ilia Ross
37cde80bbe Fix standard description to replace new lines to HTML break 2024-06-08 23:36:59 +03:00
Ilia Ross
45852664fe Add further fixes and improvements to the processor 2024-06-08 23:19:46 +03:00
Ilia Ross
00885b1f76 Fix location detection 2024-06-08 18:40:35 +03:00
Ilia Ross
cce8911f0f Add additional details to the object 2024-06-08 16:53:25 +03:00
Ilia Ross
3a151469c7 Add proper date parsing and storing extensive details about event 2024-06-08 16:47:08 +03:00
Ilia Ross
e3b94dc458 Fix summary match for strings like SUMMARY;LANGUAGE=fr-CA 2024-06-08 02:18:20 +03:00
Jamie Cameron
cde548ada3 Merge pull request #2192 from webmin/dev/websocket-url-proxy-rely
Set websocket URL depending on the proxy unless defined in config
2024-06-06 20:39:03 -07:00
Ilia Ross
00d0a89630 Set socket URL depending on the proxy unless defined in config 2024-06-07 01:15:27 +03:00
Ilia Ross
9c971202b3 Remove debug 2024-06-07 00:47:47 +03:00
Ilia Ross
2aa3bce4da Fix explicitly set module name from the caller 2024-06-07 00:35:41 +03:00
Ilia Ross
4103177d1e Fix dependencies [build] 2024-06-06 22:55:39 +03:00
Jamie Cameron
31b6cdc82b Merge branch 'master' of github.com:webmin/webmin 2024-06-06 08:34:03 -07:00
Jamie Cameron
fd8c634277 Zone key record might not exist https://forum.virtualmin.com/t/security-updates/127159 2024-06-06 08:33:34 -07:00
Ilia Ross
596ba13b1e Add logic to store iCalendars 2024-06-06 01:59:58 +03:00
Ilia Ross
5e684bf41b Add improvements to iCalendar parser 2024-06-05 03:34:33 +03:00
Jamie Cameron
356c8f7f53 Merge pull request #2191 from webmin/dev/websockets-funcs-are-global
Improve WebSockets API
2024-06-04 16:27:40 -07:00
Ilia Ross
185465351a Fix to use named loop variable 2024-06-05 00:07:44 +03:00
Ilia Ross
8d84e7313a Fix to call function properly 2024-06-04 23:54:13 +03:00
Ilia Ross
71e37adfed Add ability to clean all modules with websockets=1 on the .info 2024-06-04 19:55:25 +03:00
Ilia Ross
af912d9539 Add API to get WebSocket URL 2024-06-04 19:07:34 +03:00
Ilia Ross
5b31c7df84 Factor out WebSockets port and host options to global config 2024-06-04 18:43:34 +03:00
Ilia Ross
55b5939194 Move websocket functions to be always available 2024-06-04 15:48:06 +03:00
Jamie Cameron
00ddfd4d05 Also cleanup websockets 2024-06-03 18:42:31 -07:00
Jamie Cameron
2d23a3503e Fix spacing 2024-06-03 18:34:59 -07:00
Jamie Cameron
a838d11a26 No need for a loop to process a 1-element array 2024-06-03 18:29:56 -07:00
Jamie Cameron
5f28a28d8d Merge pull request #2189 from webmin/dev/icalendar-event-parser
Add support to parse calendar events files #2160
2024-06-03 16:05:49 -07:00
Ilia Ross
e13df24539 Fix to assign argument array before anything else 2024-06-04 00:54:55 +03:00
Ilia Ross
4f7924338d Add missing websockets-lib-funcs.pl file to the build #2190
[build]
2024-06-04 00:48:35 +03:00
Ilia Ross
3a1d609579 Add support to parse calendar events files 2024-06-03 20:58:38 +03:00
Jamie Cameron
e441427031 Merge pull request #2170 from webmin/dev/logviewer-custom-units
Add support for additional units in systemd log viewer
2024-06-01 09:57:19 -07:00
Ilia Ross
469857a41e Fix to use links as is
https://github.com/webmin/webmin/pull/2170#discussion_r1623004037
2024-06-01 18:37:28 +03:00
Ilia Ross
e47c82e7e8 Fix cron id format [build] 2024-06-01 15:32:43 +03:00
Ilia Ross
a0f6dd935c Fix to favour lexically scoped variable over global 2024-06-01 15:31:50 +03:00
Jamie Cameron
e302b706ec Add a default option for mynetworks_style https://github.com/webmin/webmin/issues/2174 2024-05-31 16:26:56 -07:00
Jamie Cameron
8c7fc88d51 Use more accurate wording https://github.com/webmin/webmin/issues/2174 2024-05-31 16:25:11 -07:00
Jamie Cameron
7b4d905eb6 Merge branch 'master' of github.com:webmin/webmin 2024-05-31 16:02:57 -07:00
Jamie Cameron
a1a6f669b2 Use a unique ID for webmin crons created in the same process at the same time https://forum.virtualmin.com/t/webmin-server-stauts/126983 2024-05-31 16:02:41 -07:00
Jamie Cameron
0298d884ef Merge pull request #2182 from webmin/dev/take-out-ws-lib-and-make-it-work-with-themes
Dev/take-out-ws-lib-and-make-it-work-with-themes
2024-05-31 13:40:31 -07:00
Ilia Ross
5a8b3467a1 Fix to consider themes using websockets too 2024-05-31 23:04:19 +03:00
Ilia Ross
17fb8304c3 Fix to take out WebSockets library 2024-05-31 22:58:27 +03:00
Jamie Cameron
5cd88dad43 Merge pull request #2181 from webmin/dev/fix-proftpd-mods-load
Fix how modules are loaded in ProFTPd
2024-05-31 12:41:50 -07:00
Ilia Ross
c15e7a5e5e Fix how modules are loaded in ProFTPd 2024-05-31 19:55:37 +03:00
Jamie Cameron
fad464be47 Merge pull request #2180 from webmin/dev/better-xterm-logging
Dev/better-xterm-logging
2024-05-31 08:57:39 -07:00
Ilia Ross
489db4c769 Fix to store logs in var directory 2024-05-31 16:54:36 +03:00
Ilia Ross
cc663af3df Fix to log username 2024-05-31 16:51:08 +03:00
Ilia Ross
0b58cd5197 Fix to print log nicely 2024-05-31 16:31:56 +03:00
Ilia Ross
dbd16c21cc Fix to drop extra new line [build] 2024-05-31 15:52:50 +03:00
Ilia Ross
8ddabb35b6 Fix test for ports below zero and put port number to error message 2024-05-31 15:50:34 +03:00
Ilia Ross
8476206da8 Merge pull request #2179 from webmin/dev/impove-status-module
Dev/impove-status-module
2024-05-31 13:37:18 +03:00
Ilia Ross
e0085e82d4 Fix to remove colon in button text as its relation is obvious 2024-05-31 13:10:18 +03:00
Ilia Ross
b697c134f1 Fix to break status icons to a new line 2024-05-31 12:15:02 +03:00
Ilia Ross
5d363d60fe Fix to break remotes to a new line without pointless limits 2024-05-31 12:14:45 +03:00
Ilia Ross
f06bc871dc Fix to break each icon to a new line 2024-05-31 12:13:33 +03:00
Ilia Ross
45e16aeeac Revert "[build] - Test collect_interval=5 preset"
This reverts commit 9be50b5aef.
2024-05-30 15:30:01 +03:00
Ilia Ross
9be50b5aef [build] - Test collect_interval=5 preset 2024-05-30 15:01:27 +03:00
Ilia Ross
80c7c7794c Fix saving SMTP TLS client security level #2177 2024-05-30 12:28:44 +03:00
Ilia Ross
decb55b8ff Add support for storing replaced text values and keys #2176
9e0d4cd9b6
2024-05-30 02:39:19 +03:00
Jamie Cameron
d061a190ac Handle case where FPM config contains no PHP options yet https://forum.virtualmin.com/t/pfp-fpm-default-configuration/127002 2024-05-29 16:26:48 -07:00
Jamie Cameron
6d89004446 Merge branch 'master' of github.com:webmin/webmin 2024-05-29 13:22:51 -07:00
Jamie Cameron
9817085c70 Delete PID file on shutdown 2024-05-29 13:22:47 -07:00
Ilia Ross
ca3362ee84 Fix to properly test fetched filtered content 2024-05-29 19:20:15 +03:00
Ilia Ross
e88ba87eae Add a message for progressive logs with no data 2024-05-29 17:38:28 +03:00
Ilia Ross
a420c7142f Fix to use hash for mapping since select names 2024-05-29 15:35:41 +03:00
Ilia Ross
6f37dc94bf Revert the change to hide logs from other modules yet
https://github.com/webmin/webmin/pull/2170#discussion_r1618145017
2024-05-29 11:30:53 +03:00
Ilia Ross
c59a200725 Fix functions name 2024-05-29 03:11:28 +03:00
Ilia Ross
e56aa7711c Add status handler function 2024-05-29 03:11:18 +03:00
Ilia Ross
b480b4caa3 Fix SPA themes have own control over onbeforeunload event 2024-05-29 01:37:43 +03:00
Ilia Ross
db456ad458 Add crucial calls abortion control 2024-05-29 01:11:53 +03:00
Ilia Ross
9513d85157 Fix to just always call it Filter 2024-05-28 22:59:45 +03:00
Ilia Ross
68b547d55a Fix to include forwarded message on empty body
a268373550 (r142447419)

[build]
2024-05-28 16:56:23 +03:00
Ilia Ross
dccc3fb10e Fix to call check right away
https://github.com/webmin/webmin/pull/2170#discussion_r1616387257
2024-05-28 00:08:23 +03:00
Jamie Cameron
d6bed07aae Delete obsolete java applet for running strace 2024-05-27 12:17:51 -07:00
Ilia Ross
bb7938a0f5 Add support for tailing logs in real time 2024-05-27 21:52:24 +03:00
Ilia Ross
8164480b48 Fix lines bug in journalctl 2024-05-27 18:08:57 +03:00
Ilia Ross
4155fdb4c5 Fix not to use bare words 2024-05-27 15:05:15 +03:00
Ilia Ross
19efd89c28 Fix bug when hiding controls 2024-05-27 14:53:01 +03:00
Ilia Ross
f911137624 Add module config and other buttons in case index page is bypassed 2024-05-27 14:40:06 +03:00
Ilia Ross
d4ac34e4b5 Fix to show right title when viewing journal 2024-05-27 14:39:23 +03:00
Ilia Ross
5323bda372 Fix to limit select width not to break the page on long systemd entries 2024-05-27 14:37:40 +03:00
Ilia Ross
1b1ac686e3 Fix to redirect straight to log view or show error 2024-05-27 13:57:27 +03:00
Ilia Ross
75e9323429 Rename the old logging system to "System Logs RS" to free up the name for actual systemd-journald 2024-05-27 13:47:10 +03:00
Ilia Ross
554b439bf8 Fix to drop redundant support for extra units 2024-05-27 00:56:42 +03:00
Ilia Ross
2f9a0b3f21 Add support for showing messages all units and filter by since
Fix numerous of other bugs:

  1. No `tac` for `journalctl` as there is a special `-r` flag
  2. No using tail for `journalctl`
2024-05-27 00:52:45 +03:00
Jamie Cameron
f457b971a7 Check if an NFS server is actually installed 2024-05-26 11:35:24 -07:00
Jamie Cameron
f5252d3f09 Merge branch 'master' of github.com:webmin/webmin 2024-05-25 22:19:28 -07:00
Jamie Cameron
60a9419cc3 Use static routes to set the default gateway https://forum.virtualmin.com/t/ubuntu-and-network-configurations/126890 2024-05-25 22:18:53 -07:00
Ilia Ross
cc2502737f Add support for additional units in systemd log viewer 2024-05-26 01:12:39 +03:00
Jamie Cameron
0cbd11335d Don't show procmail icon if controlled by Virtualmin https://github.com/virtualmin/virtualmin-gpl/issues/818 2024-05-25 11:42:02 -07:00
Ilia Ross
f9198b0fbd Update translations 2024-05-25 01:40:22 +03:00
Jamie Cameron
bb24e2bbdd Merge pull request #2168 from webmin/dev/firewalld-block-ip
Add support for blocking a given IP temporarily or permanently
2024-05-24 15:10:49 -07:00
Ilia Ross
a86eb6ff46 Fix to use substitution 2024-05-25 00:58:57 +03:00
Ilia Ross
d2420038f9 Update translations 2024-05-24 23:20:43 +03:00
Ilia Ross
26625786cb Fix layout 2024-05-24 23:16:51 +03:00
Ilia Ross
3f2023d174 Update translations 2024-05-24 22:55:30 +03:00
Ilia Ross
6b190a6cba Add support for blocking a given IP temporarily or permanently 2024-05-24 22:30:54 +03:00
Jamie Cameron
5c465a587c Add function to clear the Webmin cache for a URL 2024-05-23 15:17:27 -07:00
Jamie Cameron
61f631c1f7 Add more choices for smtpd_sasl_security_options 2024-05-22 14:30:19 -07:00
Jamie Cameron
40c1c30ae2 Don't show the last perl eval faiure unless full error reporting is enabled, because it scares the users https://github.com/virtualmin/virtualmin-gpl/issues/813 2024-05-20 16:22:59 -07:00
Jamie Cameron
d805878186 Merge branch 'master' of github.com:webmin/webmin 2024-05-20 13:29:46 -07:00
Jamie Cameron
84d46adcee There are only 65536 ports https://github.com/webmin/webmin/discussions/2161 2024-05-20 13:29:26 -07:00
Jamie Cameron
b740f9850b Merge pull request #2163 from webmin/dev/log-nicely
Fix to always use log function
2024-05-20 11:39:42 -07:00
Ilia Ross
2641985b98 Fix typo 2024-05-20 19:06:18 +03:00
Ilia Ross
736e514766 Fix to always use log function 2024-05-20 18:48:44 +03:00
Jamie Cameron
5ab6ce618d Sometimes less than a whole line is read 2024-05-17 19:47:14 -07:00
Jamie Cameron
1c8257ecff Add missing icon 2024-05-17 19:38:55 -07:00
Jamie Cameron
ebfd1e9e51 Terminal doesn't work in proxy mode https://forum.virtualmin.com/t/webmin-terminal-wss-connection-time-out/126735 2024-05-16 20:13:12 -07:00
Jamie Cameron
70dede0e22 Merge branch 'master' of github.com:webmin/webmin 2024-05-11 15:20:24 -07:00
Jamie Cameron
35e9f0a01d Limit UDP replies to 1 every 5 seconds per IP 2024-05-11 15:20:19 -07:00
Ilia Ross
0c8777acef Add support for nested forms embedded in tabs 2024-05-12 01:17:42 +03:00
Ilia Ross
04523fdb86 Fix tab name 2024-05-10 14:25:06 +03:00
Ilia Ross
b83bcc4723 Fix to compare versions correctly 2024-05-08 21:28:43 +03:00
Jamie Cameron
b9bb060250 Default changed in version 3.4 https://github.com/webmin/webmin/issues/2156 2024-05-08 10:42:32 -07:00
Jamie Cameron
f49f8f2fb1 Add more authentication methods https://github.com/webmin/webmin/issues/2154 2024-05-08 10:33:06 -07:00
Jamie Cameron
801f1f61d8 Always show extra client restrictions field https://github.com/webmin/webmin/issues/2153 2024-05-08 10:25:29 -07:00
Jamie Cameron
ede9921ea4 Merge branch 'master' of github.com:webmin/webmin 2024-05-08 09:39:36 -07:00
Jamie Cameron
cbd7a91d5c Cache the list of boot interfaces https://forum.virtualmin.com/t/webmin-network-settings-does-not-pickup-or-allow-setting-of-default-route/126466/ 2024-05-08 09:39:29 -07:00
Ilia Ross
36c8aa5e7d Update Xterm.js 2024-05-08 15:37:22 +03:00
Jamie Cameron
7881b1c6c2 Remove options that were obsoleted in version 3.9 https://github.com/webmin/webmin/issues/2150 2024-05-07 15:41:34 -07:00
Jamie Cameron
4a918ee504 Merge branch 'master' of github.com:webmin/webmin 2024-05-07 15:39:02 -07:00
Jamie Cameron
078d3acb98 Remove obsolete smtp_use_tls option 2024-05-07 15:38:22 -07:00
Ilia Ross
6a521ea32c Fix some experimental MIME types are now recognized #2147 2024-05-05 23:28:01 +03:00
Ilia Ross
0c0639d2e9 Add missing option help file #2146 2024-05-05 17:20:52 +03:00
Jamie Cameron
1c8cee607e Merge pull request #2145 from webmin/dev/jail-backend-port
Dev/jail-backend-port
2024-05-04 14:26:12 -07:00
Ilia Ross
4ac3a675e8 No need to stress 2024-05-04 21:40:25 +03:00
Ilia Ross
35dfcbe456 Update language 2024-05-04 21:38:31 +03:00
Ilia Ross
1d5900eb70 Add ports support 2024-05-04 21:37:28 +03:00
Ilia Ross
e2d6caf359 Add backend support 2024-05-04 21:35:38 +03:00
Ilia Ross
1cc640a8e2 Move enabled 2024-05-04 21:01:52 +03:00
Ilia Ross
13442d4aa4 Update translations 2024-05-03 14:16:43 +03:00
Jamie Cameron
677b39bd61 Improve wording 2024-05-02 21:51:23 -07:00
Jamie Cameron
0dc1af46f2 Document password timeouts with a tooltip 2024-05-02 21:49:33 -07:00
Jamie Cameron
bff3e78630 Also update MySQL to MariaDB in text strings https://github.com/virtualmin/virtualmin-gpl/issues/798 2024-05-01 20:30:48 -07:00
Jamie Cameron
d9d4522430 Clarify which characters cannot be used https://forum.virtualmin.com/t/virtualmin-seems-to-have-broken-itself-sort-of-dont-you-just-love-a-descriptive-title/126306 2024-05-01 07:51:01 -07:00
Jamie Cameron
0bd657978f Merge branch 'master' of github.com:webmin/webmin 2024-04-30 16:49:34 -07:00
Jamie Cameron
d59c49b6ce Change default monitor name if it's MariaDB https://github.com/virtualmin/virtualmin-gpl/issues/798 2024-04-30 16:48:15 -07:00
Ilia Ross
fae522a28e Add support for another AMD CPU #2140 [build] 2024-04-30 15:51:16 +03:00
Ilia Ross
9dcb1da4f5 Fix to invalidate EOL cache on re-checks #2139 2024-04-29 13:51:05 +03:00
Jamie Cameron
591161560a Merge branch 'master' of github.com:webmin/webmin 2024-04-28 09:07:40 -07:00
Jamie Cameron
799ccb3683 Add missing local variable 2024-04-28 09:05:02 -07:00
Ilia Ross
4e5da791e2 Fix to limit input to 4 numbers https://github.com/webmin/webmin/issues/2138#issuecomment-2079609477 [build] 2024-04-26 18:39:46 +03:00
Ilia Ross
4db36071b3 Fix $rawtime scope #2136 [build] 2024-04-26 16:02:24 +03:00
Ilia Ross
8de5c83ca8 Add ctrl help #2134 2024-04-26 13:34:20 +03:00
Ilia Ross
9b496bf413 Fix to drop installing systemd service at boot script [build]
https://github.com/webmin/webmin/issues/2133
2024-04-21 17:53:03 +03:00
Ilia Ross
985129bb70 Fix to call update boot script after adding boot #2133 [build] 2024-04-21 17:45:10 +03:00
Ilia Ross
f1804201e6 Fix indent [build] 2024-04-21 16:43:47 +03:00
Ilia Ross
0b1e5f87e1 Dev: Remove debug info 2024-04-21 16:41:25 +03:00
Ilia Ross
1e94a328ba Dev: Add more debug [build] 2024-04-21 16:29:05 +03:00
Ilia Ross
bac62e03c7 Add debug [build] 2024-04-21 16:18:10 +03:00
Ilia Ross
b1a6beda22 Revert "Fix to use latest version [build]"
This reverts commit cd46f97288.
2024-04-21 15:54:33 +03:00
Ilia Ross
b57d57b729 Fix to check for status only if it was running in the first place
https://sourceforge.net/p/webadmin/bugs/5646/

[build]
2024-04-21 15:48:09 +03:00
Ilia Ross
cd46f97288 Fix to use latest version [build] 2024-04-21 15:38:39 +03:00
Ilia Ross
1f2a7902c6 Fix to save status of service correctly [build] 2024-04-21 14:59:12 +03:00
Ilia Ross
975ae7b497 Fix to wait for systemd to update configuration
[build]
2024-04-21 14:53:03 +03:00
Ilia Ross
f252296471 Fix to preserve service state https://github.com/webmin/webmin/issues/2133
[build]
2024-04-21 13:56:11 +03:00
Jamie Cameron
f33b433b96 Merge pull request #2130 from webmin/dev/disable-manual-upgrades
Fix to correctly disable manual upgrades
2024-04-20 11:29:19 -07:00
Ilia Ross
6eb674b451 Fix to swap lines 2024-04-20 16:22:12 +03:00
Ilia Ross
690bae82fc Fix to use disable hash 2024-04-19 20:51:03 +03:00
Ilia Ross
575c1ca5a3 Fix to use Perl to get repo files 2024-04-19 20:33:24 +03:00
Jamie Cameron
97e4545c58 Merge pull request #2131 from Romanitch/bind8
Add ED25519 & ED448 DNSSEC Key Algorithm
2024-04-18 15:45:03 -07:00
Ilia Ross
73150b7818 Fix to remove un_urlize as unnecessary 2024-04-18 23:26:55 +03:00
Ilia Ross
c72a24369c Fix how self Webmin and Usermin upgrades are banned 2024-04-18 22:57:31 +03:00
Ilia Ross
ed7ac533d4 Fix to remove from build time 2024-04-18 21:19:40 +03:00
Romanitch
6df08bc645 add ED25519 & ED448 DNSSEC Key Algorithm 2024-04-18 19:43:16 +03:00
Ilia Ross
54d2766960 Fix to correctly disable manual upgrades
https://forum.virtualmin.com/t/should-this-warning-be-displayed/126011
2024-04-17 20:39:43 +03:00
Ilia Ross
c22f7fa8af Fix to correctly call the package for Debian systems 2024-04-17 20:00:38 +03:00
Jamie Cameron
da285e9804 Merge pull request #2129 from swelljoe/deprecate-old-netbsd-mounts
Fix for 10+ versions of netbsd
2024-04-17 09:48:10 -07:00
Joe Cooper
db42daab77 Fix for 10+ versions of netbsd 2024-04-17 10:09:42 -05:00
Ilia Ross
e2cf926097 Fix to correctly handle save and save and next buttons 2024-04-17 15:33:47 +03:00
Jamie Cameron
6f1b0db855 Merge branch 'master' of github.com:webmin/webmin 2024-04-16 19:50:21 -07:00
Jamie Cameron
1f99616848 Fix passing of params by save-and-next button 2024-04-16 19:49:58 -07:00
Jamie Cameron
d10d98421e Merge pull request #2128 from Mr-Method/dev/translation_uk/lang
dev/translation_uk/lang
2024-04-16 19:39:37 -07:00
Jamie Cameron
827e02d47d Merge pull request #2127 from Mr-Method/dev/translation_uk/filemin
dev/translation_uk/filemin
2024-04-16 19:39:13 -07:00
Jamie Cameron
1bee7442a6 Merge pull request #2126 from Mr-Method/dev/translation_uk/cpan
dev/translation_uk/cpan
2024-04-16 16:44:22 -07:00
Mr-Method
d165a4740a dev/translation_uk/lang
translated with wbmtranslator 0.9.2 (fixed)
2024-04-17 01:53:27 +03:00
Mr-Method
4126264a63 dev/translation_uk/filemin
translated with wbmtranslator 0.9.2 (fixed)
2024-04-17 01:47:59 +03:00
Jamie Cameron
0d390df894 Merge pull request #2125 from Mr-Method/dev/translation_uk/change-user
dev/translation_uk/change-user
2024-04-16 15:32:55 -07:00
Mr-Method
eda29478de dev/translation_uk/cpan
translated with wbmtranslator 0.9.2 (fixed)
2024-04-17 01:28:54 +03:00
Mr-Method
ea98188a63 dev/translation_uk/change-user
translated with wbmtranslator 0.9.2 (fixed)
2024-04-17 01:21:48 +03:00
Jamie Cameron
f6b3bb2ca5 New version bump 2024-04-15 20:54:02 -07:00
Jamie Cameron
f25c71f625 New version bump 2024-04-15 20:50:36 -07:00
Ilia Ross
657113d0c8 Fix to return if no EOL data found for specific OS version #2121 2024-04-16 02:38:49 +03:00
Ilia Ross
470bed602b Fix to prevent locking the select widths
2f5ee346b2 (commitcomment-140754610)
2024-04-15 15:33:09 +03:00
Ilia Ross
90d197701f Update CHANGELOG.md for 2.110 release 2024-04-15 14:01:22 +03:00
Jamie Cameron
8473d5e611 New version bump 2024-04-14 13:04:57 -07:00
Ilia Ross
5f6a6c8425 Fix to exit on error [build] 2024-04-14 01:14:21 +03:00
Ilia Ross
ce5b85c5e2 Fix to remove 'Use of uninitialized' warnings [build] 2024-04-14 00:58:24 +03:00
Ilia Ross
1b7c9bea0d Dev: Fix builds to include EOL data properly [build] 2024-04-14 00:44:26 +03:00
Ilia Ross
548b2ab08e Dev: Fork it! [build] 2024-04-14 00:32:15 +03:00
Ilia Ross
d3b46a6675 Dev: Is it http_download? [build] 2024-04-14 00:17:36 +03:00
Ilia Ross
5f28c37cab Dev: No need to use extra modules [build] 2024-04-14 00:11:23 +03:00
Ilia Ross
5046081a47 Dev: Load libs and check [build] 2024-04-13 23:58:50 +03:00
Ilia Ross
1a9a1dc1f5 Dev: Load it right [build] 2024-04-13 23:56:09 +03:00
Ilia Ross
031b84621a Dev: Fix to load all sub [build] 2024-04-13 23:54:31 +03:00
Ilia Ross
1d1d1d0c54 Dev: Is it really libs, no? [build] 2024-04-13 23:52:48 +03:00
Ilia Ross
09167a34a6 Dev: Embed libs only [build] 2024-04-13 23:49:16 +03:00
Ilia Ross
225013da07 Dev: Is this about Webmin open_tempfile? [build]
main::/home/runner/webmin/web-lib-funcs.pl line 161 web-lib-funcs.pl (line 10507)
2024-04-13 23:46:25 +03:00
Ilia Ross
614aa056c0 Dev: Does it work the old way? [build] 2024-04-13 23:30:36 +03:00
Ilia Ross
6eb3b193b9 Dev: Has the actual issue been solved? [build] 2024-04-13 23:27:59 +03:00
Ilia Ross
ba677eedc9 Revert "Dev: What's wrong with file? [build]"
This reverts commit 5c6c4b9da9.
2024-04-13 23:26:35 +03:00
Ilia Ross
5c6c4b9da9 Dev: What's wrong with file? [build] 2024-04-13 23:24:11 +03:00
Ilia Ross
65ed7a082e Fix to show actual path [build] 2024-04-13 23:16:22 +03:00
Ilia Ross
5008271d11 Dev: JSON::PP needs to be installed [build] 2024-04-13 22:48:40 +03:00
Ilia Ross
18d405b91a Fix a bug when error() sub is called without loaded UI lib 2024-04-13 22:46:39 +03:00
Ilia Ross
d1f0e77d25 Dev: What's up this time? [build] 2024-04-13 22:30:04 +03:00
Ilia Ross
e8691fd541 Add a fallback for downloading EOL data [build] 2024-04-13 22:27:59 +03:00
Ilia Ross
c820eb21bd Dev: No need for new dependencies 2024-04-13 22:23:54 +03:00
Ilia Ross
6850a50b0d Dev: Unroll vars [build] 2024-04-13 22:02:46 +03:00
Ilia Ross
27969bc0fb Dev: Fix packages list 2024-04-13 22:00:35 +03:00
Ilia Ross
d92bdfff8a Dev: Oops [build] 2024-04-13 21:49:16 +03:00
Ilia Ross
56a1382d4c Dev: What's up? [build] 2024-04-13 21:47:48 +03:00
Jamie Cameron
ba9b178905 Merge pull request #2117 from webmin/dev/eol-api
Add EOL API
2024-04-13 09:44:28 -07:00
Ilia Ross
b2ef544331 Fix comment 2024-04-13 13:32:50 +03:00
Ilia Ross
fb2ceb9ae5 Fix to use get_webmin_version instead 2024-04-12 02:08:12 +03:00
Ilia Ross
e1dafea664 Fix not to flood logs with pointless warning 2024-04-11 21:22:45 +03:00
Ilia Ross
8621cf8bd0 Fix to always prioritize extended support (actual EOL in Debian/Ubuntu) 2024-04-11 21:19:24 +03:00
Ilia Ross
0b21cbdc7c Fix to simplify caching logic to only check for EOL data after Webmin installation/upgrade 2024-04-11 20:07:34 +03:00
Ilia Ross
d446c7d3d0 Delete os-eol.map file 2024-04-11 18:56:21 +03:00
Ilia Ross
376eb2c04a Fix textbox width 2024-04-11 14:03:11 +03:00
Ilia Ross
db674f769e Fix to call die if EOL data cannot be fetched in build time 2024-04-10 23:58:04 +03:00
Ilia Ross
46358dc5d7 Update translations 2024-04-10 23:53:26 +03:00
Ilia Ross
fae806f1a8 Fix to drop useless option 2024-04-10 23:49:25 +03:00
Ilia Ross
fdf1c40c28 Update language keys for consistency 2024-04-10 23:43:03 +03:00
Ilia Ross
5cb91ab3f9 Add language strings 2024-04-10 23:38:02 +03:00
Ilia Ross
7628a7329d Add EOL display and configurable option to Operating System and Environment page 2024-04-10 23:37:47 +03:00
Ilia Ross
613c568f4f Add EOL message to the dashboard 2024-04-10 22:40:24 +03:00
Ilia Ross
b43e75e701 Add caching support for speed and efficiency 2024-04-10 22:39:25 +03:00
Ilia Ross
b53333e8bc Add actual EOL details ; fix bug 2024-04-10 20:44:06 +03:00
Ilia Ross
ec34a26e1a Fix to generate os_eol.json during build time 2024-04-10 18:28:55 +03:00
Ilia Ross
4102b5ee1c Fix how EOL data is fetched and stored 2024-04-10 16:35:03 +03:00
Ilia Ross
c6cb6397f0 Fix to cache it for 1 month 2024-04-10 03:27:51 +03:00
Ilia Ross
550a263ceb Fix to only write empty file if doesn't exist 2024-04-10 03:25:26 +03:00
Ilia Ross
ff5937b79b Fix timeout 2024-04-10 03:21:34 +03:00
Ilia Ross
2fce5e752e Add support for year and complete short date formats
i.e. can now return 2024 and Thursday, April 1
2024-04-09 23:44:45 +03:00
Ilia Ross
4202fa5063 Add EOL API 2/2 2024-04-09 23:42:26 +03:00
Ilia Ross
f24a34f8c5 Update map 2024-04-09 20:52:08 +03:00
Ilia Ross
13e343e2d7 Add EOL API 1/2 2024-04-09 20:20:55 +03:00
Ilia Ross
1648384ce8 Fix comment 2024-04-09 20:11:36 +03:00
Jamie Cameron
a73eb0cd96 Add qrencode as a soft dependency https://github.com/webmin/webmin/issues/2115 2024-04-07 16:21:13 -07:00
Jamie Cameron
adcd7d8fd5 Remove a useless blank line 2024-04-07 16:18:02 -07:00
Jamie Cameron
21845e9708 If the qrencode command is installed, use it to generate QR codes locally instead of the Google chart API https://github.com/webmin/webmin/issues/2115 2024-04-07 16:14:25 -07:00
Jamie Cameron
e4aee1c27e Merge branch 'master' of github.com:webmin/webmin 2024-04-06 18:13:11 -07:00
Jamie Cameron
64211e46cb Remove un-needed param 2024-04-06 18:12:11 -07:00
Jamie Cameron
407ec904ca Merge pull request #2111 from mpkossen/master
Capitalize SMTP auth command for broader compatibility.
2024-03-31 17:19:50 -07:00
Ilia Ross
3001ec8aa4 Update Xterm.js 2024-03-31 20:34:43 +03:00
Maarten Kossen (mpkossen)
abcdf51d10 Improve capitalization of auth command. 2024-03-31 10:48:23 -05:00
Maarten Kossen (mpkossen)
b3350f5b37 Capitalize SMTP auth command for broader compatibility. 2024-03-31 07:42:03 -05:00
Jamie Cameron
56abe45e64 Use common reload function 2024-03-29 15:17:32 -07:00
Jamie Cameron
a260ad5acd Include TLS cers in backup 2024-03-29 15:12:03 -07:00
Jamie Cameron
31eead4a08 Helo has to be sent again after switching to TLS 2024-03-29 14:27:25 -07:00
Jamie Cameron
48023fe3eb Merge branch 'master' of github.com:webmin/webmin 2024-03-29 12:54:42 -07:00
Jamie Cameron
ae6592602f HELO has to come first before STARTTLS 2024-03-29 12:54:32 -07:00
Jamie Cameron
6963ce9add Merge pull request #2110 from samgakhyeong/master
Units like GiB do not need to be translated because they are used the…
2024-03-28 11:45:56 -07:00
samgak
28af4c4991 Units like GiB do not need to be translated because they are used the same way in Korean. This appears to be a clear mistranslation. 2024-03-29 00:23:59 +09:00
Ilia Ross
7f8ad9c148 Fix to drop old word-around in make_date 2024-03-25 11:55:11 +02:00
Jamie Cameron
83c93d8bdc Don't assume that the date split can be split 2024-03-24 11:29:22 -07:00
Jamie Cameron
3a275d1d5b Don't make assumptions about splitting up the date 2024-03-24 10:44:11 -07:00
Jamie Cameron
8f6ce35db6 Merge branch 'master' of github.com:webmin/webmin 2024-03-23 11:44:33 -07:00
Jamie Cameron
2f5ee346b2 Width needs a 'px' suffix 2024-03-23 11:42:59 -07:00
Ilia Ross
44f6361c5c Add Ubuntu 24.04 support [build] 2024-03-18 18:58:45 +02:00
Ilia Ross
7fc71adecc Fix not to disable already disabled textfield in GPL mode 2024-03-16 18:41:18 +02:00
Ilia Ross
1e0f6be4ab Fix class leak for disabled features in GPL mode 2024-03-16 15:41:56 +02:00
Jamie Cameron
d54c6bf8e0 Add field for folder to check https://github.com/webmin/webmin/discussions/2104 2024-03-15 15:41:54 -07:00
Jamie Cameron
5c533916ff More ui-lib conversion 2024-03-15 15:35:45 -07:00
Jamie Cameron
b02f0ef96b ui-lib conversion 2024-03-15 15:21:25 -07:00
Jamie Cameron
12c205f3ec Convert to ui-lib 2024-03-14 14:41:04 -07:00
Jamie Cameron
ea00ff92a2 Work on UI cleanup 2024-03-13 21:57:23 -07:00
Jamie Cameron
0c0b04ffe0 Add monitor for IMAP 2024-03-11 22:21:08 -07:00
Jamie Cameron
c762d41fa1 Add support for SMTP login 2024-03-11 21:22:29 -07:00
Jamie Cameron
0704ac640e Start of work on SMTP monitor 2024-03-11 20:39:59 -07:00
Jamie Cameron
a9d0f8b704 Use standard function 2024-03-11 20:17:43 -07:00
Jamie Cameron
203c75f79a Fix user switching 2024-03-11 16:45:02 -07:00
Jamie Cameron
7734ba1285 Add user to run as config option, for clones 2024-03-11 16:38:51 -07:00
Jamie Cameron
fb6f27aaaa Use ui-lib standard functions 2024-03-11 11:33:01 -07:00
Jamie Cameron
dd9dac860c Improve layout of the monitor editing page 2024-03-10 18:35:22 -07:00
Jamie Cameron
68e4f6c5aa Merge branch 'master' of github.com:webmin/webmin 2024-03-10 17:26:56 -07:00
Jamie Cameron
527d238da2 The word remote is confusing 2024-03-10 17:25:17 -07:00
Jamie Cameron
b292c68123 Merge pull request #2103 from webmin/dev/check-reboot-req
Fix to consider using `needrestart` to test if reboot is required
2024-03-09 11:08:26 -08:00
Ilia Ross
3fc4f05f49 Fix to consider using needrestart to test if reboot is required 2024-03-09 20:24:39 +02:00
Jamie Cameron
75836b1f25 permissions fix 2024-03-07 18:50:10 -08:00
Jamie Cameron
e3c4711d77 Merge branch 'master' of github.com:webmin/webmin 2024-03-07 18:49:46 -08:00
Jamie Cameron
5565113777 Pass in conf instead of filename 2024-03-07 18:49:18 -08:00
Ilia Ross
01a10d1f08 Fix collecting CPU fan data
https://forum.virtualmin.com/t/show-cpu-fan-speed-on-dashboard/125292
2024-03-03 21:52:22 +02:00
Ilia Ross
60793e9ac5 Fix to pass view param as it is being relied on in themes 2024-03-02 20:08:41 +02:00
Ilia Ross
e50898dd05 Update translations 2024-03-02 19:28:48 +02:00
Ilia Ross
bc27c75027 Fix not to print pointless file name 2024-03-02 19:25:41 +02:00
Jamie Cameron
9c4f32246d No need for a special view param because that's all this module does 2024-03-01 18:12:21 -08:00
Jamie Cameron
37c91a6330 TXT records should always be quoted 2024-02-29 20:37:48 -08:00
Jamie Cameron
f9f19552dd Merge branch 'master' of github.com:webmin/webmin 2024-02-27 19:44:19 -08:00
Jamie Cameron
60e424689d Handle case where we can't figure out the from https://github.com/webmin/usermin/issues/109 2024-02-27 19:31:40 -08:00
Ilia Ross
2c1388b0be Update translations [build] 2024-02-27 17:23:56 +02:00
Ilia Ross
910619c364 Fix key name not to add color and icon to the button 2024-02-27 17:23:04 +02:00
Ilia Ross
893e5ba06f Fix to always return to the right tab 2024-02-27 16:59:00 +02:00
Ilia Ross
5cd605dce5 Add tiny UI fixes 2024-02-27 16:31:32 +02:00
Jamie Cameron
6c3a7d1d5e Fix version regexp 2024-02-26 21:45:05 -08:00
Jamie Cameron
882bf281b1 Version bump 2024-02-26 21:24:33 -08:00
Jamie Cameron
f0127ca722 Add function to get de[endencies on debian 2024-02-26 21:18:22 -08:00
Jamie Cameron
cb7a7d6e22 Use a hidden table to show dependencies 2024-02-25 21:39:38 -08:00
Jamie Cameron
a3f9d0a60f Initial work on showing package dependencies 2024-02-25 21:33:14 -08:00
Jamie Cameron
24bf147c9a Split page into tabs 2024-02-25 18:58:38 -08:00
Jamie Cameron
f5bb99a431 Merge branch 'master' of github.com:webmin/webmin 2024-02-25 12:06:32 -08:00
Jamie Cameron
3b38106363 Fix border param 2024-02-25 12:06:25 -08:00
Jamie Cameron
e08a4bf078 Merge pull request #2098 from webmin/dev/add-passable-config-params
Add support for passing params to config directly
2024-02-25 11:54:41 -08:00
Ilia Ross
cb95472a27 Add support for passing params to config directly 2024-02-25 19:31:47 +02:00
Jamie Cameron
d8b02b5f42 Refer to new string 2024-02-13 14:16:24 -08:00
Jamie Cameron
2dad993bee I did it my way 2024-02-13 14:14:32 -08:00
Jamie Cameron
f31c7a9668 Remove useless table layout 00~https://github.com/webmin/webmin/issues/208901~ 2024-02-13 14:12:59 -08:00
Ilia Ross
cf396e6ec1 Fix generated HTML output
https://github.com/webmin/webmin/issues/2089
2024-02-13 16:17:40 +02:00
Ilia Ross
aae7aa527f Fix to just show all checks
dff70c3349 (r138377441)
2024-02-07 18:02:37 +02:00
Jamie Cameron
196b7c72a3 Add missing strings https://github.com/webmin/webmin/issues/2085 2024-02-06 21:23:53 -08:00
Jamie Cameron
3cb936d7c8 Handle multiple IPv6 addresses properly https://github.com/webmin/webmin/issues/2081 2024-01-30 19:54:19 -08:00
Jamie Cameron
875e827954 Merge branch 'master' of github.com:webmin/webmin 2024-01-30 07:34:39 -08:00
Jamie Cameron
06a6817f04 Install Socket6 perl module for IPv6 if available https://github.com/webmin/webmin/issues/2081 2024-01-30 07:33:04 -08:00
Ilia Ross
e62e0d032e Add improvements for displaying disabled pages 2024-01-29 19:08:50 +02:00
Jamie Cameron
919601d1c6 Preserve all post-up directives https://github.com/webmin/webmin/issues/2080 2024-01-28 16:26:32 -08:00
Jamie Cameron
da142c95a7 Use multi-select for extensions https://forum.virtualmin.com/t/there-is-a-problem-with-php-extensions/124552 2024-01-20 22:11:53 -08:00
Jamie Cameron
78c64ea786 Merge branch 'master' of github.com:webmin/webmin 2024-01-20 10:40:36 -08:00
Jamie Cameron
fd56523955 Use /etc/hostname if available https://forum.virtualmin.com/t/setup-fails/124437 2024-01-20 10:39:49 -08:00
Ilia Ross
a6f5e593b0 Fix self-XSS when downloading a file
Reported by: Rushikesh Kaware
[build]
2024-01-20 12:36:11 +02:00
Ilia Ross
70a15314c0 Fix consistency in search criteria #2079 2024-01-17 12:54:53 +02:00
Jamie Cameron
3a5dcc4723 Make error message about bootup action clearer 2024-01-16 20:48:16 -08:00
Jamie Cameron
e9f382272a Merge branch 'master' of github.com:webmin/webmin 2024-01-14 10:37:37 -08:00
Jamie Cameron
5c8d5ee75e Add option to notify for security updates only https://github.com/webmin/webmin/issues/2075 2024-01-14 10:37:30 -08:00
Ilia Ross
f244805c01 Fix to default to mail_location
https://forum.virtualmin.com/t/bug-in-webmin-dovecot-mail-files-config/124425?u=ilia
2024-01-12 13:34:13 +02:00
Ilia Ross
26cb81ad2b Fix to use new API for "Write logs to" option 2024-01-06 19:06:34 +02:00
Ilia Ross
3cc8e71035 Fix to support new lines 2024-01-06 19:02:18 +02:00
Ilia Ross
3a264330ed Fix to use new ui_radio_row API 2024-01-06 16:51:00 +02:00
Ilia Ross
8edffc8f30 Add new ui_radio_row API 2024-01-06 16:50:40 +02:00
Ilia Ross
7fd3b9e725 Add support for age purge bans database option
https://forum.virtualmin.com/t/change-fail2ban-times/124311/3?u=ilia
2024-01-05 17:45:07 +02:00
Jamie Cameron
1bd70e7669 Merge pull request #2069 from ctrlbru/master
Reviewed Bacula module italian translation file
2024-01-01 10:07:16 -08:00
Dario Corti
975ed1c277 Reviewed italian auto translation file 2024-01-01 17:40:26 +01:00
Dario Corti
c1b3b6606e Reviewed italian auto translation file 2024-01-01 17:24:18 +01:00
Jamie Cameron
b6b8398eb2 Get and show the full version number 2023-12-30 21:52:16 -08:00
Ilia Ross
66e2f1e1e3 Fix to pass params separately 2023-12-30 22:25:08 +02:00
Ilia Ross
f82def9a9b Fix to separate params and packages names 2023-12-30 17:04:52 +02:00
Ilia Ross
924a0da014 Fix to prioritize MariaDB packages over MySQL
e418b4c178
2023-12-29 14:07:25 +02:00
Ilia Ross
c4f39f56f8 Fix to use alternating page name
e418b4c178
2023-12-29 13:37:45 +02:00
Jamie Cameron
6b2b72707e Alma / Rocky / CentOS 8 also call it dhcp-server 2023-12-28 16:30:15 -08:00
Jamie Cameron
e327d0b81b Only use dhcp-server on Redhat 9 and friends 2023-12-28 10:08:22 -08:00
Jamie Cameron
e418b4c178 DHCPd package is named dhcp-server on RHEL 9 https://github.com/webmin/webmin/issues/2066 2023-12-28 09:57:26 -08:00
Jamie Cameron
f89844171c Properly escape selected databases in DB chooser https://github.com/virtualmin/virtualmin-gpl/issues/723 2023-12-25 08:54:09 -08:00
Jamie Cameron
2cbdf62b1b Merge branch 'master' of github.com:webmin/webmin 2023-12-23 16:04:14 -08:00
Jamie Cameron
e89220e846 Don't include newline in text string 2023-12-23 16:04:08 -08:00
Ilia Ross
1df9920aa9 Fix to further simplify the code
d00945bdfc (r135639921)
2023-12-23 22:36:40 +02:00
Jamie Cameron
732d12a1f4 Merge branch 'master' of github.com:webmin/webmin 2023-12-23 08:43:06 -08:00
Jamie Cameron
83de10b7c2 Escape username in error 2023-12-23 08:42:59 -08:00
Ilia Ross
d00945bdfc Fix to use scalar instead
d275ee095b (r135620123)
2023-12-23 12:28:47 +02:00
Ilia Ross
c136c380be Fix to display if a user is Virtualmin user 2023-12-21 16:06:45 +02:00
Ilia Ross
807f9cfe34 Fix not to say warning twice as already inside of warning alert 2023-12-21 15:58:00 +02:00
Jamie Cameron
93157a428d Merge pull request #2064 from TheBeardedQuack/master
Simple nftables support via the use of update-alternatives
2023-12-20 20:52:28 -08:00
TheBeardedQuack
e3866f6607 Merge branch 'webmin:master' into master 2023-12-20 23:26:02 +00:00
Ilia Ross
86bab830b3 Fix to simplify working code to preserve precision
d275ee095b (r135407587)
2023-12-20 15:40:24 +02:00
TheBeardedQuack
3c67453d16 Merge branch 'webmin:master' into master 2023-12-20 13:19:38 +00:00
TheBeardedQuack
0df0bb4837 Swap the command order to allow for simple nftables support, via update-alternatives 2023-12-20 13:16:08 +00:00
TheBeardedQuack
a2bb0173b6 Made iptables-save logic, match the iptables-restore logic. 2023-12-20 13:14:34 +00:00
Jamie Cameron
bed55e7e08 Simpler code to support fractional units 2023-12-19 18:38:33 -08:00
Ilia Ross
3ac0a468b1 Fix to use localized labels for size 2023-12-19 16:53:45 +02:00
Ilia Ross
8da45b832a Fix to remove trailing zeros in decimal part 2023-12-19 16:29:48 +02:00
Ilia Ross
d275ee095b Fix to accomplish not loosing precision when showing higher values
bf97df4522
2023-12-19 16:03:48 +02:00
Jamie Cameron
bf97df4522 Don't lose precious when showing higher units https://github.com/virtualmin/virtualmin-gpl/issues/719 2023-12-18 22:56:19 -08:00
Jamie Cameron
fa54da125f Use standard function for bytes field 2023-12-18 22:55:30 -08:00
Jamie Cameron
522051a854 Add support for SSL/TLS fields 2023-12-17 22:31:54 -08:00
Jamie Cameron
c87fc1a15c Initial skeleton of mod_tls 2023-12-17 15:49:27 -08:00
Jamie Cameron
80cc0cb9d2 General code style cleanups 2023-12-17 15:20:26 -08:00
Jamie Cameron
a88ae240f5 Finished off ui-lib conversion in this file 2023-12-17 15:11:41 -08:00
Jamie Cameron
2b38b7bfb7 yet more ui-lib conversion 2023-12-17 14:55:06 -08:00
Jamie Cameron
5a791299e6 yet more ui-lib conversion 2023-12-17 14:24:27 -08:00
Jamie Cameron
97203f1245 Merge branch 'master' of github.com:webmin/webmin 2023-12-17 12:22:51 -08:00
Jamie Cameron
a4a8d970e1 Use proper checkbox function 2023-12-17 12:19:31 -08:00
Ilia Ross
8665c5a725 Fix to include directory name, as glob result isn't readdir
https://forum.virtualmin.com/t/re-i-think-i-found-another-issue/123981/13
2023-12-17 15:37:19 +02:00
Ilia Ross
28e55d6774 Revert "What if /etc/network/interfaces is a directory https://forum.virtualmin.com/t/re-i-think-i-found-another-issue/123981"
This reverts commit f2476e0a6d.
2023-12-17 15:35:09 +02:00
Jamie Cameron
de638bcb6a More ui-lib conversions 2023-12-16 22:33:00 -08:00
Jamie Cameron
e9238d1b24 yet more ui-lib conversion 2023-12-16 18:42:27 -08:00
Jamie Cameron
f2476e0a6d What if /etc/network/interfaces is a directory https://forum.virtualmin.com/t/re-i-think-i-found-another-issue/123981 2023-12-16 17:46:00 -08:00
Jamie Cameron
c2c548a3d6 Use ui-lib for tables 2023-12-16 11:48:38 -08:00
Jamie Cameron
ac26b356ac Yet more ui-lib conversion 2023-12-16 11:39:41 -08:00
Jamie Cameron
9b744c4632 ui-lib conversion 2023-12-15 22:54:04 -08:00
Jamie Cameron
e481cf9dda more ui-lib conversion 2023-12-15 21:40:52 -08:00
Jamie Cameron
5672f6bfce Finished off ui-lib conversion 2023-12-15 20:55:10 -08:00
Jamie Cameron
dcee332bff More ui-lib conversion 2023-12-15 20:43:31 -08:00
Jamie Cameron
8d0aeb6fc9 Convert to ui-lib 2023-12-15 20:35:50 -08:00
Jamie Cameron
716e1deb5f more ui-lib conversion 2023-12-15 20:24:58 -08:00
Jamie Cameron
b65af5f3ac ui-lib conversion 2023-12-15 20:18:53 -08:00
Jamie Cameron
f3c4eb63e8 Commands are in upper case 2023-12-15 20:14:50 -08:00
Jamie Cameron
64924182d2 Convery to ui-lib functions 2023-12-15 17:52:45 -08:00
Jamie Cameron
8bad9dd0f8 DNS domains are also space separated 2023-12-13 15:57:06 -08:00
Jamie Cameron
8e1507d8d0 Stop showing rsh option unless already selected https://forum.virtualmin.com/t/cant-setup-backup-in-webmin/123736 2023-12-11 20:33:00 -08:00
Jamie Cameron
dd06d75468 Merge branch 'master' of github.com:webmin/webmin 2023-12-10 14:35:21 -08:00
Jamie Cameron
f3d2d38214 list.cgi needs JSON::PP 2023-12-10 13:50:33 -08:00
Ilia Ross
e264daebe0 Fix German translation
https://github.com/webmin/webmin/issues/2060
2023-12-10 19:56:26 +02:00
Jamie Cameron
3b67cd6773 Merge branch 'master' of github.com:webmin/webmin 2023-12-10 08:25:26 -08:00
Jamie Cameron
53834dc5e7 Add option to request LE cert using certbot in standalone mode http://forum.virtualmin.com/t/webmin-ssl-certificate-with-lets-encrypt-directly-obtain-certificate-without-requiring-apache-or-nginx/123696/ 2023-12-10 08:25:11 -08:00
Ilia Ross
09891459ee Fix to remove Windows from the list
https://github.com/webmin/webmin/issues/2055#issuecomment-1848669794
2023-12-10 15:18:01 +02:00
Jamie Cameron
346b9f3af8 Merge branch 'master' of github.com:webmin/webmin 2023-12-09 12:48:17 -08:00
Jamie Cameron
409a4fbb7b Sometimes there is no options block https://forum.virtualmin.com/t/bind-module-is-not-set-up/123790 2023-12-09 12:42:39 -08:00
Ilia Ross
fd44191c96 Fix latest Devuan Linux support [build]
https://github.com/virtualmin/virtualmin-gpl/issues/705
2023-12-03 14:32:18 +02:00
Jamie Cameron
3b65ec28ed Fix core vs cores 2023-11-27 17:17:33 -08:00
Jamie Cameron
0c6351d3ab Merge branch 'master' of github.com:webmin/webmin 2023-11-22 11:15:07 -08:00
Jamie Cameron
6126d1d0f3 5 seconds is too low for a TTL 2023-11-22 11:14:04 -08:00
Ilia Ross
c9ee0d5a4d Add Squid 6.5 support [build]
https://forum.virtualmin.com/t/your-version-of-squid-is-not-supported-by-webmin-only-versions-from-1-1-to-3-4-are-supported-by-this-module/123561
2023-11-22 13:44:01 +02:00
Ilia Ross
1a39ba639f Fix to set hwclock in a way compatible with both RHEL and Debian
https://forum.virtualmin.com/t/re-letsencrypt-auto-renew-is-using-sub-server-domain-instead-of-wildcard/123542?u=ilia
2023-11-20 18:01:50 +02:00
Ilia Ross
7360544f06 Merge pull request #2048 from gnadelwartz/master
fix update-from-repo.sh -release:lastest: get version from raw.githubusercontent.com
2023-11-16 15:07:28 +02:00
Kay Marquardt
b8bd5115b4 fix update-from-repo.sh -release:lastest: get version from raw.githubusercontent.com 2023-11-16 13:47:32 +01:00
Jamie Cameron
2175bc25fe ui-lib conversion 2023-11-15 22:24:45 -08:00
Jamie Cameron
35bae257f2 Don't add IP address if there isn't one 2023-11-15 17:14:54 -08:00
Jamie Cameron
6926262562 Use more UI functions 2023-11-14 21:18:48 -08:00
Jamie Cameron
167b6a33a3 Some ui-lib conversions 2023-11-14 21:15:51 -08:00
Jamie Cameron
0e2cc49ed0 Merge branch 'master' of github.com:webmin/webmin 2023-11-14 20:21:20 -08:00
Jamie Cameron
b095aa2b20 Show the actual command that failed in the error 2023-11-14 20:20:06 -08:00
Ilia Ross
79b840024a Update translations 2023-11-14 20:16:19 +02:00
Ilia Ross
8925f396cf Finalize support for systems usingsystemd-timesyncd and chronyd 2023-11-14 19:56:22 +02:00
Ilia Ross
62c5d73076 Fix to make sure that init module is called 2023-11-14 17:52:40 +02:00
Ilia Ross
b0b26f8663 Fix to preserve timesyncd and chronyd status. 2023-11-14 17:32:48 +02:00
Ilia Ross
f555367eb4 Add support for timesyncd and timedatectl
https://forum.virtualmin.com/t/q-a-debian-12-known-issues/121990/22?u=ilia
2023-11-14 17:13:12 +02:00
Ilia Ross
1fe336ad39 Fix to cache support_hwtime as it can take a lot of time
hwclock: select() to /dev/rtc0 to wait for clock tick timed out
2023-11-14 16:17:56 +02:00
Jamie Cameron
8f157253a3 Fix detection of Debian 13 https://sourceforge.net/p/webadmin/bugs/5639/ 2023-11-11 11:25:24 -08:00
Jamie Cameron
aca2a9a524 Pass URL params from the page that called config.cgi back when saving 2023-11-10 16:57:24 -08:00
Jamie Cameron
07fc4621f8 DNS server IPs are space separated https://forum.virtualmin.com/t/trouble-with-saving-in-network-config-section/123394 2023-11-09 11:18:24 -08:00
Jamie Cameron
d239e77f15 Pass config module in as a regular param 2023-11-08 22:09:21 -08:00
Jamie Cameron
627a047028 Next virtual interface is always one greater than the last one 2023-11-07 17:56:02 -08:00
Ilia Ross
a1844d301d Update CHANGELOG.md for 2.105 2023-11-07 21:05:22 +02:00
Jamie Cameron
d9db632718 Merge pull request #2043 from webmin/dev/qq-in-glob
Fix to `quotemeta` variables instead
2023-11-06 19:17:48 -08:00
Ilia Ross
4b38af6b51 Fix to quotemeta variables instead 2023-11-06 13:28:22 +02:00
Jamie Cameron
46238ef7a1 Glob splits up strings based on spaces https://forum.virtualmin.com/t/deleted-a-virtual-server-now-virtualmin-gone-but-webmin-remains/123284 2023-11-05 20:32:58 -08:00
Jamie Cameron
059b47f84d New version bump 2023-11-05 16:25:01 -08:00
Ilia Ross
62b6b32719 Code cleanup 2023-11-05 19:13:28 +02:00
Ilia Ross
02eb35d622 Fix to test for file after it was declared
9cade51106
2023-11-03 22:38:17 +02:00
Jamie Cameron
4d5b4ef697 Merge branch 'master' of github.com:webmin/webmin 2023-11-01 23:33:44 -07:00
Jamie Cameron
b3c8706690 Fix variable name 2023-11-01 23:26:53 -07:00
Ilia Ross
283fe2e440 Fix not to set reuse flag on initial request 2023-11-01 00:16:02 +02:00
Jamie Cameron
8e586e6f14 Merge branch 'master' of github.com:webmin/webmin 2023-10-28 15:21:22 -07:00
Jamie Cameron
7ad30bdc8c Make sure index field is always populated https://github.com/webmin/webmin/issues/2041 2023-10-28 15:21:13 -07:00
Ilia Ross
81ead590c9 Add better display of disabled features 2023-10-26 20:36:05 +03:00
Jamie Cameron
48b0912cf6 Merge pull request #2038 from MiraMaX166/master
fix Russian localization
2023-10-26 21:47:07 +11:00
MiraMaX166
e0d743076d fix Russian localization 2023-10-26 11:42:34 +06:00
Ilia Ross
91c2facff9 Fix to use default accordion instead 2023-10-25 18:03:24 +03:00
Jamie Cameron
8e71cfa73a Merge branch 'master' of github.com:webmin/webmin 2023-10-25 02:24:38 -07:00
Jamie Cameron
9cade51106 Fix bad file descriptor error https://forum.virtualmin.com/t/sql-execution-sql-backup-restore-fails/123116 2023-10-25 02:24:31 -07:00
Ilia Ross
d0691f273c Merge pull request #2035 from MiraMaX166/master
Russian localization update. Logviewer.
2023-10-20 07:40:27 +03:00
MiraMaX166
ef41362b57 Russian localization update. Logviewer. 2023-10-20 10:29:12 +06:00
Jamie Cameron
6942ce7f0f Merge branch 'master' of github.com:webmin/webmin 2023-10-19 13:17:26 -07:00
Jamie Cameron
97d1624bb0 Fix param to read only headers https://sourceforge.net/p/webadmin/usermin-bugs/501/ 2023-10-19 13:17:19 -07:00
Ilia Ross
a85fa2f8c2 Fix Cortex CPU detection in sensors output
https://forum.virtualmin.com/t/cpu-temp-id-missing-dashboard/123096
[build]
2023-10-19 20:35:57 +03:00
Ilia Ross
c0e20f024a Fix German translation
https://github.com/webmin/webmin/issues/2031
2023-10-19 15:40:00 +03:00
Ilia Ross
1c13b29aa6 Merge pull request #2032 from MiraMaX166/master
Russian localization update
2023-10-19 14:59:04 +03:00
MiraMaX166
ba623246a1 Russian localization update 2023-10-19 17:38:39 +06:00
Ilia Ross
e36f2051e3 Update .gitignore 2023-10-19 14:38:29 +03:00
Jamie Cameron
c0bc9daff3 Fix indent 2023-10-18 11:37:02 -07:00
Ilia Ross
5c0dc5d613 Add better display of locked files 2023-10-17 14:54:58 +03:00
Ilia Ross
a8f00d69f8 Fix to print specific action name 2023-10-17 02:20:56 +03:00
Ilia Ross
514b4f8def Fix to use ui_checked_columns_row for theme show right checkboxes 2023-10-17 02:09:25 +03:00
Ilia Ross
6cc6429a0f Fix to link to proc module 2023-10-17 01:52:57 +03:00
Ilia Ross
76b57bab75 Update CHANGELOG.md for 2.104 2023-10-16 21:42:57 +03:00
Ilia Ross
104375b5b5 Update translations 2023-10-16 21:30:05 +03:00
Ilia Ross
03f80d707e Fix stray tag 2023-10-15 15:33:11 +03:00
Jamie Cameron
3718835b23 New version bump 2023-10-14 22:50:09 -07:00
Jamie Cameron
eefb0cb32e Fix dupe strings 2023-10-14 22:49:47 -07:00
Jamie Cameron
691798f913 Finish off page showing active locks 2023-10-14 17:29:03 -07:00
Jamie Cameron
dec31a73a2 Merge branch 'master' of github.com:webmin/webmin 2023-10-13 08:10:29 -07:00
Ilia Ross
904545de89 Add user-friendly dependency list if installed manually [build] 2023-10-13 15:33:43 +03:00
Ilia Ross
b9f1d5df1d Fix to suppress output from init scripts
We already have `Attempting to start Webmin web server ..` being printed. As the init scripts have prompt we also need to handle it
2023-10-13 14:11:06 +03:00
Ilia Ross
46375d60c2 Fix to fall back to Framed Theme when there is no default [build] 2023-10-13 12:17:09 +03:00
Ilia Ross
ba29164e1d Fix to clear upstart script (CentOS 6) [build] 2023-10-13 11:54:46 +03:00
Ilia Ross
50d8ac3261 Add Time::HiRes to recommends [build] 2023-10-13 11:39:57 +03:00
Ilia Ross
e8fa36e7fd Fix to simplify update boot run [build] 2023-10-13 11:19:48 +03:00
Ilia Ross
c6b5768bf2 Fix to install missing init script [build] 2023-10-13 11:06:33 +03:00
Ilia Ross
0d0e9170b9 Add timeoutstopsec as well 2023-10-13 10:51:33 +03:00
Jamie Cameron
72f127fe0f UI to show active locks 2023-10-12 21:45:02 -07:00
Ilia Ross
3cdaaf2950 Fix custom PS1 for .bashrc module defaults 2023-10-12 20:45:31 +03:00
Ilia Ross
f980e3bb2e Update xterm.js to the latest [build] 2023-10-12 20:18:07 +03:00
Ilia Ross
e199d7e5be Fix to tell package manager to install deps as we provide it in vendor_perl
It may seem redundant but package manager (`dnf` in particular) won't install `perl-File-Basename` and `perl-File-Path` packages because Webmin `vendor_perl` already provides it. It will result in broken `webmin` sub-commands, like `passwd` and `server`, i.e. `webmin status`, `webmin restart` and etc., which use dependencies outside of the boilerplate.
2023-10-12 15:41:07 +03:00
Ilia Ross
fb662de8b4 Fix to load libraries from the Webmin 2023-10-12 15:33:31 +03:00
Ilia Ross
35d1fe0eb5 Add missing shared-mime-info to recommends [build] 2023-10-12 12:25:04 +03:00
Ilia Ross
b40fe2140d Fix hostname detection [build] 2023-10-12 10:38:03 +03:00
Jamie Cameron
4c8d27cf89 Can't be too careful 2023-10-11 22:47:27 -07:00
Jamie Cameron
895217865b Initial support for tracking locks 2023-10-11 22:46:01 -07:00
Jamie Cameron
87e386eb69 Merge branch 'master' of github.com:webmin/webmin 2023-10-11 21:02:23 -07:00
Jamie Cameron
384913506f Add function to get the DB character set 2023-10-11 21:02:17 -07:00
Jamie Cameron
4d88b1ad2b Merge pull request #2026 from webmin/dev/fix-installation-2023-11
Fix Webmin installation issues
2023-10-11 14:07:41 -07:00
Jamie Cameron
db071c39fb Merge pull request #2025 from webmin/dev/samba-support-utf8-names
Fix support for unicode names in Samba
2023-10-11 11:31:50 -07:00
Ilia Ross
766eaf635c Fix installation of missing init script 2023-10-11 18:57:48 +03:00
Ilia Ross
5dd8b95f5f Fix init desc 2023-10-11 18:51:22 +03:00
Ilia Ross
873490367d Fix to ensure systemd is the active init system #2022 2023-10-11 18:43:47 +03:00
Ilia Ross
0457c1d1c0 Fix not to double encode on modify 2023-10-11 16:46:44 +03:00
Ilia Ross
59b944ebff Fix to properly test unicode names 2023-10-11 16:46:26 +03:00
Ilia Ross
2e63031e22 Fix not to use bare words 2023-10-11 16:43:44 +03:00
Ilia Ross
6137f285f2 Fix not to use bare words 2023-10-11 14:46:44 +03:00
Ilia Ross
04557f6e28 Fix to check for config dir instead on systemd system 2023-10-10 23:47:05 +03:00
Ilia Ross
d7de842f45 Fix to change version in caller 2023-10-10 23:36:52 +03:00
Ilia Ross
ba1aa5a498 Add missing change 2023-10-10 18:58:48 +03:00
Ilia Ross
b70a697e66 Update CHANGELOG.md 2023-10-10 18:54:53 +03:00
Jamie Cameron
c4c2c5c38e Add a 10 second timeout to handle the case where a client connects but doesn't start a valid SSL session 2023-10-09 22:55:18 -07:00
Jamie Cameron
bbe7e78516 Log timeout to wait for 2023-10-09 21:59:50 -07:00
Jamie Cameron
e40fc5568b Merge branch 'master' of github.com:webmin/webmin 2023-10-09 20:44:31 -07:00
Jamie Cameron
71d94982df Make UI for locking page more consistent 2023-10-09 20:44:24 -07:00
Ilia Ross
d48154d6a0 Fix reading hostname from file as hostnamectl depends on it anyway #2020 2023-10-09 21:14:31 +03:00
Ilia Ross
949f6fbf8d Merge branch 'master' of github.com:webmin/webmin 2023-10-09 18:43:05 +03:00
Ilia Ross
3c97fc5a32 Fix to check if UI function exists #2021 2023-10-09 18:41:19 +03:00
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
11e3fcc3a6 Fix iframe height calculations 2023-05-31 16:13:08 +03:00
iliajie
87c087dda9 Fix to literalize @ 2023-05-31 15:35:42 +03: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
iliajie
adbd30bacc Fix to switch default view mode to HTML/plaintext 2023-05-30 22:02:51 +03:00
iliajie
e7a769ccf8 Fix not to replace on UTF-8 string to avoid encoding issues (e.g. �) 2023-05-30 16:55:51 +03:00
iliajie
349a1f5873 Fix to fully strip <style> and <script> tags content (not text data) 2023-05-30 16:48:35 +03:00
iliajie
f7a13c9f9e Fix to Recommend: lynx as it still produces the best results 2023-05-30 16:28:33 +03:00
iliajie
62d3c08fbd Add to use Perl HTML formatter if available 2023-05-30 16:26:56 +03:00
iliajie
9296b12a71 Fix to correctly convert UTF-8 emails 2023-05-30 15:56:42 +03:00
iliajie
2e06ab94b6 Fix to use formal params in html_to_text sub 2023-05-30 14:28:05 +03:00
iliajie
8938680044 Fix code readability 2023-05-30 13:57:23 +03:00
iliajie
ece9d2af52 Fix to make spinner name more precise 2023-05-30 13:54:27 +03:00
iliajie
185d2b546e Fix not to use inline styling 2023-05-30 13:53:21 +03:00
iliajie
d6e21f43ce Fix missing semicolon 2023-05-30 13:52:05 +03:00
iliajie
3f470a4bcd Fix to use more common here-doc to print multiline 2023-05-30 13:48:39 +03:00
iliajie
9e714d7f57 Fix to use a function call for onload event in mail iframe 2023-05-30 13:16:18 +03:00
iliajie
8cd0b8ab49 Fix to allow allow-same-origin and allow-popups-to-escape-sandbox 2023-05-30 12:46:17 +03:00
iliajie
1f339f2085 Fix to always sandbox email content 2023-05-30 11:48:14 +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
iliajie
121cbc4a95 Add a button to display images on demand (not allow by default) 2023-05-30 00:37:20 +03:00
iliajie
93cc86315d Add better indications for hidden images 2023-05-30 00:36:36 +03:00
iliajie
76bf9ffd62 Add to use a new iframe_body API 2023-05-29 23:59:05 +03:00
iliajie
8319033bfa Add API to put HTML email body to iframe element 2023-05-29 23:30:02 +03:00
iliajie
cb6e110f40 Fix not to remove images completely, as we can border them nicely 2023-05-29 23:29:18 +03:00
Jamie Cameron
48abceeebd Merge branch 'master' of github.com:webmin/webmin 2023-05-28 15:32:56 -07:00
Jamie Cameron
dc530e2faa Switch the default YUM repository to the new repo with a new key 2023-05-28 15:32:44 -07:00
iliajie
3191805a88 Fix to use alert instead of text message 2023-05-28 19:57:27 +03:00
Jamie Cameron
d19809b79b Merge branch 'master' of github.com:webmin/webmin 2023-05-26 16:41:53 -07:00
Jamie Cameron
ed1b7e862c Build with the new key as well 2023-05-26 16:41:45 -07:00
iliajie
d33b1e2681 Fix to always set oldhost upon user creation #1909 2023-05-26 22:38:06 +03:00
iliajie
d62f474d12 Fix double escaping for HTML entities in error messages 2023-05-26 21:59:11 +03:00
iliajie
8df605cb15 Fix warning "my" variable $err masks earlier declaration in same scope 2023-05-26 15:34:20 +03:00
iliajie
10a56c13b5 Merge remote-tracking branch 'origin/master' 2023-05-26 15:22:52 +03:00
iliajie
820e128c14 Fix not to add extra line 2023-05-26 14:00:39 +03:00
Jamie Cameron
39ef3f8c65 Also load new key 2023-05-25 17:08:56 -07:00
Jamie Cameron
ada885ef41 Update session DB with actual remote IP https://github.com/webmin/authentic-theme/issues/1653 2023-05-25 16:50:15 -07:00
Jamie Cameron
6f7e322349 Fix perl error 2023-05-24 21:51:47 -07:00
Jamie Cameron
1f46918693 Also check host field 2023-05-24 21:46:12 -07:00
Jamie Cameron
e29bb0eb53 Merge pull request #1913 from johnheenan/master
Fix for failure to re-start DNS BIND on slave servers
2023-05-24 21:44:20 -07:00
John Heenan
102da88262 Fix for failure to re-start DNS BIND on slave servers
See https://github.com/virtualmin/virtualmin-gpl/issues/565
2023-05-25 14:27:31 +10:00
Jamie Cameron
1f28b054fe Merge branch 'master' of github.com:webmin/webmin 2023-05-24 14:56:32 -07:00
Jamie Cameron
79426c6aec pg_shadow_table returns two values 2023-05-24 14:56:25 -07:00
iliajie
d08d4a22d1 Fix to use a nicer alert box 2023-05-24 20:24:32 +03:00
iliajie
c66c078bde Fix to correctly set user password on MySQL user creation https://github.com/webmin/webmin/issues/1909 2023-05-24 18:48:33 +03:00
Jamie Cameron
ec1501b329 Also import the new key 2023-05-23 11:51:57 -07:00
Jamie Cameron
4bf101d988 Also import the new key 2023-05-23 11:48:10 -07:00
Jamie Cameron
58a7faa684 New 4096 bit signing key 2023-05-23 11:42:43 -07:00
Jamie Cameron
4ac9d06f3a Merge branch 'master' of github.com:webmin/webmin 2023-05-23 11:15:19 -07:00
Jamie Cameron
2c93a3c694 Detect all the installed Apache modules 2023-05-23 11:15:13 -07:00
iliajie
51595a6a92 Fix as there are two params actually 2023-05-23 19:10:34 +03:00
iliajie
9d382df56d Fix to drop not really used --product-type for now 2023-05-23 19:05:04 +03:00
iliajie
79be97bbe4 Update usage 2023-05-23 18:53:18 +03:00
iliajie
cbc3078125 Fix to eval HTML::Entities as not always required 2023-05-23 16:20:08 +03:00
iliajie
12822f97e5 Update usage ; add product type for Debian 2023-05-23 16:03:30 +03:00
iliajie
fab2a1c871 Fix to slurp file using local $/ instead 3de93296a9 (r114530097) 2023-05-23 14:12:28 +03:00
iliajie
c4fdb9524f Fix to revert accidentally stomped changes in PR #1910 2023-05-23 13:58:48 +03:00
Jamie Cameron
8ffaf20d58 Merge pull request #1910 from webmin/dev/safely-read-potentially-dangerous-files
Add ability to read potentially dangerous files safely or force download
2023-05-22 19:50:16 -07:00
iliajie
9b15a63781 Add Wants and After for the service file 2023-05-22 21:06:16 +03:00
iliajie
fc0efe9ed5 Revert "master-branch accidental merge"
This reverts commit 3996ff205f.
2023-05-22 12:31:12 +03:00
iliajie
c4866735ba Fix to always download altered file (no banner) 2023-05-22 12:07:37 +03:00
iliajie
ee1c42960a Merge branch 'dev/safely-read-potentially-dangerous-files' of github.com:webmin/webmin into dev/safely-read-potentially-dangerous-files 2023-05-22 12:04:33 +03:00
iliajie
fb947920ef Fix to drop Conflicts: ; fix specs file name for typed version 2023-05-21 23:23:28 +03:00
iliajie
b9c154911a Fix to finally use Conflicts: 2023-05-21 23:09:42 +03:00
iliajie
95f31ab26b Fix to actually provide required name, i.e. always webmin 2023-05-21 22:45:59 +03:00
iliajie
e504bd7e8e Fix not to use Conflicts: ; Provide %{name}-%{version} only 2023-05-21 22:36:06 +03:00
iliajie
9ecfb06187 Add provided extra type if given 2023-05-21 22:22:41 +03:00
iliajie
27d8eea869 Fix to try Conflicts: as well 2023-05-21 22:11:38 +03:00
iliajie
69d359c4fe Fix Obsoletes: to include %{version}-%{release} number 2023-05-21 21:59:39 +03:00
iliajie
1df55f32eb Add x-source-rpm image 2023-05-21 21:47:01 +03:00
iliajie
e92a82142a Fix to use correct variable name 2023-05-21 21:33:27 +03:00
iliajie
6eb3e42e17 Add accidentally removed $rpmspec_obsoletes variable 2023-05-21 21:20:02 +03:00
iliajie
146e4d0899 Add support to replace packages (using Obsoletes:) 2023-05-21 21:09:39 +03:00
iliajie
8a7abe98f2 Add support for product types 2023-05-21 20:15:43 +03:00
iliajie
338df27457 Fix to make param name exact 2023-05-21 18:10:47 +03:00
iliajie
76c7ca743a Add support to exclude passed modules (for new essential nightly builds) 2023-05-21 16:34:39 +03:00
iliajie
3aa58e4523 Add support to clean build directory by removing extra language files
e.g.:
./language-manager --mode=clean
2023-05-21 15:00:38 +03:00
Jamie Cameron
74373af3de Merge branch 'master' of github.com:webmin/webmin 2023-05-20 17:00:51 -07:00
Jamie Cameron
3996ff205f Handle case where the root user for testing PAM has no password https://github.com/webmin/webmin/issues/1911 2023-05-20 16:26:54 -07:00
iliajie
794ca0f651 Add ability to read potentially dangerous files safely or force download 2023-05-20 12:05:03 +03:00
iliajie
e288f1b955 Revert recent changes to add on the PR instead https://github.com/webmin/webmin/issues/1907#issuecomment-1555642036 2023-05-20 12:01:57 +03:00
Jamie Cameron
f22bada12c Merge pull request #1908 from webmin/dev/add-url-redirect-tester
Add API to check if given URL redirects somewhere
2023-05-19 16:16:58 -07:00
iliajie
6af198b2f1 Fix to never double escape certain HTML entities (can be already escaped) 2023-05-19 13:53:10 +03:00
iliajie
3de93296a9 Fix to improve un-safe downloads https://github.com/webmin/webmin/issues/1907#issuecomment-1553946236 2023-05-19 13:23:43 +03:00
iliajie
29bb158ef4 Fix to drop obsolete code 2023-05-18 22:10:28 +03:00
iliajie
7b37cedaf6 Fix to filter possible JavaScript in PDF files https://github.com/webmin/webmin/issues/1907#issuecomment-1552117601 2023-05-18 21:38:22 +03:00
iliajie
18392aab61 Add more sense to variables names 2023-05-18 20:13:24 +03:00
iliajie
702fc7d584 Fix to return error straight away 2023-05-18 19:53:24 +03:00
iliajie
cc15a65c47 Fir variables declarations 2023-05-18 19:50:57 +03:00
iliajie
377c64ef47 Add comments 2023-05-18 19:18:56 +03:00
iliajie
43edaacada Fix to provide full details on each hop and improve data structures 2023-05-18 16:43:58 +03:00
iliajie
b1f0c46059 Add support for multi hops in redirects 2023-05-18 12:14:49 +03:00
iliajie
6a693e3dc7 Fix path key name 2023-05-18 12:14:17 +03:00
iliajie
2436c25a46 Fix to reduce timeout 2023-05-18 12:13:45 +03:00
iliajie
352e3855db Fix to only use Webmin code 2023-05-17 23:51:38 +03:00
iliajie
46e8076793 Fix indent 2023-05-17 22:23:14 +03:00
iliajie
d308aa8ae8 Fix not to check for SSL certificate 2023-05-17 22:04:43 +03:00
iliajie
96132e28d6 Fix to test if redirected URL can be resolved 2023-05-17 21:38:36 +03:00
iliajie
b0731f6e35 Add to use LWP::UserAgent if available 2023-05-17 17:31:42 +03:00
iliajie
a4f7cb1f8c Add API to check if given URL redirects somewhere 2023-05-17 16:59:00 +03:00
iliajie
953c4ed020 Fix to consider all variations of HTML types 2023-05-17 11:53:06 +03:00
iliajie
d5a3eebe85 Fix to read full size of dangerous type 2023-05-17 11:13:22 +03:00
iliajie
c92395176f Fix to consider XML too #1907 2023-05-16 14:41:09 +03:00
Jamie Cameron
ab44aa8023 When showing HTML, filter out any JS 2023-05-15 20:48:52 -07:00
Jamie Cameron
152414d631 Revert "Fix to always force text/plain for all kind for text #1907"
This reverts commit 5e9f137adf.
2023-05-15 20:45:10 -07:00
iliajie
5e9f137adf Fix to always force text/plain for all kind for text #1907 2023-05-16 00:50:41 +03:00
iliajie
f29d01a7be Add HTML escape for the names of users being deleted 2023-05-15 21:34:40 +03:00
iliajie
87aa2576c2 Add HTML escape for the names of groups being deleted 2023-05-15 21:32:18 +03:00
Jamie Cameron
728ae07eed Merge branch 'master' of github.com:webmin/webmin 2023-05-15 11:16:38 -07:00
Jamie Cameron
cfd66281eb Add some more sensible username checks 2023-05-15 11:16:30 -07:00
iliajie
e8526e00b4 Add more escapes 2023-05-15 20:44:11 +03:00
iliajie
b5b6c44d5f Fix to HTML escape passed package name 2023-05-15 20:37:33 +03:00
iliajie
8f1a5a6376 Fix error formatting 2023-05-15 20:36:15 +03:00
iliajie
9f58118635 Fix to HTML escape description too 2023-05-15 20:26:06 +03:00
iliajie
d34994b5c0 Fix HTML escapes for custom log files 2023-05-15 20:22:57 +03:00
iliajie
07f8f1df4e Fix HTML and quote escapes for user and group choosers 2023-05-15 20:03:53 +03:00
iliajie
04d75bc526 Fix missing HTML escapes for select option 2023-05-15 18:47:33 +03:00
iliajie
cf9e00060b Fix missing lang line 2023-05-15 17:05:12 +03:00
iliajie
a21ad361d9 We do need to clean on Debian https://github.com/webmin/webmin.com/issues/4#issuecomment-1546456885 2023-05-13 20:26:24 +03:00
Jamie Cameron
873c324d0d Merge pull request #1906 from webmin/dev/add-ui_paginations-api
Add a new `ui_paginations` API
2023-05-13 09:43:54 -07:00
Jamie Cameron
3504c3f389 Merge pull request #1904 from webmin/dev/useradmin-pagination
Add support for paginated tables in Users and Groups module
2023-05-13 09:39:59 -07:00
Ilia
5f17149189 Merge branch 'master' into dev/add-ui_paginations-api 2023-05-13 19:31:08 +03:00
iliajie
baf8a643bb Fix to always use get method with paginations to avoid bugs 2023-05-13 16:46:55 +03:00
iliajie
1236027445 Fix to use get by default as it's better for returns 2023-05-13 16:21:11 +03:00
iliajie
2160a3d47a Fix to put pagination data to the main form 2023-05-13 16:06:44 +03:00
iliajie
9077922c57 Fix to use proper get_referer_relative to return to referred page 2023-05-13 16:03:52 +03:00
iliajie
a27ae8b7be Add support to pass elements to the parent form 2023-05-13 16:02:45 +03:00
iliajie
d572edb7ed Fix form targets submission ; fix elements duplication bug 2023-05-13 15:33:28 +03:00
iliajie
d4dcf6314c Add sanity check for minimum items per page 2023-05-13 13:38:15 +03:00
iliajie
c7367e0f46 Fix pagination with jail blocks to use new data structures 2023-05-13 13:31:39 +03:00
iliajie
8ae1c01b5e Fix to run hotkeys initializer script 2023-05-13 13:20:34 +03:00
iliajie
996227d197 Fix to refactor input and output data structures 2023-05-13 13:16:38 +03:00
iliajie
2081cf7002 Fix offsets and use a better structure for holding data 2023-05-13 12:45:04 +03:00
iliajie
3ec090f222 Fix default offsets 2023-05-13 12:24:59 +03:00
iliajie
7e417a84e8 Update description 2023-05-13 12:17:04 +03:00
iliajie
5d955fe3c8 Fix to undo dropped key 2023-05-13 11:57:10 +03:00
Jamie Cameron
117c97fcb9 No need to clean repos https://github.com/webmin/webmin.com/issues/4 2023-05-12 17:14:49 -07:00
Jamie Cameron
a8748f3e97 Merge pull request #1905 from webmin/dev/pass-client-height
Add ability to pass browser's client height to the server
2023-05-12 15:40:47 -07:00
iliajie
8f46fbf836 Fix right arrow to be consistent with left 2023-05-12 22:28:33 +03:00
iliajie
1e97b55c9d Add ability for listing paginated pages using "Alt + left/right" hotkeys 2023-05-12 15:13:28 +03:00
Ilia
26935dcda6 Merge branch 'master' into dev/pass-client-height 2023-05-12 13:47:36 +03:00
iliajie
7188b3581a Add new ui_paginations API 2023-05-12 13:44:19 +03:00
iliajie
e63defe0d3 Fix to take away a new ui_paginations sub to discuss on the PR instead 2023-05-12 13:42:13 +03:00
iliajie
9eb2624deb Add ability to pass browser's client height to the server 2023-05-12 12:02:58 +03:00
iliajie
bd2339aae4 Revert partially "Fix to generally set client height for all modules" 2023-05-12 11:59:09 +03:00
iliajie
cfa2e38162 Fix to drop no longer need code to inject client height into forms 2023-05-12 11:47:06 +03:00
iliajie
3fa50f7222 Revert "Fix to drop no longer need code .. " for ui-lib.pl only 2023-05-12 11:45:40 +03:00
iliajie
696199033c Fix to drop an option to enable paginating and let it just work 2023-05-12 11:27:02 +03:00
iliajie
05a34b099f Revert "Update config to include new option"
This reverts commit 52450a7b3b.
2023-05-12 10:51:40 +03:00
iliajie
b9b2546060 Fix to drop no longer need code to inject client height 2023-05-12 10:49:48 +03:00
Ilia
fa265c094b Merge branch 'master' into dev/useradmin-pagination 2023-05-11 21:40:58 +03:00
iliajie
d915a3aacd Fix to use right header name 2023-05-11 21:39:52 +03:00
iliajie
c145c117af Fix to drop passing client height in requests 2023-05-11 16:11:07 +03:00
iliajie
f42bb4ef1b Fix menu animation not to be annoying 2023-05-11 15:16:48 +03:00
iliajie
550c21bca7 Fix logos size 2023-05-11 15:15:52 +03:00
iliajie
cc24384fea Fix clear search button to look inbuilt into search field 2023-05-11 13:20:06 +03:00
iliajie
17d4090c45 Fix to generally set client height for all modules 6310521982 (r112805733) 2023-05-11 12:32:57 +03:00
Jamie Cameron
2bbf06af99 Merge pull request #1902 from MSSEsq/master
Update Apache HTTP Server Support to V. 2.4 from Expired V. 2.2 on FreeBSD and Solaris Unix
2023-05-10 17:05:45 -07:00
iliajie
699c9b9696 Fix to make sure that client height is set on initial load 2023-05-10 20:24:46 +03:00
iliajie
52450a7b3b Update config to include new option 2023-05-10 17:09:06 +03:00
iliajie
2be0169902 Add support for paginated tables in Users and Groups module 2023-05-10 16:49:15 +03:00
iliajie
295d3275bb Fix not to change default line height 2023-05-10 16:41:43 +03:00
iliajie
7e8788cec3 Fix to support multiple instances of ui_paginations on a single page 2023-05-10 16:41:10 +03:00
iliajie
5f46f05ba4 Add support for searching paginated with hashes too 2023-05-10 11:46:52 +03:00
iliajie
c68ffa8eb7 Fix pagination items counts 2023-05-10 10:50:57 +03:00
iliajie
9b42e6d92a Fix to use caller's pagination number if any 2023-05-10 10:50:03 +03:00
Michael S. Scaramella, Esq
a698576f59 Update config-solaris-11-ALL
The apparent need to edit this file to support the Apache HTTP Server 2.4 on Solaris was noticed when performing Spotlight searches on download code. We do not run Solaris, so cannot test these edits, yet they seem quite likely to be correct. Any needed corrections made by anyone running Solaris are welcome.
2023-05-09 19:59:27 -04:00
Michael S. Scaramella, Esq
9d081e49d9 Update ports-lib.pl
The edits update the Apache package names to versions 2.4. Versions 2.2 expired on 2017-07-01.
2023-05-09 19:47:07 -04:00
Michael S. Scaramella, Esq
9a1da695cd Update pkg-lib.pl
The edits update the Apache package names to versions 2.4. Versions 2.2 expired on 2017-07-01.
2023-05-09 19:39:28 -04:00
Michael S. Scaramella, Esq
913e326a71 Create config-freebsd-11.0-ALL
This new configuration file adds support for Apache HTTP Server 2.4 on FreeBSD 11.0 and later.
2023-05-09 19:04:39 -04:00
Michael S. Scaramella, Esq
1b3db94b73 Rename config-freebsd-8.0-ALL to config-freebsd-8.0-10.4
This configuration file must be renamed to include a FreeBSD version range to accommodate a new configuration file named “config-freebsd-11.0-ALL” that supports Apache HTTP Server V. 2.4 on FreeBSD versions 11.0 and later.
2023-05-09 19:00:57 -04:00
iliajie
0dc11e7385 Fix client height calculation for Framed Theme 2023-05-09 23:18:15 +03:00
iliajie
c03fefd36d Fix to update client height on form change dynamically (before submit) 2023-05-09 22:56:54 +03:00
iliajie
15c81e8ace Fix wrong sting transfer 2023-05-09 22:41:29 +03:00
iliajie
3683c0e06c Add support for multiple paginations in a single page 2023-05-09 19:53:15 +03:00
iliajie
8c15fc9fdb Fix escapes ; add support to display items on page
e.g.: Showing 43 to 64 of 83 items on page  ⏴ 3 of 4 pages ▸
2023-05-09 13:15:33 +03:00
Jamie Cameron
25e5b2f4fc Use new used field 2023-05-08 20:56:33 -07:00
Jamie Cameron
41a7d61df4 Collect used disk space separately 2023-05-08 20:55:05 -07:00
Jamie Cameron
ad93a7cc53 Merge branch 'master' of github.com:webmin/webmin 2023-05-08 17:39:46 -07:00
Jamie Cameron
7edccbe38b Newer DBD::mysql versions need to set mysql_ssl_optional to not fail if mandatory SSL isn't supported https://forum.virtualmin.com/t/remote-mysql-server-ssl-connection-issue/120683 2023-05-08 17:39:31 -07:00
iliajie
6310521982 Add support for listing jail blocks with pagination 2/2 2023-05-08 23:56:04 +03:00
iliajie
ae544ec580 Add support for listing jail blocks 1/2
https://forum.virtualmin.com/t/firewalld-module/116515/12
2023-05-07 21:24:30 +03:00
Jamie Cameron
c2bbb27de4 Using the back button to return doesn't refresh the page 2023-05-06 21:43:46 -07:00
Jamie Cameron
797c38b9e6 Merge branch 'master' of github.com:webmin/webmin 2023-05-06 14:51:21 -07:00
Jamie Cameron
2a1c5ce79c Reuse the existing let's encrypt key by default http://github.com/virtualmin/virtualmin-gpl/issues/414 2023-05-06 14:49:44 -07:00
iliajie
e260a96d93 Add API to use theme dependent code for page refresh 2023-05-06 12:54:13 +03:00
iliajie
4e96552b03 Fix to factor out read_help_file sub to be accessible by theme 2023-05-06 12:01:06 +03:00
iliajie
9a29c6f98e Fix search use absolute path for file
e.g. search for `Days before expiry` doesn't search for Virtualmin help in Authentic Theme
2023-05-05 13:24:29 +03:00
iliajie
fae07aed8a Fix if defined 2023-05-04 14:31:22 +03:00
iliajie
62a3c9f237 Merge remote-tracking branch 'origin/master' 2023-05-04 13:09:37 +03:00
iliajie
cdf715ad2e Fix to test expired password correctly 2023-05-04 13:09:16 +03:00
Jamie Cameron
33a8c5c8af Fix check for values field 2023-05-03 17:01:40 -07:00
iliajie
06ae7b8582 Fix undefined error fa42a98acb (commitcomment-111597917) 2023-05-03 16:27:00 +03:00
Jamie Cameron
9cf714d014 Use the correct shadow table name https://github.com/webmin/webmin/issues/1898 2023-05-01 20:02:10 -07:00
Jamie Cameron
d1fe5d1bae Merge branch 'master' of github.com:webmin/webmin 2023-04-30 21:44:38 -07:00
Jamie Cameron
f9c4cacd6c SCRIPT_NAME isn't a safe variable to use, because sometimes Virtualmin sets it 2023-04-30 21:43:33 -07:00
Jamie Cameron
ce7e966c1a Merge pull request #1897 from webmin/dev/firewalld-edit-configs-manually
Add support to edit FirewallD config files manually
2023-04-30 14:43:48 -07:00
Jamie Cameron
625f4ac93c Fix check for missing value! 2023-04-30 10:54:58 -07:00
iliajie
fa311d5288 Add support to edit FirewallD config files manually 2023-04-30 18:43:36 +03:00
Jamie Cameron
fa42a98acb Use values array if value isn't set https://forum.virtualmin.com/t/dns-not-appearing-on-slaves/120477 2023-04-28 20:08:09 -07:00
Jamie Cameron
81a8607628 Use lc to lower case 2023-04-28 13:59:19 -07:00
Jamie Cameron
2626d01005 Merge branch 'master' of github.com:webmin/webmin 2023-04-28 12:00:35 -07:00
Jamie Cameron
1e5032c7a3 Don't reference non-existent values 2023-04-28 12:00:04 -07:00
iliajie
5dc2281e66 Fix password change screen pop up on every login 20d07a17a8 2023-04-28 11:02:19 +03:00
iliajie
70fce1f97e Fix not to display no password option 2023-04-27 23:11:55 +03:00
iliajie
da1ee58a7c Fix to use offset rather than zone name https://github.com/virtualmin/virtualmin-gpl/issues/552 2023-04-26 11:30:53 +03:00
iliajie
4b3ef986bf Merge branch 'master' of github.com:webmin/webmin 2023-04-26 09:32:22 +03:00
iliajie
14a07d4959 Fix to test if home directory is writable https://github.com/webmin/webmin/issues/1892#issuecomment-1522680504
Introduced with: https://github.com/webmin/webmin/commit/f46cc45
2023-04-26 09:30:24 +03:00
Jamie Cameron
e3d4d2427c Merge branch 'master' of github.com:webmin/webmin 2023-04-25 20:47:48 -07:00
Jamie Cameron
9bcee57c7c Try lower case username if upper case doesn't exist https://github.com/virtualmin/virtualmin-gpl/issues/553 2023-04-25 20:47:07 -07:00
Jamie Cameron
896fedf590 Merge pull request #1895 from martelrotschy/dev/fix-pdbedit-bug
Fixes webmin/webmin#1894
2023-04-25 19:52:37 -07:00
Martel
12e6b19586 Fixed issue with pdbedit in samba-lib.pl
Invalid option for pdbedit that broke due to a recent update of samba-common
2023-04-25 17:42:14 -07:00
iliajie
3f322bee84 Fix to also animate menu's main content 2023-04-19 11:26:07 +03:00
Jamie Cameron
20d07a17a8 Sync password expiry logic with Linux https://forum.virtualmin.com/t/personalized-warning-in-password-policy/120228 2023-04-18 21:43:15 -07:00
Jamie Cameron
24b59c5b85 No need for this check now that create_wrapper has been extracted 2023-04-18 15:58:27 -07:00
Jamie Cameron
e5249a6e3b No need for a wrapper around the wrapper function 2023-04-18 15:44:40 -07:00
Jamie Cameron
a3140c03da Merge pull request #1887 from webmin/dev/xterm-in-usermin
Add support for Terminal to work in Usermin
2023-04-18 15:34:42 -07:00
iliajie
d154935e8f Fix to factor out create_wrapper sub 2023-04-18 21:21:30 +03:00
Jamie Cameron
db8d712d83 When the cron module is being used as an API in usermin, leave user switching up to the caller 2023-04-18 10:11:49 -07:00
iliajie
d500367bdd Fix missing end line 2023-04-18 18:00:33 +03:00
iliajie
03d245384d Fix not to depend on Cron 2023-04-18 17:51:23 +03:00
iliajie
a89415739b Merge remote-tracking branch 'origin/master' 2023-04-17 23:02:32 +03:00
iliajie
e81c869531 Fix to smooth top switches load 2023-04-17 23:02:21 +03:00
Jamie Cameron
690005a04f Make purpose of config options clearer https://github.com/webmin/webmin/issues/1886 2023-04-16 21:23:21 -07:00
Jamie Cameron
47043a41c5 Bridge support in Netplan 2023-04-16 20:29:19 -07:00
iliajie
5aaa81eeb6 Add support for Terminal to work in Usermin 2023-04-16 22:11:12 +03:00
Jamie Cameron
b9ed596e3e Add another bridge parameter field 2023-04-16 11:00:59 -07:00
Jamie Cameron
e07db9663b Work on bridge support for netplan 2023-04-16 00:01:17 -07:00
Jamie Cameron
48078357a3 Add formal params 2023-04-15 18:24:21 -07:00
Jamie Cameron
9098936fc2 Add support for SSHA password hashing, and use it if possible 2023-04-15 18:22:43 -07:00
Jamie Cameron
b425bdfbb7 Better handle the default mode 2023-04-14 15:43:07 -07:00
Jamie Cameron
392c010840 Fix merge conflicts 2023-04-14 15:41:05 -07:00
Jamie Cameron
91a20d4b08 The default for PermitRootLogin is prohibit-password https://forum.virtualmin.com/t/transferring-sites-using-ssh/120192/7 2023-04-14 15:39:09 -07:00
iliajie
1db77e36eb Update translations 2023-04-13 12:00:23 +03:00
iliajie
a927647a07 Fix to properly handle prohibit-password option 2023-04-13 11:55:43 +03:00
Jamie Cameron
0cc62bf748 Merge branch 'master' of github.com:webmin/webmin 2023-04-10 21:23:32 -07:00
Jamie Cameron
37abb2707b No need for separate SSL option when using a list of URIs https://github.com/webmin/webmin/issues/1883 2023-04-10 21:23:25 -07:00
iliajie
31b2f92b88 Fix to use HTML entity for space 2023-04-10 20:39:57 +03:00
Jamie Cameron
850030ed17 Add support for reporting status to an HTTP webhook https://github.com/webmin/webmin/issues/1733 2023-04-09 16:01:12 -07:00
Jamie Cameron
c94e5d9aa0 Fix logic 2023-04-08 09:35:21 -07:00
Jamie Cameron
215bfe083b Bridges can also have IP addresses https://forum.virtualmin.com/t/virtualmin-pro-issue-with-domains-on-dedicated-ip/120094/18 2023-04-07 18:15:15 -07:00
Jamie Cameron
af11d17cbd Merge branch 'master' of github.com:webmin/webmin 2023-04-06 18:37:42 -07:00
Jamie Cameron
60141efc8e Show stderr if we have it 2023-04-06 18:37:36 -07:00
iliajie
7ea1236eb6 Add support for passing HTML attributes and classes to ui_table_row sub 2023-04-06 16:16:58 +03:00
Jamie Cameron
a6597f6ebe Merge branch 'master' of github.com:webmin/webmin 2023-04-05 21:00:10 -07:00
Jamie Cameron
31d69174fc Actually return the value of the password field https://forum.virtualmin.com/t/mysql-root-password-leaks-to-users-during-backup/120096/5 2023-04-05 20:59:47 -07:00
iliajie
364c37d755 Fix to consider Current Drive Temperature in smartctl output #1881 2023-04-05 15:03:06 +03:00
Jamie Cameron
c9c672a6a7 Fix permissions fix 2023-04-04 21:52:47 -07:00
Jamie Cameron
042e7de2f7 Add support for editing header_checks and mime_header_checks separately https://github.com/webmin/webmin/issues/1880 2023-04-04 21:52:01 -07:00
Jamie Cameron
4b64ef0073 Merge branch 'master' of github.com:webmin/webmin 2023-04-04 21:29:19 -07:00
Jamie Cameron
db869203db Add option to EHLO keywords to not send https://github.com/webmin/webmin/issues/1879 2023-04-04 21:28:54 -07:00
iliajie
36f2e5d077 Fix to properly handle macOS mode #1877 2023-04-04 18:31:55 +03:00
iliajie
eaaa470818 Fix to properly stop Usermin https://github.com/webmin/usermin/issues/89 2023-04-03 18:50:58 +03:00
Jamie Cameron
e9f6ab278d Merge branch 'master' of github.com:webmin/webmin 2023-03-29 17:27:57 -07:00
Jamie Cameron
764533a6e5 Don't add hashed password to the old password list if it's already in there https://github.com/virtualmin/virtualmin-pro/issues/35 2023-03-29 17:27:01 -07:00
iliajie
0f0e6ba516 Fix to print status from last schedule in alert box 2023-03-26 13:34:33 +03:00
iliajie
8c0107f241 Add placeholder for the local file in backup destination 2023-03-25 20:00:25 +02:00
iliajie
e0738d301b Fix to use alert when printing a warning 2023-03-25 19:43:40 +02:00
iliajie
c7393d6e17 Fix to default to enable date subs 2023-03-25 19:43:25 +02:00
iliajie
8694adcf93 Add placeholder for the local file in backup destination 2023-03-24 20:21:52 +02:00
iliajie
483fb9074b Fix not to print extra empty row 2023-03-24 20:18:25 +02:00
iliajie
a2adf19b80 Fix to use better warning 2023-03-24 19:58:01 +02:00
Jamie Cameron
0b8611b4fd Merge pull request #1869 from webmin/dev/consider-upgrade-dir
Fix to consider initial install directory and preserve install type upon upgrading
2023-03-22 15:45:24 -07:00
iliajie
8c50a2d147 Fix to preserv package type 2023-03-22 20:42:59 +02:00
iliajie
03606c8214 Fix to consider initial install directory upon upgrading 2023-03-22 20:15:49 +02:00
Ilia
43159eef0c Merge pull request #1868 from bisbastuner/patch-1
Fix wrong condition when asking first
2023-03-21 21:00:24 +02:00
bisbastuner
6ebce2bdce Fix wrong condition when asking first
The second test was wrong, it exits if the user asks with a capital Y. Fix by exiting only if the answer from the user is different from a lowercase y AND a capital Y
2023-03-21 19:55:42 +01:00
Jamie Cameron
87e6397f27 Minor version bump 2023-03-20 22:50:50 -07:00
Jamie Cameron
188e1aeb88 Merge branch 'master' of github.com:webmin/webmin 2023-03-19 15:22:54 -07:00
Jamie Cameron
eff6228928 Don't bother formatting if number of bytes is undefined 2023-03-19 15:20:57 -07:00
iliajie
ce0819b1ed Update CHANGELOG.md 2023-03-19 19:56:43 +02:00
iliajie
01ea77ebca Fix to fail-proof time zone detection #1865 2023-03-19 19:05:23 +02:00
Jamie Cameron
24dba0f32b Quote everything 2023-03-18 18:11:28 -07:00
Jamie Cameron
409064bb24 Use version compare function 2023-03-18 17:36:28 -07:00
Jamie Cameron
2be51bb8d3 Merge branch 'master' of github.com:webmin/webmin 2023-03-18 16:32:48 -07:00
Jamie Cameron
058230ab3d Clear caches before checking for updates, so it's always fresh https://github.com/webmin/webmin/issues/1863 2023-03-18 16:30:09 -07:00
iliajie
b151fcaf15 Merge remote-tracking branch 'origin/master' 2023-03-18 17:54:35 +02:00
iliajie
0b99afaa0f Fix comment 2023-03-18 17:54:16 +02:00
Jamie Cameron
a3808605d6 Merge branch 'master' of github.com:webmin/webmin 2023-03-17 20:24:20 -07:00
Jamie Cameron
00726bb577 Code order cleanup 2023-03-17 20:24:13 -07:00
iliajie
8bd1c56743 Fix code indent 2023-03-18 04:15:00 +02:00
iliajie
6e7eced812 Fix to resolve links before testing allowed path 2023-03-18 01:28:21 +02:00
iliajie
b25d128665 Fix formatting for the program 2023-03-17 20:25:43 +02:00
iliajie
b9891fffc2 Update translations 2023-03-17 17:53:18 +02:00
iliajie
cc591c3e91 Add ability to set locale in Webmin Users module for consistency 2023-03-17 17:23:54 +02:00
iliajie
88eb228f77 Fix to always set time to "beginning" in case of undef value 2023-03-16 20:42:15 +02:00
Jamie Cameron
7c40195c14 Don't ever call make_date on undef https://github.com/webmin/webmin/issues/1860 2023-03-16 11:27:04 -07:00
Jamie Cameron
ce65643c03 Fix indentation 2023-03-16 11:23:47 -07:00
iliajie
d66a040fc6 Fix text 2023-03-15 16:16:55 +02:00
iliajie
710a2ff235 Remove Standard Modules option from Webmin Modules page 2023-03-15 13:31:02 +02:00
Ilia
6a68ae5474 Merge pull request #1856 from webmin/stable
Merge pull request #1855 from webmin/master
2023-03-14 14:05:12 +02:00
Ilia
427c8b9370 Merge pull request #1855 from webmin/master
Webmin 2.020 (merge into stable)
2023-03-14 14:00:15 +02:00
Jamie Cameron
aff97d2ebd Create new rules in the correct table https://sourceforge.net/p/webadmin/bugs/5614/ 2023-03-13 21:40:44 -07:00
Jamie Cameron
a63c8aadc0 Put back recommends and remove useless comment 2023-03-12 14:27:02 -07:00
iliajie
f915a96542 Fix to support key type passed as param 2023-03-12 20:53:01 +02:00
iliajie
4b139bd4ee Make encryption algorithm for Let's Encrypt private key configurable 2023-03-12 20:44:59 +02:00
Jamie Cameron
b8935cd933 Support EC keys as well 2023-03-11 16:03:17 -08:00
iliajie
0c9cda6a0b EC private keys exist
f52cb3a027
2023-03-12 01:17:23 +02:00
iliajie
7cef589e92 Fix message margin 2023-03-10 19:04:35 +02:00
Jamie Cameron
d7222415a2 Merge branch 'master' of github.com:webmin/webmin 2023-03-09 18:02:09 -08:00
Jamie Cameron
5eb61da8dd Add missing string 2023-03-09 18:00:29 -08:00
iliajie
0fcce117a1 Fix to keep backup formats consistent 2023-03-08 17:16:00 +02:00
iliajie
5c84313e39 Update CHANGELOG.md 2023-03-08 15:25:40 +02:00
Jamie Cameron
2bb36069f5 Recommends isn't supported on CentOS 7 2023-03-07 23:22:27 -08:00
iliajie
242e694181 Add support to pass query string with referer relative sub 2023-03-08 01:29:29 +02:00
iliajie
43e4320959 Fix Ubuntu release note link (again!) 2023-03-05 12:37:25 +02:00
Jamie Cameron
50367ed74d Merge branch 'master' of github.com:webmin/webmin 2023-03-04 19:19:14 -08:00
Jamie Cameron
6100583d60 The value field has to be set in all sub-structures 2023-03-04 19:17:36 -08:00
iliajie
cf79131ec4 Update CHANGELOG.md 2023-03-05 00:48:17 +02:00
iliajie
682399997f Fix to skip CPU IO in initial load 2023-03-04 20:20:49 +02:00
iliajie
fe8bcba3a4 Fix needs-restarting not call twice 2023-03-04 13:30:04 +02:00
Jamie Cameron
30208960a1 Fix caching of detected OS version 2023-03-03 22:41:08 -08:00
Jamie Cameron
b5aaba9119 What are roles?? 2023-03-03 21:37:10 -08:00
Jamie Cameron
0064fbf4ed Remove special check for a new kernel package, and just rely on needs-restarting 2023-03-03 21:34:23 -08:00
Jamie Cameron
aef0176c41 Merge pull request #1850 from webmin/dev/fix-to-speed-up-dashboard-load-1
Add support for loading given modules info in background only on initial Dashboard load
2023-03-03 16:35:10 -08:00
Jamie Cameron
2f85da3c72 Merge pull request #1849 from webmin/dev/fix-consider-reserved-space
Fix to properly display used space (consider reserved)
2023-03-03 15:50:24 -08:00
iliajie
0ead391e47 Fix not to run check_reboot_required on initial load 2023-03-03 22:29:48 +02:00
iliajie
8e083d044e Fix to use indexof instead of grep 2023-03-03 17:31:47 +02:00
Jamie Cameron
1ce1507b14 Don't check for OS update more than once per day 2023-03-02 23:13:22 -08:00
Jamie Cameron
b8238bf3d5 Don't do OS detection if we can't use it 2023-03-02 21:39:23 -08:00
Jamie Cameron
166ea04954 Don't switch to non-root when editing PHP configs in /etc https://github.com/virtualmin/virtualmin-gpl/issues/522 2023-03-02 19:26:26 -08:00
iliajie
6ca851c49a Fix to skip Webmin notifications as can be added later 2023-03-03 02:03:44 +02:00
iliajie
ae805cfdd2 Fix to use a new regex for other libs 2023-03-03 00:52:56 +02:00
iliajie
7932c08507 Add support for loading given modules info in background only 2023-03-03 00:40:33 +02:00
Jamie Cameron
5e4212812c Don't re-add subjectAltName line https://forum.virtualmin.com/t/ssl-for-sub-server-certificate-and-key-do-not-match-certificate-data-is-not-valid/119313/43 2023-03-02 13:29:23 -08:00
iliajie
550aa7593b Fix to properly display used space (consider reserved) 2023-03-02 21:24:49 +02:00
Jamie Cameron
6e2ab1c2fb Version bump for next release 2023-03-01 22:15:09 -08:00
Jamie Cameron
f00bb0a77c Merge pull request #1846 from webmin/dev/acls-in-filemin
Add set ACLs support
2023-02-28 20:21:36 -08:00
iliajie
37d470bd69 Fix to use $cwd in paths 2023-02-28 22:24:43 +02:00
iliajie
98c3f82ea5 Fix to make file and group choosers work 2023-02-28 22:00:50 +02:00
iliajie
6389fafaef Fix to respect multiple spaces just in case 2023-02-28 21:03:46 +02:00
iliajie
31eb218094 Fix to always use quotemeta 2023-02-28 20:36:39 +02:00
iliajie
ead01b541e Fix to remove useradmin require 2023-02-28 12:23:34 +02:00
iliajie
dc1f64eeaf Fix to use user and group selects 2023-02-27 20:55:21 +02:00
iliajie
ab4b7cf20c Fix to remove listing users 2023-02-27 19:57:52 +02:00
iliajie
69ccb45686 Fix to always prefer displaying external IP address #1184
https://github.com/webmin/webmin/issues/1184#issuecomment-1446340234
2023-02-27 15:44:00 +02:00
iliajie
ec6df9cf85 Merge remote-tracking branch 'origin/master' 2023-02-27 14:05:50 +02:00
iliajie
9eaa217e8c Fix to flip colors for switch links #1845 2023-02-27 14:05:37 +02:00
Jamie Cameron
02dd766c80 Add function to change the DB login 2023-02-25 23:24:25 -08:00
Jamie Cameron
fc5483972b Allow custom login for restore command 2023-02-25 23:00:46 -08:00
Jamie Cameron
a1aa6a41b6 Code cleanup 2023-02-25 19:14:05 -08:00
iliajie
59f7a056e2 Add support for systems with large amount of users and groups 2023-02-26 02:54:59 +02:00
iliajie
fa562f6766 Fix to avoid possible user errors on entry 2023-02-26 01:41:02 +02:00
iliajie
fedb53ce45 Fix missing (possible) permission 2023-02-25 22:03:38 +02:00
iliajie
352a1323a7 Fix size for multiple select 2023-02-25 21:57:12 +02:00
iliajie
90a144516b Fix to rely on get_users_list and get_groups_list 2023-02-25 21:55:37 +02:00
iliajie
a4b0a84149 Fix scope 2023-02-25 21:25:21 +02:00
iliajie
edd4be6cb5 Fix to remove no needed empty option in multi select 2023-02-25 20:41:14 +02:00
iliajie
92f1c7d2ef Fix label name ; fix placeholder to reflex Linux variant of the command 2023-02-25 19:53:24 +02:00
iliajie
b5ad834a0c Finish work on adding set ACLs support 2023-02-25 19:47:04 +02:00
Jamie Cameron
ffcdcb560f Add support for SSL connections 2023-02-24 15:28:10 -08:00
iliajie
cf953603d2 Start work on adding set ACLs support 2023-02-24 23:27:07 +02:00
Jamie Cameron
f468efd888 Add support for restoring from a compressed file 2023-02-23 23:42:00 -08:00
Jamie Cameron
744edd8911 Escape paths 2023-02-23 23:34:39 -08:00
Jamie Cameron
dee0ad64f9 Add support for compressed backups 2023-02-23 19:52:32 -08:00
Jamie Cameron
ff4aacb5bc Use my instead of local 2023-02-23 19:36:21 -08:00
Jamie Cameron
89bc90d3a7 Don't re-create record if already OK 2023-02-23 18:36:12 -08:00
iliajie
c3fa84a7cd Fix to always default to RSA key type in Let's Encrypt 2023-02-23 20:50:33 +02:00
iliajie
395d7d261d Fix error message and remove adding new line 2023-02-21 18:00:39 +02:00
Ilia
0510ca7092 Merge pull request #1844 from ItzMiracleOwO/patch-1
Fix setup-repos.sh perm issues
2023-02-21 17:56:48 +02:00
YueYue
05016e24cc Update setup-repos.sh
Lets check for root perms before executing to prevent issues.
2023-02-21 19:02:12 +08:00
iliajie
2ffe6f6b22 Fix typo 2023-02-18 18:21:39 +02:00
iliajie
2890b4487b Fix to drop redundant line 2023-02-18 17:55:41 +02:00
iliajie
fcb34f6790 Add an attempt to support CloudLinux (configs) 2023-02-18 17:52:47 +02:00
iliajie
f3dae49b82 Add an attempt to support CloudLinux 2023-02-18 17:52:25 +02:00
iliajie
aba9925805 Fix to improve variable name 2023-02-16 23:26:03 +02:00
iliajie
216a7f9703 Add ability for a remote proxy to set webprefix using headers #1838 2023-02-16 23:19:00 +02:00
iliajie
417cee61f6 Add support for displaying inodes in Disk Usage on the Dashboard too 2023-02-16 20:34:04 +02:00
iliajie
306037cabb Fix to add missing units 2023-02-15 02:27:35 +02:00
iliajie
ce525ecb4f Fix to configure the right time to wait for ExecStop= command 2023-02-15 02:24:42 +02:00
iliajie
df21b28d5d Fix to avoid HTML in CLI when making date 2023-02-15 01:11:35 +02:00
iliajie
3d90c7ff4f Fix to better handle installs on derivatives #1840 2023-02-14 20:23:49 +02:00
iliajie
caa10ccf5c Merge remote-tracking branch 'origin/master' 2023-02-14 17:50:14 +02:00
iliajie
1e87a3f190 Fix Oracle repos setup #1840 2023-02-14 17:49:52 +02:00
Jamie Cameron
5a9f2de6d3 Add function to reload a zone on all slaves 2023-02-12 17:49:34 -08:00
Jamie Cameron
cdcee0b40b Merge branch 'master' of github.com:webmin/webmin 2023-02-11 12:17:57 -08:00
iliajie
7c1c3b22fb Fix to properly detect derivatives when setting up repos #1834 2023-02-11 20:39:04 +02:00
iliajie
660b94ceb5 Fix to drop useless test 2023-02-11 20:18:37 +02:00
Ilia
23731b17ea Update README.md with better screenshot for dark palette 2023-02-11 17:54:36 +03:00
Ilia
c929fd9ade Update README.md with palette dependent screenshot 2023-02-11 17:50:57 +03:00
Ilia
26d0638df5 Update README.md to smaller the headers as possible 2023-02-11 17:44:34 +03:00
iliajie
31c63b3e2a Fix to test if locale is supported 2023-02-11 14:09:17 +02:00
Jamie Cameron
3a651333a0 Make serialized variables fully eval-able 2023-02-10 22:26:43 -08:00
Ilia
8fbfc5f432 Update README.md 2023-02-11 01:03:13 +03:00
Jamie Cameron
9967ca9a40 Merge branch 'master' of github.com:webmin/webmin 2023-02-09 23:29:51 -08:00
Jamie Cameron
7ecb1d8af7 Code cleanups 2023-02-09 23:28:57 -08:00
iliajie
c9953044f2 Fix to properly build complete date
Wednesday, February 8, 2023, 8:18 PM
星期三, 2023年2月8日 20:18
miércoles, 8 febrero 2023, 20:18
2023-02-08 20:31:30 +02:00
Jamie Cameron
24da55639e Merge pull request #1836 from pzindyaev/master
fix displaying perviously selected users
2023-02-07 18:33:26 -08:00
pzindyaev
7181b5aebd fix displaying perviously selected users
Removed unnecessary param while using split_quoted_string in user_chooser
2023-02-07 15:52:38 +03:00
Jamie Cameron
98bc559f88 Merge branch 'master' of github.com:webmin/webmin 2023-02-06 20:22:39 -08:00
Jamie Cameron
d54342b37d Fix variable name 2023-02-06 20:22:32 -08:00
Jamie Cameron
ed0fcaaaff Merge pull request #1835 from ctrlbru/fix-bacula-restore-list
Fix for file chooser not displayed correctly in bacula module
2023-02-06 13:22:21 -08:00
Dario Corti
26f899e3df Fixing list.cgi use of JSON::PP
list.cgi needs JSON::PP which is included via bacula-backup-lib.pl. Without a BEGIN block, JSON::PP is not visible (soon enough?)
2023-02-06 22:08:03 +01:00
Jamie Cameron
579975dcc7 Merge pull request #1831 from webmin/dev/add-locales-support
Add proper locale support in Webmin and Usermin
2023-02-06 11:13:50 -08:00
Jamie Cameron
674836594a Use new names for whitelist and blacklist if they are in use already, or running SpamAssassin 4.0 https://github.com/webmin/webmin/issues/1832 2023-02-05 22:26:35 -08:00
Jamie Cameron
495d87a619 Italian translation update from Dario Corti 2023-02-05 15:53:24 -08:00
iliajie
1ff8d1cc5d Fix to drop obsolete code introduced from nested eval tests 2023-02-05 20:24:40 +02:00
Jamie Cameron
f035c54771 Java applet was replaced with JS a long time ago 2023-02-05 10:10:17 -08:00
Jamie Cameron
fb635c1591 Fix error message 2023-02-04 23:18:52 -08:00
Jamie Cameron
d408230132 Only the yum command combines lines 2023-02-04 20:52:57 -08:00
iliajie
b6422024a6 Add ability to get system default locale and use it if nothing is set 2023-02-05 04:41:27 +02:00
iliajie
7c4cf83cd4 Fix locale detection with accepted language 2023-02-05 04:18:02 +02:00
iliajie
24ed688d1d Fix user language must always override accepted language 2023-02-05 04:06:09 +02:00
iliajie
19a5766762 Locale can be accepted from the browser just like language 2023-02-05 03:57:25 +02:00
iliajie
6b3d776bc1 Dashboard must always show full time, i.e. Sat 04 Feb 2023 14:26:42 EET 2023-02-05 03:28:48 +02:00
iliajie
c94472f020 Fix to always use short time format for standard make_date outputs 2023-02-05 03:19:25 +02:00
iliajie
c5df379ff1 Fix to respect date format when listing mail 2023-02-05 02:55:04 +02:00
iliajie
619726ea1a Add support for simplify_date to respect Local user option 2023-02-05 02:51:55 +02:00
iliajie
e7f1da486d Fix to never escape spaces 2023-02-05 02:37:37 +02:00
iliajie
088e3a1c19 Add support for short time format used in simplify_date 2023-02-05 02:29:56 +02:00
iliajie
ef7102f0d3 Fix regex to be case insensitive for yyyy 2023-02-05 01:53:24 +02:00
iliajie
0364c4810d Fix old style format parsing (support for mailbox formats) 2023-02-05 01:52:56 +02:00
Jamie Cameron
7a18007354 tempname function expects remote_user_info to be set https://forum.virtualmin.com/t/file-manager-error-as-servers-admin/119007 2023-02-04 15:23:37 -08:00
Jamie Cameron
f46cc45c0d Don't use array if it doesn't exist 2023-02-04 15:22:56 -08:00
iliajie
2818c056e5 Fix to drop obsolete 2023-02-05 01:20:57 +02:00
iliajie
094e1792e0 Move list_locales to be accessible in global scope (for Usermin) 2023-02-05 01:04:55 +02:00
iliajie
daa1c7e845 Update translations 2023-02-05 00:50:45 +02:00
iliajie
809458e82a Add support to select locale in Change Language and Theme Webmin module 2023-02-05 00:40:10 +02:00
iliajie
4696aea22e Fix $ago_secs test 2023-02-04 12:50:41 +02:00
iliajie
21a9df8cc7 Fix to combine evals into a single statement 2023-02-04 12:49:13 +02:00
iliajie
37e91698a9 Fix to sort locales based on values not keys 2023-02-04 12:40:40 +02:00
iliajie
10dfc379ab Fix to drop und as also not supported 2023-02-04 04:56:45 +02:00
iliajie
55921fdf48 Fix typo 2023-02-04 04:55:32 +02:00
iliajie
e39924da85 Fix to drop accidentally leaked locales 2023-02-04 04:54:18 +02:00
iliajie
1f11faa626 Update translations 2023-02-04 04:18:30 +02:00
Jamie Cameron
98a9313d81 Don't re-compare versions if the update system thinks there's an update 2023-02-03 18:16:01 -08:00
iliajie
8af2ca1fba Add support for choosing Locale from UI 2023-02-04 04:10:13 +02:00
iliajie
bf6d35f37e Add a new API for making nice dates based on user locale 2023-02-04 02:03:39 +02:00
iliajie
dc7e3516bd Add also Time::Piece as recommended package 2023-02-04 01:33:45 +02:00
iliajie
1520049847 Add also DateTime::TimeZone as recommended package 2023-02-04 00:22:39 +02:00
iliajie
1707597f1f Add also DateTime as recommended package 2023-02-03 23:36:57 +02:00
iliajie
2bbe2b66f3 Update translations 2023-02-03 20:38:49 +02:00
iliajie
0f4fe0e64c Put dateformat in the right place and change section name 2023-02-03 20:12:59 +02:00
iliajie
df4bff0a58 Remove dateformat being in the wrong place 2023-02-03 19:39:09 +02:00
iliajie
e68873d039 Add DateTime::Locale as recommended package 2023-02-03 19:28:03 +02:00
Jamie Cameron
3f8e37eb11 Merge branch 'master' of github.com:webmin/webmin 2023-02-01 23:17:52 -08:00
Jamie Cameron
764e173f90 Add support for making 'remote' calls to this host as just regular calls 2023-02-01 23:17:43 -08:00
iliajie
3bf1718b30 Fix to use system default hashing format for htpasswd file
https://forum.virtualmin.com/t/how-to-change-awstats-user-password/118998/
2023-02-01 23:45:10 +02:00
Jamie Cameron
198146894f Merge branch 'master' of github.com:webmin/webmin 2023-01-30 23:07:40 -08:00
Jamie Cameron
acd60fbc6a Add slave zone file format option 2023-01-30 23:07:33 -08:00
iliajie
807443a7bd Fix stop script degeneration to try all kill commands
https://sourceforge.net/p/webadmin/bugs/5609/
2023-01-30 19:25:26 +02:00
Jamie Cameron
cdcd3cec52 Use formal params 2023-01-29 23:21:30 -08:00
Jamie Cameron
13ca94043c Add support for serializing using data::dumper format, and use it in fast RPC calls where possible 2023-01-29 19:44:31 -08:00
Jamie Cameron
021247d98d Don't crash if file wasn't read 2023-01-29 19:41:16 -08:00
Jamie Cameron
5cb837446f In fastrpc mode, there's no need to send the request in the initial HTTP connection 2023-01-29 18:30:16 -08:00
Jamie Cameron
689c973072 Return more useful error message 2023-01-29 18:25:43 -08:00
Jamie Cameron
7e76d09358 Recognize MariaDB log file from config 2023-01-28 11:53:19 -08:00
Jamie Cameron
b15da673d6 Merge branch 'master' of github.com:webmin/webmin 2023-01-27 15:20:21 -08:00
Jamie Cameron
434eb4a42e Also check if the password set is the same as what we'd want to set 2023-01-27 15:18:29 -08:00
iliajie
76ad456c2f Fix mail sorting by date
https://sourceforge.net/p/webadmin/bugs/5607/
2023-01-25 23:08:46 +02:00
Jamie Cameron
22e7e5c553 Deal with backquotes 2023-01-24 20:55:31 -08:00
Jamie Cameron
777321687e Only add re: if subject doesn't start with re: 2023-01-23 21:39:47 -08:00
Jamie Cameron
00f8bb60d4 Properly handle case where showmount command is missing https://github.com/webmin/webmin/issues/1829 2023-01-23 21:27:09 -08:00
Jamie Cameron
4b5f3d7ccd Add config option to connect in SSL mode 2023-01-21 21:41:59 -08:00
Jamie Cameron
415b7cdeb8 Log a better message when the SSL cert is generated 2023-01-21 21:32:18 -08:00
Jamie Cameron
5158d0ea37 Completed SSL cert creation page 2023-01-21 21:16:23 -08:00
Jamie Cameron
bfc0f89b55 Add comment 2023-01-21 17:14:16 -08:00
Jamie Cameron
d51bdb1dc9 Merge branch 'master' of github.com:webmin/webmin 2023-01-21 17:14:00 -08:00
Jamie Cameron
db73d5e7a6 Start of work on SSL page 2023-01-21 17:13:52 -08:00
iliajie
ca971b720d Remove size option in Authentic as it's pointless, resize does it all 2023-01-21 17:06:31 +02:00
iliajie
8588c96650 Fix to set columns and rows environment vars only in fixed mode
https://forum.virtualmin.com/t/terminal-tip/118786/29?u=ilia
2023-01-21 16:25:28 +02:00
Jamie Cameron
f2fd4be101 Merge branch 'master' of github.com:webmin/webmin 2023-01-20 23:45:40 -08:00
Jamie Cameron
cbe4fccb09 Nice icon for mysql maual editing 2023-01-20 23:45:32 -08:00
iliajie
5deee0c76d Fix typo
https://sourceforge.net/p/webadmin/bugs/5605/
2023-01-20 18:06:27 +02:00
Jamie Cameron
316ff18969 New version bumps 2023-01-19 18:05:24 -08:00
iliajie
0214ea71c7 Update CHANGELOG.md 2023-01-20 02:57:41 +02:00
Jamie Cameron
06df6994b2 Merge pull request #1823 from webmin/dev/fix-search-in-menu
Fix search bar in navigation menu (Webmin)
2023-01-19 16:55:21 -08:00
iliajie
e0f6251b77 Fix to allow smaller size for potentially smaller menu 2023-01-20 02:16:40 +02:00
iliajie
c473443ac0 Fix search bar in navigation menu (Webmin) 2023-01-20 02:11:37 +02:00
iliajie
4c086815d2 Fix to revert test drive for a new .bashrc 2023-01-20 02:00:38 +02:00
iliajie
65c5f42c94 Fix Framed theme to respect mode on left menu 2023-01-20 01:31:11 +02:00
Jamie Cameron
ee21f22e56 remove debug print 2023-01-19 15:27:36 -08:00
Jamie Cameron
5d9643e36d Merge branch 'master' of github.com:webmin/webmin 2023-01-19 15:23:11 -08:00
Jamie Cameron
cecb8ed96d Fix defaulting to webmin mode 2023-01-19 15:22:31 -08:00
iliajie
4903099544 Update CHANGELOG.md 2023-01-19 20:47:55 +02:00
iliajie
d333f1fe16 Update CHANGELOG.md (2.012) 2023-01-19 01:39:18 +02:00
iliajie
286c5c6c51 Fix to revert incorrect fix beed9af645 (commitcomment-97277268) 2023-01-19 01:10:05 +02:00
Jamie Cameron
06d212ddfc New version bump 2023-01-18 14:24:39 -08:00
Jamie Cameron
35a259eabc Merge branch 'master' of github.com:webmin/webmin 2023-01-18 13:38:33 -08:00
Jamie Cameron
40bf45ae42 Fix variable name 2023-01-18 13:38:28 -08:00
iliajie
a875b8e7eb Fix a bug in routing_config_files sub 2023-01-18 23:37:31 +02:00
iliajie
faa7b57970 Fix to remove ignore errors 2023-01-18 21:57:52 +02:00
Jamie Cameron
7bf010f9f8 Make sure domains are unique 2023-01-17 22:21:10 -08:00
Jamie Cameron
8ced702aa1 Support Debian 12 2023-01-17 20:29:49 -08:00
Jamie Cameron
ed042f3a53 Include all debian config files in backups 2023-01-17 20:10:46 -08:00
iliajie
67a0eca90c Fix not to enable warnings blindly on all code 2023-01-17 16:22:55 +02:00
iliajie
ff5119da7c Add support for defining hostname for WebSocket connection
https://forum.virtualmin.com/t/using-new-command-line-not-working-behind-reverse-proxy/118673/2
2023-01-17 16:09:46 +02:00
Jamie Cameron
4bf1a38288 Merge branch 'master' of github.com:webmin/webmin 2023-01-16 18:38:56 -08:00
Jamie Cameron
eee5331b28 Use correct args to modify_interface_def https://github.com/webmin/webmin/issues/1818 2023-01-16 18:38:20 -08:00
iliajie
beed9af645 Fix to make sure that interface file is read only once 2023-01-16 22:42:43 +02:00
iliajie
087f1e7776 Fix to stop reading file on error 2023-01-16 22:07:00 +02:00
Jamie Cameron
c80eb8b6ae Limit files in source-directory to same pattern debian uses 2023-01-16 11:01:20 -08:00
Jamie Cameron
e43fbfdaa5 Stop doing expensive package re-fetch on upgrade https://forum.virtualmin.com/t/updates-webmin-virtualmin-hangs-for-a-long-time/118662 2023-01-16 10:56:12 -08:00
Jamie Cameron
55553c43a1 Merge branch 'master' of github.com:webmin/webmin 2023-01-16 10:54:03 -08:00
Jamie Cameron
a035e2f6c5 Allow postinstall scripts to know when webmin is being upgraded 2023-01-16 10:53:54 -08:00
iliajie
cee528f46c Fix missing module reference as requesting Let's Encrypt certificate 2023-01-16 20:51:44 +02:00
Jamie Cameron
2406f19084 Everything is really on webmin.com 2023-01-16 10:38:58 -08:00
Jamie Cameron
3bdc75bb15 Track files already included to avoid include loops 2023-01-15 16:48:56 -08:00
Jamie Cameron
4fcb99b89a source-directory may refer to a directory, not a pattern 2023-01-15 16:45:02 -08:00
iliajie
335136be14 Fix the loop bug when sourcing other configs ; remove stderr print 2023-01-16 00:22:22 +02:00
iliajie
e88ae050a9 Fix to remove unnecessary copyright from the header 2023-01-12 20:36:38 +02:00
Jamie Cameron
43bf4bbc15 Set the correct algorithm when setting up rndc https://github.com/webmin/webmin/issues/1817 2023-01-11 19:08:06 -08:00
Jamie Cameron
6451f4b115 Store and show default TTL set by $ttl https://github.com/webmin/webmin/issues/1816 2023-01-10 22:23:36 -08:00
iliajie
f6b8cc6302 Update CHANGELOG.md (2.011) 2023-01-10 18:11:43 +02:00
Jamie Cameron
f2209fb633 Also respect epoch when checking version 2023-01-09 23:46:20 -08:00
Jamie Cameron
1879848d11 Remove spacer 2023-01-09 23:29:44 -08:00
Jamie Cameron
aaf7b9f24b Changelog for new version 2023-01-09 21:46:50 -08:00
Jamie Cameron
451a7e2e6a New version bump 2023-01-09 21:41:20 -08:00
iliajie
509141f5d5 Fix mailbox_idle_check_interval bugs
https://sourceforge.net/p/webadmin/bugs/5602/
2023-01-09 18:27:57 +02:00
iliajie
52c06534db Fix to drop remove mailbox_check_interval option 2023-01-09 18:23:06 +02:00
iliajie
29ef2d5f33 Fix to keep original copyright year 2023-01-09 00:36:20 +02:00
Jamie Cameron
1febfdbe0f Add option to insert a new map entry before an existing one 2023-01-08 12:45:25 -08:00
Jamie Cameron
277f67dac9 Fix line length 2023-01-07 22:07:27 -08:00
Jamie Cameron
d199de8469 Add a param to create a new block before an existing one 2023-01-07 22:07:01 -08:00
iliajie
1f7753db43 Update copyright year in webmin sub-commands 2023-01-08 04:20:37 +02:00
iliajie
c02b2cdbea Update copyright year in webmin command 2023-01-08 04:16:38 +02:00
iliajie
8fabb28e7a Fix to start with one for each type as adding now works 2023-01-08 01:48:15 +02:00
iliajie
4117119c44 Fix to support multiple attr 2023-01-08 01:41:45 +02:00
iliajie
2584bc05cf Merge remote-tracking branch 'origin/master' 2023-01-08 00:48:07 +02:00
iliajie
72ecf54a17 Fix JavaScript id ref bug 2023-01-08 00:47:53 +02:00
Jamie Cameron
a0f2527ed0 Merge branch 'master' of github.com:webmin/webmin 2023-01-07 12:57:33 -08:00
Jamie Cameron
343307f703 localhost isn't a valid hostname 2023-01-07 12:57:09 -08:00
iliajie
d4f541015d Fix to drop useless code 2023-01-07 21:48:55 +02:00
iliajie
e92763e3d7 Fix to refer to direct child 2023-01-07 21:24:46 +02:00
iliajie
b0eb96d003 Fix to prevent forcing using tables in tabs (fix widths) 2023-01-07 20:58:44 +02:00
iliajie
5c26bf4de3 Fix to prevent forcing using tables in tabs 2023-01-07 19:59:10 +02:00
iliajie
374e5bf07c Fix to print strong instad of b which is used for header generation 2023-01-05 23:07:16 +02:00
Jamie Cameron
ca814a4e6f If we get an ERROR output when executing an SQL file, consider it failed even if the exit status is zero 2023-01-03 18:25:50 -08:00
Jamie Cameron
9b2fc2c9f4 When moving a maildir, also move any Maildir++ sub-folders 2023-01-02 18:26:14 -08:00
Jamie Cameron
ca6acb4a8c Don't error out if deleting an LDAP object that's already been deleted 2022-12-29 21:23:46 -08:00
Jamie Cameron
4dd017dce4 Merge branch 'master' of github.com:webmin/webmin 2022-12-28 21:57:38 -08:00
Jamie Cameron
562eb544e5 Don't fail user or group deletion if they have already been deleted https://github.com/virtualmin/virtualmin-gpl/issues/493 2022-12-28 21:37:45 -08:00
iliajie
65668c084f Merge remote-tracking branch 'origin/master' 2022-12-28 21:06:51 +02:00
iliajie
111aa65b8f Fix to update to the latest Xterm.js 5.1.0 2022-12-28 21:06:20 +02:00
Jamie Cameron
52926dcb65 Merge branch 'master' of github.com:webmin/webmin 2022-12-26 18:26:09 -08:00
Jamie Cameron
9fa99120ef Add support for resolve_dequoted_address 2022-12-26 18:26:01 -08:00
Jamie Cameron
ab94e020e0 Merge pull request #1812 from webmin/dev/fix-anonimous-user-test
Fix to test if anonymous user actually exists
2022-12-26 17:50:45 -08:00
iliajie
29354389f4 Fix to test if anonymous user actually exists 2022-12-26 12:51:10 +02:00
iliajie
c3bd222492 Fix wording 2022-12-26 12:22:20 +02:00
Jamie Cameron
459a5ee6b8 Fix bug in granting anonymous access if the anonymous user doesn't exist yet 2022-12-23 15:49:53 -08:00
iliajie
623fcc23d9 Fix to load images always from source host 2022-12-21 14:36:51 +02:00
iliajie
9d37f0d9e6 Fix to also check if session keys are set 2022-12-20 20:28:53 +02:00
Jamie Cameron
5fde216573 Merge branch 'master' of github.com:webmin/webmin 2022-12-18 21:54:20 -08:00
Jamie Cameron
4bd9c59038 Freeze and thaw dynamic reverse zones when updating a forward record https://github.com/webmin/webmin/issues/1810 2022-12-18 21:50:26 -08:00
iliajie
8c299b60ff Fix theme support in a single mode 2022-12-18 19:17:46 +02:00
iliajie
ad7967f3b5 Fix uninitialized warning 2022-12-18 19:07:21 +02:00
Jamie Cameron
e080fb3470 Zone type might be in upper case https://sourceforge.net/p/webadmin/bugs/5600/ 2022-12-17 23:17:55 -08:00
iliajie
62fccc4e0d Fix to nowrap virtual server select and submit button 2022-12-16 20:10:11 +02:00
iliajie
b0fc89f487 Fix release note links for Rocky 2022-12-16 20:08:27 +02:00
iliajie
a965b41cce Fix HTML arrow in accordions in Safari 2022-12-16 17:59:17 +02:00
iliajie
0bbb255a88 Fix adding in alerts (more) 2022-12-16 17:57:48 +02:00
iliajie
57b9e4ca3f Fix to smaller arrow size 2022-12-16 17:37:09 +02:00
iliajie
dbb691a7c4 Fix to always print table row even if empty #1809 2022-12-16 17:29:02 +02:00
iliajie
cf61a472f5 Fix padding in alerts 2022-12-16 17:17:22 +02:00
Jamie Cameron
2a31af4870 When moving a Maildir folder, only move the cur/new/tmp dirs because there might be other sub-folders or files 2022-12-14 14:00:13 -08:00
Jamie Cameron
54044b78ef RC4 isn't strong enough anymore https://sourceforge.net/p/webadmin/bugs/5599/ 2022-12-14 11:38:01 -08:00
Jamie Cameron
726d28d807 Verify long-running websockets sessions in miniserv 2022-12-14 11:18:28 -08:00
iliajie
8db65344d5 Fix to rename framed theme ; fix version and deps 2022-12-11 20:07:21 +02:00
iliajie
cb6ad018cf Fix support for Usermin 2022-12-11 19:55:11 +02:00
iliajie
00bf2dd153 Fix arrow color in accordions 2022-12-11 19:03:18 +02:00
iliajie
b54bd7f21e Fix switches color 2022-12-11 18:57:47 +02:00
iliajie
6829c94257 Add favicons to Framed Theme 2022-12-11 18:56:18 +02:00
iliajie
095288d661 Fix to add more space for switches in two mode 2022-12-11 16:48:48 +02:00
iliajie
3ea461d70c Fix Cloudmin mode 2022-12-11 16:46:51 +02:00
iliajie
5058e9c752 Add a new SVG icons to the navigation menu 2022-12-10 21:37:15 +02:00
iliajie
590ce839ae Add logos to the dashboard depending on the product 2022-12-10 21:36:40 +02:00
iliajie
e18e20605a Fix to use HTML collapse in hidden_start and hidden_end 2022-12-10 18:45:47 +02:00
iliajie
e38b923430 Fix to add borders to alerts in Gray theme 2022-12-10 16:57:03 +02:00
iliajie
06d429af32 Fix to switch to using HTML only menu accordion https://github.com/webmin/webmin/issues/1802#issuecomment-1343254856
.. to support browsers with disabled JavaScript
2022-12-10 15:58:55 +02:00
iliajie
f300bd7f5b Add support for more options in unit section in systemd 2022-12-10 15:14:00 +02:00
Jamie Cameron
50df0e4d02 Fix merge 2022-12-08 21:58:43 -08:00
Jamie Cameron
c6a4a80e58 Set USER variable properly for jk_chrootsh 2022-12-08 21:57:39 -08:00
Jamie Cameron
bb75d7fa7b ui-lib conversion 2022-12-05 23:24:44 -08:00
Jamie Cameron
ce43b53e5c ui-lib conversion 2022-12-05 23:20:23 -08:00
Jamie Cameron
aaee5bedac Merge pull request #1805 from webmin/dev/set-xterm-improvements2
Add support to set TERM variable and shell character encoding
2022-12-05 09:58:19 -08:00
iliajie
edcf8841ab Fix to set config option directly 2022-12-05 19:50:54 +02:00
Jamie Cameron
5275505ba0 Merge pull request #1807 from webmin/dev/add-new-libroot-env-var
Fix to set a new `LIBROOT` environmental variable
2022-12-05 09:36:58 -08:00
iliajie
a9349c7fe5 Add new LIBROOT env var 2022-12-05 19:03:10 +02:00
Ilia
9f0d9a967b Merge pull request #1806 from Divarion-D/patch-1
Update ru
2022-12-05 17:06:38 +02:00
iliajie
5f6f65a78f Fix to use PERLLIB as DOCUMENT_ROOT never set at a time 2022-12-05 17:03:51 +02:00
Danil
bb15603724 Merge pull request #2 from Divarion-D/patch-2
Update ru.auto
2022-12-05 15:21:48 +03:00
Danil
84c92c4da2 Update ru.auto 2022-12-05 15:16:37 +03:00
Danil
e51e3a8d42 Update ru 2022-12-05 11:41:25 +03:00
iliajie
d336f5a15b Fix to add colors to ip command in module default mode 2022-12-05 02:59:42 +02:00
iliajie
6c297057d3 Add support to set shell character encoding 2022-12-05 02:16:18 +02:00
iliajie
1531b18566 Add support to set TERM variable 2022-12-05 01:40:18 +02:00
Jamie Cameron
be9b67de40 Fix editing and creation of IPv6 addresses 2022-12-03 22:07:02 -08:00
Jamie Cameron
a80df4be5c Merge branch 'master' of github.com:webmin/webmin 2022-12-03 21:47:07 -08:00
Jamie Cameron
b05a55e8c2 Complete support for editing interfaces in include files 2022-12-03 21:46:25 -08:00
iliajie
f1a434b65a Fix to always set vendor_perl if perllib config option is set
https://sourceforge.net/p/webadmin/bugs/5595/
2022-12-02 00:22:43 +02:00
iliajie
543b87c9e7 Fix signature verified message padding 2022-12-01 21:53:15 +02:00
iliajie
fa16dc06d1 Fix language strings on Webmin update 2022-12-01 21:22:04 +02:00
iliajie
1aa0d9b812 Fix a bug when there is no output on RPM upgrades 2022-12-01 20:23:38 +02:00
iliajie
6269c24f03 Fix to check deeper for potentially missing dependencies 2022-12-01 19:31:55 +02:00
iliajie
cf4ebf0bfe Fix WebSocket protocol to be conditional 2022-12-01 15:04:59 +02:00
iliajie
2f21d0b067 Fix to call setup_ssl_contexts conditionally 2022-12-01 14:42:20 +02:00
iliajie
bf19dc1119 Fix to actually print loaded file timestamp 2022-12-01 14:17:51 +02:00
Jamie Cameron
40091463ee Use correct extension for package file https://github.com/webmin/authentic-theme/issues/1633 2022-11-27 20:24:21 -08:00
Jamie Cameron
4eaddb6359 Major version bump 2022-11-27 20:09:30 -08:00
Jamie Cameron
3a33573c30 Fix all days text 2022-11-27 20:08:52 -08:00
Jamie Cameron
5410dd7bb9 Merge branch 'master' of github.com:webmin/webmin 2022-11-27 12:23:29 -08:00
Jamie Cameron
e58d54ed86 Use absolute path 2022-11-27 12:23:23 -08:00
iliajie
d900e90203 Update translations 2022-11-27 21:03:46 +02:00
Jamie Cameron
f27ad16496 Merge branch 'master' of github.com:webmin/webmin 2022-11-27 09:25:41 -08:00
Jamie Cameron
6673b314b2 Return line number and filename 2022-11-27 09:25:35 -08:00
Jamie Cameron
2e0b7ef82b Merge pull request #1799 from webmin/dev/test-if-Net-SSLeay-get_servername
Fix to check if `Net::SSLeay::get_servername` exists (on CentOS 6)
2022-11-27 09:25:03 -08:00
iliajie
e72415952c Fix to check if Net::SSLeay::get_servername exists (on CentOS 6)
https://github.com/webmin/webmin/issues/1798#issuecomment-1328295876
2022-11-27 19:19:15 +02:00
Jamie Cameron
4d67184f2c Put websockets lib into the xterm directory 2022-11-27 09:18:31 -08:00
Jamie Cameron
f4f6eeac6d Merge branch 'master' of github.com:webmin/webmin 2022-11-27 09:15:10 -08:00
Jamie Cameron
3e3dae7854 Fix permissions 2022-11-27 09:15:06 -08:00
iliajie
f4b54f13ee Add text to suggest to install EPEL first for RHEL systems
.. or install package manually from `devel:languages:perl` on openSUSE
2022-11-27 16:57:52 +02:00
iliajie
276c599e55 Fix changelog include major 2.010 2022-11-27 14:50:33 +02:00
iliajie
97725db48d Add mention for the new setup-repos.sh script 2022-11-27 14:48:54 +02:00
iliajie
7fcfafd0fa Add possibly missing Digest::MD5 dependency 2022-11-27 14:46:34 +02:00
iliajie
31385f526c Merge remote-tracking branch 'origin/master' 2022-11-27 13:15:55 +02:00
iliajie
35a5e3f5b9 Fix missing websockets-lib-funcs.pl file in dist
https://sourceforge.net/p/webadmin/bugs/5592/
https://github.com/webmin/webmin/issues/1797
2022-11-27 13:15:33 +02:00
Jamie Cameron
ad8311d22e Fix version 2022-11-26 13:58:21 -08:00
iliajie
b6211aff2e Merge remote-tracking branch 'origin/master' 2022-11-26 23:16:37 +02:00
iliajie
afebdc912c Update CHANGELOG.md (2.010) 2022-11-26 23:16:15 +02:00
Jamie Cameron
96395b1592 Clean up code 2022-11-26 12:10:18 -08:00
Jamie Cameron
e158eb6005 Merge branch 'master' of github.com:webmin/webmin 2022-11-25 19:22:02 -08:00
Jamie Cameron
38d0188a66 New version bump 2022-11-25 19:19:39 -08:00
Jamie Cameron
8f29bb20e4 Merge pull request #1796 from webmin/dev/factor-out-websockets-funcs
Fix to factor out Webmin Websockets subs
2022-11-25 18:31:38 -08:00
iliajie
d84df45886 Fix to factor out Webmin Websockets subs 2022-11-25 17:06:13 +02:00
Jamie Cameron
ad61b5972b Merge pull request #1794 from saintman23/patch-3
Update missing RU translations
2022-11-24 22:57:34 -08:00
saintman23
90c002ae8c Update missing RU translations
Corrected missing translations to russian language for Cron Module.
2022-11-24 23:54:38 +00:00
Jamie Cameron
38a80244db Merge branch 'master' of github.com:webmin/webmin 2022-11-24 12:43:44 -08:00
Jamie Cameron
3d314a24dc Remove obsolete check for protocols on startup https://github.com/webmin/webmin/issues/1793 2022-11-24 12:43:29 -08:00
iliajie
4b92766495 Fix Webmin Samba module support for openSUSE Leap and Tumbleweed 2022-11-24 22:08:18 +02:00
iliajie
1705bab13e Add proper support for openSUSE Tumbleweed 2022-11-24 21:58:55 +02:00
Jamie Cameron
4ede4520e4 Merge branch 'master' of github.com:webmin/webmin 2022-11-23 21:15:28 -08:00
Jamie Cameron
61806a8799 Remove obsolete code to fix use of -f 2022-11-23 21:15:23 -08:00
Jamie Cameron
82be6e142f Merge pull request #1792 from webmin/dev/add-buffer-size-for-transfers
Add API to get buffer size for file transfers
2022-11-23 21:00:08 -08:00
Jamie Cameron
aa5443881c Merge branch 'master' of github.com:webmin/webmin 2022-11-23 15:27:33 -08:00
Jamie Cameron
617b731671 If source for cert is a link, copy the underlying file https://github.com/webmin/webmin/issues/1505 2022-11-23 15:27:26 -08:00
iliajie
166df0cb92 Fix openSUSE Squid server config 2022-11-23 23:50:02 +02:00
iliajie
b32c5a01c7 Fix openSUSE SSH server config 2022-11-23 23:38:51 +02:00
iliajie
4e21e753f4 Fix openSUSE Postfix config 2022-11-23 23:28:19 +02:00
iliajie
c0c993efec Fix openSUSE reload config command for BIND 2022-11-23 22:56:25 +02:00
iliajie
14b5ae8b4f Fix openSUSE Apache pid file location 2022-11-23 22:52:50 +02:00
iliajie
f4c367f2ae Add support for contemporary OpenSUSE Leap Linux 2022-11-23 22:30:51 +02:00
iliajie
c4a2bb6cd7 Fix to exclude file list as well
https://github.com/webmin/authentic-theme/issues/1632#issuecomment-1325125910
2022-11-23 16:12:35 +02:00
iliajie
06beb70568 Fix modules test 2022-11-22 21:04:31 +02:00
iliajie
d03dcf02d2 Add Linux Lite support
https://sourceforge.net/p/webadmin/discussion/600155/thread/adfe8e949f/?limit=25#57c9
2022-11-22 20:01:33 +02:00
iliajie
e9d58bdd42 Add API to get buffer size for file transfers 2022-11-21 21:07:00 +02:00
iliajie
61000107b8 If IO::Pty->set_winsize failed make ioctl directly
f550ffe799 (r89288344)
2022-11-21 20:24:55 +02:00
iliajie
8f6a2ac462 Add Webmin repository setup script 2022-11-20 18:19:35 +02:00
Jamie Cameron
291ba25691 Merge pull request #1662 from webmin/dev/gray-theme-replace
Simply replace Gray Framed with Virtualmin Framed theme
2022-11-18 21:52:44 -08:00
iliajie
1550e9e639 Revert "Fix to place the checkbox the same way"
This reverts commit 7ac4a389fb.
2022-11-18 20:44:24 +02:00
iliajie
7ac4a389fb Fix to place the checkbox the same way 2022-11-18 20:43:51 +02:00
iliajie
394ca56f4b Add more space before the checkbox 2022-11-18 20:41:11 +02:00
Jamie Cameron
612e2ceb21 Merge branch 'master' of github.com:webmin/webmin 2022-11-17 20:57:30 -08:00
Jamie Cameron
76f9bea696 Fix display of multiple buttons https://sourceforge.net/p/webadmin/bugs/5561/ 2022-11-17 20:56:07 -08:00
iliajie
011e76c90a Fix missing lib call for forms library 2022-11-17 21:25:42 +02:00
iliajie
65a0ced403 Fix to let zone have its old WebminUI dependency 2022-11-17 21:12:20 +02:00
iliajie
85d303def9 Add Digest:HMAC as can be missing outside of Virtualmin install 2022-11-17 20:19:27 +02:00
iliajie
a57af8c481 Add missing vendor_perl to include 2022-11-17 15:49:45 +02:00
iliajie
5f5a2b606f Fix to add complete set of libraries from Type-Tiny package 2022-11-17 15:13:55 +02:00
iliajie
76f15dd28f Fix to remove manual and pods 2022-11-17 15:11:26 +02:00
iliajie
7abb43c67f Add Authen:OATH, Moo and Type-Tiny 2022-11-17 14:55:36 +02:00
iliajie
0533ce55c4 Fix to remove JSON and Authen as part of vendor_perl now 2022-11-17 14:47:18 +02:00
iliajie
745261d663 Update all vendor_perl modules from upstream (MetaCPAN) 2022-11-17 14:25:44 +02:00
iliajie
894beb251e Add to bundle modules from Authentic 2022-11-17 13:37:17 +02:00
Jamie Cameron
bd12983a77 Merge branch 'master' of github.com:webmin/webmin 2022-11-16 17:21:32 -08:00
Jamie Cameron
8df0c4dc41 RHEL versions can have decimals https://github.com/virtualmin/virtualmin-gpl/issues/477 2022-11-16 17:21:03 -08:00
Jamie Cameron
bcf2e0879a Merge pull request #1791 from webmin/dev/combined-perl-vendors
Fix to use unified path for all third party Perl modules
2022-11-16 17:06:12 -08:00
iliajie
023f1b88b1 Fix to place package always at the top 2022-11-16 23:29:22 +02:00
iliajie
4c0ac21dc7 Fix to remove Authen::OATH 2022-11-16 23:21:39 +02:00
iliajie
8de2847fe5 Fix to call JSON after WebminCore 2022-11-16 22:54:56 +02:00
iliajie
a294083e12 Fix to use unified path for all third party Perl modules 2022-11-16 22:42:00 +02:00
Jamie Cameron
52588da598 Merge branch 'master' of github.com:webmin/webmin 2022-11-15 19:54:36 -08:00
Jamie Cameron
094f6e3f03 Fix query-source field https://sourceforge.net/p/webadmin/bugs/5590/ 2022-11-15 19:54:23 -08:00
iliajie
f15a13bb38 Fix URL to file name conversion 2022-11-15 22:59:07 +02:00
iliajie
0edfee6da2 Fix to use get_webprefix directly 2022-11-15 21:29:12 +02:00
iliajie
ef40015214 Fix CSS file name 2022-11-15 21:24:52 +02:00
Jamie Cameron
6a2125a891 Merge pull request #1789 from webmin/dev/xterm-fixes
Add minor clean ups
2022-11-14 15:04:15 -08:00
Ilia
94a3c27166 Merge pull request #1790 from krouma/master
Fix connecting to external IPv6 LDAP server
2022-11-14 14:16:00 +02:00
iliajie
d0511685a7 Fix to create a separate allocate_miniserv_websocket sub 2022-11-14 14:08:05 +02:00
Matyáš Kroupa
4b57b06b04 Fix connecting to external IPv6 LDAP server 2022-11-14 12:55:22 +01:00
iliajie
381aedcafe Fix { to be on the new line 2022-11-14 13:20:17 +02:00
iliajie
2c86164b6b Add Authen:OATH module 2022-11-14 12:09:01 +02:00
iliajie
dbb09b5278 Fix to adjust functions names 2022-11-14 00:04:25 +02:00
iliajie
4907aeb2dd Fix to save miniserv websocket after we have the pid from PTY 2022-11-13 23:57:10 +02:00
iliajie
b62fb504ac Fix to clean up others sockets if the shell server 2022-11-13 23:43:58 +02:00
iliajie
e6795f28f9 Fix to place cleanup_miniserv to the lib file 2022-11-13 23:40:58 +02:00
Jamie Cameron
0a6c67e55f Fix check for open ports 2022-11-13 09:31:25 -08:00
Jamie Cameron
3d443b378a Clean up leftover websocket proxies occasionally 2022-11-12 18:26:21 -08:00
Jamie Cameron
f698c0c548 Always check for modification when reading miniserv.conf 2022-11-12 18:25:27 -08:00
Jamie Cameron
87d7eec743 Minor code cleanups 2022-11-12 17:48:25 -08:00
Jamie Cameron
d82e89fb6b Merge pull request #1786 from webmin/xterm-enhancements-supreme
Add support for loading shell initialization file directly
2022-11-12 17:43:15 -08:00
iliajie
39bfa013f5 Fix to add a new line (for consistency with other configs) 2022-11-13 00:08:58 +02:00
iliajie
2687db85c7 Fix default 2022-11-13 00:07:10 +02:00
iliajie
a659146025 Fix to remove redundant line 2022-11-13 00:03:30 +02:00
iliajie
eb998dc84d Fix to use env for zsh 2022-11-13 00:02:32 +02:00
iliajie
e92a17c417 Fix to remove .shrc ; other cleans 2022-11-12 23:57:21 +02:00
iliajie
d754624baa Fix to remove loading globals as already loaded 2022-11-12 23:44:04 +02:00
iliajie
295f98c694 Fix to remove aliases 2022-11-12 23:13:33 +02:00
Ilia
74716f5d3f Merge branch 'master' into xterm-enhancements-supreme 2022-11-12 23:06:03 +02:00
iliajie
37453226da Fix to merge proc-lib.pl with master 2022-11-12 23:01:13 +02:00
iliajie
05475f051c Add default initialization file for zsh ; move scripts to rc/ dir 2022-11-12 21:42:56 +02:00
Jamie Cameron
7b2456aba5 Set PS1 and aliases via a shell rc file, rather than command injection 2022-11-12 11:09:14 -08:00
Jamie Cameron
3f1a9a5d8b Fix exec with a custom binary when the command has args 2022-11-12 11:04:30 -08:00
iliajie
0d1ced583f Fix missing HISTCONTROL 2022-11-12 20:48:06 +02:00
iliajie
d1fa6cea55 Fix comments 2022-11-12 20:47:54 +02:00
iliajie
e7f7aaaad5 Fix for better logging 2022-11-12 19:56:55 +02:00
iliajie
5991d905e3 Add support for user profiles too 2022-11-12 19:48:49 +02:00
iliajie
7062406267 Add more respect to user config 2022-11-12 19:40:21 +02:00
iliajie
a249e9be00 Fix to correctly support setting login shell mixed with params
There is no way to make it work correctly across all shell, i.e. param sequence which work with `bash` will fail with `csh`, as `-l` (login shell) can be the only flag specified
2022-11-12 19:32:56 +02:00
iliajie
e3212d7f94 Add default initialization file for sh 2022-11-12 17:58:33 +02:00
iliajie
c39b7fdc50 Fix to improve default config file name 2022-11-12 16:54:18 +02:00
iliajie
1ff0ee36e4 Add support for loading shell initialization file directly 2022-11-12 14:31:38 +02:00
iliajie
1763f9e4cc Fix to always prioritize module config over hardcoded shell flavors 2022-11-12 11:39:38 +02:00
iliajie
ec622fdf95 Add code comments 2022-11-12 11:32:39 +02:00
iliajie
ab00e4c7df Fix to check if internally sourced file is under user home 2022-11-12 10:56:55 +02:00
iliajie
825842267a Fix to check if given shell has init files set in our meta 2022-11-12 10:38:24 +02:00
iliajie
c75346ec93 Fix indent 2022-11-12 01:13:32 +02:00
iliajie
4f49d74def Fix typo 2022-11-12 01:11:46 +02:00
iliajie
6a97bf2ebf Add support to set in config user custom envs and commands 2022-11-12 00:56:36 +02:00
iliajie
dd4adbba77 Add respect to shell init files (depending on shell, bash only yet) 2022-11-12 00:32:04 +02:00
Jamie Cameron
a7ca787c16 Set HOME to correct path for the user being run as 2022-11-11 10:07:08 -08:00
iliajie
782f9ca351 Merge branch 'master' of github.com:webmin/webmin 2022-11-11 10:51:02 +02:00
Jamie Cameron
ad70a474d9 Run shell as a login shell 2022-11-10 21:38:05 -08:00
iliajie
79badb6f58 Revert "Fix to clean up as we should source user profile"
This reverts commit 29517915f9.
2022-11-11 00:53:41 +02:00
iliajie
b67f7c1e65 Fix to clean up old code 2022-11-10 22:56:54 +02:00
iliajie
29517915f9 Fix to clean up as we should source user profile 2022-11-10 22:27:52 +02:00
iliajie
9cef9452d1 Fix PS1 set directly (conditionally) https://github.com/webmin/webmin/discussions/1781 2022-11-10 22:12:26 +02:00
iliajie
661bb957f9 Update translations 2022-11-10 15:18:24 +02:00
iliajie
f42b7436f3 Add support to display and select yescrypt hashing scheme 2022-11-10 15:10:48 +02:00
Jamie Cameron
f6adfaa856 Merge pull request #1779 from marclaporte/patch-1
Fix a typo
2022-11-09 20:01:26 -08:00
Marc Laporte
42d1bfaf96 Fix a typo 2022-11-09 22:57:02 -05:00
Jamie Cameron
04a9b8785d Merge pull request #1778 from webmin/dev/xterm-further-improvements
Add further terminal improvements
2022-11-09 13:15:43 -08:00
iliajie
424c475b5f Fix terminal auto-fit feature for framed themes 2022-11-09 22:57:19 +02:00
iliajie
45e5049012 Fix to send user info 2022-11-09 21:02:28 +02:00
iliajie
26d19cb0d7 Fix other flavors to run by default only in bash 2022-11-09 21:01:13 +02:00
Ilia
38e9df8f48 Merge pull request #1776 from webmin/dev/xterm-escape-sequence
Fix to check for resize escape sequence explicitly
2022-11-09 20:50:35 +02:00
iliajie
b4603b6030 Fix to drop output suppress feature for now 2022-11-09 20:48:48 +02:00
iliajie
163480b859 Fix regex exclude chars logic
https://github.com/webmin/webmin/pull/1776#discussion_r1017431635
2022-11-09 20:04:29 +02:00
iliajie
ad9a5d7871 Fix incorrectly reverted send_binary (fixed before 3f1c4a23ad) 2022-11-08 20:16:53 +02:00
iliajie
693eda3971 Fix to remove debug 2022-11-08 17:32:00 +02:00
iliajie
d2932b3ed7 Fix not to send to display special calls (commands) 2022-11-08 17:25:50 +02:00
iliajie
7fc6336f8f Fix to check for resize escape sequence explicitly 2022-11-08 16:04:44 +02:00
iliajie
49bbb04750 Fix to re-added accidentally remove clear screen on initial load 2022-11-08 15:12:16 +02:00
iliajie
d5892ed348 Fix indent - convert spaces to tabs 2022-11-08 15:09:39 +02:00
Jamie Cameron
f550ffe799 Send special message on resize, and use set_winsize to apply it 2022-11-07 17:53:09 -08:00
Jamie Cameron
9ab8908710 Merge pull request #1775 from webmin/dev/xterm-resize
Add first steps to support Terminal resize
2022-11-07 17:17:50 -08:00
iliajie
88de56f447 Add missing addon-fit.js file 2022-11-08 01:26:43 +02:00
iliajie
f7fb861e73 Add first steps to support Terminal resize 2022-11-08 01:19:06 +02:00
Jamie Cameron
21c47af212 Merge branch 'master' of github.com:webmin/webmin 2022-11-07 11:49:05 -08:00
Jamie Cameron
2c6533146d Use Digest::SHA if SHA1 isn't installed 2022-11-07 11:48:02 -08:00
iliajie
44909997d0 Fix to adjust columns and rows offset consistently (both server and UI) 2022-11-07 13:36:26 +02:00
Jamie Cameron
b0c26867fe Expand hostname from /etc/hosts if needed 2022-11-06 20:45:51 -08:00
Jamie Cameron
1a953bf2fe Completed support for editing multiple extension lines 2022-11-06 18:28:24 -08:00
Jamie Cameron
3a67aa1071 Work on support for selecting extensions 2022-11-06 17:31:45 -08:00
Jamie Cameron
676f369cd3 ui-lib conversion 2022-11-06 14:17:35 -08:00
iliajie
e65a5718d6 Merge remote-tracking branch 'origin/master' 2022-11-06 19:05:37 +02:00
iliajie
8daba09826 Fix to support more headers 2022-11-06 19:05:18 +02:00
Jamie Cameron
f74ef12e70 Use new ui library 2022-11-05 21:12:26 -07:00
Jamie Cameron
5a818ce701 Use new ui library 2022-11-05 21:04:37 -07:00
Jamie Cameron
ca35844f82 Merge branch 'master' of github.com:webmin/webmin 2022-11-05 20:55:45 -07:00
Jamie Cameron
3672394e2e Use new ui library 2022-11-05 20:55:22 -07:00
iliajie
cd341663a1 Update translations 2022-11-05 15:49:34 +02:00
iliajie
3c15d076d5 Add better on load UX 2022-11-05 15:45:44 +02:00
iliajie
8779372aec Fix to check if defined as 0 is a value too 2022-11-05 13:43:46 +02:00
Jamie Cameron
187914b069 Merge pull request #1774 from webmin/dev/shell-auto
Add automatic option for command prompt color customization
2022-11-04 15:28:54 -07:00
Jamie Cameron
30b9858417 Merge pull request #1773 from webmin/dev/drop-obsolete-dnssectools
Drop obsolete DNSSEC-Tools
2022-11-04 15:07:50 -07:00
iliajie
19070f3383 Fix to call getpwnam once 2022-11-05 00:07:14 +02:00
iliajie
7a5e917d34 Add automatic option for command prompt color customization 2022-11-04 21:01:34 +02:00
iliajie
3b86ebed97 Fix indent 2022-11-04 11:38:18 +02:00
Jamie Cameron
6fb8de6e37 Encode utf-8 input into binary before sending to the shell 2022-11-03 21:50:32 -07:00
iliajie
9a06472017 Drop obsolete DNSSEC-Tools 2022-11-03 18:49:06 +02:00
Jamie Cameron
2b77a405ff Merge branch 'master' of github.com:webmin/webmin 2022-11-02 23:22:50 -07:00
Jamie Cameron
e3792a48e0 Check for timeouts at more places when reading headers https://github.com/webmin/webmin/issues/1767 2022-11-02 23:21:59 -07:00
iliajie
389d107a39 Add support for maximum input variables limit
https://forum.virtualmin.com/t/php-fpm-do-not-work/117593/8?u=ilia
2022-11-02 20:48:53 +02:00
Jamie Cameron
7142ae8620 Merge pull request #1771 from webmin/dev/xterm-add-special-flavor
Add special flavors to a new Terminal module
2022-10-31 16:12:10 -07:00
iliajie
1d414e1533 Fix to actually add an option with 0 value 2022-10-31 23:49:52 +02:00
iliajie
2e4d3c8ccf Fix to make it off by default 2022-10-31 23:44:45 +02:00
iliajie
f2687a20d1 Revert "Fix to make sure that feature is available by default (server owners)"
This reverts commit 027578312a.
2022-10-31 23:17:23 +02:00
Jamie Cameron
9f42eaf58f Read more than 1 character at a time 2022-10-31 14:10:58 -07:00
iliajie
027578312a Fix to make sure that feature is available by default (server owners) 2022-10-31 22:21:53 +02:00
iliajie
f144517e6c Fix HISTCONTROL always be called as we use clear command uncond 2022-10-31 17:45:26 +02:00
iliajie
41f6eaf1f1 Fix to send commands in a list to the theme 2022-10-31 17:15:24 +02:00
iliajie
fa0fcf52c1 Fix to make sure skipping command history works 2022-10-31 17:06:40 +02:00
iliajie
c6419a471e Fix not to store init commands in history 2022-10-31 16:45:54 +02:00
iliajie
1a296d9579 Fix to tell SPA themes what's up 2022-10-31 16:29:58 +02:00
iliajie
bf74599502 Add much smoother terminal initial load 2022-10-31 16:27:10 +02:00
iliajie
8c2ae56298 Add actual config option 2022-10-31 16:26:49 +02:00
iliajie
ccace2ce81 Add config option to make bash prompt look nice (user dependent) 2022-10-31 16:25:50 +02:00
Jamie Cameron
f1b2adaa59 Fixes for CentOS 8 2022-10-30 22:05:17 -07:00
Jamie Cameron
e5e4b65faf Add support for parameter for directory to start in, and make sure user param is preserved 2022-10-30 16:05:07 -07:00
Jamie Cameron
d3d33af3c0 Clean up code and prevent HTML attacks on untrusted inputs 2022-10-30 15:55:21 -07:00
Jamie Cameron
13db341e50 Merge pull request #1770 from webmin/dev/add-support-for-switch-user
Add an ability for a master admin to switch to specific user
2022-10-30 15:46:21 -07:00
iliajie
16859a87fd Remove redundant error message (already had one) 2022-10-31 00:23:24 +02:00
iliajie
27e3b7cbed Fix user test 2022-10-31 00:21:12 +02:00
iliajie
e1816a9e3c Update language 2022-10-31 00:19:18 +02:00
iliajie
d625a5d2f9 Show error if user doesn't exists 2022-10-31 00:14:01 +02:00
iliajie
43832c8ed9 Add an ability for a master admin to switch to specific user 2022-10-30 21:52:44 +02:00
iliajie
c8e94c8cdc Fix to use Digest::SHA instead 2022-10-30 21:49:52 +02:00
Jamie Cameron
f2ca4e1fdd Merge pull request #1769 from webmin/dev/xterm-deps-bundle
Bundle dependencies for a new Terminal module
2022-10-30 12:47:23 -07:00
iliajie
b014291882 Fix to revert not fully related change 2022-10-30 21:31:38 +02:00
Jamie Cameron
6d96dd6a13 Add option to use existing websockets key instead of session ID 2022-10-30 12:21:34 -07:00
iliajie
3d73e2faae Revert "Fix to always use use Digest::SHA"
This reverts commit 7fb5e74e2b.
2022-10-30 20:56:32 +02:00
iliajie
d180b0a0f4 Revert "Add support to switch to given user"
This reverts commit 62d2a6d0e8.
2022-10-30 20:53:33 +02:00
iliajie
62d2a6d0e8 Add support to switch to given user 2022-10-30 20:46:04 +02:00
iliajie
a57151c7bd Fix to also remove telnet module from defaults 2022-10-30 20:03:40 +02:00
iliajie
5c7494cccd Fix to change dependency to Digest::SHA 2022-10-30 19:35:16 +02:00
iliajie
7fb5e74e2b Fix to always use use Digest::SHA 2022-10-30 18:24:17 +02:00
iliajie
e098d614cb Add xterm and remove ajaxterm 2022-10-30 18:11:58 +02:00
iliajie
2a01e93371 Fix dependency module name for Debian package 2022-10-30 18:09:34 +02:00
iliajie
c57fba5b57 Add to bundle Protocols:WebSocket and Net:WebSocket 2022-10-30 17:50:47 +02:00
iliajie
cd5616a6c0 Fix to move module check at the top 2022-10-30 13:30:02 +02:00
Jamie Cameron
7bceedfe42 Make code cleaner and stop using float() for validation 2022-10-29 13:23:22 -07:00
Jamie Cameron
669af033d1 Merge branch 'master' of github.com:webmin/webmin 2022-10-29 13:16:40 -07:00
Jamie Cameron
eef79887ee Clean up leftover connections in more cases 2022-10-29 13:16:30 -07:00
iliajie
25f01179a3 Add is_int and is_float subs 2022-10-29 18:15:39 +03:00
Jamie Cameron
0185397a0c Merge branch 'master' of github.com:webmin/webmin 2022-10-28 16:07:25 -07:00
Jamie Cameron
e8a875fc29 Check ports in use in miniserv.conf, even if they haven't been opened yet 2022-10-28 16:07:19 -07:00
iliajie
ec216a0115 Fix to parse float 2022-10-28 22:36:56 +03:00
iliajie
87c8146698 Add parse float API 2022-10-28 22:35:57 +03:00
Jamie Cameron
9f2ef4c91a Background process when its ready to open a socket 2022-10-28 11:31:29 -07:00
Jamie Cameron
20f40d0d38 Merge branch 'master' of github.com:webmin/webmin 2022-10-27 18:26:45 -07:00
Jamie Cameron
9ea1f0ad52 Make boxes bigger 2022-10-27 18:19:20 -07:00
Jamie Cameron
989e15d4cd Merge pull request #1766 from webmin/dev/dont-expose-socket-as-global-variable
Fix not to expose active `socket` to a global scope
2022-10-27 13:06:36 -07:00
iliajie
5204bd1a1b Add to support onclose event handler (for connection lost) 2022-10-27 21:49:08 +03:00
iliajie
72cce4349b Add error handling 2022-10-27 20:43:03 +03:00
iliajie
2574e2012f Fix to always clear screen as sometimes command-prompt is eaten up 2022-10-27 20:32:39 +03:00
iliajie
fbef076ebc Fix not to expose active socket to a global scope 2022-10-27 20:29:39 +03:00
Jamie Cameron
3c5e065edc Cleanup todos 2022-10-26 23:17:02 -07:00
iliajie
84a7279442 Rename module to Terminal 2022-10-27 03:07:05 +03:00
iliajie
435c55039e Fix error message wording 2022-10-27 03:06:31 +03:00
iliajie
4aa80112c4 Send port too 2022-10-27 01:10:33 +03:00
Jamie Cameron
a1d09c977f Don't terminate existing shell because of socket probe from a new shell 2022-10-26 11:35:57 -07:00
Jamie Cameron
67f8f9ccd6 Merge branch 'master' of github.com:webmin/webmin 2022-10-26 09:47:57 -07:00
Jamie Cameron
c23c334eed Connection: header may be more than just upgrade 2022-10-26 09:47:27 -07:00
iliajie
e94b819b7b Fix to detect terminal width and height only for regular themes 2022-10-26 19:19:31 +03:00
Jamie Cameron
4c7eb9ccb2 Clean out webmin environment vars 2022-10-26 09:08:01 -07:00
Jamie Cameron
a1b497dc72 Merge branch 'master' of github.com:webmin/webmin 2022-10-26 09:06:58 -07:00
Jamie Cameron
7064fc4708 Start in user's home dir 2022-10-26 09:06:43 -07:00
iliajie
29960cfe92 Fix indent 2022-10-26 13:06:40 +03:00
iliajie
ec1a1ed023 Fix cap 2022-10-26 12:34:41 +03:00
Jamie Cameron
a97bf30bd8 Make module name consistent 2022-10-25 23:35:08 -07:00
Jamie Cameron
b640e87969 Fix user switching 2022-10-25 23:34:59 -07:00
Jamie Cameron
3026a51a1f Code cleanup 2022-10-25 22:44:39 -07:00
Jamie Cameron
e9bcccfc8c getpwnam can return 0 for root 2022-10-25 22:13:34 -07:00
Jamie Cameron
b32fb2da61 Fix up merge conflict 2022-10-25 13:40:58 -07:00
Jamie Cameron
b7758a8bcd Support using remote user 2022-10-25 13:38:38 -07:00
Jamie Cameron
65aaf7ad92 Merge pull request #1765 from webmin/dev/xterm.js
Interactive shell improvements
2022-10-25 13:32:02 -07:00
iliajie
296a904e78 Fix to pass only clear data to the theme 2022-10-25 21:32:45 +03:00
iliajie
5f32e6e80e Fix to clear left overs (after removed fit addon) 2022-10-25 21:08:54 +03:00
iliajie
a29a356689 Change module name to Terminal 2022-10-25 21:03:54 +03:00
iliajie
1cb39a681c Add further improvements to the xterm module:
1. Drop fit addon, as we always pass cols and rows (even in auto mode)
   2. Fix terminal fit by columns and lines (rows)
   3. Add CSS only based pre-loader
   4. Refactor and improve code
2022-10-25 20:50:04 +03:00
iliajie
e1a61d7815 Fix indent (properly) 2022-10-25 13:08:59 +03:00
iliajie
8b60a24251 Fix indent 2022-10-25 13:06:52 +03:00
iliajie
bf46fe67b8 Fix offset to be 5 as appears to be best with various scaling modes 2022-10-25 04:17:02 +03:00
iliajie
760e0e3152 Fix to always pass cols and rows options ; fix adjustments 2022-10-25 04:02:10 +03:00
iliajie
b1a2b5dfc9 Add support for SPA themes 2022-10-25 03:00:37 +03:00
iliajie
86e1493dee Fix not to use barewords for file handler 2022-10-25 00:49:08 +03:00
iliajie
74e37099fd Fix to use headers when set to avoid initial redirect 2022-10-25 00:35:07 +03:00
iliajie
fe81978900 Fix rows (lines) to be browser dependent (i.e. to fit nano controls) 2022-10-25 00:00:23 +03:00
iliajie
3f1c4a23ad Fix UTF-8 support (don't double encode) 2022-10-24 23:38:30 +03:00
iliajie
21faef0804 Fix indent and proper code formatting 2022-10-24 23:26:22 +03:00
iliajie
ed7997d306 Fix to use xterm-256color .. as it works on all contemporary systems 2022-10-24 23:14:09 +03:00
iliajie
ba10eb4173 Add support to setup column size from UI (or work automatically) 2022-10-24 23:07:04 +03:00
iliajie
ea741f002d Fix to add config option to set width and height 2022-10-24 21:44:58 +03:00
iliajie
6948205ebe Fix to auto-focus terminal 2022-10-24 20:06:33 +03:00
iliajie
4c686dbd1d Fix to actually load to fit the page ; remove tables 2022-10-24 18:43:13 +03:00
iliajie
6ad8c64c31 Drop rows and columns as terminal will fit the container automatically 2022-10-24 18:30:29 +03:00
iliajie
cc70ab2f39 Add to load auto-fit module ; load with serial 2022-10-24 18:24:04 +03:00
iliajie
1019a2697a Add new module to auto-fit container size 2022-10-24 18:21:27 +03:00
iliajie
214b5f3e61 Drop .map files 2022-10-24 18:21:12 +03:00
iliajie
379cf53076 Update to the latest Xterm.js 5.0.0 2022-10-24 18:20:44 +03:00
Jamie Cameron
285815cab2 Merge pull request #1762 from webmin/dev/fix-systemd-lost-properties
Fix `systemd` unit lost properties
2022-10-23 12:35:13 -07:00
Jamie Cameron
8cdd3eeeab Add config options for width and height 2022-10-22 23:17:21 -07:00
Jamie Cameron
acec438536 Pretent to be a vt100 2022-10-22 18:19:02 -07:00
Jamie Cameron
98c2ce24c1 Include the session ID in the websockets key so that it can be verified on the backend to prevent misuse of the session 2022-10-22 18:17:15 -07:00
Jamie Cameron
b049ba6c3b Add more debug info 2022-10-22 12:13:27 -07:00
Jamie Cameron
f153590cf2 Merge branch 'master' of github.com:webmin/webmin 2022-10-22 12:09:29 -07:00
Jamie Cameron
0c5cbaef3f Launching a shell actually works now! 2022-10-22 12:07:25 -07:00
iliajie
cb98164c82 Fix to only get specific properties for speed 2022-10-22 19:07:05 +03:00
iliajie
0930bdde32 Fix indent 2022-10-22 14:33:42 +03:00
iliajie
debcde489d Abstract systemd unit types 2022-10-22 14:32:02 +03:00
iliajie
bf0a3a109b Fix to filter out all possible templates 2022-10-22 14:18:46 +03:00
Ilia
231c8fcbd3 Merge branch 'master' into dev/fix-systemd-lost-properties 2022-10-22 13:57:02 +03:00
iliajie
831abe0812 Fix to run systemctl show individually for each unit instead 2022-10-22 13:51:40 +03:00
iliajie
429cf742be Sync with master 2022-10-22 13:48:46 +03:00
iliajie
e2438029ab Fir to preformat error message 2022-10-22 13:40:57 +03:00
Jamie Cameron
532e1150ce Asking for properties causes some units to be skipped 2022-10-21 22:22:05 -07:00
Jamie Cameron
70546895cd Columns in index might be quoted https://sourceforge.net/p/webadmin/bugs/5588/ 2022-10-21 19:48:02 -07:00
Jamie Cameron
3758aec710 Merge branch 'master' of github.com:webmin/webmin 2022-10-21 19:32:18 -07:00
Jamie Cameron
5224603d0a Show key state 2022-10-21 19:31:14 -07:00
Ilia
8d7731e72b Merge pull request #1763 from 7Adrian/patch-1
Some fixes in polish translation
2022-10-21 14:39:12 +03:00
7Adrian
8db0de4f9c Merge branch 'webmin:master' into patch-1 2022-10-21 13:09:25 +02:00
Jamie Cameron
d7c34eab2b Limit a connection to a user 2022-10-20 22:22:45 -07:00
Jamie Cameron
a87f3fbf89 No need for forked command mode for now 2022-10-20 21:41:14 -07:00
Jamie Cameron
9c56426ccd Start of work on xterm shell over websockets 2022-10-20 21:39:38 -07:00
iliajie
5404142690 Fix to run systemctl show for each unit 2022-10-20 13:33:01 +03:00
Jamie Cameron
9350bd79cd Separate units in systemctl show by the spaces between them 2022-10-19 22:06:50 -07:00
Jamie Cameron
854d34bda2 Revert "Fix stop loosing systemd units https://github.com/webmin/webmin/issues/1745"
This reverts commit 5a53efb560.
2022-10-19 22:01:33 -07:00
Jamie Cameron
0ec465cfb0 Also check dynamic status before editing 2022-10-19 17:04:35 -07:00
Jamie Cameron
f7441d2c22 Include dynamic zone status in cache, and use this to determined whether a freeze/thaw is needed 2022-10-19 17:01:31 -07:00
Jamie Cameron
65a00792aa Merge branch 'master' of github.com:webmin/webmin 2022-10-19 16:39:49 -07:00
7Adrian
6495b12ddc Fix polish translation
Some polish chars were bad converted in ASCII.
2022-10-20 01:04:57 +02:00
7Adrian
561763d610 Fixed typo mistake 2022-10-20 00:21:00 +02:00
7Adrian
758370c84c Fixed typo mistake 2022-10-20 00:16:49 +02:00
7Adrian
8d5f43d73b Fix polish translation
Some polish chars were bad converted in ASCII.
2022-10-20 00:10:20 +02:00
Ilia
4b9e7831af Merge pull request #1761 from kwadrat/master
Fix: Doręczać
2022-10-19 16:02:44 +03:00
iliajie
b9e6ceecfc Fix systemd lost properties 2022-10-19 15:19:11 +03:00
iliajie
60349eb62e Protect Webmin from being deleted or stopped, and restart properly 2022-10-19 14:25:43 +03:00
iliajie
18a84c643e Update translations 2022-10-19 13:44:49 +03:00
iliajie
6a38dd89d1 Fix precedence is very important, especially when service is masked
* Unit must be enabled (and unmasked) first before starting
  * Therefore a service cannot be started before it's enabled in Webmin
2022-10-19 13:40:40 +03:00
Piotr Kasprzyk
f1924ddf81 Fix: Doręczać 2022-10-19 12:27:38 +02:00
iliajie
3456f581de Fix to prevent masked services from being edited 2022-10-19 12:40:20 +03:00
iliajie
460ba7d8cd Add support to display No (masked) state 2022-10-19 12:33:08 +03:00
iliajie
d16b6433f3 Fix to display stopped, disable and masked in orange 2022-10-19 12:28:14 +03:00
Jamie Cameron
a4d5956291 Fix new group CN 2022-10-18 22:45:42 -07:00
Jamie Cameron
afb8b9971a Merge branch 'master' of github.com:webmin/webmin 2022-10-18 20:56:33 -07:00
Jamie Cameron
de53c5acc0 Add back freeze and thaw when reloading zones https://sourceforge.net/p/webadmin/bugs/5587/ 2022-10-18 20:56:17 -07:00
iliajie
79f485d81d Fix to test if unit exists before masking ; add return codes 2022-10-18 19:05:45 +03:00
iliajie
783ba32a48 Fix detection of systemd unit (more than just .service) 2022-10-18 18:27:11 +03:00
iliajie
5a53efb560 Fix stop loosing systemd units https://github.com/webmin/webmin/issues/1745 2022-10-18 18:25:16 +03:00
iliajie
fa57718bf8 Fix for systemd types tests (more than just .service) 2022-10-18 18:14:03 +03:00
iliajie
b863134d61 Add new {mask|unmask}_actions for systemd systems 2022-10-18 13:54:02 +03:00
iliajie
e6a2bb15b0 Fix to test on a newly added API sub 2022-10-17 21:59:46 +03:00
Jamie Cameron
6546ad5e4a Merge branch 'master' of github.com:webmin/webmin 2022-10-17 11:26:46 -07:00
Jamie Cameron
8919aafc19 Use correct cert and key file when there is a hostname-specific cert 2022-10-17 11:26:20 -07:00
iliajie
9603792ab3 Fix not to test size 16e4a750b1 (r87054057) 2022-10-17 20:51:39 +03:00
iliajie
16e4a750b1 Fix a new miniserv_using_default_cert sub tests 2022-10-17 19:21:53 +03:00
iliajie
d3fe07cecc Fix typo 2022-10-17 17:36:13 +03:00
iliajie
ae99d7a862 Fix to use a new sub to test default cert 2022-10-17 14:39:49 +03:00
Jamie Cameron
81376eb3fc PID file may be in a different location on SuSE 15.4 https://sourceforge.net/p/webadmin/bugs/5586/ 2022-10-16 22:19:37 -07:00
Jamie Cameron
e8d971243f Handle a different tar password input 2022-10-16 17:23:52 -07:00
Jamie Cameron
ced2b98dde Use actual cert file when comparing with the default 2022-10-16 17:23:33 -07:00
Jamie Cameron
0895b4724f Pass SSL cert and key files for this connection on to CGI scripts 2022-10-16 17:20:58 -07:00
Jamie Cameron
2180c77d9a Add function to check for default cert 2022-10-16 13:27:04 -07:00
Jamie Cameron
f00a322d94 Actually forward the websockets protocol properly in proxy mode 2022-10-15 16:27:27 -07:00
Jamie Cameron
340b883f92 Don't lose debug log on reload 2022-10-14 23:35:24 -07:00
Jamie Cameron
2fad122571 Delete obsolete inets support 2022-10-14 16:22:30 -07:00
Jamie Cameron
e423216731 SHA1 digest is needed for websockets support 2022-10-14 16:15:35 -07:00
Jamie Cameron
85ec6381a1 Start of work to create an LDAP group when adding a user 2022-10-14 16:15:12 -07:00
Jamie Cameron
5507f501df Log SSL redirects 2022-10-14 15:30:05 -07:00
Jamie Cameron
60a93b9f55 Version bump for new features 2022-10-14 12:34:35 -07:00
Jamie Cameron
1cea2dfdd6 Merge branch 'master' of github.com:webmin/webmin 2022-10-14 12:31:40 -07:00
Jamie Cameron
273100ec6e Add support for websockets proxying via Webmin 2022-10-14 12:31:32 -07:00
iliajie
71fb561694 Fix to support displaying $miniserv::defcert warning message 2022-10-14 16:16:17 +03:00
iliajie
2d2bac1804 Fix to consider timers 2022-10-14 13:28:04 +03:00
iliajie
dd937476e3 Fix to drop removed PHP save mode controls
"This feature has been DEPRECATED as of PHP 5.3.0 and REMOVED as of PHP 5.4.0."
2022-10-12 14:37:44 +03:00
Jamie Cameron
22af3160c0 Merge branch 'master' of github.com:webmin/webmin 2022-10-11 23:24:44 -07:00
Jamie Cameron
94c64c2308 Freeze and thaw domain before editing 2022-10-11 23:24:35 -07:00
iliajie
8e18120cbd Fix to support older versions of OpenSSL 2022-10-11 00:43:38 +03:00
iliajie
8410db5a1f Update default miniserv.pem cert 2022-10-11 00:29:38 +03:00
iliajie
ea0e66cff5 Fix self-signed certificate work in Chrome (on MacOS) 2022-10-10 21:32:44 +03:00
iliajie
bbef983d2f Fix to drop debug lines 2022-10-10 20:55:40 +03:00
iliajie
fd7102ce81 Fix self-signed certificate generation 2022-10-10 18:01:41 +03:00
Jamie Cameron
62c3e4b3cd Include localhost and hostname in SSL alt names 2022-10-09 19:31:46 -07:00
Jamie Cameron
57801818b9 Handle time-only log format 2022-10-09 00:04:24 -07:00
Jamie Cameron
84808c3a3b Fix perl warning 2022-10-08 23:50:01 -07:00
Jamie Cameron
4ae46dbe83 Also fix MySQL strings in PHP-INI module https://github.com/virtualmin/virtualmin-gpl/issues/464 2022-10-08 23:22:52 -07:00
Jamie Cameron
06094e22f4 Change date automatically 2022-10-07 23:15:00 -07:00
Jamie Cameron
7eb0821606 Version bump 2022-10-07 23:08:34 -07:00
Jamie Cameron
d3d6901a23 Add UI to show past playtime 2022-10-07 23:08:14 -07:00
Jamie Cameron
57537ef282 Include localhost and hostname in altnames 2022-10-05 17:19:09 -07:00
Jamie Cameron
f13d6347a6 Merge branch 'master' of github.com:webmin/webmin 2022-10-05 17:10:30 -07:00
Jamie Cameron
1d7cd7da24 Include localhost and the hostname in altnames 2022-10-05 17:10:05 -07:00
iliajie
7c301848cb Fix setting hostname for Debian and Ubuntu using hostnamectl 2022-10-05 22:32:29 +03:00
Jamie Cameron
feb87e2b53 tcp-wrappers is pretty obsolete, so stop suggesting we install a perl module for it https://github.com/webmin/webmin/issues/1749 2022-10-04 23:38:13 -07:00
Jamie Cameron
c28e60951b Merge branch 'master' of github.com:webmin/webmin 2022-10-04 20:52:34 -07:00
Jamie Cameron
90e164671f We are only reading named.conf, not writing here 2022-10-04 20:52:10 -07:00
iliajie
7d24ac3841 Fix indent 2022-10-04 23:02:57 +03:00
Jamie Cameron
b2798dbe89 Functions to get past playtime history 2022-10-02 22:51:43 -07:00
Jamie Cameron
fa465d0f76 Start of work on websockets proxy support 2022-10-02 21:23:31 -07:00
Jamie Cameron
0b95533a88 Extract and search inside zipped help files 2022-10-02 10:23:32 -07:00
Jamie Cameron
3a86b6f00d Merge branch 'master' of github.com:webmin/webmin 2022-10-02 09:55:24 -07:00
Jamie Cameron
d400db0684 Add param to check for help file in another directory 2022-10-02 09:54:04 -07:00
iliajie
f126fc3133 Fix to exclude sensors with unknown temperatures 2022-10-02 19:50:11 +03:00
iliajie
2eded6df95 Revert "Fix to exclude sensors with unknown temperatures"
This reverts commit f596d064b4.
2022-10-02 19:48:59 +03:00
iliajie
f596d064b4 Fix to exclude sensors with unknown temperatures 2022-10-02 19:48:16 +03:00
Jamie Cameron
391773274f Remove obsolete option to skip use of chkconfig 2022-10-01 18:11:01 -07:00
Jamie Cameron
52d34aea5d Remove un-used show_opts option 2022-10-01 17:59:06 -07:00
Jamie Cameron
8307d78c07 Links to init scripts are always symlinks 2022-10-01 17:44:24 -07:00
Jamie Cameron
0c22608c7a Remove support for ancient caldera-only daemons_dir feature 2022-10-01 17:35:46 -07:00
Jamie Cameron
7faf34961c Remove totally obsolete daemons_dir config option 2022-10-01 17:28:42 -07:00
Jamie Cameron
348cdd1a50 Merge branch 'master' of github.com:webmin/webmin 2022-10-01 17:08:02 -07:00
Jamie Cameron
4f8b96cfeb Remove start/stop messages option from configs, as it can be determined by the OS 2022-10-01 17:07:53 -07:00
iliajie
5ca8dea7a3 Fix missing semicolons 2022-10-01 18:53:37 +03:00
iliajie
c12e1c9c25 Fix to use foreign_defined sub instead 2022-10-01 18:50:21 +03:00
iliajie
d0ed52adf7 Fix to use foreign_defined sub instead 2022-10-01 18:29:39 +03:00
iliajie
261e5eaf40 Fix not to overflow input text field 2022-09-29 10:00:59 +03:00
iliajie
e1144a7398 Fix to replace config and help labels too (MySQL ⇾ MariaDB) 2022-09-29 09:58:14 +03:00
iliajie
1a6b280ab6 Fix to put it in one line 2022-09-29 09:08:44 +03:00
iliajie
fcd0c11ef9 Add support to modify help text using help_pre_load sub 2022-09-28 22:46:08 +03:00
iliajie
8fef42775b RHEL cover version range 2022-09-27 15:22:30 +03:00
Jamie Cameron
c18aaea427 CentOS 7.9 isn't covered by version range 6.0 to 7.0 2022-09-26 22:10:02 -07:00
Jamie Cameron
ed0d487fc5 Escape more inputs 2022-09-25 10:42:28 -07:00
Jamie Cameron
6075313456 In IPv6 mode, NAT source and destination should be v6 addresses https://sourceforge.net/p/webadmin/bugs/5451/ 2022-09-25 10:31:22 -07:00
Jamie Cameron
91ac918965 On FreeBSD, let's encrypt cert files are under /usr/local https://forum.virtualmin.com/t/lets-encrypt-validation-failed-on-freebsd/117015 2022-09-25 10:19:57 -07:00
Jamie Cameron
2142edce39 Escape descriptions and group names 2022-09-25 00:46:20 -07:00
Jamie Cameron
3dd1234c24 Add checkbox to control if key is kept 2022-09-24 11:52:16 -07:00
Jamie Cameron
90c23f6a1e Allow configuration of default user and group for new log files https://github.com/webmin/webmin/issues/1747 2022-09-23 23:37:44 -07:00
Jamie Cameron
7b1d70d620 Merge branch 'master' of github.com:webmin/webmin 2022-09-22 22:59:04 -07:00
Jamie Cameron
66849cbe55 Support the older primary zone type, which is the same as master https://sourceforge.net/p/webadmin/bugs/5584/ 2022-09-22 22:58:22 -07:00
Jamie Cameron
067dc65b5d Merge pull request #1744 from Elektronator/patch-1
Update save_profile.cgi
2022-09-20 21:18:09 -07:00
Elektronator
2108bb5732 Update save_profile.cgi
allows to create and burn (backup) files > 4GB and long filenames
2022-09-20 22:35:16 +02:00
Jamie Cameron
4d2c8979e9 ZIP up help files when packaging 2022-09-19 23:46:26 -07:00
Jamie Cameron
2bc7440cca Try all languages in the ZIP file 2022-09-19 23:27:20 -07:00
Jamie Cameron
aa0e40d260 Update some old technology references 2022-09-19 23:25:09 -07:00
Jamie Cameron
82100ca232 Deal with attachment filenames with / in them 2022-09-19 18:26:47 -07:00
Jamie Cameron
5868f8628d Work on support for ZIP format help pages 2022-09-18 23:59:01 -07:00
Jamie Cameron
200d597a28 Dev version bump 2022-09-18 19:24:19 -07:00
Jamie Cameron
5949e01c6b Don't show non-editable filesystem types by default 2022-09-18 19:23:59 -07:00
Jamie Cameron
4bbf2b13a3 Remove reference to un-used variable 2022-09-18 18:48:49 -07:00
Jamie Cameron
d7477336ac Use new UI library 2022-09-18 18:45:50 -07:00
iliajie
22cd52a451 Fix strict to go first 2022-07-20 20:49:46 +03:00
iliajie
7f61f2536d Merge branch 'master' into dev/gray-theme-replace 2022-07-20 20:45:50 +03:00
Ilia
d2cce7482b Simply replace Gray Framed with Virtualmin Framed theme 2022-06-07 15:03:54 +03:00
BRESTAN Rainer
fad1201240 Allow multiple LDAP server for userdb 2019-11-18 18:44:55 +01:00
55488 changed files with 62250 additions and 1856573 deletions

9
.gitattributes vendored
View File

@@ -1,9 +0,0 @@
# webmin .gitattribues file
# help git / github to know the encoding of webmin (lang) files
# force module.info to iso-8859-1 even it contains other encodings
*/module.info working-tree-encoding=iso8859-1 git-encoding=iso8859-1
# set all .UTF-8 to UTF-8
*.UTF-8 working-tree-encoding=UTF-8 git-encoding=UTF-8

23
.gitignore vendored
View File

@@ -1,23 +0,0 @@
# thumbnails
Thumbs.db
.xvpics
# python byte-compiled
*.py[cod]
# temp files
*~
*.bak
test
*.tmp
*.site
core
# build files
.builds
.build
# makedist.pl
tarballs/
minimal/
.DS_Store

View File

@@ -1,444 +0,0 @@
## Changelog
#### 2.001 (September, 2022)
* Fix missing origins and action for direct rules in FirewallD module
* Removed the need for a full restart when updating SSH keys
* Improved the Javascript for redirects to HTTPS
#### 2.000 (August 21, 2022)
* Add to enforce HTTP Strict Transport Security (HSTS) policy in SSL enabled mode
* Add better `http` to `https` redirects when SSL is enabled
* Add support for installing multiple versions of Webmin on `systemd` systems
* Add support for AMD CPU thermisters #1714
* Add better support for Webmin minor (release) versions upgrades
* Add Webmin and Usermin configuration modules display minor (release) version
* Add Mint Linux support
* Add latest Authentic 20.00 [theme update](https://github.com/webmin/authentic-theme/releases/tag/20.00) with number of bug fixes
* Fix to also restart dependent services (i.e. `fail2ban`) upon `firewalld` restart
* Fix to preserve service state for Webmin and Usermin upon package upgrades (i.e. don't start stopped)
* Fix Bind module config incorrectly updated upon Webmin upgrades on CentOS 7
#### 1.999 (August 4, 2022)
* Fix to allow IPv6 addresses for slaves in BIND module
* Fix to send `HUP` signal on reload with `systemd`
* Fix icons in Servers Index module for newer distros (Alma and Rocky)
* Fix to remove depricated option `UsePrivilegeSeparation` with OpenSSH 7.5+
* Fix Oracle Linux support
* Fix Ubuntu release notes links
* Add Webmin release note message
* Add latest Authentic [theme update](https://github.com/webmin/authentic-theme/releases/tag/19.99) with number of bug fixes
#### 1.998 (July 25, 2022)
* Fix Apache, BIND, MySQL, ProFTPd and other modules configs on newest distros for new installs
* Fix to use Cron default path when run from UI
* Fix post uninstall cleanups
* Fix version detection bug for Log File Rotation module
* Add improvements to Partitions on Local Disks module
* Add better support for CentOS Stream Linux for new installs
* Add improvements for searching and naming global PHP configs files
* Add support for unix extensions option for Samba module https://github.com/webmin/webmin/issues/1695
* Add latest Authentic [theme update](https://github.com/webmin/authentic-theme/releases/tag/19.98) with various bug fixes and small improvements
#### 1.997 (July 12, 2022)
* Add support for mirror and RAID volumes in LVM module
* Add latest Authentic [theme update](https://github.com/webmin/authentic-theme/releases/tag/19.97) with nice new features in File Manager and other fixes
* Fix more issues with restart when Webmin is upgraded from UI
#### 1.996 (July 4, 2022)
* Fix issues with `systemd` restarting Webmin on upgrade found in 1.995
#### 1.995 (June 23, 2022)
* Add improvements to stability for `systemd` systems
* Add native support to default to system default hashing format
* Add support to `yescrypt` password hashing scheme
* Add new _System Logs Viewer_ (logviewer) module
* Add new `webmin server` sub-command
* Add to set environmental variables in Filesystem Backup module
* Fix upload tracker issues with large uploads
* Fix NVMe drives status support
* Fix AlmaLinux support
* Fix BIND config for FreeBSD 12 on initial setup
#### Version 1.994 (May 22, 2022)
This release fixes a security issue in versions 1.991 and below. All systems with less-privileged Webmin users are recommended to upgrade as soon as possible.
#### Version 1.991 (April 18, 2022)
This is mainly a bugfix release for issues found since 1.990.
#### Version 1.990 (March 3, 2022)
This release contains a critical security fix, an updated theme, and a bunch of other small features and improvements. We recommend that all systems with untrusted Webmin users upgrade immediately!
#### Version 1.983 (December 26, 2021)
This release is mostly bugfixes for issues found in 1.983.
#### Version 1.983 (December 4, 2021)
These releases are mostly bugfixes for issues found in 1.982.
#### Version 1.982 (November 26, 2021)
This release includes the latest Authentic theme, support for archive extraction and folder uploads in the File Manager module, automatic formatting of the Apache config, translation updates, and many more small features and bugfixes.
#### Version 1.981 (August 28, 2021)
This is just a bugfix for issues found in version 1.980.
#### Version 1.980 (August 22, 2021)
This release includes numerous small bugfixes, a theme update, translation fixes, support for Rocky and Alma Linuxes, and a new API for changing password.
#### Version 1.979 (June 15, 2021)
This release fixes several bugs found in 1.974, updates the Authentic theme, adds 2FA support in Usermin, and fixes a security bug in the Network Configuration module.
#### Version 1.974 (May 1, 2021)
Mostly a bugfix release, but it also contains a security for users who installed using the `setup.pl` script (which is not common).
#### Version 1.972 (March 1, 2021)
This is mainly a bugfix release for issues with Let's Encrypt and a few other modules.
#### Version 1.970 (January 6, 2021)
This release updates the theme, fixes a Windows security issue, updates the CA cert for Let's Encrypt, and improves translations.
#### Version 1.962 (November 11, 2020)
These are bugfix releases for 2-factor signin and other small issues.
#### Version 1.960 (October 19, 2020)
This release improves MySQL user management, updates the theme UI, fixes parsing of complex Netplan configs, removes the dependency on apt-show-versions and much much more.
#### Version 1.953 (July 5, 2020)
This release adds automatic translations for all languages in UTF-8, updates the Authentic theme, adds support for Postfix SNI certs and Chrony, caching for LDAP lookups, and a huge number of bugfixes and minor features.
#### Version 1.941 (January 16, 2020)
This release updates the built-in Let's Encrypt client, adds support for creating "safe-mode" Webmin users, support for CAA records in the BIND module, and the ability to search Postfix maps. It also updates the Authentic theme to the latest version, which includes numerous improvements to the File Manager and overall UI.
#### Version 1.930 (August 18, 2019)
These updates fix a [security vulnerability](http://webmin.com/security.html) and should be installed IMMEDIATELY by all users. Although it is not exploitable in a Webmin install with the default configuration, upgrading is strongly recommended.
#### Version 1.920 (July 04, 2019)
This update includes the latest theme version, translation updates, the ability to disable hosts file entries, easier monitoring of bootup actions, and a bunch of bugfixes.
#### Version 1.910 (May 09, 2019)
This release includes theme and translation updates, a page for editing package repositories, cron and status module improvements, and a bunch of other bugfixes and small improvements.
#### Version 1.900 (November 19, 2018)
This version includes wildcard Let's Encrypt SSL cert support, theme and translation updates, support for announcements to Webmin users, and a bunch of other bugfixes and small improvements.
#### Version 1.890 (July 19, 2018)
This version includes Ubuntu 18 network config support, translation updates, multiple theme and file manager updates, BIND freeze/thaw support, support for more Linux distributuions, and a bunch of other bugfixes and small improvements.
#### Version 1.880 (March 16, 2018)
This version includes German, Catalan and Bulgarian translation updates, a new version of the Authentic theme, support for directly editing the MySQL and PostgreSQL config files, Let's Encrypt bugfixes, more control over system status email notifications, and more.
#### Version 1.870 (December 08, 2018)
This release includes many translation updates, fixes for Let's Encrypt support, UI cleanups, and most importantly a new major version of the Authentic theme.
#### Version 1.860 (October 10, 2017)
This release includes Let's Encrypt DNS fixes, Majordomo module improvements, XSS security bugfixes, translation updates, a new version of the theme, and more.
#### Version 1.850 (June 28, 2017)
This release includes Let's Encrypt fixes, Majordomo module improvements, FirewallD forwarding support, translation updates, an update to the Authentic theme, and a bunch of other bugfixes.
#### Version 1.840 (May 08, 2017)
This major release includes a large theme update, XSS security fixes, per-domain SSL cert support, thin-provisioned LVM support, Let's Encrypt improvements, translation updates, and the usual gang of bugfixes. Also available is Usermin 1.710, which contains many of the same updates.
#### Version 1.830 (December 29, 2016)
This is mainly a bugfix release, but also contains some translation updates, the latest version of the Authentic theme, fixes related to Let's Encrypt and LDAP client support, and SElinux and file attribute support in the file manager.
#### Version 1.820 (October 3, 2016)
This updated includes a bunch of bugfixes (particularly in the BIND module), translation updates, the ability to download a MySQL backup, Let's Encrypt improvements, and more.
#### Version 1.810 (August 8, 2016)
This updated includes the latest Authentic theme, a new IPv6 Firewall module for Linux, Webmin actions logging improvements, Let's Encrypt API fixes and a bunch of other small updates and bugfixes.
#### Version 1.800
* German translation updates, thanks to Raymond Vetter.
* Catalan translation updates from Jaume Badiella.
* Bulgarian translations from Grigor Gatchev.
* Added Support for Synology NAS and opkg/ipkg Community Package Manager, Kay Marquardt
* Added Support for configuring spam filtering when amvisd is used, Kay Marquardt
#### Version 1.790
* Added a recent logins section to the System Information page.
* Major rework of majordomo module, Kay Marquardt
#### Version 1.760
* For new installs, switched the location of data files in many modules to /var/webmin instead of /etc/webmin.
#### Version 1.750
* Norwegian updates, thanks to Stein-Aksel Basma.
* Catalan translation updates from Jaume Badiella.
* More German translation updates, thanks to Raymond Vetter.
* Fixed an XSS bug that allowed xmlrpc.cgi to be abused by a malicious link.
#### Version 1.740
* Norwegian updates, thanks to Stein-Aksel Basma.
* Catalan translation updates from Jaume Badiella.
* More German translation updates, thanks to Raymond Vetter.
#### Version 1.730
* More German translation updates, thanks to Raymond Vetter.
* Norwegian updates, thanks to Stein-Aksel Basma.
* The awesome new Authentic Theme by @iliajie is now included in the Webmin package.
* Catalan translation updates from Jaume Badiella.
#### Version 1.720
* Deprecated the old blue-theme in favor of the new gray-theme.
* Catalan translation updates from Jaume Badiella.
* More German translation updates, thanks to Raymond Vetter.
#### Version 1.710
* SSL v2 and v3 are now disabled by default at Webmin install time, to block the POODLE attack. They can be re-enabled on the SSL Encryption page of the Webmin Configuration module.
#### Version 1.700
* More German translation updates, thanks to Raymond Vetter.
* Catalan updates, thanks to Jaume Badiella.
* Added additional protected against Shellshock exploits made via the Webmin webserver.
#### Version 1.690
* More German translation updates, thanks to Raymond Vetter.
* Support for RHEL 7, CentOS 7 and other derivatives in multiple modules.
#### Version 1.670
* More German translation updates, thanks to Raymond Vetter.
* Norwegian updates, thanks to Stein-Aksel Basma.
* Catalan updates, thanks to Jaume Badiella.
* Security fixes for XSS attacks in `user_chooser.cgi` and other scripts.
#### Version 1.660
* More German translation updates, thanks to Raymond Vetter.
* Norwegian updates, thanks to Stein-Aksel Basma.
* Catalan updates, thanks to Jaume Badiella.
* IPv6 access control now match an address exactly, unless a network size is entered.
* FTP uploads and downloads to IPv6-only servers now work properly, thanks to support for the EPSV protocol command.
* Added a Bahasa Malaysia translation, thanks to Nawawi Jamili, Nizam Adnan and Weldan Jamili.
* Added filtering for lists in the user, group and file chooser popups, thanks to a patch from Nawawi Jamili.
#### Version 1.650
* More German translation updates, thanks to Raymond Vetter.
* Norwegian updates, thanks to Stein-Aksel Basma.
#### Version 1.620
* More German translation updates, thanks to Raymond Vetter.
* Polish translation updates from Piotr Kozica.
* Norwegian updates, thanks to Stein-Aksel Basma.
* Improved FreeBSD 8 and 9 support across multiple modules.
* Hungarian translation updates from Balázs Zoltán.
#### Version 1.610
* Norwegian updates, thanks to Stein-Aksel Basma.
* Catalan updates, thanks to Jaume Badiella.
* Yet more German translation updates, thanks to Raymond Vetter.
* Polish translation updates from Piotr Kozica.
#### Version 1.600
* Even more German translation updates, thanks to Raymond Vetter.
* Catalan updates, thanks to Jaume Badiella.
#### Version 1.590
* Even more German translation updates, thanks to Raymond Vetter.
* Norwegian updates, thanks to Stein-Aksel Basma.
* Dutch translation updates, thanks to Gandyman.
* Switch order of command and mode in debug logs to make it clear that "mode=X" is part of the log, not part of the command.
* Added the new Gray Framed Theme, and made it the default for new installs.
#### Version 1.580
* Even more German translation updates, thanks to Raymond Vetter.
* More Dutch updates, thanks to Gandyman.
* Catalan updates, thanks to Jaume Badiella.
* Norwegian updates, thanks to Stein-Aksel Basma.
* All languages now have UTF-8 encoded variants, as well as their native character sets.
* Added support for Ubuntu 12.04.
#### Version 1.570
* Even more German translation updates, thanks to Raymond Vetter.
* Added UTF-8 encodings for languages using the iso-8859-2, like Czech and Polish.
* Catalan updates, thanks to Jaume Badiella.
* Norwegian translation updates, thanks to Stein-Aksel Basma.
* The MySQL, PostgreSQL, Filesystem Backup and Backup Configuration Files modules now all support the use of Webmin variable substitutions in backup paths (like $HOSTNAME) via a new Module Config option.
#### Version 1.560
* More German translation updates, thanks to Raymond Vetter.
* More French translation updates, thanks to ButterflyOfFire.
#### Version 1.550
* Catalan updates, thanks to Jaume Badiella.
* Italian translation updates, thanks to Andrea Oliveri.
* Major German translation updates, thanks to Raymond Vetter.
#### Version 1.530
* Speed up the loading of language files by pre-caching them in memory when Webmin is started, and not performing sub-string substitutions in most modules.
* Added support for Pardus Linux, thanks to Kaan Ozdincer.
* Major Dutch updates, thanks to Gandyman.
* Majoe French translation update, thanks to ButterflyOfFire.
* Allow per-language language overrides to be defined, in custom-lang.$code files.
* Updated numerous modules to improve support for Debian 6 and Ubuntu 10.10.
* If a browser asks for gzip compression, Webmin can now return compressed content either generated dynamically or from a pre-compressed .gz file in the same directory. Dynamic compression depends on the Compress::Zlib perl module.
* Added support for Amazon Linux.
#### Version 1.520
* Catalan translation updates by Jaume Badiella.
#### Version 1.510
* Dutch translation updates, thanks to Gandyman.
* Polish translation updates, thanks to Dariusz Dêbowski.
#### Version 1.500
* Czech translation updates, thanks to Karel Hudan.
* The Webmin RPM now preserves the /etc/webmin directory when un-installed and then re-installed.
* Added a robots.txt file to block indexing of Webmin by search engines.
* The Webmin search box can now be disabled in the Webmin Users module, under "Permissions for all modules".
* Brazillian Portuguese translation updates for several modules, thanks to Djavan Fagundes.
#### Version 1.480
* Catalan translation updates by Jaume Badiella.
* Dutch translation updates, thanks to Gandyman.
* Beginnings of a Basque translation, thanks to Mireia Lezea.
#### Version 1.470
* Catalan translation updates by Jaume Badiella.
* Added an UTF-8 encoding of the Russian translation, thanks to shavlukov@gmail.com.
* French translation updates by ButterflyOfFire.
* Dutch translation updates by Gandyman.
* Dramatically improved Webmin's search function, to include links to pages that help or UI text comes from. Also changed the layout of results to a more Webmin-ish style.
#### Version 1.450
* Added a language option for UK english, and converted words in the default Webmin language to US english.
* Major Dutch translation updates, thanks to Gandyman.
* Catalan translation updates by Jaume Badiella.
* Converted all core modules to use the new WebminCore perl module instead of `web-lib.pl`. This significantly improves memory use and load time in code that uses functions from multiple modules, asssuming they have all been converted.
#### Version 1.440
* Russian translation updates, thanks to Anton Statutov.
* Webmin's serialization functions can now handle objects, which allows them to be passed as parameters to remote function calls. Both caller and recipient must have the object's class installed though.
* Converted commands in the core `web-lib-funcs.pl` API file to POD format, and added more details about each function.
#### Version 1.430
* A large Croatian translation update, thanks to Domagoj Bikic.
* When a user whose password is close to expiry or has already expired logs in, a warning will be displayed on Webmin's first page.
* Many Japanese translation updates, thanks to Kazuya Masuda.
#### Version 1.420
* Many Greek translation updates, thanks to Vagelis Koutsomitros.
* Catalan translation updates by Jaume Badiella.
* Many Dutch translation contributions by Gandyman.
#### Version 1.410
* Many Korean updates, thanks to JoungKyun Kim.
* More Dutch updates, thanks to Gandyman.
* Added a debugging log file, which records all files read and written, commands run and more. This can be enabled in the Webmin Configuration module.
#### Version 1.400
* Big Czech translation updates, thanks to Petr Vanek and the Czech translation team.
* All popups in Webmin are now XSS-safe, and thus do not need protection from unknown referers which prevented them from working in some browsers.
* All Webmin session IDs are now stored MD5 hashed, to prevent sessions from being captured if the sessiondb DBM is somehow read by an attacker.
* Many Dutch updates, thanks to Gandyman.
* MD5 encryption for Webmin and Unix passwords can be used on systems that have either the MD5 or Digest::MD5 perl module, or support it in the crypt() function.
#### Version 1.390
* Links from unknown referers are now blocked by default, to prevent XSS attacks. This may break browsers that don't supply a Referer: HTTP header.
#### Version 1.380
* Added a search box to the left frame of the blue theme, for finding modules, config options, help pages and text.
* All images, CSS and other static content served by Webmin has an HTTP Expires for 1 week in the future, to improve cachability.
* Lock files are automatically removed when the process creating them exits.
* NetBSD 4.0 support.
* Italian and Catalan translations contributed for many modules, thanks to Giovanni and Jaume Badiella.
* Changed the error message that appears when Webmin detects a link from another web page, and removed the button to allow the link (which was unreliable anyway).
#### Version 1.370
* Hid the Jabber and Security Sentries modules by default, as the underlying software is no longer supported.
* On Linux systems, sped up the function for finding processes so that it no longer has to launch 'ps' - instead, it reads /proc directly.
* When `read_file_lines` is used to read a file, the Unix or Windows newlines will be preserved when it is written out.
#### Version 1.340
* Added Redhat Enterprise release 5 support.
* Requests to the /unauthenticated URL can never execute CGI programs, to provide an extra layer of security against URL escaping attacks.
* Fixed XSS bugs in `pam_login.cgi`.
#### Version 1.330
* Added more `ui-lib.pl` functions for hidden page sections.
* Fixed another XSS bug in chooser.cgi.
* The Webmin function to get the system's hostname now reads a file instead of calling the hostname comment, which is faster.
* Added an ACL option to the file chooser for additional directories to allow access to.
* Changed the way sizes are displayed, to use a format like 1.32 GB or 8 kB.
* Removed letter images (used by the old theme), and forced the standard header function to always use text titles.
* Added support for Slam64 Linux.
#### Version 1.320
* Fixed XSS bugs in chooser.cgi.
* If the operating system is upgraded after Webmin is installed, a button is displayed on the main page to update Webmin's view of the current OS.
* Improved the tabs API to add an option to put a box around the visible tab, and whitespace around tabs.
* If listening on all specified IP addresses fails, Webmin will fall back to accepting connections on any address.
* All Module Config pages are now generating using new `ui-lib.pl` code, for easier theming.
* Added a global access control option to set the Unix user the file browser lists directories as.
#### Version 1.310
* Module configuration files can now be named based on the real operating system types, such as config-Ubuntu-Linux, which would be used in preference to config-debian-linux.
* When a large file is uploaded, it is no longer read into memory by `miniserv.pl`.
* Update the code that fetches mirror sites from Sourceforge, to handle their new website design.
* Changed the default theme for all installs to the new framed blue theme.
* Updated all rows of links (like select all, invert selection, add something) above tables to use a separator between links.
* Added caching for sudo capable user checks, to avoid excessive slow calls to sudo.
* Fixed a memory leak when running under ActiveState Perl on Windows.
#### Version 1.300
* Fixed the rare bug about renaming the .webmintmp file.
#### Version 1.290
* SELinux security contexts are preserved on files safely modified by Webmin's write-and-rename code.
* Added xmlrpc.cgi program, which provides an XML-RPC interface to all Webmin module functions.
* Tested and improved support for Fedora 5.
#### Version 1.280
* Fixed security holes that allow remote read access to any file on the server for which the path is known.
#### Version 1.270
* Updated almost all modules that use tables to use the new `ui_columns` functions. This allows themes to do highlighting when a row is moved over or selected.
* Added a new 'Simple Blue' theme, which uses fewer images and does table row highlighting.
* Changed the way that Webmin log diff files are stored, so that they are categorized by action and not all in one huge directory.
#### Version 1.260
* Proxy settings made in the Webmin Configuration module are passed on to programs Webmin calls via the `http_proxy` and `ftp_proxy` environment variables.
* Added automatically created UTF-8 translations for simplified and traditional Chinese.
#### Version 1.240
* Fixed a possible security hole caused by a bug in Perl.
#### Version 1.230
* Replaced all calls to the crypt() function with new code that will use the Crypt::UnixCrypt Perl modules on systems for with crypt() is broken.
#### Version 1.220
* Added basic support for running Webmin on Windows system with ActiveState Perl installed. The new `setup.pl` install script must be used, as the setup.sh shell script cannot run on Windows.
* Fixed a bug that could allow a remote attack if the option to use full PAM conversations is enabled.
* Improved the Webmin RPM to not lose the /etc/webmin directory when upgrading from an RPM by another vendor (like Mandrake or DAG).
#### Version 1.210
* Added a new Global ACL control option to limit a user to read-only mode. This does not yet support all modules, but in those that are supported any changes the user makes will simply not take effect.
* Restarting of Webmin is now much faster in some modules that do not need a full configuration reload, due to the addition of a function that justs tells `miniserv.pl` to re-read its config file.
#### Version 1.200
* On Solaris systems that support RBAC, available modules and access rights can now be derived from RBAC for selected users. This can be enabled on a per-user or per-module basic in the Webmin Users module.
#### Version 1.180
* All subheadings have been reduced in size when using the default MSC theme.
* All modules now use a new API for writing to configuration files, which ensures that the file does not get written to or truncated if the system is out of disk space.
#### Version 1.170
* When installing a module from the command line, by it will be granted to the same users who receive new modules when Webmin is upgraded. By default, this is root and admin.
* Added basic support for multiple root directories, so that Webmin modules can be separated into core and third-party on the filesystem.
* When installing or upgrading Webmin, password timeouts are now enabled by default. This protects against brute-force password guessing attacks.
#### Version 1.160
* Added support for Solaris 10.
* Included several additional translations for various languages and modules.
* Added support for config- files that allow a range of OS version numbers, and used this to reduce the number of standard config files.
#### Version 1.150
* Updated the setup.sh script to use MD5 password encryption by default, on systems where Perl supports it.
* Fixed a security hole in the `maketemp.pl` script, used to create the /tmp/.webmin directory at install time. If an un-trusted user creates this directory before Webmin is installed, he could create in it a symbolic link pointing to a critical file on the system, which would be overwritten when Webmin writes to the link filename (CVE bug CAN-2004-0559).
* When PAM is used for Unix authentication, expired passwords are now detected and the user is prompted to select a new password (if this feature is enabled on the Webmin Configuration module).
* Make all functions in `ui-lib.pl` themable, allowing themes to have more detailed control over modules that make use of this library.
* Updated all modules to call `ui_print_header` instead of calling header and printing `<hr>`, so that themes can avoid the `<hr>`. Also updated the MSC theme to do this.
#### Version 1.140
* Fixed a security hole that allowed any user to view the configuration of any module, even those that they should not have access to.
* Fixed a security hole that could allow an attacker to lock valid users by sending a bogus username or password.

3147
JSON/PP.pm

File diff suppressed because it is too large Load Diff

View File

@@ -1,42 +0,0 @@
package JSON::PP::Boolean;
use strict;
require overload;
local $^W;
overload::import('overload',
"0+" => sub { ${$_[0]} },
"++" => sub { $_[0] = ${$_[0]} + 1 },
"--" => sub { $_[0] = ${$_[0]} - 1 },
fallback => 1,
);
$JSON::PP::Boolean::VERSION = '4.04';
1;
__END__
=head1 NAME
JSON::PP::Boolean - dummy module providing JSON::PP::Boolean
=head1 SYNOPSIS
# do not "use" yourself
=head1 DESCRIPTION
This module exists only to provide overload resolution for Storable and similar modules. See
L<JSON::PP> for more info about this class.
=head1 AUTHOR
This idea is from L<JSON::XS::Boolean> written by Marc Lehmann <schmorp[at]schmorp.de>
=head1 LICENSE
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself.
=cut

30
LICENCE
View File

@@ -1,30 +0,0 @@
BSD 3-Clause License
Copyright (c) Jamie Cameron
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
3. Neither the name of the copyright holder nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

View File

@@ -1,30 +0,0 @@
Japanese translation is released under following license.
---------------------------------------------------------
Copyright (c) Kazuya Sakakihara
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
3. Neither the name of the developer nor the names of contributors
may be used to endorse or promote products derived from this software
without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE DEVELOPER ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE DEVELOPER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.
---------------------------------------------------------

View File

@@ -1,225 +0,0 @@
#!/usr/local/bin/perl -w
use strict;
# Detect the operating system and version.
package OsChooser;
# Package scoped for mapping short names to long "proper" names
my %NAMES_TO_REAL;
# main
sub main {
if ($#ARGV < 1) { die "Usage: $0 os_list.txt outfile [0|1|2|3] [issue]\n"; }
my ($oslist, $out, $auto, $issue) = @ARGV;
return write_file($out, oschooser($oslist, $auto, $issue));
}
main() unless caller(); # make it testable and usable as a library
$| = 1;
sub oschooser {
my ($oslist, $auto, $issue) = @_;
my $ver_ref;
my ($list_ref, $names_ref) = parse_patterns($oslist);
if ($auto && ($ver_ref = auto_detect($oslist, $issue, $list_ref, $names_ref))) {
return ($ver_ref->[2], $ver_ref->[3], $ver_ref->[0], $ver_ref->[1]);
}
elsif (!$auto || ($auto == 3 && have_tty()) || $auto == 2) {
$ver_ref = ask_user($names_ref, $list_ref);
return ($ver_ref->[2], $ver_ref->[3], $ver_ref->[0], $ver_ref->[1]);
}
else {
print "Failed to detect operating system\n";
exit 1;
}
}
# Return a reference to a pre-parsed list array, and a ref to a names array
sub parse_patterns {
my ($oslist) = @_;
my @list;
my @names;
my %donename;
# Parse the patterns file
open(OS, "<$oslist") || die "failed to open $oslist : $!";
while(<OS>) {
chop;
if (/^([^\t]+)\t+([^\t]+)\t+([^\t]+)\t+([^\t]+)\t*(.*)$/) {
push(@list, [ $1, $2, $3, $4, $5 ]);
push(@names, $1) if (!$donename{$1}++);
$NAMES_TO_REAL{$1} ||= $3;
}
}
close(OS);
return (\@list, \@names);
}
# auto_detect($oslist, $issue)
# Returns detected OS details in a hash ref
sub auto_detect {
my ($oslist, $issue, $list_ref) = @_;
my $ver_ref;
my @list = @$list_ref;
# Try to guess the OS name and version
my $etc_issue;
my $uname = `uname -a`;
if ($issue) {
$etc_issue = `cat $issue`;
$uname = $etc_issue; # Strangely, I think this will work fine.
}
elsif (-r "/etc/.issue") {
$etc_issue = `cat /etc/.issue`;
}
elsif (-r "/etc/issue") {
$etc_issue = `cat /etc/issue`;
}
foreach my $o_ref (@list) {
if ($issue && $o_ref->[4]) {
$o_ref->[4] =~ s#cat [/a-zA-Z\-\s]*\s2#cat $issue 2#g;
} # Testable, but this regex substitution is dumb.XXX
local $^W = 0; # Disable warnings for evals, which may have undefined vars
if ($o_ref->[4] && eval "$o_ref->[4]") {
# Got a match! Resolve the versions
print "$o_ref->[4]\n";
$ver_ref = $o_ref;
if ($ver_ref->[1] =~ /\$/) {
$ver_ref->[1] = eval "($o_ref->[4]); $ver_ref->[1]";
}
if ($ver_ref->[3] =~ /\$/) {
$ver_ref->[3] = eval "($o_ref->[4]); $ver_ref->[3]";
}
last;
}
if ($@) {
print STDERR "Error parsing $o_ref->[4]\n";
}
}
return $ver_ref;
}
sub ask_user {
my ($names_ref, $list_ref) = @_;
my @names = @$names_ref;
my @list = @$list_ref;
my $vnum;
my $osnum;
# ask for the operating system name ourselves
my $dashes = "-" x 75;
print <<EOF;
For Webmin to work properly, it needs to know which operating system
type and version you are running. Please select your system type by
entering the number next to it from the list below
$dashes
EOF
{
my $i;
for($i=0; $i<@names; $i++) {
printf " %2d) %-20.20s ", $i+1, $names[$i];
print "\n" if ($i%3 == 2);
}
print "\n" if ($i%3);
}
print $dashes,"\n";
print "Operating system: ";
chop($osnum = <STDIN>);
if ($osnum !~ /^\d+$/) {
print "ERROR: You must enter the number next to your operating\n";
print "system, not its name or version number.\n\n";
exit 9;
}
if ($osnum < 1 || $osnum > @names) {
print "ERROR: $osnum is not a valid operating system number.\n\n";
exit 10;
}
print "\n";
# Ask for the operating system version
my $name = $names[$osnum-1];
print <<EOF;
Please enter the version of $name you are running
EOF
print "Version: ";
chop($vnum = <STDIN>);
if ($vnum !~ /^\S+$/) {
print "ERROR: An operating system number cannot contain\n\n";
print "spaces. It must be like 2.1 or ES4.0.\n";
exit 10;
}
print "\n";
return [ $name, $vnum,
$NAMES_TO_REAL{$name}, $vnum ];
}
# write_file($out, $os_type, $os_version, $real_os_type, $real_os_version)
# Write the name, version and real name and version to a file
sub write_file {
my ($out, $os_type, $os_version, $real_os_type, $real_os_version) = @_;
open(OUT, ">$out") or die "Failed to open $out for writing.";
print OUT "os_type='",$os_type,"'\n";
print OUT "os_version='",$os_version,"'\n";
print OUT "real_os_type='",$real_os_type,"'\n";
print OUT "real_os_version='",$real_os_version,"'\n";
return close(OUT);
}
sub have_tty
{
# Do we have a tty?
my $rv = system("tty >/dev/null 2>&1");
if ($?) {
return 0;
}
else {
return 1;
}
}
1;
__END__
=head1 OsChooser.pm
Attempt to detect operating system and version, or ask the user to select
from a list. Works from the command line, for usage from shell scripts,
or as a library for use within Perl scripts.
=head2 COMMAND LINE USE
OsChooser.pm os_list.txt outfile [auto] [issue]
Where "auto" can be the following values:
=over 4
=item 0
always ask user
=item 1
automatic, give up if fails
=item 2
automatic, ask user if fails
=item 3
automatic, ask user if fails and if a TTY
=back
=head2 SYNOPSIS
use OsChooser;
my ($os_type, $version, $real_os_type, $real_os_version) =
OsChooser->oschooser("os_list.txt", "outfile", $auto, [$issue]);
=cut

View File

@@ -1,53 +0,0 @@
## 内容
* [更新日志](https://github.com/webmin/webmin/blob/master/CHANGELOG.md)
* [关于](#关于)
* [安装](#安装)[<img src="https://github.com/webmin-devel/webmin/blob/master/media/download-23x14-stable.png?raw=true" title="稳定版">](http://webmin.com/download.html)[<img src="https://github.com/webmin-devel/webmin/blob/master/media/download-23x14-devel.png?raw=true" title="Development Versions">](http://webmin.com/devel.html)
* [文档](#文档)
* [致谢](#致谢)
* [许可](#许可)
## 关于
**Webmin** 是一个基于网页的类Unix服务器系统管理工具全球安装超过 _1,000,000_ 次(没错,事宝藏!)。有了它,运维快人一步!比如用户,磁盘配额,服务或者配置文件,比如更改,控制开源应用,再比如 BIND DNS Server管理 Apache HTTP Server PHP MySQL 还有[许多许多好东西](https://doxfer.webmin.com/Webmin/Introduction)。
[![Quick UI overview 2021](https://user-images.githubusercontent.com/4426533/114315375-61a1c480-9b07-11eb-9aaf-4aa949a39ab7.png)](https://www.youtube.com/watch?v=daYG6O4AsEw)
可通过安装可定制的模块来扩展可用性。 除此之外,还有另外两个扩展其功能的项目:
* [Virtualmin](https://www.virtualmin.com) 是一个强大的,灵活的,最受欢迎的,最全面的 Linux 和 BSD 系统网络托管控制面板,在全球拥有超过 _150,000次_ 安装。它有开源社区支持的版本以及功能更丰富的Premium版本
* [Usermin](https://github.com/webmin/usermin) 顾名思义,呈现和控制以用户为中心的功能子集,而不是管理员级别的任务。
Webmin 包括 _116_ 个[标准模块](https://doxfer.webmin.com/Webmin/Webmin_Modules),并且至少有同样多的第三方模块。
### 系统要求
Perl 5.10 或更高。
## 安装
Webmin 可以两种方法安装:
1. 下载一个预编译包可用于不同的发行版CentOS, Fedora, SuSE, Mandriva, Debian, Ubuntu, Solaris 和 [其他发行版](http://www.webmin.com/support.html))。[下载页面直达车](http://webmin.com/download.html);
<kbd>注:非常建议[在你的系统添加源](https://doxfer.webmin.com/Webmin/Installation),这样可以自动更新</kbd>
2. 下载并解压[源码](https://prdownloads.sourceforge.net/webadmin/webmin-1.996.tar.gz)然后运行[_setup.sh_](http://www.webmin.com/tgz.html) 脚本,无需任何选项,也就是说会直接安装到当前目录。或者使用命令行参数,例如目标目录。
<kbd>注:如果你正在安装 Webmin [到Windows](http://www.webmin.com/windows.html) 系统上,你必须运行 `perl setup.pl` 命令。Windows 版能否正常运行取决于许多程序,和可能不属于标准发行版的模块。你需要 _process.exe_ 命令, _sc.exe_ 命令,以及 _Win32::Daemon_ Perl 模块。</kbd>
## 文档
完整的 Webmin 还有它所有模块的详细配置都在[维基页面](https://doxfer.webmin.com/Webmin/Main_Page).
## 致谢
### 首席开发者
* [Jamie Cameron](http://www.webmin.com/about.html) [![](https://github.com/webmin-devel/webmin/blob/master/media/linkedin-15x15.png?raw=true)](https://www.linkedin.com/in/jamiecameron2)
### 贡献者
* [Joe Cooper](https://github.com/swelljoe)
* [Ilia Rostovtsev](https://github.com/iliajie)
* [Kay Marquardt](https://github.com/gnadelwartz)
* [Nawawi Jamili](https://github.com/nawawi) + [其他无偿奉献的开发者](https://github.com/webmin/webmin/graphs/contributors)
## 许可
Webmin 基于 [BSD 许可](https://github.com/webmin/webmin/blob/master/LICENCE)发布。

View File

@@ -1,57 +0,0 @@
## Contents
* [Changelog](https://github.com/webmin/webmin/blob/master/CHANGELOG.md)
* [About](#about)
* [Installation](#installation)[<img src="https://github.com/webmin-devel/webmin/blob/master/media/download-23x14-stable.png?raw=true" title="Stable Versions">](https://webmin.com/download.html)[<img src="https://github.com/webmin-devel/webmin/blob/master/media/download-23x14-devel.png?raw=true" title="Development Versions">](https://webmin.com/devel.html)
* [Documentation](#documentation)
* [Development](#development)
* [License](#license)
* [中文版](https://github.com/webmin/webmin/blob/master/README-zh.md)
## About
**Webmin** is a web-based system administration tool for Unix-like servers, and services with over _1,000,000_ installations worldwide. Using it, it is possible to configure operating system internals, such as users, disk quotas, services or configuration files, as well as modify, and control open-source apps, such as BIND DNS Server, Apache HTTP Server, PHP, MySQL, and [many more](https://doxfer.webmin.com/Webmin/Introduction).
[![Quick UI overview 2021](https://user-images.githubusercontent.com/4426533/114315375-61a1c480-9b07-11eb-9aaf-4aa949a39ab7.png)](https://www.youtube.com/watch?v=daYG6O4AsEw)
Usability can be expanded by installing modules, which can be custom made. Aside from this, there are two other major projects that extend its functionality:
* [Virtualmin](https://www.virtualmin.com) is a powerful, flexible, most popular, and most comprehensive web-hosting control panel for Linux, and BSD systems, with over _150,000_ installations worldwide. It is available in an open-source community-supported version, and a more feature-filled version with premium support;
* [Usermin](https://github.com/webmin/usermin) presents and controls a subset of user-centred features, rather than administrator-level tasks.
Webmin includes _116_ [standard modules](https://doxfer.webmin.com/Webmin/Webmin_Modules), and there are at least as many third-party modules.
### Requirements
Perl 5.10 or higher.
## Installation
Webmin can be installed in two different ways:
1. By downloading a pre-built package, available for different distributions (CentOS, Fedora, SuSE, Mandriva, Debian, Ubuntu, Solaris and [other](https://www.webmin.com/support.html)) under [latest release assets](https://github.com/webmin/webmin/releases/latest) or from our [download page](https://webmin.com/download.html);
<kbd>Note: It is highly recommended to [add repository](https://doxfer.webmin.com/Webmin/Installation) to your system for having automatic updates.</kbd>
2. By downloading, extracting [source file](https://prdownloads.sourceforge.net/webadmin/webmin-2.000.tar.gz), and running [_setup.sh_](https://www.webmin.com/tgz.html) script, with no arguments, which will setup to run it directly from this directory, or with a command-line argument, such as targeted directory.
<kbd>Note: If you are installing Webmin [on Windows](https://www.webmin.com/windows.html) system, you must run the command `perl setup.pl` instead. The Windows version depends on several programs, and modules that may not be part of the standard distribution. You will need _process.exe_ command, _sc.exe_ command, and _Win32::Daemon_ Perl module.</kbd>
## Documentation
Complete set of documentation for Webmin and all of its modules can be found at out [Wiki page](https://doxfer.webmin.com/Webmin/Main_Page).
## Development
### Lead developer
* [Jamie Cameron](https://www.webmin.com/about.html) [![](https://github.com/webmin-devel/webmin/blob/master/media/linkedin-15x15.png?raw=true)](https://www.linkedin.com/in/jamiecameron2)
### Developers
* [Ilia Rostovtsev](https://github.com/iliajie)
* [Joe Cooper](https://github.com/swelljoe)
### Contributors
* [Kay Marquardt](https://github.com/gnadelwartz)
* [Nawawi Jamili](https://github.com/nawawi)
* [unknown10777](https://github.com/unknown10777) + [90 more..](https://github.com/webmin/webmin/graphs/contributors)
## License
Webmin is released under the [BSD License](https://github.com/webmin/webmin/blob/master/LICENCE).

View File

@@ -1,23 +0,0 @@
## Reporting Security Issues
Please send all reports of security issues found in Webmin to security@webmin.com
via email, ideally PGP encrypted with the key from https://www.webmin.com/jcameron-key.asc .
Potential security issues, in descending order of impact, include :
* Remotely exploitable attacks that allow `root` access to Webmin without
any credentials.
* Privilege escalation vulnerabilities that allow non-`root` users of Webmin
to run commands or access files as `root`.
* XSS attacks that target users already logged into Webmin when they visit
another website.
Things that are not actually security issues include :
* XSS attacks that are blocked by Webmin's referrer checks, which are enabled
by default.
* Attacks that require modifications to Webmin's code or configuration, which
can only be done by someone who already has `root` permissions.

File diff suppressed because one or more lines are too long

View File

@@ -1,44 +0,0 @@
use WebminUI::Page;
use WebminUI::ResultPage;
use WebminUI::ErrorPage;
use WebminUI::ConfirmPage;
use WebminUI::Form;
use WebminUI::Section;
use WebminUI::Textbox;
use WebminUI::OptTextbox;
use WebminUI::OptTextarea;
use WebminUI::Submit;
use WebminUI::Password;
use WebminUI::Checkbox;
use WebminUI::Select;
use WebminUI::Radios;
use WebminUI::Checkboxes;
use WebminUI::Table;
use WebminUI::Menu;
use WebminUI::LinkTable;
use WebminUI::Tabs;
use WebminUI::Textarea;
use WebminUI::Upload;
use WebminUI::DynamicText;
use WebminUI::DynamicBar;
use WebminUI::DynamicWait;
use WebminUI::DynamicHTML;
use WebminUI::Properties;
use WebminUI::User;
use WebminUI::Group;
use WebminUI::File;
use WebminUI::Button;
use WebminUI::JavascriptButton;
use WebminUI::PlainText;
use WebminUI::Multiline;
use WebminUI::Date;
use WebminUI::Time;
use WebminUI::TitleList;
use WebminUI::Columns;
use WebminUI::Icon;
use WebminUI::TableAction;
use WebminUI::InputTable;
use WebminCore;
1;

View File

@@ -1,61 +0,0 @@
package WebminUI::Button;
use WebminUI::Input;
use WebminCore;
@ISA = ( "WebminUI::Input" );
=head2 new WebminUI::Button(cgi, label, [name])
Creates a button that when clicked will link to some other page
=cut
sub new
{
if (defined(&WebminUI::Theme::Button::new) &&
caller() !~ /WebminUI::Theme::Button/) {
return new WebminUI::Theme::Button(@_[1..$#_]);
}
my ($self, $cgi, $value, $name) = @_;
$self = { };
bless($self);
$self->set_cgi($cgi);
$self->set_value($value);
$self->set_name($name) if ($name);
return $self;
}
=head2 html()
Returns HTML for this button
=cut
sub html
{
my ($self) = @_;
my $rv = "<form action=".$self->get_cgi().">";
foreach my $h (@{$self->{'hiddens'}}) {
$rv .= &ui_hidden($h->[0], $h->[1])."\n";
}
$rv .= &ui_submit($self->get_value(), $self->get_name(),
$self->get_disabled())."</form>";
return $rv;
}
sub set_cgi
{
my ($self, $cgi) = @_;
$self->{'cgi'} = $cgi;
}
sub get_cgi
{
my ($self) = @_;
return $self->{'cgi'};
}
=head2 add_hidden(name, value)
Adds some hidden input to this button, for passing to the CGI
=cut
sub add_hidden
{
my ($self, $name, $value) = @_;
push(@{$self->{'hiddens'}}, [ $name, $value ]);
}
1;

View File

@@ -1,64 +0,0 @@
package WebminUI::Checkbox;
use WebminUI::Input;
use WebminCore;
@ISA = ( "WebminUI::Input" );
=head2 new WebminUI::Checkbox(name, return, label, checked, [disabled])
Create a single checkbox field
=cut
sub new
{
if (defined(&WebminUI::Theme::Checkbox::new)) {
return new WebminUI::Theme::Checkbox(@_[1..$#_]);
}
my ($self, $name, $return, $label, $checked, $disabled) = @_;
$self = { };
bless($self);
$self->set_name($name);
$self->set_return($return);
$self->set_label($label);
$self->set_value($checked);
$self->set_disabled($disabled);
return $self;
}
=head2 html()
Returns the HTML for this single checkbox
=cut
sub html
{
my ($self) = @_;
my $dis = $self->{'form'}->get_changefunc($self);
return &ui_checkbox($self->get_name(), $self->get_return(),
$self->get_label(), $self->get_value(),
$dis ? "onClick='$dis'" : undef,
$self->get_disabled()).
&ui_hidden("ui_exists_".$self->get_name(), 1);
}
sub set_return
{
my ($self, $return) = @_;
$self->{'return'} = $return;
}
sub set_label
{
my ($self, $label) = @_;
$self->{'label'} = $label;
}
sub get_return
{
my ($self) = @_;
return $self->{'return'};
}
sub get_label
{
my ($self) = @_;
return $self->{'label'};
}
1;

View File

@@ -1,119 +0,0 @@
package WebminUI::Checkboxes;
use WebminUI::Input;
use WebminCore;
@ISA = ( "WebminUI::Input" );
=head2 new WebminUI::Checkboxes(name, value|&values, &options, [disabled])
Create a list of checkboxes, of which zero or more may be selected
=cut
sub new
{
if (defined(&WebminUI::Theme::Checkboxes::new)) {
return new WebminUI::Theme::Checkboxes(@_[1..$#_]);
}
my ($self, $name, $value, $options, $disabled) = @_;
$self = { };
bless($self);
$self->set_name($name);
$self->set_value($value);
$self->set_options($options);
$self->set_disabled($disabled);
return $self;
}
=head2 add_option(name, [label])
=cut
sub add_option
{
my ($self, $name, $label) = @_;
push(@{$self->{'options'}}, [ $name, $label ]);
}
=head2 html()
Returns the HTML for all the checkboxes, one after the other
=cut
sub html
{
my ($self) = @_;
my $rv;
for(my $i=0; $i<@{$self->{'options'}}; $i++) {
$rv .= $self->one_html($i)."\n";
}
return $rv;
}
=head2 one_html(number)
Returns the HTML for a single one of the checkboxes
=cut
sub one_html
{
my ($self, $num) = @_;
my $opt = $self->{'options'}->[$num];
my $value = $self->get_value();
my %sel = map { $_, 1 } (ref($value) ? @$value : ( $value ));
return &ui_checkbox($self->get_name(), $opt->[0],
defined($opt->[1]) ? $opt->[1] : $opt->[0],
$sel{$opt->[0]}, undef, $self->get_disabled()).
($num == 0 ? &ui_hidden("ui_exists_".$self->get_name(), 1) : "");
}
=head2 get_value()
Returns a hash ref of all selected values
=cut
sub get_value
{
my ($self) = @_;
my $in = $self->{'form'} ? $self->{'form'}->{'in'} : undef;
if ($in && (defined($in->{$self->{'name'}}) ||
defined($in->{"ui_exists_".$self->{'name'}}))) {
return [ split(/\0/, $in->{$self->{'name'}}) ];
}
elsif ($in && defined($in->{"ui_value_".$self->{'name'}})) {
return [ split(/\0/, $in->{"ui_value_".$self->{'name'}}) ];
}
else {
return $self->{'value'};
}
}
sub set_options
{
my ($self, $options) = @_;
$self->{'options'} = $options;
}
sub get_options
{
my ($self) = @_;
return $self->{'options'};
}
=head2 validate()
Returns a list of error messages for this field
=cut
sub validate
{
my ($self) = @_;
my $value = $self->get_value();
if ($self->{'mandatory'} && !@$value) {
return ( $self->{'mandmesg'} || $text{'ui_checkmandatory'} );
}
return ( );
}
=head2 get_input_names()
Returns the actual names of all HTML elements that make up this input
=cut
sub get_input_names
{
my ($self) = @_;
my @rv;
for(my $i=0; $i<@{$self->{'options'}}; $i++) {
push(@rv, $self->{'name'}."[".$i."]");
}
return @rv;
}
1;

View File

@@ -1,82 +0,0 @@
package WebminUI::Columns;
use WebminCore;
=head2 new WebminUI::Columns(cols)
Displays some page elements in a multi-column table
=cut
sub new
{
my ($self, $cols) = @_;
if (defined(&WebminUI::Theme::Columns::new)) {
return new WebminUI::Theme::Columns(@_[1..$#_]);
}
$self = { 'columns' => 2 };
bless($self);
$self->set_columns($cols) if (defined($cols));
return $self;
}
=head2 html()
Returns HTML for the objects, arranged in columns
=cut
sub html
{
my ($self) = @_;
my $rv;
my $n = scalar(@{$self->{'contents'}});
$rv .= "<table width=100% cellpadding=4><tr>\n";
my $h = int($n / $self->{'columns'})+1;
my $i = 0;
my $pc = int(100/$self->{'columns'});
foreach my $c (@{$self->{'contents'}}) {
if ($i%$h == 0) {
$rv .= "<td valign=top width=$pc%>";
}
$rv .= $c->html()."<p>\n";
$i++;
if ($i%$h == 0) {
$rv .= "</td>\n";
}
}
$rv .= "</tr></table>\n";
return $rv;
}
=head2 add(object)
Adds some WebminUI:: object to this list
=cut
sub add
{
my ($self, $object) = @_;
push(@{$self->{'contents'}}, $object);
if ($self->{'page'}) {
$object->set_page($self->{'page'});
}
}
sub set_columns
{
my ($self, $columns) = @_;
$self->{'columns'} = $columns;
}
sub get_columns
{
my ($self) = @_;
return $self->{'columns'};
}
=head2 set_page(WebminUI::Page)
Called when this menu is added to a page
=cut
sub set_page
{
my ($self, $page) = @_;
$self->{'page'} = $page;
foreach my $c (@{$self->{'contents'}}) {
$c->set_page($page);
}
}
1;

View File

@@ -1,47 +0,0 @@
package WebminUI::ConfirmPage;
use WebminUI::Page;
use WebminCore;
@ISA = ( "WebminUI::Page" );
=head2 new WebminUI::ConfirmPage(subheading, title, message, cgi, &in, [ok-message],
[cancel-message], [help-name])
Create a new page object that asks if the user is sure if he wants to
do something or not.
=cut
sub new
{
if (defined(&WebminUI::Theme::ConfirmPage::new)) {
return new WebminUI::Theme::ConfirmPage(@_[1..$#_]);
}
my ($self, $subheading, $title, $message, $cgi, $in, $ok, $cancel, $help) = @_;
$self = new WebminUI::Page($subheading, $title, $help);
$self->{'in'} = $in;
$self->add_message($message);
my $form = new WebminUI::Form($cgi, "get");
$form->set_input($in);
$self->add_form($form);
foreach my $i (keys %$in) {
foreach my $v (split(/\0/, $in->{$i})) {
$form->add_hidden($i, $v);
}
}
$form->add_button(new WebminUI::Submit($ok || "OK", "ui_confirm"));
$form->add_button(new WebminUI::Submit($cancel || $text{'cancel'}, "ui_cancel"));
bless($self);
return $self;
}
sub get_confirm
{
my ($self) = @_;
return $self->{'in'}->{'ui_confirm'} ? 1 : 0;
}
sub get_cancel
{
my ($self) = @_;
return $self->{'in'}->{'ui_cancel'} ? 1 : 0;
}
1;

View File

@@ -1,96 +0,0 @@
package WebminUI::Date;
use WebminUI::Input;
use Time::Local;
use WebminCore;
@ISA = ( "WebminUI::Input" );
=head2 new WebminUI::Date(name, time, [disabled])
Create a new field for selecting a date
=cut
sub new
{
if (defined(&WebminUI::Theme::Date::new)) {
return new WebminUI::Theme::Date(@_[1..$#_]);
}
my ($self, $name, $value, $disabled) = @_;
bless($self = { });
$self->set_name($name);
$self->set_value($value);
$self->set_disabled($disabled) if (defined($disabled));
return $self;
}
=head2 html()
Returns the HTML for the date chooser
=cut
sub html
{
my ($self) = @_;
my $rv;
my @tm = localtime($self->get_value());
my $name = $self->get_name();
$rv .= &ui_date_input($tm[3], $tm[4]+1, $tm[5]+1900,
"day_".$name, "month_".$name, "year_".$name,
$self->get_disabled())." ".
&date_chooser_button("day_".$name, "month_".$name, "year_".$name);
return $rv;
}
=head2 get_value()
Returns the date as a Unix time number (for zero o'clock)
=cut
sub get_value
{
my ($self) = @_;
my $in = $self->{'form'} ? $self->{'form'}->{'in'} : undef;
if ($in && defined($in->{"day_".$self->{'name'}})) {
my $rv = $self->to_time($in);
return defined($rv) ? $rv : $self->{'value'};
}
elsif ($in && defined($in->{"ui_value_".$self->{'name'}})) {
return $in->{"ui_value_".$self->{'name'}};
}
else {
return $self->{'value'};
}
}
sub to_time
{
my ($self, $in) = @_;
my $day = $in->{"day_".$self->{'name'}};
return undef if ($day !~ /^\d+$/);
my $month = $in->{"month_".$self->{'name'}}-1;
my $year = $in->{"year_".$self->{'name'}}-1900;
return undef if ($year !~ /^\d+$/);
my $rv = eval { timelocal(0, 0, 0, $day, $month, $year) };
return $@ ? undef : $rv;
}
sub set_validation_func
{
my ($self, $func) = @_;
$self->{'validation_func'} = $func;
}
=head2 validate()
Ensures that the date is valid
=cut
sub validate
{
my ($self) = @_;
my $tm = $self->to_time($self->{'form'}->{'in'});
if (!defined($tm)) {
return ( $text{'ui_edate'} );
}
if ($self->{'validation_func'}) {
my $err = &{$self->{'validation_func'}}($self->get_value(),
$self->{'name'},
$self->{'form'});
return ( $err ) if ($err);
}
return ( );
}
1;

View File

@@ -1,119 +0,0 @@
package WebminUI::DynamicBar;
use WebminCore;
=head2 new WebminUI::DynamicBar(&start-function, max)
A page element for displaying progress towards some goal, like the download of
a file.
=cut
sub new
{
my ($self, $func, $max) = @_;
$self = { 'func' => $func,
'name' => "dynamic".++$dynamic_count,
'width' => 80,
'max' => $max };
bless($self);
return $self;
}
=head2 set_message(text)
Sets the text describing what we are waiting for
=cut
sub set_message
{
my ($self, $message) = @_;
$self->{'message'} = $message;
}
sub get_message
{
my ($self) = @_;
return $self->{'message'};
}
=head2 html()
Returns the HTML for the text field
=cut
sub html
{
my ($self) = @_;
my $rv;
if ($self->get_message()) {
$rv .= $self->get_message()."<p>\n";
}
$rv .= "<form name=form_$self->{'name'}>";
$rv .= "<input name=bar_$self->{'name'} size=$self->{'width'} disabled=true style='font-family: courier'>";
$rv .= "&nbsp;";
$rv .= "<input name=pc_$self->{'name'} size=3 disabled=true style='font-family: courier'>%";
$rv .= "</form>";
return $rv;
}
=head2 start()
Called by the page to begin the progress
=cut
sub start
{
my ($self) = @_;
&{$self->{'func'}}($self);
}
=head2 update(pos)
Called by the function to update the position of the bar.
=cut
sub update
{
my ($self, $pos) = @_;
my $pc = int(100*$pos/$self->{'max'});
if ($pc != $self->{'lastpc'}) {
my $xn = int($self->{'width'}*$pos/$self->{'max'});
my $xes = "X" x $xn;
print "<script>window.document.forms[\"form_$self->{'name'}\"].pc_$self->{'name'}.value = \"$pc\";</script>\n";
print "<script>window.document.forms[\"form_$self->{'name'}\"].bar_$self->{'name'}.value = \"$xes\";</script>\n";
$self->{'lastpc'} = $pc;
}
}
=head2 set_wait(wait)
If called with a non-zero arg, generation of the page should wait until this
the progress is complete. Otherwise, the page will be generated completely before
the start function is called
=cut
sub set_wait
{
my ($self, $wait) = @_;
$self->{'wait'} = $wait;
}
sub get_wait
{
my ($self) = @_;
return $self->{'wait'};
}
=head2 set_page(WebminUI::Page)
Called when this dynamic text box is added to a page
=cut
sub set_page
{
my ($self, $page) = @_;
$self->{'page'} = $page;
}
sub set_width
{
my ($self, $width) = @_;
$self->{'width'} = $width;
}
=head2 needs_unbuffered()
Must return 1 if the page needs to be in un-buffered and no-table mode
=cut
sub needs_unbuffered
{
return 0;
}
1;

View File

@@ -1,76 +0,0 @@
package WebminUI::DynamicHTML;
use WebminCore;
=head2 new WebminUI::DynamicHTML(&function, &args, [before])
When the page is being rendered, executes the given function and prints any
text that it returns.
=cut
sub new
{
my ($self, $func, $args, $before) = @_;
$self = { 'func' => $func,
'args' => $args,
'before' => $before };
bless($self);
return $self;
}
=head2 set_before(text)
Sets the text describing what we are waiting for
=cut
sub set_before
{
my ($self, $before) = @_;
$self->{'before'} = $before;
}
sub get_before
{
my ($self) = @_;
return $self->{'before'};
}
sub html
{
my ($self) = @_;
my $rv;
if ($self->get_before()) {
$rv .= $self->get_before()."<p>\n";
}
return $rv;
}
=head2 start()
Called by the page to begin the dynamic output.
=cut
sub start
{
my ($self) = @_;
&{$self->{'func'}}($self, @$args);
}
sub get_wait
{
my ($self) = @_;
return 1;
}
=head2 needs_unbuffered()
Must return 1 if the page needs to be in un-buffered and no-table mode
=cut
sub needs_unbuffered
{
return 1;
}
=head2 set_page(WebminUI::Page)
Called when this dynamic HTML element is added to a page
=cut
sub set_page
{
my ($self, $page) = @_;
$self->{'page'} = $page;
}
1;

View File

@@ -1,123 +0,0 @@
# XXX should support non-Javascript mode?
package WebminUI::DynamicText;
use WebminCore;
=head2 new WebminUI::DynamicText(&start-function, &args)
A page element for displaying text that takes time to generate, such as from
a long-running script. Uses a non-editable text box, updated via Javascript.
The function will be called when it is time to start producing output, with this
object as a parameter. It must call the add_line function on the object for each
new line to be added.
=cut
sub new
{
my ($self, $func, $args) = @_;
$self = { 'func' => $func,
'args' => $args,
'name' => "dynamic".++$dynamic_count,
'rows' => 20,
'cols' => 80 };
bless($self);
return $self;
}
=head2 set_message(text)
Sets the text describing what we are waiting for
=cut
sub set_message
{
my ($self, $message) = @_;
$self->{'message'} = $message;
}
sub get_message
{
my ($self) = @_;
return $self->{'message'};
}
=head2 html()
Returns the HTML for the text box
=cut
sub html
{
my ($self) = @_;
my $rv;
if ($self->get_message()) {
$rv .= $self->get_message()."<p>\n";
}
$rv .= "<form name=form_$self->{'name'}>";
$rv .= "<textarea name=$self->{'name'} rows=$self->{'rows'} cols=$self->{'cols'} wrap=off disabled=true>";
$rv .= "</textarea>\n";
$rv .= "</form>";
return $rv;
}
=head2 start()
Called by the page to begin the dynamic output.
=cut
sub start
{
my ($self) = @_;
&{$self->{'func'}}($self, @$args);
}
=head2 add_line(line)
Called by the function to add a line of text to this output
=cut
sub add_line
{
my ($self, $line) = @_;
$line =~ s/\r|\n//g;
$line = &quote_escape($line);
print "<script>window.document.forms[\"form_$self->{'name'}\"].$self->{'name'}.value += \"$line\"+\"\\n\";</script>\n";
}
=head2 set_wait(wait)
If called with a non-zero arg, generation of the page should wait until this
text box is complete. Otherwise, the page will be generated completely before the
start function is called
=cut
sub set_wait
{
my ($self, $wait) = @_;
$self->{'wait'} = $wait;
}
sub get_wait
{
my ($self) = @_;
return $self->{'wait'};
}
=head2 set_page(WebminUI::Page)
Called when this dynamic text box is added to a page
=cut
sub set_page
{
my ($self, $page) = @_;
$self->{'page'} = $page;
}
sub set_rows
{
my ($self, $rows) = @_;
$self->{'rows'} = $rows;
}
sub set_cols
{
my ($self, $cols) = @_;
$self->{'cols'} = $cols;
}
=head2 needs_unbuffered()
Must return 1 if the page needs to be in un-buffered and no-table mode
=cut
sub needs_unbuffered
{
return 0;
}
1;

View File

@@ -1,129 +0,0 @@
package WebminUI::DynamicWait;
use WebminCore;
=head2 new WebminUI::DynamicWait(&start-function, [&args])
A page element indicating that something is happening.
=cut
sub new
{
my ($self, $func, $args) = @_;
$self = { 'func' => $func,
'args' => $args,
'name' => "dynamic".++$dynamic_count,
'width' => 80,
'delay' => 20 };
bless($self);
return $self;
}
=head2 set_message(text)
Sets the text describing what we are waiting for
=cut
sub set_message
{
my ($self, $message) = @_;
$self->{'message'} = $message;
}
sub get_message
{
my ($self) = @_;
return $self->{'message'};
}
=head2 html()
Returns the HTML for the text field used to indicate progress
=cut
sub html
{
my ($self) = @_;
my $rv;
if ($self->get_message()) {
$rv .= $self->get_message()."<p>\n";
}
$rv .= "<form name=form_$self->{'name'}>";
$rv .= "<input name=$self->{'name'} size=$self->{'width'} disabled=true style='font-family: courier'>";
$rv .= "</form>";
return $rv;
}
=head2 start()
Called by the page to begin the progress. Also starts a process to update the
Javascript text box
=cut
sub start
{
my ($self) = @_;
$self->{'pid'} = fork();
if (!$self->{'pid'}) {
my $pos = 0;
while(1) {
select(undef, undef, undef, $self->{'delay'}/1000.0);
my $str = (" " x $pos) . ("x" x 10);
print "<script>window.document.forms[\"form_$self->{'name'}\"].$self->{'name'}.value = \"$str\";</script>\n";
$pos++;
$pos = 0 if ($pos == $self->{'width'});
}
exit;
}
&{$self->{'func'}}($self, @{$self->{'args'}});
}
=head2 stop()
Called back by the function when whatever we were waiting for is done
=cut
sub stop
{
my ($self) = @_;
if ($self->{'pid'}) {
kill('TERM', $self->{'pid'});
}
my $str = (" " x ($self->{'width'}/2 - 2)) . "DONE";
print "<script>window.document.forms[\"form_$self->{'name'}\"].$self->{'name'}.value = \"$str\";</script>\n";
}
=head2 set_wait(wait)
If called with a non-zero arg, generation of the page should wait until this
the progress is complete. Otherwise, the page will be generated completely before
the start function is called
=cut
sub set_wait
{
my ($self, $wait) = @_;
$self->{'wait'} = $wait;
}
sub get_wait
{
my ($self) = @_;
return $self->{'wait'};
}
=head2 set_page(WebminUI::Page)
Called when this dynamic text box is added to a page
=cut
sub set_page
{
my ($self, $page) = @_;
$self->{'page'} = $page;
}
sub set_width
{
my ($self, $width) = @_;
$self->{'width'} = $width;
}
=head2 needs_unbuffered()
Must return 1 if the page needs to be in un-buffered and no-table mode
=cut
sub needs_unbuffered
{
return 0;
}
1;

View File

@@ -1,20 +0,0 @@
package WebminUI::ErrorPage;
use WebminCore;
=head2 new WebminUI::ErrorPage(subheading, title, message, [program-output], [help-name])
Create a new page object for showing an error of some kind
=cut
sub new
{
if (defined(&WebminUI::Theme::ErrorPage::new)) {
return new WebminUI::Theme::ErrorPage(@_[1..$#_]);
}
my ($self, $subheading, $title, $message, $output, $help) = @_;
$self = new WebminUI::Page($subheading, $title, $help);
$self->add_message("<b>",$text{'error'}," : ",$message,"</b>");
$self->add_message("<pre>",$output,"</pre>");
return $self;
}
1;

View File

@@ -1,70 +0,0 @@
package WebminUI::File;
use WebminUI::Textbox;
use WebminCore;
@ISA = ( "WebminUI::Textbox" );
=head2 new WebminUI::File(name, value, size, [directory], [disabled])
A text box for selecting a file
=cut
sub new
{
if (defined(&WebminUI::Theme::File::new)) {
return new WebminUI::Theme::File(@_[1..$#_]);
}
my ($self, $name, $value, $size, $directory, $disabled) = @_;
$self = new WebminUI::Textbox($name, $value, $size, $disabled);
bless($self);
$self->set_directory($directory);
return $self;
}
=head2 html()
Returns the HTML for this file input
=cut
sub html
{
my ($self) = @_;
my $rv = WebminUI::Textbox::html($self);
my $name = $self->get_name();
my $directory = $self->get_directory();
my $add = 0;
my $chroot = $self->get_chroot();
$rv .= "<input type=button name=${name}_button onClick='ifield = form.$name; chooser = window.open(\"@{[&get_webprefix()]}/chooser.cgi?add=$add&type=$directory&chroot=$chroot&file=\"+escape(ifield.value), \"chooser\", \"toolbar=no,menubar=no,scrollbar=no,width=400,height=300\"); chooser.ifield = ifield; window.ifield = ifield' value=\"...\">\n";
return $rv;
}
sub set_directory
{
my ($self, $directory) = @_;
$self->{'directory'} = $directory;
}
sub get_directory
{
my ($self) = @_;
return $self->{'directory'};
}
sub set_chroot
{
my ($self, $chroot) = @_;
$self->{'chroot'} = $chroot;
}
sub get_chroot
{
my ($self) = @_;
return $self->{'chroot'};
}
=head2 get_input_names()
Returns the actual names of all HTML elements that make up this input
=cut
sub get_input_names
{
my ($self) = @_;
return ( $self->{'name'}, $self->{'name'}."_button" );
}
1;

View File

@@ -1,405 +0,0 @@
package WebminUI::Form;
use WebminCore;
=head2 new WebminUI::Form(cgi, [method])
Creates a new form, which submits to the given CGI
=cut
sub new
{
if (defined(&WebminUI::Theme::Form::new)) {
return new WebminUI::Theme::Form(@_[1..$#_]);
}
my ($self, $program, $method) = @_;
$self = { 'method' => 'get',
'name' => "form".++$form_count };
bless($self);
$self->set_program($program);
$self->set_method($method) if ($method);
return $self;
}
=head2 html()
Returns the HTML that makes up this form
=cut
sub html
{
my ($self) = @_;
my $rv;
if ($self->get_align()) {
$rv .= "<div align=".$self->get_align().">\n";
}
$rv .= $self->form_start();
if ($self->get_heading()) {
if (defined(&ui_subheading)) {
$rv .= &ui_subheading($self->get_heading());
}
else {
$rv .= "<h3>".$self->get_heading()."</h3>\n";
}
}
# Add the sections
foreach my $h (@{$self->{'hiddens'}}) {
$rv .= &ui_hidden($h->[0], $h->[1])."\n";
}
foreach my $s (@{$self->{'sections'}}) {
$rv .= $s->html();
}
# Check if we have any inputs that need disabling
my @dis = $self->list_disable_inputs();
if (@dis) {
# Yes .. generate a function for them
$rv .= "<script>\n";
$rv .= "function ui_disable_".$self->{'name'}."(form) {\n";
foreach my $i (@dis) {
foreach my $n ($i->get_input_names()) {
$rv .= " form.".$n.".disabled = (".
$i->get_disable_code().");\n";
}
}
$rv .= "}\n";
$rv .= "</script>\n";
}
# Add the buttons at the end of the form
my @buttonargs;
foreach my $b (@{$self->{'buttons'}}) {
if (ref($b)) {
# An array of inputs
my $ihtml = join(" ", map { $_->html() } @$b);
push(@buttonargs, $ihtml);
}
else {
# A spacer
push(@buttonargs, "");
}
}
$rv .= &ui_form_end(\@buttonargs);
if ($self->get_align()) {
$rv .= "</div>\n";
}
# Call the Javascript disable function
if (@dis) {
$rv .= "<script>\n";
$rv .= "ui_disable_".$self->{'name'}."(window.document.forms[\"$self->{'name'}\"]);\n";
$rv .= "</script>\n";
}
return $rv;
}
sub form_start
{
my ($self) = @_;
return "<form action='$self->{'program'}' ".
($self->{'method'} eq "post" ? "method=post" :
$self->{'method'} eq "form-data" ?
"method=post enctype=multipart/form-data" :
"method=get")." name=$self->{'name'}>\n";
}
=head2 add_section(section)
Adds a WebminUI::Section object to this form
=cut
sub add_section
{
my ($self, $section) = @_;
push(@{$self->{'sections'}}, $section);
$section->set_form($self);
}
=head2 get_section(idx)
=cut
sub get_section
{
my ($self, $idx) = @_;
return $self->{'sections'}->[$idx];
}
=head2 add_button(button, [beside, ...])
Adds a WebminUI::Submit object to this form, for display at the bottom
=cut
sub add_button
{
my ($self, $button, @beside) = @_;
push(@{$self->{'buttons'}}, [ $button, @beside ]);
}
=head2 add_button_spacer()
Adds a gap between buttons, for grouping
=cut
sub add_button_spacer
{
my ($self, $spacer) = @_;
push(@{$self->{'buttons'}}, $spacer);
}
=head2 add_hidden(name, value)
Adds some hidden input to this form, for passing to the CGI
=cut
sub add_hidden
{
my ($self, $name, $value) = @_;
push(@{$self->{'hiddens'}}, [ $name, $value ]);
}
=head2 validate()
Validates all form inputs, based on the current CGI input hash. Returns a list
of errors, each of which is field name and error message.
=cut
sub validate
{
my ($self) = @_;
my @errs;
foreach my $s (@{$self->{'sections'}}) {
push(@errs, $s->validate($self->{'in'}));
}
return @errs;
}
=head2 validate_redirect(page, [&extra-errors])
Validates the form, and if any errors are found re-directs to the given page
with the errors, so that they can be displayed.
=cut
sub validate_redirect
{
my ($self, $page, $extras) = @_;
if ($self->{'in'}->{'ui_redirecting'}) {
# If this page is displayed as part of a redirect, no need to validate!
return;
}
my @errs = $self->validate();
push(@errs, @$extras);
if (@errs) {
my (@errlist, @vallist);
foreach my $e (@errs) {
push(@errlist, &urlize("ui_error_".$e->[0])."=".
&urlize($e->[1]));
}
foreach my $i ($self->list_inputs()) {
my $v = $i->get_value();
my @vals = ref($v) ? @$v : ( $v );
@vals = ( undef ) if (!@vals);
foreach $v (@vals) {
push(@vallist,
&urlize("ui_value_".$i->get_name())."=".
&urlize($v));
}
}
foreach my $h (@{$self->{'hiddens'}}) {
push(@vallist,
&urlize($h->[0])."=".&urlize($h->[1]));
}
if ($page =~ /\?/) { $page .= "&"; }
else { $page .= "?"; }
&redirect($page.join("&", "ui_redirecting=1", @errlist, @vallist));
exit(0);
}
}
=head2 validate_error(whatfailed)
Validates the form, and if any errors are found displays an error page.
=cut
sub validate_error
{
my ($self, $whatfailed) = @_;
my @errs = $self->validate();
&error_setup($whatfailed);
if (@errs == 1) {
&error($errs[0]->[2] ? "$errs[0]->[2] : $errs[0]->[1]"
: $errs[0]->[1]);
}
elsif (@errs > 1) {
my $msg = $text{'ui_errors'}."<br>";
foreach my $e (@errs) {
$msg .= $e->[2] ? "$e->[2] : $e->[1]<br>\n"
: "$e->[1]<br>\n";
}
&error($msg);
}
}
=head2 field_errors(name)
Returns a list of error messages associated with the field of some name, from
the input passed to set_input
=cut
sub field_errors
{
my ($self, $name) = @_;
my @errs;
my $in = $self->{'in'};
foreach my $i (keys %$in) {
if ($i eq "ui_error_".$name) {
push(@errs, split(/\0/, $in->{$i}));
}
}
return @errs;
}
=head2 set_input(&input)
Passes the form input hash to this form object, for use by the validate
functions and for displaying errors next to fields.
=cut
sub set_input
{
my ($self, $in) = @_;
$self->{'in'} = $in;
}
=head2 get_value(input-name)
Returns the value of the input with the given name.
=cut
sub get_value
{
my ($self, $name) = @_;
foreach my $s (@{$self->{'sections'}}) {
my $rv = $s->get_value($name);
return $rv if (defined($rv));
}
return $self->{'in'}->{$name};
}
=head2 get_input(name)
Returns the input with the given name
=cut
sub get_input
{
my ($self, $name) = @_;
foreach my $i ($self->list_inputs()) {
return $i if ($i->get_name() eq $name);
}
return undef;
}
sub set_program
{
my ($self, $program) = @_;
$self->{'program'} = $program;
}
sub set_method
{
my ($self, $method) = @_;
$self->{'method'} = $method;
}
=head2 list_inputs()
Returns all inputs in all form sections
=cut
sub list_inputs
{
my ($self) = @_;
my @rv;
foreach my $s (@{$self->{'sections'}}) {
push(@rv, $s->list_inputs());
}
return @rv;
}
=head2 list_disable_inputs()
Returns a list of inputs that have disable functions
=cut
sub list_disable_inputs
{
my ($self) = @_;
my @dis;
foreach my $i ($self->list_inputs()) {
push(@dis, $i) if ($i->get_disable_code());
}
return @dis;
}
=head2 set_page(WebminUI::Page)
Called when this form is added to a page
=cut
sub set_page
{
my ($self, $page) = @_;
$self->{'page'} = $page;
}
=head2 get_changefunc(&input)
Called by some input, to return the Javascript that should be called when this
input changes it's value.
=cut
sub get_changefunc
{
my ($self, $input) = @_;
my @dis = $self->list_disable_inputs();
if (@dis) {
return "ui_disable_".$self->{'name'}."(form)";
}
return undef;
}
=head2 set_heading(text)
Sets the heading to be displayed above the form
=cut
sub set_heading
{
my ($self, $heading) = @_;
$self->{'heading'} = $heading;
}
sub get_heading
{
my ($self) = @_;
return $self->{'heading'};
}
=head2 get_formno()
Returns the index of this form on the page
=cut
sub get_formno
{
my ($self) = @_;
my $n = 0;
foreach my $f (@{$self->{'page'}->{'contents'}}) {
if ($f eq $self) {
return $n;
}
elsif (ref($f) =~ /Form/) {
$n++;
}
}
return undef;
}
=head2 add_onload(code)
Adds some Javascript code for inclusion in the onLoad tag
=cut
sub add_onload
{
my ($self, $code) = @_;
push(@{$self->{'onloads'}}, $code);
}
=head2 add_script(code)
Adds some Javascript code for putting in the <head> section
=cut
sub add_script
{
my ($self, $script) = @_;
push(@{$self->{'scripts'}}, $script);
}
=head2 set_align(align)
Sets the alignment on the page (left, center, right)
=cut
sub set_align
{
my ($self, $align) = @_;
$self->{'align'} = $align;
}
sub get_align
{
my ($self) = @_;
return $self->{'align'};
}
1;

View File

@@ -1,57 +0,0 @@
package WebminUI::Group;
use WebminUI::Textbox;
use WebminCore;
@ISA = ( "WebminUI::Textbox" );
=head2 new WebminUI::Group(name, value, [multiple], [disabled])
A text box for entering or selecting one or many Unix groupnames
=cut
sub new
{
if (defined(&WebminUI::Theme::Group::new)) {
return new WebminUI::Theme::Group(@_[1..$#_]);
}
my ($self, $name, $value, $multiple, $disabled) = @_;
$self = new WebminUI::Textbox($name, $value, $multiple ? 40 : 15, $disabled);
bless($self);
$self->set_multiple($multiple);
return $self;
}
=head2 html()
Returns the HTML for this group input
=cut
sub html
{
my ($self) = @_;
my $rv = WebminUI::Textbox::html($self);
my $name = $self->get_name();
my $multiple = $self->get_multiple();
local $w = $multiple ? 500 : 300;
$rv .= "&nbsp;<input type=button name=${name}_button onClick='ifield = form.$name; chooser = window.open(\"@{[&get_webprefix()]}/group_chooser.cgi?multi=$multiple&group=\"+escape(ifield.value), \"chooser\", \"toolbar=no,menubar=no,scrollbars=yes,width=$w,height=200\"); chooser.ifield = ifield; window.ifield = ifield' value=\"...\">\n";
return $rv;
}
sub set_multiple
{
my ($self, $multiple) = @_;
$self->{'multiple'} = $multiple;
}
sub get_multiple
{
my ($self) = @_;
return $self->{'multiple'};
}
=head2 get_input_names()
Returns the actual names of all HTML elements that make up this input
=cut
sub get_input_names
{
my ($self) = @_;
return ( $self->{'name'}, $self->{'name'}."_button" );
}
1;

View File

@@ -1,64 +0,0 @@
package WebminUI::Icon;
use WebminCore;
=head2 WebminUI::Icon(type, [message])
This object generates an icon indicating some status. Possible types are :
ok - OK
critial - A serious problem
major - A relatively serious problem
minor - A small problem
Can be used inside tables and property lists
=cut
sub new
{
if (defined(&WebminUI::Theme::Icon::new) && caller() !~ /WebminUI::Theme::Icon/) {
return new WebminUI::Theme::Icon(@_[1..$#_]);
}
my ($self, $type, $message) = @_;
$self = { };
bless($self);
$self->set_type($type);
$self->set_message($message) if (defined($message));
return $self;
}
=head2 html()
Returns HTML for the icon
=cut
sub html
{
my ($self) = @_;
my $rv;
$rv .= "<img src=/images/".$self->get_type().".gif align=middle>";
if ($self->get_message()) {
$rv .= "&nbsp;".$self->get_message();
}
return $rv;
}
sub set_type
{
my ($self, $type) = @_;
$self->{'type'} = $type;
}
sub get_type
{
my ($self) = @_;
return $self->{'type'};
}
sub set_message
{
my ($self, $message) = @_;
$self->{'message'} = $message;
}
sub get_message
{
my ($self) = @_;
return $self->{'message'};
}
1;

View File

@@ -1,134 +0,0 @@
package WebminUI::Input;
use WebminCore;
sub set_form
{
my ($self, $form) = @_;
$self->{'form'} = $form;
}
sub set_name
{
my ($self, $name) = @_;
$self->{'name'} = $name;
}
sub get_name
{
my ($self) = @_;
return $self->{'name'};
}
sub set_disabled
{
my ($self, $disabled) = @_;
$self->{'disabled'} = $disabled;
}
sub get_disabled
{
my ($self) = @_;
return $self->{'disabled'};
}
=head2 validate()
No validation is done by default
=cut
sub validate
{
return ( );
}
sub set_value
{
my ($self, $value) = @_;
$self->{'value'} = $value;
}
=head2 get_value()
Returns the current value for this field as entered by the user, the value
set when the form is re-displayed due to an error, or the initial value.
=cut
sub get_value
{
my ($self) = @_;
my $in = $self->{'form'} ? $self->{'form'}->{'in'} : undef;
if ($in && (defined($in->{$self->{'name'}}) ||
defined($in->{"ui_exists_".$self->{'name'}}))) {
return $in->{$self->{'name'}};
}
elsif ($in && defined($in->{"ui_value_".$self->{'name'}})) {
return $in->{"ui_value_".$self->{'name'}};
}
else {
return $self->{'value'};
}
}
=head2 set_disable_code(javascript)
Must be provided with a Javascript expression that will return true when this
input should be disabled. May refer to other fields, via the variable 'form'.
ie. form.mode.value = "0"
Will be called every time any field's value changes.
=cut
sub set_disable_code
{
my ($self, $code) = @_;
$self->{'disablecode'} = $code;
}
sub get_disable_code
{
my ($self) = @_;
return $self->{'disablecode'};
}
=head2 get_input_names()
Returns the actual names of all HTML elements that make up this input
=cut
sub get_input_names
{
my ($self) = @_;
return ( $self->{'name'} );
}
=head2 set_label(text)
Sets HTML to be displayed before this field
=cut
sub set_label
{
my ($self, $label) = @_;
$self->{'label'} = $label;
}
sub get_label
{
my ($self) = @_;
return $self->{'label'};
}
sub set_mandatory
{
my ($self, $mandatory, $mandmesg) = @_;
$self->{'mandatory'} = $mandatory;
$self->{'mandmesg'} = $mandmesg if (defined($mandmesg));
}
sub get_mandatory
{
my ($self) = @_;
return $self->{'mandatory'};
}
=head2 get_errors()
Returns a list of errors associated with this field
=cut
sub get_errors
{
my ($self) = @_;
return $self->{'form'} ? $self->{'form'}->field_errors($self->get_name())
: ( );
}
1;

View File

@@ -1,137 +0,0 @@
package WebminUI::InputTable;
use WebminUI::Table;
use WebminCore;
@ISA = ( "WebminUI::Table" );
=head2 new WebminUI::InputTable(&headings, [width], [name], [heading])
A table containing multiple rows of inputs, each of which is the same
=cut
sub new
{
if (defined(&WebminUI::Theme::InputTable::new) &&
caller() !~ /WebminUI::Theme::InputTable/) {
return new WebminUI::Theme::InputTable(@_[1..$#_]);
}
my $self = defined(&WebminUI::Theme::Table::new) ? WebminUI::Theme::Table::new(@_)
: WebminUI::Table::new(@_);
bless($self);
$self->{'rowcount'} = 0;
return $self;
}
=head2 set_inputs(&inputs)
Sets the objects to be used for each row
=cut
sub set_inputs
{
my ($self, $classes) = @_;
$self->{'classes'} = $classes;
}
=head2 add_values(&values)
Adds a row of inputs, with the given values
=cut
sub add_values
{
my ($self, $values) = @_;
my @row;
for(my $i=0; $i<@$values; $i++) {
my $cls = $self->{'classes'}->[$i];
my $newin = { %$cls };
bless($newin, ref($cls));
$newin->set_value($values->[$i]);
$newin->set_name($newin->get_name()."_".$self->{'rowcount'});
$newin->set_form($self->{'form'}) if ($self->{'form'});
push(@row, $newin);
}
$self->add_row(\@row);
$self->{'rowcount'}++;
}
=head2 get_values(row)
Returns the values of the inputs in the given row
=cut
sub get_values
{
my ($self, $row) = @_;
my @rv;
foreach my $i (@{$self->{'rows'}->[$row]}) {
if (ref($i) && $i->isa("WebminUI::Input")) {
push(@rv, $i->get_value());
}
}
return @rv;
}
=head2 list_inputs()
=cut
sub list_inputs
{
my ($self) = @_;
my @rv = WebminUI::Table::list_inputs($self);
foreach my $r (@{$self->{'rows'}}) {
foreach my $i (@$r) {
if ($i && ref($i) && $i->isa("WebminUI::Input")) {
push(@rv, $i);
}
}
}
return @rv;
}
sub get_rowcount
{
my ($self) = @_;
return $self->{'rowcount'};
}
=head2 validate()
Validates all inputs, and returns a list of error messages
=cut
sub validate
{
my ($self) = @_;
my $seli = $self->{'selectinput'};
my @errs;
if ($seli) {
push(@errs, map { [ $seli->get_name(), $_ ] } $seli->validate());
}
foreach my $i (@{$self->{'inputs'}}) {
foreach my $e ($i->validate()) {
push(@errs, [ $i->get_name(), $e ]);
}
}
my $k = 1;
foreach my $r (@{$self->{'rows'}}) {
my $j = 0;
my $skip;
if (defined($self->{'control'})) {
if ($r->[$self->{'control'}]->get_value() eq "") {
$skip = 1;
}
}
foreach my $i (@$r) {
if ($i && ref($i) && $i->isa("WebminUI::Input") && !$skip) {
my $label = &text('ui_rowlabel', $k, $self->{'headings'}->[$j]);
foreach my $e ($i->validate()) {
push(@errs, [ $i->get_name(), $label." ".$e ]);
}
}
$j++;
}
$k++;
}
return @errs;
}
=head2 set_control(column)
Sets the column for which an empty value means no validation should be done
=cut
sub set_control
{
my ($self, $control) = @_;
$self->{'control'} = $control;
}
1;

View File

@@ -1,47 +0,0 @@
package WebminUI::JavascriptButton;
use WebminUI::Input;
use WebminCore;
@ISA = ( "WebminUI::Input" );
=head2 new WebminUI::JavascriptButton(label, script, [disabled])
Create a button that runs some Javascript when clicked
=cut
sub new
{
if (defined(&WebminUI::Theme::JavascriptButton::new) &&
caller() !~ /WebminUI::Theme::JavascriptButton/) {
return new WebminUI::Theme::JavascriptButton(@_[1..$#_]);
}
my ($self, $value, $script, $disabled) = @_;
$self = { };
bless($self);
$self->set_value($value);
$self->set_script($script);
$self->set_disabled($disabled) if ($disabled);
return $self;
}
=head2 html()
Returns the HTML for this text input
=cut
sub html
{
my ($self) = @_;
return "<input type=button value=\"".&quote_escape($self->get_value())."\" ".
"onClick=\"".$self->get_script()."\">";
}
sub set_script
{
my ($self, $script) = @_;
$self->{'script'} = $script;
}
sub get_script
{
my ($self) = @_;
return $self->{'script'};
}
1;

View File

@@ -1,314 +0,0 @@
package WebminUI::LinkTable;
use WebminUI::Table;
use WebminCore;
=head2 new WebminUI::LinkTable(heading, [columns], [width], [name])
Creates a new table that just displays links, like in the Users and Groups module
=cut
sub new
{
if (defined(&WebminUI::Theme::LinkTable::new) &&
caller() !~ /WebminUI::Theme::LinkTable/) {
return new WebminUI::Theme::LinkTable(@_[1..$#_]);
}
my ($self, $heading, $columns, $width, $name) = @_;
$self = { 'sorter' => \&WebminUI::Table::default_sorter,
'columns' => 4,
'sortable' => 1 };
bless($self);
$self->set_heading($heading);
$self->set_name($name) if (defined($name));
$self->set_width($width) if (defined($width));
$self->set_columns($columns) if (defined($columns));
return $self;
}
=head2 add_entry(name, link)
Adds one item to appear in the table
=cut
sub add_entry
{
my ($self, $name, $link) = @_;
push(@{$self->{'entries'}}, [ $name, $link ]);
}
=head2 html()
Returns the HTML for this table.
=cut
sub html
{
my ($self) = @_;
# Prepare the selector
my @srows = @{$self->{'entries'}};
my %selmap;
if (defined($self->{'selectinput'})) {
my $i = 0;
foreach my $r (@srows) {
$selmap{$r} = $self->{'selectinput'}->one_html($i);
$i++;
}
}
# Sort the entries
my $sortdir = $self->get_sortdir();
if (defined($sortdir)) {
my $func = $self->{'sorter'};
@srows = sort { my $so = &$func($a->[0], $b->[0]);
$sortdir ? -$so : $so } @srows;
}
# Build the sorter
my $head;
my $thisurl = $self->{'form'}->{'page'}->get_myurl();
$thisurl .= $thisurl =~ /\?/ ? "&" : "?";
my $name = $self->get_name();
if ($self->get_sortable()) {
$head = "<table cellpadding=0 cellspacing=0 width=100%><tr>";
$head .= "<td><b>".$self->get_heading()."</b></td> <td align=right>";
if (!defined($sortdir)) {
# Not sorting .. show grey button
$head .= "<a href='${thisurl}ui_sortdir_${name}=0'>".
"<img src=/images/nosort.gif border=0></a>";
}
else {
# Sorting .. show button to switch mode
my $notsort = !$sortdir;
$head .= "<a href='${thisurl}ui_sortdir_${name}=$notsort'>".
"<img src=/images/sort.gif border=0></a>";
}
$head .= "</td></tr></table>";
}
else {
$head = $self->get_heading();
}
# Find any errors
my $rv;
if ($self->{'selectinput'}) {
# Get any errors for inputs
my @errs = $self->{'form'}->field_errors(
$self->{'selectinput'}->get_name());
if (@errs) {
foreach my $e (@errs) {
$rv .= "<font color=#ff0000>$e</font><br>\n";
}
}
}
# Create the actual table
$rv .= &ui_table_start($head,
defined($self->{'width'}) ? "width=$self->{'width'}"
: undef, 1);
$rv .= "<td colspan=2><table width=100%>";
my $i = 0;
my $cols = $self->get_columns();
my $pc = 100/$cols;
foreach my $r (@srows) {
$rv .= "<tr>\n" if ($i%$cols == 0);
$rv .= "<td width=$pc%>".$selmap{$r}."<a href='$r->[1]'>".
&html_escape($r->[0])."</a></td>\n";
$rv .= "<tr>\n" if ($i%$cols == $cols-1);
$i++;
}
if ($i%$cols) {
# Finish off row
while($i++%$cols != $cols-1) {
$rv .= "<td width=$pc%></td>\n";
}
$rv .= "</tr>\n";
}
$rv .= "</table></td>";
$rv .= &ui_table_end();
return $rv;
}
=head2 set_heading(text)
Sets the heading text to appear above the table
=cut
sub set_heading
{
my ($self, $heading) = @_;
$self->{'heading'} = $heading;
}
sub get_heading
{
my ($self) = @_;
return $self->{'heading'};
}
sub set_name
{
my ($self, $name) = @_;
$self->{'name'} = $name;
}
=head2 get_name()
Returns the name for identifying this table in HTML
=cut
sub get_name
{
my ($self) = @_;
if (defined($self->{'name'})) {
return $self->{'name'};
}
elsif ($self->{'form'}) {
my $secs = $self->{'form'}->{'sections'};
for(my $i=0; $i<@$secs; $i++) {
return "table".$i if ($secs->[$i] eq $self);
}
}
return "table";
}
=head2 set_sorter(function)
Sets a function used for sorting fields. Will be called with two values to compare
=cut
sub set_sorter
{
my ($self, $func) = @_;
$self->{'sorter'} = $func;
}
=head2 default_sorter(value1, value2)
=cut
sub default_sorter
{
my ($value1, $value2, $col) = @_;
return lc($value1) cmp lc($value2);
}
=head2 set_sortable(sortable?)
Tells the table if sorting is allowed or not. By default, it is.
=cut
sub set_sortable
{
my ($self, $sortable) = @_;
$self->{'sortable'} = $sortable;
}
sub get_sortable
{
my ($self) = @_;
return $self->{'sortable'};
}
=head2 get_sortdir()
Returns the order to sort in (1 for descending)
=cut
sub get_sortdir
{
my ($self) = @_;
my $in = $self->{'form'} ? $self->{'form'}->{'in'} : undef;
my $name = $self->get_name();
if ($in && defined($in->{"ui_sortdir_".$name})) {
return ( $in->{"ui_sortdir_".$name} );
}
else {
return ( $self->{'sortdir'} );
}
}
=head2 set_sortdir(descending?)
Sets the default sort direction, unless overridden by the user.
=cut
sub set_sortcolumn
{
my ($self, $desc) = @_;
$self->{'sortdir'} = $desc;
}
=head2 set_width([number|number%])
Sets the width of this entire table. Can be called with 100%, 500 or undef to use
the minimum possible width.
=cut
sub set_width
{
my ($self, $width) = @_;
$self->{'width'} = $width;
}
=head2 set_columns(cols)
Sets the number of columns to display
=cut
sub set_columns
{
my ($self, $columns) = @_;
$self->{'columns'} = $columns;
}
sub get_columns
{
my ($self) = @_;
return $self->{'columns'};
}
=head2 set_form(form)
Called by the WebminUI::Form object when this table is added to it
=cut
sub set_form
{
my ($self, $form) = @_;
$self->{'form'} = $form;
if ($self->{'selectinput'}) {
$self->{'selectinput'}->set_form($form);
}
}
=head2 set_selector(input)
Takes a WebminUI::Checkboxes or WebminUI::Radios object, and uses it to add checkboxes
to all the entries
=cut
sub set_selector
{
my ($self, $input) = @_;
$self->{'selectinput'} = $input;
$input->set_form($form);
}
=head2 get_selector()
Returns the UI element used for selecting rows
=cut
sub get_selector
{
my ($self) = @_;
return $self->{'selectinput'};
}
=head2 validate()
Validates the selector input
=cut
sub validate
{
my ($self) = @_;
my $seli = $self->{'selectinput'};
if ($seli) {
return map { [ $seli->get_name(), $_ ] } $seli->validate();
}
return ( );
}
=head2 get_value(input-name)
Returns the value of the input with the given name.
=cut
sub get_value
{
my ($self, $name) = @_;
if ($self->{'selectinput'} && $self->{'selectinput'}->get_name() eq $name) {
return $self->{'selectinput'}->get_value();
}
return undef;
}
=head2 list_inputs()
Returns all inputs in all form sections
=cut
sub list_inputs
{
my ($self) = @_;
return $self->{'selectinput'} ? ( $self->{'selectinput'} ) : ( );
}
1;

View File

@@ -1,86 +0,0 @@
package WebminUI::Menu;
use WebminCore;
=head2 new WebminUI::Menu(&options, [columns])
Generates a menu of options, typically using icons.
=cut
sub new
{
my ($self, $options, $columns) = @_;
if (defined(&WebminUI::Theme::Menu::new)) {
return new WebminUI::Theme::Menu(@_[1..$#_]);
}
$self = { 'columns' => 4 };
bless($self);
$self->set_options($options);
$self->set_columns($columns) if (defined($columns));
return $self;
}
=head2 html()
Returns the HTML for the table
=cut
sub html
{
my ($self) = @_;
my (@links, @titles, @icons, @hrefs);
foreach my $o (@{$self->{'options'}}) {
push(@links, $o->{'link'});
if ($o->{'link2'}) {
push(@titles, "$o->{'title'}</a> <a href='$o->{'link2'}'>$o->{'title2'}");
}
else {
push(@titles, $o->{'title'});
}
push(@icons, $o->{'icon'});
push(@hrefs, $o->{'href'});
}
my $rv = &capture_function_output(\&icons_table,
\@links, \@titles, \@icons, $self->get_columns(),
\@hrefs);
return $rv;
}
=head2 add_option(&option)
=cut
sub add_option
{
my ($self, $option) = @_;
push(@{$self->{'options'}}, $option);
}
sub set_options
{
my ($self, $options) = @_;
$self->{'options'} = $options;
}
sub get_options
{
my ($self) = @_;
return $self->{'options'};
}
sub set_columns
{
my ($self, $columns) = @_;
$self->{'columns'} = $columns;
}
sub get_columns
{
my ($self) = @_;
return $self->{'columns'};
}
=head2 set_page(WebminUI::Page)
Called when this menu is added to a page
=cut
sub set_page
{
my ($self, $page) = @_;
$self->{'page'} = $page;
}
1;

View File

@@ -1,40 +0,0 @@
package WebminUI::Multiline;
use WebminUI::Textarea;
use WebminCore;
@ISA = ( "WebminUI::Textarea" );
=head2 new WebminUI::Multiline(name, &lines, rows, cols, [disabled])
Create a new input for entering multiple text entries. By default, just uses
a textbox
=cut
sub new
{
if (defined(&WebminUI::Theme::Multiline::new)) {
return new WebminUI::Theme::Multiline(@_[1..$#_]);
}
my ($self, $name, $lines, $rows, $cols, $wrap, $disabled) = @_;
$self = new WebminUI::Textarea($name, join("\n", @$lines), $rows, $cols, undef, $disabled);
bless($self);
return $self;
}
=head2 set_lines(&lines)
Sets the lines to display
=cut
sub set_lines
{
my ($self, $lines) = @_;
$self->set_value(join("\n", @$lines));
}
=head2 get_lines()
Returns an array ref of lines to display
=cut
sub get_lines
{
my ($self) = @_;
return [ split(/[\r|\n]+/, $self->get_value()) ];
}
1;

View File

@@ -1,120 +0,0 @@
package WebminUI::OptTextarea;
use WebminUI::Textarea;
use WebminCore;
@ISA = ( "WebminUI::Textarea" );
=head2 new WebminUI::OptTextarea(name, value, rows, cols, [default-msg], [other-msg])
Create a text area whose value is optional.
=cut
sub new
{
if (defined(&WebminUI::Theme::OptTextarea::new)) {
return new WebminUI::Theme::OptTextarea(@_[1..$#_]);
}
my ($self, $name, $value, $rows, $cols, $default, $other) = @_;
$self = new WebminUI::Textarea($name, $value, $rows, $cols);
bless($self);
$self->set_default($default || $text{'default'});
$self->set_other($other) if ($other);
return $self;
}
=head2 html()
Returns the HTML for this optional text input
=cut
sub html
{
my ($self) = @_;
my $rv;
my $name = $self->get_name();
my $value = $self->get_value();
my $dis = $self->get_disabled();
my $rows = $self->get_rows();
my $columns = $self->get_cols();
my $dis1 = &js_disable_inputs([ $name ], [ ]);
my $dis2 = &js_disable_inputs([ ], [ $name ]);
my $opt1 = $self->get_default();
my $opt2 = $self->get_other();
$rv .= "<input type=radio name=\"".&quote_escape($name."_def")."\" ".
"value=1 ".($value ne '' ? "" : "checked").
($dis ? " disabled=true" : "")." onClick='$dis1'> ".$opt1."\n";
$rv .= "<input type=radio name=\"".&quote_escape($name."_def")."\" ".
"value=0 ".($value ne '' ? "checked" : "").
($dis ? " disabled=true" : "")." onClick='$dis2'> ".$opt2."<br>\n";
$rv .= "<textarea name=\"".&quote_escape($name)."\" ".
($value eq "" || $dis ? " disabled=true" : "").
"rows=$rows columns=$columns>".&html_escape($value)."</textarea>\n";
return $rv;
}
=head2 validate(&inputs)
=cut
sub validate
{
my ($self, $in) = @_;
if (defined($self->get_value())) {
if ($self->get_value() eq "") {
return ( $text{'ui_nothing'} );
}
return WebminUI::Textbox::validate($self);
}
return ( );
}
sub set_default
{
my ($self, $default) = @_;
$self->{'default'} = $default;
}
sub get_default
{
my ($self) = @_;
return $self->{'default'};
}
sub set_other
{
my ($self, $other) = @_;
$self->{'other'} = $other;
}
sub get_other
{
my ($self) = @_;
return $self->{'other'};
}
=head2 get_value()
Returns the specified initial value for this field, or the value set when the
form is re-displayed due to an error.
=cut
sub get_value
{
my ($self) = @_;
my $in = $self->{'form'} ? $self->{'form'}->{'in'} : undef;
if ($in && (defined($in->{$self->{'name'}}) ||
defined($in->{$self->{'name'}.'_def'}))) {
return $in->{$self->{'name'}.'_def'} ? undef : $in->{$self->{'name'}};
}
elsif ($in && defined($in->{"ui_value_".$self->{'name'}})) {
return $in->{"ui_value_".$self->{'name'}};
}
else {
return $self->{'value'};
}
}
=head2 get_input_names()
Returns the actual names of all HTML elements that make up this input
=cut
sub get_input_names
{
my ($self) = @_;
return ( $self->{'name'}, $self->{'name'}."_def[0]",
$self->{'name'}."_def[1]" );
}
1;

View File

@@ -1,90 +0,0 @@
package WebminUI::OptTextbox;
use WebminUI::Textbox;
use WebminCore;
@ISA = ( "WebminUI::Textbox" );
=head2 new WebminUI::OptTextbox(name, value, size, [default-msg], [other-msg])
Create a text field whose value is optional.
=cut
sub new
{
if (defined(&WebminUI::Theme::OptTextbox::new)) {
return new WebminUI::Theme::OptTextbox(@_[1..$#_]);
}
my ($self, $name, $value, $size, $default, $other) = @_;
$self = new WebminUI::Textbox($name, $value, $size);
bless($self);
$self->set_default($default || $text{'default'});
$self->set_other($other) if ($other);
return $self;
}
=head2 html()
Returns the HTML for this optional text input
=cut
sub html
{
my ($self) = @_;
return &ui_opt_textbox($self->get_name(), $self->get_value(),
$self->{'size'}, $self->{'default'},
$self->{'other'});
}
=head2 validate(&inputs)
=cut
sub validate
{
my ($self, $in) = @_;
if (defined($self->get_value())) {
if ($self->get_value() eq "") {
return ( $text{'ui_nothing'} );
}
return WebminUI::Textbox::validate($self);
}
return ( );
}
sub set_default
{
my ($self, $default) = @_;
$self->{'default'} = $default;
}
sub set_other
{
my ($self, $other) = @_;
$self->{'other'} = $other;
}
=head2 get_value()
Returns the specified initial value for this field, or the value set when the
form is re-displayed due to an error.
=cut
sub get_value
{
my ($self) = @_;
my $in = $self->{'form'} ? $self->{'form'}->{'in'} : undef;
if ($in && (defined($in->{$self->{'name'}}) ||
defined($in->{$self->{'name'}.'_def'}))) {
return $in->{$self->{'name'}.'_def'} ? undef : $in->{$self->{'name'}};
}
elsif ($in && defined($in->{"ui_value_".$self->{'name'}})) {
return $in->{"ui_value_".$self->{'name'}};
}
else {
return $self->{'value'};
}
}
=head2 get_input_names()
Returns the actual names of all HTML elements that make up this input
=cut
sub get_input_names
{
my ($self) = @_;
return ( $self->{'name'}, $self->{'name'}."_def[0]",
$self->{'name'}."_def[1]" );
}
1;

View File

@@ -1,426 +0,0 @@
package WebminUI::Page;
use WebminCore;
use WebminCore;
=head2 new WebminUI::Page(subheading, title, [help-name], [show-config],
[no-module-index], [no-webmin-index], [rightside],
[header], [body-tags], [below-text])
Create a new page object, with the given heading and other details
=cut
sub new
{
if (defined(&WebminUI::Theme::Page::new) && caller() !~ /WebminUI::Theme::Page/) {
return new WebminUI::Theme::Page(@_[1..$#_]);
}
my ($self, $subheading, $title, $help, $config, $noindex, $nowebmin, $right,
$header, $body, $below) = @_;
$self = { 'index' => 1, 'webmin' => 1, 'image' => "" };
bless($self);
$self->set_subheading($subheading);
$self->set_title($title);
$self->set_help($help);
$self->set_config($config);
$self->set_index(!$noindex);
$self->set_webmin(!$nowebmin);
$self->set_right($right);
$self->set_header($header);
$self->set_body($body);
$self->set_below($below);
return $self;
}
=head2 print()
Actually outputs this page
=cut
sub print
{
my ($self) = @_;
my $rv;
# Work out if we need buffering/table
foreach my $c (@{$self->{'contents'}}) {
if (ref($c) =~ /Dynamic/) {
$| = 1;
if ($c->needs_unbuffered()) {
$self->{'unbuffered'} = 1;
}
}
}
# Show the page header
my $func = $self->{'unbuffered'} ? \&ui_print_unbuffered_header
: \&ui_print_header;
my $scripts;
foreach my $s (@{$self->{'scripts'}},
(map { @{$_->{'scripts'}} } @{$self->{'contents'}})) {
$scripts .= "<script>\n".$s."\n</script>\n";
}
my $onload;
my @onloads = ( @{$self->{'onloads'}},
map { @{$_->{'onloads'}} } @{$self->{'contents'}} );
if (@onloads) {
$onload = "onLoad='".join(" ", @onloads)."'";
}
my @args = ( $self->{'subheading'}, $self->{'title'}, $self->{'image'},
$self->{'help'}, $self->{'config'}, $self->{'index'} ? undef : 1,
$self->{'webmin'} ? undef : 1, $self->{'right'},
$self->{'header'}.$scripts, $self->{'body'}.$onload,
$self->{'below'} );
while(!defined($args[$#args])) {
pop(@args);
}
if ($self->get_refresh()) {
print "Refresh: ",$self->get_refresh(),"\r\n";
}
&ui_print_header(@args);
# Add the tab top
if ($self->{'tabs'}) {
print $self->{'tabs'}->top_html();
}
# Add any pre-content stuff
print $self->pre_content();
if ($self->{'errormsg'}) {
# Show the error only
print $self->get_errormsg_html();
}
else {
# Generate the forms and other stuff
foreach my $c (@{$self->{'contents'}}) {
if (!ref($c)) {
# Just a message
print "$c<p>\n";
}
else {
# Convert to HTML
eval { print $c->html(); };
if ($@) {
print "<pre>$@</pre>";
}
if (ref($c) =~ /Dynamic/ && $c->get_wait()) {
# Dynamic object .. execute now
$c->start();
}
}
}
# Generate buttons row
if ($self->{'buttons'}) {
print "<hr>\n";
print &ui_buttons_start();
foreach my $b (@{$self->{'buttons'}}) {
print &ui_buttons_row(@$b);
}
print &ui_buttons_end();
}
}
# Add any post-content stuff
print $self->post_content();
# End of the tabs
if ($self->{'tabs'}) {
print $self->{'tabs'}->bottom_html();
}
# Print the footer
my @footerargs;
foreach my $f (@{$self->{'footers'}}) {
push(@footerargs, $f->[0], $f->[1]);
}
&ui_print_footer(@footerargs);
# Start any dynamic objects
foreach my $c (@{$self->{'contents'}}) {
if (ref($c) =~ /Dynamic/ && !$c->get_wait()) {
$c->start();
}
}
}
=head2 add_footer(link, title)
Adds a return link, typically for display at the end of the page.
=cut
sub add_footer
{
my ($self, $link, $title) = @_;
push(@{$self->{'footers'}}, [ $link, $title ]);
}
=head2 get_footer(index)
Returns the link for the numbered footer
=cut
sub get_footer
{
my ($self, $num) = @_;
return $self->{'footers'}->[$num]->[0];
}
=head2 add_message(text, ...)
Adds a text message, to appear at this point on the page
=cut
sub add_message
{
my ($self, @message) = @_;
push(@{$self->{'contents'}}, join("", @message));
}
=head2 add_error(text, [command-output])
Adds a an error message, possible accompanied by the command output
=cut
sub add_error
{
my ($self, $message, $out) = @_;
$message = "<font color=#ff0000>$message</font>";
if ($out) {
$message .= "<pre>$out</pre>";
}
push(@{$self->{'contents'}}, $message);
}
=head2 add_message_after(&object, text, ...)
Adds a message after some existing object
=cut
sub add_message_after
{
my ($self, $object, @message) = @_;
splice(@{$self->{'contents'}}, $self->position_of($object)+1, 0,
join("", @message));
}
=head2 add_error_after(&object, text, [command-output])
Adds an error message after some existing object
=cut
sub add_error_after
{
my ($self, $object, $message, $out) = @_;
$message = "<font color=#ff0000>$message</font>";
if ($out) {
$message .= "<pre>$out</pre>";
}
splice(@{$self->{'contents'}}, $self->position_of($object)+1, 0,
$message);
}
sub position_of
{
my ($self, $object) = @_;
for(my $i=0; $i<@{$self->{'contents'}}; $i++) {
if ($self->{'contents'}->[$i] eq $object) {
return $i;
}
}
print STDERR "Could not find $object in ",join(" ",@{$self->{'contents'}}),"\n";
return scalar(@{$self->{'contents'}});
}
=head2 add_form(WebminUI::Form)
Adds a form to be displayed on this page
=cut
sub add_form
{
my ($self, $form) = @_;
push(@{$self->{'contents'}}, $form);
$form->set_page($self);
}
=head2 add_separator()
Adds some kind of separation between parts of this page, like an <hr>
=cut
sub add_separator
{
my ($self, $message) = @_;
push(@{$self->{'contents'}}, "<hr>");
}
=head2 add_button(cgi, label, description, [&hiddens], [before-button],
[after-button])
Adds an action button associated with this page, typically for display at the end
=cut
sub add_button
{
my ($self, $cgi, $label, $desc, $hiddens, $before, $after) = @_;
push(@{$self->{'buttons'}}, [ $cgi, $label, $desc, join(" ", @$hiddens),
$before, $after ]);
}
=head2 add_tabs(WebminUI::Tags)
Tells the page to display the given set of tabs at the top
=cut
sub add_tabs
{
my ($self, $tabs) = @_;
$self->{'tabs'} = $tabs;
}
=head2 add_dynamic(WebminUI::DynamicText|WebminUI::DynamicProgress)
Adds an object that is dynamically generated, such as a text box or progress bar.
=cut
sub add_dynamic
{
my ($self, $dyn) = @_;
push(@{$self->{'contents'}}, $dyn);
$dyn->set_page($self);
}
sub set_subheading
{
my ($self, $subheading) = @_;
$self->{'subheading'} = $subheading;
}
sub set_title
{
my ($self, $title) = @_;
$self->{'title'} = $title;
}
sub set_help
{
my ($self, $help) = @_;
$self->{'help'} = $help;
}
sub set_config
{
my ($self, $config) = @_;
$self->{'config'} = $config;
}
sub set_index
{
my ($self, $index) = @_;
$self->{'index'} = $index;
}
sub set_webmin
{
my ($self, $webmin) = @_;
$self->{'webmin'} = $webmin;
}
sub set_right
{
my ($self, $right) = @_;
$self->{'right'} = $right;
}
sub set_header
{
my ($self, $header) = @_;
$self->{'header'} = $header;
}
sub set_body
{
my ($self, $body) = @_;
$self->{'body'} = $body;
}
sub set_below
{
my ($self, $below) = @_;
$self->{'below'} = $below;
}
sub set_unbuffered
{
my ($self, $unbuffered) = @_;
$self->{'unbuffered'} = $unbuffered;
}
=head2 set_popup(popup?)
If set to 1, then this is a popup window
=cut
sub set_popup
{
my ($self, $popup) = @_;
$self->{'popup'} = $popup;
}
=head2 get_myurl()
Returns the path part of the URL for this page, like /foo/bar.cgi
=cut
sub get_myurl
{
my @args;
if ($ENV{'QUERY_STRING'} && $ENV{'REQUEST_METHOD'} ne 'POST') {
my %in;
&ReadParse(\%in);
foreach my $i (keys %in) {
if ($i !~ /^ui_/) {
foreach my $v (split(/\0/, $in{$i})) {
push(@args, &urlize($i)."=".
&urlize($v));
}
}
}
}
return @args ? $ENV{'SCRIPT_NAME'}."?".join("&", @args)
: $ENV{'SCRIPT_NAME'};
}
=head2 set_refresh(seconds)
Sets the number of seconds between automatic page refreshes
=cut
sub set_refresh
{
my ($self, $refresh) = @_;
$self->{'refresh'} = $refresh;
}
sub get_refresh
{
my ($self) = @_;
return $self->{'refresh'};
}
=head2 add_onload(code)
Adds some Javascript code for inclusion in the onLoad tag
=cut
sub add_onload
{
my ($self, $code) = @_;
push(@{$self->{'onloads'}}, $code);
}
=head2 add_script(code)
Adds some Javascript code for putting in the <head> section
=cut
sub add_script
{
my ($self, $script) = @_;
push(@{$self->{'scripts'}}, $script);
}
sub pre_content
{
my ($self) = @_;
return undef;
}
sub post_content
{
my ($self) = @_;
return undef;
}
=head2 set_errormsg(message)
Sets an error message to be displayed instead of the page contents
=cut
sub set_errormsg
{
my ($self, $errormsg) = @_;
$self->{'errormsg'} = $errormsg;
}
sub get_errormsg_html
{
my ($self) = @_;
return $self->{'errormsg'}."<p>\n";
}
1;

View File

@@ -1,32 +0,0 @@
package WebminUI::Password;
@ISA = ( "WebminUI::Textbox" );
use WebminUI::Textbox;
use WebminCore;
=head2 new WebminUI::Password(name, value, [size])
Create a new text input field, for a password
=cut
sub new
{
if (defined(&WebminUI::Theme::Password::new)) {
return new WebminUI::Theme::Password(@_[1..$#_]);
}
my ($self, $name, $value, $size) = @_;
$self = new WebminUI::Textbox($name, $value, $size);
bless($self);
return $self;
}
=head2 html()
Returns the HTML for this password input
=cut
sub html
{
my ($self) = @_;
return &ui_password($self->get_name(), $self->get_value(),
$self->{'size'},
$self->{'$disabled'});
}

View File

@@ -1,97 +0,0 @@
package WebminUI::PlainText;
use WebminCore;
=head2 new WebminUI::PlainText(text, columns)
Displays a block of plain fixed-width text, within a page or form.
=cut
sub new
{
if (defined(&WebminUI::Theme::PlainText::new) &&
caller() !~ /WebminUI::Theme::PlainText/) {
return new WebminUI::Theme::PlainText(@_[1..$#_]);
}
my ($self, $text, $columns) = @_;
$self = { 'columns' => 80 };
bless($self);
$self->set_text($text);
$self->set_columns($columns) if (defined($columns));
return $self;
}
=head2 html()
=cut
sub html
{
my ($self) = @_;
my $rv;
$rv .= "<table border><tr $cb><td><pre>";
foreach my $l (&wrap_lines($self->get_text(), $self->get_columns())) {
if (length($l) < $self->get_columns()) {
$l .= (" " x $self->get_columns() - length($l));
}
$rv .= &html_escape($l)."\n";
}
if (!$self->get_text()) {
print (" " x $self->get_columns()),"\n";
}
$rv .= "</pre></td></tr></table>\n";
return $rv;
}
sub set_text
{
my ($self, $text) = @_;
$self->{'text'} = $text;
}
sub get_text
{
my ($self) = @_;
return $self->{'text'};
}
sub set_columns
{
my ($self, $columns) = @_;
$self->{'columns'} = $columns;
}
sub get_columns
{
my ($self) = @_;
return $self->{'columns'};
}
# wrap_lines(text, width)
# Given a multi-line string, return an array of lines wrapped to
# the given width
sub wrap_lines
{
local @rv;
local $w = $_[1];
foreach $rest (split(/\n/, $_[0])) {
if ($rest =~ /\S/) {
while($rest =~ /^(.{1,$w}\S*)\s*([\0-\377]*)$/) {
push(@rv, $1);
$rest = $2;
}
}
else {
# Empty line .. keep as it is
push(@rv, $rest);
}
}
return @rv;
}
=head2 set_page(WebminUI::Page)
Called when this form is added to a page
=cut
sub set_page
{
my ($self, $page) = @_;
$self->{'page'} = $page;
}
1;

View File

@@ -1,132 +0,0 @@
package WebminUI::Properties;
use WebminCore;
=head2 new WebminUI::Properties([heading], [columns], [width])
Creates a read-only properties list
=cut
sub new
{
if (defined(&WebminUI::Theme::Properties::new) &&
caller() !~ /WebminUI::Theme::Properties/) {
return new WebminUI::Theme::Properties(@_[1..$#_]);
}
my ($self, $heading, $columns, $width) = @_;
$self = { 'columns' => 2 };
bless($self);
$self->set_heading($heading) if (defined($heading));
$self->set_columns($columns) if (defined($columns));
$self->set_width($width) if (defined($width));
return $self;
}
=head2 add_row(label, value, ...)
Adds one row to the properties table
=cut
sub add_row
{
my ($self, @row) = @_;
push(@{$self->{'rows'}}, \@row);
}
=head2 set_heading_row(head1, head2, ...)
Adds a row of headings
=cut
sub set_heading_row
{
my ($self, @row) = @_;
$self->{'heading_row'} = \@row;
}
=head2 html()
Returns the HTML for this properties list
=cut
sub html
{
my ($self) = @_;
my $rv;
my $width = $self->get_width();
$rv .= "<table border ".($width ? "width=$width" : "").">\n";
$rv .= "<tr><td><table width=100% cellspacing=0 cellpadding=3>\n";
my $cols = $self->get_columns();
if ($self->get_heading()) {
$rv .= "<tr $tb><td colspan=$cols><b>".
$self->get_heading()."</b></td> </tr>\n";
}
if ($self->{'heading_row'}) {
$rv .= "<tr $tb>\n";
foreach my $r (@{$self->{'heading_row'}}) {
$rv .= "<td><b>$r</b></td>\n";
}
$rv .= "</tr>\n";
}
foreach my $r (@{$self->{'rows'}}) {
$rv .= "<tr $cb>\n";
$rv .= "<td><b>$r->[0]</b></td>\n";
for(my $i=1; $i<@$r || $i<$cols; $i++) {
$rv .= "<td>".(ref($r->[$i]) ? $r->[$i]->html()
: $r->[$i])."</td>\n";
}
$rv .= "</tr>\n";
}
$rv .= "</table></td></tr></table>\n";
return $rv;
}
=head2 set_width([number|number%])
Sets the width of this section. Can be called with 100%, 500, or undef to use
the minimum possible width.
=cut
sub set_width
{
my ($self, $width) = @_;
$self->{'width'} = $width;
}
sub get_width
{
my ($self) = @_;
return $self->{'width'};
}
=head2 set_columns(number)
Sets the number of columns in the properties table, including the title column
=cut
sub set_columns
{
my ($self, $columns) = @_;
$self->{'columns'} = $columns;
}
sub get_columns
{
my ($self) = @_;
return $self->{'columns'};
}
=head2 set_heading(number)
Sets the heading to appear above the properties list
=cut
sub set_heading
{
my ($self, $heading) = @_;
$self->{'heading'} = $heading;
}
sub get_heading
{
my ($self) = @_;
return $self->{'heading'};
}
=head2 set_page(WebminUI::Page)
Called when this form is added to a page
=cut
sub set_page
{
my ($self, $page) = @_;
$self->{'page'} = $page;
}
1;

View File

@@ -1,77 +0,0 @@
package WebminUI::Radios;
use WebminUI::Input;
use WebminCore;
@ISA = ( "WebminUI::Input" );
=head2 new WebminUI::Radios(name, value, &options, [disabled])
Create a list of radio buttons, of which one may be selected
=cut
sub new
{
if (defined(&WebminUI::Theme::Radios::new)) {
return new WebminUI::Theme::Radios(@_[1..$#_]);
}
my ($self, $name, $value, $options, $disabled) = @_;
$self = { };
bless($self);
$self->set_name($name);
$self->set_value($value);
$self->set_options($options);
$self->set_disabled($disabled);
return $self;
}
=head2 add_option(name, [label])
=cut
sub add_option
{
my ($self, $name, $label) = @_;
push(@{$self->{'options'}}, [ $name, $label ]);
}
=head2 html()
Returns the HTML for all the radio buttons, one after the other
=cut
sub html
{
my ($self) = @_;
my $dis = $self->{'form'}->get_changefunc($self);
my $opts = $self->get_options();
if ($dis) {
foreach my $o (@$opts) {
$o->[2] = "onClick='$dis'";
}
}
return &ui_radio($self->get_name(), $self->get_value(),
$opts, $self->get_disabled());
}
=head2 one_html(number)
Returns the HTML for a single one of the radio buttons
=cut
sub one_html
{
my ($self, $num) = @_;
my $opt = $self->{'options'}->[$num];
my $dis = $self->{'form'}->get_changefunc($self);
return &ui_oneradio($self->get_name(), $opt->[0],
defined($opt->[1]) ? $opt->[1] : $opt->[0],
$self->get_value() eq $opt->[0],
$dis ? "onClick='$dis'" : undef,
$self->get_disabled());
}
sub set_options
{
my ($self, $options) = @_;
$self->{'options'} = $options;
}
sub get_options
{
my ($self) = @_;
return $self->{'options'};
}
1;

View File

@@ -1,20 +0,0 @@
package WebminUI::ResultPage;
use WebminCore;
=head2 new WebminUI::ResultPage(subheading, title, message, [help-name])
Create a new page object for showing some success message.
=cut
sub new
{
if (defined(&WebminUI::Theme::ResultPage::new) &&
caller() !~ /WebminUI::Theme::ResultPage/) {
return new WebminUI::Theme::ResultPage(@_[1..$#_]);
}
my ($self, $subheading, $title, $message, $help) = @_;
$self = new WebminUI::Page($subheading, $title, $help);
$self->add_message("<b>$message</b>");
return $self;
}
1;

View File

@@ -1,172 +0,0 @@
package WebminUI::Section;
use WebminCore;
=head2 new WebminUI::Section(header, [columns], [title], [width])
Create a new form section, which has a header and contains some inputs
=cut
sub new
{
if (defined(&WebminUI::Theme::Section::new) &&
caller() !~ /WebminUI::Theme::Section/) {
return new WebminUI::Theme::Section(@_[1..$#_]);
}
my ($self, $header, $columns, $title, $width) = @_;
$self = { 'columns' => 4 };
bless($self);
$self->set_header($header);
$self->set_columns($columns) if (defined($columns));
$self->set_title($title) if (defined($title));
$self->set_width($width) if (defined($width));
return $self;
}
=head2 html()
Returns the HTML for this form section
=cut
sub html
{
my ($self) = @_;
my $rv;
$rv .= &ui_table_start($self->{'header'},
$self->{'width'} ? "width=$self->{'width'}" : undef,
$self->{'columns'});
foreach my $i (@{$self->{'inputs'}}) {
if (is_input($i->[1])) {
my $errs;
my @errs = $self->{'form'}->field_errors($i->[1]->get_name());
if (@errs) {
foreach my $e (@errs) {
$errs .= "<br><font color=#ff0000>$e</font>\n";
}
}
$rv .= &ui_table_row($i->[0], $i->[1]->html().$errs,
$i->[2]);
}
else {
$rv .= &ui_table_row($i->[0],
ref($i->[1]) ? $i->[1]->html() : $i->[1], $i->[2]);
}
}
$rv .= &ui_table_end();
return $rv;
}
=head2 add_input(label, input, [columns])
Adds some WebminUI::Input object to this form section
=cut
sub add_input
{
my ($self, $label, $input, $cols) = @_;
push(@{$self->{'inputs'}}, [ $label, $input, $cols ]);
$input->set_form($self->{'form'});
}
=head2 add_row(label, text, [columns])
Adds a non-editable row to this form section
=cut
sub add_row
{
my ($self, $label, $text, $cols) = @_;
push(@{$self->{'inputs'}}, [ $label, $text, $cols ]);
}
=head2 add_separator()
Adds some kind of separator at this point in the section
=cut
sub add_separator
{
my ($self) = @_;
push(@{$self->{'inputs'}}, [ undef, "<hr>", $self->{'columns'} ]);
}
sub set_header
{
my ($self, $header) = @_;
$self->{'header'} = $header;
}
sub set_columns
{
my ($self, $columns) = @_;
$self->{'columns'} = $columns;
}
sub set_title
{
my ($self, $title) = @_;
$self->{'title'} = $title;
}
=head2 set_width([number|number%])
Sets the width of this section. Can be called with 100%, 500, or undef to use
the minimum possible width.
=cut
sub set_width
{
my ($self, $width) = @_;
$self->{'width'} = $width;
}
=head2 validate()
Validates all form inputs, based on the given CGI input hash. Returns a list
of errors, each of which is field name, error message and field label.
=cut
sub validate
{
my ($self) = @_;
my @errs;
foreach my $i (@{$self->{'inputs'}}) {
if (is_input($i->[1])) {
foreach my $e ($i->[1]->validate()) {
push(@errs, [ $i->[1]->get_name(), $e, $i->[0] ]);
}
}
}
return @errs;
}
=head2 get_value(input-name)
Returns the value of the input with the given name.
=cut
sub get_value
{
my ($self, $name) = @_;
foreach my $i (@{$self->{'inputs'}}) {
if (is_input($i->[1]) && $i->[1]->get_name() eq $name) {
return $i->[1]->get_value();
}
}
return undef;
}
=head2 set_form(form)
Called by the WebminUI::Form object when this section is added to it
=cut
sub set_form
{
my ($self, $form) = @_;
$self->{'form'} = $form;
foreach my $i (@{$self->{'inputs'}}) {
if (is_input($i->[1])) {
$i->[1]->set_form($form);
}
}
}
sub list_inputs
{
my ($self) = @_;
return map { $_->[1] } grep { is_input($_->[1]) } @{$self->{'inputs'}};
}
=head2 is_input(object)
=cut
sub is_input
{
my ($object) = @_;
return ref($object) && ref($object) =~ /::/ &&
$object->isa("WebminUI::Input");
}
1;

View File

@@ -1,135 +0,0 @@
package WebminUI::Select;
use WebminUI::Input;
use WebminCore;
@ISA = ( "WebminUI::Input" );
=head2 new WebminUI::Select(name, value|&values, &options, [multiple-size],
[add-missing], [disabled])
Create a menu or multiple-selection field
=cut
sub new
{
if (defined(&WebminUI::Theme::Select::new)) {
return new WebminUI::Theme::Select(@_[1..$#_]);
}
my ($self, $name, $value, $options, $size, $missing, $disabled) = @_;
$self = { 'size' => 1 };
bless($self);
$self->set_name($name);
$self->set_value($value);
$self->set_options($options);
$self->set_size($size) if (defined($size));
$self->set_missing($missing);
$self->set_disabled($disabled);
return $self;
}
=head2 add_option(name, [label])
=cut
sub add_option
{
my ($self, $name, $label) = @_;
push(@{$self->{'options'}}, [ $name, $label ]);
}
=head2 html()
Returns the HTML for this menu or multi-select input
=cut
sub html
{
my ($self) = @_;
my $dis = $self->{'form'}->get_changefunc($self);
return &ui_select($self->get_name(), $self->get_value(),
$self->get_options(),
$self->get_size() > 1 ? $self->get_size() : undef,
$self->get_size() > 1 ? 1 : 0,
undef,
$self->get_disabled(),
$dis ? "onChange='$dis'" : undef).
($self->get_size() > 1 ?
&ui_hidden("ui_exists_".$self->get_name(), 1) : "");
}
=head2 get_value()
For a multi-select field, returns an array ref of all values. For a menu,
return just the one value.
=cut
sub get_value
{
my ($self) = @_;
my $in = $self->{'form'} ? $self->{'form'}->{'in'} : undef;
if ($in && (defined($in->{$self->{'name'}}) ||
defined($in->{"ui_exists_".$self->{'name'}}))) {
if ($self->get_size() > 1) {
return [ split(/\0/, $in->{$self->{'name'}}) ];
}
else {
return $in->{$self->{'name'}};
}
}
elsif ($in && defined($in->{"ui_value_".$self->{'name'}})) {
if ($self->get_size() > 1) {
return [ split(/\0/, $in->{"ui_value_".$self->{'name'}}) ];
}
else {
return $in->{"ui_value_".$self->{'name'}};
}
}
else {
return $self->{'value'};
}
}
sub set_options
{
my ($self, $options) = @_;
$self->{'options'} = $options;
}
sub set_size
{
my ($self, $size) = @_;
$self->{'size'} = $size;
}
sub set_missing
{
my ($self, $missing) = @_;
$self->{'missing'} = $missing;
}
sub get_options
{
my ($self) = @_;
return $self->{'options'};
}
sub get_size
{
my ($self) = @_;
return $self->{'size'};
}
sub get_missing
{
my ($self) = @_;
return $self->{'missing'};
}
=head2 validate()
Returns a list of error messages for this field
=cut
sub validate
{
my ($self) = @_;
if ($self->{'size'} > 1) {
my $value = $self->get_value();
if ($self->{'mandatory'} && !@$value) {
return ( $self->{'mandatorymsg'} || $text{'ui_mandatory'} );
}
}
return ( );
}
1;

View File

@@ -1,41 +0,0 @@
package WebminUI::Submit;
use WebminUI::Input;
use WebminCore;
@ISA = ( "WebminUI::Input" );
=head2 new WebminUI::Submit(label, [name], [disabled])
Create a form submit button
=cut
sub new
{
if (defined(&WebminUI::Theme::Submit::new) &&
caller() !~ /WebminUI::Theme::Submit/) {
return new WebminUI::Theme::Submit(@_[1..$#_]);
}
my ($self, $value, $name, $disabled) = @_;
$self = { };
bless($self);
$self->set_value($value);
$self->set_name($name) if ($name);
$self->set_disabled($disabled) if ($disabled);
return $self;
}
=head2 html()
Returns the HTML for this form submit button
=cut
sub html
{
my ($self) = @_;
return &ui_submit($self->get_value(), $self->get_name(),
$self->get_disabled());
}
sub get_value
{
my ($self) = @_;
return $self->{'value'};
}
1;

View File

@@ -1,660 +0,0 @@
package WebminUI::Table;
use WebminUI::JavascriptButton;
use WebminCore;
=head2 new WebminUI::Table(&headings, [width], [name], [heading])
Create a multi-column table, with support for sorting, paging and so on
=cut
sub new
{
if (defined(&WebminUI::Theme::Table::new) &&
caller() !~ /WebminUI::Theme::Table/) {
return new WebminUI::Theme::Table(@_[1..$#_]);
}
my ($self, $headings, $width, $name, $heading) = @_;
$self = { 'sorter' => [ map { \&default_sorter } @$headings ] };
bless($self);
$self->set_headings($headings);
$self->set_name($name) if (defined($name));
$self->set_width($width) if (defined($width));
$self->set_heading($heading) if (defined($heading));
$self->set_all_sortable(1);
$self->set_paging(1);
return $self;
}
=head2 add_row(&fields)
Adds a row to the table. Each element in the row can be either an input of some
kind, or a piece of text.
=cut
sub add_row
{
my ($self, $fields) = @_;
push(@{$self->{'rows'}}, $fields);
}
=head2 html()
Returns the HTML for this table. The actual ordering may depend upon sort headers
clicked by the user. The rows to display may be limited by the page size.
=cut
sub html
{
my ($self) = @_;
my @srows = @{$self->{'rows'}};
my $thisurl = $self->{'form'}->{'page'}->get_myurl();
my $name = $self->get_name();
my $rv;
# Add the heading
if ($self->get_heading()) {
$rv .= &ui_subheading($self->get_heading())."\n";
}
my $sm = $self->get_searchmax();
if (defined($sm) && @srows > $sm) {
# Too many rows to show .. add a search form. This will need to close
# the parent form, and then re-open it after the search form, as nested
# forms aren't allowed!
if ($self->get_searchmsg()) {
$rv .= $self->get_searchmsg()."<br>\n";
}
my $form = new WebminUI::Form($thisurl, "get");
$form->set_input($self->{'form'}->{'in'});
my $section = new WebminUI::Section(undef, 2);
$form->add_section($section);
my $col = new WebminUI::Select("ui_searchcol_".$name, undef);
my $i = 0;
foreach my $h (@{$self->get_headings()}) {
if ($self->{'sortable'}->[$i]) {
$col->add_option($i, $h);
}
$i++;
}
$section->add_input($text{'ui_searchcol'}, $col);
my $for = new WebminUI::Textbox("ui_searchfor_".$name, undef, 30);
$section->add_input($text{'ui_searchfor'}, $for);
$rv .= $section->html();
my $url = $self->make_url(undef, undef, undef, undef, 1);
my $jsb = new WebminUI::JavascriptButton($text{'ui_searchok'},
"window.location = '$url'+'&'+'ui_searchfor_${name}'+'='+escape(form.ui_searchfor_${name}.value)+'&'+'ui_searchcol_${name}'+'='+escape(form.ui_searchcol_${name}.selectedIndex)");
$rv .= $jsb->html();
$rv .= "<br>\n";
# Limit records to current search
if (defined($col->get_value())) {
my $sf = $for->get_value();
@srows = grep { $_->[$col->get_value()] =~ /\Q$sf\E/i } @srows;
}
else {
@srows = ( );
}
}
# Prepare the selector
my $selc = $self->{'selectcolumn'};
my $seli = $self->{'selectinput'};
my %selmap;
if (defined($selc)) {
my $i = 0;
foreach my $r (@srows) {
$selmap{$r,$selc} = $seli->one_html($i);
$i++;
}
}
# Sort the rows
my ($sortcol, $sortdir) = $self->get_sortcolumn();
if (defined($sortcol)) {
my $func = $self->{'sorter'}->[$sortcol];
@srows = sort { my $so = &$func($a->[$sortcol], $b->[$sortcol], $sortcol);
$sortdir ? -$so : $so } @srows;
}
# Build the td attributes
my @tds = map { "valign=top" } @{$self->{'headings'}};
if ($self->{'widths'}) {
my $i = 0;
foreach my $w (@{$self->{'widths'}}) {
$tds[$i++] .= " width=$w";
}
}
if ($self->{'aligns'}) {
my $i = 0;
foreach my $a (@{$self->{'aligns'}}) {
$tds[$i++] .= " align=$a";
}
}
# Find the page we want
my $page = $self->get_pagepos();
my ($start, $end, $origsize);
if ($self->get_paging() && $self->get_pagesize()) {
# Restrict view to rows within some page
$start = $self->get_pagesize()*$page;
$end = $self->get_pagesize()*($page+1) - 1;
if ($start >= @srows) {
# Gone off end!
$start = 0;
$end = $self->get_pagesize()-1;
}
if ($end >= @srows) {
# End is too far
$end = @srows-1;
}
$origsize = scalar(@srows);
@srows = @srows[$start..$end];
}
# Generate the headings, with sorters
$thisurl .= $thisurl =~ /\?/ ? "&" : "?";
my @sheadings;
my $i = 0;
foreach my $h (@{$self->get_headings()}) {
if ($self->{'sortable'}->[$i]) {
# Column can be sorted!
my $hh = "<table cellpadding=0 cellspacing=0 width=100%><tr>";
$hh .= "<td><b>$h</b></td> <td align=right>";
if (!defined($sortcol) || $sortcol != $i) {
# Not sorting on this column .. show grey button
my $url = $self->make_url($i, 0, undef, undef);
$hh .= "<a href='$url'>".
"<img src=@{[&get_webprefix()]}/images/nosort.gif border=0></a>";
}
else {
# Sorting .. show button to switch mode
my $notsort = !$sortdir;
my $url = $self->make_url($i, $sortdir ? 0 : 1, undef, undef);
$hh .= "<a href='$url'>".
"<img src=@{[&get_webprefix()]}/images/sort.gif border=0></a>";
}
$hh .= "</td></tr></table>";
push(@sheadings, $hh);
}
else {
push(@sheadings, $h);
}
$i++;
}
# Get any errors for inputs
my @errs = map { $_->get_errors() } $self->list_inputs();
if (@errs) {
foreach my $e (@errs) {
$rv .= "<font color=#ff0000>$e</font><br>\n";
}
}
# Build links for top and bottom
my $links;
if (ref($seli) =~ /Checkboxes/) {
# Add select all/none links
my $formno = $self->{'form'}->get_formno();
$links .= &select_all_link($seli->get_name(), $formno,
$text{'ui_selall'})."\n";
$links .= &select_invert_link($seli->get_name(), $formno,
$text{'ui_selinv'})."\n";
$links .= "&nbsp;\n";
}
foreach my $l (@{$self->{'links'}}) {
$links .= "<a href='$l->[0]'>$l->[1]</a>\n";
}
$links .= "<br>" if ($links);
# Build list of inputs for bottom
my $inputs;
foreach my $i (@{$self->{'inputs'}}) {
$inputs .= $i->html()."\n";
}
$inputs .= "<br>" if ($inputs);
# Create the pager
if ($self->get_paging() && $origsize) {
my $lastpage = int(($origsize-1)/$self->get_pagesize());
$rv .= "<center>";
if ($page != 0) {
# Add start and left arrows
my $surl = $self->make_url(undef, undef, undef, 0);
$rv .= "<a href='$surl'><img src=@{[&get_webprefix()]}/images/first.gif border=0 align=middle></a>\n";
my $lurl = $self->make_url(undef, undef, undef, $page-1);
$rv .= "<a href='$lurl'><img src=@{[&get_webprefix()]}/images/left.gif border=0 align=middle></a>\n";
}
else {
# Start and left are disabled
$rv .= "<img src=@{[&get_webprefix()]}/images/first-grey.gif border=0 align=middle>\n";
$rv .= "<img src=@{[&get_webprefix()]}/images/left-grey.gif border=0 align=middle>\n";
}
$rv .= &text('ui_paging', $start+1, $end+1, $origsize);
if ($end < $origsize-1) {
# Add right and end arrows
my $rurl = $self->make_url(undef, undef, undef, $page+1);
$rv .= "<a href='$rurl'><img src=@{[&get_webprefix()]}/images/right.gif border=0 align=middle></a>\n";
my $eurl = $self->make_url(undef, undef, undef, $lastpage);
$rv .= "<a href='$eurl'><img src=@{[&get_webprefix()]}/images/last.gif border=0 align=middle></a>\n";
}
else {
# Right and end are disabled
$rv .= "<img src=@{[&get_webprefix()]}/images/right-grey.gif border=0 align=middle>\n";
$rv .= "<img src=@{[&get_webprefix()]}/images/last-grey.gif border=0 align=middle>\n";
}
$rv .= "</center>\n";
}
# Create actual table
if (@srows) {
$rv .= $links;
$rv .= &ui_columns_start(\@sheadings, $self->{'width'}, 0, \@tds);
foreach my $r (@srows) {
my @row;
for(my $i=0; $i<@$r || $i<@sheadings; $i++) {
if (ref($r->[$i]) eq "ARRAY") {
my $j = $r->[$i]->[0] &&
$r->[$i]->[0]->isa("WebminUI::TableAction")
? "&nbsp;|&nbsp;" : "&nbsp;";
$row[$i] = $selmap{$r,$i}.
join($j, map { ref($_) ? $_->html() : $_ }
@{$r->[$i]});
}
elsif (ref($r->[$i])) {
$row[$i] = $selmap{$r,$i}.$r->[$i]->html();
}
else {
$row[$i] = $selmap{$r,$i}.$r->[$i];
}
}
$rv .= &ui_columns_row(\@row, \@tds);
}
$rv .= &ui_columns_end();
}
elsif ($self->{'emptymsg'}) {
$rv .= $self->{'emptymsg'}."<p>\n";
}
$rv .= $links;
$rv .= $inputs;
return $rv;
}
=head2 set_form(form)
Called by the WebminUI::Form object when this table is added to it
=cut
sub set_form
{
my ($self, $form) = @_;
$self->{'form'} = $form;
foreach my $i ($self->list_inputs()) {
$i->set_form($form);
}
}
=head2 set_sorter(function, [column])
Sets a function used for sorting fields. Will be called with two field values to
compare, and a column number.
=cut
sub set_sorter
{
my ($self, $func, $col) = @_;
if (defined($col)) {
$self->{'sorter'}->[$col] = $func;
}
else {
$self->{'sorter'} = [ map { $func } @{$self->{'headings'}} ];
}
}
=head2 default_sorter(value1, value2, col)
=cut
sub default_sorter
{
my ($value1, $value2, $col) = @_;
if (ref($value1) && $value1->isa("WebminUI::TableAction")) {
$value1 = $value1->get_value();
$value2 = $value2->get_value();
}
return lc($value1) cmp lc($value2);
}
=head2 numeric_sorter(value1, value2, col)
=cut
sub numeric_sorter
{
my ($value1, $value2, $col) = @_;
return $value1 <=> $value2;
}
=head2 set_sortable(column, sortable?)
Tells the table if some column should allow sorting or not. By default, all are.
=cut
sub set_sortable
{
my ($self, $col, $sortable) = @_;
$self->{'sortable'}->[$col] = $sortable;
}
=head2 set_all_sortable(sortable?)
Enabled or disables sorting for all columns
=cut
sub set_all_sortable
{
my ($self, $sortable) = @_;
$self->{'sortable'} = [ map { $sortable } @{$self->{'headings'}} ];
}
=head2 get_sortcolumn()
Returns the column to sort on and the order (1 for descending), or undef for none
=cut
sub get_sortcolumn
{
my ($self) = @_;
my $in = $self->{'form'} ? $self->{'form'}->{'in'} : undef;
my $name = $self->get_name();
if ($in && defined($in->{"ui_sortcolumn_".$name})) {
return ( $in->{"ui_sortcolumn_".$name},
$in->{"ui_sortdir_".$name} );
}
else {
return ( $self->{'sortcolumn'}, $self->{'sortdir'} );
}
}
=head2 set_sortcolumn(num, descending?)
Sets the default column on which sorting will be done, unless overridden by
the user.
=cut
sub set_sortcolumn
{
my ($self, $col, $desc) = @_;
$self->{'sortcolumn'} = $col;
$self->{'sortdir'} = $desc;
}
=head2 get_paging()
Returns 1 if page-by-page display should be used
=cut
sub get_paging
{
my ($self) = @_;
my $in = $self->{'form'} ? $self->{'form'}->{'in'} : undef;
my $name = $self->get_name();
if ($in && defined($in->{"ui_paging_".$name})) {
return ( $in->{"ui_paging_".$name} );
}
else {
return ( $self->{'paging'} );
}
}
=head2 set_paging(paging?)
Turns page-by-page display of the table on or off
=cut
sub set_paging
{
my ($self, $paging) = @_;
$self->{'paging'} = $paging;
}
sub set_name
{
my ($self, $name) = @_;
$self->{'name'} = $name;
}
=head2 get_name()
Returns the name for identifying this table in HTML
=cut
sub get_name
{
my ($self) = @_;
if (defined($self->{'name'})) {
return $self->{'name'};
}
elsif ($self->{'form'}) {
my $secs = $self->{'form'}->{'sections'};
for(my $i=0; $i<@$secs; $i++) {
return "table".$i if ($secs->[$i] eq $self);
}
}
return "table";
}
sub set_headings
{
my ($self, $headings) = @_;
$self->{'headings'} = $headings;
}
sub get_headings
{
my ($self) = @_;
return $self->{'headings'};
}
=head2 set_selector(column, input)
Takes a WebminUI::Checkboxes or WebminUI::Radios object, and uses it to add checkboxes
in the specified column.
=cut
sub set_selector
{
my ($self, $col, $input) = @_;
$self->{'selectcolumn'} = $col;
$self->{'selectinput'} = $input;
$input->set_form($form);
}
=head2 get_selector()
Returns the UI element used for selecting rows
=cut
sub get_selector
{
my ($self) = @_;
return wantarray ? ( $self->{'selectinput'}, $self->{'selectcolumn'} )
: $self->{'selectinput'};
}
=head2 set_widths(&widths)
Given an array reference of widths (like 50 or 20%), uses them for the columns
in the table.
=cut
sub set_widths
{
my ($self, $widths) = @_;
$self->{'widths'} = $widths;
}
=head2 set_width([number|number%])
Sets the width of this entire table. Can be called with 100%, 500 or undef to use
the minimum possible width.
=cut
sub set_width
{
my ($self, $width) = @_;
$self->{'width'} = $width;
}
=head2 set_aligns(&aligns)
Given an array reference of horizontal alignments (like left or right), uses them
for the columns in the table.
=cut
sub set_aligns
{
my ($self, $aligns) = @_;
$self->{'aligns'} = $aligns;
}
=head2 validate()
Validates all inputs, and returns a list of error messages
=cut
sub validate
{
my ($self) = @_;
my $seli = $self->{'selectinput'};
my @errs;
if ($seli) {
push(@errs, map { [ $seli->get_name(), $_ ] } $seli->validate());
}
foreach my $i ($self->list_inputs()) {
foreach my $e ($i->validate()) {
push(@errs, [ $i->get_name(), $e ]);
}
}
return @errs;
}
=head2 get_value(input-name)
Returns the value of the input with the given name.
=cut
sub get_value
{
my ($self, $name) = @_;
if ($self->{'selectinput'} && $self->{'selectinput'}->get_name() eq $name) {
return $self->{'selectinput'}->get_value();
}
foreach my $i ($self->list_inputs()) {
if ($i->get_name() eq $name) {
return $i->get_value();
}
}
return undef;
}
=head2 list_inputs()
Returns all inputs in all form sections
=cut
sub list_inputs
{
my ($self) = @_;
my @rv = @{$self->{'inputs'}};
push(@rv, $self->{'selectinput'}) if ($self->{'selectinput'});
return @rv;
}
=head2 set_searchmax(num, [message])
Sets the maximum number of table rows to display before showing a search form
=cut
sub set_searchmax
{
my ($self, $searchmax, $searchmsg) = @_;
$self->{'searchmax'} = $searchmax;
$self->{'searchmsg'} = $searchmsg;
}
sub get_searchmax
{
my ($self) = @_;
return $self->{'searchmax'};
}
sub get_searchmsg
{
my ($self) = @_;
return $self->{'searchmsg'};
}
=head2 add_link(link, message)
Adds a link to the table, for example for adding a new entry
=cut
sub add_link
{
my ($self, $link, $msg) = @_;
push(@{$self->{'links'}}, [ $link, $msg ]);
}
=head2 add_input(input)
Adds some input to be displayed at the bottom of the table
=cut
sub add_input
{
my ($self, $input) = @_;
push(@{$self->{'inputs'}}, $input);
$input->set_form($self->{'form'});
}
=head2 set_emptymsg(message)
Sets the message to display when the table is empty
=cut
sub set_emptymsg
{
my ($self, $emptymsg) = @_;
$self->{'emptymsg'} = $emptymsg;
}
=head2 set_heading(text)
Sets the heading text to appear above the table
=cut
sub set_heading
{
my ($self, $heading) = @_;
$self->{'heading'} = $heading;
}
sub get_heading
{
my ($self) = @_;
return $self->{'heading'};
}
=head2 set_pagesize(pagesize)
Sets the size of a page. Set to 0 to turn off completely.
=cut
sub set_pagesize
{
my ($self, $pagesize) = @_;
$self->{'pagesize'} = $pagesize;
}
=head2 get_pagesize()
Returns the size of a page, or 0 if paging is turned off totally
=cut
sub get_pagesize
{
my ($self) = @_;
return $self->{'pagesize'};
}
sub get_pagepos
{
my ($self) = @_;
my $in = $self->{'form'} ? $self->{'form'}->{'in'} : undef;
my $name = $self->get_name();
if ($in && defined($in->{"ui_pagepos_".$name})) {
return ( $in->{"ui_pagepos_".$name} );
}
else {
return ( $self->{'pagepos'} );
}
}
=head2 make_url(sortcol, sortdir, paging, page, [no-searchargs], [no-pagearg])
Returns a link to this table's page, with the defaults for the various state
fields overridden by the parameters (where defined)
=cut
sub make_url
{
my ($self, $newsortcol, $newsortdir, $newpaging, $newpagepos,
$nosearch, $nopage) = @_;
my ($sortcol, $sortdir) = $self->get_sortcolumn();
$sortcol = $newsortcol if (defined($newsortcol));
$sortdir = $newsortdir if (defined($newsortdir));
my $paging = $self->get_paging();
$paging = $newpaging if (defined($newpaging));
my $pagepos = $self->get_pagepos();
$pagepos = $newpagepos if (defined($newpagepos));
my $thisurl = $self->{'form'}->{'page'}->get_myurl();
my $name = $self->get_name();
$thisurl .= $thisurl =~ /\?/ ? "&" : "?";
my $in = $self->{'form'}->{'in'};
return "${thisurl}ui_sortcolumn_${name}=$sortcol".
"&ui_sortdir_${name}=$sortdir".
"&ui_paging_${name}=$paging".
($nopage ? "" : "&ui_pagepos_${name}=$pagepos").
($nosearch ? "" : "&ui_searchfor_${name}=".
&urlize($in->{"ui_searchfor_${name}"}).
"&ui_searchcol_${name}=".
&urlize($in->{"ui_searchcol_${name}"}));
}
1;

View File

@@ -1,92 +0,0 @@
package WebminUI::TableAction;
use WebminCore;
=head2 new WebminUI::TableAction(cgi, label, &args, disabled)
An object of this class can be added to a table or properties object to create
a link or action button of some kind.
=cut
sub new
{
if (defined(&WebminUI::Theme::TableAction::new) &&
caller() !~ /WebminUI::Theme::TableAction/) {
return new WebminUI::Theme::TableAction(@_[1..$#_]);
}
my ($self, $cgi, $value, $args, $disabled) = @_;
$self = { };
bless($self);
$self->set_value($value);
$self->set_cgi($cgi);
$self->set_args($args) if (defined($args));
$self->set_disabled($disabled) if (defined($disabled));
return $self;
}
sub html
{
my ($self) = @_;
my $rv;
if ($self->get_disabled()) {
$rv .= "<u><i>".$self->get_value()."</i></u>";
}
else {
my $link = $self->get_cgi();
my $i = 0;
foreach my $a (@{$self->get_args()}) {
$link .= ($i++ ? "&" : "?");
$link .= &urlize($a->[0])."=".&urlize($a->[1]);
}
$rv .= "<a href='$link'>".$self->get_value()."</a>";
}
return $rv;
}
sub set_value
{
my ($self, $value) = @_;
$self->{'value'} = $value;
}
sub get_value
{
my ($self) = @_;
return $self->{'value'};
}
sub set_cgi
{
my ($self, $cgi) = @_;
$self->{'cgi'} = $cgi;
}
sub get_cgi
{
my ($self) = @_;
return $self->{'cgi'};
}
sub set_args
{
my ($self, $args) = @_;
$self->{'args'} = $args;
}
sub get_args
{
my ($self) = @_;
return $self->{'args'};
}
sub set_disabled
{
my ($self, $disabled) = @_;
$self->{'disabled'} = $disabled;
}
sub get_disabled
{
my ($self) = @_;
return $self->{'disabled'};
}
1;

View File

@@ -1,142 +0,0 @@
package WebminUI::Tabs;
use WebminCore;
=head2 new WebminUI::Tabs([&tabs])
Displayed at the top of a page, to allow selection of various pages
=cut
sub new
{
my ($self, $tabs) = @_;
if (defined(&WebminUI::Theme::Tabs::new)) {
return new WebminUI::Theme::Tabs(@_[1..$#_]);
}
$self = { 'tabs' => [ ],
'tab' => 0 };
bless($self);
$self->set_tabs($tabs) if (defined($tabs));
return $self;
}
=head2 add_tab(name, link)
=cut
sub add_tab
{
my ($self, $name, $link) = @_;
push(@{$self->{'tabs'}}, [ $name, $link ]);
}
=head2 html()
Returns the HTML for the top of the page
=cut
sub top_html
{
my ($self) = @_;
my $rv;
$rv .= "<table border=0 cellpadding=0 cellspacing=0 width=100% height=20><tr>";
$rv .= "<td valign=bottom>";
$rv .= "<table border=0 cellpadding=0 cellspacing=0 height=20><tr>";
my $i = 0;
my ($high, $low) = ("#cccccc", "#9999ff");
my ($lowlc, $lowrc) = ( "/images/lc1.gif", "/images/rc1.gif" );
my ($highlc, $highrc) = ( "/images/lc2.gif", "/images/rc2.gif" );
foreach my $t (@{$self->get_tabs()}) {
if ($i == $self->get_tab()) {
# This is the selected tab
$rv .= "<td valign=top bgcolor=$high>".
"<img src=$highlc alt=\"\"></td>";
if ($self->get_link()) {
# Link
$rv .= "<td bgcolor=$high>&nbsp;".
"<a href=$t->[1]><b>$t->[0]</b></a>&nbsp;</td>";
}
else {
# Don't link
$rv .= "<td bgcolor=$high>&nbsp;<b>$t->[0]</b>&nbsp;</td>";
}
$rv .= "<td valign=top bgcolor=$high>".
"<img src=$highrc alt=\"\"></td>\n";
}
else {
# Not selected
$rv .= "<td valign=top bgcolor=$low>".
"<img src=$lowlc alt=\"\"></td>";
$rv .= "<td bgcolor=$low>&nbsp;".
"<a href=$t->[1]><b>$t->[0]</b></a>&nbsp;</td>";
$rv .= "<td valign=top bgcolor=$low>".
"<img src=$lowrc alt=\"\"></td>\n";
}
$i++;
if ($self->{'wrap'} && $i%$self->{'wrap'} == 0) {
# New row
$rv .= "</tr><tr>";
}
}
$rv .= "</tr></table></td>\n";
$rv .= "</tr></table>\n";
$rv .= "<table border=1 cellpadding=10 cellspacing=0 width=100%><tr><td>\n";
return $rv;
}
=head2 bottom_html()
Returns the HTML for the bottom of the page
=cut
sub bottom_html
{
my ($self) = @_;
my $rv = "</td></tr></table>\n";
return $rv;
}
=head2 set_tab(number|link)
Sets the tab that is currently highlighted
=cut
sub set_tab
{
my ($self, $tab) = @_;
if ($tab =~ /^\d+$/) {
$self->{'tab'} = $tab;
}
else {
for(my $i=0; $i<@{$self->{'tabs'}}; $i++) {
if ($self->{'tabs'}->[$i]->[1] eq $tab) {
$self->{'tab'} = $i;
}
}
}
}
sub get_tab
{
my ($self) = @_;
return $self->{'tab'};
}
=head2 set_link(link)
If called with a non-zero parameter, even the highlighted tab will be a link
=cut
sub set_link
{
my ($self, $link) = @_;
$self->{'link'} = $link;
}
sub get_link
{
my ($self) = @_;
return $self->{'link'};
}
sub set_tabs
{
my ($self, $tabs) = @_;
$self->{'tabs'} = $tabs;
}
sub get_tabs
{
my ($self) = @_;
return $self->{'tabs'};
}
1;

View File

@@ -1,122 +0,0 @@
package WebminUI::Textarea;
use WebminUI::Input;
use WebminCore;
@ISA = ( "WebminUI::Input" );
=head2 new WebminUI::Textarea(name, value, rows, cols, [wrap], [disabled])
Create a new text box, with the given size
=cut
sub new
{
if (defined(&WebminUI::Theme::Textarea::new)) {
return new WebminUI::Theme::Textarea(@_[1..$#_]);
}
my ($self, $name, $value, $rows, $cols, $wrap, $disabled) = @_;
$self = { };
bless($self);
$self->set_name($name);
$self->set_value($value);
$self->set_rows($rows);
$self->set_cols($cols);
$self->set_disabled($disabled);
return $self;
}
=head2 html()
Returns the HTML for this text area
=cut
sub html
{
my ($self) = @_;
return &ui_textarea($self->get_name(), $self->get_value(),
$self->get_rows(), $self->get_cols(),
$self->get_wrap(), $self->get_disabled());
}
sub set_rows
{
my ($self, $rows) = @_;
$self->{'rows'} = $rows;
}
sub get_rows
{
my ($self) = @_;
return $self->{'rows'};
}
sub set_cols
{
my ($self, $cols) = @_;
$self->{'cols'} = $cols;
}
sub get_cols
{
my ($self) = @_;
return $self->{'cols'};
}
sub set_wrap
{
my ($self, $wrap) = @_;
$self->{'wrap'} = $wrap;
}
sub get_wrap
{
my ($self) = @_;
return $self->{'wrap'};
}
sub set_validation_func
{
my ($self, $func) = @_;
$self->{'validation_func'} = $func;
}
=head2 set_validation_regexp(regexp, message)
=cut
sub set_validation_regexp
{
my ($self, $regexp, $message) = @_;
$self->{'validation_regexp'} = $regexp;
$self->{'validation_message'} = $message;
}
=head2 validate()
Returns a list of error messages for this field
=cut
sub validate
{
my ($self) = @_;
my $value = $self->get_value();
if ($self->{'mandatory'} && $value eq '') {
return ( $self->{'mandmesg'} || $text{'ui_mandatory'} );
}
if ($self->{'validation_func'}) {
my $err = &{$self->{'validation_func'}}($value, $self->{'name'},
$self->{'form'});
return ( $err ) if ($err);
}
if ($self->{'validation_regexp'}) {
if ($value !~ /$self->{'validation_regexp'}/) {
return ( $self->{'validation_message'} );
}
}
return ( );
}
=head2 get_value()
Returns the value, without any \r characters
=cut
sub get_value
{
my ($self) = @_;
my $rv = WebminUI::Input::get_value($self);
$rv =~ s/\r//g;
return $rv;
}
1;

View File

@@ -1,80 +0,0 @@
package WebminUI::Textbox;
use WebminUI::Input;
use WebminCore;
@ISA = ( "WebminUI::Input" );
=head2 new WebminUI::Textbox(name, value, [size], [disabled])
Create a new text input field
=cut
sub new
{
if (defined(&WebminUI::Theme::Textbox::new)) {
return new WebminUI::Theme::Textbox(@_[1..$#_]);
}
my ($self, $name, $value, $size, $disabled) = @_;
$self = { 'size' => 30 };
bless($self);
$self->{'name'} = $name;
$self->{'value'} = $value;
$self->{'size'} = $size if ($size);
$self->set_disabled($disabled) if (defined($disabled));
return $self;
}
=head2 html()
Returns the HTML for this text input
=cut
sub html
{
my ($self) = @_;
return &ui_textbox($self->get_name(), $self->get_value(),
$self->{'size'},
$self->{'$disabled'});
}
sub set_size
{
my ($self, $size) = @_;
$self->{'size'} = $size;
}
sub set_validation_func
{
my ($self, $func) = @_;
$self->{'validation_func'} = $func;
}
=head2 set_validation_regexp(regexp, message)
=cut
sub set_validation_regexp
{
my ($self, $regexp, $message) = @_;
$self->{'validation_regexp'} = $regexp;
$self->{'validation_message'} = $message;
}
=head2 validate()
Returns a list of error messages for this field
=cut
sub validate
{
my ($self) = @_;
my $value = $self->get_value();
if ($self->{'mandatory'} && $value eq '') {
return ( $self->{'mandmesg'} || $text{'ui_mandatory'} );
}
if ($self->{'validation_func'}) {
my $err = &{$self->{'validation_func'}}($value, $self->{'name'},
$self->{'form'});
return ( $err ) if ($err);
}
if ($self->{'validation_regexp'}) {
if ($value !~ /$self->{'validation_regexp'}/) {
return ( $self->{'validation_message'} );
}
}
return ( );
}
1;

View File

@@ -1,168 +0,0 @@
package WebminUI::Time;
use WebminUI::Input;
use Time::Local;
use WebminCore;
@ISA = ( "WebminUI::Input" );
=head2 new WebminUI::Time(name, time, [disabled])
Create a new field for selecting a time
=cut
sub new
{
if (defined(&WebminUI::Theme::Time::new)) {
return new WebminUI::Theme::Time(@_[1..$#_]);
}
my ($self, $name, $value, $disabled) = @_;
bless($self = { });
$self->set_name($name);
$self->set_value($value);
$self->set_disabled($disabled) if (defined($disabled));
return $self;
}
=head2 html()
Returns the HTML for the time chooser
=cut
sub html
{
my ($self) = @_;
my $rv;
my $val = $self->get_value();
my $hour = ($val/3600) % 24;
my $min = ($val/60) % 60;
my $sec = ($val/1) % 60;
my $name = $self->get_name();
$rv .= &ui_textbox("hour_".$name, pad2($hour), 2,$self->get_disabled()).":".
&ui_textbox("min_".$name, pad2($min), 2, $self->get_disabled()).":".
&ui_textbox("sec_".$name, pad2($sec), 2, $self->get_disabled());
return $rv;
}
sub pad2
{
return $_[0] < 10 ? "0".$_[0] : $_[0];
}
sub set_value
{
my ($self, $value) = @_;
$self->{'value'} = timegm(localtime($value));
}
=head2 get_value()
Returns the date as a Unix time number (for 1st jan 1970)
=cut
sub get_value
{
my ($self) = @_;
my $in = $self->{'form'} ? $self->{'form'}->{'in'} : undef;
if ($in && defined($in->{"hour_".$self->{'name'}})) {
my $rv = $self->to_time($in);
return defined($rv) ? $rv : $self->{'value'};
}
elsif ($in && defined($in->{"ui_value_".$self->{'name'}})) {
return $in->{"ui_value_".$self->{'name'}};
}
else {
return $self->{'value'};
}
}
sub to_time
{
my ($self, $in) = @_;
my $hour = $in->{"hour_".$self->{'name'}};
return undef if ($hour !~ /^\d+$/ || $hour < 0 || $hour > 23);
my $min = $in->{"min_".$self->{'name'}};
return undef if ($min !~ /^\d+$/ || $min < 0 || $min > 59);
my $sec = $in->{"sec_".$self->{'name'}};
return undef if ($sec !~ /^\d+$/ || $sec < 0 || $sec > 59);
return $hour*60*60 + $min*60 + $sec;
}
sub set_validation_func
{
my ($self, $func) = @_;
$self->{'validation_func'} = $func;
}
=head2 validate()
Ensures that the date is valid
=cut
sub validate
{
my ($self) = @_;
my $tm = $self->to_time($self->{'form'}->{'in'});
if (!defined($tm)) {
return ( $text{'ui_etime'} );
}
if ($self->{'validation_func'}) {
my $err = &{$self->{'validation_func'}}($self->get_value(),
$self->{'name'},
$self->{'form'});
return ( $err ) if ($err);
}
return ( );
}
=head2 set_auto(auto?)
If set to 1, the time will be automatically incremented by Javascript
=cut
sub set_auto
{
my ($self, $auto) = @_;
$self->{'auto'} = $auto;
if ($auto) {
# XXX incorrect!!
my $formno = $self->{'form'}->get_formno();
$self->{'form'}->add_onload("F=[0]; timeInit(F); setTimeout(\"timeUpdate(F)\", 5000)");
my $as = $autoscript;
$as =~ s/NAME/$self->{'name'}/g;
$self->{'form'}->add_script($as);
}
}
$autoscript = <<EOF;
function timeInit(F) {
secs = new Array();
mins = new Array();
hours = new Array();
for(i=0; i<F.length; i++){
secs[i] = document.forms[F[i]].sec_NAME;
mins[i] = document.forms[F[i]].min_NAME;
hours[i] = document.forms[F[i]].hour_NAME;
}
}
function timeUpdate(F) {
for(i=0; i<F.length; i++){
s = parseInt(secs[i].value);
s = s ? s : 0;
s = s+5;
if( s>59 ){
s -= 60;
m = parseInt(mins[i].value);
m= m ? m : 0;
m+=1;
if( m>59 ){
m -= 60;
h = parseInt(hours[i].value);
h = h ? h : 0;
h+=1;
if( h>23 ){
h -= 24;
}
hours[i].value = packNum(h);
}
mins[i].value = packNum(m);
}
secs[i].value = packNum(s);
}
setTimeout('timeUpdate(F)', 5000);
}
function packNum(t) {
return (t < 10 ? '0'+t : t);
}
EOF
1;

View File

@@ -1,101 +0,0 @@
package WebminUI::TitleList;
use WebminCore;
=head2 new WebminUI::TitleList(title, &links, [alt-text])
Generates a title with a list of links under it
=cut
sub new
{
my ($self, $title, $links, $alt) = @_;
if (defined(&WebminUI::Theme::TitleList::new)) {
return new WebminUI::Theme::TitleList(@_[1..$#_]);
}
$self = { };
bless($self);
$self->set_title($title);
$self->set_links($links);
$self->set_alt($alt) if (defined($alt));
return $self;
}
=head2 html()
Returns the list
=cut
sub html
{
my ($self) = @_;
my $rv;
if (defined(&ui_subheading)) {
$rv .= &ui_subheading($self->get_title());
}
else {
$rv .= "<h3>".$self->get_title()."</h3>\n";
}
$rv .= "<hr>\n";
foreach my $l (@{$self->get_links()}) {
if ($l->[1]) {
$rv .= "<a href='$l->[1]'>$l->[0]</a><br>\n";
}
else {
$rv .= $l->[0]."<br>\n";
}
}
return $rv;
}
sub set_title
{
my ($self, $title) = @_;
$self->{'title'} = $title;
}
sub get_title
{
my ($self) = @_;
return $self->{'title'};
}
sub set_links
{
my ($self, $links) = @_;
$self->{'links'} = $links;
}
sub get_links
{
my ($self) = @_;
return $self->{'links'};
}
sub set_alt
{
my ($self, $alt) = @_;
$self->{'alt'} = $alt;
}
sub get_alt
{
my ($self) = @_;
return $self->{'alt'};
}
=head2 add_link(name, link)
Adds a link to be displayed in the list
=cut
sub add_link
{
my ($self, $name, $link) = @_;
push(@{$self->{'links'}}, [ $name, $link ]);
}
=head2 set_page(WebminUI::Page)
Called when this menu is added to a page
=cut
sub set_page
{
my ($self, $page) = @_;
$self->{'page'} = $page;
}
1;

View File

@@ -1,77 +0,0 @@
package WebminUI::Upload;
use WebminUI::Input;
use WebminCore;
@ISA = ( "WebminUI::Input" );
=head2 new WebminUI::Upload(name, [size])
Create a new file upload field
=cut
sub new
{
if (defined(&WebminUI::Theme::Upload::new)) {
return new WebminUI::Theme::Upload(@_[1..$#_]);
}
my ($self, $name, $size) = @_;
$self = { 'size' => 30 };
bless($self);
$self->{'name'} = $name;
$self->{'size'} = $size if ($size);
return $self;
}
=head2 html()
Returns the HTML for this text input
=cut
sub html
{
my ($self) = @_;
return &ui_upload($self->get_name(), $self->{'size'},
$self->{'$disabled'});
}
sub set_size
{
my ($self, $size) = @_;
$self->{'size'} = $size;
}
sub set_validation_func
{
my ($self, $func) = @_;
$self->{'validation_func'} = $func;
}
=head2 set_validation_regexp(regexp, message)
=cut
sub set_validation_regexp
{
my ($self, $regexp, $message) = @_;
$self->{'validation_regexp'} = $regexp;
$self->{'validation_message'} = $message;
}
=head2 validate()
Returns a list of error messages for this field
=cut
sub validate
{
my ($self) = @_;
my $value = $self->get_value();
if ($self->{'mandatory'} && $value eq '') {
return ( $self->{'mandmesg'} || $text{'ui_mandatory'} );
}
if ($self->{'validation_func'}) {
my $err = &{$self->{'validation_func'}}($value, $self->{'name'},
$self->{'in'});
return ( $err ) if ($err);
}
if ($self->{'validation_regexp'}) {
if ($value !~ /$self->{'validation_regexp'}/) {
return ( $self->{'validation_message'} );
}
}
return ( );
}
1;

View File

@@ -1,57 +0,0 @@
package WebminUI::User;
use WebminUI::Textbox;
use WebminCore;
@ISA = ( "WebminUI::Textbox" );
=head2 new WebminUI::User(name, value, [multiple], [disabled])
A text box for entering or selecting one or many Unix usernames
=cut
sub new
{
if (defined(&WebminUI::Theme::User::new)) {
return new WebminUI::Theme::User(@_[1..$#_]);
}
my ($self, $name, $value, $multiple, $disabled) = @_;
$self = new WebminUI::Textbox($name, $value, $multiple ? 40 : 15, $disabled);
bless($self);
$self->set_multiple($multiple);
return $self;
}
=head2 html()
Returns the HTML for this user input
=cut
sub html
{
my ($self) = @_;
my $rv = WebminUI::Textbox::html($self);
my $name = $self->get_name();
my $multiple = $self->get_multiple();
local $w = $multiple ? 500 : 300;
$rv .= "&nbsp;<input type=button name=${name}_button onClick='ifield = form.$name; chooser = window.open(\"@{[&get_webprefix()]}/user_chooser.cgi?multi=$multiple&user=\"+escape(ifield.value), \"chooser\", \"toolbar=no,menubar=no,scrollbars=yes,width=$w,height=200\"); chooser.ifield = ifield; window.ifield = ifield' value=\"...\">\n";
return $rv;
}
sub set_multiple
{
my ($self, $multiple) = @_;
$self->{'multiple'} = $multiple;
}
sub get_multiple
{
my ($self) = @_;
return $self->{'multiple'};
}
=head2 get_input_names()
Returns the actual names of all HTML elements that make up this input
=cut
sub get_input_names
{
my ($self) = @_;
return ( $self->{'name'}, $self->{'name'}."_button" );
}
1;

Binary file not shown.

View File

@@ -1,68 +0,0 @@
---- Changes since 1.130 ----
Improved the code for finding the openssl program for generating certificates.
Added the ability to restrict allowed Unix users who can login as Webmin users.
---- Changes since 1.150 ----
Added a Module Config option for an alternate user and group list display, which takes up less space on systems with a large number of Webmin users.
---- Changes since 1.160 ----
When editing a Webmin user or group, modules are now displayed under category headings.
---- Changes since 1.170 ----
Added a button to the user editing page for switching the current Webmin login to that user, without needing to know his password.
---- Changes since 1.180 ----
Added module hiding button to the group page, as in the user page.
---- Changes since 1.190 ----
Users and groups can now be backed up using the Backup Configuration Files module.
---- Changes since 1.200 ----
Users and groups with the same name can now be created. Internally, Webmin now uses .gacl files instead of .acl to store group ACL settings.
---- Changes since 1.210 ----
Enhanced the Unix User Authentication page to allow different access to be granted to different users and group members.
---- Changes since 1.220 ----
Users can now be temporarily locked without their passwords being lost.
---- Changes since 1.230 ----
CIDR-format network addresses can now be used in the IP access control field.
The inactivity logout time can now be set on a per-Webmin user basis, rather than the global setting in the Webmin Configuration module applying to all users.
---- Changes since 1.250 ----
Added checkboxes and buttons on the module's main page for deleting several users and groups at once.
Webmin users created and managed by other modules can be marked as non-editable, to prevent them from being edited when any changes would be over-written.
The IP addresses of connected users are displayed on the sessions page.
---- Changes since 1.260 ----
Added the ability to control which hours of the day and days of the week a Webmin user can login.
---- Changes since 1.290 ----
Added an option on the Unix User Authentication page to allow Unix users who can sudo to root to login to Webmin with root privileges.
Added an option to the Unix User Authentication that lets users who pass PAM validation but have no Unix or Webmin account login as a selected Webmin user.
---- Changes since 1.330 ----
When a group is deleted, sub-groups are also removed, and the group is removed from any parents.
---- Changes since 1.360 ----
Added the Password Restrictions page, for configuring password quality and change time settings.
Re-designed the Edit User page to use the new Webmin UI library, and move lesser-used fields into collapsible sections.
Webmin users can have a real name, which can be any text you like.
---- Changes since 1.370 ----
When editing a user who inherits some modules and ACL settings from a group, they can no longer be de-selected or edited.
---- Changes since 1.380 ----
Fixed a bug that prevented cloning from copying detailed access control settings, and ensured that other user attributes like the group, theme, language and access times are cloned too.
Added back the ability to edit the global ACL for groups.
---- Changes since 1.390 ----
Updated the user interface to use the Webmin UI library.
---- Changes since 1.400 ----
Fixed the display of modules granted to groups.
Added a per-user option to opt out of forced password changes after a certain number of days.
A human-readable description of the password restrictions regular expression can be entered, for use in error messages.
Webmin users can now be given temporary passwords, which they are forced to change at the next login. Thanks to GE Medical Systems for supporting this feature.
---- Changes since 1.410 ----
Added an API function to allow easier anonymous module access setup.
---- Changes since 1.440 ----
Removed the Hide Unused button and associated functionality, as un-available modules are already automatically hidden in the Un-used Modules category.
Moved the 'global ACL' fields to the Edit User and Edit Group pages, so that restrictions applying to all modules can be more easily found and edited.
Added a per-user option to not grant that user new module permissions when Webmin is upgraded.
If any theme overlays are installed, users' overlays can be selected on the Edit User page.
Converted commands in the module's API file to POD format, and added more details about each function.
---- Changes since 1.520 ----
Added the User and Group Database page, for configuring Webmin to store all new users, groups and access control lists in a MySQL, PostgreSQL or LDAP database. This allows Webmin permissions to be shared between multiple systems.
---- Changes since 1.650 ----
Added support for two-factor authentication using Authy or Google Authenticator.
---- Changes since 1.660 ----
Converted all pages to use the common Webmin UI library for a more consistent interface.
Made all code Perl strict and warnings compliant.
---- Changes since 1.670 ----
Added a button for adding multiple Webmin users to a group.
---- Changes since 1.930 ----
Added support for creating "safe-mode" Webmin users who have access only to modules and permissions that don't grant root access.

File diff suppressed because it is too large Load Diff

View File

@@ -1,87 +0,0 @@
use strict;
use warnings;
no warnings 'redefine';
no warnings 'uninitialized';
do 'acl-lib.pl';
our (%text, %in);
# acl_security_form(&options)
# Output HTML for editing security options for the acl module
sub acl_security_form
{
my ($o) = @_;
print &ui_table_row($text{'acl_users'},
&ui_radio("users_def", $o->{'users'} eq '*' ? 1 :
$o->{'users'} eq '~' ? 2 : 0,
[ [ 1, $text{'acl_uall'} ],
[ 2, $text{'acl_uthis'}."<br>" ],
[ 0, $text{'acl_usel'} ] ])."<br>\n".
&ui_select("users", [ split(/\s+/, $o->{'users'}) ],
[ (map { $_->{'name'} } &list_users()),
(map { [ '_'.$_->{'name'},
&text('acl_gr', $_->{'name'}) ] }
&list_groups()) ],
6, 1));
print &ui_table_row($text{'acl_mods'},
&ui_radio("mode", $o->{'mode'},
[ [ 0, $text{'acl_all'} ],
[ 1, $text{'acl_own'}."<br>" ],
[ 2, $text{'acl_sel'}."<br>" ] ]).
&ui_select("mods", [ split(/\s+/, $o->{'mods'}) ],
[ map { [ $_->{'dir'}, $_->{'desc'} ] }
&list_module_infos() ],
6, 1));
foreach my $f (&list_acl_yesno_fields()) {
print &ui_table_row($text{'acl_'.$f},
&ui_yesno_radio($f, $o->{$f}));
}
print &ui_table_hr();
print &ui_table_row($text{'acl_groups'},
&ui_yesno_radio("groups", $o->{'groups'}));
print &ui_table_row($text{'acl_gassign'},
&ui_radio("gassign_def", $o->{'gassign'} eq '*' ? 1 : 0,
[ [ 1, $text{'acl_gall'} ],
[ 0, $text{'acl_gsel'} ] ])."<br>\n".
&ui_select("gassign", [ split(/\s+/, $o->{'gassign'}) ],
[ map { $_->{'name'} } &list_groups() ],
6, 1));
}
# acl_security_save(&options)
# Parse the form for security options for the acl module
sub acl_security_save
{
my ($o) = @_;
if ($in{'users_def'} == 1) {
$o->{'users'} = '*';
}
elsif ($in{'users_def'} == 2) {
$o->{'users'} = '~';
}
else {
$o->{'users'} = join(" ", split(/\0/, $in{'users'}));
}
$o->{'mode'} = $in{'mode'};
$o->{'mods'} = $in{'mode'} == 2 ? join(" ", split(/\0/, $in{'mods'}))
: undef;
foreach my $f (&list_acl_yesno_fields()) {
$o->{$f} = $in{$f};
}
$o->{'groups'} = $in{'groups'};
$o->{'gassign'} = $in{'gassign_def'} ? '*' :
join(" ", split(/\0/, $in{'gassign'}));
}
sub list_acl_yesno_fields
{
return ('create', 'delete', 'rename', 'acl', 'cert', 'others', 'chcert',
'lang', 'cats', 'theme', 'ips', 'perms', 'sync', 'unix', 'sessions',
'switch', 'times', 'pass', 'sql');
}

View File

@@ -1,108 +0,0 @@
use strict;
use warnings;
no warnings 'redefine';
no warnings 'uninitialized';
require 'acl-lib.pl';
our ($config_directory, %gconfig);
# backup_config_files()
# Returns files and directories that can be backed up
sub backup_config_files
{
my @rv;
# Add primary user and group files
my %miniserv;
&get_miniserv_config(\%miniserv);
push(@rv, $miniserv{'userfile'});
push(@rv, &acl_filename());
# Add all .acl files for users and groups
foreach my $u (&list_users(), &list_groups()) {
if (!$u->{'proto'}) {
push(@rv, "$config_directory/$u->{'name'}.acl",
glob("$config_directory/*/$u->{'name'}.acl"));
}
}
# Add /etc/webmin/config
&copy_source_dest("$config_directory/config",
"$config_directory/config.aclbackup");
push(@rv, "$config_directory/config.aclbackup");
# Add /etc/webmin/miniserv.conf
&copy_source_dest("$config_directory/miniserv.conf",
"$config_directory/miniserv.conf.aclbackup");
push(@rv, "$config_directory/miniserv.conf.aclbackup");
return @rv;
}
# pre_backup(&files)
# Called before the files are actually read
sub pre_backup
{
return undef;
}
# post_backup(&files)
# Called after the files are actually read
sub post_backup
{
unlink("$config_directory/config.aclbackup");
unlink("$config_directory/miniserv.conf.aclbackup");
return undef;
}
# pre_restore(&files)
# Called before the files are restored from a backup
sub pre_restore
{
# Remove user and group .acl files
foreach my $u (&list_users(), &list_groups()) {
if (!$u->{'proto'}) {
unlink("$config_directory/$u->{'name'}.acl",
glob("$config_directory/*/$u->{'name'}.acl"));
}
}
return undef;
}
# post_restore(&files)
# Called after the files are restored from a backup
sub post_restore
{
# Splice global config entries for users into real config
my %aclbackup;
&read_file("$config_directory/config.aclbackup", \%aclbackup);
unlink("$config_directory/config.aclbackup");
foreach my $k (keys %gconfig) {
delete($gconfig{$k}) if ($k =~ /^(lang_|notabs_|theme_|ownmods_)/);
}
foreach my $k (keys %aclbackup) {
$gconfig{$k} = $aclbackup{$k} if ($k =~ /^(lang_|notabs_|theme_|ownmods_)/);
}
&write_file("$config_directory/config", \%gconfig);
# Splice miniserv.conf entries for users and password restrictions into
# real config
%aclbackup = ( );
&read_file("$config_directory/miniserv.conf.aclbackup", \%aclbackup);
unlink("$config_directory/miniserv.conf.aclbackup");
my %miniserv;
&get_miniserv_config(\%miniserv);
foreach my $k (keys %miniserv) {
delete($miniserv{$k}) if ($k =~ /^(preroot_|pass_)/);
}
foreach my $k (keys %aclbackup) {
$miniserv{$k} = $aclbackup{$k} if ($k =~ /^(preroot_|pass_)/);
}
&put_miniserv_config(\%miniserv);
&restart_miniserv();
return undef;
}
1;

View File

@@ -1,56 +0,0 @@
#!/usr/local/bin/perl
# cert_form.cgi
use strict;
use warnings;
no warnings 'redefine';
no warnings 'uninitialized';
require './acl-lib.pl';
our (%in, %text, %config, %access);
&ui_print_header(undef, $text{'cert_title'}, "", undef, undef, undef, undef,
undef, undef, "language=VBSCRIPT onload='postLoad()'");
eval "use Net::SSLeay";
print "<p>$text{'cert_msg'}<p>\n";
if ($ENV{'SSL_USER'}) {
print &text('cert_already', "<tt>$ENV{'SSL_USER'}</tt>"),
"<p>\n";
}
if ($ENV{'HTTP_USER_AGENT'} =~ /Mozilla/i) {
# Output a form that works for netscape and mozilla
print &ui_form_start("cert_issue.cgi", "post");
print &ui_table_start($text{'cert_header'}, undef, 2);
print &ui_table_row($text{'cert_cn'},
&ui_textbox("commonName", undef, 30));
print &ui_table_row($text{'cert_email'},
&ui_textbox("emailAddress", undef, 30));
print &ui_table_row($text{'cert_ou'},
&ui_textbox("organizationalUnitName", undef, 30));
print &ui_table_row($text{'cert_o'},
&ui_textbox("organizationName", undef, 30));
print &ui_table_row($text{'cert_sp'},
&ui_textbox("stateOrProvinceName", undef, 30));
print &ui_table_row($text{'cert_c'},
&ui_textbox("countryName", undef, 30));
print &ui_table_row($text{'cert_key'},
"<keygen name=key>");
print &ui_table_end();
print &ui_form_end([ [ undef, $text{'cert_issue'} ] ]);
}
else {
# Unsupported browser!
print "<p><b>",&text('cert_ebrowser',
"<tt>$ENV{'HTTP_USER_AGENT'}</tt>"),"</b><p>\n";
}
&ui_print_footer("", $text{'index_return'});

View File

@@ -1,58 +0,0 @@
#!/usr/local/bin/perl
# cert_issue.cgi
use strict;
use warnings;
no warnings 'redefine';
no warnings 'uninitialized';
require './acl-lib.pl';
our (%in, %text, %config, %access, $module_config_directory, $base_remote_user);
&ReadParse();
&error_setup($text{'cert_err'});
$in{'key'} || &error($text{'cert_ekey'});
my %miniserv;
&get_miniserv_config(\%miniserv);
# Create the new key
my $temp1 = &transname();
my $temp2 = &tempname();
my $fh = "IN";
&open_tempfile($fh, ">$temp1");
foreach my $k ("emailAddress", "organizationalUnitName", "organizationName",
"stateOrProvinceName", "countryName", "commonName") {
&print_tempfile($fh, "$k = $in{$k}\n");
}
$in{'key'} =~ s/\s//g;
&print_tempfile($fh, "SPKAC = $in{'key'}\n");
&close_tempfile($fh);
my $cmd = &get_ssleay();
my $ssleay = &backquote_logged("$cmd ca -spkac $temp1 -out $temp2 -config $module_config_directory/openssl.cnf -days 1095 2>&1");
&unlink_file($temp1);
if ($?) {
&error("<pre>$ssleay</pre>");
}
else {
# Display status and redirect to actual cert file
&ui_print_unbuffered_header(undef, $text{'cert_title'}, "");
print &text('cert_done', $in{'commonName'}),"<p>\n";
print &text('cert_pickup', "cert_output.cgi?file=$temp2"),"<p>\n";
&ui_print_footer("", $text{'index_return'});
# Update the Webmin user
my ($me) = grep { $_->{'name'} eq $base_remote_user } &list_users();
$me || &error($text{'edit_egone'});
$me->{'cert'} = "/C=$in{'countryName'}".
"/ST=$in{'stateOrProvinceName'}".
"/O=$in{'organizationName'}".
"/OU=$in{'organizationalUnitName'}".
"/CN=$in{'commonName'}".
"/Email=$in{'emailAddress'}";
&modify_user($me->{'name'}, $me);
sleep(1);
&restart_miniserv();
&webmin_log("cert", undef, $base_remote_user, \%in);
}

View File

@@ -1,19 +0,0 @@
#!/usr/local/bin/perl
# cert_issue.cgi
use strict;
use warnings;
no warnings 'redefine';
no warnings 'uninitialized';
require './acl-lib.pl';
our (%in, %text, %config, %access);
&ReadParse();
my $tempdir = &tempname();
$tempdir =~ s/\/[^\/]+$//;
&is_under_directory($tempdir, $in{'file'}) ||
&error($text{'cert_etempdir'});
print "Content-type: application/x-x509-user-cert\n\n";
print &read_file_contents($in{'file'});
&unlink_file($in{'file'});

View File

@@ -1,31 +0,0 @@
use strict;
use warnings;
no warnings 'redefine';
no warnings 'uninitialized';
do 'acl-lib.pl';
our (%access);
sub cgi_args
{
my ($cgi) = @_;
if ($cgi eq 'edit_user.cgi') {
my ($u) = grep { &can_edit_user($_->{'name'}) } &list_users();
return $u ? 'user='.&urlize($u->{'name'}) :
$access{'create'} ? '' : 'none';
}
elsif ($cgi eq 'edit_group.cgi') {
my ($u) = grep { &can_edit_group($_->{'name'}) } &list_groups();
return $u ? 'group='.&urlize($u->{'name'}) :
$access{'groups'} ? '' : 'none';
}
elsif ($cgi eq 'edit_acl.cgi') {
my ($u) = grep { &can_edit_user($_->{'name'}) } &list_users();
if ($u && @{$u->{'modules'}}) {
return 'user='.&urlize($u->{'name'}).
'&mod='.$u->{'modules'}->[0];
}
return 'none';
}
return undef;
}

View File

@@ -1,4 +0,0 @@
ssleay=/usr/local/ssl/bin/openssl
select=0
order=0
display=1

View File

@@ -1,3 +0,0 @@
ssleay=/usr/bin/openssl
order=0
display=1

View File

@@ -1,3 +0,0 @@
ssleay=/usr/bin/openssl
order=0
display=1

View File

@@ -1,3 +0,0 @@
ssleay=/usr/bin/openssl
order=0
display=1

View File

@@ -1,3 +0,0 @@
ssleay=/usr/bin/openssl
order=0
display=1

View File

@@ -1,3 +0,0 @@
ssleay=/usr/bin/openssl
order=0
display=1

View File

@@ -1,3 +0,0 @@
ssleay=/usr/sfw/bin/openssl
order=0
display=1

View File

@@ -1,4 +0,0 @@
ssleay=/usr/bin/openssl
select=0
order=0
display=1

View File

@@ -1,5 +0,0 @@
line1=Configurable options,11
display=User and group display mode,1,1-Names only,0-Names and modules
order=Sort users and groups by,1,0-Order in file,1-Name
line2=System configuration,11
ssleay=Path to openssl or ssleay program,3,Automatic

View File

@@ -1,5 +0,0 @@
line1=تكوين الخيارات,11
display=وضع عرض المستخدم والمجموعة,1,1-الأسماء فقط,0-الأسماء والوحدات النمطية
order=فرز المستخدمين والمجموعات حسب,1,0-الطلب في الملف,1-الإ سم
line2=تكوين النظام,11
ssleay=المسار إلى openssl أو برنامج ssleay,3,تلقائي

View File

@@ -1,5 +0,0 @@
line1=Конфигурационни опции,11
display=Режим на показване на потребител и група,1,1-Само имена,0-Имена и модули
order=Подреди юзери и групи по,1,0-подредба във файл,1-име
line2=Системна конфигурация,11
ssleay=Път към openssl или ssleay програма,0

View File

@@ -1,5 +0,0 @@
line1=Opcions configurables,11
display=Forma de mostrar els usuaris i els grups,1,1-Només els noms,0-Noms i mòduls
order=Ordena els usuaris i grups per,1,0-L'ordre del fitxer,1-El nom
line2=Configuració del sistema,11
ssleay=Camí del programa <tt>openssl</tt> o <tt>ssleay</tt>,3,Automàtic

View File

@@ -1,5 +0,0 @@
line1=Možnosti konfigurace,11
display=Mód pro zobrazení uživatele a skupiny,1,1-Pouze jména,0-Jména a moduly
order=Třídit uživatele a skupiny podle,1,0-pořadí v souboru,1-jména
line2=Konfigurace systému,11
ssleay=Cesta k programu openssl nebo ssleay,0

View File

@@ -1,5 +0,0 @@
line1=Konfigurerbare indstillinger,11
display=Bruger og gruppe visnings mode,1,1-Kun navne,0-Navne og moduler
order=Sorter brugere og grupper ved,1.0-Sortering i fil,1-Navn
line2=Systemkonfiguration,11
ssleay=Sti til openssl eller ssleay progarm,3,Automatisk

View File

@@ -1,5 +0,0 @@
line1=Konfigurierbare Optionen,11
display=Benutzer- und Gruppenanzeige,1,1-Nur Namen,0-Namen und Module
order=Sortiere Benutzer und Gruppen nach,1,0-Reihenfolge in Datei,1-Name
line2=Systemkonfiguration,11
ssleay=Pfad zu <tt>openssl</tt> oder <tt>ssleay</tt>,3,Automatisch

View File

@@ -1,5 +0,0 @@
line1=Opciones Configurables,11
display=Modo de mostrar usuario y grupo,1,1-Sólo nombres,0-Nombres y módulos
order=Clasificar usuarios y grupos por,1,0-Orden en archivo,1-Nombre
line2=Configuración de Sistema,11
ssleay=Trayectoria al programa openssl o ssleay,0

View File

@@ -1,5 +0,0 @@
line1=Konfiguragarri diren aukerak, 11
display=Erabiltzaile eta taldea erakusteko modua, 1,1-Izenak soilik, 0-Izenak eta moduluak
order=Ordenatu erabiltzaile eta taldeak,1,0-Fitxategian ordenatu,1-Izena
line2=Sistemaren konfigurazioa,11
ssleay=Openssl edo ssleay programaren helbidea,3,Automatikoa

View File

@@ -1,5 +0,0 @@
line1=گزينه‌هاي پيکربندي,11
display=حالت نمايش کاربران و گروه‌ها,1,1-فقط نامها,0-نامها و پيمانه‌ها
order=مرتب سازي کاربران و گروه‌ها براساس,1,0-ترتيب در پرونده,1-نام
line2=پيکربندي سيستم,11
ssleay=مسير براي openssl يا برنامه ssleay,3,خودکار

View File

@@ -1,5 +0,0 @@
line1=Options configurables,11
display=Mode d'affichage des utilisateurs et des groupes,1,1-Noms seulement,0-Noms et modules
order=Trier les utilisateurs et les groupes par,1,0-Ordre dans le fichier,1-Nom
line2=Configuration du système,11
ssleay=Chemin d'accès au programme openssl ou ssleay,3,Automatique

View File

View File

@@ -1,5 +0,0 @@
line1=Konfigurálható beállítások,11
display=Felhasználó és csoport megjelenítési mód,1,1-Csak a neveket,0-Neveket és modulokat
order=Felhasználók és csoportok rendezése,1,0-A fájl rendezése szerint,1-Név szerint
line2=Rendszer konfiguráció,11
ssleay=Az <code>openssl</code> vagy <code>ssleay</code> program teljes elérési útja,0

View File

@@ -1,5 +0,0 @@
line1=Opzioni configurabili,11
display=Modalità di visualizzazione di utenti e gruppi,1,1-Solo i nomi,0-Nomi e moduli
order=Ordina gli utenti e i gruppi per,1,0-Ordine nel file,1-Nome
line2=Configurazione di sistema,11
ssleay=Percorso al programma openssl o ssleay,3,Automatico

View File

@@ -1,5 +0,0 @@
line1=設定可能なオプション,11
display=ユーザとグループの表示モード,1,1-名前のみ,0-名前とモジュール
order=ユーザとグループのソート順,1,0-ファイル順,1-名前順
line2=システム設定,11
ssleay=opensslプログラムまたはssleayプログラムのパス,3,自動

View File

@@ -1,5 +0,0 @@
line1=가능한 옵션,11
display=유저와 그룹 출력 모드,1,1-이름만,0-이름과 모듈
order=유저와 그룹 정렬,1,0-파일 순,1-이름
line2=시스템 설정,11
ssleay=openssl 또는 ssleay 파일 경로,3,Automatic

View File

@@ -1,5 +0,0 @@
line1=Pilihan konfigurasi,11
display=Mod paparan pengguna dan grup,1,1-Nama sahaja,0-Nama dan modul
order=Tapis pengguna dan grup dengan,1,0-Urutan dalam fail,1-Nama
line2=Konfigurasi sistem,11
ssleay=Lokasi program openssl atau ssleay,3,Automatik

View File

@@ -1,5 +0,0 @@
line1=Instelbare opties,11
display=Gebruiker en groep weergave instelling,1,1-Alleen Namen,0-Namen en modules
order=Sorteer gebruikers en groepen op,1,0-Volgorde in bestand,1-Naam
line2=Systeem configuratie,11
ssleay=Pad naar openssl of ssleay programma,3,Automatisch

View File

@@ -1,5 +0,0 @@
line1=Konfigurerbare innstillinger,11
display=Visningsmodus for bruker og gruppe,1,1-Bare navn,0-Navn og moduler
order=Sorter brukere og grupper etter,1,0-Rekkefølge i filen,1-Navn
line2=System konfigurasjon,11
ssleay=Stien til openssl eller ssleay program,0

View File

@@ -1,5 +0,0 @@
line1=Opcje konfiguracyjne,11
display=Tryb wyświetlania użytkowników i grup,1,1-Tylko nazwy,0-Nazwy i moduły
order=Porządkuj użytkowników i grupy wg,1,0-Kolejności w zbiorze,1-Nazwy
line2=Konfiguracja systemu,11
ssleay=Ścieżka do programu openssl lub ssleay,0

View File

@@ -1,5 +0,0 @@
line1=Opções configuráveis,11
display=Modo de exibição de usuário e grupo, 1, 1-Somente nomes, 0-Nomes e módulos
order=Ordenar usuários e grupos por,1,0-Ordem no arquivo,1-Nome
line2=Configuração do sistema,11
ssleay=Caminho para o programa openssl ou ssleay,0

View File

@@ -1,5 +0,0 @@
line1=Настраиваемые параметры,11
display=Режим отображения пользователей и групп,1,1-Только имена,0-Имена и модули
order=Упорядочивать пользователей и группы по,1,0-Очередности в файле,1-Имени
line2=Системные параметры,11
ssleay=Путь к программе openssl или ssleay,0

View File

@@ -1,5 +0,0 @@
line1=Nastaviteľné možnosti,11
display=Spôsob zobrazenia užívateľov a skupín,1,1-Iba mená,0-Mená a moduly
order=Zoraď užívateľov a skupiny podľa,1,0-Poradia v súbore,1-Mena
line2=Nastavenie Systému,11
ssleay=Cesta k programu openssl alebo ssleay,3,Automatická

View File

@@ -1 +0,0 @@
ssleay=Sökväg till openssl- eller ssleay-program,0

View File

@@ -1,5 +0,0 @@
line1=Yapılandırılabilir seçenekler,11
display=Kullanıcı ve grup görüntüleme biçimi,1,1-Sadece isim,0-İsim ve modüller
order=Kullanıcı ve grupları bu şekilde sırala,1,0-Dosyadaki sırası ile,1-İsim ile
line2=Sistem yapılandırması,11
ssleay=Openssl ya da ssleay programı yolu,3,Otomatik

View File

@@ -1,4 +0,0 @@
line1=Параметри&#44; що настроюються,11
order=Упорядковувати користувачів і групи по,1,0-черговості у файлі,1-імені
line2=Системні параметри,11
ssleay=Шлях до програми openssl чи ssleay,0

View File

@@ -1 +0,0 @@
ssleay=Openssl 或者 Ssleay 程序的路径,0

View File

@@ -1,4 +0,0 @@
line1=組態選項,11
order=排序使用者和全組 依,1,0-檔案內位置,1-名稱
line2=系統組態,11
ssleay=openssl或ssleay程式路徑,0

View File

@@ -1,150 +0,0 @@
#!/usr/local/bin/perl
# convert.cgi
# Convert unix to webmin users
use strict;
use warnings;
no warnings 'redefine';
no warnings 'uninitialized';
require './acl-lib.pl';
our (%in, %text, %config, %access, $config_directory);
&ReadParse();
&error_setup($text{'convert_err'});
$access{'sync'} && $access{'create'} || &error($text{'convert_ecannot'});
&foreign_require("useradmin", "user-lib.pl");
# Validate inputs
my (%users, %nusers, $gid);
if ($access{'gassign'} ne '*') {
my @gcan = split(/\s+/, $access{'gassign'});
&indexof($in{'wgroup'}, @gcan) >= 0 ||
&error($text{'convert_ewgroup2'});
}
if ($in{'conv'} == 1) {
$in{'users'} =~ /\S/ || &error($text{'convert_eusers'});
map { $users{$_}++ } split(/\s+/, $in{'users'});
}
elsif ($in{'conv'} == 2) {
map { $nusers{$_}++ } split(/\s+/, $in{'nusers'});
}
elsif ($in{'conv'} == 3) {
$gid = getgrnam($in{'group'});
defined($gid) || &error($text{'convert_egroup'});
}
elsif ($in{'conv'} == 4) {
$in{'min'} =~ /^\d+$/ || &error($text{'convert_emin'});
$in{'max'} =~ /^\d+$/ || &error($text{'convert_emax'});
}
# Get the group to add to
my $group;
my %exists;
foreach my $g (&list_groups()) {
$group = $g if ($g->{'name'} eq $in{'wgroup'});
$exists{$g->{'name'}}++;
}
$group || &error($text{'convert_ewgroup'});
my (@ginfo, @members);
if ($in{'conv'} == 3) {
# Find secondary members of group
@ginfo = getgrnam($in{'group'});
@members = split(/\s+/, $ginfo[3]);
}
# Build the list of users
my @users;
if ($in{'sync'}) {
# Can just get from getpw* system calls, as password isn't needed
@users = ( );
setpwent();
while(my @uinfo = getpwent()) {
push(@users, { 'user' => $uinfo[0],
'pass' => $uinfo[1],
'uid' => $uinfo[2],
'gid' => $uinfo[3],
'real' => $uinfo[6],
'home' => $uinfo[7],
'shell' => $uinfo[8] });
}
}
else {
# Read /etc/passwd
@users = &useradmin::list_users();
}
# Convert matching users
&ui_print_header(undef, $text{'convert_title'}, "");
print $text{'convert_msg'},"<p>\n";
print &ui_columns_start([ $text{'convert_user'}, $text{'convert_action'} ]);
map { $exists{$_->{'name'}}++ } &list_users();
my ($skipped, $exists, $invalid, $converted) = (0, 0, 0, 0);
foreach my $u (@users) {
my $ok;
if ($in{'conv'} == 0) {
$ok = 1;
}
elsif ($in{'conv'} == 1) {
$ok = $users{$u->{'user'}};
}
elsif ($in{'conv'} == 2) {
$ok = !$nusers{$u->{'user'}};
}
elsif ($in{'conv'} == 3) {
$ok = $u->{'gid'} == $gid ||
&indexof($u->{'user'}, @members) >= 0;
}
elsif ($in{'conv'} == 4) {
$ok = $u->{'uid'} >= $in{'min'} &&
$u->{'uid'} <= $in{'max'};
}
my $msg;
if (!$ok) {
#print &text('convert_skip', $u->{'user'}),"\n";
$msg = undef;
$skipped++;
}
elsif ($exists{$u->{'user'}}) {
$msg = "<i>".&text('convert_exists', $u->{'user'})."</i>";
$exists++;
}
elsif ($u->{'user'} !~ /^[A-z0-9\-\_\.]+$/) {
$msg = "<i>".&text('convert_invalid', $u->{'user'})."</i>";
$invalid++;
}
else {
# Actually add the user
$msg = "<b>".&text('convert_added', $u->{'user'})."</b>";
my $user = { 'name' => $u->{'user'},
'pass' => $in{'sync'} ? 'x' : $u->{'pass'},
'modules' => $group->{'modules'} };
&create_user($user);
foreach my $m (@{$group->{'modules'}}, "") {
my %groupacl;
if (&read_file(
"$config_directory/$m/$in{'wgroup'}.gacl",
\%groupacl)) {
&write_file(
"$config_directory/$m/$u->{'user'}.acl",
\%groupacl);
}
}
push(@{$group->{'members'}}, $u->{'user'});
$exists{$u->{'user'}}++;
$converted++;
}
print &ui_columns_row([ $u->{'user'}, $msg ]) if ($msg);
}
endpwent();
print &ui_columns_end();
# Finish off
&modify_group($group->{'name'}, $group);
&restart_miniserv();
# Print summary
print &text('convert_done', $converted, $invalid, $exists, $skipped),"<p>\n";
&ui_print_footer("", $text{'index_return'});

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