Commit Graph

695 Commits

Author SHA1 Message Date
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
35069d3018 Fix placeholder, markup and encoding defects in existing Turkish files
A consistency check of every lang/tr against its lang/en turned up 58
lines that were wrong independently of the missing translations. All of
them are fixed here:

Missing or wrong $N placeholders (the value silently disappears from
the message at runtime, or the wrong value is shown):
  acl/cert_eca, acl/hide_desc, adsl-client/index_stopdesc,
  apache/reconfig_ever, apache/log_files, apache/log_files_l,
  bind8/log_manual, dhcpd/listl_lfnotcont, fdisk/mkfs_desc1,
  fdisk/fsck_desc1, fdisk/tunefs_desc, hpuxexports/save_ehost,
  inittab/log_rename, mysql/index_ever, mysql/index_version,
  mysql/log_perm_create, mysql/log_perm_delete, mysql/log_perm_modify,
  sendmail/index_epath, sendmail/index_startmsg, sendmail/asave_ematch,
  sendmail/mailers_efile, sendmail/generics_efile,
  webalizer/index_ewebalizer, webalizer/index_econf

  cron/env_ename carried a $1 that lang/en does not have, and its text
  described a different error than the key means.

  adsl-client/index_stopdesc and inittab/log_rename each repeated $1
  where $2 was meant, so both values printed the same string.

HTML markup that did not match lang/en:
  bind8/mass_desc, dhcpd/index_dhcpdnotfound, firewall/index_existing,
  inetd/index_applymsg, mysql/index_nomod, mysql/index_nomods,
  samba/esync_msg, samba/viewu_list, sendmail/trusts_desc,
  sendmail/mailers_desc2, sendmail/domains_desc, squid/clear_msgclear,
  status/proc_thresh

  Several of these were also truncated mid-sentence, dropping a whole
  sentence of the original text; those are now translated in full.

Encoding:
  mailboxes/confirm_warnf was stored as double-encoded UTF-8 and
  displayed as mojibake. It also used $1 twice instead of $1 and $2.

Trailing whitespace:
  proc/kill_term, kill_hup, kill_stop, kill_cont

Untranslated strings:
  fdisk/select_* device descriptions, mount/irix_mode0, irix_mode0cd,
  shorewall/tunnels_ipsec:noah

  bind8/mass_desc previously translated the literal configuration
  keywords master, slave, stub and forward into Turkish; they are now
  left in English, since they are values the user has to type.
2026-08-30 14:34:56 +03:00
KafamaG
377a418d81 Complete the Turkish translation of the remaining eleven modules
With this change every module has a complete lang/tr and no lang/tr.auto
files are left in the tree:

  mount          92 new strings - Linux/FreeBSD/IRIX mount options
  bandwidth      83 strings - bandwidth monitoring and reports
  mailboxes      78 new strings - attachments, iCal, HTML composer
  firewall       76 new strings - IPset, physdev, chain rename and move
  gray-theme     72 strings - theme layout and system information page
  fdisk          72 new strings - parted, NVME, partition table format
  servers        71 new strings - automatic server discovery
  stunnel        69 strings - SSL tunnels via inetd/xinetd
  cron           68 new strings - crond control and manual editing
  custom         63 new strings - SQL commands and output formats
  cluster-copy   62 strings - scheduled file copies across servers

firewall/move_chain reads "Current change" in lang/en where "Current
chain" is clearly meant; it is translated by intent as "Mevcut zincir".

Command and format names that appear verbatim in configuration files
(parted, fdisk, hdparm, SMART, GPT, MS-DOS, NVME, tmpfs, CIFS, NFSv4,
inetd, xinetd, crond, IPset, physdev, TCP-wrappers) stay in English.
2026-08-30 14:31:39 +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
Jamie Cameron
25d5189a7c Ensure detached filename is not a path
Some checks failed
Tests / prove (push) Has been cancelled
Package and upload artifacts / build (push) Has been cancelled
Close inactive / close-inactive (push) Has been cancelled
2026-08-27 21:39:41 -07:00
Jamie Cameron
66ae27b3fe Merge branch 'master' of github.com:webmin/webmin 2026-08-27 21:36:00 -07:00
Jamie Cameron
b14f24fc61 Also filter other JS types 2026-08-27 21:35:56 -07:00
Ilia Ross
ce8dd42930 Add HTML signature support to shared mail libraries
Some checks failed
Tests / prove (push) Has been cancelled
Package and upload artifacts / build (push) Has been cancelled
Close inactive / close-inactive (push) Has been cancelled
[no-build]
2026-08-26 21:26:48 +02:00
Jamie Cameron
f62fd9e23a Merge pull request #2789 from webmin/dev/download-target-check
Add ACL controls for URL download destinations
2026-07-14 10:09:40 -07:00
Ilia Ross
f4f3f00808 Fix missing label
Some checks failed
Tests / prove (push) Has been cancelled
Package and upload artifacts / build (push) Has been cancelled
2026-07-14 13:02:06 +02:00
Ilia Ross
8f725f63c6 Fix new lines 2026-07-14 02:58:54 +02:00
Ilia Ross
99f35fa38a Fix to move URL download destination controls to global ACL 2026-07-14 02:52:36 +02:00
Ilia Ross
934073532f Fix to use the existing HTTP and FTP mode 7 callback 2026-07-14 02:27:10 +02:00
Ilia Ross
dae0bf373d Fix ACL page elements order and placement 2026-07-13 14:08:25 +02:00
Ilia Ross
1555224592 Fix to refactor download address checks to use callback bundles
ⓘ Extend HTTP and FTP download callbacks with destination validation while preserving legacy tracking callbacks and enforcing SSRF policy across redirects, proxies, caches, and direct/passive sockets.

https://github.com/webmin/webmin/pull/2789#discussion_r3567985773
2026-07-13 13:36:34 +02:00
Ilia Ross
d5b2a174c2 Fix to rely on defaultacl 2026-07-12 19:35:03 +02:00
Ilia Ross
1ca52c9a97 Add ACL controls for URL download destinations
Block non-public HTTP, HTTPS and FTP destinations by default in File Manager, Mailboxes and Upload and Download, with per-user IP/CIDR exceptions, redirect and proxy protection, cache isolation, and current-ACL enforcement for scheduled jobs.
2026-07-12 14:57:08 +02:00
Ilia Ross
30018091ee Add tests for mailbox_uncompress_folder
Some checks failed
Tests / prove (push) Has been cancelled
Package and upload artifacts / build (push) Has been cancelled
Close inactive / close-inactive (push) Has been cancelled
2026-07-12 02:23:05 +02:00
Ilia Ross
9751fbbf50 Fix cPanel migration with dangling Maildir symlinks
https://github.com/virtualmin/virtualmin-gpl/issues/1251
2026-07-12 02:22:44 +02:00
Ilia Ross
f2fa917827 Add test 2026-07-05 13:22:43 +02:00
Ilia Ross
1b4e2cadd4 Fix to count missing Maildirs as empty
https://github.com/virtualmin/virtualmin-gpl/issues/1248
2026-07-05 13:06:15 +02:00
Ilia Ross
e8a3d9d21b Fix to handle missing user input better
Some checks failed
Tests / prove (push) Has been cancelled
Build / build (push) Has been cancelled
Close inactive / close-inactive (push) Has been cancelled
https://github.com/webmin/webmin/issues/2750
2026-06-04 11:36:41 +02:00
Ilia Ross
1eb4eb85a7 Fix to check empty mail files before opening 2026-05-30 21:22:38 +02:00
Ilia Ross
034d0a09ce Fix to skip unusable Maildir entries
* Note: Ignore zero-byte or unreadable Maildir files when listing messages, log skipped entries, and treat cached zero-byte reads as missing to avoid blank rows and inflated counts.
2026-05-30 16:13:55 +02:00
Ilia Ross
c68d03b211 Fix stale mailbox entries after deleted or moved
Refresh stale Maildir and sorted mailbox indexes when messages disappear, avoid rendering missing messages, and keep IMAP sort indexes in sync with mailbox count changes.
2026-05-29 21:12:58 +02:00
Ilia Ross
cf432879a1 Fix unsafe mailbox attachment handling
Some checks failed
webmin.dev: webmin/webmin / build (push) Has been cancelled
2026-04-23 18:00:07 +02:00
Ilia Ross
73fadd13c8 Fix to decode Outlook winmail.dat with Convert::TNEF safely
Some checks failed
webmin.dev: webmin/webmin / build (push) Has been cancelled
* Note: Replace external tnef/opentnef shelling with Convert::TNEF for
application/ms-tnef attachments.

For root-run Webmin mailbox parsing, decode TNEF as the mailbox owner
instead of root by carrying open_user on mail objects and switching to
that user for the parser temp-file work.

https://github.com/webmin/usermin/issues/132
2026-04-20 19:42:22 +02:00
Jamie Cameron
018ad0062b Add config option for real name part of from address
https://github.com/webmin/webmin/issues/2600
2025-12-13 10:17:49 -08:00
Ilia Ross
42e228103b Fix button name consistency 2025-11-07 19:48:31 +02:00
Ilia Ross
4e4234c87e Fix button title consistency
[no-build]
2025-11-05 19:05:12 +02:00
Ilia Ross
5b71274aa1 Fix to track email change time is something we need when moving mail around 2025-10-18 00:00:38 +03:00
Jamie Cameron
06744537d6 What if user isn't set at all 2025-08-20 16:17:37 -07:00
Jamie Cameron
e5bff72e57 Return a useful error if IPC::Open3 is missing 2025-08-19 14:25:01 -07:00
Jamie Cameron
92b90a8170 Allow send_text_mail to take SMTP user and pass params
https://github.com/webmin/webmin/discussions/2530
2025-08-18 16:31:47 -07:00
Jamie Cameron
58467ece0b Add dovecot IMAP location 2025-08-05 16:41:03 -07:00
Jamie Cameron
ecbeaf7bc7 Add support for IMAP via local command 2025-08-02 19:39:33 -07:00
Ilia Ross
549c786b84 Fix func name
https://github.com/webmin/webmin/issues/2519
2025-07-24 15:31:53 +03:00
Ilia Ross
225d113d38 Fix not to switch to remote user in case of admin login 2025-03-30 15:43:46 +03:00
Jamie Cameron
5760fb1c26 Make simplify_date always return HTML, and remove the eucconv call that's not useful for dates 2025-02-16 16:11:15 -08:00
Ilia Ross
d6f48578d7 Fix to stop HTML escaping our own API 2025-02-16 13:39:01 +02: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
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
Ilia Ross
4f945b0a4e Fix mail buttons text
https://github.com/webmin/usermin/issues/120
2024-11-19 21:03:58 +02:00
Ilia Ross
4a9ed9e8ab Update translations 2024-11-16 13:07:43 +02:00
Ilia Ross
fbf85c6e76 Update Polish translations (Read User Mail) 2024-11-16 13:03:22 +02:00
MacSteini
9a797f0a0e Updated de 2024-11-14 01:10:28 +00:00
MacSteini
7c2a993629 Merge branch 'webmin:master' into master 2024-10-03 04:14:39 +01:00
MacSteini
4775d07c8f Updated de 2024-10-03 04:11:15 +01:00