Commit Graph

13 Commits

Author SHA1 Message Date
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
b29b82cffd Add Turkish translation for the systemd module
Translates all 404 strings in systemd/lang/en into Turkish. The module
had no Turkish translation and no tr.auto file.

systemd terminology is kept recognisable: command names (systemctl,
journalctl, loginctl), section names ([Install]), unit suffixes (.mount)
and the concept name "linger" are left in English, while unit types are
translated (service/timer/socket/path/target/mount/swap/slice/scope).
2026-08-30 01:33:34 +03:00
Ilia Ross
555ff28a4d Add global systemd user unit controls
Some checks failed
Tests / prove (push) Has been cancelled
Package and upload artifacts / build (push) Has been cancelled
2026-08-05 21:00:36 +02:00
Ilia Ross
c94ddc5ec8 Fix to delete selected unit files safely
ⓘ Make system unit deletion operate on the selected unit file, preserve vendor deletion policy, and reject invalid/stale delete targets before any stop or disable side effects.

https://github.com/webmin/webmin/actions/runs/28058126464/job/83065504870
2026-06-24 00:09:43 +02:00
Ilia Ross
0290ec16a5 Fix to make packaged unit edits opt-in
ⓘ Default packaged unit files to read-only, keep drop-ins as the safe override path, hide boot controls for protected base units, and reject [Install] sections in drop-in overrides.
2026-06-23 23:24:44 +02:00
Ilia Ross
41b476c87a Fix to gate packaged unit deletion behind config
ⓘ Add a disabled-by-default module option for deleting packaged systemd unit files, while keeping local unit deletion allowed and enforcing the policy in both UI and backend paths.
2026-06-23 23:24:43 +02:00
Ilia Ross
f2fe6c930f Fix to change systemd ACL helper calls
https://github.com/webmin/webmin/pull/2760#discussion_r3449183293
2026-06-22 02:14:10 +02:00
Ilia Ross
a1c88df428 Fix to explicitly allow only string 0 or 1 2026-06-15 14:35:24 +02:00
Ilia Ross
cbebe22a14 Update comment 2026-06-15 14:15:52 +02:00
Ilia Ross
9fb08dd8f0 Fix to rename function name for clarity
3c77f7e3a6
2026-06-15 13:49:44 +02:00
Ilia Ross
5577c1d50f Add comments for clarity 2026-06-15 13:31:25 +02:00
Ilia Ross
605e575908 Fix to escape select label 2026-06-14 23:37:30 +02:00
Ilia Ross
d94000afbd Add Systemd Services and Units module
This PR adds a standalone Systemd Services and Units module for managing systemd units across system and user scopes.

The module keeps systemd-specific behavior separate from the legacy Bootup and Shutdown module and is implemented as standalone `strict`/`warnings` Perl code rather than depending on its existing init helpers. Those helpers intentionally smooth over multiple init systems, while this module keeps systemd-specific file handling, user-manager behavior, ACL checks, and control operations explicit, scoped, and easier to audit.

It includes:

- Tabbed views for services, timers, sockets, paths, targets, storage, resources, devices, and user units
- Guided creation and editing for common unit types, with contextual fields, validation, and help
- User-scoped unit management with linger support and safe handling of home-directory unit files
- Runtime actions for start, stop, restart, enable, disable, status, logs, properties, dependencies, and system-unit mask/unmask
- Drop-in override inventory plus create, edit, and delete flows
- Manual unit-file editing with daemon reload reminders and actions
- Configurable module behavior, visible tabs, display options, and post-create navigation
- Comprehensive ACL controls for system/user scopes, actions, manual edits, drop-ins, linger, reload, backup, and user filters
- Safe Webmin user support through a scoped safe ACL preset
- Virtualmin integration for granting domain owners access to their own systemd user units
- Tests for unit generation, safety checks, ACL behavior, user-unit handling, backup coverage, and Perl::Critic compatibility

A companion Virtualmin PR adds template integration so domain owners can be granted scoped access to their own systemd user units when this module is installed.
2026-06-12 20:55:28 +02:00