mirror of
https://github.com/webmin/webmin.git
synced 2026-02-05 07:02:14 +00:00
Compare commits
139 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
88aadc1c4a | ||
|
|
404310f230 | ||
|
|
521ede5a3b | ||
|
|
1805d78e05 | ||
|
|
737a51de57 | ||
|
|
18e2a871e7 | ||
|
|
fdc9e6e2d8 | ||
|
|
c28b994534 | ||
|
|
d918c517bd | ||
|
|
c0acf5685a | ||
|
|
71db92eb6e | ||
|
|
d0e0a1c193 | ||
|
|
0f6d15a408 | ||
|
|
95d8b7af06 | ||
|
|
588e25b7da | ||
|
|
a0e89e55a3 | ||
|
|
e81916651b | ||
|
|
bb4e00df03 | ||
|
|
15834e406d | ||
|
|
dea6e79362 | ||
|
|
ecc8be2826 | ||
|
|
a21626bd21 | ||
|
|
ebfb5dbae1 | ||
|
|
defa41f0b3 | ||
|
|
cd1ae41ad5 | ||
|
|
5c7d31a1be | ||
|
|
b5ce93bcac | ||
|
|
005568c133 | ||
|
|
1024adc6af | ||
|
|
1b78cf2656 | ||
|
|
5063d29ac8 | ||
|
|
38d35762c4 | ||
|
|
a567dfd906 | ||
|
|
cb1ec4ff1e | ||
|
|
4075611f56 | ||
|
|
61b95d6944 | ||
|
|
9d36b7c0e4 | ||
|
|
5c894525f1 | ||
|
|
1993606809 | ||
|
|
b0b0c11028 | ||
|
|
4aa2154d42 | ||
|
|
e20ebc2da9 | ||
|
|
e68b0a161c | ||
|
|
9785382828 | ||
|
|
6402eb9e9b | ||
|
|
f8758d663d | ||
|
|
6c793a06f2 | ||
|
|
300c957a79 | ||
|
|
b25d2fe02f | ||
|
|
3862848b42 | ||
|
|
0b43242c44 | ||
|
|
70395aab02 | ||
|
|
603b5029bc | ||
|
|
9c35578d2e | ||
|
|
be1cac6b95 | ||
|
|
eff6c31b7f | ||
|
|
6eeda08219 | ||
|
|
722c2bf663 | ||
|
|
ababa1ff72 | ||
|
|
6f61ab1373 | ||
|
|
171840ff50 | ||
|
|
7f71a4b8f8 | ||
|
|
3885ea27c2 | ||
|
|
d357005cba | ||
|
|
48e72094df | ||
|
|
2dd1060263 | ||
|
|
7f541f90b9 | ||
|
|
7e8b940077 | ||
|
|
24d1a476fb | ||
|
|
5c3e239534 | ||
|
|
3ce2843b1d | ||
|
|
c41c8119e3 | ||
|
|
743bb67414 | ||
|
|
e83ab6d83d | ||
|
|
96c6a227e8 | ||
|
|
0b1d2885d4 | ||
|
|
7ec58b13d4 | ||
|
|
be8952db22 | ||
|
|
7df055e668 | ||
|
|
597682f9ae | ||
|
|
d55fc76bf6 | ||
|
|
9daf01dfcb | ||
|
|
04ee7e9c08 | ||
|
|
43052c7b50 | ||
|
|
c2d26f1c13 | ||
|
|
36d051f12f | ||
|
|
f1f27bd334 | ||
|
|
31895cd662 | ||
|
|
eba4feb39b | ||
|
|
b7468b611c | ||
|
|
3e20c9436d | ||
|
|
1108601b07 | ||
|
|
6be052cdc9 | ||
|
|
64bad303b5 | ||
|
|
95dcc4cd88 | ||
|
|
6ca7489a46 | ||
|
|
849c7613ad | ||
|
|
517c43c39b | ||
|
|
4d48f6ef72 | ||
|
|
f662edb814 | ||
|
|
9f6a651a79 | ||
|
|
299b747738 | ||
|
|
d598c43371 | ||
|
|
bb39025bac | ||
|
|
8985485aff | ||
|
|
56660dc4f2 | ||
|
|
e40bd76eba | ||
|
|
05bb47c28b | ||
|
|
871a402868 | ||
|
|
a9e35b7369 | ||
|
|
974c705b33 | ||
|
|
e9e968b140 | ||
|
|
fd223e7933 | ||
|
|
88c6e06c03 | ||
|
|
d225a991e4 | ||
|
|
b6877be1c1 | ||
|
|
4bfe897054 | ||
|
|
a966382709 | ||
|
|
f431aaafde | ||
|
|
3a7dda67cd | ||
|
|
c9b1db30e2 | ||
|
|
c3ba4a9557 | ||
|
|
4028399d4c | ||
|
|
db0c5d1d76 | ||
|
|
3aa792f73d | ||
|
|
3b850af7c0 | ||
|
|
636a8a304d | ||
|
|
8f9e1cbfc5 | ||
|
|
e500398a23 | ||
|
|
7f2d442374 | ||
|
|
5ac4bdde17 | ||
|
|
dae7f8a397 | ||
|
|
5df581e103 | ||
|
|
16e8f9ea9d | ||
|
|
547fc9caf6 | ||
|
|
20bfc7785e | ||
|
|
aa23ccf6e0 | ||
|
|
d102f80290 | ||
|
|
26fa48623c |
239
CHANGELOG
239
CHANGELOG
@@ -1,239 +0,0 @@
|
||||
---- Changes since 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.
|
||||
---- Changes since 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.
|
||||
---- Changes since 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.
|
||||
---- Changes since 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.
|
||||
---- Changes since 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.
|
||||
---- Changes since 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.
|
||||
---- Changes since 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.
|
||||
---- Changes since 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).
|
||||
---- Changes since 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.
|
||||
---- Changes since 1.240 ----
|
||||
Fixed a possible security hole caused by a bug in Perl.
|
||||
---- Changes since 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.
|
||||
---- Changes since 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.
|
||||
---- Changes since 1.280 ----
|
||||
Fixed security holes that allow remote read access to any file on the server for which the path is known.
|
||||
---- Changes since 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.
|
||||
---- Changes since 1.300 ----
|
||||
Fixed the rare bug about renaming the .webmintmp file.
|
||||
---- Changes since 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.
|
||||
---- Changes since 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.
|
||||
---- Changes since 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.
|
||||
---- Changes since 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.
|
||||
---- Changes since 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.
|
||||
---- Changes since 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).
|
||||
---- Changes since 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.
|
||||
---- Changes since 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.
|
||||
---- Changes since 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.
|
||||
---- Changes since 1.420 ----
|
||||
Many Greek translation updates, thanks to Vagelis Koutsomitros.
|
||||
Catalan translation updates by Jaume Badiella.
|
||||
Many Dutch translation contributions by Gandyman.
|
||||
---- Changes since 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.
|
||||
---- Changes since 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.
|
||||
---- Changes since 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.
|
||||
---- Changes since 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.
|
||||
---- Changes since 1.480 ----
|
||||
Catalan translation updates by Jaume Badiella.
|
||||
Dutch translation updates, thanks to Gandyman.
|
||||
Beginnings of a Basque translation, thanks to Mireia Lezea.
|
||||
---- Changes since 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.
|
||||
---- Changes since 1.510 ----
|
||||
Dutch translation updates, thanks to Gandyman.
|
||||
Polish translation updates, thanks to Dariusz Dêbowski.
|
||||
---- Changes since 1.520 ----
|
||||
Catalan translation updates by Jaume Badiella.
|
||||
---- Changes since 1.530 ----
|
||||
Sped 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.
|
||||
---- Changes since 1.550 ----
|
||||
Catalan updates, thanks to Jaume Badiella.
|
||||
Italian translation updates, thanks to Andrea Oliveri.
|
||||
Major German translation updates, thanks to Raymond Vetter.
|
||||
---- Changes since 1.560 ----
|
||||
More German translation updates, thanks to Raymond Vetter.
|
||||
More French translation updates, thanks to ButterflyOfFire.
|
||||
---- Changes since 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.
|
||||
---- Changes since 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.
|
||||
---- Changes since 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.
|
||||
---- Changes since 1.600 ----
|
||||
Even more German translation updates, thanks to Raymond Vetter.
|
||||
Catalan updates, thanks to Jaume Badiella.
|
||||
---- Changes since 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.
|
||||
---- Changes since 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.
|
||||
---- Changes since 1.650 ----
|
||||
More German translation updates, thanks to Raymond Vetter.
|
||||
Norwegian updates, thanks to Stein-Aksel Basma.
|
||||
---- Changes since 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.
|
||||
---- Changes since 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.
|
||||
---- Changes since 1.690 ----
|
||||
More German translation updates, thanks to Raymond Vetter.
|
||||
Support for RHEL 7, CentOS 7 and other derivatives in multiple modules.
|
||||
---- Changes since 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.
|
||||
---- Changes since 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.
|
||||
---- Changes since 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.
|
||||
---- Changes since 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.
|
||||
---- Changes since 1.740 ----
|
||||
Norwegian updates, thanks to Stein-Aksel Basma.
|
||||
Catalan translation updates from Jaume Badiella.
|
||||
More German translation updates, thanks to Raymond Vetter.
|
||||
---- Changes since 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.
|
||||
---- Changes since 1.760 ----
|
||||
For new installs, switched the location of data files in many modules to /var/webmin instead of /etc/webmin.
|
||||
---- Changes since 1.790 ----
|
||||
Added a recent logins section to the System Information page.
|
||||
Major rework of majordomo module, Kay Marquardt
|
||||
---- Changes since 1.870 ----
|
||||
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
|
||||
364
CHANGELOG.md
364
CHANGELOG.md
@@ -1,7 +1,64 @@
|
||||
## Changelog
|
||||
|
||||
#### 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 enviromental 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.
|
||||
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.
|
||||
@@ -19,10 +76,10 @@ This version includes wildcard Let's Encrypt SSL cert support, theme and transla
|
||||
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.
|
||||
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.
|
||||
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.
|
||||
@@ -34,10 +91,307 @@ This release includes Let's Encrypt fixes, Majordomo module improvements, Firewa
|
||||
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.
|
||||
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.
|
||||
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.
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@ 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](http://www.webmin.com/support.html)) from our [download page](http://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-1.994.tar.gz), and running [_setup.sh_](http://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.
|
||||
2. By downloading, extracting [source file](https://prdownloads.sourceforge.net/webadmin/webmin-1.995.tar.gz), and running [_setup.sh_](http://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](http://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_ commmand, _sc.exe_ command, and _Win32::Daemon_ Perl module.</kbd>
|
||||
|
||||
## Documentation
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -14,6 +14,7 @@ Library for editing webmin users, passwords and access rights.
|
||||
BEGIN { push(@INC, ".."); };
|
||||
use strict;
|
||||
use warnings;
|
||||
no warnings 'redefine';
|
||||
use WebminCore;
|
||||
&init_config();
|
||||
do 'md5-lib.pl';
|
||||
@@ -1690,10 +1691,17 @@ elsif ($mode == 2) {
|
||||
return &encrypt_sha512($pass, $salt);
|
||||
}
|
||||
else {
|
||||
# Use Unix DES
|
||||
&seed_random();
|
||||
$salt ||= chr(int(rand(26))+65).chr(int(rand(26))+65);
|
||||
return &unix_crypt($pass, $salt);
|
||||
# Try detecting system default first
|
||||
if (&foreign_available('useradmin')) {
|
||||
&foreign_require('useradmin');
|
||||
return &useradmin::encrypt_password($pass, $salt, 1);
|
||||
}
|
||||
else {
|
||||
# Use Unix DES
|
||||
&seed_random();
|
||||
$salt ||= chr(int(rand(26))+65).chr(int(rand(26))+65);
|
||||
return &unix_crypt($pass, $salt);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
use strict;
|
||||
use warnings;
|
||||
require './acl-lib.pl';
|
||||
our (%in, %text, %config, %access, $config_directory, $base_remote_user);
|
||||
our (%in, %text, %config, %access, $config_directory, $base_remote_user, $remote_user);
|
||||
&foreign_require("webmin", "webmin-lib.pl");
|
||||
|
||||
&ReadParse();
|
||||
@@ -434,7 +434,7 @@ if ($in{'user'}) {
|
||||
if (&foreign_available("webminlog")) {
|
||||
push(@buts, [ "but_log", $text{'edit_log'} ]);
|
||||
}
|
||||
if ($access{'switch'} && $main::session_id) {
|
||||
if ($access{'switch'} && $main::session_id && $in{'user'} ne $remote_user) {
|
||||
push(@buts, [ "but_switch", $text{'edit_switch'} ]);
|
||||
}
|
||||
if ($access{'delete'}) {
|
||||
|
||||
@@ -354,6 +354,7 @@ sessions_actions=Actions..
|
||||
sessions_all=All sessions..
|
||||
sessions_logouts=Also show logged-out sessions..
|
||||
sessions_state=State
|
||||
sessions_action=Actions
|
||||
sessions_this=This login
|
||||
sessions_in=Logged in
|
||||
sessions_out=Logged out
|
||||
|
||||
@@ -11,7 +11,6 @@ sub list_system_info
|
||||
my ($data, $in) = @_;
|
||||
my @rv;
|
||||
my %miniserv;
|
||||
my $haslog = &foreign_available("webminlog");
|
||||
&get_miniserv_config(\%miniserv);
|
||||
&open_session_db(\%miniserv);
|
||||
my @logins;
|
||||
@@ -29,12 +28,12 @@ if (@logins) {
|
||||
}
|
||||
my $html = &ui_columns_start([ $text{'sessions_host'},
|
||||
$text{'sessions_login'},
|
||||
$text{'sessions_state'} ]);
|
||||
$text{'sessions_state'},
|
||||
$text{'sessions_action'} ]);
|
||||
my $open = 0;
|
||||
foreach my $l (@logins) {
|
||||
my $state;
|
||||
my $candel = 0;
|
||||
my $nbsp = " ";
|
||||
if ($l->[0] =~ /^\!/) {
|
||||
$state = $text{'sessions_out'};
|
||||
}
|
||||
@@ -51,21 +50,29 @@ if (@logins) {
|
||||
}
|
||||
}
|
||||
$main::theme_allow_make_date = 1;
|
||||
$html .= &ui_columns_row([ $l->[2] .
|
||||
($haslog ?
|
||||
$nbsp . &ui_link("@{[&get_webprefix()]}/webminlog/search.cgi?uall=1&mall=1&tall=1&wall=1&fall=1&sid=$l->[3]",
|
||||
$text{'sessions_lview'}) : undef) .
|
||||
($candel ? (!$haslog ? $nbsp : undef) .
|
||||
&ui_link("@{[&get_webprefix()]}/acl/delete_session.cgi?id=$l->[3]&redirect_ref=1",
|
||||
$text{'sessions_kill'}) : undef) .
|
||||
((!$haslog && !$candel ? $nbsp : undef) .
|
||||
&ui_link("@{[&get_webprefix()]}/acl/list_sessions.cgi",
|
||||
$text{'sessions_all'}, undef, "title=\"$text{'sessions_title'}\"")),
|
||||
|
||||
&make_date($l->[1]),
|
||||
$state ]);
|
||||
my @links;
|
||||
if (&foreign_available("webminlog")) {
|
||||
push(@links,
|
||||
&ui_link("@{[&get_webprefix()]}/webminlog/search.cgi?uall=1&mall=1&tall=1&wall=1&fall=1&sid=$l->[3]",
|
||||
$text{'sessions_lview'}))
|
||||
}
|
||||
if ($candel) {
|
||||
push(@links,
|
||||
&ui_link("@{[&get_webprefix()]}/acl/delete_session.cgi?id=$l->[3]&redirect_ref=1",
|
||||
$text{'sessions_kill'}))
|
||||
}
|
||||
$html .= &ui_columns_row([
|
||||
$l->[2],
|
||||
&make_date($l->[1]),
|
||||
$state,
|
||||
&ui_links_row(\@links) ]);
|
||||
}
|
||||
$html .= &ui_columns_end();
|
||||
if (&foreign_available("acl")) {
|
||||
$html .= &ui_link("@{[&get_webprefix()]}/acl/list_sessions.cgi",
|
||||
$text{'sessions_all'}, undef,
|
||||
"title=\"$text{'sessions_title'}\"");
|
||||
}
|
||||
push(@rv, { 'type' => 'html',
|
||||
'desc' => $text{'logins_title'},
|
||||
'open' => $open,
|
||||
|
||||
50
at/index.cgi
50
at/index.cgi
@@ -138,32 +138,34 @@ if ($access{'allow'} && $config{'allow_file'}) {
|
||||
}
|
||||
|
||||
# If there is an init script that runs an atd server, show status
|
||||
&foreign_require("init");
|
||||
my $init = defined(&get_init_name) ? &get_init_name() : undef;
|
||||
if ($access{'stop'} && $init) {
|
||||
print &ui_hr();
|
||||
print &ui_buttons_start();
|
||||
if (&foreign_available("init")) {
|
||||
&foreign_require("init");
|
||||
my $init = defined(&get_init_name) ? &get_init_name() : undef;
|
||||
if ($access{'stop'} && $init) {
|
||||
print &ui_hr();
|
||||
print &ui_buttons_start();
|
||||
|
||||
# Running now?
|
||||
my $r = &init::status_action($init);
|
||||
if ($r == 1) {
|
||||
print &ui_buttons_row("stop.cgi", $text{'index_stop'},
|
||||
$text{'index_stopdesc'});
|
||||
# Running now?
|
||||
my $r = &init::status_action($init);
|
||||
if ($r == 1) {
|
||||
print &ui_buttons_row("stop.cgi", $text{'index_stop'},
|
||||
$text{'index_stopdesc'});
|
||||
}
|
||||
elsif ($r == 0) {
|
||||
print &ui_buttons_row("start.cgi", $text{'index_start'},
|
||||
$text{'index_startdesc'});
|
||||
}
|
||||
|
||||
# Start at boot?
|
||||
my $atboot = &init::action_status($init);
|
||||
print &ui_buttons_row("bootup.cgi", $text{'index_boot'},
|
||||
$text{'index_bootdesc'}, undef,
|
||||
&ui_radio("boot", $atboot == 2 ? 1 : 0,
|
||||
[ [ 1, $text{'yes'} ],
|
||||
[ 0, $text{'no'} ] ]));
|
||||
|
||||
print &ui_buttons_end();
|
||||
}
|
||||
elsif ($r == 0) {
|
||||
print &ui_buttons_row("start.cgi", $text{'index_start'},
|
||||
$text{'index_startdesc'});
|
||||
}
|
||||
|
||||
# Start at boot?
|
||||
my $atboot = &init::action_status($init);
|
||||
print &ui_buttons_row("bootup.cgi", $text{'index_boot'},
|
||||
$text{'index_bootdesc'}, undef,
|
||||
&ui_radio("boot", $atboot == 2 ? 1 : 0,
|
||||
[ [ 1, $text{'yes'} ],
|
||||
[ 0, $text{'no'} ] ]));
|
||||
|
||||
print &ui_buttons_end();
|
||||
}
|
||||
|
||||
&ui_print_footer("/", $text{'index'});
|
||||
|
||||
@@ -129,7 +129,7 @@ Disable proxy-related features in Webmin.
|
||||
|
||||
=head1 SYNOPSIS
|
||||
|
||||
disable-proxy [options]
|
||||
webmin disable-proxy [options]
|
||||
|
||||
=head1 OPTIONS
|
||||
|
||||
@@ -146,14 +146,8 @@ C</etc/webmin>
|
||||
|
||||
=back
|
||||
|
||||
=head1 EXIT CODES
|
||||
|
||||
0 on success
|
||||
|
||||
non-0 on error
|
||||
|
||||
=head1 LICENSE AND COPYRIGHT
|
||||
|
||||
Copyright 2018 Jamie Cameron <jcameron@webmin.com>, Joe Cooper
|
||||
<joe@virtualmin.com>.
|
||||
Copyright 2022 Jamie Cameron <jcameron@webmin.com>
|
||||
Joe Cooper <joe@virtualmin.com>
|
||||
|
||||
|
||||
@@ -87,7 +87,7 @@ second factor (e.g. phone or USB key) has been lost.
|
||||
|
||||
=head1 SYNOPSIS
|
||||
|
||||
disable-twofactor --user username
|
||||
webmin disable-twofactor --user username
|
||||
|
||||
=head1 OPTIONS
|
||||
|
||||
@@ -106,16 +106,13 @@ C</etc/webmin>
|
||||
|
||||
Name of the user to disable two-factor authentication for.
|
||||
|
||||
|
||||
|
||||
=back
|
||||
|
||||
=head1 EXIT CODES
|
||||
|
||||
0 on successfully replacing configuration options
|
||||
|
||||
non-0 on error
|
||||
|
||||
=head1 LICENSE AND COPYRIGHT
|
||||
|
||||
Copyright 2018 Jamie Cameron <jcameron@webmin.com>, Joe Cooper
|
||||
<joe@virtualmin.com>.
|
||||
|
||||
Copyright 2022 Jamie Cameron <jcameron@webmin.com>
|
||||
Joe Cooper <joe@virtualmin.com>
|
||||
Ilia Rostovtsev <ilia@virtualmin.com>
|
||||
|
||||
@@ -134,7 +134,7 @@ Configure the Webmin web server to be proxied through another web server, like A
|
||||
|
||||
=head1 SYNOPSIS
|
||||
|
||||
enable-proxy [options]
|
||||
webmin enable-proxy [options]
|
||||
|
||||
=head1 OPTIONS
|
||||
|
||||
@@ -161,14 +161,7 @@ domain.tld)
|
||||
|
||||
=back
|
||||
|
||||
=head1 EXIT CODES
|
||||
|
||||
0 on success
|
||||
|
||||
non-0 on error
|
||||
|
||||
=head1 LICENSE AND COPYRIGHT
|
||||
|
||||
Copyright 2018 Jamie Cameron <jcameron@webmin.com>, Joe Cooper
|
||||
<joe@virtualmin.com>.
|
||||
|
||||
Copyright 2022 Jamie Cameron <jcameron@webmin.com>
|
||||
Joe Cooper <joe@virtualmin.com>
|
||||
|
||||
@@ -1784,7 +1784,7 @@ Manage Webmin/Usermin module language files (lang|ulang|help|config|uconfig|modu
|
||||
|
||||
=head1 SYNOPSIS
|
||||
|
||||
language-manager [options]
|
||||
webmin language-manager [options]
|
||||
|
||||
=head1 OPTIONS
|
||||
|
||||
@@ -1798,35 +1798,35 @@ Examples of usage:
|
||||
|
||||
Synchronize all language keys for Apache module, based on template language. Newly added entries to Apache template language file (def. en), will be translated and inserted into all other machine translated language files, while deleted entries will also be removed on all targets (translations), including human translated files. The value for "defines_desc" will be force re-translated and translation will be done in HTML format.
|
||||
|
||||
- language-manager -m=apache -kft=defines_desc -kfh=defines_desc
|
||||
- webmin language-manager -m=apache -kft=defines_desc -kfh=defines_desc
|
||||
|
||||
Synchronize all modules' "help/" language files. Newly added files will be translated and already translated, both human and machine translations, will be kept intact.
|
||||
|
||||
- language-manager -w=help
|
||||
- webmin language-manager -w=help
|
||||
|
||||
Check for Software Packages module, all matching escaped HTML "<" and ">" entities in template file (def. en), and if found, make sure that translations (including machine translations) for the same key, contain exact escaped HTML entities, as on template string, rather than "<" or ">". Technically, it's possible to check and replace anything on language files using this command.
|
||||
|
||||
- language-manager -vf="<:<,>:>" -m=software
|
||||
- webmin language-manager -vf="<:<,>:>" -m=software
|
||||
|
||||
Translate all available languages, using old-time encoding map, for BIND module, using as type "lang" directory, discarding human translations for Hebrew, keeping original value (not translating) for key "mass_desc", and printing verbose output.
|
||||
|
||||
- language-manager -x=full -e=map -m=bind8 -w=lang -se=he -ke=mass_desc
|
||||
- webmin language-manager -x=full -e=map -m=bind8 -w=lang -se=he -ke=mass_desc
|
||||
|
||||
Transcode only and rename all modules' "help/" old-time format files. Old files, such as "ja_JP.euc.html", "ko_KR.euc.html", "zh_TW.Big5.html" and "ru_RU.html" will be automatically renamed and/or deleted.
|
||||
|
||||
- language-manager -w=help -e=map -ot
|
||||
- webmin language-manager -w=help -e=map -ot
|
||||
|
||||
Only transcode language files, using old-time encoding map, from files being in different encodings, to new style, where all language files are in "utf-8" encoding, for Apache module. No translations will be made, and no ".auto" files will be created.
|
||||
|
||||
- language-manager -x=full -e=map -m=apache -ot
|
||||
- webmin language-manager -x=full -e=map -m=apache -ot
|
||||
|
||||
Repare human translated language files, which stored in "utf-8" encoding already but still have HTML entities.
|
||||
|
||||
- language-manager -m=virtual-server -t=no,es -x=transcode
|
||||
- webmin language-manager -m=virtual-server -t=no,es -x=transcode
|
||||
|
||||
Test translations for "index_stopmsg,trusted_warning" keys, in Russian and German languages, in BIND module, print on-screen results and exit.
|
||||
|
||||
- language-manager -m=bind8 -t=ru,de -kt=index_stopmsg,trusted_warning
|
||||
- webmin language-manager -m=bind8 -t=ru,de -kt=index_stopmsg,trusted_warning
|
||||
|
||||
=item --mode, -x <sync|full|transcode>
|
||||
|
||||
|
||||
@@ -165,7 +165,7 @@ List one or all configuration directives for C<miniserv.conf> or a module C<conf
|
||||
|
||||
=head1 SYNOPSIS
|
||||
|
||||
list-config [options]
|
||||
webmin list-config [options]
|
||||
|
||||
=head1 OPTIONS
|
||||
|
||||
@@ -192,16 +192,11 @@ Specify a single option to display. By default, the entire configuration file wi
|
||||
|
||||
Display the description of the option from the module C<config.info> file, instead of it's current value. This option is only available for modules, as miniserv.conf does not have a config.info.
|
||||
|
||||
|
||||
|
||||
=back
|
||||
|
||||
=head1 EXIT CODES
|
||||
|
||||
0 on success
|
||||
|
||||
non-0 on error
|
||||
|
||||
=head1 LICENSE AND COPYRIGHT
|
||||
|
||||
Copyright 2018 Jamie Cameron <jcameron@webmin.com>, Joe Cooper
|
||||
<joe@virtualmin.com>.
|
||||
|
||||
Copyright 2022 Jamie Cameron <jcameron@webmin.com>
|
||||
Joe Cooper <joe@virtualmin.com>
|
||||
|
||||
120
bin/passwd
120
bin/passwd
@@ -5,9 +5,12 @@ use strict;
|
||||
use warnings;
|
||||
use 5.010;
|
||||
|
||||
use File::Basename;
|
||||
use Getopt::Long;
|
||||
use Pod::Usage;
|
||||
use Term::ANSIColor qw(:constants);
|
||||
use lib (dirname(dirname($0)));
|
||||
use WebminCore;
|
||||
|
||||
sub main
|
||||
{
|
||||
@@ -15,7 +18,8 @@ sub main
|
||||
GetOptions('help|h' => \$opt{'help'},
|
||||
'config|c=s' => \$opt{'config'},
|
||||
'user|u=s' => \$opt{'user'},
|
||||
'password|p=s' => \$opt{'password'});
|
||||
'password|p=s' => \$opt{'password'},
|
||||
'stdout|o!' => \$opt{'stdout'});
|
||||
|
||||
# If username passed as regular param
|
||||
my $user = scalar(@ARGV) == 1 && $ARGV[0];
|
||||
@@ -47,28 +51,11 @@ sub change_password
|
||||
{
|
||||
my ($optref) = @_;
|
||||
my ($minserv_uconf_file, %lusers, @users, %uinfos, %ulines);
|
||||
my $user = $optref->{'user'};
|
||||
my $pass = $optref->{'password'};
|
||||
my $confdif = $optref->{'config'};
|
||||
my $conf = "$confdif/config";
|
||||
my $mconf = "$confdif/miniserv.conf";
|
||||
my $encrypt_password = sub {
|
||||
my ($pass, $gconfig) = @_;
|
||||
if ($gconfig->{'md5pass'} == 1) {
|
||||
|
||||
# Use MD5 encryption
|
||||
return &encrypt_md5($pass);
|
||||
} elsif ($gconfig->{'md5pass'} == 2) {
|
||||
|
||||
# Use SHA512 encryption
|
||||
return &encrypt_sha512($pass);
|
||||
} else {
|
||||
|
||||
# Use Unix DES
|
||||
srand(time() ^ $$);
|
||||
return crypt($pass, chr(int(rand(26)) + 65) . chr(int(rand(26)) + 65));
|
||||
}
|
||||
};
|
||||
my $user = $optref->{'user'};
|
||||
my $pass = $optref->{'password'};
|
||||
my $confdif = $optref->{'config'};
|
||||
my $conf = "$confdif/config";
|
||||
my $mconf = "$confdif/miniserv.conf";
|
||||
my $conf_check = sub {
|
||||
my ($configs) = @_;
|
||||
foreach my $config (@{$configs}) {
|
||||
@@ -79,11 +66,47 @@ sub change_password
|
||||
}
|
||||
}
|
||||
};
|
||||
my $root = root($confdif, \&$conf_check);
|
||||
my $root = root($confdif, \&$conf_check);
|
||||
my $encrypt_password = sub {
|
||||
my ($pass, $gconfig, $config) = @_;
|
||||
my $root = root($confdif, \&$conf_check);
|
||||
|
||||
# Load libs
|
||||
do "$root/acl/md5-lib.pl";
|
||||
do "$root/web-lib-funcs.pl";
|
||||
# Use pre-defined encryption (forced by Webmin config)
|
||||
if (!$optref->{'stdout'} &&
|
||||
($gconfig->{'md5pass'} == 1 ||
|
||||
$gconfig->{'md5pass'} == 2))
|
||||
{
|
||||
do "$root/acl/md5-lib.pl";
|
||||
|
||||
# Use MD5 encryption
|
||||
return &encrypt_md5($pass) if ($gconfig->{'md5pass'}) == 1;
|
||||
|
||||
# Use SHA512 encryption
|
||||
return &encrypt_sha512($pass) if ($gconfig->{'md5pass'}) == 2;
|
||||
|
||||
} else {
|
||||
|
||||
# Try detecting system default first
|
||||
my $module = 'useradmin';
|
||||
if (-d "$root/$module") {
|
||||
$ENV{'PERLLIB'} = "$root";
|
||||
$ENV{'WEBMIN_CONFIG'} = "$confdif";
|
||||
$ENV{'FOREIGN_ROOT_DIRECTORY'} = "$root/$module";
|
||||
$ENV{'FOREIGN_MODULE_NAME'} = "$module";
|
||||
chdir("$root/$module");
|
||||
require "$root/useradmin/user-lib.pl";
|
||||
|
||||
# We need to set third parameter to make sure useradmin's config
|
||||
# won't be used for hashing format, as we need to auto detect it
|
||||
return &encrypt_password($pass, undef, 'force_system_detection');
|
||||
} else {
|
||||
|
||||
# Use old Unix DES
|
||||
srand(time() ^ $$);
|
||||
return crypt($pass, chr(int(rand(26)) + 65) . chr(int(rand(26)) + 65));
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
# Check for main config and miniserv config files
|
||||
&$conf_check([$conf, $mconf]);
|
||||
@@ -138,7 +161,13 @@ sub change_password
|
||||
}
|
||||
|
||||
# Update with new password and store timestamp
|
||||
$uinfos{$user}->[0] = &$encrypt_password($pass, \%gconfig);
|
||||
$uinfos{$user}->[0] = &$encrypt_password($pass, \%gconfig, \%config);
|
||||
|
||||
# Print the hash and exit
|
||||
if ($optref->{'stdout'}) {
|
||||
say $uinfos{$user}->[0];
|
||||
exit 0;
|
||||
}
|
||||
$uinfos{$user}->[5] = time() if ($uinfos{$user}->[5]);
|
||||
map {$ulines{$_} = join(":", @{ $uinfos{$_} })} keys %uinfos;
|
||||
|
||||
@@ -188,15 +217,15 @@ sub root
|
||||
|
||||
=head1 NAME
|
||||
|
||||
passwd
|
||||
passwd
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
This program allows you to change the password of a user in the Webmin password file
|
||||
This program allows you to change the password of a user in the Webmin password file
|
||||
|
||||
=head1 SYNOPSIS
|
||||
|
||||
passwd [options]
|
||||
webmin passwd [options]
|
||||
|
||||
=head1 OPTIONS
|
||||
|
||||
@@ -204,37 +233,32 @@ passwd [options]
|
||||
|
||||
=item --help, -h
|
||||
|
||||
Print this usage summary and exit.
|
||||
Print this usage summary and exit.
|
||||
|
||||
Examples of usage:
|
||||
|
||||
- passwd root
|
||||
|
||||
- passwd --user root
|
||||
|
||||
- passwd --user root --password ycwyMQRVAZY
|
||||
|
||||
- passwd --config /usr/local/etc/webmin --user root --password ycwyMQRVAZY
|
||||
Examples of usage:
|
||||
- webmin passwd root
|
||||
- webmin passwd --user root
|
||||
- webmin passwd --user root --password ycwyMQRVAZY
|
||||
- webmin passwd --config /usr/local/etc/webmin --user root --password ycwyMQRVAZY
|
||||
- webmin passwd --config /usr/local/etc/webmin --user root --password ycwyMQRVAZY --stdout
|
||||
|
||||
=item --config, -c
|
||||
|
||||
Specify the full path to the Webmin configuration directory. Defaults to C</etc/webmin>
|
||||
Specify the full path to the Webmin configuration directory. Defaults to C</etc/webmin>
|
||||
|
||||
=item --user, -u
|
||||
|
||||
Existing Webmin user to change password for
|
||||
Existing Webmin user to change password for
|
||||
|
||||
=item --password, -p
|
||||
|
||||
Set new user password. Using this option may be unsecure.
|
||||
|
||||
|
||||
|
||||
=back
|
||||
|
||||
=head1 LICENSE AND COPYRIGHT
|
||||
|
||||
Copyright 2021 Jamie Cameron <jcameron@webmin.com>
|
||||
Joe Cooper <joe@virtualmin.com>
|
||||
Ilia Rostovtsev <ilia@virtualmin.com>
|
||||
Copyright 2022 Jamie Cameron <jcameron@webmin.com>
|
||||
Joe Cooper <joe@virtualmin.com>
|
||||
Ilia Rostovtsev <ilia@virtualmin.com>
|
||||
|
||||
|
||||
183
bin/server
Executable file
183
bin/server
Executable file
@@ -0,0 +1,183 @@
|
||||
#!/usr/bin/env perl
|
||||
# server - control Webmin web-server
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
use 5.010;
|
||||
|
||||
use File::Basename;
|
||||
use Getopt::Long;
|
||||
use Pod::Usage;
|
||||
use Term::ANSIColor qw(:constants);
|
||||
use lib (dirname(dirname($0)));
|
||||
use WebminCore;
|
||||
|
||||
sub main
|
||||
{
|
||||
my %opt;
|
||||
GetOptions('help|h' => \$opt{'help'},
|
||||
'command|x=s' => \$opt{'command'},
|
||||
'config|c=s' => \$opt{'config'});
|
||||
|
||||
# If username passed as regular param
|
||||
my $cmd = scalar(@ARGV) == 1 && $ARGV[0];
|
||||
$cmd = $opt{'command'} if ($opt{'command'});
|
||||
if ($cmd !~ /^(status|start|stop|restart|reload|force-restart|force-reload|kill)$/) {
|
||||
$cmd = undef;
|
||||
}
|
||||
|
||||
# Show usage
|
||||
pod2usage(0) if ($opt{'help'} || !$cmd);
|
||||
|
||||
# Assign defaults
|
||||
$opt{'config'} ||= "/etc/webmin";
|
||||
$opt{'cmd'} = $cmd;
|
||||
|
||||
# Catch kill signal
|
||||
my $sigkill = sub {
|
||||
system("stty echo");
|
||||
print "\n^C";
|
||||
print "\n";
|
||||
exit 1;
|
||||
};
|
||||
$SIG{INT} = \&$sigkill;
|
||||
|
||||
# Run change password command
|
||||
run(\%opt);
|
||||
|
||||
return 0;
|
||||
}
|
||||
exit main(\@ARGV) if !caller(0);
|
||||
|
||||
sub run
|
||||
{
|
||||
my ($o) = @_;
|
||||
my $conf_check = sub {
|
||||
my ($configs) = @_;
|
||||
foreach my $config (@{$configs}) {
|
||||
if (!-r $config) {
|
||||
say BRIGHT_RED, "Error: ", RESET, "Failed to read Webmin essential config file: ", BRIGHT_YELLOW, $config,
|
||||
RESET, " doesn't exist";
|
||||
exit 1;
|
||||
}
|
||||
}
|
||||
};
|
||||
root($o->{'config'}, \&$conf_check);
|
||||
my $service = ($o->{'config'} =~ /usermin/ ? 'usermin' : 'webmin');
|
||||
my $systemctlcmd = `which systemctl`;
|
||||
$systemctlcmd =~ s/\s+$//;
|
||||
if ($o->{'cmd'} =~ /^(start|stop|restart|reload)$/) {
|
||||
my $rs = system("$o->{'config'}/$o->{'cmd'} $service");
|
||||
exit $rs;
|
||||
}
|
||||
if ($o->{'cmd'} =~ /^(kill|force-kill)$/) {
|
||||
my $rs;
|
||||
if (-x $systemctlcmd) {
|
||||
$rs = system("$systemctlcmd stop $service");
|
||||
$rs = system("$systemctlcmd kill -s SIGTERM $service");
|
||||
}
|
||||
$rs = system("$o->{'config'}/.stop-init --kill >/dev/null 2>&1 $service");
|
||||
exit $rs;
|
||||
}
|
||||
if ($o->{'cmd'} =~ /^(force-reload|force-restart)$/) {
|
||||
my $rs = system("$o->{'config'}/restart-by-force-kill $service");
|
||||
exit $rs;
|
||||
}
|
||||
if ($o->{'cmd'} =~ /^(status)$/) {
|
||||
my $rs;
|
||||
if (-x $systemctlcmd) {
|
||||
$rs = system("$systemctlcmd status $service");
|
||||
} else {
|
||||
$rs = system("service $service status");
|
||||
}
|
||||
exit $rs;
|
||||
}
|
||||
exit 0;
|
||||
}
|
||||
|
||||
sub root
|
||||
{
|
||||
my ($config, $conf_check) = @_;
|
||||
my $mconf = "$config/miniserv.conf";
|
||||
$conf_check->([$mconf]);
|
||||
open(my $CONF, "<", $mconf);
|
||||
my $root;
|
||||
while (<$CONF>) {
|
||||
if (/^root=(.*)/) {
|
||||
$root = $1;
|
||||
}
|
||||
}
|
||||
close($CONF);
|
||||
|
||||
# Does the Webmin root exist?
|
||||
if ($root) {
|
||||
die BRIGHT_RED, "Error: ", BRIGHT_YELLOW, $root, RESET, " is not a directory\n" unless (-d $root);
|
||||
} else {
|
||||
|
||||
# Try to guess where Webmin lives, since config file didn't know.
|
||||
die BRIGHT_RED, "Error: ", RESET, "Unable to determine Webmin installation directory\n";
|
||||
}
|
||||
|
||||
return $root;
|
||||
}
|
||||
|
||||
1;
|
||||
|
||||
=pod
|
||||
|
||||
=head1 NAME
|
||||
|
||||
server
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
This program allows you to control Webmin web-server
|
||||
|
||||
=head1 SYNOPSIS
|
||||
|
||||
webmin server [command]
|
||||
webmin [command]
|
||||
|
||||
=head1 OPTIONS
|
||||
|
||||
=over
|
||||
|
||||
=item --help, -h
|
||||
|
||||
Print this usage summary and exit.
|
||||
|
||||
Examples of usage:
|
||||
- webmin server status
|
||||
- webmin server restart
|
||||
- webmin server --config /usr/local/etc/webmin --command start
|
||||
- webmin status
|
||||
- webmin restart
|
||||
|
||||
=item --config, -c
|
||||
|
||||
Specify the full path to the Webmin configuration directory. Defaults to C</etc/webmin>
|
||||
|
||||
=item --command, -x
|
||||
|
||||
Available commands:
|
||||
- status
|
||||
- start
|
||||
- stop
|
||||
- restart
|
||||
- reload
|
||||
- force-restart
|
||||
- force-reload
|
||||
- kill
|
||||
|
||||
Alias commands:
|
||||
- force-restart | force-reload
|
||||
- kill | force-kill
|
||||
|
||||
=back
|
||||
|
||||
=head1 LICENSE AND COPYRIGHT
|
||||
|
||||
Copyright 2022 Jamie Cameron <jcameron@webmin.com>
|
||||
Joe Cooper <joe@virtualmin.com>
|
||||
Ilia Rostovtsev <ilia@virtualmin.com>
|
||||
|
||||
@@ -136,7 +136,7 @@ Set a configuration directive in either C<miniserv.conf> (the core Webmin config
|
||||
|
||||
=head1 SYNOPSIS
|
||||
|
||||
set-config [options] [--module] --option <option-name> --value <value>
|
||||
webmin set-config [options] [--module] --option <option-name> --value <value>
|
||||
|
||||
=head1 OPTIONS
|
||||
|
||||
@@ -180,6 +180,5 @@ already exist in the file, and was added)
|
||||
|
||||
=head1 LICENSE AND COPYRIGHT
|
||||
|
||||
Copyright 2018 Jamie Cameron <jcameron@webmin.com>, Joe Cooper
|
||||
<joe@virtualmin.com>.
|
||||
|
||||
Copyright 2022 Jamie Cameron <jcameron@webmin.com>
|
||||
Joe Cooper <joe@virtualmin.com>
|
||||
|
||||
34
bin/webmin
34
bin/webmin
@@ -12,6 +12,8 @@ use Term::ANSIColor qw(:constants);
|
||||
use File::Spec;
|
||||
use File::Basename;
|
||||
|
||||
my $a0 = $ARGV[0];
|
||||
|
||||
sub main {
|
||||
my ( %opt, $subcmd );
|
||||
GetOptions(
|
||||
@@ -37,6 +39,7 @@ sub main {
|
||||
);
|
||||
|
||||
$opt{'config'} ||= "/etc/webmin";
|
||||
$opt{'commands'} = $a0;
|
||||
|
||||
my @remain = @ARGV;
|
||||
# List commands?
|
||||
@@ -203,7 +206,7 @@ sub run_command {
|
||||
exit 1;
|
||||
}
|
||||
|
||||
my $command_path = get_command_path($root, $subcmd);
|
||||
my $command_path = get_command_path($root, $subcmd, $optref);
|
||||
|
||||
# Merge the options
|
||||
# Only handling config, right now...
|
||||
@@ -223,7 +226,7 @@ sub run_command {
|
||||
}
|
||||
|
||||
sub get_command_path {
|
||||
my ($root, $subcmd) = @_;
|
||||
my ($root, $subcmd, $optref) = @_;
|
||||
# Check for a root-level command (in "$root/bin")
|
||||
my $command_path;
|
||||
if ($subcmd) {
|
||||
@@ -256,11 +259,13 @@ sub get_command_path {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($command) {
|
||||
if ($optref->{'commands'} &&
|
||||
$optref->{'commands'} =~ /^(status|start|stop|restart|reload|force-restart|force-reload|kill)$/) {
|
||||
exit system("$0 server $optref->{'commands'}");
|
||||
} elsif ($command) {
|
||||
return $command;
|
||||
} else {
|
||||
die RED, "Unrecognized subcommand: $subcmd", RESET;
|
||||
die RED, "Unrecognized subcommand: $subcmd", RESET , "\n";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -325,7 +330,7 @@ sub man_command {
|
||||
my ($optref, $subcmd) = @_;
|
||||
|
||||
my $root = root($optref->{'config'});
|
||||
my $command_path = get_command_path($root, $subcmd);
|
||||
my $command_path = get_command_path($root, $subcmd, $optref);
|
||||
|
||||
$ENV{'PAGER'} ||= "more";
|
||||
open(my $PAGER, "|-", "$ENV{'PAGER'}");
|
||||
@@ -341,7 +346,7 @@ sub man_command {
|
||||
sub root {
|
||||
my ($config) = @_;
|
||||
open(my $CONF, "<", "$config/miniserv.conf") || die RED,
|
||||
"Failed to open $config/miniserv.conf", RESET;
|
||||
"Failed to open $config/miniserv.conf", RESET , "\n";
|
||||
my $root;
|
||||
while (<$CONF>) {
|
||||
if (/^root=(.*)/) {
|
||||
@@ -351,9 +356,9 @@ sub root {
|
||||
close($CONF);
|
||||
# Does the Webmin root exist?
|
||||
if ( $root ) {
|
||||
die "$root is not a directory. Is --config correct?" unless (-d $root);
|
||||
die "$root is not a directory. Is --config correct?\n" unless (-d $root);
|
||||
} else {
|
||||
die "Unable to determine Webmin installation directory from $ENV{'WEBMIN_CONFIG'}";
|
||||
die "Unable to determine Webmin installation directory from $ENV{'WEBMIN_CONFIG'}\n";
|
||||
}
|
||||
|
||||
return $root;
|
||||
@@ -412,14 +417,11 @@ Returns Webmin and other modules and themes versions installed (only those for w
|
||||
|
||||
=head1 EXIT CODES
|
||||
|
||||
0 on success
|
||||
|
||||
non-0 on error
|
||||
0 on success ; non-0 on error
|
||||
|
||||
=head1 LICENSE AND COPYRIGHT
|
||||
|
||||
Copyright 2022
|
||||
Jamie Cameron <jamie@virtualmin.com>,
|
||||
Joe Cooper <joe@virtualmin.com>,
|
||||
Ilia Rostovtsev <ilia@virtualmin.com>.
|
||||
Copyright 2022 Jamie Cameron <jcameron@webmin.com>
|
||||
Joe Cooper <joe@virtualmin.com>
|
||||
Ilia Rostovtsev <ilia@virtualmin.com>
|
||||
|
||||
|
||||
@@ -3288,12 +3288,13 @@ else {
|
||||
}
|
||||
}
|
||||
|
||||
# create_dnssec_key(&zone|&zone-name, algorithm, size, single-key)
|
||||
# create_dnssec_key(&zone|&zone-name, algorithm, size, single-key,
|
||||
# [force-regen])
|
||||
# Creates a new DNSSEC key for some zone, and places it in the same directory
|
||||
# as the zone file. Returns undef on success or an error message on failure.
|
||||
sub create_dnssec_key
|
||||
{
|
||||
my ($z, $alg, $size, $single) = @_;
|
||||
my ($z, $alg, $size, $single, $force) = @_;
|
||||
my $fn = &get_keys_dir($z);
|
||||
$fn || return "Could not work keys directory!";
|
||||
my $dom = $z->{'members'} ? $z->{'values'}->[0] : $z->{'name'};
|
||||
@@ -3329,6 +3330,17 @@ else {
|
||||
# Check if there are saved keys, and if so use them
|
||||
my @savedkeys = grep { $_->{'saved'} } &get_dnssec_key($z, 1);
|
||||
my $out;
|
||||
if (@savedkeys && $force) {
|
||||
# Delete any saved keys, to force re-generation
|
||||
foreach my $key (@savedkeys) {
|
||||
foreach my $f ('publicfile', 'privatefile') {
|
||||
if (ref($key) && $key->{$f} && $key->{'saved'}) {
|
||||
&unlink_file($key->{$f});
|
||||
}
|
||||
}
|
||||
}
|
||||
@savedkeys = ( );
|
||||
}
|
||||
if (@savedkeys) {
|
||||
# Rename back the saved key files
|
||||
foreach my $key (@savedkeys) {
|
||||
|
||||
43
bind8/config-freebsd-12.0-ALL
Normal file
43
bind8/config-freebsd-12.0-ALL
Normal file
@@ -0,0 +1,43 @@
|
||||
soa_style=1
|
||||
named_path=/usr/local/sbin/named
|
||||
named_conf=/usr/local/etc/namedb/named.conf
|
||||
show_list=1
|
||||
records_order=0
|
||||
max_zones=50
|
||||
rev_def=0
|
||||
support_aaaa=1
|
||||
allow_comments=0
|
||||
allow_wild=1
|
||||
allow_long=0
|
||||
master_ttl=1
|
||||
whois_cmd=whois
|
||||
short_names=0
|
||||
updserial_def=0
|
||||
updserial_on=1
|
||||
updserial_man=1
|
||||
ndc_cmd=ndc
|
||||
forwardzonefilename_format=ZONE.hosts
|
||||
reversezonefilename_format=ZONE.rev
|
||||
rev_must=0
|
||||
ipv6_mode=1
|
||||
allow_underscore=1
|
||||
by_view=0
|
||||
confirm_zone=1
|
||||
confirm_rec=0
|
||||
no_chroot=0
|
||||
relative_paths=0
|
||||
rndc_cmd=rndc
|
||||
no_pid_chroot=0
|
||||
soa_start=0
|
||||
rndc_conf=/usr/local/etc/namedb/rndc.conf
|
||||
rndcconf_cmd=rndc-confgen
|
||||
largezones=0
|
||||
checkzone=named-checkzone
|
||||
keygen=dnssec-keygen
|
||||
signzone=dnssec-signzone
|
||||
checkconf=named-checkconf
|
||||
other_slaves=1
|
||||
force_random=0
|
||||
spf_record=0
|
||||
pid_file=/var/run/named/pid
|
||||
dnssec_info=1
|
||||
@@ -230,21 +230,21 @@ if ($in{'search'}) {
|
||||
|
||||
# Show search form
|
||||
print &ui_form_start("index.cgi");
|
||||
print "<b>$text{'index_search'}</b>\n";
|
||||
print "$text{'index_search'}: \n";
|
||||
print &ui_textbox("search", $in{'search'}, 20);
|
||||
print &ui_submit($text{'index_ok'});
|
||||
print &ui_form_end();
|
||||
|
||||
# Check if we are over the display limit
|
||||
if ($max_jobs && @rows > $max_jobs && !$in{'search'}) {
|
||||
print "<b>$text{'index_toomany2'}</b><p>\n";
|
||||
print "$text{'index_toomany2'}<p>\n";
|
||||
print &ui_links_row(\@crlinks);
|
||||
}
|
||||
elsif (@rows) {
|
||||
# Show jobs
|
||||
if ($in{'search'}) {
|
||||
print "<b>",&text('index_searchres',
|
||||
"<i>".&html_escape($in{'search'})."</i>"),"</b><p>\n";
|
||||
print &text('index_searchres',
|
||||
"<i>".&html_escape($in{'search'})."</i>"),"<p>\n";
|
||||
push(@links, &ui_link("index.cgi", $text{'index_reset'}) );
|
||||
}
|
||||
print &ui_form_start("delete_jobs.cgi", "post");
|
||||
@@ -278,41 +278,43 @@ else {
|
||||
if ($in{'search'}) {
|
||||
push(@crlinks, &ui_link("index.cgi", $text{'index_reset'}) );
|
||||
}
|
||||
print $in{'search'} ? "<b>".&text('index_esearch',
|
||||
"<i>".&html_escape($in{'search'})."</i>")."</b> <p>" :
|
||||
$module_info{'usermin'} ? "<b>$text{'index_none3'}</b> <p>\n" :
|
||||
$access{'mode'} ? "<b>$text{'index_none2'}</b> <p>\n"
|
||||
: "<b>$text{'index_none'}</b> <p>\n";
|
||||
print $in{'search'} ? &text('index_esearch',
|
||||
"<i>".&html_escape($in{'search'})."</i>")."<p>" :
|
||||
$module_info{'usermin'} ? "$text{'index_none3'} <p>\n" :
|
||||
$access{'mode'} ? "$text{'index_none2'} <p>\n"
|
||||
: "$text{'index_none'} <p>\n";
|
||||
print &ui_links_row(\@crlinks);
|
||||
}
|
||||
|
||||
# If there is an init script that runs crond, show status
|
||||
&foreign_require("init");
|
||||
my $init = $config{'init_name'};
|
||||
my $atboot;
|
||||
if ($access{'stop'} && $init && ($atboot = &init::action_status($init))) {
|
||||
print &ui_hr();
|
||||
print &ui_buttons_start();
|
||||
if (&foreign_available("init")) {
|
||||
&foreign_require("init");
|
||||
my $init = $config{'init_name'};
|
||||
my $atboot;
|
||||
if ($access{'stop'} && $init && ($atboot = &init::action_status($init))) {
|
||||
print &ui_hr();
|
||||
print &ui_buttons_start();
|
||||
|
||||
# Running now?
|
||||
my $r = &init::status_action($init);
|
||||
if ($r == 1) {
|
||||
print &ui_buttons_row("stop.cgi", $text{'index_stop'},
|
||||
$text{'index_stopdesc'});
|
||||
# Running now?
|
||||
my $r = &init::status_action($init);
|
||||
if ($r == 1) {
|
||||
print &ui_buttons_row("stop.cgi", $text{'index_stop'},
|
||||
$text{'index_stopdesc'});
|
||||
}
|
||||
elsif ($r == 0) {
|
||||
print &ui_buttons_row("start.cgi", $text{'index_start'},
|
||||
$text{'index_startdesc'});
|
||||
}
|
||||
|
||||
# Start at boot?
|
||||
print &ui_buttons_row("bootup.cgi", $text{'index_boot'},
|
||||
$text{'index_bootdesc'}, undef,
|
||||
&ui_radio("boot", $atboot == 2 ? 1 : 0,
|
||||
[ [ 1, $text{'yes'} ],
|
||||
[ 0, $text{'no'} ] ]));
|
||||
|
||||
print &ui_buttons_end();
|
||||
}
|
||||
elsif ($r == 0) {
|
||||
print &ui_buttons_row("start.cgi", $text{'index_start'},
|
||||
$text{'index_startdesc'});
|
||||
}
|
||||
|
||||
# Start at boot?
|
||||
print &ui_buttons_row("bootup.cgi", $text{'index_boot'},
|
||||
$text{'index_bootdesc'}, undef,
|
||||
&ui_radio("boot", $atboot == 2 ? 1 : 0,
|
||||
[ [ 1, $text{'yes'} ],
|
||||
[ 0, $text{'no'} ] ]));
|
||||
|
||||
print &ui_buttons_end();
|
||||
}
|
||||
|
||||
&ui_print_footer("/", $text{'index'});
|
||||
|
||||
@@ -106,7 +106,7 @@ env_active=Active?
|
||||
env_details=Environment variable details
|
||||
env_err=Failed to save environment variable
|
||||
env_ename=Missing or invalid variable name
|
||||
env_order=Note - This environment variable setting will only apply to Cron jobs after it in the list of jobs on the module's main page.
|
||||
env_order=This environment variable setting will only apply to Cron jobs after it in the list of jobs on the module's main page.
|
||||
env_where=Add environment variable
|
||||
env_where2=Move environment variable
|
||||
env_top=Before all Cron jobs for user
|
||||
|
||||
4
dovecot/config-AlmaLinux-7.0-ALL
Normal file
4
dovecot/config-AlmaLinux-7.0-ALL
Normal file
@@ -0,0 +1,4 @@
|
||||
dovecot=/usr/sbin/dovecot
|
||||
dovecot_config=/etc/dovecot/dovecot.conf
|
||||
init_script=dovecot.service
|
||||
pid_file=/run/dovecot/master.pid
|
||||
4
dovecot/config-Rocky-Linux-7.0-ALL
Normal file
4
dovecot/config-Rocky-Linux-7.0-ALL
Normal file
@@ -0,0 +1,4 @@
|
||||
dovecot=/usr/sbin/dovecot
|
||||
dovecot_config=/etc/dovecot/dovecot.conf
|
||||
init_script=dovecot.service
|
||||
pid_file=/run/dovecot/master.pid
|
||||
@@ -1,4 +1,5 @@
|
||||
dovecot=Dovecot server program,0
|
||||
dovecot_config=Full path to Dovecot configuration file,0
|
||||
add_config=Add new directives to file,3,Main configuration file
|
||||
init_script=Dovecot init script name,3,None exists
|
||||
pid_file=Dovecot server PID file,0
|
||||
|
||||
@@ -18,6 +18,17 @@ foreach my $f (split(/\s+/, $config{'dovecot_config'})) {
|
||||
return undef;
|
||||
}
|
||||
|
||||
# get_add_config_file()
|
||||
# Returns the full path to the first valid config file for new top-level
|
||||
# directives
|
||||
sub get_add_config_file
|
||||
{
|
||||
foreach my $f (split(/\s+/, $config{'add_config'})) {
|
||||
return $f if (-r $f);
|
||||
}
|
||||
return &get_config_file();
|
||||
}
|
||||
|
||||
# get_config()
|
||||
# Returns a list of dovecot config entries
|
||||
sub get_config
|
||||
@@ -280,12 +291,13 @@ elsif (!$dir && defined($value)) {
|
||||
}
|
||||
else {
|
||||
# Need to put at end of main config
|
||||
local $lref = &read_file_lines(&get_config_file());
|
||||
local $file = &get_add_config_file();
|
||||
local $lref = &read_file_lines($file);
|
||||
push(@$lref, $newline);
|
||||
push(@$conf, { 'name' => $name,
|
||||
'value' => $value,
|
||||
'enabled' => 1,
|
||||
'file' => &get_config_file(),
|
||||
'file' => $file,
|
||||
'line' => scalar(@$lref)-1,
|
||||
'eline' => scalar(@$lref)-1,
|
||||
'sectionname' => $sname,
|
||||
@@ -422,20 +434,9 @@ return undef;
|
||||
# undef if successful
|
||||
sub stop_dovecot
|
||||
{
|
||||
local $script = &get_initscript();
|
||||
if ($script) {
|
||||
local $out = &backquote_logged("$script stop 2>&1 </dev/null");
|
||||
return $? ? "<pre>$out</pre>" : undef;
|
||||
}
|
||||
else {
|
||||
local $pid = &is_dovecot_running();
|
||||
if ($pid && kill('TERM', $pid)) {
|
||||
return undef;
|
||||
}
|
||||
else {
|
||||
return $text{'stop_erunning'};
|
||||
}
|
||||
}
|
||||
&foreign_require("init");
|
||||
my ($ok, $err) = &init::stop_action('dovecot');
|
||||
return $ok ? undef : "<pre>$err</pre>";
|
||||
}
|
||||
|
||||
# start_dovecot()
|
||||
@@ -443,14 +444,9 @@ else {
|
||||
# undef if successful
|
||||
sub start_dovecot
|
||||
{
|
||||
local $script = &get_initscript();
|
||||
local $cmd = $script ? "$script start" : $config{'dovecot'};
|
||||
local $temp = &transname();
|
||||
&system_logged("$cmd >$temp 2>&1 </dev/null &");
|
||||
sleep(1);
|
||||
local $out = &read_file_contents($temp);
|
||||
&unlink_file($temp);
|
||||
return &is_dovecot_running() ? undef : "<pre>$out</pre>";
|
||||
&foreign_require("init");
|
||||
my ($ok, $err) = &init::start_action('dovecot');
|
||||
return $ok ? undef : "<pre>$err</pre>";
|
||||
}
|
||||
|
||||
# apply_configration([full-restart])
|
||||
@@ -464,14 +460,9 @@ if (!$pid) {
|
||||
}
|
||||
elsif ($restart) {
|
||||
# Fully shut down and re-start
|
||||
&stop_dovecot();
|
||||
local $err;
|
||||
for(my $i=0; $i<5; $i++) {
|
||||
$err = &start_dovecot();
|
||||
last if (!$err);
|
||||
sleep(1);
|
||||
}
|
||||
return $err;
|
||||
&foreign_require("init");
|
||||
my ($ok, $err) = &init::restart_action('dovecot');
|
||||
return $ok ? undef : "<pre>$err</pre>";
|
||||
}
|
||||
else {
|
||||
# Send the HUP signal
|
||||
|
||||
@@ -13,7 +13,8 @@ my ($jail_list) = $out =~ /jail\s+list:\s*(.*)/im;
|
||||
my @jails = split(/,\s*/, $jail_list);
|
||||
if (@jails) {
|
||||
my $tdc = 'style="text-align: center;"';
|
||||
my $tal = 'style="text-align: left;"';
|
||||
my $tal = 'style="text-align: right; font-size: 96%;"';
|
||||
my $lwf = 'style="width: 100%; padding-right: 4px;"';
|
||||
my @links = ( &select_all_link("jail"),
|
||||
&select_invert_link("jail") );
|
||||
my $head;
|
||||
@@ -43,7 +44,7 @@ if (@jails) {
|
||||
my $jips;
|
||||
&open_execute_command($fh, $jcmd, 1);
|
||||
while(<$fh>) {
|
||||
if (/-\s+(.*):\s*(.*)/) {
|
||||
if (/-\s+(.*?):\s*(.*)/) {
|
||||
my $col = $1;
|
||||
my $val = $2;
|
||||
$col = lc($col);
|
||||
@@ -53,9 +54,9 @@ if (@jails) {
|
||||
if ($col =~ /banned_ip_list/) {
|
||||
$jips = $val;
|
||||
my @ips = split(/\s+/, $val);
|
||||
@ips = map { "<small $tal><label>" . &ui_link("unblock_jail.cgi?unblock=1&jips-@{[&urlize($jail)]}=@{[&urlize($_)]}&jail=@{[&urlize($jail)]}", $_, undef,
|
||||
@ips = map { "<small $tal><tt><label $lwf>" . &ui_link("unblock_jail.cgi?unblock=1&jips-@{[&urlize($jail)]}=@{[&urlize($_)]}&jail=@{[&urlize($jail)]}", $_, undef,
|
||||
"title=\"@{[&text('status_jail_unblock_ip', "e_escape($_))]}\" onmouseover=\"this.style.textDecoration='line-through'\" onmouseout=\"this.style.textDecoration='none'\""
|
||||
) . "</label></small>" } @ips;
|
||||
) . "</label></tt></small>" } @ips;
|
||||
$val = "<br>" if ($val);
|
||||
$val .= join('<br>', @ips);
|
||||
$val = &$ipslimit($val);
|
||||
|
||||
@@ -13,7 +13,7 @@ $force_lang = $default_lang;
|
||||
print "Content-type: text/plain\n\n";
|
||||
|
||||
# Can this user make remote calls?
|
||||
if (!&webmin_user_is_admin()) {
|
||||
if (!&webmin_user_can_rpc()) {
|
||||
print "0 Invalid user for RPC\n";
|
||||
exit;
|
||||
}
|
||||
|
||||
@@ -38,8 +38,14 @@ if ($alias) {
|
||||
}
|
||||
|
||||
# Check if /etc/procmailrc forces local delivery
|
||||
my $alerted;
|
||||
if (&no_user_procmailrc()) {
|
||||
print "<b>",$text{'index_force'},"</b><p>\n";
|
||||
my $text_force = $text{'index_force'};
|
||||
if (-d "/etc/webmin/virtual-server") {
|
||||
$text_force .= " $text{'index_force_desc'}";
|
||||
}
|
||||
$alerted++;
|
||||
print &ui_alert_box($text_force, 'danger');
|
||||
}
|
||||
|
||||
@filters = &list_filters();
|
||||
@@ -156,10 +162,20 @@ else {
|
||||
# Tell the user there are none
|
||||
@pmrc = &procmail::get_procmailrc();
|
||||
if (@pmrc) {
|
||||
print "<b>$text{'index_none2'}</b><p>\n";
|
||||
if ($alerted) {
|
||||
print &ui_alert_box($text{'index_none2'}, 'info');
|
||||
}
|
||||
else {
|
||||
print $text{'index_none2'} . "<p>";
|
||||
}
|
||||
}
|
||||
else {
|
||||
print "<b>$text{'index_none'}</b><p>\n";
|
||||
if ($alerted) {
|
||||
print &ui_alert_box($text{'index_none'}, 'info');
|
||||
}
|
||||
else {
|
||||
print $text{'index_none'} . "<p>";
|
||||
}
|
||||
}
|
||||
print &ui_links_row(\@links);
|
||||
}
|
||||
|
||||
@@ -34,7 +34,8 @@ index_return=filterlys
|
||||
index_warn=Waarskuwing - die program <tt>procmail</tt> wat vir e-posfiltering gebruik word, is nie op hierdie stelsel geïnstalleer nie. Dit is onwaarskynlik dat enige filters hieronder gedefinieer word.
|
||||
index_alias=Waarskuwing - die stelsel is opgestel om alle e-posse na u volgende bestemmings na u posbus te stuur. Filters wat hier gedefinieer word, sal nie gebruik word nie.
|
||||
index_aliasme=Opmerking - die stelsel is ook ingestel om alle e-posse aan te stuur na :
|
||||
index_force=Waarskuwing - die stelsel is ingestel om nie die gebruiker-gedefinieerde e-posfilters te verwerk nie. Filters wat hier gedefinieer word, sal nie gebruik word nie.
|
||||
index_force=Die stelsel is opgestel om nie gebruikergedefinieerde posfilters te verwerk nie. Filters wat hier gedefinieer word, sal nie gebruik word nie.
|
||||
index_force_desc=Administrateur kan egter hierdie funksionaliteit aan Virtualmin-kant aktiveer deur die <tt>E-posinstellings Strooipos en Virusskandering</tt>-bladsy te gebruik.
|
||||
index_period=Minimum tyd tussen outo-antwoorde
|
||||
index_noperiod=Geen minimum nie
|
||||
index_mins=minute
|
||||
|
||||
@@ -34,7 +34,8 @@ index_return=قائمة التصفية
|
||||
index_warn=تحذير - البرنامج <tt>procmail</tt> المستخدم لتصفية البريد غير مثبت على هذا النظام. من غير المحتمل أن تعمل أي فلاتر محددة أدناه.
|
||||
index_alias=تحذير - تم تكوين النظام لإعادة توجيه كل البريد الإلكتروني إلى صندوق البريد الخاص بك إلى الوجهات التالية. لن يتم استخدام الفلاتر المحددة هنا.
|
||||
index_aliasme=ملاحظة - تم تكوين النظام أيضًا لإعادة توجيه كل البريد الإلكتروني إلى :
|
||||
index_force=تحذير - تم تكوين النظام بحيث لا يقوم بمعالجة عوامل تصفية البريد المعرفة من قبل المستخدم. لن يتم استخدام الفلاتر المحددة هنا.
|
||||
index_force=تم تكوين النظام لعدم معالجة عوامل تصفية البريد المعرفة من قبل المستخدم. لن يتم استخدام المرشحات المحددة هنا.
|
||||
index_force_desc=ومع ذلك ، يمكن للمسؤول تمكين هذه الوظيفة على جانب Virtualmin باستخدام صفحة <tt>إعدادات البريد الإلكتروني البريد العشوائي وفحص الفيروسات</tt>.
|
||||
index_period=الحد الأدنى من الوقت بين الردود التلقائية
|
||||
index_noperiod=لا يوجد حد أدنى
|
||||
index_mins=الدقائق
|
||||
|
||||
@@ -34,7 +34,8 @@ index_return=спіс фільтраў
|
||||
index_warn=Папярэджанне - праграма <tt>procmail</tt>, якая выкарыстоўваецца для фільтрацыі пошты, не ўстаноўлена ў гэтай сістэме. Любыя фільтры, вызначаныя ніжэй, наўрад ці спрацуюць.
|
||||
index_alias=Папярэджанне - сістэма настроена для перасылкі ўсёй электроннай пошты ў паштовую скрыню да наступных месцаў. Вызначаныя тут фільтры не будуць выкарыстоўвацца.
|
||||
index_aliasme=Заўвага - сістэма таксама настроена перасылаць усю электронную пошту на :
|
||||
index_force=Папярэджанне - сістэма настроена для апрацоўкі паштовых фільтраў, вызначаных карыстальнікам. Вызначаныя тут фільтры не будуць выкарыстоўвацца.
|
||||
index_force=Сістэма настроена так, каб не апрацоўваць вызначаныя карыстальнікам фільтры пошты. Вызначаныя тут фільтры выкарыстоўвацца не будуць.
|
||||
index_force_desc=Аднак адміністратар можа ўключыць гэтую функцыю на баку Virtualmin, выкарыстоўваючы старонку <tt>Настройкі электроннай пошты Спам і вірусы</tt>.
|
||||
index_period=Мінімальны час паміж аўтарскімі адказамі
|
||||
index_noperiod=Ніякага мінімуму
|
||||
index_mins=хвілін
|
||||
|
||||
@@ -34,7 +34,8 @@ index_return=списък с филтри
|
||||
index_warn=Предупреждение - Програмата <tt>procmail</tt>, използвана за филтриране на поща, не е инсталирана в тази система. Всички дефинирани по-долу филтри е малко вероятно да работят.
|
||||
index_alias=Предупреждение - Системата е конфигурирана да препраща целия имейл до вашата пощенска кутия до следните дестинации. Дефинираните тук филтри няма да бъдат използвани.
|
||||
index_aliasme=Забележка - Системата също е конфигурирана да препраща всички имейли към :
|
||||
index_force=Предупреждение - Системата е конфигурирана да не обработва определени потребителски филтри. Дефинираните тук филтри няма да бъдат използвани.
|
||||
index_force=Системата е конфигурирана да не обработва дефинирани от потребителя филтри за поща. Филтрите, дефинирани тук, няма да се използват.
|
||||
index_force_desc=Въпреки това, администраторът може да активира тази функционалност от страна на Virtualmin, като използва страницата <tt>Настройки на имейла Спам и сканиране за вируси</tt>.
|
||||
index_period=Минимално време между автоотговорите
|
||||
index_noperiod=Няма минимум
|
||||
index_mins=минути
|
||||
|
||||
@@ -34,7 +34,6 @@ index_return=a la llista de filtres
|
||||
index_warn=Atenció - El programa <tt>procmail</tt> utilitzat per al filtratge de correu no està instal·lat en aquest sistema. No funcionarà cap dels filtres definits més avall.
|
||||
index_alias=Atenció - El sistema està configurat per reenviar tot el correu de la teva bústia a les destinacions següents. Els filtres definits aquí no s'utilitzaran.
|
||||
index_aliasme=Avís - El sistema també està configurat per reenviar tot el correu a:
|
||||
index_force=Avís - El sistema està configurat per a no processar els filtres de correu definits per l'usuari. Els filtres definits aquí no s'utilitzaran.
|
||||
index_period=Temps mínim entre autorespostes
|
||||
index_noperiod=No hi ha mínim
|
||||
index_mins=minuts
|
||||
|
||||
2
filter/lang/ca.auto
Normal file
2
filter/lang/ca.auto
Normal file
@@ -0,0 +1,2 @@
|
||||
index_force=El sistema està configurat per no processar els filtres de correu definits per l'usuari. Els filtres definits aquí no s'utilitzaran.
|
||||
index_force_desc=Tanmateix, l'administrador pot activar aquesta funcionalitat al costat de Virtualmin mitjançant la pàgina <tt>Configuració de correu brossa i exploració de virus</tt>.
|
||||
@@ -26,7 +26,6 @@ index_return=seznam filtrů
|
||||
index_warn=Upozornění - program procmail používaný k filtrování pošty není na tomto systému nainstalován. Některé níže definované filtry nebudou nejspíše pracovat.
|
||||
index_alias=Upozornění - systém je nakonfigurován na přeposlání všech e-mailů přicházejících do vaší e-mailové schránky k následujícím cílům. Zde definované filtry nebudou použity.
|
||||
index_aliasme=Poznámka - systém je také nakonfigurován předat celý e-mail k:
|
||||
index_force=Upozornění - systém je konfigurován nezpracovat uživatelsky definované poštovní filtry. Jakékoliv filtry definované níže pravděpodobně nebudou vykonány.
|
||||
index_period=Minimální čas mezi utomatickými odověďmi
|
||||
index_noperiod=Bez minima
|
||||
index_mins=minuty
|
||||
|
||||
@@ -6,6 +6,8 @@ edit_modestart=začíná s
|
||||
edit_modecont=obsahuje
|
||||
edit_modeend=končí s
|
||||
edit_regexp=Regulární výraz?
|
||||
index_force=Systém je nakonfigurován tak, aby nezpracovával uživatelsky definované filtry pošty. Zde definované filtry nebudou použity.
|
||||
index_force_desc=Správce však může povolit tuto funkci na straně Virtualmin pomocí stránky <tt>Nastavení e-mailu Kontrola spamu a virů</tt>.
|
||||
index_forever=Navždy
|
||||
index_ondate=datum
|
||||
index_charset=Znaková sada autoreply zprávy
|
||||
|
||||
@@ -34,7 +34,8 @@ index_return=filterliste
|
||||
index_warn=Advarsel - Programmet <tt>procmail</tt>, der bruges til mailfiltrering, er ikke installeret på dette system. Eventuelle filtre defineret nedenfor fungerer sandsynligvis ikke.
|
||||
index_alias=Advarsel - Systemet er konfigureret til at videresende al e-mail til din postkasse til følgende destinationer. Filtre defineret her vil ikke blive brugt.
|
||||
index_aliasme=Bemærk - Systemet er også konfigureret videresende al e-mail til :
|
||||
index_force=Advarsel - Systemet er konfigureret til ikke at behandle brugerdefinerede mailfiltre. Filtre defineret her vil ikke blive brugt.
|
||||
index_force=Systemet er konfigureret til ikke at behandle brugerdefinerede mailfiltre. Filtre defineret her vil ikke blive brugt.
|
||||
index_force_desc=Administrator kan dog aktivere denne funktionalitet på Virtualmin-siden ved at bruge siden <tt>E-mailindstillinger Spam og Virusscanning</tt>.
|
||||
index_period=Minimum tid mellem autoreplies
|
||||
index_noperiod=Intet minimum
|
||||
index_mins=minutter
|
||||
|
||||
@@ -34,7 +34,6 @@ index_return=Filter Liste
|
||||
index_warn=Warnung - Das Programm <tt>procmail</tt> zur Mailfilterung ist auf diesem System nicht installiert. Alle definierten Filter werden nicht funktionieren.
|
||||
index_alias=Warnung - Das ist so konfiguriert, dass alle E-Mails in dein Postfach an folgende Destinationen geleitet werden. Filter welche hier definiert werden, werden nicht verwendet.
|
||||
index_aliasme=Hinweis - Das System ist so konfiguriert, dass alle E-Mails weitergeleitet werden an :
|
||||
index_force=Warnung - Das System ist so konfiguriert, dass benutzerdefinierte Mailfilter ignoriert werden. Alle definierten Filter werden nicht funktionieren.
|
||||
index_period=Minimum Zeit zwischen Autoantworten
|
||||
index_noperiod=Kein Minimum
|
||||
index_mins=Minuten
|
||||
|
||||
2
filter/lang/de.auto
Normal file
2
filter/lang/de.auto
Normal file
@@ -0,0 +1,2 @@
|
||||
index_force=Das System ist so konfiguriert, dass benutzerdefinierte Mailfilter nicht verarbeitet werden. Hier definierte Filter werden nicht verwendet.
|
||||
index_force_desc=Der Administrator kann diese Funktionalität jedoch auf Virtualmin-Seite über die Seite <tt>E-Mail-Einstellungen, Spam- und Virenprüfung</tt> aktivieren.
|
||||
@@ -8,7 +8,8 @@ edit_modestart=ξεκινάει με
|
||||
edit_modecont=περιέχει
|
||||
edit_modeend=τελειώνει με
|
||||
edit_regexp=Κοινή έκφραση?
|
||||
index_force=Προειδοποίηση - Το σύστημα έχει ρυθμιστεί ώστε να μην επεξεργάζεται φίλτρα αλληλογραφίας που έχουν οριστεί από το χρήστη. Τα φίλτρα που ορίζονται εδώ δεν θα χρησιμοποιηθούν.
|
||||
index_force=Το σύστημα έχει ρυθμιστεί ώστε να μην επεξεργάζεται φίλτρα αλληλογραφίας που ορίζονται από το χρήστη. Τα φίλτρα που ορίζονται εδώ δεν θα χρησιμοποιηθούν.
|
||||
index_force_desc=Ωστόσο, ο διαχειριστής μπορεί να ενεργοποιήσει αυτήν τη λειτουργία από την πλευρά του Virtualmin χρησιμοποιώντας τη σελίδα <tt>Ρυθμίσεις ηλεκτρονικού ταχυδρομείου Ανεπιθύμητα και Σάρωση ιών</tt>.
|
||||
index_astart=Μην στείλετε αυτόματα πριν
|
||||
index_aend=Μην αποστέλλετε αυτόματα μετά
|
||||
index_forever=Για πάντα
|
||||
|
||||
@@ -34,7 +34,8 @@ index_return=filter list
|
||||
index_warn=Warning - The program <tt>procmail</tt> used for mail filtering is not installed on this system. Any filters defined below are unlikely to work.
|
||||
index_alias=Warning - The system is configured to forward all email to your mailbox to the following destinations. Filters defined here will not be used.
|
||||
index_aliasme=Note - The system is also configured forward all email to :
|
||||
index_force=Warning - The system is configured to not process user-defined mail filters. Filters defined here will not be used.
|
||||
index_force=The system is configured to not process user-defined mail filters. Filters defined here will not be used.
|
||||
index_force_desc=However, administrator can enabled this functionality on Virtualmin side using <tt>Email Settings ⇾ Spam and Virus Scanning</tt> page.
|
||||
index_period=Minimum time between autoreplies
|
||||
index_noperiod=No minimum
|
||||
index_mins=minutes
|
||||
|
||||
@@ -34,7 +34,8 @@ index_return=lista de filtros
|
||||
index_warn=Advertencia: el programa <tt>procmail</tt> utilizado para el filtrado de correo no está instalado en este sistema. Es poco probable que los filtros definidos a continuación funcionen.
|
||||
index_alias=Advertencia: el sistema está configurado para reenviar todo el correo electrónico a su buzón a los siguientes destinos. Los filtros definidos aquí no serán utilizados.
|
||||
index_aliasme=Nota: el sistema también está configurado para reenviar todo el correo electrónico a :
|
||||
index_force=Advertencia: el sistema está configurado para no procesar filtros de correo definidos por el usuario. Los filtros definidos aquí no serán utilizados.
|
||||
index_force=El sistema está configurado para no procesar filtros de correo definidos por el usuario. Los filtros definidos aquí no se utilizarán.
|
||||
index_force_desc=Sin embargo, el administrador puede habilitar esta funcionalidad en el lado de Virtualmin mediante la página <tt>Configuración de correo electrónico, análisis de spam y virus</tt>.
|
||||
index_period=Tiempo mínimo entre respuestas automáticas
|
||||
index_noperiod=Sin mínimo
|
||||
index_mins=minutos
|
||||
|
||||
@@ -34,7 +34,8 @@ index_return=iragazki zerrenda
|
||||
index_warn=Abisua: mezuak iragazteko erabilitako <tt>procmail</tt> programa ez dago sisteman instalatuta. Jarraian zehazten diren iragazkiek ez dute funtzionatuko.
|
||||
index_alias=Abisua: sistema konfiguratuta dago mezu guztiak zure postontzira hurrengo helmugetara birbidaltzeko. Hemen zehaztutako iragazkiak ez dira erabiliko.
|
||||
index_aliasme=Oharra - Sistema konfiguratuta dago mezu elektroniko guztiak birbidaltzeko :
|
||||
index_force=Abisua: sistema konfiguratuta dago erabiltzaileak zehaztutako posta iragazkiak ez prozesatzeko. Hemen zehaztutako iragazkiak ez dira erabiliko.
|
||||
index_force=Sistema erabiltzaileak definitutako posta-iragazkiak ez prozesatzeko konfiguratuta dago. Hemen definitutako iragazkiak ez dira erabiliko.
|
||||
index_force_desc=Hala ere, administratzaileak funtzionalitate hau gaitu dezake Virtualmin aldean <tt>Posta elektronikoaren ezarpenak Spam eta birusen eskaneamendua</tt> orria erabiliz.
|
||||
index_period=Autoreplikaren arteko gutxieneko denbora
|
||||
index_noperiod=Gutxienez
|
||||
index_mins=minutu
|
||||
|
||||
@@ -34,7 +34,8 @@ index_return=لیست فیلتر
|
||||
index_warn=هشدار - برنامه <tt>procmail</tt> که برای فیلتر کردن نامه استفاده می شود در این سیستم نصب نشده است. هر فیلتر تعریف شده در زیر بعید است کار کند.
|
||||
index_alias=اخطار - سیستم پیکربندی شده است تا تمام ایمیل ها را به صندوق پستی شما به مقصد زیر ارسال کند. از فیلترهای تعریف شده در اینجا استفاده نمی شود.
|
||||
index_aliasme=توجه - این سیستم همچنین پیکربندی شده است که کلیه ایمیلها به این آدرس ارسال شده است :
|
||||
index_force=هشدار - سیستم پیکربندی شده است تا فیلترهای پست الکترونیکی تعریف شده توسط کاربر را پردازش نکند. از فیلترهای تعریف شده در اینجا استفاده نمی شود.
|
||||
index_force=سیستم طوری پیکربندی شده است که فیلترهای ایمیل تعریف شده توسط کاربر را پردازش نکند. فیلترهای تعریف شده در اینجا استفاده نخواهند شد.
|
||||
index_force_desc=با این حال، مدیر می تواند این عملکرد را در سمت Virtualmin با استفاده از صفحه <tt>تنظیمات ایمیل و اسکن ویروس</tt> فعال کند.
|
||||
index_period=حداقل زمان بین autoreplies
|
||||
index_noperiod=حداقل
|
||||
index_mins=دقایق
|
||||
|
||||
@@ -8,7 +8,8 @@ edit_modestart=alkaa
|
||||
edit_modecont=sisältää
|
||||
edit_modeend=loppuu
|
||||
edit_regexp=Tavallinen ilme?
|
||||
index_force=Varoitus - Järjestelmä on määritetty käsittelemään käyttäjän määrittämiä sähköpostisuodattimia. Tässä määritettyjä suodattimia ei käytetä.
|
||||
index_force=Järjestelmä on määritetty olemaan käsittelemättä käyttäjän määrittämiä sähköpostisuodattimia. Tässä määritettyjä suodattimia ei käytetä.
|
||||
index_force_desc=Järjestelmänvalvoja voi kuitenkin ottaa tämän toiminnon käyttöön Virtualmin-puolella <tt>Sähköpostiasetukset Roskaposti- ja virustarkistus</tt> -sivulla.
|
||||
index_astart=Älä lähetä vastauksia aiemmin
|
||||
index_aend=Älä lähetä vastauksia jälkeen
|
||||
index_forever=Ikuisesti
|
||||
|
||||
@@ -34,7 +34,8 @@ index_return=liste de filtres
|
||||
index_warn=Avertissement - Le programme <tt>procmail</tt> utilisé pour le filtrage du courrier n'est pas installé sur ce système. Il est peu probable que les filtres définis ci-dessous fonctionnent.
|
||||
index_alias=Avertissement - Le système est configuré pour transférer tous les e-mails vers votre boîte aux lettres vers les destinations suivantes. Les filtres définis ici ne seront pas utilisés.
|
||||
index_aliasme=Remarque - Le système est également configuré pour transmettre tous les e-mails à :
|
||||
index_force=Avertissement - Le système est configuré pour ne pas traiter les filtres de messagerie définis par l'utilisateur. Les filtres définis ici ne seront pas utilisés.
|
||||
index_force=Le système est configuré pour ne pas traiter les filtres de messagerie définis par l'utilisateur. Les filtres définis ici ne seront pas utilisés.
|
||||
index_force_desc=Cependant, l'administrateur peut activer cette fonctionnalité du côté de Virtualmin à l'aide de la page <tt>Email Settings Spam and Virus Scanning</tt>.
|
||||
index_period=Temps minimum entre les réponses automatiques
|
||||
index_noperiod=Pas de minimum
|
||||
index_mins=minutes
|
||||
|
||||
@@ -34,7 +34,8 @@ index_return=רשימת סינון
|
||||
index_warn=אזהרה - התוכנית <tt>procmail</tt> המשמשת לסינון דואר אינה מותקנת במערכת זו. סביר להניח שלא כל המסננים המוגדרים להלן יפעלו.
|
||||
index_alias=אזהרה - המערכת מוגדרת להעברת כל הדוא"ל לתיבת הדואר שלך ליעדים הבאים. מסננים שהוגדרו כאן לא ישמשו.
|
||||
index_aliasme=הערה - המערכת מוגדרת גם להעברת כל הדוא"ל ל :
|
||||
index_force=אזהרה - המערכת מוגדרת לא לעבד מסנני דואר מוגדרים על ידי המשתמש. מסננים שהוגדרו כאן לא ישמשו.
|
||||
index_force=המערכת מוגדרת שלא לעבד מסנני דואר המוגדרים על ידי המשתמש. לא ייעשה שימוש במסננים המוגדרים כאן.
|
||||
index_force_desc=עם זאת, מנהל מערכת יכול להפעיל פונקציונליות זו בצד של Virtualmin באמצעות הדף <tt>הגדרות דואר דואר זבל וסריקת וירוסים</tt>.
|
||||
index_period=זמן מינימלי בין תגובות אוטומטיות
|
||||
index_noperiod=אין מינימום
|
||||
index_mins=דקות
|
||||
|
||||
@@ -34,7 +34,8 @@ index_return=popis filtera
|
||||
index_warn=Upozorenje - Program <tt>procmail</tt> koji se koristi za filtriranje pošte nije instaliran na ovom sustavu. Bilo koji filtri definirani u nastavku vjerojatno neće raditi.
|
||||
index_alias=Upozorenje - Sustav je konfiguriran za prosljeđivanje svih poruka e-pošte u vaš poštanski sandučić na sljedeća odredišta. Ovdje definirani filtri se neće koristiti.
|
||||
index_aliasme=Napomena - Sustav je također konfiguriran za prosljeđivanje svih poruka e-pošte na :
|
||||
index_force=Upozorenje - Sustav je konfiguriran za obradu filtera pošte koji su definirani od strane korisnika. Ovdje definirani filtri se neće koristiti.
|
||||
index_force=Sustav je konfiguriran da ne obrađuje korisnički definirane filtere pošte. Ovdje definirani filtri neće se koristiti.
|
||||
index_force_desc=Međutim, administrator može omogućiti ovu funkciju na strani Virtualmin pomoću stranice <tt>Postavke e-pošte Spam i skeniranje virusa</tt>.
|
||||
index_period=Minimalno vrijeme između odgovora
|
||||
index_noperiod=Ni najmanje
|
||||
index_mins=minuta
|
||||
|
||||
@@ -34,7 +34,6 @@ index_return=filter list
|
||||
index_warn=Warning - The program <tt>procmail</tt> used for mail filtering is not installed on this system. Any filters defined below are unlikely to work.
|
||||
index_alias=Warning - The system is configured to forward all email to your mailbox to the following destinations. Filters defined here will not be used.
|
||||
index_aliasme=Note - The system is also configured forward all email to :
|
||||
index_force=Warning - The system is configured to not process user-defined mail filters. Filters defined here will not be used.
|
||||
index_period=Minimum time between autoreplies
|
||||
index_noperiod=No minimum
|
||||
index_mins=minutes
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
index_force=A rendszer úgy van konfigurálva, hogy ne dolgozza fel a felhasználó által meghatározott levélszűrőket. Az itt meghatározott szűrők nem kerülnek felhasználásra.
|
||||
index_force_desc=A rendszergazda azonban engedélyezheti ezt a funkciót a Virtualmin oldalon az <tt>E-mail beállítások Spam és víruskeresés</tt> oldalon.
|
||||
index_forever=Örökké
|
||||
index_ondate=Dátum
|
||||
index_subject=Automatikus válasz üzenet tárgya
|
||||
|
||||
@@ -34,7 +34,8 @@ index_return=elenco di filtri
|
||||
index_warn=Avvertenza - Il programma <tt>procmail</tt> utilizzato per il filtraggio della posta non è installato su questo sistema. È improbabile che qualsiasi filtro definito di seguito funzioni.
|
||||
index_alias=Avviso: il sistema è configurato per inoltrare tutta la posta elettronica alla propria casella di posta alle seguenti destinazioni. I filtri qui definiti non verranno utilizzati.
|
||||
index_aliasme=Nota: il sistema è inoltre configurato per inoltrare tutta la posta elettronica a :
|
||||
index_force=Avviso: il sistema è configurato per non elaborare i filtri di posta definiti dall'utente. I filtri qui definiti non verranno utilizzati.
|
||||
index_force=Il sistema è configurato per non elaborare i filtri di posta definiti dall'utente. I filtri qui definiti non verranno utilizzati.
|
||||
index_force_desc=Tuttavia, l'amministratore può abilitare questa funzionalità sul lato Virtualmin utilizzando la pagina <tt>Impostazioni e-mail Scansione antispam e virus</tt>.
|
||||
index_period=Tempo minimo tra gli autoreplies
|
||||
index_noperiod=Nessun minimo
|
||||
index_mins=minuti
|
||||
|
||||
@@ -34,7 +34,8 @@ index_return=フィルターリスト
|
||||
index_warn=警告-メールフィルタリングに使用されるプログラム<tt>procmail</tt>がこのシステムにインストールされていません。以下で定義されているフィルターは機能しない可能性があります。
|
||||
index_alias=警告-システムは、すべてのメールをメールボックスに次の宛先に転送するように構成されています。ここで定義されたフィルターは使用されません。
|
||||
index_aliasme=注-システムは、すべての電子メールを以下に転送するように構成されています。
|
||||
index_force=警告-システムは、ユーザー定義のメールフィルターを処理しないように構成されています。ここで定義されたフィルターは使用されません。
|
||||
index_force=システムは、ユーザー定義のメールフィルターを処理しないように構成されています。ここで定義されたフィルターは使用されません。
|
||||
index_force_desc=ただし、管理者は<tt>メール設定スパムとウイルススキャン</tt>ページを使用してVirtualmin側でこの機能を有効にすることができます。
|
||||
index_period=自動応答間の最小時間
|
||||
index_noperiod=最小なし
|
||||
index_mins=数分
|
||||
|
||||
@@ -34,7 +34,8 @@ index_return=필터 목록
|
||||
index_warn=경고-메일 필터링에 사용 된 <tt>procmail</tt> 프로그램이이 시스템에 설치되어 있지 않습니다. 아래 정의 된 필터는 작동하지 않을 수 있습니다.
|
||||
index_alias=경고-시스템은 모든 전자 메일을 사서함으로 보내 다음 대상으로 전달하도록 구성되어 있습니다. 여기에 정의 된 필터는 사용되지 않습니다.
|
||||
index_aliasme=참고-시스템은 모든 이메일을 다음으로 전달하도록 구성되어 있습니다.
|
||||
index_force=경고-시스템이 사용자 정의 메일 필터를 처리하지 않도록 구성되었습니다. 여기에 정의 된 필터는 사용되지 않습니다.
|
||||
index_force=시스템은 사용자 정의 메일 필터를 처리하지 않도록 구성되어 있습니다. 여기에 정의된 필터는 사용되지 않습니다.
|
||||
index_force_desc=그러나 관리자는 <tt>이메일 설정 스팸 및 바이러스 검색</tt> 페이지를 사용하여 Virtualmin 측에서 이 기능을 활성화할 수 있습니다.
|
||||
index_period=자동 회신 사이의 최소 시간
|
||||
index_noperiod=최소
|
||||
index_mins=의사록
|
||||
|
||||
@@ -34,7 +34,8 @@ index_return=filtrų sąrašas
|
||||
index_warn=Įspėjimas - šioje sistemoje neįdiegta pašto filtravimui naudojama programa <tt>procmail</tt>. Bet kokie toliau nurodyti filtrai greičiausiai neveiks.
|
||||
index_alias=Įspėjimas - sistema sukonfigūruota perduoti visus el. Laiškus į jūsų pašto dėžutę toliau nurodytoms vietoms. Čia apibrėžti filtrai nebus naudojami.
|
||||
index_aliasme=Pastaba: sistema taip pat sukonfigūruota visus el. Laiškus persiųsti į :
|
||||
index_force=Įspėjimas - sistema sukonfigūruota neapdoroti vartotojo nustatytų pašto filtrų. Čia apibrėžti filtrai nebus naudojami.
|
||||
index_force=Sistema sukonfigūruota neapdoroti vartotojo nustatytų pašto filtrų. Čia nustatyti filtrai nebus naudojami.
|
||||
index_force_desc=Tačiau administratorius gali įjungti šią funkciją „Virtualmin“ pusėje, naudodamas puslapį <tt>El. pašto nustatymai, šlamšto ir virusų nuskaitymas</tt>.
|
||||
index_period=Minimalus laikas tarp automatinių atsakymų
|
||||
index_noperiod=Nėra minimalaus
|
||||
index_mins=minučių
|
||||
|
||||
@@ -34,7 +34,8 @@ index_return=filtru saraksts
|
||||
index_warn=Brīdinājums - šajā sistēmā nav instalēta programma <tt>procmail</tt>, kas tiek izmantota pasta filtrēšanai. Maz ticams, ka visi turpmāk definētie filtri darbosies.
|
||||
index_alias=Brīdinājums - sistēma ir konfigurēta, lai pārsūtītu visus e-pastus uz jūsu pastkasti uz šādiem adresātiem. Šeit noteiktie filtri netiks izmantoti.
|
||||
index_aliasme=Piezīme. Sistēma ir konfigurēta arī visu e-pastu pārsūtīšanai uz :
|
||||
index_force=Brīdinājums - sistēma ir konfigurēta neapstrādāt lietotāja definētus pasta filtrus. Šeit noteiktie filtri netiks izmantoti.
|
||||
index_force=Sistēma ir konfigurēta tā, lai tā neapstrādātu lietotāja definētus pasta filtrus. Šeit definētie filtri netiks izmantoti.
|
||||
index_force_desc=Tomēr administrators var iespējot šo funkcionalitāti Virtualmin pusē, izmantojot lapu <tt>E-pasta iestatījumi Mēstules un vīrusu skenēšana</tt>.
|
||||
index_period=Minimālais laiks starp automātiskajām atbildēm
|
||||
index_noperiod=Nav minimuma
|
||||
index_mins=minūtes
|
||||
|
||||
@@ -34,7 +34,8 @@ index_return=senarai penapis
|
||||
index_warn=Amaran - Program <tt>procmail</tt> yang digunakan untuk penapisan mel tidak dipasang pada sistem ini. Mana-mana penapis yang ditakrifkan di bawah tidak mungkin berfungsi.
|
||||
index_alias=Amaran - Sistem ini dikonfigurasi untuk menghantar semua e-mel ke peti mel anda ke destinasi berikut. Penapis yang ditakrifkan di sini tidak akan digunakan.
|
||||
index_aliasme=Nota - Sistem ini juga dikonfigurasi ke hadapan semua e-mel kepada :
|
||||
index_force=Amaran - Sistem ini dikonfigurasi untuk tidak memproses penapis mel yang ditetapkan pengguna. Penapis yang ditakrifkan di sini tidak akan digunakan.
|
||||
index_force=Sistem dikonfigurasikan untuk tidak memproses penapis mel yang ditentukan pengguna. Penapis yang ditakrifkan di sini tidak akan digunakan.
|
||||
index_force_desc=Walau bagaimanapun, pentadbir boleh mendayakan fungsi ini di sebelah Virtualmin menggunakan halaman <tt>Tetapan E-mel Spam dan Pengimbasan Virus</tt>.
|
||||
index_period=Masa minimum antara autoreplies
|
||||
index_noperiod=Tiada minimum
|
||||
index_mins=minit
|
||||
|
||||
@@ -34,7 +34,8 @@ index_return=Lista tal-filtri
|
||||
index_warn=Twissija - Il-programm <tt>procmail</tt> użat għall-filtrazzjoni tal-posta mhux installat fuq din is-sistema. Kwalunkwe filtri definiti hawn taħt x'aktarx ma jaħdmux.
|
||||
index_alias=Twissija - Is-sistema hija kkonfigurata biex tibgħat l-email kollha lill-kaxxa postali tiegħek lejn id-destinazzjonijiet li ġejjin. Filtri definiti hawn ma jintużawx.
|
||||
index_aliasme=Nota - Is-sistema hija kkonfigurata wkoll biex tibgħat l-email kollha lil :
|
||||
index_force=Twissija - Is-sistema hija kkonfigurata biex ma tipproċessax filtri tal-posta definiti mill-utent. Filtri definiti hawn ma jintużawx.
|
||||
index_force=Is-sistema hija kkonfigurata biex ma tipproċessax filtri tal-posta definiti mill-utent. Filtri definiti hawn mhux se jintużaw.
|
||||
index_force_desc=Madankollu, l-amministratur jista 'jabilita din il-funzjonalità fuq in-naħa ta' Virtualmin billi juża l-paġna <tt>Ispam tal-Ispam u Skannjar tal-Virus tal-Email Settings</tt>.
|
||||
index_period=Ħin minimu bejn l-autoreplies
|
||||
index_noperiod=L-ebda minimu
|
||||
index_mins=minuti
|
||||
|
||||
@@ -34,7 +34,6 @@ index_return=filter lijst
|
||||
index_warn=Waarschuwing - Het programma <tt>procmail</tt> wat gebruikt word voor mail filteren is niet geinstalleerd op dit systeem. Alle gedefinieerde filters die hieronder staan zullen waarschijnlijk niet werken.
|
||||
index_alias=Waarschuwing - Dit systeem is zo geconfigureerd dat alle email voor uw mailbox naar de volgende bestemmingen gaat. Filters die hier gedefinieerd zijn worden niet gebruikt.
|
||||
index_aliasme=Let Op - Dit systeem is ook geconfigureerd om alle email door te sturen naar :
|
||||
index_force=Waarschuwing - Dit systeem is zo geconfigureerd dat het geen gebruiker-gedefinieerde filters gebruikt. Alle geconfigureerde filters die hieronder staan worden niet gebruikt.
|
||||
index_period=Minimum tijd tussen auto-antwoorden
|
||||
index_noperiod=Geen minimum
|
||||
index_mins=minuten
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
index_force=Het systeem is geconfigureerd om door de gebruiker gedefinieerde e-mailfilters niet te verwerken. Hier gedefinieerde filters worden niet gebruikt.
|
||||
index_force_desc=De beheerder kan deze functionaliteit echter aan de kant van Virtualmin inschakelen via de pagina <tt>E-mailinstellingen Spam en virusscannen</tt>.
|
||||
index_forever=Voor altijd
|
||||
index_ondate=Datum
|
||||
index_subject=Onderwerp bericht automatisch beantwoorden
|
||||
|
||||
@@ -34,7 +34,6 @@ index_return=filterliste
|
||||
index_warn=Advarsel - Programmet <tt>procmail</tt> som brukes til filtrering av e-post, er ikke installert på systemet ditt. Filterene definert nedenfor vil derfor mest sannsynlig ikke virke.
|
||||
index_alias=Advarsel - Systemet er konfigurert til å videresende all e-post til din postboks til følgende destinasjoner. Filtere definert her vil ikke bli brukt.
|
||||
index_aliasme=Merk - Systemet er også konfigurert til å videresende all e-post til :
|
||||
index_force=Advarsel - Systemet er konfigurert til ikke å behandle bruker-definerte e-post filtere. Filtere definert her vil ikke bli brukt.
|
||||
index_period=Minimumstid mellom autosvar
|
||||
index_noperiod=Ingen minimum
|
||||
index_mins=minutter
|
||||
|
||||
2
filter/lang/no.auto
Normal file
2
filter/lang/no.auto
Normal file
@@ -0,0 +1,2 @@
|
||||
index_force=Systemet er konfigurert til å ikke behandle brukerdefinerte e-postfiltre. Filtre som er definert her vil ikke bli brukt.
|
||||
index_force_desc=Administrator kan imidlertid aktivere denne funksjonaliteten på Virtualmin-siden ved å bruke siden <tt>E-postinnstillinger Spam og Virusskanning</tt>.
|
||||
@@ -34,7 +34,6 @@ index_return=listy filtrów
|
||||
index_warn=Ostrzeżenie - Program <tt>procmail</tt> używany do filtrowania e-maili nie jest zainstalowany. Ustawione tu filtry nie będą działać.
|
||||
index_alias=Ostrzeżenie - System jest skonfigurowany, aby przesyłać wszystkie e-maile do twojej skrzynki pocztowej. Ustawione tu filtry nie będą używane.
|
||||
index_aliasme=Informacja - System jest także skonfigurowany do przesyłania wszystkich e-maili do :
|
||||
index_force=Ostrzeżenie - System został skonfigurowany, aby nie przetwarzać filtrów ustawionych przez użytkownika. Ustawione tutaj filtry nie będą używane.
|
||||
index_period=Minimalny odstęp czasu pomiędzy auto odpowiedziami
|
||||
index_noperiod=Bez minimum
|
||||
index_mins=minut
|
||||
|
||||
@@ -1,2 +1,4 @@
|
||||
index_force=System jest skonfigurowany tak, aby nie przetwarzał filtrów poczty zdefiniowanych przez użytkownika. Zdefiniowane tutaj filtry nie będą używane.
|
||||
index_force_desc=Jednak administrator może włączyć tę funkcję po stronie Virtualmin za pomocą strony <tt>Ustawienia poczty e-mail, dotyczące spamu i skanowania antywirusowego</tt>.
|
||||
index_forever=Na zawsze
|
||||
index_ondate=Data
|
||||
|
||||
@@ -34,7 +34,8 @@ index_return=lista de filtros
|
||||
index_warn=Aviso - O programa <tt>procmail</tt> usado para filtragem de mensagens não está instalado neste sistema. É improvável que qualquer filtro definido abaixo funcione.
|
||||
index_alias=Aviso - O sistema está configurado para encaminhar todos os emails para sua caixa postal para os seguintes destinos. Os filtros definidos aqui não serão usados.
|
||||
index_aliasme=Nota - O sistema também está configurado para encaminhar todos os emails para :
|
||||
index_force=Aviso - O sistema está configurado para não processar filtros de correio definidos pelo usuário. Os filtros definidos aqui não serão usados.
|
||||
index_force=O sistema está configurado para não processar filtros de correio definidos pelo usuário. Os filtros definidos aqui não serão usados.
|
||||
index_force_desc=No entanto, o administrador pode habilitar essa funcionalidade no lado do Virtualmin usando a página <tt>Configurações de e-mail Verificação de spam e vírus</tt>.
|
||||
index_period=Tempo mínimo entre respostas automáticas
|
||||
index_noperiod=Nenhum mínimo
|
||||
index_mins=minutos
|
||||
|
||||
@@ -34,7 +34,8 @@ index_return=lista de filtros
|
||||
index_warn=Aviso - O programa <tt>procmail</tt> usado para filtragem de mensagens não está instalado neste sistema. É improvável que qualquer filtro definido abaixo funcione.
|
||||
index_alias=Aviso - O sistema está configurado para encaminhar todos os emails para sua caixa postal para os seguintes destinos. Os filtros definidos aqui não serão usados.
|
||||
index_aliasme=Nota - O sistema também está configurado para encaminhar todos os emails para :
|
||||
index_force=Aviso - O sistema está configurado para não processar filtros de correio definidos pelo usuário. Os filtros definidos aqui não serão usados.
|
||||
index_force=O sistema está configurado para não processar filtros de correio definidos pelo usuário. Os filtros definidos aqui não serão usados.
|
||||
index_force_desc=No entanto, o administrador pode habilitar essa funcionalidade no lado do Virtualmin usando a página <tt>Configurações de e-mail Verificação de spam e vírus</tt>.
|
||||
index_period=Tempo mínimo entre respostas automáticas
|
||||
index_noperiod=Nenhum mínimo
|
||||
index_mins=minutos
|
||||
|
||||
@@ -34,7 +34,8 @@ index_return=lista filtrelor
|
||||
index_warn=Avertisment - Programul <tt>procmail</tt> folosit pentru filtrarea e-mailului nu este instalat pe acest sistem. Este puțin probabil să funcționeze filtrele definite mai jos.
|
||||
index_alias=Avertisment - Sistemul este configurat pentru a trimite toate mesajele de e-mail către căsuța poștală către următoarele destinații. Filtre definite aici nu vor fi utilizate.
|
||||
index_aliasme=Notă - Sistemul este, de asemenea, configurat înainte de toate e-mailurile către :
|
||||
index_force=Avertisment - Sistemul este configurat pentru a nu prelucra filtre de e-mail definite de utilizator. Filtre definite aici nu vor fi utilizate.
|
||||
index_force=Sistemul este configurat să nu proceseze filtrele de e-mail definite de utilizator. Filtrele definite aici nu vor fi folosite.
|
||||
index_force_desc=Cu toate acestea, administratorul poate activa această funcționalitate pe partea Virtualmin folosind pagina <tt>Setări e-mail Spam și Scanare viruși</tt>.
|
||||
index_period=Timp minim între autoreplici
|
||||
index_noperiod=Fără minim
|
||||
index_mins=minute
|
||||
|
||||
@@ -34,7 +34,8 @@ index_return=список фильтров
|
||||
index_warn=Предупреждение. Программа <tt>procmail</tt>, используемая для фильтрации почты, не установлена в этой системе. Любые фильтры, определенные ниже, вряд ли будут работать.
|
||||
index_alias=Предупреждение. Система настроена на пересылку всей электронной почты в ваш почтовый ящик по следующим адресатам. Определенные здесь фильтры не будут использоваться.
|
||||
index_aliasme=Примечание. Система также настроена на пересылку всей электронной почты :
|
||||
index_force=Предупреждение. Система настроена так, чтобы не обрабатывать пользовательские почтовые фильтры. Определенные здесь фильтры не будут использоваться.
|
||||
index_force=Система настроена так, чтобы не обрабатывать пользовательские почтовые фильтры. Определенные здесь фильтры не будут использоваться.
|
||||
index_force_desc=Однако администратор может включить эту функцию на стороне Virtualmin, используя страницу <tt>Настройки электронной почты, спам и сканирование на вирусы</tt>.
|
||||
index_period=Минимальное время между автоответами
|
||||
index_noperiod=Нет минимума
|
||||
index_mins=минут
|
||||
|
||||
@@ -34,7 +34,8 @@ index_return=zoznam filtrov
|
||||
index_warn=Varovanie - Program <tt>procmail</tt> používaný na filtrovanie pošty nie je v tomto systéme nainštalovaný. Je nepravdepodobné, že budú fungovať akékoľvek filtre definované nižšie.
|
||||
index_alias=Varovanie - Systém je nakonfigurovaný tak, aby posielal všetky e-maily do vašej poštovej schránky na nasledujúce ciele. Tu definované filtre sa nepoužijú.
|
||||
index_aliasme=Poznámka - Systém je tiež nakonfigurovaný preposielať všetky e-maily na :
|
||||
index_force=Varovanie - Systém je nakonfigurovaný tak, aby nespracovával používateľom definované filtre pošty. Tu definované filtre sa nepoužijú.
|
||||
index_force=Systém je nakonfigurovaný tak, aby nespracovával užívateľom definované filtre pošty. Tu definované filtre sa nepoužijú.
|
||||
index_force_desc=Správca však môže povoliť túto funkciu na strane Virtualmin pomocou stránky <tt>Nastavenia e-mailu Kontrola spamu a vírusov</tt>.
|
||||
index_period=Minimálny čas medzi automatickými odpoveďami
|
||||
index_noperiod=Žiadne minimum
|
||||
index_mins=minúty
|
||||
|
||||
@@ -34,7 +34,8 @@ index_return=seznam filtrov
|
||||
index_warn=Opozorilo - Program <tt>procmail</tt>, ki se uporablja za filtriranje pošte, ni nameščen v tem sistemu. Vsi filtri, opredeljeni spodaj, verjetno ne bodo delovali.
|
||||
index_alias=Opozorilo - Sistem je konfiguriran za posredovanje vse e-pošte v vaš nabiralnik na naslednje cilje. Tu določeni filtri ne bodo uporabljeni.
|
||||
index_aliasme=Opomba - Sistem je tudi konfiguriran za pošiljanje vseh e-poštnih sporočil na :
|
||||
index_force=Opozorilo - Sistem je konfiguriran tako, da ne obdeluje uporabniško določenih poštnih filtrov. Tu določeni filtri ne bodo uporabljeni.
|
||||
index_force=Sistem je konfiguriran tako, da ne obdeluje uporabniško definiranih poštnih filtrov. Tukaj definirani filtri ne bodo uporabljeni.
|
||||
index_force_desc=Vendar lahko skrbnik omogoči to funkcijo na strani Virtualmin s strani <tt>Nastavitve e-pošte Neželena pošta in skeniranje virusov</tt>.
|
||||
index_period=Najkrajši čas med samodejnimi odgovori
|
||||
index_noperiod=Ni najmanjšega
|
||||
index_mins=minut
|
||||
|
||||
@@ -34,7 +34,8 @@ index_return=filterlista
|
||||
index_warn=Varning - Programmet <tt>procmail</tt> som används för e-postfiltrering är inte installerat på det här systemet. Alla filter som definieras nedan fungerar troligtvis inte.
|
||||
index_alias=Varning - Systemet är konfigurerat för att vidarebefordra all e-post till din brevlåda till följande destinationer. Filter som definieras här kommer inte att användas.
|
||||
index_aliasme=Obs - Systemet är också konfigurerat vidarebefordra all e-post till :
|
||||
index_force=Varning - Systemet är konfigurerat för att inte behandla användardefinierade e-postfilter. Filter som definieras här kommer inte att användas.
|
||||
index_force=Systemet är konfigurerat att inte behandla användardefinierade e-postfilter. Filter som definieras här kommer inte att användas.
|
||||
index_force_desc=Administratören kan dock aktivera den här funktionen på Virtualmin-sidan genom att använda sidan <tt>E-postinställningar Skräppost och virusskanning</tt>.
|
||||
index_period=Minsta tid mellan autoreplies
|
||||
index_noperiod=Inget minimum
|
||||
index_mins=minuter
|
||||
|
||||
@@ -34,7 +34,8 @@ index_return=รายการตัวกรอง
|
||||
index_warn=คำเตือน - โปรแกรม <tt>procmail</tt> ที่ใช้สำหรับการกรองเมลไม่ได้ติดตั้งในระบบนี้ ตัวกรองใด ๆ ที่กำหนดไว้ด้านล่างไม่น่าจะทำงานได้
|
||||
index_alias=คำเตือน - ระบบได้รับการกำหนดค่าให้ส่งต่ออีเมลทั้งหมดไปยังกล่องจดหมายของคุณไปยังปลายทางต่อไปนี้ ตัวกรองที่กำหนดไว้ที่นี่จะไม่ถูกใช้
|
||||
index_aliasme=หมายเหตุ - ระบบถูกกำหนดค่าส่งต่ออีเมลทั้งหมดไปที่ :
|
||||
index_force=คำเตือน - ระบบได้รับการกำหนดค่าให้ไม่ประมวลผลตัวกรองเมลที่ผู้ใช้กำหนด ตัวกรองที่กำหนดไว้ที่นี่จะไม่ถูกใช้
|
||||
index_force=ระบบได้รับการกำหนดค่าไม่ให้ประมวลผลตัวกรองเมลที่ผู้ใช้กำหนด ตัวกรองที่กำหนดไว้ที่นี่จะไม่ถูกนำมาใช้
|
||||
index_force_desc=อย่างไรก็ตาม ผู้ดูแลระบบสามารถเปิดใช้งานฟังก์ชันนี้ในฝั่ง Virtualmin โดยใช้หน้า <tt>การตั้งค่าอีเมล สแปมและการสแกนไวรัส</tt>
|
||||
index_period=เวลาต่ำสุดระหว่าง autoreplies
|
||||
index_noperiod=ไม่มีขั้นต่ำ
|
||||
index_mins=นาที
|
||||
|
||||
@@ -34,7 +34,8 @@ index_return=filtre listesi
|
||||
index_warn=Uyarı - Posta filtrelemesi için kullanılan <tt>procmail</tt> programı bu sistemde yüklü değil. Aşağıda tanımlanan filtrelerin çalışması olası değildir.
|
||||
index_alias=Uyarı - Sistem, tüm e-postaları posta kutunuza aşağıdaki hedeflere yönlendirecek şekilde yapılandırılmıştır. Burada tanımlanan filtreler kullanılmayacaktır.
|
||||
index_aliasme=Not - Sistem ayrıca tüm e-postaları şuraya yönlendirir :
|
||||
index_force=Uyarı - Sistem, kullanıcı tanımlı posta filtrelerini işlemeyecek şekilde yapılandırılmıştır. Burada tanımlanan filtreler kullanılmayacaktır.
|
||||
index_force=Sistem, kullanıcı tanımlı posta filtrelerini işlemeyecek şekilde yapılandırılmıştır. Burada tanımlanan filtreler kullanılmayacaktır.
|
||||
index_force_desc=Ancak yönetici, <tt>E-posta Ayarları İstenmeyen Posta ve Virüs Tarama</tt> sayfasını kullanarak Virtualmin tarafında bu işlevi etkinleştirebilir.
|
||||
index_period=Otomatik uygulamalar arasındaki minimum süre
|
||||
index_noperiod=Minimum yok
|
||||
index_mins=dakika
|
||||
|
||||
@@ -34,7 +34,8 @@ index_return=список фільтрів
|
||||
index_warn=Попередження - програма <tt>procmail</tt>, яка використовується для фільтрації пошти, не встановлена в цій системі. Будь-які визначені нижче фільтри навряд чи спрацюють.
|
||||
index_alias=Попередження - система налаштована пересилати всю електронну пошту на вашу поштову скриньку на наступні пункти призначення. Фільтри, визначені тут, не використовуються.
|
||||
index_aliasme=Примітка. Система також налаштована пересилати всю електронну пошту на :
|
||||
index_force=Попередження - система налаштована не обробляти визначені користувачем фільтри пошти. Фільтри, визначені тут, не використовуються.
|
||||
index_force=Система налаштована так, щоб не обробляти визначені користувачем фільтри пошти. Визначені тут фільтри не використовуватимуться.
|
||||
index_force_desc=Однак адміністратор може ввімкнути цю функцію на стороні Virtualmin за допомогою сторінки <tt>Налаштування електронної пошти Сканування спаму та вірусів</tt>.
|
||||
index_period=Мінімальний час між автовідповідями
|
||||
index_noperiod=Немає мінімуму
|
||||
index_mins=хвилин
|
||||
|
||||
@@ -34,7 +34,8 @@ index_return=فلٹر کی فہرست
|
||||
index_warn=Warning - The program <tt>procmail</tt> used for mail filtering is not installed on this system. Any filters defined below are unlikely to work.
|
||||
index_alias=انتباہ - سسٹم کو اپنے میل باکس میں تمام ای میل کو درج ذیل منزلوں پر بھیجنے کے لئے تشکیل کیا گیا ہے۔ یہاں بیان کردہ فلٹرز استعمال نہیں ہوں گے۔
|
||||
index_aliasme=نوٹ - سسٹم کو یہ بھی ترتیب دی گئی ہے کہ تمام ای میل کو آگے بھیج دیں :
|
||||
index_force=انتباہ - صارف کو متعین میل فلٹرز پر کارروائی نہ کرنے کے لئے یہ نظام تشکیل دیا گیا ہے۔ یہاں بیان کردہ فلٹرز استعمال نہیں ہوں گے۔
|
||||
index_force=سسٹم کو کنفیگر کیا گیا ہے تاکہ صارف کے متعین میل فلٹرز پر کارروائی نہ ہو۔ یہاں بیان کردہ فلٹرز استعمال نہیں کیے جائیں گے۔
|
||||
index_force_desc=However, administrator can enabled this functionality on Virtualmin side using <tt>Email Settings ⇾ Spam and Virus Scanning</tt> page.
|
||||
index_period=آٹو پلے کے درمیان کم از کم وقت
|
||||
index_noperiod=کم از کم نہیں
|
||||
index_mins=منٹ
|
||||
|
||||
@@ -34,7 +34,8 @@ index_return=danh sách bộ lọc
|
||||
index_warn=Cảnh báo - Chương trình <tt>procmail</tt> được sử dụng để lọc thư không được cài đặt trên hệ thống này. Bất kỳ bộ lọc được xác định dưới đây không có khả năng làm việc.
|
||||
index_alias=Cảnh báo - Hệ thống được định cấu hình để chuyển tiếp tất cả email đến hộp thư của bạn đến các đích sau. Các bộ lọc được xác định ở đây sẽ không được sử dụng.
|
||||
index_aliasme=Lưu ý - Hệ thống cũng được cấu hình chuyển tiếp tất cả email tới :
|
||||
index_force=Cảnh báo - Hệ thống được cấu hình để không xử lý các bộ lọc thư do người dùng xác định. Các bộ lọc được xác định ở đây sẽ không được sử dụng.
|
||||
index_force=Hệ thống được định cấu hình để không xử lý các bộ lọc thư do người dùng xác định. Các bộ lọc được xác định ở đây sẽ không được sử dụng.
|
||||
index_force_desc=Tuy nhiên, quản trị viên có thể bật chức năng này ở phía Virtualmin bằng cách sử dụng trang <tt>Cài đặt Email Spam và Quét vi-rút</tt>.
|
||||
index_period=Thời gian tối thiểu giữa các lần tự động
|
||||
index_noperiod=Không tối thiểu
|
||||
index_mins=phút
|
||||
|
||||
@@ -34,7 +34,8 @@ index_return=筛选清单
|
||||
index_warn=警告-用于邮件过滤的程序<tt>procmail</tt>未安装在该系统上。以下定义的任何过滤器都不太可能起作用。
|
||||
index_alias=警告-系统配置为将所有电子邮件转发到您的邮箱到以下目的地。此处定义的过滤器将不会使用。
|
||||
index_aliasme=注意-系统还配置为将所有电子邮件转发到:
|
||||
index_force=警告-系统配置为不处理用户定义的邮件过滤器。此处定义的过滤器将不会使用。
|
||||
index_force=系统配置为不处理用户定义的邮件过滤器。将不使用此处定义的过滤器。
|
||||
index_force_desc=但是,管理员可以使用 <tt>Email Settings Spam and Virus Scanning</tt> 页面在 Virtualmin 端启用此功能。
|
||||
index_period=自动回复之间的最短时间
|
||||
index_noperiod=没有最低要求
|
||||
index_mins=分钟
|
||||
|
||||
@@ -34,7 +34,8 @@ index_return=篩選清單
|
||||
index_warn=警告-用於郵件過濾的程序<tt>procmail</tt>未安裝在該系統上。以下定義的任何過濾器均不起作用。
|
||||
index_alias=警告-系統配置為將所有電子郵件轉發到您的郵箱到以下目的地。此處定義的過濾器將不會使用。
|
||||
index_aliasme=注意-系統還配置為將所有電子郵件轉發到:
|
||||
index_force=警告-系統配置為不處理用戶定義的郵件過濾器。此處定義的過濾器將不會使用。
|
||||
index_force=系統配置為不處理用戶定義的郵件過濾器。將不使用此處定義的過濾器。
|
||||
index_force_desc=但是,管理員可以使用 <tt>Email Settings Spam and Virus Scanning</tt> 頁面在 Virtualmin 端啟用此功能。
|
||||
index_period=自動回復之間的最短時間
|
||||
index_noperiod=沒有最低要求
|
||||
index_mins=分鐘
|
||||
|
||||
@@ -675,10 +675,12 @@ if ($filter->{'defaults'}->{'INPUT_ZONES'}) {
|
||||
if ($filter->{'defaults'} =~ /^f2b-|^fail2ban-/ && !$config{'filter_chain'} ) {
|
||||
push(@fwname, 'fail2ban');
|
||||
}
|
||||
if (&indexof('firewalld', @fwname) < 0 && &foreign_installed("firewalld", 1)) {
|
||||
if (&indexof('firewalld', @fwname) < 0 &&
|
||||
&foreign_installed("firewalld", 1) == 2) {
|
||||
push(@fwname, 'firewalld');
|
||||
}
|
||||
if (&indexof('shorewall', @fwname) < 0 && &foreign_installed("shorewall", 1)) {
|
||||
if (&indexof('shorewall', @fwname) < 0 &&
|
||||
&foreign_installed("shorewall", 1) == 2) {
|
||||
push(@fwname, 'shorewall');
|
||||
}
|
||||
return &unique(@fwname);
|
||||
|
||||
@@ -74,6 +74,7 @@ else {
|
||||
|
||||
if ($status{'status'} eq 'complete' || $dump->{'afteraok'}) {
|
||||
# Execute the post-backup script
|
||||
$dump{'status'} = $status{'status'};
|
||||
$bok = &execute_after($dump, OUT, 0);
|
||||
if (!$bok && !$dump->{'afterfok'}) {
|
||||
print OUT "\n$text{'email_eafter'}\n";
|
||||
|
||||
@@ -126,33 +126,58 @@ return $rv;
|
||||
# or 0 on failure
|
||||
sub execute_before
|
||||
{
|
||||
if ($_[0]->{'before'}) {
|
||||
local $h = $_[1];
|
||||
&open_execute_command(before, "($_[0]->{'before'}) 2>&1 </dev/null", 1);
|
||||
my ($dump, $h, $esc) = @_;
|
||||
if ($dump->{'before'}) {
|
||||
&set_dump_envs($dump);
|
||||
&open_execute_command(before, "($dump->{'before'}) 2>&1 </dev/null", 1);
|
||||
while(<before>) {
|
||||
print $h $_[2] ? &html_escape($_) : $_;
|
||||
print $h $esc ? &html_escape($_) : $_;
|
||||
}
|
||||
close(before);
|
||||
&reset_dump_envs();
|
||||
return !$?;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
# execute_after(&dump, handle, escape)
|
||||
# Executes the before-dump command, and prints the output. Returns 1 on success
|
||||
# or 0 on failure
|
||||
sub execute_after
|
||||
{
|
||||
if ($_[0]->{'after'}) {
|
||||
local $h = $_[1];
|
||||
&open_execute_command(after, "($_[0]->{'after'}) 2>&1 </dev/null", 1);
|
||||
my ($dump, $h, $esc) = @_;
|
||||
if ($dump->{'after'}) {
|
||||
&set_dump_envs($dump);
|
||||
&open_execute_command(after, "($dump->{'after'}) 2>&1 </dev/null", 1);
|
||||
while(<after>) {
|
||||
print $h $_[2] ? &html_escape($_) : $_;
|
||||
print $h $esc ? &html_escape($_) : $_;
|
||||
}
|
||||
close(after);
|
||||
&reset_dump_envs();
|
||||
return !$?;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
# set_dump_envs(&dump)
|
||||
# Sets FSDUMP_ environment variables based on attributes of the dump
|
||||
sub set_dump_envs
|
||||
{
|
||||
my ($dump) = @_;
|
||||
foreach my $k (keys %$dump) {
|
||||
$ENV{'FSDUMP_'.uc($k)} = $dump->{$k};
|
||||
}
|
||||
}
|
||||
|
||||
# reset_dump_envs()
|
||||
# Clear all variables set by set_dump_envs
|
||||
sub reset_dump_envs
|
||||
{
|
||||
foreach my $k (keys %ENV) {
|
||||
delete($ENV{$k}) if ($k =~ /^FSDUMP_/);
|
||||
}
|
||||
}
|
||||
|
||||
# running_dumps(&procs)
|
||||
# Returns a list of backup jobs currently in progress, and their statuses
|
||||
sub running_dumps
|
||||
|
||||
@@ -124,13 +124,18 @@ elsif ($init_mode eq "systemd") {
|
||||
&enable_at_boot(
|
||||
$product,
|
||||
"$ucproduct server daemon",
|
||||
"$config_directory/.start-init",
|
||||
"$config_directory/.stop-init",
|
||||
"$root_directory/miniserv.pl $config_directory/miniserv.conf",
|
||||
'/usr/bin/kill $MAINPID',
|
||||
undef,
|
||||
{ 'pidfile' => $var_directory."/miniserv.pid",
|
||||
'opts' => {
|
||||
'type' => 'forking',
|
||||
'killmode' => 'none'
|
||||
{ 'pidfile' => "$var_directory/miniserv.pid",
|
||||
'opts' => {
|
||||
'env' => '"PERLLIB=' . $root_directory . '"',
|
||||
'stop' => '/usr/bin/kill $MAINPID',
|
||||
'reload' => '/bin/bash -c \'/usr/bin/kill -HUP $MAINPID && while /usr/bin/kill -0 $MAINPID >/dev/null 2>&1 ; do /bin/sleep 0.5 ; done\'',
|
||||
'type' => 'forking',
|
||||
'restart' => 'always',
|
||||
'restartsec' => '2s',
|
||||
'timeout' => '15s',
|
||||
}},
|
||||
);
|
||||
}
|
||||
|
||||
@@ -2343,6 +2343,8 @@ if (ref($opts)) {
|
||||
&print_tempfile(CFILE, "Group=$opts->{'group'}\n") if ($opts->{'group'});
|
||||
&print_tempfile(CFILE, "KillMode=$opts->{'killmode'}\n") if ($opts->{'killmode'});
|
||||
&print_tempfile(CFILE, "WorkingDirectory=$opts->{'workdir'}\n") if ($opts->{'workdir'});
|
||||
&print_tempfile(CFILE, "Restart=$opts->{'restart'}\n") if ($opts->{'restart'});
|
||||
&print_tempfile(CFILE, "RestartSec=$opts->{'restartsec'}\n") if ($opts->{'restartsec'});
|
||||
&print_tempfile(CFILE, "TimeoutSec=$opts->{'timeout'}\n") if ($opts->{'timeout'});
|
||||
&print_tempfile(CFILE, "StandardOutput=file:$opts->{'logstd'}\n") if ($opts->{'logstd'});
|
||||
&print_tempfile(CFILE, "StandardError=file:$opts->{'logerr'}\n") if ($opts->{'logerr'});
|
||||
@@ -2425,6 +2427,23 @@ if (-d $systemd_unit_dir1) {
|
||||
return $systemd_unit_dir2;
|
||||
}
|
||||
|
||||
|
||||
=head2 get_systemd_unit_pid([name])
|
||||
|
||||
Returns pid of running systemd unit
|
||||
Returns 0 if unit stopped or missing
|
||||
|
||||
=cut
|
||||
sub get_systemd_unit_pid
|
||||
{
|
||||
my ($unit) = @_;
|
||||
my $pid =
|
||||
&backquote_command("systemctl show --property MainPID @{[quotemeta($unit)]}");
|
||||
$pid =~ s/MainPID=(\d+)/$1/;
|
||||
$pid = int($pid);
|
||||
return $pid;
|
||||
}
|
||||
|
||||
=head2 restart_systemd()
|
||||
|
||||
Tell the systemd daemon to re-read its config
|
||||
|
||||
@@ -20,7 +20,14 @@ if ($product) {
|
||||
unlink("$p/$product.service");
|
||||
unlink("$p/$product");
|
||||
}
|
||||
copy_source_dest("../webmin-systemd", "$systemd_root/$product.service");
|
||||
my $temp = &transname();
|
||||
©_source_dest("$root_directory/webmin-systemd", "$temp");
|
||||
my $lref = &read_file_lines($temp);
|
||||
foreach my $l (@{$lref}) {
|
||||
$l =~ s/(WEBMIN_[A-Z]+)/$ENV{$1}/g;
|
||||
}
|
||||
&flush_file_lines($temp);
|
||||
copy_source_dest($temp, "$systemd_root/$product.service");
|
||||
system("systemctl daemon-reload >/dev/null 2>&1");
|
||||
};
|
||||
}
|
||||
|
||||
2
logviewer/CHANGELOG
Normal file
2
logviewer/CHANGELOG
Normal file
@@ -0,0 +1,2 @@
|
||||
---- Changes since 1.000 ----
|
||||
Add support for viewing all system logs files, including systemd-journald
|
||||
46
logviewer/acl_security.pl
Executable file
46
logviewer/acl_security.pl
Executable file
@@ -0,0 +1,46 @@
|
||||
|
||||
require 'logviewer-lib.pl';
|
||||
|
||||
# acl_security_form(&options)
|
||||
# Output HTML for editing security options for the syslog module
|
||||
sub acl_security_form
|
||||
{
|
||||
|
||||
# Can enter arbitrary filename
|
||||
print &ui_table_row($text{'acl_any'},
|
||||
&ui_yesno_radio("any", int($_[0]->{'any'})));
|
||||
|
||||
# Can view syslog logs and logs from other modules
|
||||
print &ui_table_row($text{'acl_syslog'},
|
||||
&ui_yesno_radio("syslog", int($_[0]->{'syslog'})));
|
||||
print &ui_table_row($text{'acl_others'},
|
||||
&ui_yesno_radio("others", int($_[0]->{'others'})));
|
||||
|
||||
# Allowed directories
|
||||
print &ui_table_row($text{'acl_logs'},
|
||||
&ui_radio("logs_def", $_[0]->{'logs'} ? 0 : 1,
|
||||
[ [ 1, $text{'acl_all'} ], [ 0, $text{'acl_sel'} ] ]).
|
||||
"<br>\n".
|
||||
&ui_textarea("logs", join("\n", split(/\t+/, $_[0]->{'logs'})),
|
||||
5, 50), 3);
|
||||
|
||||
# Extra per-user log files
|
||||
print &ui_table_row($text{'acl_extra'},
|
||||
&ui_textarea("extras", join("\n", split(/\t+/, $_[0]->{'extras'})),
|
||||
5, 50), 3);
|
||||
|
||||
}
|
||||
|
||||
# acl_security_save(&options)
|
||||
# Parse the form for security options for the syslog module
|
||||
sub acl_security_save
|
||||
{
|
||||
$_[0]->{'any'} = $in{'any'};
|
||||
$_[0]->{'syslog'} = $in{'syslog'};
|
||||
$_[0]->{'others'} = $in{'others'};
|
||||
$in{'logs'} =~ s/\r//g;
|
||||
$_[0]->{'logs'} = $in{'logs_def'} ? undef :
|
||||
join("\t", split(/\n/, $in{'logs'}));
|
||||
$_[0]->{'extras'} = join("\t", split(/\n/, $in{'extras'}));
|
||||
}
|
||||
|
||||
40
logviewer/backup_config.pl
Executable file
40
logviewer/backup_config.pl
Executable file
@@ -0,0 +1,40 @@
|
||||
|
||||
do 'logviewer-lib.pl';
|
||||
|
||||
# backup_config_files()
|
||||
# Returns files and directories that can be backed up
|
||||
sub backup_config_files
|
||||
{
|
||||
return undef
|
||||
}
|
||||
|
||||
# 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
|
||||
{
|
||||
return undef;
|
||||
}
|
||||
|
||||
# pre_restore(&files)
|
||||
# Called before the files are restored from a backup
|
||||
sub pre_restore
|
||||
{
|
||||
return undef;
|
||||
}
|
||||
|
||||
# post_restore(&files)
|
||||
# Called after the files are restored from a backup
|
||||
sub post_restore
|
||||
{
|
||||
return undef;
|
||||
}
|
||||
|
||||
1;
|
||||
|
||||
3
logviewer/config
Normal file
3
logviewer/config
Normal file
@@ -0,0 +1,3 @@
|
||||
lines=100
|
||||
others=1
|
||||
reverse=1
|
||||
6
logviewer/config.info
Normal file
6
logviewer/config.info
Normal file
@@ -0,0 +1,6 @@
|
||||
line1=Configurable options,11
|
||||
lines=Default number of lines to display,0,6
|
||||
refresh=Seconds between log view refreshes,3,Never
|
||||
others=Show logs from other modules?,1,1-Yes,0-No
|
||||
extras=Extra log files to show,9,50,4,\t
|
||||
reverse=Log display order,1,1-Newest lines at top,0-Newest lines at bottom
|
||||
3
logviewer/defaultacl
Normal file
3
logviewer/defaultacl
Normal file
@@ -0,0 +1,3 @@
|
||||
any=1
|
||||
syslog=1
|
||||
others=1
|
||||
BIN
logviewer/images/icon.gif
Normal file
BIN
logviewer/images/icon.gif
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 470 B |
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user