285 Commits

Author SHA1 Message Date
Ilia Ross
10c328ef4d Fix ext4 quota detection for LABEL and UUID mounts
Fixes https://forum.virtualmin.com/t/failed-to-turn-on-quotas-quotaon-using-on-dev-sda1-home-file-exist/137832
2026-09-10 04:14:10 +02:00
KafamaG
78b728a531 Merge branch 'master' into dev/translation_tr
#2829 landed on master and touched 173 of the same keys this branch
rewrites, which is where the conflicts came from.

Resolved by rule rather than by hand: for any key #2829 already fixed
and merged, master's value wins (54 keys); everything else keeps this
branch's version. That keeps the diff against master limited to what is
genuinely new here, and avoids re-editing work that is already upstream.

It also avoids a regression. This branch was cut before #2829, so it
still carried the old double-encoded UTF-8 in nine mailboxes strings
(confirm_warnallf, left_autoreply, left_folders, left_forward,
left_pass, left_sig, mail_fromfilter, mail_selread, mail_subfilter).
Taking master's value for those keeps them fixed. A mojibake scan over
the whole tree after the merge reports 0 remaining lines.

master also added acl/forgot_sudouser, which is translated here, so
lang/tr is still complete at 31,523 of 31,523 keys.
2026-08-31 09:51:50 +03:00
KafamaG
02ca56139a Complete the Turkish module.info descriptions
Every module now has a reviewed desc_tr and longdesc_tr in
module.info.tr - 245 strings across 125 modules. Previously 37 were
reviewed, 194 came from module.info.tr.auto and 14 were missing
entirely (grub2, hardware-info, kea-dhcp, logviewer, nftables, systemd,
xterm), so those modules showed English titles in the Webmin menu.

The reviewed strings are removed from module.info.tr.auto, which now
holds only name_tr - the same split the de and ca translations use.
Thirty-six of those files became empty and are deleted.

Some of the machine text this replaces was wrong rather than just
clumsy:

  sarg          "Squid Report Generator" had become "Kalamar Rapor
                Oluşturucu" - the fish, not the proxy
  heartbeat     the product name was translated as "Kalp Atışı"
  cluster-cron  "Cron Jobs" had become "Cron İş İlanları" (job ads)
  proc          "renice" was translated as "rename"
  samba         "file and print shares" was split into "create a samba
                file" and "print the shares"
  exports, hpuxexports, sgiexports, inetd, init, mount, net
                each repeated the file path mid-sentence
  firewall,     the "(iptables)" and "(ip6tables)" qualifiers that
  firewall6     distinguish the two modules were dropped

Turkish capitalisation of English words was also wrong throughout
("İptables", "İnetd", "İscsitarget", "İnternet"), and three previously
reviewed strings were stored as double-encoded UTF-8 (cron/desc_tr,
mailboxes/desc_tr, mailboxes/longdesc_tr).

cluster-cron and ldap-server carried a stray desc_de_tr key - a German
key that had leaked into the Turkish file. It is removed.
2026-08-30 14:41:10 +03:00
KafamaG
3167b55a37 Complete Turkish for useradmin, quota, heartbeat, ppp-client and more
Finishes the Turkish translation of six modules and removes their
machine-generated lang/tr.auto files:

  useradmin       110 new strings - SSH keys, group batch files, export
  quota           111 new strings - Btrfs subvolume quotas, mass updates
  heartbeat        98 strings - Heartbeat cluster monitor
  ppp-client       98 strings - WvDial dialup client
  webminlog        96 new strings - action search, rollback, notification
  ldap-useradmin   94 new strings - LDAP users, Samba and IMAP options

Also fixes five defects in the existing Turkish files:

  quota/gfilesys_all      was missing its $1 placeholder
  quota/lusers_noquota    was missing $1 and the <tt> tags
  quota/lusers_info       was missing $1
  useradmin/batch_emove   was missing $2
  useradmin/export_eopen  had a literal $! where $1 was meant
2026-08-30 14:25:44 +03:00
KafamaG
666ff552fa Fix errors in Turkish (tr) language files
Corrects verifiable defects in the shipped Turkish translations across
25 modules. No .auto (machine-translated) files are touched.

Placeholder bugs (33 keys) - substitution variables were missing,
duplicated or renumbered relative to lang/en:

* fdisk/mkfs_desc1 used $1 twice, so the "all data will be permanently
  erased" confirmation named the filesystem type instead of the target
  device.
* apache/reconfig_ever linked to <a href='$1'> instead of $2, pointing
  the "module configuration" link at the version string.
* useradmin/export_eopen contained the Perl special variable $! rather
  than $1.
* adsl-client/index_stopdesc, inittab/log_rename, hpuxexports/save_ehost,
  mysql/log_perm_* and others repeated $1 where $2/$3 was intended.
* cron/env_ename referenced $1, which lang/en does not provide.

HTML markup bugs (19 keys) - tags were dropped or swapped, breaking
rendering or links:

* useradmin/batch_desc6 and batch_desc3 contained the literal strings
  "$batch_desc1" and "$batch_desc0" and rendered as plain text.
* bind8/mass_desc translated the literal named.conf keywords master,
  slave, stub and forward, which would lead users to enter invalid
  configuration values. These are now left untranslated.
* mysql/index_nomod, samba/esync_msg, squid/clear_msgclear and others
  lost <tt>/<b> pairs present in lang/en.

Encoding (10 keys) - mailboxes/lang/tr contained double-encoded UTF-8
(mojibake), e.g. "klasöründen" instead of "klasöründen".

Untranslated strings (96 keys) - htaccess-htpasswd/lang/tr was a verbatim
copy of lang/en and is now fully translated. Remaining English strings in
fdisk, mount, shorewall, webalizer, xinetd and firewall are translated.
Technical identifiers (LVM VG/LV, IPsec AH) are deliberately kept in
English.

All modified files are valid UTF-8, keep their original key order and
line count, and their placeholders now match lang/en exactly.
2026-08-30 01:20:42 +03:00
Ilia Ross
25bb1def50 Add ability to use vfsv1 for newly created Linux quota files
This PR adds ability to use the `vfsv1` quota format for newly created user and group quota files when supported by quota-tools 4 or newer. This removes the `vfsv0` range limitation while preserving existing quota files and configured journal formats.

Quota creation remains scoped to the requested user or group type, safely normalizes configured `quotacheck` flags, and retains `vfsv0` and legacy fallbacks for compatibility.

Addresses issue report in:
https://forum.virtualmin.com/t/quota-out-of-range/137331?u=ilia
2026-08-13 04:41:27 +02:00
Ilia Ross
29b299c881 Fix to avoid overriding Btrfs quota enforcement 2026-08-08 14:40:03 +02:00
Ilia Ross
b8291f206c Fix to clarify Btrfs quota accounting behavior 2026-08-07 02:35:28 +02:00
Ilia Ross
40f0239224 Fix comments 2026-08-07 02:29:36 +02:00
Ilia Ross
2918ac4204 Add missing API 2026-08-05 01:25:58 +02:00
Ilia Ross
b433cdd810 Fix to clarify Btrfs qgroup limit retry behavior
https://github.com/webmin/webmin/pull/2807#discussion_r3708456970
2026-08-04 02:04:59 +02:00
Ilia Ross
65e171a92f Fix to use module config
https://github.com/webmin/webmin/pull/2807#pullrequestreview-4849404584
2026-08-04 01:58:27 +02:00
Ilia Ross
9be5dc31eb Add Btrfs subvolume quota management
Add Btrfs subvolume quota support to the Disk Quotas module, including full and simple accounting modes, quota lifecycle actions, and qgroup usage and limit management.

Includes ACL enforcement, compatibility with older btrfs-progs versions, destructive-action confirmation, top-level qgroup protection, help, and tests.
2026-08-04 01:19:45 +02:00
Ilia Ross
99ab9159c3 Fix to use formal params
https://github.com/webmin/webmin/pull/2804#pullrequestreview-4840092046
2026-08-03 02:44:49 +02:00
Ilia Ross
cc05957d0d Add Btrfs qgroup management APIs
Add Linux quota helpers for detecting Btrfs filesystems, reporting full and simple quota status, inspecting subvolume qgroups, and managing limits and qgroup hierarchies. Support older btrfs-progs releases through a compatibility fallback and add focused coverage for parsing, validation, command construction, and error propagation.
2026-08-03 01:09:38 +02:00
Ilia Ross
de9e95facf Add support for ext4 hidden inode (superblock) quota mode
Some checks failed
webmin.dev: webmin/webmin / build (push) Has been cancelled
https://forum.virtualmin.com/t/quotacheck-fails-with-unknown-quota-format-on-ext4-native-quota-ubuntu-24-04/136963/
2026-04-09 22:11:47 +02:00
Jamie Cameron
302f635651 Only fetch user list once per domain
Some checks failed
webmin.dev: webmin/webmin / build (push) Has been cancelled
https://github.com/webmin/webmin/issues/2634
2026-03-07 16:53:56 -08:00
Jamie Cameron
d5feb72572 Cleanup use of local
https://github.com/webmin/webmin/issues/2634
2026-03-07 13:32:00 -08:00
Jamie Cameron
cd7f867c09 Only load virtual-server module once
https://github.com/webmin/webmin/issues/2634
2026-03-07 13:29:37 -08:00
Jamie Cameron
16245144eb Cache block_size for each filesystem
https://github.com/webmin/webmin/issues/2634
2026-03-07 12:48:29 -08:00
Ilia Ross
b782a124b5 Fix to use quotemeta to prevent shell injection in Quota module 2026-02-10 18:56:37 +02:00
Ilia Ross
833292c0d1 Add exported German language-neutral strings
https://github.com/webmin/webmin/discussions/2482
https://forum.virtualmin.com/t/on-the-rejection-of-gender-neutral-language/133527
2025-05-26 14:48:11 +03:00
Ilia Ross
532a8042c7 Fix to use German rules most people already accept 2/2
https://github.com/webmin/webmin/discussions/2482
2025-05-24 21:46:34 +03:00
Ilia Ross
501698ad4b Fix to use German rules most people already accept 1/2
https://github.com/webmin/webmin/discussions/2482
2025-05-24 20:43:25 +03:00
Jamie Cameron
9de937612b when setting XFS quotas by UID or GID, the # is not allowed
https://github.com/webmin/webmin/issues/2418
2025-02-22 19:12:55 -08:00
MacSteini
c3d03ed9e7 Update de 2025-02-17 00:32:15 +00:00
Ilia Ross
f880192526 Remove languages with 0% coverage
https://github.com/webmin/webmin/issues/2403#issuecomment-2652613588
2025-02-12 13:19:49 +02:00
MacSteini
9511fc342f Updated de & fr
Updated de

Made a fundamental mistake the last time I ran an automated script and messed up quota/lang/fr
2024-12-30 01:24:20 +00:00
MacSteini
901e324bae DE update & whitespace trimming of language files 2024-12-20 16:04:32 +00:00
MacSteini
162206949f Consecutive Spaces Replacement
Replaced multiple consecutive spaces with a single space
2024-12-16 16:57:09 +00:00
MacSteini
5ea0cc6b42 Trailing Spaces Removal
Removed trailing spaces
2024-12-16 15:16:55 +00:00
MacSteini
64598e5f39 Blanks Removal
Removed blanks before or after the equal sign
2024-12-16 12:59:19 +00:00
Ilia Ross
a6e0b3cee5 Update translations and include the new Polish translation 2024-11-16 14:03:39 +02:00
Jamie Cameron
05382d840d fs has to be outside the command 2024-10-17 16:47:06 -07:00
Jamie Cameron
22beff5e92 Add missing . 2024-10-17 16:31:24 -07:00
Jamie Cameron
5ff7190f06 Do proper quoting for XFS commands 2024-10-17 15:18:30 -07:00
Ilia Ross
00f11fc81d Fix to quote usernames in xfs_quota command
https://forum.virtualmin.com/t/issue-regarding-with-restore/129843/4?u=ilia
2024-10-16 12:28:39 +03:00
MacSteini
261ff535e0 Updated de 2024-09-07 12:46:38 +01:00
Ilia Ross
5e57e571b3 Fix the default notification email is set as non-replyable 2024-08-24 19:35:33 +03:00
Jamie Cameron
fa54da125f Use standard function for bytes field 2023-12-18 22:55:30 -08:00
Jamie Cameron
c7198232f5 Fix wording a little 2023-06-03 11:09:53 -07:00
luz paz
3e6142f098 Fix user and non-user facing typos 2022-06-29 07:17:11 -04:00
Ilia Rostovtsev
0462945632 Update translations 3/3 2021-11-18 22:13:17 +03:00
Ilia Rostovtsev
b5cb27d0fa Add prefs info files 2021-02-28 21:14:24 +03:00
Ilia Rostovtsev
4c4b647096 Fix to add extra line breaks (sections) to language files 2020-12-27 21:15:36 +03:00
Jamie Cameron
c6345ec1e9 Norwegian translation update from Stein-Askel Basma 2020-12-06 11:00:27 -08:00
Ilia Rostovtsev
ee56777e6d Drop useless empty files 2020-04-29 23:17:45 +03:00
Ilia Rostovtsev
edf18a19e2 Fix translation bug 2020-04-28 00:24:07 +03:00
Ilia Rostovtsev
70876bff93 Add help/ translations 2020-04-23 18:10:56 +03:00
Ilia Rostovtsev
f6b8cc6692 Add transcodings and rename files to new format for help/ 2020-04-19 20:02:31 +03:00