Compare commits

...

45 Commits

Author SHA1 Message Date
Adrian Vovk c584839dfe
Merge c2bd862838 into d80d7a2f2a 2024-11-06 15:18:47 -05:00
Luca Boccassi d80d7a2f2a
docs: fix sbsign manpage syntax and add to list, update release instructions (#35055)
<!-- devel-freezer =
{"comment-id":"2460595245","freezing-tag":"v257-rc1"} -->
2024-11-06 20:18:43 +00:00
Luca Boccassi 088793239e docs: add reminder to run update-man-rules before tagging a release 2024-11-06 19:21:14 +00:00
Luca Boccassi 94a46c20da docs: remove 'v' prefix from meson.version
It is actually v-less
2024-11-06 19:20:00 +00:00
Luca Boccassi d6f4c96b10 man: run update-man-rules 2024-11-06 19:19:13 +00:00
Luca Boccassi 9e51b12e13 man: fix syntax error in systemd-sbsign.xml
Follow-up for 5f163921e9
2024-11-06 19:18:35 +00:00
Luca Boccassi d145d1d410 meson: update version numbers for 257~rc1 2024-11-06 16:58:14 +00:00
Luca Boccassi f10d1c679e NEWS: finalize 2024-11-06 16:58:14 +00:00
Luca Boccassi e1c8f3a8d9 NEWS: update list of contributors 2024-11-06 16:53:46 +00:00
Luca Boccassi 859634ea63 NEWS: add note about sd-sbsign 2024-11-06 16:49:42 +00:00
Luca Boccassi 4484cad6f3
Update hwdb and translations (#35048) 2024-11-06 16:42:11 +00:00
Daan De Meyer e5011dd239
Introduce systemd-sbsign to do secure boot signing (#35021)
Currently in mkosi and ukify we use sbsigntools to do secure boot
signing. This has multiple issues:

- sbsigntools is practically unmaintained, sbvarsign is completely
broken with the latest gnu-efi when built without -fshort-wchar and
upstream has completely ignored my bug report about this.
- sbsigntools only supports openssl engines and not the new providers
API.
- sbsigntools doesn't allow us to cache hardware token pins in the
kernel keyring like we do nowadays when we sign stuff ourselves in
systemd-repart or systemd-measure

There are alternative tools like sbctl and pesign but these do not
support caching hardware token pins in the kernel keyring either.

To get around the issues with sbsigntools, let's introduce our own
tool systemd-sbsign to do secure boot signing. This allows us to
take advantage of our own openssl infra so that hardware token pins
are cached in the kernel keyring as expected and we get openssl
provider support as well.
2024-11-06 17:38:10 +01:00
Luca Boccassi 66d044b560 Update NEWS for recent PRs 2024-11-06 15:50:59 +00:00
Michele Dionisio d865abf9eb networkd: add possibility to specify MulticastIGMPVersion 2024-11-06 15:50:27 +00:00
Luca Boccassi f72fe2d73c
Grammar and formatting for DeviceTree docs (#35050) 2024-11-06 15:13:18 +00:00
Luca Boccassi 839c37dc7f Update translations
ninja -C build systemd-pot
ninja -C build systemd-update-po
2024-11-06 14:42:31 +00:00
Luca Boccassi 8e152361e9 Update hwdb
ninja -C build update-hwdb
2024-11-06 14:41:26 +00:00
Daan De Meyer 65fbf3b194 ukify: Add --signing-provider= option 2024-11-06 15:18:46 +01:00
Léane GRASSER b8cb1bc983 po: Translated using Weblate (French)
Currently translated at 100.0% (253 of 253 strings)

Co-authored-by: Léane GRASSER <leane.grasser@proton.me>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/fr/
Translation: systemd/main
2024-11-06 15:07:28 +01:00
Zbigniew Jędrzejewski-Szmek 78ed1e973c docs/TPM2_PCR_MEASUREMENTS: drop quotes from around section titles
The section headers used quotes as if the strings were some constants. But
AFAICT, those are just normal plain-text titles. Also lowercase them, because
this is almost like a table and it's easier to read without capitalization.
2024-11-06 15:02:24 +01:00
Zbigniew Jędrzejewski-Szmek 265488414c tree-wide: use Device*T*ree spelling
We used both, in fact "Devicetree" was more common. But we have a general rule
that we capitalize all words in names and also we have a DeviceTree=
configuration setting, which we cannot change. If we use two different
spelllings, this will make it harder for people to use the correct one in
config files. So use the "DeviceTree" spelling everywhere.
2024-11-06 15:00:55 +01:00
Luca Boccassi d99fe076b5
introduce report_errno_and_exit() helper (#35028)
This is a follow for https://github.com/systemd/systemd/pull/34853. In
particular, this comment
https://github.com/systemd/systemd/pull/34853#discussion_r1825837705.
2024-11-06 13:51:10 +00:00
Yu Watanabe b66948bbf2 core/manager: silence false-positive warning by coverity
Follow-up for 406f177501.

Closes CID#1564897.
2024-11-06 13:47:33 +00:00
Luca Boccassi 4055529003
machine: introduce io.systemd.Machine.Open method (#34867)
This PR introduces io.systemd.Machine.Open method which combines three
DBus alternatives:
- OpenMachinePTY
- OpenMachineLogin
- OpenMachineShell

The PR contains basic tests.
2024-11-06 13:45:04 +00:00
Zbigniew Jędrzejewski-Szmek d0ab0e5fa5 pid1: stop refusing to boot with cgroup v1
Since v256 we completely fail to boot if v1 is configured. Fedora 41 was just
released with v256.7 and this is probably the first major exposure of users to
this code. It turns out not work very well. Fedora switched to v2 as default in
F31 (2019) and at that time some people added configuration to use v1 either
because of Docker or for other reasons. But it's been long enough ago that
people don't remember this and are now very unhappy when the system refuses to
boot after an upgrade.

Refusing to boot is also unnecessarilly punishing to users. For machines that
are used remotely, this could mean somebody needs to physically access the
machine. For other users, the machine might be the only way to access the net
and help, and people might not know how to set kernel parameters without some
docs. And because this is in systemd, after an upgrade all boot choices are
affected, and it's not possible to e.g. select an older kernel for boot. And
crashing the machine doesn't really serve our goal either: we were giving a
hint how to continue using v1 and nothing else.

If the new override is configured, warn and immediately boot to v1.
If v1 is configured w/o the override, warn and wait 30 s and boot to v2.
Also give a hint how to switch to v2.

https://bugzilla.redhat.com/show_bug.cgi?id=2323323
https://bugzilla.redhat.com/show_bug.cgi?id=2323345
https://bugzilla.redhat.com/show_bug.cgi?id=2322467
https://www.reddit.com/r/Fedora/comments/1gfcyw9/refusing_to_run_under_cgroup_01_sy_specified_on/

The advice is to set systemd.unified_cgroup_hierarchy=1 (instead of removing
systemd.unified_cgroup_hierarchy=0). I think this is easier to convey. Users
who are understand what is going on can just remove the option instead.

The caching is dropped in cg_is_legacy_wanted(). It turns out that the
order in which those functions are called during early setup is very fragile.
If cg_is_legacy_wanted() is called before we have set up the v2 hierarchy,
we incorrectly cache a true answer. The function is called just a handful
of times at most, so we don't really need to cache the response.
2024-11-06 13:43:25 +00:00
Zbigniew Jędrzejewski-Szmek bc11463e8e man/systemd-stub: rework the description of sections
The text added for .dtbauto/.hwids was very hard to grok. This rewords it to be
proper English. No semantic changes are intended.

When updating this, I noticed that the interaction of multi-profile UKIs and
dtb autoselection is very unclear, a FIXME is added.
2024-11-06 14:40:21 +01:00
Daan De Meyer d835c4476b ukify: Add support for systemd-sbsign 2024-11-06 14:01:33 +01:00
Daan De Meyer 8cbd9d8328 sbsign: Add validate-key verb
This verb checks that we can load the specified private key.
2024-11-06 14:01:09 +01:00
Daan De Meyer 5f163921e9 Introduce systemd-sbsign to do secure boot signing
Currently in mkosi and ukify we use sbsigntools to do secure boot
signing. This has multiple issues:

- sbsigntools is practically unmaintained, sbvarsign is completely
broken with the latest gnu-efi when built without -fshort-wchar and
upstream has completely ignored my bug report about this.
- sbsigntools only supports openssl engines and not the new providers
API.
- sbsigntools doesn't allow us to cache hardware token pins in the
kernel keyring like we do nowadays when we sign stuff ourselves in
systemd-repart or systemd-measure

There are alternative tools like sbctl and pesign but these do not
support caching hardware token pins in the kernel keyring either.

To get around the issues with sbsigntools, let's introduce our own
tool systemd-sbsign to do secure boot signing. This allows us to
take advantage of our own openssl infra so that hardware token pins
are cached in the kernel keyring as expected and we get openssl
provider support as well.
2024-11-06 14:00:49 +01:00
Ivan Kruglov 1e2cd07394 machine: tests for io.systemd.Machine.Open 2024-11-06 11:58:51 +01:00
Ivan Kruglov a686bedb88 machine: introduce io.systemd.Machine.Open method 2024-11-06 11:37:51 +01:00
Ivan Kruglov 7779d4944c json: introduce json_dispatch_strv_environment()
I just moved json_dispatch_environment() from src/shared/user-record.c
under name 'json_dispatch_strv_environment()' to shared json code.
2024-11-06 11:37:51 +01:00
Ivan Kruglov b0eca6dee0 machine: machine_default_shell_path() & machine_default_shell_args() helper functions 2024-11-06 11:37:51 +01:00
Ivan Kruglov 41f1f283d7 machine: introduce machine_start_getty() and machine_start_shell() helpers 2024-11-06 11:37:51 +01:00
Ivan Kruglov c0589b0227 use report_errno_and_exit() in src/core/exec-invoke.c 2024-11-06 11:18:38 +01:00
Ivan Kruglov 7022563b5b use report_errno_and_exit() in src/shared/elf-util.c 2024-11-06 11:18:38 +01:00
Ivan Kruglov 3d44b469f3 use report_errno_and_exit() in src/shared/dissect-image.c 2024-11-06 11:18:38 +01:00
Ivan Kruglov 9af164b71c use report_errno_and_exit() in src/shared/mount-util.c 2024-11-06 11:18:38 +01:00
Ivan Kruglov f72a64f352 use report_errno_and_exit() in src/shutdown/umount.c 2024-11-06 11:18:38 +01:00
Ivan Kruglov a567de392d process-util: introduce report_errno_and_exit() as part of src/basic/process-util.{h,c} 2024-11-06 11:18:38 +01:00
Daan De Meyer 0bf70b1984 openssl-util: Set default UI method instead of setting engine method
While for engines we have ENGINE_ctrl() to set the UI method for the
second PIN prompt, for openssl providers we don't have such a feature
which means we get the default openssl UI for the second pin prompt.

Instead, let's set the default UI method which does get used for the
second pin prompt by the pkcs11 provider.
2024-11-05 19:58:45 +01:00
Daan De Meyer cf0238d854 pcrlock: Move pe_hash() and uki_hash() to pe-binary.h
Let's move these to shared so we can reuse pe_hash() in the upcoming
systemd-sbsign.
2024-11-05 14:26:21 +01:00
Daan De Meyer 48c5a4cd67 mkosi: Add ruff and mypy to tools tree packages 2024-11-05 14:26:21 +01:00
Adrian Vovk c2bd862838
wip 2024-09-22 01:34:05 -04:00
Adrian Vovk e20db952e2
WIP repart varlink 2024-09-19 08:26:13 -04:00
114 changed files with 117917 additions and 115300 deletions

107
NEWS
View File

@ -51,6 +51,12 @@ CHANGES WITH 257 in spe:
too many systems, because most NVMe devices only know a namespace 1 too many systems, because most NVMe devices only know a namespace 1
by default. by default.
* Support for cgroup v1 ('legacy' and 'hybrid' hierarchies) is now
considered obsolete and systemd by default will ignore configuration
that enables them. To forcibly reenable cgroup v1 support,
SYSTEMD_CGROUP_ENABLE_LEGACY_FORCE=1 must additionally be set on the
kernel command line.
Announcements of Future Feature Removals: Announcements of Future Feature Removals:
* The D-Bus method org.freedesktop.systemd1.StartAuxiliaryScope() is * The D-Bus method org.freedesktop.systemd1.StartAuxiliaryScope() is
@ -64,11 +70,8 @@ CHANGES WITH 257 in spe:
will be phased out in a future release in 2025, i.e. we expect to bump will be phased out in a future release in 2025, i.e. we expect to bump
the minimum baseline to v5.4 then too. the minimum baseline to v5.4 then too.
* Support for cgroup v1 ('legacy' and 'hybrid' hierarchies) is now * The complete removal of support for cgroup v1 ('legacy' and 'hybrid'
considered obsolete and systemd by default will refuse to boot under hierarchies) is scheduled for v258.
it. To forcibly reenable cgroup v1 support,
SYSTEMD_CGROUP_ENABLE_LEGACY_FORCE=1 must be set on kernel command
line. The complete removal of cgroup v1 is scheduled for v258.
* Support for System V service scripts is deprecated and will be * Support for System V service scripts is deprecated and will be
removed in v258. Please make sure to update your software removed in v258. Please make sure to update your software
@ -183,7 +186,7 @@ CHANGES WITH 257 in spe:
* The systemd.machine_id= kernel command line parameter interpreted by * The systemd.machine_id= kernel command line parameter interpreted by
PID 1 now supports an additional special value: if "firmware" is PID 1 now supports an additional special value: if "firmware" is
specified the machine ID is initialized from the SMBIOS/Devicetree specified the machine ID is initialized from the SMBIOS/DeviceTree
system UUID. (Previously this was already done in VM environments, system UUID. (Previously this was already done in VM environments,
this extends the concept to any system, but only on explicit request this extends the concept to any system, but only on explicit request
via this option.) via this option.)
@ -273,10 +276,10 @@ CHANGES WITH 257 in spe:
show up as .device units in systemd. show up as .device units in systemd.
* The firmware_node/sun sysfs attribute will now be used (if available) * The firmware_node/sun sysfs attribute will now be used (if available)
for naming slot-based network interfaces, for naming slot-based network interfaces, i.e. ID_NET_NAME_SLOT.
i.e. ID_NET_NAME_SLOT. Moreover the interface aliases specified in Moreover the interface aliases specified in DeviceTree are now
Devicetree are now searched for both on the interfaces parent device searched for both on the interface's parent device (as before) and
(as before) and the device itself (new). the device itself (new).
* Various USB hardware wallets have are now recognized by udev via a * Various USB hardware wallets have are now recognized by udev via a
.hwdb file, and get the ID_HARDWARE_WALLET= property set, which .hwdb file, and get the ID_HARDWARE_WALLET= property set, which
@ -381,6 +384,16 @@ CHANGES WITH 257 in spe:
reset one, and so on which only differ in kernel command line, but reset one, and so on which only differ in kernel command line, but
nothing else). nothing else).
* New .dtbauto and .hwids sections are now documented and supported in
systemd-measure, ukify, systemd-stub, and systemd-boot. A single UKI
can contain multiple .dtbauto sections, and the 'compatible' string
therein will be compared with the equivalent field in the DTB
provided by the firmware, if present. If absent, SMBIOS will be used
to calculate hardware IDs and compare them with the content of
.hwids. This allows including multiple DTBs in a single UKI, with
the bootloader automatically selecting the correct one for the
current hardware.
* ukify gained an --extend switch to import an existing UKI to * ukify gained an --extend switch to import an existing UKI to
be extended, and a --measure-base= switch to support measurement be extended, and a --measure-base= switch to support measurement
of multi-profile UKIs. of multi-profile UKIs.
@ -417,6 +430,11 @@ CHANGES WITH 257 in spe:
systemd's native systemd-ask-password logic (and take benefit of its systemd's native systemd-ask-password logic (and take benefit of its
caching and UI). caching and UI).
* A new systemd-sbsign tool has been added, that can be used to sign
EFI binaries (PE). This tool supports OpenSSL engines and providers,
with pin caching support for PKCS11. ukify supports it as an
alternative to sbsigntool and pesign.
The journal: The journal:
* journalctl can now list invocations of a unit with the * journalctl can now list invocations of a unit with the
@ -643,6 +661,9 @@ CHANGES WITH 257 in spe:
* systemd-tmpfiles --purge switch now requires specification of at * systemd-tmpfiles --purge switch now requires specification of at
least one tmpfiles.d/ drop-in file. least one tmpfiles.d/ drop-in file.
* tmpfiles.d gained a new '?' specifier for the 'L' type to create a
symlink only if the source exists, and gracefully skip otherwise.
* The new Linux mseal(), listmount(), statmount() syscalls have been * The new Linux mseal(), listmount(), statmount() syscalls have been
added to relevant system call groups. added to relevant system call groups.
@ -720,7 +741,59 @@ CHANGES WITH 257 in spe:
support this however, in which case EnterNamespace= might be an support this however, in which case EnterNamespace= might be an
alternative approach to acquire symbolized backtraces.) alternative approach to acquire symbolized backtraces.)
— <place>, <date> Contributions from: A. Wilcox, Abderrahim Kitouni, Adrian Vovk,
Alain Greppin, Allison Karlitskaya, Alyssa Ross, Anders Jonsson,
Andika Triwidada, Andres Beltran, Anouk Ceyssens, Anton Golubev,
Antonio Alvarez Feijoo, Arian van Putten, Arnaud Patard,
Arthur Shau, Bastien Nocera, Benjamin ROBIN, Brenton Simpson,
Bryan Gurney, ButterflyOfFire, Carlo Teubner, Celeste Liu,
Chen Guanqiao, Chen Qi, Chengen Du, Christoph Anton Mitterer,
Colin Foster, Collin L, Cristian Rodríguez, Daan De Meyer,
Dan Nicholson, Daniel Dawson, Daniel Martinez,
Daniel P. Berrangé, Daniel Rusek, Darsey Litzenberger,
David Joaquín Shourabi Porcel, David Michael, David Rheinsberg,
David Tardon, Davide Cavalca, Derek J. Clark, Diego Viola,
Dimitrys Meliates, Diogo Ivo, DocNITE, Dominique Martinet,
Dr. David Alan Gilbert, Edson Juliano Drosdeck, Erik Sjölund,
Etienne Champetier, Etienne Cordonnier, Ettore Atalan,
Eugeny Shcheglov, Fabian Vogt, Filip Lewiński, Florian Schmaus,
Franck Bui, Frantisek Sumsal, Fábio Rodrigues Ribeiro,
Gabriel Elyas, Gaël PORTAY, Giovanni Baratta, Gregor Herburger,
Gregory Arenius, GwynBleidD, Göran Uddeborg, Hans de Goede,
Helmut Grohne, Henry Chen, Ian Abbott, Integral, Ivan Kruglov,
Ivan Shapovalov, James Coglan, James Hilliard, James Muir,
Jason Yundt, Jeffrey Bosboom, Johannes Schneider,
John A. Leuenhagen, Jose Ignacio Tornos Martinez, JoseskVolpe,
Joshua Grisham, Jörg Behrmann, Kai-Chuan Hsieh, Kamil Szczęk,
Karel Zak, Kornilios Kourtis, Kuntal Majumder, Lennart Poettering,
Luca Boccassi, Lucas Adriano Salles, Lucas Werkmeister,
Ludwig Nussel, Luke T. Shumaker, Lukáš Nykrýn, Léane GRASSER,
Maanya Goenka, Mantas Mikulėnas, Marc Reisner, Marcel Hellwig,
Marin Kresic, Marius Hoch, Martin Srebotnjak, Martin Wilck,
Mary Strodl, Matteo Croce, Matthias Lisin, Matthias Schiffer,
Matthieu Baerts (NGI0), Matthieu CHARETTE,
Mauri de Souza Meneguzzo, Maximilian Wilhelm, Merlin Jehli,
Michael Ferrari, Michal Koutný, Michal Sekletár,
Michele Dionisio, Michiel, Mickaël Salaün, Mike Gilbert,
Mike Yuan, MkKvcs, Nick Cao, Nick Rosbrook, Nils K, Nova840,
Oğuz Ersen, Pavel Borecki, PavlNekrasov, Peter Hutterer,
Peter Rajnoha, Piotr Drąg, Raphaël Mélotte, Renan Guilherme,
Renjaya Raga Zenta, Ricky Tigg, Riku, Robin Lee, Ronan Pigott,
Ryan Wilson, Sam James, Sascha Mester, Sean Rhodes, Sergey A,
ShreyasMahangade, Simon Pilkington, Skye Chappelle, Steve Traylen,
Stuart Hayhurst, Susant Sahani, Takeo Kondo, Temuri Doghonadze,
Thomas Blume, Thorsten Scherer, Tobias Fleig, Tom Coldrick,
Tom Yan, Tomas Bzatek, Topi Miettinen, Uday Shankar,
Vasiliy Kovalev, Vitaly Kuznetsov, Vito Caputo, Vladimir Panteleev,
Will Fancher, WilliButz, Xeonacid, Yanqing Jing, Yu Watanabe,
Yuri Chornoivan, ZHANG Yuntian, Zbigniew Jędrzejewski-Szmek,
Zhou Qiankang, anonymix007, bryango, chayleaf, chenjiayi, csp5me,
cvlc12, fwfy, hugo303, jan@neighbourhood.ie, jauge-technica, lumingzh,
maia x., marginaldev, migleeson, nerdopolis, oldherl, pyfisch, q66,
rajmohan r, reDBo0n, rhellstrom, rindeal, samuelvw01, sinus-x, tfg13,
vdovhanych, xujing, Łukasz Stelmach, Дамјан Георгиевски
— Edinburgh, 2024-11-06
CHANGES WITH 256: CHANGES WITH 256:
@ -2009,7 +2082,7 @@ CHANGES WITH 255:
respective SBAT sections, so that they can be revoked individually if respective SBAT sections, so that they can be revoked individually if
needed. needed.
* systemd-boot will no longer load unverified Devicetree blobs when UEFI * systemd-boot will no longer load unverified DeviceTree blobs when UEFI
SecureBoot is enabled. For more details see: SecureBoot is enabled. For more details see:
https://github.com/systemd/systemd/security/advisories/GHSA-6m6p-rjcq-334c https://github.com/systemd/systemd/security/advisories/GHSA-6m6p-rjcq-334c
@ -2030,7 +2103,7 @@ CHANGES WITH 255:
command-line addons before measuring them in TPM2 PCR 12, in a single command-line addons before measuring them in TPM2 PCR 12, in a single
measurement, instead of measuring them individually. measurement, instead of measuring them individually.
* systemd-stub will now measure and load Devicetree Blob addons, which * systemd-stub will now measure and load DeviceTree Blob addons, which
are searched and loaded following the same model as the existing are searched and loaded following the same model as the existing
kernel command-line addons. kernel command-line addons.
@ -2038,7 +2111,7 @@ CHANGES WITH 255:
passed from systemd-boot when running inside Confidential VMs with UEFI passed from systemd-boot when running inside Confidential VMs with UEFI
SecureBoot enabled. SecureBoot enabled.
* systemd-stub will now load a Devicetree blob even if the firmware did * systemd-stub will now load a DeviceTree blob even if the firmware did
not load any beforehand (e.g.: for ACPI systems). not load any beforehand (e.g.: for ACPI systems).
* ukify is no longer considered experimental, and now ships in /usr/bin/. * ukify is no longer considered experimental, and now ships in /usr/bin/.
@ -2219,6 +2292,10 @@ CHANGES WITH 255:
specific devices explicitly. NetworkManager will soon implement a specific devices explicitly. NetworkManager will soon implement a
similar logic. similar logic.
* .network files gained a new MulticastIGMPVersion= setting in the
[Network] section, to control sysctl's
/proc/sys/net/ipv4/conf/INTERFACE/force_igmp_version setting.
systemctl: systemctl:
* systemctl is-failed now checks the system state if no unit is * systemctl is-failed now checks the system state if no unit is
@ -4352,7 +4429,7 @@ CHANGES WITH 252 🎃:
* 'udevadm wait' will now listen to kernel uevents too when called with * 'udevadm wait' will now listen to kernel uevents too when called with
--initialized=no. --initialized=no.
* When naming network devices udev will now consult the Devicetree * When naming network devices udev will now consult the DeviceTree
"alias" fields for the device. "alias" fields for the device.
* systemd-udev will now create infiniband/by-path and * systemd-udev will now create infiniband/by-path and

View File

@ -15,18 +15,19 @@ SPDX-License-Identifier: LGPL-2.1-or-later
6. [RC1] Update library numbers in `meson.build` 6. [RC1] Update library numbers in `meson.build`
7. Update version number in `meson.version` (e.g. from `256~devel` to `256~rc1` or from `256~rc3` to `256`). Note that this uses a tilde (\~) instead of a hyphen (-) because tildes sort lower in version comparisons according to the [version format specification](https://uapi-group.org/specifications/specs/version_format_specification/), and we want `255~rc1` to sort lower than `255`. 7. Update version number in `meson.version` (e.g. from `256~devel` to `256~rc1` or from `256~rc3` to `256`). Note that this uses a tilde (\~) instead of a hyphen (-) because tildes sort lower in version comparisons according to the [version format specification](https://uapi-group.org/specifications/specs/version_format_specification/), and we want `255~rc1` to sort lower than `255`.
8. Check dbus docs with `ninja -C build update-dbus-docs` 8. Check dbus docs with `ninja -C build update-dbus-docs`
9. Update translation strings (`ninja -C build systemd-pot`, `ninja -C build systemd-update-po`) - drop the header comments from `systemd.pot` + re-add SPDX before committing. If the only change in a file is the 'POT-Creation-Date' field, then ignore that file. 9. Check manpages list with `ninja -C build update-man-rules`
10. Tag the release: `version="v$(sed 's/~/-/g' meson.version)" && git tag -s "${version}" -m "systemd ${version}"` (tildes are replaced with hyphens, because git doesn't accept the former). 10. Update translation strings (`ninja -C build systemd-pot`, `ninja -C build systemd-update-po`) - drop the header comments from `systemd.pot` + re-add SPDX before committing. If the only change in a file is the 'POT-Creation-Date' field, then ignore that file.
11. Do `ninja -C build` 11. Tag the release: `version="v$(sed 's/~/-/g' meson.version)" && git tag -s "${version}" -m "systemd ${version}"` (tildes are replaced with hyphens, because git doesn't accept the former).
12. Make sure that the version string and package string match: `build/systemctl --version` 12. Do `ninja -C build`
13. [FINAL] Close the github milestone and open a new one (https://github.com/systemd/systemd/milestones) 13. Make sure that the version string and package string match: `build/systemctl --version`
14. "Draft" a new release on github (https://github.com/systemd/systemd/releases/new), mark "This is a pre-release" if appropriate. 14. [FINAL] Close the github milestone and open a new one (https://github.com/systemd/systemd/milestones)
15. Check that announcement to systemd-devel, with a copy&paste from NEWS, was sent. This should happen automatically. 15. "Draft" a new release on github (https://github.com/systemd/systemd/releases/new), mark "This is a pre-release" if appropriate.
16. Update IRC topic (`/msg chanserv TOPIC #systemd Version NNN released | Online resources https://systemd.io/`) 16. Check that announcement to systemd-devel, with a copy&paste from NEWS, was sent. This should happen automatically.
17. [FINAL] Create an empty -stable branch: `git push systemd origin/main:refs/heads/v${version}-stable`. 17. Update IRC topic (`/msg chanserv TOPIC #systemd Version NNN released | Online resources https://systemd.io/`)
18. [FINAL] Build and upload the documentation (on the -stable branch): `ninja -C build doc-sync` 18. [FINAL] Create an empty -stable branch: `git push systemd origin/main:refs/heads/v${version}-stable`.
19. [FINAL] Build and upload the documentation (on the -stable branch): `ninja -C build doc-sync`
20. [FINAL] Change the Github Pages branch to the newly created branch (https://github.com/systemd/systemd/settings/pages) and set the 'Custom domain' to 'systemd.io' 20. [FINAL] Change the Github Pages branch to the newly created branch (https://github.com/systemd/systemd/settings/pages) and set the 'Custom domain' to 'systemd.io'
21. [FINAL] Update version number in `meson.version` to the devel version of the next release (e.g. from `v256` to `v257~devel`) 21. [FINAL] Update version number in `meson.version` to the devel version of the next release (e.g. from `256` to `257~devel`)
# Steps to a Successful Stable Release # Steps to a Successful Stable Release

View File

@ -41,7 +41,7 @@ used for new, additional measurements.
## PCR Measurements Made by `systemd-boot` (UEFI) ## PCR Measurements Made by `systemd-boot` (UEFI)
### PCS 5, `EV_EVENT_TAG`, "loader.conf" ### PCS 5, `EV_EVENT_TAG`, `loader.conf`
The content of `systemd-boot`'s configuration file, `loader/loader.conf`, is The content of `systemd-boot`'s configuration file, `loader/loader.conf`, is
measured as a tagged event. measured as a tagged event.
@ -52,7 +52,7 @@ measured as a tagged event.
**Measured hash** covers the content of `loader.conf` as it is read from the ESP. **Measured hash** covers the content of `loader.conf` as it is read from the ESP.
### PCR 12, `EV_IPL`, "Kernel Command Line" ### PCR 12, `EV_IPL`, kernel command line
If the kernel command line was specified explicitly (by the user or in a Boot If the kernel command line was specified explicitly (by the user or in a Boot
Loader Specification Type #1 file), the kernel command line passed to the Loader Specification Type #1 file), the kernel command line passed to the
@ -70,7 +70,7 @@ trailing NUL bytes).
## PCR Measurements Made by `systemd-stub` (UEFI) ## PCR Measurements Made by `systemd-stub` (UEFI)
### PCR 11, `EV_IPL`, "PE Section Name" ### PCR 11, `EV_IPL`, PE section name
A measurement is made for each PE section of the UKI that is defined by the A measurement is made for each PE section of the UKI that is defined by the
[UKI [UKI
@ -87,7 +87,7 @@ both types of records appear interleaved in the event log.
**Measured hash** covers the PE section name in ASCII (*including* a trailing NUL byte!). **Measured hash** covers the PE section name in ASCII (*including* a trailing NUL byte!).
### PCR 11, `EV_IPL`, "PE Section Data" ### PCR 11, `EV_IPL`, PE section data
Happens once for each UKI-defined PE section of the UKI, in the canonical UKI Happens once for each UKI-defined PE section of the UKI, in the canonical UKI
PE section order, as per the UKI specification, see above. PE section order, as per the UKI specification, see above.
@ -96,7 +96,7 @@ PE section order, as per the UKI specification, see above.
**Measured hash** covers the (binary) PE section contents. **Measured hash** covers the (binary) PE section contents.
### PCR 12, `EV_IPL`, "Kernel Command Line" ### PCR 12, `EV_IPL`, kernel command line
Might happen up to three times, for kernel command lines from: Might happen up to three times, for kernel command lines from:
@ -110,37 +110,37 @@ UTF-16.
**Measured hash** covers the literal kernel command line in UTF-16 (without any **Measured hash** covers the literal kernel command line in UTF-16 (without any
trailing NUL bytes). trailing NUL bytes).
### PCR 12, `EV_EVENT_TAG`, "Devicetrees" ### PCR 12, `EV_EVENT_TAG`, DeviceTrees
Devicetree addons are measured individually as a tagged event. DeviceTree addons are measured individually as a tagged event.
**Event Tag** `0x6c46f751` **Event Tag** `0x6c46f751`
**Description** the addon filename. **Description** is the addon filename.
**Measured hash** covers the content of the Devicetree. **Measured hash** covers the content of the DeviceTree.
### PCR 12, `EV_EVENT_TAG`, "Initrd addons" ### PCR 12, `EV_EVENT_TAG`, initrd addons
Initrd addons are measured individually as a tagged event. Initrd addons are measured individually as a tagged event.
**Event Tag** `0x49dffe0f` **Event Tag** `0x49dffe0f`
**Description** the addon filename. **Description** is the addon filename.
**Measured hash** covers the contents of the initrd. **Measured hash** covers the contents of the initrd.
### PCR 12, `EV_EVENT_TAG`, "Ucode addons" ### PCR 12, `EV_EVENT_TAG`, ucode addons
Ucode addons are measured individually as a tagged event. Ucode addons are measured individually as a tagged event.
**Event Tag** `0xdac08e1a` **Event Tag** `0xdac08e1a`
**Description** the addon filename. **Description** is the addon filename.
**Measured hash** covers the contents of the ucode initrd. **Measured hash** covers the contents of the ucode initrd.
### PCR 12, `EV_IPL`, "Per-UKI Credentials initrd" ### PCR 12, `EV_IPL`, per-uki credentials initrd
**Description** in the event log record is the constant string "Credentials **Description** in the event log record is the constant string "Credentials
initrd" in UTF-16. initrd" in UTF-16.
@ -148,7 +148,7 @@ initrd" in UTF-16.
**Measured hash** covers the per-UKI credentials cpio archive (which is generated **Measured hash** covers the per-UKI credentials cpio archive (which is generated
on-the-fly by `systemd-stub`). on-the-fly by `systemd-stub`).
### PCR 12, `EV_IPL`, "Global Credentials initrd" ### PCR 12, `EV_IPL`, global credentials initrd
**Description** in the event log record is the constant string "Global **Description** in the event log record is the constant string "Global
credentials initrd" in UTF-16. credentials initrd" in UTF-16.
@ -156,7 +156,7 @@ credentials initrd" in UTF-16.
**Measured hash** covers the global credentials cpio archive (which is generated **Measured hash** covers the global credentials cpio archive (which is generated
on-the-fly by `systemd-stub`). on-the-fly by `systemd-stub`).
### PCR 13, `EV_IPL`, "sysext initrd" ### PCR 13, `EV_IPL`, sysext initrd
**Description** in the event log record is the constant string "System extension **Description** in the event log record is the constant string "System extension
initrd" in UTF-16. initrd" in UTF-16.
@ -166,7 +166,7 @@ on-the-fly by `systemd-stub`).
## PCR Measurements Made by `systemd-pcrextend` (Userspace) ## PCR Measurements Made by `systemd-pcrextend` (Userspace)
### PCR 11, "Boot Phases" ### PCR 11, boot phases
The `systemd-pcrphase.service`, `systemd-pcrphase-initrd.service`, The `systemd-pcrphase.service`, `systemd-pcrphase-initrd.service`,
`systemd-pcrphase-sysinit.service` services will measure the boot phase reached `systemd-pcrphase-sysinit.service` services will measure the boot phase reached
@ -178,7 +178,7 @@ choose to define additional/different phases.)
**Measured hash** covers the phase string (in UTF-8, without trailing NUL **Measured hash** covers the phase string (in UTF-8, without trailing NUL
bytes). bytes).
### PCR 15, "Machine ID" ### PCR 15, machine ID
The `systemd-pcrmachine.service` service will measure the machine ID (as read The `systemd-pcrmachine.service` service will measure the machine ID (as read
from `/etc/machine-id`) during boot. from `/etc/machine-id`) during boot.
@ -187,7 +187,7 @@ from `/etc/machine-id`) during boot.
formatted in hexadecimal lowercase characters (in UTF-8, without trailing NUL formatted in hexadecimal lowercase characters (in UTF-8, without trailing NUL
bytes). bytes).
### PCR 15, "File System" ### PCR 15, file system
The `systemd-pcrfs-root.service` and `systemd-pcrfs@.service` services will The `systemd-pcrfs-root.service` and `systemd-pcrfs@.service` services will
measure a string identifying a specific file system, typically covering the measure a string identifying a specific file system, typically covering the
@ -200,7 +200,7 @@ without trailing NUL bytes).
## PCR Measurements Made by `systemd-cryptsetup` (Userspace) ## PCR Measurements Made by `systemd-cryptsetup` (Userspace)
### PCR 15, "Volume Key" ### PCR 15, volume key
The `systemd-cryptsetup@.service` service will measure a key derived from the The `systemd-cryptsetup@.service` service will measure a key derived from the
LUKS volume key of a specific encrypted volume, typically covering the backing LUKS volume key of a specific encrypted volume, typically covering the backing

View File

@ -43040,6 +43040,9 @@ OUI:0C4314*
OUI:0C43F9* OUI:0C43F9*
ID_OUI_FROM_DATABASE=Amazon Technologies Inc. ID_OUI_FROM_DATABASE=Amazon Technologies Inc.
OUI:0C44C0*
ID_OUI_FROM_DATABASE=zte corporation
OUI:0C45BA* OUI:0C45BA*
ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD
@ -43061,6 +43064,15 @@ OUI:0C47A94*
OUI:0C47A97* OUI:0C47A97*
ID_OUI_FROM_DATABASE=Annapurna labs ID_OUI_FROM_DATABASE=Annapurna labs
OUI:0C47A9A*
ID_OUI_FROM_DATABASE=Lens Technology (Xiangtan) Co.,Ltd
OUI:0C47A9B*
ID_OUI_FROM_DATABASE=Shenzhen Hebang Electronic Co., Ltd
OUI:0C47A9C*
ID_OUI_FROM_DATABASE=Annapurna labs
OUI:0C47A9D* OUI:0C47A9D*
ID_OUI_FROM_DATABASE=DIG_LINK ID_OUI_FROM_DATABASE=DIG_LINK
@ -46658,6 +46670,9 @@ OUI:14E7C8*
OUI:14E9B2* OUI:14E9B2*
ID_OUI_FROM_DATABASE=Fiberhome Telecommunication Technologies Co.,LTD ID_OUI_FROM_DATABASE=Fiberhome Telecommunication Technologies Co.,LTD
OUI:14EAA1*
ID_OUI_FROM_DATABASE=Micronet union Technology (chengdu) co., Ltd
OUI:14EB08* OUI:14EB08*
ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD
@ -48185,6 +48200,9 @@ OUI:1C08C1*
OUI:1C0B52* OUI:1C0B52*
ID_OUI_FROM_DATABASE=EPICOM S.A ID_OUI_FROM_DATABASE=EPICOM S.A
OUI:1C0B8B*
ID_OUI_FROM_DATABASE=Ubiquiti Inc
OUI:1C0D7D* OUI:1C0D7D*
ID_OUI_FROM_DATABASE=Apple, Inc. ID_OUI_FROM_DATABASE=Apple, Inc.
@ -50186,6 +50204,9 @@ OUI:2050E7*
OUI:205383* OUI:205383*
ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD
OUI:20538D*
ID_OUI_FROM_DATABASE=Hon Hai Precision Industry Co., Ltd.
OUI:2053CA* OUI:2053CA*
ID_OUI_FROM_DATABASE=Risk Technology Ltd ID_OUI_FROM_DATABASE=Risk Technology Ltd
@ -51474,7 +51495,7 @@ OUI:245DFCB*
ID_OUI_FROM_DATABASE=ONLY ID_OUI_FROM_DATABASE=ONLY
OUI:245DFCC* OUI:245DFCC*
ID_OUI_FROM_DATABASE=Senix Corporation ID_OUI_FROM_DATABASE=Senix
OUI:245DFCD* OUI:245DFCD*
ID_OUI_FROM_DATABASE=Hunan Honestone lntelligence Technology Co.,Ltd ID_OUI_FROM_DATABASE=Hunan Honestone lntelligence Technology Co.,Ltd
@ -54347,6 +54368,9 @@ OUI:2C64F6*
OUI:2C66AD* OUI:2C66AD*
ID_OUI_FROM_DATABASE=NimbleTech Digital Inc. ID_OUI_FROM_DATABASE=NimbleTech Digital Inc.
OUI:2C66F5*
ID_OUI_FROM_DATABASE=SHENZHEN ELECTRICAL APPLIANCES CO.
OUI:2C6798* OUI:2C6798*
ID_OUI_FROM_DATABASE=InTalTech Ltd. ID_OUI_FROM_DATABASE=InTalTech Ltd.
@ -55022,6 +55046,9 @@ OUI:2CDDA3*
OUI:2CDDE9* OUI:2CDDE9*
ID_OUI_FROM_DATABASE=Arista Networks ID_OUI_FROM_DATABASE=Arista Networks
OUI:2CDFE6*
ID_OUI_FROM_DATABASE=Raisecom Technology CO., LTD
OUI:2CE032* OUI:2CE032*
ID_OUI_FROM_DATABASE=TCL King Electrical Appliances(Huizhou)Co.,Ltd ID_OUI_FROM_DATABASE=TCL King Electrical Appliances(Huizhou)Co.,Ltd
@ -58142,6 +58169,9 @@ OUI:382187*
OUI:3821C7* OUI:3821C7*
ID_OUI_FROM_DATABASE=Hewlett Packard Enterprise ID_OUI_FROM_DATABASE=Hewlett Packard Enterprise
OUI:382228*
ID_OUI_FROM_DATABASE=Telink Micro LLC
OUI:38229D* OUI:38229D*
ID_OUI_FROM_DATABASE=ADB Broadband Italia ID_OUI_FROM_DATABASE=ADB Broadband Italia
@ -68906,6 +68936,9 @@ OUI:580A20*
OUI:580AD4* OUI:580AD4*
ID_OUI_FROM_DATABASE=Apple, Inc. ID_OUI_FROM_DATABASE=Apple, Inc.
OUI:580D0D*
ID_OUI_FROM_DATABASE=GREE ELECTRIC APPLIANCES, INC. OF ZHUHAI
OUI:581031* OUI:581031*
ID_OUI_FROM_DATABASE=Hon Hai Precision IND.CO.,LTD ID_OUI_FROM_DATABASE=Hon Hai Precision IND.CO.,LTD
@ -69872,6 +69905,9 @@ OUI:58D50A*
OUI:58D56E* OUI:58D56E*
ID_OUI_FROM_DATABASE=D-Link International ID_OUI_FROM_DATABASE=D-Link International
OUI:58D61F*
ID_OUI_FROM_DATABASE=Ubiquiti Inc
OUI:58D67A* OUI:58D67A*
ID_OUI_FROM_DATABASE=TCPlink ID_OUI_FROM_DATABASE=TCPlink
@ -74780,6 +74816,9 @@ OUI:689423*
OUI:68944A* OUI:68944A*
ID_OUI_FROM_DATABASE=zte corporation ID_OUI_FROM_DATABASE=zte corporation
OUI:689575*
ID_OUI_FROM_DATABASE=Zhejiang Bodyguard Electronic Co., Ltd
OUI:68962E* OUI:68962E*
ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD
@ -75857,6 +75896,9 @@ OUI:6C62FE*
OUI:6C639C* OUI:6C639C*
ID_OUI_FROM_DATABASE=Commscope ID_OUI_FROM_DATABASE=Commscope
OUI:6C63F8*
ID_OUI_FROM_DATABASE=Ubiquiti Inc
OUI:6C641A* OUI:6C641A*
ID_OUI_FROM_DATABASE=Penguin Computing ID_OUI_FROM_DATABASE=Penguin Computing
@ -91961,6 +92003,9 @@ OUI:78257A*
OUI:7825AD* OUI:7825AD*
ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
OUI:7826A6*
ID_OUI_FROM_DATABASE=zte corporation
OUI:7828CA* OUI:7828CA*
ID_OUI_FROM_DATABASE=Sonos, Inc. ID_OUI_FROM_DATABASE=Sonos, Inc.
@ -99560,6 +99605,9 @@ OUI:8C1F6416E*
OUI:8C1F64170* OUI:8C1F64170*
ID_OUI_FROM_DATABASE=Fracarro Radioindustrie Srl ID_OUI_FROM_DATABASE=Fracarro Radioindustrie Srl
OUI:8C1F64175*
ID_OUI_FROM_DATABASE=Wuhan YiValley Opto-electric technology Co.,Ltd
OUI:8C1F64177* OUI:8C1F64177*
ID_OUI_FROM_DATABASE=Emcom Systems ID_OUI_FROM_DATABASE=Emcom Systems
@ -100382,6 +100430,9 @@ OUI:8C1F643B7*
OUI:8C1F643B8* OUI:8C1F643B8*
ID_OUI_FROM_DATABASE=HUBRIS TECHNOLOGIES PRIVATE LIMITED ID_OUI_FROM_DATABASE=HUBRIS TECHNOLOGIES PRIVATE LIMITED
OUI:8C1F643BA*
ID_OUI_FROM_DATABASE=MITSUBISHI ELECTRIC INDIA PVT. LTD.
OUI:8C1F643BB* OUI:8C1F643BB*
ID_OUI_FROM_DATABASE=Clausal Computing Oy ID_OUI_FROM_DATABASE=Clausal Computing Oy
@ -101690,6 +101741,9 @@ OUI:8C1F6474B*
OUI:8C1F6474E* OUI:8C1F6474E*
ID_OUI_FROM_DATABASE=OpenPark Technologies Kft ID_OUI_FROM_DATABASE=OpenPark Technologies Kft
OUI:8C1F64751*
ID_OUI_FROM_DATABASE=CITSA Technologies Private Limited
OUI:8C1F64755* OUI:8C1F64755*
ID_OUI_FROM_DATABASE=Flextronics International Kft ID_OUI_FROM_DATABASE=Flextronics International Kft
@ -101711,6 +101765,9 @@ OUI:8C1F64760*
OUI:8C1F64762* OUI:8C1F64762*
ID_OUI_FROM_DATABASE=Support Professionals B.V. ID_OUI_FROM_DATABASE=Support Professionals B.V.
OUI:8C1F64763*
ID_OUI_FROM_DATABASE=Anduril Imaging
OUI:8C1F64764* OUI:8C1F64764*
ID_OUI_FROM_DATABASE=nanoTRONIX Computing Inc. ID_OUI_FROM_DATABASE=nanoTRONIX Computing Inc.
@ -103556,6 +103613,9 @@ OUI:8C1F64C5D*
OUI:8C1F64C5E* OUI:8C1F64C5E*
ID_OUI_FROM_DATABASE=YUYAMA MFG Co.,Ltd ID_OUI_FROM_DATABASE=YUYAMA MFG Co.,Ltd
OUI:8C1F64C60*
ID_OUI_FROM_DATABASE=Intelligent Security Systems (ISS)
OUI:8C1F64C61* OUI:8C1F64C61*
ID_OUI_FROM_DATABASE=Beijing Ceresdate Technology Co.,LTD ID_OUI_FROM_DATABASE=Beijing Ceresdate Technology Co.,LTD
@ -104471,6 +104531,9 @@ OUI:8C1F64F13*
OUI:8C1F64F14* OUI:8C1F64F14*
ID_OUI_FROM_DATABASE=Elektrosil GmbH ID_OUI_FROM_DATABASE=Elektrosil GmbH
OUI:8C1F64F19*
ID_OUI_FROM_DATABASE=Hurry-tech
OUI:8C1F64F1B* OUI:8C1F64F1B*
ID_OUI_FROM_DATABASE=Nextep Co.,Ltd. ID_OUI_FROM_DATABASE=Nextep Co.,Ltd.
@ -112361,6 +112424,9 @@ OUI:A08966*
OUI:A089E4* OUI:A089E4*
ID_OUI_FROM_DATABASE=Skyworth Digital Technology(Shenzhen) Co.,Ltd ID_OUI_FROM_DATABASE=Skyworth Digital Technology(Shenzhen) Co.,Ltd
OUI:A08A06*
ID_OUI_FROM_DATABASE=ASKEY COMPUTER CORP
OUI:A08A87* OUI:A08A87*
ID_OUI_FROM_DATABASE=HuiZhou KaiYue Electronic Co.,Ltd ID_OUI_FROM_DATABASE=HuiZhou KaiYue Electronic Co.,Ltd
@ -114656,6 +114722,9 @@ OUI:A84041*
OUI:A8407D* OUI:A8407D*
ID_OUI_FROM_DATABASE=GD Midea Air-Conditioning Equipment Co.,Ltd. ID_OUI_FROM_DATABASE=GD Midea Air-Conditioning Equipment Co.,Ltd.
OUI:A840F8*
ID_OUI_FROM_DATABASE=HUMAX NETWORKS
OUI:A84122* OUI:A84122*
ID_OUI_FROM_DATABASE=China Mobile (Hangzhou) Information Technology Co.,Ltd. ID_OUI_FROM_DATABASE=China Mobile (Hangzhou) Information Technology Co.,Ltd.
@ -121592,6 +121661,9 @@ OUI:BCBD84*
OUI:BCBD9E* OUI:BCBD9E*
ID_OUI_FROM_DATABASE=ITEL MOBILE LIMITED ID_OUI_FROM_DATABASE=ITEL MOBILE LIMITED
OUI:BCBEFB*
ID_OUI_FROM_DATABASE=ASL Xiamen Technology CO., LTD
OUI:BCC00F* OUI:BCC00F*
ID_OUI_FROM_DATABASE=Fiberhome Telecommunication Technologies Co.,LTD ID_OUI_FROM_DATABASE=Fiberhome Telecommunication Technologies Co.,LTD
@ -126158,6 +126230,9 @@ OUI:C8FAE1*
OUI:C8FB26* OUI:C8FB26*
ID_OUI_FROM_DATABASE=Cisco SPVTG ID_OUI_FROM_DATABASE=Cisco SPVTG
OUI:C8FB54*
ID_OUI_FROM_DATABASE=iMin Technology Pte. Ltd.
OUI:C8FD19* OUI:C8FD19*
ID_OUI_FROM_DATABASE=Texas Instruments ID_OUI_FROM_DATABASE=Texas Instruments
@ -130412,6 +130487,9 @@ OUI:D4E32C*
OUI:D4E33F* OUI:D4E33F*
ID_OUI_FROM_DATABASE=Nokia ID_OUI_FROM_DATABASE=Nokia
OUI:D4E3C5*
ID_OUI_FROM_DATABASE=zte corporation
OUI:D4E6B7* OUI:D4E6B7*
ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
@ -137237,6 +137315,9 @@ OUI:EC74BA*
OUI:EC74D7* OUI:EC74D7*
ID_OUI_FROM_DATABASE=Grandstream Networks Inc ID_OUI_FROM_DATABASE=Grandstream Networks Inc
OUI:EC750C*
ID_OUI_FROM_DATABASE=TP-Link Systems Inc.
OUI:EC753E* OUI:EC753E*
ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD

View File

@ -1,5 +1,5 @@
--- 20-acpi-vendor.hwdb.base 2024-11-01 10:15:52.858625476 +0100 --- 20-acpi-vendor.hwdb.base 2024-11-06 10:40:14.734611315 +0000
+++ 20-acpi-vendor.hwdb 2024-11-01 10:15:52.863625568 +0100 +++ 20-acpi-vendor.hwdb 2024-11-06 10:40:14.738611667 +0000
@@ -3,6 +3,8 @@ @@ -3,6 +3,8 @@
# Data imported from: # Data imported from:
# https://uefi.org/uefi-pnp-export # https://uefi.org/uefi-pnp-export

File diff suppressed because it is too large Load Diff

View File

@ -13067,6 +13067,12 @@ D00000-DFFFFF (base 16) DIG_LINK
Uttar Pradesh 201301 Uttar Pradesh 201301
IN IN
0C-47-A9 (hex) Lens Technology (Xiangtan) Co.,Ltd
A00000-AFFFFF (base 16) Lens Technology (Xiangtan) Co.,Ltd
16 Baishi West Road, Xiangtan Economic and Technological Development Zone
Xiangtan Hunan 411100
CN
B8-4C-87 (hex) Altronix , Corp B8-4C-87 (hex) Altronix , Corp
A00000-AFFFFF (base 16) Altronix , Corp A00000-AFFFFF (base 16) Altronix , Corp
140 58th St. Bldg A, Ste 2N 140 58th St. Bldg A, Ste 2N
@ -21617,12 +21623,6 @@ E8-6C-C7 (hex) KLAB
Yuseong-gu Daejeon 34014 Yuseong-gu Daejeon 34014
KR KR
24-5D-FC (hex) Senix Corporation
C00000-CFFFFF (base 16) Senix Corporation
10516 Route 116, Suite 300
Hinesburg VT 05461
US
24-5D-FC (hex) Hunan Honestone lntelligence Technology Co.,Ltd 24-5D-FC (hex) Hunan Honestone lntelligence Technology Co.,Ltd
D00000-DFFFFF (base 16) Hunan Honestone lntelligence Technology Co.,Ltd D00000-DFFFFF (base 16) Hunan Honestone lntelligence Technology Co.,Ltd
705, Building 1, Fortune Plaza, Wankuntu, Xiangzhang Road, Yuhua District, Changsha City, 705, Building 1, Fortune Plaza, Wankuntu, Xiangzhang Road, Yuhua District, Changsha City,
@ -26450,6 +26450,12 @@ E00000-EFFFFF (base 16) JET OPTOELECTRONICS CO., LTD.
Mail box 15123 Haifa 3508409 Mail box 15123 Haifa 3508409
IL IL
24-5D-FC (hex) Senix
C00000-CFFFFF (base 16) Senix
10516 Route 116, Suite 300
Hinesburg VT 05461
US
0C-47-A9 (hex) Private 0C-47-A9 (hex) Private
400000-4FFFFF (base 16) Private 400000-4FFFFF (base 16) Private
@ -33193,3 +33199,15 @@ AC-EF-92 (hex) LIFT CONTROLS PRIVATE LIMITED
Survey no 39/1, Murdi, Khandepar, Ponda Survey no 39/1, Murdi, Khandepar, Ponda
Ponda Goa 403406 Ponda Goa 403406
IN IN
0C-47-A9 (hex) Annapurna labs
C00000-CFFFFF (base 16) Annapurna labs
Matam Scientific Industries Center, Building 8.2
Mail box 15123 Haifa 3508409
IL
0C-47-A9 (hex) Shenzhen Hebang Electronic Co., Ltd
B00000-BFFFFF (base 16) Shenzhen Hebang Electronic Co., Ltd
2nd Floor West, Bldg B, Kelunte Low Carbon Industry Park, Huarong Road, Dalang, Longhua District
Shenzhen 518000
CN

File diff suppressed because it is too large Load Diff

View File

@ -1069,6 +1069,7 @@ manpages = [
'ENABLE_RFKILL'], 'ENABLE_RFKILL'],
['systemd-run-generator', '8', [], ''], ['systemd-run-generator', '8', [], ''],
['systemd-run', '1', [], ''], ['systemd-run', '1', [], ''],
['systemd-sbsign', '1', [], ''],
['systemd-sleep.conf', '5', ['sleep.conf.d'], ''], ['systemd-sleep.conf', '5', ['sleep.conf.d'], ''],
['systemd-socket-activate', '1', [], ''], ['systemd-socket-activate', '1', [], ''],
['systemd-socket-proxyd', '8', [], ''], ['systemd-socket-proxyd', '8', [], ''],

111
man/systemd-sbsign.xml Normal file
View File

@ -0,0 +1,111 @@
<?xml version='1.0'?> <!--*-nxml-*-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
<!-- SPDX-License-Identifier: LGPL-2.1-or-later -->
<refentry id="systemd-sbsign"
xmlns:xi="http://www.w3.org/2001/XInclude">
<refentryinfo>
<title>systemd-sbsign</title>
<productname>systemd</productname>
</refentryinfo>
<refmeta>
<refentrytitle>systemd-sbsign</refentrytitle>
<manvolnum>1</manvolnum>
</refmeta>
<refnamediv>
<refname>systemd-sbsign</refname>
<refpurpose>Sign PE binaries for EFI Secure Boot</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>systemd-sbsign</command>
<arg choice="opt" rep="repeat">OPTIONS</arg>
<arg choice="req">COMMAND</arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1>
<title>Description</title>
<para><command>systemd-sbsign</command> can be used to sign PE binaries for EFI Secure Boot.</para>
</refsect1>
<refsect1>
<title>Commands</title>
<variablelist>
<varlistentry>
<term><option>sign</option></term>
<listitem><para>Signs the given PE binary for EFI Secure Boot. Takes a path to a PE binary as its
argument. If the PE binary already has a certificate table, the new signature will be added to it.
Otherwise a new certificate table will be created. The signed PE binary will be written to the path
specified with <option>--output=</option>.</para>
<xi:include href="version-info.xml" xpointer="v257"/>
</listitem>
</varlistentry>
<varlistentry>
<term><option>validate-key</option></term>
<listitem><para>Checks that we can load the private key specified with
<option>--private-key=</option>. </para>
<para>As a side effect, if the private key is loaded from a PIN-protected hardware token, this
command can be used to cache the PIN in the kernel keyring. The
<varname>$SYSTEMD_ASK_PASSWORD_KEYRING_TIMEOUT_SEC</varname> and
<varname>$SYSTEMD_ASK_PASSWORD_KEYRING_TYPE</varname> environment variables can be used to control
how long and in which kernel keyring the PIN is cached.</para>
<xi:include href="version-info.xml" xpointer="v257"/>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>Options</title>
<para>The following options are understood:</para>
<variablelist>
<varlistentry>
<term><option>--output=<replaceable>PATH</replaceable></option></term>
<listitem><para>Specifies the path where to write the signed PE binary.</para>
<xi:include href="version-info.xml" xpointer="v257"/></listitem>
</varlistentry>
<varlistentry>
<term><option>--private-key=<replaceable>PATH/URI</replaceable></option></term>
<term><option>--private-key-source=<replaceable>TYPE</replaceable>[:<replaceable>NAME</replaceable>]</option></term>
<term><option>--certificate=<replaceable>PATH</replaceable></option></term>
<listitem><para>Set the Secure Boot private key and certificate for use with the
<command>sign</command>. The <option>--certificate=</option> option takes a path to a PEM encoded
X.509 certificate. The <option>--private-key=</option> option can take a path or a URI that will be
passed to the OpenSSL engine or provider, as specified by <option>--private-key-source=</option> as a
<literal>type:name</literal> tuple, such as <literal>engine:pkcs11</literal>. The specified OpenSSL
signing engine or provider will be used to sign the PE binary.</para>
<xi:include href="version-info.xml" xpointer="v257"/></listitem>
</varlistentry>
<xi:include href="standard-options.xml" xpointer="no-pager"/>
<xi:include href="standard-options.xml" xpointer="help"/>
<xi:include href="standard-options.xml" xpointer="version"/>
</variablelist>
</refsect1>
<refsect1>
<title>See Also</title>
<para><simplelist type="inline">
<member><citerefentry><refentrytitle>bootctl</refentrytitle><manvolnum>1</manvolnum></citerefentry></member>
</simplelist></para>
</refsect1>
</refentry>

View File

@ -59,58 +59,66 @@
<!-- Let's keep this in the canonical order we also measure the sections by, i.e. as in <!-- Let's keep this in the canonical order we also measure the sections by, i.e. as in
src/fundamental/uki.h's UnifiedSection enum --> src/fundamental/uki.h's UnifiedSection enum -->
<listitem><para>A <literal>.linux</literal> section with the ELF Linux kernel <listitem><para>A <literal>.linux</literal> section with the ELF Linux kernel image.
image. (Required)</para></listitem> This section is required.</para></listitem>
<listitem><para>An <literal>.osrel</literal> section with OS release information, i.e. the contents of <listitem><para>An optional <literal>.osrel</literal> section with OS release information, i.e. the
the <citerefentry><refentrytitle>os-release</refentrytitle><manvolnum>5</manvolnum></citerefentry> file contents of the
of the OS the kernel belongs to.</para></listitem> <citerefentry><refentrytitle>os-release</refentrytitle><manvolnum>5</manvolnum></citerefentry> file of
the OS the kernel belongs to.</para></listitem>
<listitem><para>A <literal>.cmdline</literal> section with the kernel command line to pass to the <listitem><para>An optional <literal>.cmdline</literal> section with the kernel command line to pass to
invoked kernel.</para></listitem> the invoked kernel.</para></listitem>
<listitem><para>An <literal>.initrd</literal> section with the initrd.</para></listitem> <listitem><para>An optional <literal>.initrd</literal> section with the initrd.</para></listitem>
<listitem><para>A <literal>.ucode</literal> section with an initrd containing microcode, to be handed <listitem><para>An optional <literal>.ucode</literal> section with an initrd containing microcode, to
to the kernel before any other initrd. This initrd must not be compressed.</para></listitem> be handed to the kernel before any other initrd. This initrd must not be compressed.</para></listitem>
<listitem><para>A <literal>.splash</literal> section with an image (in the Windows <listitem><para>An optional <literal>.splash</literal> section with an image (in the Windows
<filename>.BMP</filename> format) to show on screen before invoking the kernel.</para></listitem> <filename>.BMP</filename> format) to show on screen before invoking the kernel.</para></listitem>
<listitem><para>A <literal>.dtb</literal> section with a compiled binary DeviceTree.</para></listitem> <listitem><para>An optional <literal>.dtb</literal> section with a compiled binary DeviceTree.
</para></listitem>
<listitem><para>Zero or more <literal>.dtbauto</literal> sections. Stub will always try to find first matching one. <listitem><para>Zero or more <literal>.dtbauto</literal> sections. <filename>systemd-stub</filename>
Matching process extracts first <varname>compatible</varname> string from <literal>.dtbauto</literal> will always use the first matching one. The match is performed by taking the first DeviceTree's
section and compares it with the first Devicetree's <varname>compatible</varname> string supplied by <varname>compatible</varname> string supplied by the firmware in configuration tables and comparing it
the firmware in configuration tables. If firmware does not provide Devicetree, matching with with the first <varname>compatible</varname> string from each of the <literal>.dtbauto</literal>
<varname>.hwids</varname> section will be used instead. Stub will use SMBIOS data to calculate hardware sections. If the firmware does not provide a DeviceTree, the match is done using the
IDs of the machine (as per <ulink url="https://learn.microsoft.com/en-us/windows-hardware/drivers/install/specifying-hardware-ids-for-a-computer">specification</ulink>), <varname>.hwids</varname> section instead. After selecting a <literal>.hwids</literal> section (see the
then it will proceed to trying to find any of them in <literal>.hwids</literal> section and will use first description below), the <varname>compatible</varname> string from that section will be used to perform
matching entry's <varname>compatible</varname> as a search key among the <literal>.dtbauto</literal> the same matching procedure. If a match is found, that <literal>.dtbauto</literal> section will be
entries, in a similar fashion as the use of <varname>compatible</varname> string read from the firmware
provided Devicetree was described before. First matching <literal>.dtbauto</literal> section will be
loaded and will override <varname>.dtb</varname> if present.</para></listitem> loaded and will override <varname>.dtb</varname> if present.</para></listitem>
<listitem><para>A <literal>.hwids</literal> section with hardware IDs of the machines to match Devicetrees (refer to <literal>.dtbauto</literal> section description).</para></listitem> <listitem><para>Zero or more <literal>.hwids</literal> sections with hardware IDs of the machines to
match DeviceTrees. <filename>systemd-stub</filename> will use the SMBIOS data to calculate hardware IDs
of the machine (as per <ulink
url="https://learn.microsoft.com/en-us/windows-hardware/drivers/install/specifying-hardware-ids-for-a-computer">specification</ulink>),
and then it will try to find any of them in each of the <literal>.hwids</literal> sections. The first
matching section will be used.</para></listitem>
<listitem><para>A <literal>.uname</literal> section with the kernel version information, i.e. the <listitem><para>An optional <literal>.uname</literal> section with the kernel version information, i.e.
output of <command>uname -r</command> for the kernel included in the <literal>.linux</literal> the output of <command>uname -r</command> for the kernel included in the <literal>.linux</literal>
section.</para></listitem> section.</para></listitem>
<listitem><para>An <literal>.sbat</literal> section with <listitem><para>An optional <literal>.sbat</literal> section with
<ulink url="https://github.com/rhboot/shim/blob/main/SBAT.md">SBAT</ulink> revocation <ulink url="https://github.com/rhboot/shim/blob/main/SBAT.md">SBAT</ulink> revocation metadata.
metadata.</para></listitem> </para></listitem>
<listitem><para>A <literal>.pcrsig</literal> section with a set of cryptographic signatures for the <listitem><para>An optional <literal>.pcrsig</literal> section with a set of cryptographic signatures
expected TPM2 PCR values after the kernel has been booted, in JSON format. This is useful for for the expected TPM2 PCR values after the kernel has been booted, in JSON format. This is useful for
implementing TPM2 policies that bind disk encryption and similar to kernels that are signed by a implementing TPM2 policies that bind disk encryption and similar to kernels that are signed by a
specific key.</para></listitem> specific key.</para></listitem>
<listitem><para>A <literal>.pcrpkey</literal> section with a public key in the PEM format matching the <listitem><para>An optional <literal>.pcrpkey</literal> section with a public key in the PEM format
signature data in the <literal>.pcrsig</literal> section.</para></listitem> matching the signature data in the <literal>.pcrsig</literal> section.</para></listitem>
</itemizedlist> </itemizedlist>
<para>In a basic UKI, the sections listed above appear at most once. In a multi-profile UKI, <!-- FIXME: how does .dtauto/.hwids matching interact with profiles? -->
<para>In a basic UKI, the sections listed above appear at most once, with the exception of
<literal>.dtbauto</literal> and <literal>.hwids</literal> sections. In a multi-profile UKI,
multiple sets of these sections are present in a single file and form "profiles", multiple sets of these sections are present in a single file and form "profiles",
one of which can be selected at boot. For this, the PE section <literal>.profile</literal> is one of which can be selected at boot. For this, the PE section <literal>.profile</literal> is
defined to be used as the separator between sets of sections. The defined to be used as the separator between sets of sections. The
@ -206,7 +214,7 @@
<listitem><para>Similarly, files <listitem><para>Similarly, files
<filename><replaceable>foo</replaceable>.efi.extra.d/*.addon.efi</filename> are loaded and verified as <filename><replaceable>foo</replaceable>.efi.extra.d/*.addon.efi</filename> are loaded and verified as
PE binaries and specific sections are loaded from them. Addons are used to pass additional kernel PE binaries and specific sections are loaded from them. Addons are used to pass additional kernel
command line parameters (<literal>.cmdline</literal> section), or Devicetree blobs command line parameters (<literal>.cmdline</literal> section), or DeviceTree blobs
(<literal>.dtb</literal> section), additional initrds (<literal>.initrd</literal> section), (<literal>.dtb</literal> section), additional initrds (<literal>.initrd</literal> section),
and microcode updates (<literal>.ucode</literal> section). Addons allow those resources to be passed and microcode updates (<literal>.ucode</literal> section). Addons allow those resources to be passed
regardless of the kernel version being booted, for example allowing platform vendors to ship regardless of the kernel version being booted, for example allowing platform vendors to ship

View File

@ -123,7 +123,7 @@
<row> <row>
<entry><replaceable>prefix</replaceable><constant>d</constant><replaceable>number</replaceable></entry> <entry><replaceable>prefix</replaceable><constant>d</constant><replaceable>number</replaceable></entry>
<entry>Devicetree alias index</entry> <entry>DeviceTree alias index</entry>
</row> </row>
</tbody> </tbody>

View File

@ -1004,6 +1004,27 @@ DuplicateAddressDetection=none</programlisting></para>
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry>
<term><varname>MulticastIGMPVersion=</varname></term>
<listitem>
<para>Configures IPv4 Multicast IGMP Version to be used, and controls the value of
<filename>/proc/sys/net/ipv4/conf/<replaceable>INTERFACE</replaceable>/force_igmp_version</filename>.
Takes one of <literal>no</literal>,
<literal>v1</literal>, <literal>v2</literal>, or <literal>v3</literal>.
When <literal>no</literal>, no enforcement of an IGMP version will be applied, IGMPv1/v2 fallback are allowed, will back to
IGMPv3 mode again if all IGMPv1/v2 Querier Present timer expire.
When <literal>v1</literal>, use of IGMP version 1 will be enforced, and IGMPv1 report will be replied even if IGMPv2/v3
queries are received.
When <literal>v2</literal>, use of IGMP version 2 will be enforced, and IGMPv2 report will be replied if an IGMPv2/v3 query
is received, but fallback to IGMPv1 if an IGMPv1 query is received.
When <literal>v3</literal>, use of IGMP version 3 will be enforced, and the same reaction will be done as <literal>no</literal>.
Defaults to unset, and the sysctl value will be unchanged.
</para>
<xi:include href="version-info.xml" xpointer="v257"/>
</listitem>
</varlistentry>
<varlistentry> <varlistentry>
<term><varname>IPv4AcceptLocal=</varname></term> <term><varname>IPv4AcceptLocal=</varname></term>
<listitem> <listitem>

View File

@ -100,10 +100,12 @@
the n-th boot phase path set will be signed by the n-th key. This can be used to build different trust the n-th boot phase path set will be signed by the n-th key. This can be used to build different trust
policies for different phases of the boot. In the config file, <varname>PCRPrivateKey=</varname>, policies for different phases of the boot. In the config file, <varname>PCRPrivateKey=</varname>,
<varname>PCRPublicKey=</varname>, and <varname>Phases=</varname> are grouped into separate sections, <varname>PCRPublicKey=</varname>, and <varname>Phases=</varname> are grouped into separate sections,
describing separate boot phases. If <varname>SigningEngine=</varname>/<option>--signing-engine=</option> describing separate boot phases. If one of
is specified, then the private keys arguments will be passed verbatim to OpenSSL as URIs, and the public <varname>SigningEngine=</varname>/<option>--signing-engine=</option> or
key arguments will be loaded as X.509 certificates, so that signing can be performed with an OpenSSL <varname>SigningProvider=</varname>/<option>--signing-provider=</option> is specified, then the private
engine.</para> key arguments will be passed verbatim to OpenSSL as URIs, and the public key arguments will be loaded
as X.509 certificates, so that signing can be performed with an OpenSSL engine or provider
respectively.</para>
<para>If a SecureBoot signing key is provided via the <para>If a SecureBoot signing key is provided via the
<varname>SecureBootPrivateKey=</varname>/<option>--secureboot-private-key=</option> option, the resulting <varname>SecureBootPrivateKey=</varname>/<option>--secureboot-private-key=</option> option, the resulting
@ -440,9 +442,9 @@
<term><varname>SecureBootSigningTool=<replaceable>SIGNER</replaceable></varname></term> <term><varname>SecureBootSigningTool=<replaceable>SIGNER</replaceable></varname></term>
<term><option>--signtool=<replaceable>SIGNER</replaceable></option></term> <term><option>--signtool=<replaceable>SIGNER</replaceable></option></term>
<listitem><para>Whether to use <literal>sbsign</literal> or <literal>pesign</literal>. <listitem><para>Whether to use <literal>sbsign</literal>, <literal>pesign</literal>, or
Depending on this choice, different parameters are required in order to sign an image. <literal>systemd-sbsign</literal>. Depending on this choice, different parameters are required in
Defaults to <literal>sbsign</literal>.</para> order to sign an image. Defaults to <literal>sbsign</literal>.</para>
<xi:include href="version-info.xml" xpointer="v254"/></listitem> <xi:include href="version-info.xml" xpointer="v254"/></listitem>
</varlistentry> </varlistentry>
@ -452,8 +454,9 @@
<term><option>--secureboot-private-key=<replaceable>SB_KEY</replaceable></option></term> <term><option>--secureboot-private-key=<replaceable>SB_KEY</replaceable></option></term>
<listitem><para>A path to a private key to use for signing of the resulting binary. If the <listitem><para>A path to a private key to use for signing of the resulting binary. If the
<varname>SigningEngine=</varname>/<option>--signing-engine=</option> option is used, this may also be <varname>SigningEngine=</varname>/<option>--signing-engine=</option> or
an engine-specific designation. This option is required by <varname>SigningProvider=</varname>/<option>--signing-provider=</option> option is used, this may
also be an engine or provider specific designation. This option is required by
<varname>SecureBootSigningTool=sbsign</varname>/<option>--signtool=sbsign</option>. </para> <varname>SecureBootSigningTool=sbsign</varname>/<option>--signtool=sbsign</option>. </para>
<xi:include href="version-info.xml" xpointer="v253"/></listitem> <xi:include href="version-info.xml" xpointer="v253"/></listitem>
@ -464,8 +467,9 @@
<term><option>--secureboot-certificate=<replaceable>SB_CERT</replaceable></option></term> <term><option>--secureboot-certificate=<replaceable>SB_CERT</replaceable></option></term>
<listitem><para>A path to a certificate to use for signing of the resulting binary. If the <listitem><para>A path to a certificate to use for signing of the resulting binary. If the
<varname>SigningEngine=</varname>/<option>--signing-engine=</option> option is used, this may also <varname>SigningEngine=</varname>/<option>--signing-engine=</option> or
be an engine-specific designation. This option is required by <varname>SigningProvider=</varname>/<option>--signing-provider=</option> option is used, this may
also be an engine or provider specific designation. This option is required by
<varname>SecureBootSigningTool=sbsign</varname>/<option>--signtool=sbsign</option>. </para> <varname>SecureBootSigningTool=sbsign</varname>/<option>--signtool=sbsign</option>. </para>
<xi:include href="version-info.xml" xpointer="v253"/></listitem> <xi:include href="version-info.xml" xpointer="v253"/></listitem>
@ -506,14 +510,23 @@
<term><varname>SigningEngine=<replaceable>ENGINE</replaceable></varname></term> <term><varname>SigningEngine=<replaceable>ENGINE</replaceable></varname></term>
<term><option>--signing-engine=<replaceable>ENGINE</replaceable></option></term> <term><option>--signing-engine=<replaceable>ENGINE</replaceable></option></term>
<listitem><para>An "engine" for signing of the resulting binary. This option is currently passed <listitem><para>An OpenSSL engine to be used for signing the resulting binary and PCR measurements.
verbatim to the <option>--engine=</option> option of
<citerefentry project='archlinux'><refentrytitle>sbsign</refentrytitle><manvolnum>1</manvolnum></citerefentry>.
</para> </para>
<xi:include href="version-info.xml" xpointer="v253"/></listitem> <xi:include href="version-info.xml" xpointer="v253"/></listitem>
</varlistentry> </varlistentry>
<varlistentry>
<term><varname>SigningProvider=<replaceable>PROVIDER</replaceable></varname></term>
<term><option>--signing-provider=<replaceable>PROVIDER</replaceable></option></term>
<listitem><para>An OpenSSL provider to be used for signing the resulting binary and PCR
measurements. This option can only be used when using <command>systemd-sbsign</command> as the
signing tool.</para>
<xi:include href="version-info.xml" xpointer="v257"/></listitem>
</varlistentry>
<varlistentry> <varlistentry>
<term><varname>SignKernel=<replaceable>BOOL</replaceable></varname></term> <term><varname>SignKernel=<replaceable>BOOL</replaceable></varname></term>
<term><option>--sign-kernel</option></term> <term><option>--sign-kernel</option></term>

View File

@ -20,8 +20,8 @@ else
project_minor_version = '0' project_minor_version = '0'
endif endif
libsystemd_version = '0.39.0' libsystemd_version = '0.40.0'
libudev_version = '1.7.9' libudev_version = '1.7.10'
conf = configuration_data() conf = configuration_data()
conf.set_quoted('PROJECT_URL', 'https://systemd.io/') conf.set_quoted('PROJECT_URL', 'https://systemd.io/')

View File

@ -1 +1 @@
257~devel 257~rc1

View File

@ -2,7 +2,9 @@
[Build] [Build]
ToolsTreePackages= ToolsTreePackages=
meson
gcc gcc
gperf gperf
meson
mypy
pkgconf pkgconf
ruff

View File

@ -9,7 +9,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-08-23 15:33+0200\n" "POT-Creation-Date: 2024-11-06 14:42+0000\n"
"PO-Revision-Date: 2023-05-13 19:20+0000\n" "PO-Revision-Date: 2023-05-13 19:20+0000\n"
"Last-Translator: Maksim Kliazovich <maxklezovich@gmail.com>\n" "Last-Translator: Maksim Kliazovich <maxklezovich@gmail.com>\n"
"Language-Team: Belarusian <https://translate.fedoraproject.org/projects/" "Language-Team: Belarusian <https://translate.fedoraproject.org/projects/"
@ -116,28 +116,38 @@ msgid "Authentication is required to update a user's home area."
msgstr "Для абнаўлення хатняй прасторы патрабуецца аўтэнтыфікацыя." msgstr "Для абнаўлення хатняй прасторы патрабуецца аўтэнтыфікацыя."
#: src/home/org.freedesktop.home1.policy:53 #: src/home/org.freedesktop.home1.policy:53
#, fuzzy
msgid "Update your home area"
msgstr "Абнавіць хатнюю прастору"
#: src/home/org.freedesktop.home1.policy:54
#, fuzzy
msgid "Authentication is required to update your home area."
msgstr "Для абнаўлення хатняй прасторы патрабуецца аўтэнтыфікацыя."
#: src/home/org.freedesktop.home1.policy:63
msgid "Resize a home area" msgid "Resize a home area"
msgstr "Змяніць памер хатняй прасторы" msgstr "Змяніць памер хатняй прасторы"
#: src/home/org.freedesktop.home1.policy:54 #: src/home/org.freedesktop.home1.policy:64
msgid "Authentication is required to resize a user's home area." msgid "Authentication is required to resize a user's home area."
msgstr "Для змены памеру хатняй прасторы патрабуецца аўтэнтыфікацыя." msgstr "Для змены памеру хатняй прасторы патрабуецца аўтэнтыфікацыя."
#: src/home/org.freedesktop.home1.policy:63 #: src/home/org.freedesktop.home1.policy:73
msgid "Change password of a home area" msgid "Change password of a home area"
msgstr "Змяніць пароль для хатняй прасторы" msgstr "Змяніць пароль для хатняй прасторы"
#: src/home/org.freedesktop.home1.policy:64 #: src/home/org.freedesktop.home1.policy:74
msgid "" msgid ""
"Authentication is required to change the password of a user's home area." "Authentication is required to change the password of a user's home area."
msgstr "Для змены пароля для хатняй прасторы патрабуецца аўтэнтыфікацыя." msgstr "Для змены пароля для хатняй прасторы патрабуецца аўтэнтыфікацыя."
#: src/home/org.freedesktop.home1.policy:73 #: src/home/org.freedesktop.home1.policy:83
#, fuzzy #, fuzzy
msgid "Activate a home area" msgid "Activate a home area"
msgstr "Стварыць хатнюю прастору" msgstr "Стварыць хатнюю прастору"
#: src/home/org.freedesktop.home1.policy:74 #: src/home/org.freedesktop.home1.policy:84
#, fuzzy #, fuzzy
msgid "Authentication is required to activate a user's home area." msgid "Authentication is required to activate a user's home area."
msgstr "Для стварэння хатняй прасторы патрабуецца аўтэнтыфікацыя." msgstr "Для стварэння хатняй прасторы патрабуецца аўтэнтыфікацыя."
@ -1185,6 +1195,17 @@ msgstr ""
msgid "Authentication is required to cleanup old system updates." msgid "Authentication is required to cleanup old system updates."
msgstr "Для наладкі сістэмнага часу патрабуецца аўтэнтыфікацыя." msgstr "Для наладкі сістэмнага часу патрабуецца аўтэнтыфікацыя."
#: src/sysupdate/org.freedesktop.sysupdate1.policy:75
msgid "Manage optional features"
msgstr ""
#: src/sysupdate/org.freedesktop.sysupdate1.policy:76
#, fuzzy
msgid "Authentication is required to manage optional features"
msgstr ""
"Для кіравання актыўнымі сеансамі, карыстальнікамі і працоўнымі месцамі "
"патрабуецца аўтэнтыфікацыя."
#: src/timedate/org.freedesktop.timedate1.policy:22 #: src/timedate/org.freedesktop.timedate1.policy:22
msgid "Set system time" msgid "Set system time"
msgstr "Наладзіць сістэмны час" msgstr "Наладзіць сістэмны час"
@ -1223,23 +1244,23 @@ msgstr ""
"Для ўключэння або выключэння сінхранізацыі часу па сетцы патрабуецца " "Для ўключэння або выключэння сінхранізацыі часу па сетцы патрабуецца "
"аўтэнтыфікацыя." "аўтэнтыфікацыя."
#: src/core/dbus-unit.c:353 #: src/core/dbus-unit.c:370
msgid "Authentication is required to start '$(unit)'." msgid "Authentication is required to start '$(unit)'."
msgstr "Для запуску \"$(unit)\" патрабуецца аўтэнтыфікацыя." msgstr "Для запуску \"$(unit)\" патрабуецца аўтэнтыфікацыя."
#: src/core/dbus-unit.c:354 #: src/core/dbus-unit.c:371
msgid "Authentication is required to stop '$(unit)'." msgid "Authentication is required to stop '$(unit)'."
msgstr "Для спынення \"$(unit)\" патрабуецца аўтэнтыфікацыя." msgstr "Для спынення \"$(unit)\" патрабуецца аўтэнтыфікацыя."
#: src/core/dbus-unit.c:355 #: src/core/dbus-unit.c:372
msgid "Authentication is required to reload '$(unit)'." msgid "Authentication is required to reload '$(unit)'."
msgstr "Для перачытання стану \"$(unit)\" патрабуецца аўтэнтыфікацыя." msgstr "Для перачытання стану \"$(unit)\" патрабуецца аўтэнтыфікацыя."
#: src/core/dbus-unit.c:356 src/core/dbus-unit.c:357 #: src/core/dbus-unit.c:373 src/core/dbus-unit.c:374
msgid "Authentication is required to restart '$(unit)'." msgid "Authentication is required to restart '$(unit)'."
msgstr "Для перазапуску \"$(unit)\" патрабуецца аўтэнтыфікацыя." msgstr "Для перазапуску \"$(unit)\" патрабуецца аўтэнтыфікацыя."
#: src/core/dbus-unit.c:549 #: src/core/dbus-unit.c:566
msgid "" msgid ""
"Authentication is required to send a UNIX signal to the processes of " "Authentication is required to send a UNIX signal to the processes of "
"'$(unit)'." "'$(unit)'."
@ -1247,17 +1268,17 @@ msgstr ""
"Для адпраўкі сігналу UNIX працэсам адзінкі \"$(unit)\" патрабуецца " "Для адпраўкі сігналу UNIX працэсам адзінкі \"$(unit)\" патрабуецца "
"аўтэнтыфікацыя." "аўтэнтыфікацыя."
#: src/core/dbus-unit.c:577 #: src/core/dbus-unit.c:594
msgid "Authentication is required to reset the \"failed\" state of '$(unit)'." msgid "Authentication is required to reset the \"failed\" state of '$(unit)'."
msgstr "" msgstr ""
"Для таго, каб скінуць стан \"failed\" у \"$(unit)\", патрабуецца " "Для таго, каб скінуць стан \"failed\" у \"$(unit)\", патрабуецца "
"аўтэнтыфікацыя." "аўтэнтыфікацыя."
#: src/core/dbus-unit.c:607 #: src/core/dbus-unit.c:624
msgid "Authentication is required to set properties on '$(unit)'." msgid "Authentication is required to set properties on '$(unit)'."
msgstr "Для змены ўласцівасцей \"$(unit)\" патрабуецца аўтэнтыфікацыя." msgstr "Для змены ўласцівасцей \"$(unit)\" патрабуецца аўтэнтыфікацыя."
#: src/core/dbus-unit.c:704 #: src/core/dbus-unit.c:721
msgid "" msgid ""
"Authentication is required to delete files and directories associated with " "Authentication is required to delete files and directories associated with "
"'$(unit)'." "'$(unit)'."
@ -1265,7 +1286,7 @@ msgstr ""
"Для выдалення файлаў і каталогаў, якія звязаныя з \"$(unit)\", патрабуецца " "Для выдалення файлаў і каталогаў, якія звязаныя з \"$(unit)\", патрабуецца "
"аўтэнтыфікацыя." "аўтэнтыфікацыя."
#: src/core/dbus-unit.c:741 #: src/core/dbus-unit.c:758
msgid "" msgid ""
"Authentication is required to freeze or thaw the processes of '$(unit)' unit." "Authentication is required to freeze or thaw the processes of '$(unit)' unit."
msgstr "" msgstr ""

View File

@ -7,7 +7,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-08-23 15:33+0200\n" "POT-Creation-Date: 2024-11-06 14:42+0000\n"
"PO-Revision-Date: 2016-06-09 19:50+0300\n" "PO-Revision-Date: 2016-06-09 19:50+0300\n"
"Last-Translator: Viktar Vaŭčkievič <victorenator@gmail.com>\n" "Last-Translator: Viktar Vaŭčkievič <victorenator@gmail.com>\n"
"Language-Team: \n" "Language-Team: \n"
@ -119,20 +119,30 @@ msgstr ""
"Nieabchodna aŭtentyfikacyja dlia dalučennia prylad da pracoŭnych miescaŭ." "Nieabchodna aŭtentyfikacyja dlia dalučennia prylad da pracoŭnych miescaŭ."
#: src/home/org.freedesktop.home1.policy:53 #: src/home/org.freedesktop.home1.policy:53
msgid "Resize a home area" msgid "Update your home area"
msgstr "" msgstr ""
#: src/home/org.freedesktop.home1.policy:54 #: src/home/org.freedesktop.home1.policy:54
#, fuzzy #, fuzzy
msgid "Authentication is required to update your home area."
msgstr ""
"Nieabchodna aŭtentyfikacyja dlia dalučennia prylad da pracoŭnych miescaŭ."
#: src/home/org.freedesktop.home1.policy:63
msgid "Resize a home area"
msgstr ""
#: src/home/org.freedesktop.home1.policy:64
#, fuzzy
msgid "Authentication is required to resize a user's home area." msgid "Authentication is required to resize a user's home area."
msgstr "" msgstr ""
"Nieabchodna aŭtentyfikacyja dlia ŭstaliavannia ŭsieahuĺnaha paviedamliennia" "Nieabchodna aŭtentyfikacyja dlia ŭstaliavannia ŭsieahuĺnaha paviedamliennia"
#: src/home/org.freedesktop.home1.policy:63 #: src/home/org.freedesktop.home1.policy:73
msgid "Change password of a home area" msgid "Change password of a home area"
msgstr "" msgstr ""
#: src/home/org.freedesktop.home1.policy:64 #: src/home/org.freedesktop.home1.policy:74
#, fuzzy #, fuzzy
msgid "" msgid ""
"Authentication is required to change the password of a user's home area." "Authentication is required to change the password of a user's home area."
@ -140,11 +150,11 @@ msgstr ""
"Nieabchodna aŭtentyfikacyja dlia kiravannia aktyŭnymi siesijami, " "Nieabchodna aŭtentyfikacyja dlia kiravannia aktyŭnymi siesijami, "
"karystaĺnikami i miescami." "karystaĺnikami i miescami."
#: src/home/org.freedesktop.home1.policy:73 #: src/home/org.freedesktop.home1.policy:83
msgid "Activate a home area" msgid "Activate a home area"
msgstr "" msgstr ""
#: src/home/org.freedesktop.home1.policy:74 #: src/home/org.freedesktop.home1.policy:84
#, fuzzy #, fuzzy
msgid "Authentication is required to activate a user's home area." msgid "Authentication is required to activate a user's home area."
msgstr "Nieabchodna aŭtentyfikacyja dlia pieračytannia stanu systemd." msgstr "Nieabchodna aŭtentyfikacyja dlia pieračytannia stanu systemd."
@ -1231,6 +1241,17 @@ msgstr ""
msgid "Authentication is required to cleanup old system updates." msgid "Authentication is required to cleanup old system updates."
msgstr "Nieabchodna aŭtentyfikacyja dlia ŭstaliavannia sistemnaha času." msgstr "Nieabchodna aŭtentyfikacyja dlia ŭstaliavannia sistemnaha času."
#: src/sysupdate/org.freedesktop.sysupdate1.policy:75
msgid "Manage optional features"
msgstr ""
#: src/sysupdate/org.freedesktop.sysupdate1.policy:76
#, fuzzy
msgid "Authentication is required to manage optional features"
msgstr ""
"Nieabchodna aŭtentyfikacyja dlia kiravannia aktyŭnymi siesijami, "
"karystaĺnikami i miescami."
#: src/timedate/org.freedesktop.timedate1.policy:22 #: src/timedate/org.freedesktop.timedate1.policy:22
msgid "Set system time" msgid "Set system time"
msgstr "Ustaliavać sistemny čas" msgstr "Ustaliavać sistemny čas"
@ -1272,23 +1293,23 @@ msgstr ""
"Nieabchodna aŭtentyfikacyja dlia ŭkliučennia abo vykliučennia sinchranizacyi " "Nieabchodna aŭtentyfikacyja dlia ŭkliučennia abo vykliučennia sinchranizacyi "
"času pa sietcy." "času pa sietcy."
#: src/core/dbus-unit.c:353 #: src/core/dbus-unit.c:370
msgid "Authentication is required to start '$(unit)'." msgid "Authentication is required to start '$(unit)'."
msgstr "Nieabchodna aŭtentyfikacyja dlia zapusku '$(unit)'." msgstr "Nieabchodna aŭtentyfikacyja dlia zapusku '$(unit)'."
#: src/core/dbus-unit.c:354 #: src/core/dbus-unit.c:371
msgid "Authentication is required to stop '$(unit)'." msgid "Authentication is required to stop '$(unit)'."
msgstr "Nieabchodna aŭtentyfikacyja dlia spyniennia '$(unit)'." msgstr "Nieabchodna aŭtentyfikacyja dlia spyniennia '$(unit)'."
#: src/core/dbus-unit.c:355 #: src/core/dbus-unit.c:372
msgid "Authentication is required to reload '$(unit)'." msgid "Authentication is required to reload '$(unit)'."
msgstr "Nieabchodna aŭtentyfikacyja dlia pieračytannia stanu '$(unit)'." msgstr "Nieabchodna aŭtentyfikacyja dlia pieračytannia stanu '$(unit)'."
#: src/core/dbus-unit.c:356 src/core/dbus-unit.c:357 #: src/core/dbus-unit.c:373 src/core/dbus-unit.c:374
msgid "Authentication is required to restart '$(unit)'." msgid "Authentication is required to restart '$(unit)'."
msgstr "Nieabchodna aŭtentyfikacyja dlia pierazapusku '$(unit)'." msgstr "Nieabchodna aŭtentyfikacyja dlia pierazapusku '$(unit)'."
#: src/core/dbus-unit.c:549 #: src/core/dbus-unit.c:566
#, fuzzy #, fuzzy
msgid "" msgid ""
"Authentication is required to send a UNIX signal to the processes of " "Authentication is required to send a UNIX signal to the processes of "
@ -1296,17 +1317,17 @@ msgid ""
msgstr "" msgstr ""
"Nieabchodna aŭtentyfikacyja dlia ŭstaliavannia ŭlascivasciej '$(unit)'." "Nieabchodna aŭtentyfikacyja dlia ŭstaliavannia ŭlascivasciej '$(unit)'."
#: src/core/dbus-unit.c:577 #: src/core/dbus-unit.c:594
msgid "Authentication is required to reset the \"failed\" state of '$(unit)'." msgid "Authentication is required to reset the \"failed\" state of '$(unit)'."
msgstr "" msgstr ""
"Nieabchodna aŭtentyfikacyja dlia anuliavannia pamylkovaha stanu '$(unit)'." "Nieabchodna aŭtentyfikacyja dlia anuliavannia pamylkovaha stanu '$(unit)'."
#: src/core/dbus-unit.c:607 #: src/core/dbus-unit.c:624
msgid "Authentication is required to set properties on '$(unit)'." msgid "Authentication is required to set properties on '$(unit)'."
msgstr "" msgstr ""
"Nieabchodna aŭtentyfikacyja dlia ŭstaliavannia ŭlascivasciej '$(unit)'." "Nieabchodna aŭtentyfikacyja dlia ŭstaliavannia ŭlascivasciej '$(unit)'."
#: src/core/dbus-unit.c:704 #: src/core/dbus-unit.c:721
#, fuzzy #, fuzzy
msgid "" msgid ""
"Authentication is required to delete files and directories associated with " "Authentication is required to delete files and directories associated with "
@ -1314,7 +1335,7 @@ msgid ""
msgstr "" msgstr ""
"Nieabchodna aŭtentyfikacyja dlia anuliavannia pamylkovaha stanu '$(unit)'." "Nieabchodna aŭtentyfikacyja dlia anuliavannia pamylkovaha stanu '$(unit)'."
#: src/core/dbus-unit.c:741 #: src/core/dbus-unit.c:758
#, fuzzy #, fuzzy
msgid "" msgid ""
"Authentication is required to freeze or thaw the processes of '$(unit)' unit." "Authentication is required to freeze or thaw the processes of '$(unit)' unit."

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: systemd master\n" "Project-Id-Version: systemd master\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-08-23 15:33+0200\n" "POT-Creation-Date: 2024-11-06 14:42+0000\n"
"PO-Revision-Date: 2023-03-17 15:20+0000\n" "PO-Revision-Date: 2023-03-17 15:20+0000\n"
"Last-Translator: Velislav Ivanov <velislav.bg@gmail.com>\n" "Last-Translator: Velislav Ivanov <velislav.bg@gmail.com>\n"
"Language-Team: Bulgarian <https://translate.fedoraproject.org/projects/" "Language-Team: Bulgarian <https://translate.fedoraproject.org/projects/"
@ -116,29 +116,39 @@ msgid "Authentication is required to update a user's home area."
msgstr "За обновяване на място за потребител е необходима идентификация." msgstr "За обновяване на място за потребител е необходима идентификация."
#: src/home/org.freedesktop.home1.policy:53 #: src/home/org.freedesktop.home1.policy:53
#, fuzzy
msgid "Update your home area"
msgstr "Обновяване на място за потребител"
#: src/home/org.freedesktop.home1.policy:54
#, fuzzy
msgid "Authentication is required to update your home area."
msgstr "За обновяване на място за потребител е необходима идентификация."
#: src/home/org.freedesktop.home1.policy:63
msgid "Resize a home area" msgid "Resize a home area"
msgstr "Преоразмеряване на място за потребител" msgstr "Преоразмеряване на място за потребител"
#: src/home/org.freedesktop.home1.policy:54 #: src/home/org.freedesktop.home1.policy:64
msgid "Authentication is required to resize a user's home area." msgid "Authentication is required to resize a user's home area."
msgstr "За преоразмеряване на място за потребител е необходима идентификация." msgstr "За преоразмеряване на място за потребител е необходима идентификация."
#: src/home/org.freedesktop.home1.policy:63 #: src/home/org.freedesktop.home1.policy:73
msgid "Change password of a home area" msgid "Change password of a home area"
msgstr "Промяна на парола на място за потребител" msgstr "Промяна на парола на място за потребител"
#: src/home/org.freedesktop.home1.policy:64 #: src/home/org.freedesktop.home1.policy:74
msgid "" msgid ""
"Authentication is required to change the password of a user's home area." "Authentication is required to change the password of a user's home area."
msgstr "" msgstr ""
"За промяна на парола на място за потребител е необходима идентификация." "За промяна на парола на място за потребител е необходима идентификация."
#: src/home/org.freedesktop.home1.policy:73 #: src/home/org.freedesktop.home1.policy:83
#, fuzzy #, fuzzy
msgid "Activate a home area" msgid "Activate a home area"
msgstr "Създаване на място за потребител" msgstr "Създаване на място за потребител"
#: src/home/org.freedesktop.home1.policy:74 #: src/home/org.freedesktop.home1.policy:84
#, fuzzy #, fuzzy
msgid "Authentication is required to activate a user's home area." msgid "Authentication is required to activate a user's home area."
msgstr "За създаване на място за потребител е необходима идентификация." msgstr "За създаване на място за потребител е необходима идентификация."
@ -1207,6 +1217,17 @@ msgstr ""
msgid "Authentication is required to cleanup old system updates." msgid "Authentication is required to cleanup old system updates."
msgstr "За задаване на времето на системата е необходима идентификация." msgstr "За задаване на времето на системата е необходима идентификация."
#: src/sysupdate/org.freedesktop.sysupdate1.policy:75
msgid "Manage optional features"
msgstr ""
#: src/sysupdate/org.freedesktop.sysupdate1.policy:76
#, fuzzy
msgid "Authentication is required to manage optional features"
msgstr ""
"За управление на работещите сесии, потребители и работни места е необходима "
"идентификация."
#: src/timedate/org.freedesktop.timedate1.policy:22 #: src/timedate/org.freedesktop.timedate1.policy:22
msgid "Set system time" msgid "Set system time"
msgstr "Задаване на времето на системата" msgstr "Задаване на времето на системата"
@ -1247,23 +1268,23 @@ msgstr ""
"За превключване на синхронизацията на времето по мрежата е необходима " "За превключване на синхронизацията на времето по мрежата е необходима "
"идентификация." "идентификация."
#: src/core/dbus-unit.c:353 #: src/core/dbus-unit.c:370
msgid "Authentication is required to start '$(unit)'." msgid "Authentication is required to start '$(unit)'."
msgstr "За стартиране на „$(unit)“ е необходима идентификация." msgstr "За стартиране на „$(unit)“ е необходима идентификация."
#: src/core/dbus-unit.c:354 #: src/core/dbus-unit.c:371
msgid "Authentication is required to stop '$(unit)'." msgid "Authentication is required to stop '$(unit)'."
msgstr "За спиране на „$(unit)“ е необходима идентификация." msgstr "За спиране на „$(unit)“ е необходима идентификация."
#: src/core/dbus-unit.c:355 #: src/core/dbus-unit.c:372
msgid "Authentication is required to reload '$(unit)'." msgid "Authentication is required to reload '$(unit)'."
msgstr "За презареждане на „$(unit)“ е необходима идентификация." msgstr "За презареждане на „$(unit)“ е необходима идентификация."
#: src/core/dbus-unit.c:356 src/core/dbus-unit.c:357 #: src/core/dbus-unit.c:373 src/core/dbus-unit.c:374
msgid "Authentication is required to restart '$(unit)'." msgid "Authentication is required to restart '$(unit)'."
msgstr "За рестартиране на „$(unit)“ е необходима идентификация." msgstr "За рестартиране на „$(unit)“ е необходима идентификация."
#: src/core/dbus-unit.c:549 #: src/core/dbus-unit.c:566
msgid "" msgid ""
"Authentication is required to send a UNIX signal to the processes of " "Authentication is required to send a UNIX signal to the processes of "
"'$(unit)'." "'$(unit)'."
@ -1271,17 +1292,17 @@ msgstr ""
"За изпращането на сигнал на UNIX на процесите на „$(unit)“ е необходима " "За изпращането на сигнал на UNIX на процесите на „$(unit)“ е необходима "
"идентификация." "идентификация."
#: src/core/dbus-unit.c:577 #: src/core/dbus-unit.c:594
msgid "Authentication is required to reset the \"failed\" state of '$(unit)'." msgid "Authentication is required to reset the \"failed\" state of '$(unit)'."
msgstr "" msgstr ""
"За премахване на състоянието за неуспех на „$(unit)“ е необходима " "За премахване на състоянието за неуспех на „$(unit)“ е необходима "
"идентификация." "идентификация."
#: src/core/dbus-unit.c:607 #: src/core/dbus-unit.c:624
msgid "Authentication is required to set properties on '$(unit)'." msgid "Authentication is required to set properties on '$(unit)'."
msgstr "За задаване на свойствата на „$(unit)“ е необходима идентификация." msgstr "За задаване на свойствата на „$(unit)“ е необходима идентификация."
#: src/core/dbus-unit.c:704 #: src/core/dbus-unit.c:721
msgid "" msgid ""
"Authentication is required to delete files and directories associated with " "Authentication is required to delete files and directories associated with "
"'$(unit)'." "'$(unit)'."
@ -1289,7 +1310,7 @@ msgstr ""
"За изтриването на файловете и директориите на „$(unit)“ е необходима " "За изтриването на файловете и директориите на „$(unit)“ е необходима "
"идентификация." "идентификация."
#: src/core/dbus-unit.c:741 #: src/core/dbus-unit.c:758
msgid "" msgid ""
"Authentication is required to freeze or thaw the processes of '$(unit)' unit." "Authentication is required to freeze or thaw the processes of '$(unit)' unit."
msgstr "" msgstr ""

View File

@ -6,7 +6,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-08-23 15:33+0200\n" "POT-Creation-Date: 2024-11-06 14:42+0000\n"
"PO-Revision-Date: 2018-02-27 04:18-0500\n" "PO-Revision-Date: 2018-02-27 04:18-0500\n"
"Last-Translator: Robert Antoni Buj Gelonch <rbuj@fedoraproject.org>\n" "Last-Translator: Robert Antoni Buj Gelonch <rbuj@fedoraproject.org>\n"
"Language-Team: Català <ubuntu-l10n-ca@lists.ubuntu.com>\n" "Language-Team: Català <ubuntu-l10n-ca@lists.ubuntu.com>\n"
@ -120,31 +120,41 @@ msgstr ""
"Es requereix autenticació per annexar un dispositiu a un lloc de treball." "Es requereix autenticació per annexar un dispositiu a un lloc de treball."
#: src/home/org.freedesktop.home1.policy:53 #: src/home/org.freedesktop.home1.policy:53
msgid "Resize a home area" msgid "Update your home area"
msgstr "" msgstr ""
#: src/home/org.freedesktop.home1.policy:54 #: src/home/org.freedesktop.home1.policy:54
#, fuzzy #, fuzzy
msgid "Authentication is required to resize a user's home area." msgid "Authentication is required to update your home area."
msgstr "Es requereix autenticació per establir un missatge de mur" msgstr ""
"Es requereix autenticació per annexar un dispositiu a un lloc de treball."
#: src/home/org.freedesktop.home1.policy:63 #: src/home/org.freedesktop.home1.policy:63
msgid "Change password of a home area" msgid "Resize a home area"
msgstr "" msgstr ""
#: src/home/org.freedesktop.home1.policy:64 #: src/home/org.freedesktop.home1.policy:64
#, fuzzy #, fuzzy
msgid "Authentication is required to resize a user's home area."
msgstr "Es requereix autenticació per establir un missatge de mur"
#: src/home/org.freedesktop.home1.policy:73
msgid "Change password of a home area"
msgstr ""
#: src/home/org.freedesktop.home1.policy:74
#, fuzzy
msgid "" msgid ""
"Authentication is required to change the password of a user's home area." "Authentication is required to change the password of a user's home area."
msgstr "" msgstr ""
"Es requereix autenticació per gestionar les sessions, usuaris i llocs de " "Es requereix autenticació per gestionar les sessions, usuaris i llocs de "
"treball actius." "treball actius."
#: src/home/org.freedesktop.home1.policy:73 #: src/home/org.freedesktop.home1.policy:83
msgid "Activate a home area" msgid "Activate a home area"
msgstr "" msgstr ""
#: src/home/org.freedesktop.home1.policy:74 #: src/home/org.freedesktop.home1.policy:84
#, fuzzy #, fuzzy
msgid "Authentication is required to activate a user's home area." msgid "Authentication is required to activate a user's home area."
msgstr "Es requereix autenticació per tornar a carregar l'estat de systemd." msgstr "Es requereix autenticació per tornar a carregar l'estat de systemd."
@ -1236,6 +1246,17 @@ msgstr ""
msgid "Authentication is required to cleanup old system updates." msgid "Authentication is required to cleanup old system updates."
msgstr "Es requereix autenticació per establir l'hora del sistema." msgstr "Es requereix autenticació per establir l'hora del sistema."
#: src/sysupdate/org.freedesktop.sysupdate1.policy:75
msgid "Manage optional features"
msgstr ""
#: src/sysupdate/org.freedesktop.sysupdate1.policy:76
#, fuzzy
msgid "Authentication is required to manage optional features"
msgstr ""
"Es requereix autenticació per gestionar les sessions, usuaris i llocs de "
"treball actius."
#: src/timedate/org.freedesktop.timedate1.policy:22 #: src/timedate/org.freedesktop.timedate1.policy:22
msgid "Set system time" msgid "Set system time"
msgstr "Estableix l'hora del sistema" msgstr "Estableix l'hora del sistema"
@ -1276,45 +1297,45 @@ msgstr ""
"Es requereix autenticació per controlar si s'ha d'activar la sincronització " "Es requereix autenticació per controlar si s'ha d'activar la sincronització "
"de l'hora de xarxa." "de l'hora de xarxa."
#: src/core/dbus-unit.c:353 #: src/core/dbus-unit.c:370
msgid "Authentication is required to start '$(unit)'." msgid "Authentication is required to start '$(unit)'."
msgstr "Es requereix autenticació per iniciar «$(unit)»." msgstr "Es requereix autenticació per iniciar «$(unit)»."
#: src/core/dbus-unit.c:354 #: src/core/dbus-unit.c:371
msgid "Authentication is required to stop '$(unit)'." msgid "Authentication is required to stop '$(unit)'."
msgstr "Es requereix autenticació per aturar «$(unit)»." msgstr "Es requereix autenticació per aturar «$(unit)»."
#: src/core/dbus-unit.c:355 #: src/core/dbus-unit.c:372
msgid "Authentication is required to reload '$(unit)'." msgid "Authentication is required to reload '$(unit)'."
msgstr "Es requereix autenticació per tornar a carregar «$(unit)»." msgstr "Es requereix autenticació per tornar a carregar «$(unit)»."
#: src/core/dbus-unit.c:356 src/core/dbus-unit.c:357 #: src/core/dbus-unit.c:373 src/core/dbus-unit.c:374
msgid "Authentication is required to restart '$(unit)'." msgid "Authentication is required to restart '$(unit)'."
msgstr "Es requereix autenticació per reiniciar «$(unit)»." msgstr "Es requereix autenticació per reiniciar «$(unit)»."
#: src/core/dbus-unit.c:549 #: src/core/dbus-unit.c:566
#, fuzzy #, fuzzy
msgid "" msgid ""
"Authentication is required to send a UNIX signal to the processes of " "Authentication is required to send a UNIX signal to the processes of "
"'$(unit)'." "'$(unit)'."
msgstr "Es requereix autenticació per establir les propietats a «$(unit)»." msgstr "Es requereix autenticació per establir les propietats a «$(unit)»."
#: src/core/dbus-unit.c:577 #: src/core/dbus-unit.c:594
msgid "Authentication is required to reset the \"failed\" state of '$(unit)'." msgid "Authentication is required to reset the \"failed\" state of '$(unit)'."
msgstr "Es requereix autenticació per restablir l'estat «failed» de «$(unit)»." msgstr "Es requereix autenticació per restablir l'estat «failed» de «$(unit)»."
#: src/core/dbus-unit.c:607 #: src/core/dbus-unit.c:624
msgid "Authentication is required to set properties on '$(unit)'." msgid "Authentication is required to set properties on '$(unit)'."
msgstr "Es requereix autenticació per establir les propietats a «$(unit)»." msgstr "Es requereix autenticació per establir les propietats a «$(unit)»."
#: src/core/dbus-unit.c:704 #: src/core/dbus-unit.c:721
#, fuzzy #, fuzzy
msgid "" msgid ""
"Authentication is required to delete files and directories associated with " "Authentication is required to delete files and directories associated with "
"'$(unit)'." "'$(unit)'."
msgstr "Es requereix autenticació per restablir l'estat «failed» de «$(unit)»." msgstr "Es requereix autenticació per restablir l'estat «failed» de «$(unit)»."
#: src/core/dbus-unit.c:741 #: src/core/dbus-unit.c:758
#, fuzzy #, fuzzy
msgid "" msgid ""
"Authentication is required to freeze or thaw the processes of '$(unit)' unit." "Authentication is required to freeze or thaw the processes of '$(unit)' unit."

View File

@ -7,7 +7,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-08-23 15:33+0200\n" "POT-Creation-Date: 2024-11-06 14:42+0000\n"
"PO-Revision-Date: 2024-10-28 15:47+0000\n" "PO-Revision-Date: 2024-10-28 15:47+0000\n"
"Last-Translator: Pavel Borecki <pavel.borecki@gmail.com>\n" "Last-Translator: Pavel Borecki <pavel.borecki@gmail.com>\n"
"Language-Team: Czech <https://translate.fedoraproject.org/projects/systemd/" "Language-Team: Czech <https://translate.fedoraproject.org/projects/systemd/"
@ -114,28 +114,38 @@ msgid "Authentication is required to update a user's home area."
msgstr "Pro aktualizaci domovského adresáře uživatele je vyžadováno ověření." msgstr "Pro aktualizaci domovského adresáře uživatele je vyžadováno ověření."
#: src/home/org.freedesktop.home1.policy:53 #: src/home/org.freedesktop.home1.policy:53
#, fuzzy
msgid "Update your home area"
msgstr "Aktualizovat domovský adresář"
#: src/home/org.freedesktop.home1.policy:54
#, fuzzy
msgid "Authentication is required to update your home area."
msgstr "Pro aktualizaci domovského adresáře uživatele je vyžadováno ověření."
#: src/home/org.freedesktop.home1.policy:63
msgid "Resize a home area" msgid "Resize a home area"
msgstr "Změnit velikost domovského adresáře" msgstr "Změnit velikost domovského adresáře"
#: src/home/org.freedesktop.home1.policy:54 #: src/home/org.freedesktop.home1.policy:64
msgid "Authentication is required to resize a user's home area." msgid "Authentication is required to resize a user's home area."
msgstr "" msgstr ""
"Pro změnu velikosti domovského adresáře uživatele je vyžadováno ověření." "Pro změnu velikosti domovského adresáře uživatele je vyžadováno ověření."
#: src/home/org.freedesktop.home1.policy:63 #: src/home/org.freedesktop.home1.policy:73
msgid "Change password of a home area" msgid "Change password of a home area"
msgstr "Změnit heslo domovského adresáře" msgstr "Změnit heslo domovského adresáře"
#: src/home/org.freedesktop.home1.policy:64 #: src/home/org.freedesktop.home1.policy:74
msgid "" msgid ""
"Authentication is required to change the password of a user's home area." "Authentication is required to change the password of a user's home area."
msgstr "Pro změnu hesla domovského adresáře uživatele je vyžadováno ověření." msgstr "Pro změnu hesla domovského adresáře uživatele je vyžadováno ověření."
#: src/home/org.freedesktop.home1.policy:73 #: src/home/org.freedesktop.home1.policy:83
msgid "Activate a home area" msgid "Activate a home area"
msgstr "Aktivovat domovskou složku" msgstr "Aktivovat domovskou složku"
#: src/home/org.freedesktop.home1.policy:74 #: src/home/org.freedesktop.home1.policy:84
#, fuzzy #, fuzzy
msgid "Authentication is required to activate a user's home area." msgid "Authentication is required to activate a user's home area."
msgstr "Pro vytvoření domovského adresáře uživatele je vyžadováno ověření." msgstr "Pro vytvoření domovského adresáře uživatele je vyžadováno ověření."
@ -1171,6 +1181,16 @@ msgstr ""
msgid "Authentication is required to cleanup old system updates." msgid "Authentication is required to cleanup old system updates."
msgstr "Pro nastavení systémového času je vyžadováno ověření." msgstr "Pro nastavení systémového času je vyžadováno ověření."
#: src/sysupdate/org.freedesktop.sysupdate1.policy:75
msgid "Manage optional features"
msgstr ""
#: src/sysupdate/org.freedesktop.sysupdate1.policy:76
#, fuzzy
msgid "Authentication is required to manage optional features"
msgstr ""
"Pro správu aktivních sezení, uživatelů a stanovišť je vyžadováno ověření."
#: src/timedate/org.freedesktop.timedate1.policy:22 #: src/timedate/org.freedesktop.timedate1.policy:22
msgid "Set system time" msgid "Set system time"
msgstr "Nastavit systémový čas" msgstr "Nastavit systémový čas"
@ -1209,37 +1229,37 @@ msgid ""
"shall be enabled." "shall be enabled."
msgstr "Pro kontrolu synchronizace času ze sítě je vyžadováno ověření." msgstr "Pro kontrolu synchronizace času ze sítě je vyžadováno ověření."
#: src/core/dbus-unit.c:353 #: src/core/dbus-unit.c:370
msgid "Authentication is required to start '$(unit)'." msgid "Authentication is required to start '$(unit)'."
msgstr "Pro spuštění „$(unit)” je vyžadováno ověření." msgstr "Pro spuštění „$(unit)” je vyžadováno ověření."
#: src/core/dbus-unit.c:354 #: src/core/dbus-unit.c:371
msgid "Authentication is required to stop '$(unit)'." msgid "Authentication is required to stop '$(unit)'."
msgstr "Pro vypnutí „$(unit)” je vyžadováno ověření." msgstr "Pro vypnutí „$(unit)” je vyžadováno ověření."
#: src/core/dbus-unit.c:355 #: src/core/dbus-unit.c:372
msgid "Authentication is required to reload '$(unit)'." msgid "Authentication is required to reload '$(unit)'."
msgstr "Pro opětovné načtení „$(unit)” je vyžadováno ověření." msgstr "Pro opětovné načtení „$(unit)” je vyžadováno ověření."
#: src/core/dbus-unit.c:356 src/core/dbus-unit.c:357 #: src/core/dbus-unit.c:373 src/core/dbus-unit.c:374
msgid "Authentication is required to restart '$(unit)'." msgid "Authentication is required to restart '$(unit)'."
msgstr "Pro restart „$(unit)” je vyžadováno ověření." msgstr "Pro restart „$(unit)” je vyžadováno ověření."
#: src/core/dbus-unit.c:549 #: src/core/dbus-unit.c:566
msgid "" msgid ""
"Authentication is required to send a UNIX signal to the processes of " "Authentication is required to send a UNIX signal to the processes of "
"'$(unit)'." "'$(unit)'."
msgstr "Pro odeslání UNIX signálu procesům „$(unit)” je vyžadováno ověření." msgstr "Pro odeslání UNIX signálu procesům „$(unit)” je vyžadováno ověření."
#: src/core/dbus-unit.c:577 #: src/core/dbus-unit.c:594
msgid "Authentication is required to reset the \"failed\" state of '$(unit)'." msgid "Authentication is required to reset the \"failed\" state of '$(unit)'."
msgstr "Pro resetování chybného stavu „$(unit)” je vyžadováno ověření." msgstr "Pro resetování chybného stavu „$(unit)” je vyžadováno ověření."
#: src/core/dbus-unit.c:607 #: src/core/dbus-unit.c:624
msgid "Authentication is required to set properties on '$(unit)'." msgid "Authentication is required to set properties on '$(unit)'."
msgstr "Pro nastavení vlastností na „$(unit)” je vyžadováno ověření." msgstr "Pro nastavení vlastností na „$(unit)” je vyžadováno ověření."
#: src/core/dbus-unit.c:704 #: src/core/dbus-unit.c:721
msgid "" msgid ""
"Authentication is required to delete files and directories associated with " "Authentication is required to delete files and directories associated with "
"'$(unit)'." "'$(unit)'."
@ -1247,7 +1267,7 @@ msgstr ""
"Pro odstranění souborů nebo adresářů souvisejících s „$(unit)” je vyžadováno " "Pro odstranění souborů nebo adresářů souvisejících s „$(unit)” je vyžadováno "
"ověření." "ověření."
#: src/core/dbus-unit.c:741 #: src/core/dbus-unit.c:758
msgid "" msgid ""
"Authentication is required to freeze or thaw the processes of '$(unit)' unit." "Authentication is required to freeze or thaw the processes of '$(unit)' unit."
msgstr "" msgstr ""

View File

@ -6,7 +6,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-08-23 15:33+0200\n" "POT-Creation-Date: 2024-11-06 14:42+0000\n"
"PO-Revision-Date: 2021-06-02 16:03+0000\n" "PO-Revision-Date: 2021-06-02 16:03+0000\n"
"Last-Translator: scootergrisen <scootergrisen@gmail.com>\n" "Last-Translator: scootergrisen <scootergrisen@gmail.com>\n"
"Language-Team: Danish <https://translate.fedoraproject.org/projects/systemd/" "Language-Team: Danish <https://translate.fedoraproject.org/projects/systemd/"
@ -113,32 +113,43 @@ msgid "Authentication is required to update a user's home area."
msgstr "Der kræves godkendelse for at opdatere en brugers hjemmeområde." msgstr "Der kræves godkendelse for at opdatere en brugers hjemmeområde."
#: src/home/org.freedesktop.home1.policy:53 #: src/home/org.freedesktop.home1.policy:53
#, fuzzy
msgid "Update your home area"
msgstr "Opdater et hjemmeområde"
# https://www.freedesktop.org/software/systemd/man/sd-login.html
#: src/home/org.freedesktop.home1.policy:54
#, fuzzy
msgid "Authentication is required to update your home area."
msgstr "Der kræves godkendelse for at opdatere en brugers hjemmeområde."
#: src/home/org.freedesktop.home1.policy:63
msgid "Resize a home area" msgid "Resize a home area"
msgstr "Tilpas størrelsen på et hjemmeområde" msgstr "Tilpas størrelsen på et hjemmeområde"
#: src/home/org.freedesktop.home1.policy:54 #: src/home/org.freedesktop.home1.policy:64
msgid "Authentication is required to resize a user's home area." msgid "Authentication is required to resize a user's home area."
msgstr "" msgstr ""
"Der kræves godkendelse for at tilpasse størrelsen på en brugers hjemmeområde." "Der kræves godkendelse for at tilpasse størrelsen på en brugers hjemmeområde."
#: src/home/org.freedesktop.home1.policy:63 #: src/home/org.freedesktop.home1.policy:73
msgid "Change password of a home area" msgid "Change password of a home area"
msgstr "Skift adgangskode for et hjemmeområde" msgstr "Skift adgangskode for et hjemmeområde"
# https://www.freedesktop.org/software/systemd/man/sd-login.html # https://www.freedesktop.org/software/systemd/man/sd-login.html
#: src/home/org.freedesktop.home1.policy:64 #: src/home/org.freedesktop.home1.policy:74
msgid "" msgid ""
"Authentication is required to change the password of a user's home area." "Authentication is required to change the password of a user's home area."
msgstr "" msgstr ""
"Der kræves godkendelse for at skifte adgangskoden for en brugers " "Der kræves godkendelse for at skifte adgangskoden for en brugers "
"hjemmeområde." "hjemmeområde."
#: src/home/org.freedesktop.home1.policy:73 #: src/home/org.freedesktop.home1.policy:83
#, fuzzy #, fuzzy
msgid "Activate a home area" msgid "Activate a home area"
msgstr "Opret et hjemmeområde" msgstr "Opret et hjemmeområde"
#: src/home/org.freedesktop.home1.policy:74 #: src/home/org.freedesktop.home1.policy:84
#, fuzzy #, fuzzy
msgid "Authentication is required to activate a user's home area." msgid "Authentication is required to activate a user's home area."
msgstr "Der kræves godkendelse for at oprette en brugers hjemmeområde." msgstr "Der kræves godkendelse for at oprette en brugers hjemmeområde."
@ -1178,6 +1189,18 @@ msgstr ""
msgid "Authentication is required to cleanup old system updates." msgid "Authentication is required to cleanup old system updates."
msgstr "Der kræves godkendelse for at indstille tiden for systemet." msgstr "Der kræves godkendelse for at indstille tiden for systemet."
#: src/sysupdate/org.freedesktop.sysupdate1.policy:75
msgid "Manage optional features"
msgstr ""
# https://www.freedesktop.org/software/systemd/man/sd-login.html
#: src/sysupdate/org.freedesktop.sysupdate1.policy:76
#, fuzzy
msgid "Authentication is required to manage optional features"
msgstr ""
"Der kræves godkendelse for at håndtere aktive sessioner, brugere og "
"arbejdsstationer."
#: src/timedate/org.freedesktop.timedate1.policy:22 #: src/timedate/org.freedesktop.timedate1.policy:22
msgid "Set system time" msgid "Set system time"
msgstr "Indstil tiden for systemet" msgstr "Indstil tiden for systemet"
@ -1218,45 +1241,45 @@ msgstr ""
"Der kræves godkendelse for at kontrollere hvorvidt synkronisering af " "Der kræves godkendelse for at kontrollere hvorvidt synkronisering af "
"netværkstid skal aktiveres." "netværkstid skal aktiveres."
#: src/core/dbus-unit.c:353 #: src/core/dbus-unit.c:370
msgid "Authentication is required to start '$(unit)'." msgid "Authentication is required to start '$(unit)'."
msgstr "Der kræves godkendelse for at starte '$(unit)'." msgstr "Der kræves godkendelse for at starte '$(unit)'."
#: src/core/dbus-unit.c:354 #: src/core/dbus-unit.c:371
msgid "Authentication is required to stop '$(unit)'." msgid "Authentication is required to stop '$(unit)'."
msgstr "Der kræves godkendelse for at stoppe '$(unit)'." msgstr "Der kræves godkendelse for at stoppe '$(unit)'."
#: src/core/dbus-unit.c:355 #: src/core/dbus-unit.c:372
msgid "Authentication is required to reload '$(unit)'." msgid "Authentication is required to reload '$(unit)'."
msgstr "Der kræves godkendelse for at genindlæse '$(unit)'." msgstr "Der kræves godkendelse for at genindlæse '$(unit)'."
#: src/core/dbus-unit.c:356 src/core/dbus-unit.c:357 #: src/core/dbus-unit.c:373 src/core/dbus-unit.c:374
msgid "Authentication is required to restart '$(unit)'." msgid "Authentication is required to restart '$(unit)'."
msgstr "Der kræves godkendelse for at genstarte '$(unit)'." msgstr "Der kræves godkendelse for at genstarte '$(unit)'."
#: src/core/dbus-unit.c:549 #: src/core/dbus-unit.c:566
msgid "" msgid ""
"Authentication is required to send a UNIX signal to the processes of " "Authentication is required to send a UNIX signal to the processes of "
"'$(unit)'." "'$(unit)'."
msgstr "Der kræves godkendelse for at indstille egenskaber på '$(unit)'." msgstr "Der kræves godkendelse for at indstille egenskaber på '$(unit)'."
#: src/core/dbus-unit.c:577 #: src/core/dbus-unit.c:594
msgid "Authentication is required to reset the \"failed\" state of '$(unit)'." msgid "Authentication is required to reset the \"failed\" state of '$(unit)'."
msgstr "" msgstr ""
"Der kræves godkendelse for at nulstille \"fejl\"-tilstanden på '$(unit)'." "Der kræves godkendelse for at nulstille \"fejl\"-tilstanden på '$(unit)'."
#: src/core/dbus-unit.c:607 #: src/core/dbus-unit.c:624
msgid "Authentication is required to set properties on '$(unit)'." msgid "Authentication is required to set properties on '$(unit)'."
msgstr "Der kræves godkendelse for at indstille egenskaber på '$(unit)'." msgstr "Der kræves godkendelse for at indstille egenskaber på '$(unit)'."
#: src/core/dbus-unit.c:704 #: src/core/dbus-unit.c:721
msgid "" msgid ""
"Authentication is required to delete files and directories associated with " "Authentication is required to delete files and directories associated with "
"'$(unit)'." "'$(unit)'."
msgstr "" msgstr ""
"Der kræves godkendelse for at nulstille \"fejl\"-tilstanden på '$(unit)'." "Der kræves godkendelse for at nulstille \"fejl\"-tilstanden på '$(unit)'."
#: src/core/dbus-unit.c:741 #: src/core/dbus-unit.c:758
msgid "" msgid ""
"Authentication is required to freeze or thaw the processes of '$(unit)' unit." "Authentication is required to freeze or thaw the processes of '$(unit)' unit."
msgstr "" msgstr ""

View File

@ -13,7 +13,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-08-23 15:33+0200\n" "POT-Creation-Date: 2024-11-06 14:42+0000\n"
"PO-Revision-Date: 2024-11-05 13:46+0000\n" "PO-Revision-Date: 2024-11-05 13:46+0000\n"
"Last-Translator: Weblate Translation Memory <noreply-mt-weblate-translation-" "Last-Translator: Weblate Translation Memory <noreply-mt-weblate-translation-"
"memory@weblate.org>\n" "memory@weblate.org>\n"
@ -131,33 +131,46 @@ msgstr ""
"Benutzers notwendig." "Benutzers notwendig."
#: src/home/org.freedesktop.home1.policy:53 #: src/home/org.freedesktop.home1.policy:53
#, fuzzy
msgid "Update your home area"
msgstr "Einen persönlichen Bereich aktualisieren"
# https://www.freedesktop.org/software/systemd/man/sd-login.html
#: src/home/org.freedesktop.home1.policy:54
#, fuzzy
msgid "Authentication is required to update your home area."
msgstr ""
"Legitimierung ist zum Aktualisieren des persönlichen Bereichs eines "
"Benutzers notwendig."
#: src/home/org.freedesktop.home1.policy:63
msgid "Resize a home area" msgid "Resize a home area"
msgstr "Größe eines persönlichen Bereichs ändern" msgstr "Größe eines persönlichen Bereichs ändern"
#: src/home/org.freedesktop.home1.policy:54 #: src/home/org.freedesktop.home1.policy:64
msgid "Authentication is required to resize a user's home area." msgid "Authentication is required to resize a user's home area."
msgstr "" msgstr ""
"Legitimierung ist für die Größenänderung des persönlichen Bereichs eines " "Legitimierung ist für die Größenänderung des persönlichen Bereichs eines "
"Benutzers notwendig." "Benutzers notwendig."
#: src/home/org.freedesktop.home1.policy:63 #: src/home/org.freedesktop.home1.policy:73
msgid "Change password of a home area" msgid "Change password of a home area"
msgstr "Passwort eines persönlichen Bereichs ändern" msgstr "Passwort eines persönlichen Bereichs ändern"
# https://www.freedesktop.org/software/systemd/man/sd-login.html # https://www.freedesktop.org/software/systemd/man/sd-login.html
#: src/home/org.freedesktop.home1.policy:64 #: src/home/org.freedesktop.home1.policy:74
msgid "" msgid ""
"Authentication is required to change the password of a user's home area." "Authentication is required to change the password of a user's home area."
msgstr "" msgstr ""
"Legitimierung ist zum Ändern des Passworts eines persönlichen Bereichs eines " "Legitimierung ist zum Ändern des Passworts eines persönlichen Bereichs eines "
"Benutzers notwendig." "Benutzers notwendig."
#: src/home/org.freedesktop.home1.policy:73 #: src/home/org.freedesktop.home1.policy:83
#, fuzzy #, fuzzy
msgid "Activate a home area" msgid "Activate a home area"
msgstr "Einen persönlichen Bereich anlegen" msgstr "Einen persönlichen Bereich anlegen"
#: src/home/org.freedesktop.home1.policy:74 #: src/home/org.freedesktop.home1.policy:84
#, fuzzy #, fuzzy
msgid "Authentication is required to activate a user's home area." msgid "Authentication is required to activate a user's home area."
msgstr "" msgstr ""
@ -1253,6 +1266,18 @@ msgstr "Alte Systemaktualisierungen bereinigen"
msgid "Authentication is required to cleanup old system updates." msgid "Authentication is required to cleanup old system updates."
msgstr "Legitimierung ist zum Festlegen der Systemzeit notwendig." msgstr "Legitimierung ist zum Festlegen der Systemzeit notwendig."
#: src/sysupdate/org.freedesktop.sysupdate1.policy:75
msgid "Manage optional features"
msgstr ""
# https://www.freedesktop.org/software/systemd/man/sd-login.html
#: src/sysupdate/org.freedesktop.sysupdate1.policy:76
#, fuzzy
msgid "Authentication is required to manage optional features"
msgstr ""
"Legitimierung ist zur Verwaltung aktiver Sitzungen, Benutzern und "
"Arbeitsstationen notwendig."
#: src/timedate/org.freedesktop.timedate1.policy:22 #: src/timedate/org.freedesktop.timedate1.policy:22
msgid "Set system time" msgid "Set system time"
msgstr "Die Systemzeit festlegen" msgstr "Die Systemzeit festlegen"
@ -1293,23 +1318,23 @@ msgstr ""
"Legitimierung ist zum Festlegen, ob Netzwerkzeitabgeich eingeschaltet sein " "Legitimierung ist zum Festlegen, ob Netzwerkzeitabgeich eingeschaltet sein "
"soll, erforderlich." "soll, erforderlich."
#: src/core/dbus-unit.c:353 #: src/core/dbus-unit.c:370
msgid "Authentication is required to start '$(unit)'." msgid "Authentication is required to start '$(unit)'."
msgstr "Legitimierung ist zum Starten von »$(unit)« notwendig." msgstr "Legitimierung ist zum Starten von »$(unit)« notwendig."
#: src/core/dbus-unit.c:354 #: src/core/dbus-unit.c:371
msgid "Authentication is required to stop '$(unit)'." msgid "Authentication is required to stop '$(unit)'."
msgstr "Legitimierung ist zum Stoppen von »$(unit)« notwendig." msgstr "Legitimierung ist zum Stoppen von »$(unit)« notwendig."
#: src/core/dbus-unit.c:355 #: src/core/dbus-unit.c:372
msgid "Authentication is required to reload '$(unit)'." msgid "Authentication is required to reload '$(unit)'."
msgstr "Legitimierung ist zum erneuten Laden von »$(unit)« notwendig." msgstr "Legitimierung ist zum erneuten Laden von »$(unit)« notwendig."
#: src/core/dbus-unit.c:356 src/core/dbus-unit.c:357 #: src/core/dbus-unit.c:373 src/core/dbus-unit.c:374
msgid "Authentication is required to restart '$(unit)'." msgid "Authentication is required to restart '$(unit)'."
msgstr "Legitimierung ist zum Neustarten von »$(unit)« notwendig." msgstr "Legitimierung ist zum Neustarten von »$(unit)« notwendig."
#: src/core/dbus-unit.c:549 #: src/core/dbus-unit.c:566
msgid "" msgid ""
"Authentication is required to send a UNIX signal to the processes of " "Authentication is required to send a UNIX signal to the processes of "
"'$(unit)'." "'$(unit)'."
@ -1317,18 +1342,18 @@ msgstr ""
"Legitimierung ist zum Senden eines UNIX-Signals an die Prozesse von " "Legitimierung ist zum Senden eines UNIX-Signals an die Prozesse von "
"»$(unit)« notwendig." "»$(unit)« notwendig."
#: src/core/dbus-unit.c:577 #: src/core/dbus-unit.c:594
msgid "Authentication is required to reset the \"failed\" state of '$(unit)'." msgid "Authentication is required to reset the \"failed\" state of '$(unit)'."
msgstr "" msgstr ""
"Legitimierung ist zum Zurücksetzen des Status »fehlgeschlagen« von »$(unit)« " "Legitimierung ist zum Zurücksetzen des Status »fehlgeschlagen« von »$(unit)« "
"notwendig" "notwendig"
#: src/core/dbus-unit.c:607 #: src/core/dbus-unit.c:624
msgid "Authentication is required to set properties on '$(unit)'." msgid "Authentication is required to set properties on '$(unit)'."
msgstr "" msgstr ""
"Legitimierung ist zum Festlegen der Eigenschaften von »$(unit)« notwendig." "Legitimierung ist zum Festlegen der Eigenschaften von »$(unit)« notwendig."
#: src/core/dbus-unit.c:704 #: src/core/dbus-unit.c:721
msgid "" msgid ""
"Authentication is required to delete files and directories associated with " "Authentication is required to delete files and directories associated with "
"'$(unit)'." "'$(unit)'."
@ -1336,7 +1361,7 @@ msgstr ""
"Legitimierung ist zum Löschen von Dateien und Verzeichnissen, die zu " "Legitimierung ist zum Löschen von Dateien und Verzeichnissen, die zu "
"»$(unit)« gehören, erforderlich." "»$(unit)« gehören, erforderlich."
#: src/core/dbus-unit.c:741 #: src/core/dbus-unit.c:758
msgid "" msgid ""
"Authentication is required to freeze or thaw the processes of '$(unit)' unit." "Authentication is required to freeze or thaw the processes of '$(unit)' unit."
msgstr "" msgstr ""

View File

@ -7,7 +7,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-08-23 15:33+0200\n" "POT-Creation-Date: 2024-11-06 14:42+0000\n"
"PO-Revision-Date: 2024-08-04 03:41+0000\n" "PO-Revision-Date: 2024-08-04 03:41+0000\n"
"Last-Translator: Dimitrys Meliates <demetresmeliates+fedora@gmail.com>\n" "Last-Translator: Dimitrys Meliates <demetresmeliates+fedora@gmail.com>\n"
"Language-Team: Greek <https://translate.fedoraproject.org/projects/systemd/" "Language-Team: Greek <https://translate.fedoraproject.org/projects/systemd/"
@ -118,31 +118,41 @@ msgid "Authentication is required to update a user's home area."
msgstr "Απαιτείται ταυτοποίηση για την ενημέρωση αρχικής περιοχής ενός χρήστη." msgstr "Απαιτείται ταυτοποίηση για την ενημέρωση αρχικής περιοχής ενός χρήστη."
#: src/home/org.freedesktop.home1.policy:53 #: src/home/org.freedesktop.home1.policy:53
#, fuzzy
msgid "Update your home area"
msgstr "Ενημέρωση αρχικής περιοχής"
#: src/home/org.freedesktop.home1.policy:54
#, fuzzy
msgid "Authentication is required to update your home area."
msgstr "Απαιτείται ταυτοποίηση για την ενημέρωση αρχικής περιοχής ενός χρήστη."
#: src/home/org.freedesktop.home1.policy:63
msgid "Resize a home area" msgid "Resize a home area"
msgstr "Αλλαγή μεγέθους αρχικής περιοχής" msgstr "Αλλαγή μεγέθους αρχικής περιοχής"
#: src/home/org.freedesktop.home1.policy:54 #: src/home/org.freedesktop.home1.policy:64
msgid "Authentication is required to resize a user's home area." msgid "Authentication is required to resize a user's home area."
msgstr "" msgstr ""
"Απαιτείται ταυτοποίηση για την αλλαγή του μεγέθους αρχικής περιοχής ενός " "Απαιτείται ταυτοποίηση για την αλλαγή του μεγέθους αρχικής περιοχής ενός "
"χρήστη." "χρήστη."
#: src/home/org.freedesktop.home1.policy:63 #: src/home/org.freedesktop.home1.policy:73
msgid "Change password of a home area" msgid "Change password of a home area"
msgstr "" msgstr ""
#: src/home/org.freedesktop.home1.policy:64 #: src/home/org.freedesktop.home1.policy:74
#, fuzzy #, fuzzy
msgid "" msgid ""
"Authentication is required to change the password of a user's home area." "Authentication is required to change the password of a user's home area."
msgstr "" msgstr ""
"Απαιτείται πιστοποίηση για προσάρτηση μιας συσκευής σε έναν σταθμό εργασίας." "Απαιτείται πιστοποίηση για προσάρτηση μιας συσκευής σε έναν σταθμό εργασίας."
#: src/home/org.freedesktop.home1.policy:73 #: src/home/org.freedesktop.home1.policy:83
msgid "Activate a home area" msgid "Activate a home area"
msgstr "" msgstr ""
#: src/home/org.freedesktop.home1.policy:74 #: src/home/org.freedesktop.home1.policy:84
#, fuzzy #, fuzzy
msgid "Authentication is required to activate a user's home area." msgid "Authentication is required to activate a user's home area."
msgstr "Απαιτείται πιστοποίηση για να ορίσετε την ώρα του συστήματος." msgstr "Απαιτείται πιστοποίηση για να ορίσετε την ώρα του συστήματος."
@ -1222,6 +1232,16 @@ msgstr ""
msgid "Authentication is required to cleanup old system updates." msgid "Authentication is required to cleanup old system updates."
msgstr "Απαιτείται πιστοποίηση για να ορίσετε την ώρα του συστήματος." msgstr "Απαιτείται πιστοποίηση για να ορίσετε την ώρα του συστήματος."
#: src/sysupdate/org.freedesktop.sysupdate1.policy:75
msgid "Manage optional features"
msgstr ""
#: src/sysupdate/org.freedesktop.sysupdate1.policy:76
#, fuzzy
msgid "Authentication is required to manage optional features"
msgstr ""
"Απαιτείται πιστοποίηση για προσάρτηση μιας συσκευής σε έναν σταθμό εργασίας."
#: src/timedate/org.freedesktop.timedate1.policy:22 #: src/timedate/org.freedesktop.timedate1.policy:22
msgid "Set system time" msgid "Set system time"
msgstr "Ορισμός ώρας συστήματος" msgstr "Ορισμός ώρας συστήματος"
@ -1262,51 +1282,51 @@ msgstr ""
"Απαιτείται πιστοποίηση για να ελέγξετε αν ο συγχρονισμός ώρας δικτύου θα " "Απαιτείται πιστοποίηση για να ελέγξετε αν ο συγχρονισμός ώρας δικτύου θα "
"ενεργοποιηθεί." "ενεργοποιηθεί."
#: src/core/dbus-unit.c:353 #: src/core/dbus-unit.c:370
#, fuzzy #, fuzzy
msgid "Authentication is required to start '$(unit)'." msgid "Authentication is required to start '$(unit)'."
msgstr "Απαιτείται πιστοποίηση για να ορίσετε την ώρα του συστήματος." msgstr "Απαιτείται πιστοποίηση για να ορίσετε την ώρα του συστήματος."
#: src/core/dbus-unit.c:354 #: src/core/dbus-unit.c:371
#, fuzzy #, fuzzy
msgid "Authentication is required to stop '$(unit)'." msgid "Authentication is required to stop '$(unit)'."
msgstr "Απαιτείται πιστοποίηση για να ορίσετε την ώρα του συστήματος." msgstr "Απαιτείται πιστοποίηση για να ορίσετε την ώρα του συστήματος."
#: src/core/dbus-unit.c:355 #: src/core/dbus-unit.c:372
#, fuzzy #, fuzzy
msgid "Authentication is required to reload '$(unit)'." msgid "Authentication is required to reload '$(unit)'."
msgstr "Απαιτείται πιστοποίηση για να ορίσετε την ώρα του συστήματος." msgstr "Απαιτείται πιστοποίηση για να ορίσετε την ώρα του συστήματος."
#: src/core/dbus-unit.c:356 src/core/dbus-unit.c:357 #: src/core/dbus-unit.c:373 src/core/dbus-unit.c:374
#, fuzzy #, fuzzy
msgid "Authentication is required to restart '$(unit)'." msgid "Authentication is required to restart '$(unit)'."
msgstr "Απαιτείται πιστοποίηση για να ορίσετε την ώρα του συστήματος." msgstr "Απαιτείται πιστοποίηση για να ορίσετε την ώρα του συστήματος."
#: src/core/dbus-unit.c:549 #: src/core/dbus-unit.c:566
#, fuzzy #, fuzzy
msgid "" msgid ""
"Authentication is required to send a UNIX signal to the processes of " "Authentication is required to send a UNIX signal to the processes of "
"'$(unit)'." "'$(unit)'."
msgstr "Απαιτείται πιστοποίηση για να ορίσετε την ώρα του συστήματος." msgstr "Απαιτείται πιστοποίηση για να ορίσετε την ώρα του συστήματος."
#: src/core/dbus-unit.c:577 #: src/core/dbus-unit.c:594
#, fuzzy #, fuzzy
msgid "Authentication is required to reset the \"failed\" state of '$(unit)'." msgid "Authentication is required to reset the \"failed\" state of '$(unit)'."
msgstr "Απαιτείται πιστοποίηση για να ορίσετε τοπικά όνομα οικοδεσπότη." msgstr "Απαιτείται πιστοποίηση για να ορίσετε τοπικά όνομα οικοδεσπότη."
#: src/core/dbus-unit.c:607 #: src/core/dbus-unit.c:624
#, fuzzy #, fuzzy
msgid "Authentication is required to set properties on '$(unit)'." msgid "Authentication is required to set properties on '$(unit)'."
msgstr "Απαιτείται πιστοποίηση για να ορίσετε την ώρα του συστήματος." msgstr "Απαιτείται πιστοποίηση για να ορίσετε την ώρα του συστήματος."
#: src/core/dbus-unit.c:704 #: src/core/dbus-unit.c:721
#, fuzzy #, fuzzy
msgid "" msgid ""
"Authentication is required to delete files and directories associated with " "Authentication is required to delete files and directories associated with "
"'$(unit)'." "'$(unit)'."
msgstr "Απαιτείται πιστοποίηση για να ορίσετε τοπικά όνομα οικοδεσπότη." msgstr "Απαιτείται πιστοποίηση για να ορίσετε τοπικά όνομα οικοδεσπότη."
#: src/core/dbus-unit.c:741 #: src/core/dbus-unit.c:758
#, fuzzy #, fuzzy
msgid "" msgid ""
"Authentication is required to freeze or thaw the processes of '$(unit)' unit." "Authentication is required to freeze or thaw the processes of '$(unit)' unit."

View File

@ -9,7 +9,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-08-23 15:33+0200\n" "POT-Creation-Date: 2024-11-06 14:42+0000\n"
"PO-Revision-Date: 2021-08-26 18:05+0000\n" "PO-Revision-Date: 2021-08-26 18:05+0000\n"
"Last-Translator: Adolfo Jayme Barrientos <fitoschido@gmail.com>\n" "Last-Translator: Adolfo Jayme Barrientos <fitoschido@gmail.com>\n"
"Language-Team: Spanish <https://translate.fedoraproject.org/projects/systemd/" "Language-Team: Spanish <https://translate.fedoraproject.org/projects/systemd/"
@ -118,31 +118,42 @@ msgstr ""
"Necesita autenticarse para actualizar el espacio personal de un usuario." "Necesita autenticarse para actualizar el espacio personal de un usuario."
#: src/home/org.freedesktop.home1.policy:53 #: src/home/org.freedesktop.home1.policy:53
#, fuzzy
msgid "Update your home area"
msgstr "Actualizar un espacio personal"
#: src/home/org.freedesktop.home1.policy:54
#, fuzzy
msgid "Authentication is required to update your home area."
msgstr ""
"Necesita autenticarse para actualizar el espacio personal de un usuario."
#: src/home/org.freedesktop.home1.policy:63
msgid "Resize a home area" msgid "Resize a home area"
msgstr "Redimensionar un espacio personal" msgstr "Redimensionar un espacio personal"
#: src/home/org.freedesktop.home1.policy:54 #: src/home/org.freedesktop.home1.policy:64
msgid "Authentication is required to resize a user's home area." msgid "Authentication is required to resize a user's home area."
msgstr "" msgstr ""
"Necesita autenticarse para redimensionar el espacio personal de un usuario." "Necesita autenticarse para redimensionar el espacio personal de un usuario."
#: src/home/org.freedesktop.home1.policy:63 #: src/home/org.freedesktop.home1.policy:73
msgid "Change password of a home area" msgid "Change password of a home area"
msgstr "Cambiar contraseña de un espacio personal" msgstr "Cambiar contraseña de un espacio personal"
#: src/home/org.freedesktop.home1.policy:64 #: src/home/org.freedesktop.home1.policy:74
msgid "" msgid ""
"Authentication is required to change the password of a user's home area." "Authentication is required to change the password of a user's home area."
msgstr "" msgstr ""
"Necesita autenticarse para cambiar la contraseña del espacio personal de un " "Necesita autenticarse para cambiar la contraseña del espacio personal de un "
"usuario." "usuario."
#: src/home/org.freedesktop.home1.policy:73 #: src/home/org.freedesktop.home1.policy:83
#, fuzzy #, fuzzy
msgid "Activate a home area" msgid "Activate a home area"
msgstr "Crear un área home" msgstr "Crear un área home"
#: src/home/org.freedesktop.home1.policy:74 #: src/home/org.freedesktop.home1.policy:84
#, fuzzy #, fuzzy
msgid "Authentication is required to activate a user's home area." msgid "Authentication is required to activate a user's home area."
msgstr "Se requiere autenticación para crear un área home de usuario." msgstr "Se requiere autenticación para crear un área home de usuario."
@ -1215,6 +1226,17 @@ msgstr ""
msgid "Authentication is required to cleanup old system updates." msgid "Authentication is required to cleanup old system updates."
msgstr "Necesita autenticarse para establecer la fecha y hora del sistema." msgstr "Necesita autenticarse para establecer la fecha y hora del sistema."
#: src/sysupdate/org.freedesktop.sysupdate1.policy:75
msgid "Manage optional features"
msgstr ""
#: src/sysupdate/org.freedesktop.sysupdate1.policy:76
#, fuzzy
msgid "Authentication is required to manage optional features"
msgstr ""
"Necesita autenticarse para administrar las sesiones activas, usuarios y "
"puestos de trabajo."
#: src/timedate/org.freedesktop.timedate1.policy:22 #: src/timedate/org.freedesktop.timedate1.policy:22
msgid "Set system time" msgid "Set system time"
msgstr "Establecer fecha y hora del sistema" msgstr "Establecer fecha y hora del sistema"
@ -1255,23 +1277,23 @@ msgstr ""
"Necesita autenticarse para activar/desactivar la sincronización de hora por " "Necesita autenticarse para activar/desactivar la sincronización de hora por "
"red." "red."
#: src/core/dbus-unit.c:353 #: src/core/dbus-unit.c:370
msgid "Authentication is required to start '$(unit)'." msgid "Authentication is required to start '$(unit)'."
msgstr "Necesita autenticarse para iniciar «$(unit)»." msgstr "Necesita autenticarse para iniciar «$(unit)»."
#: src/core/dbus-unit.c:354 #: src/core/dbus-unit.c:371
msgid "Authentication is required to stop '$(unit)'." msgid "Authentication is required to stop '$(unit)'."
msgstr "Necesita autenticarse para detener «$(unit)»." msgstr "Necesita autenticarse para detener «$(unit)»."
#: src/core/dbus-unit.c:355 #: src/core/dbus-unit.c:372
msgid "Authentication is required to reload '$(unit)'." msgid "Authentication is required to reload '$(unit)'."
msgstr "Necesita autenticarse para recargar «$(unit)»." msgstr "Necesita autenticarse para recargar «$(unit)»."
#: src/core/dbus-unit.c:356 src/core/dbus-unit.c:357 #: src/core/dbus-unit.c:373 src/core/dbus-unit.c:374
msgid "Authentication is required to restart '$(unit)'." msgid "Authentication is required to restart '$(unit)'."
msgstr "Necesita autenticarse para reiniciar «$(unit)»." msgstr "Necesita autenticarse para reiniciar «$(unit)»."
#: src/core/dbus-unit.c:549 #: src/core/dbus-unit.c:566
#, fuzzy #, fuzzy
msgid "" msgid ""
"Authentication is required to send a UNIX signal to the processes of " "Authentication is required to send a UNIX signal to the processes of "
@ -1279,16 +1301,16 @@ msgid ""
msgstr "" msgstr ""
"Se requiere autenticación para establecer las propiedades de '$(unit)'." "Se requiere autenticación para establecer las propiedades de '$(unit)'."
#: src/core/dbus-unit.c:577 #: src/core/dbus-unit.c:594
msgid "Authentication is required to reset the \"failed\" state of '$(unit)'." msgid "Authentication is required to reset the \"failed\" state of '$(unit)'."
msgstr "" msgstr ""
"Necesita autenticarse para reiniciar el estado de «fallido» de «$(unit)»." "Necesita autenticarse para reiniciar el estado de «fallido» de «$(unit)»."
#: src/core/dbus-unit.c:607 #: src/core/dbus-unit.c:624
msgid "Authentication is required to set properties on '$(unit)'." msgid "Authentication is required to set properties on '$(unit)'."
msgstr "Necesita autenticarse para establecer las propiedades de «$(unit)»." msgstr "Necesita autenticarse para establecer las propiedades de «$(unit)»."
#: src/core/dbus-unit.c:704 #: src/core/dbus-unit.c:721
#, fuzzy #, fuzzy
msgid "" msgid ""
"Authentication is required to delete files and directories associated with " "Authentication is required to delete files and directories associated with "
@ -1296,7 +1318,7 @@ msgid ""
msgstr "" msgstr ""
"Se requiere autenticación para reiniciar el estado de «fallido» de '$(unit)'." "Se requiere autenticación para reiniciar el estado de «fallido» de '$(unit)'."
#: src/core/dbus-unit.c:741 #: src/core/dbus-unit.c:758
#, fuzzy #, fuzzy
msgid "" msgid ""
"Authentication is required to freeze or thaw the processes of '$(unit)' unit." "Authentication is required to freeze or thaw the processes of '$(unit)' unit."

View File

@ -4,7 +4,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-08-23 15:33+0200\n" "POT-Creation-Date: 2024-11-06 14:42+0000\n"
"PO-Revision-Date: 2022-10-24 15:23+0000\n" "PO-Revision-Date: 2022-10-24 15:23+0000\n"
"Last-Translator: H A <contact+fedora@hen.ee>\n" "Last-Translator: H A <contact+fedora@hen.ee>\n"
"Language-Team: Estonian <https://translate.fedoraproject.org/projects/" "Language-Team: Estonian <https://translate.fedoraproject.org/projects/"
@ -106,28 +106,38 @@ msgid "Authentication is required to update a user's home area."
msgstr "Autentmine on vajalik, et uuendada kasutaja koduala." msgstr "Autentmine on vajalik, et uuendada kasutaja koduala."
#: src/home/org.freedesktop.home1.policy:53 #: src/home/org.freedesktop.home1.policy:53
#, fuzzy
msgid "Update your home area"
msgstr "Uuenda koduala"
#: src/home/org.freedesktop.home1.policy:54
#, fuzzy
msgid "Authentication is required to update your home area."
msgstr "Autentmine on vajalik, et uuendada kasutaja koduala."
#: src/home/org.freedesktop.home1.policy:63
msgid "Resize a home area" msgid "Resize a home area"
msgstr "Muuda koduala suurust" msgstr "Muuda koduala suurust"
#: src/home/org.freedesktop.home1.policy:54 #: src/home/org.freedesktop.home1.policy:64
msgid "Authentication is required to resize a user's home area." msgid "Authentication is required to resize a user's home area."
msgstr "Autentmine on vajalik, et muuta kasutaja koduala suurust." msgstr "Autentmine on vajalik, et muuta kasutaja koduala suurust."
#: src/home/org.freedesktop.home1.policy:63 #: src/home/org.freedesktop.home1.policy:73
msgid "Change password of a home area" msgid "Change password of a home area"
msgstr "Muuda koduala parooli" msgstr "Muuda koduala parooli"
#: src/home/org.freedesktop.home1.policy:64 #: src/home/org.freedesktop.home1.policy:74
msgid "" msgid ""
"Authentication is required to change the password of a user's home area." "Authentication is required to change the password of a user's home area."
msgstr "Autentimine on vajalik, et muuta kasutaja koduala parooli." msgstr "Autentimine on vajalik, et muuta kasutaja koduala parooli."
#: src/home/org.freedesktop.home1.policy:73 #: src/home/org.freedesktop.home1.policy:83
#, fuzzy #, fuzzy
msgid "Activate a home area" msgid "Activate a home area"
msgstr "Loo koduala" msgstr "Loo koduala"
#: src/home/org.freedesktop.home1.policy:74 #: src/home/org.freedesktop.home1.policy:84
#, fuzzy #, fuzzy
msgid "Authentication is required to activate a user's home area." msgid "Authentication is required to activate a user's home area."
msgstr "Autentimine on vajalik, et luua kasutaja koduala." msgstr "Autentimine on vajalik, et luua kasutaja koduala."
@ -1114,6 +1124,16 @@ msgstr ""
msgid "Authentication is required to cleanup old system updates." msgid "Authentication is required to cleanup old system updates."
msgstr "Autentimine on vajalik, et määrata süsteemi aega." msgstr "Autentimine on vajalik, et määrata süsteemi aega."
#: src/sysupdate/org.freedesktop.sysupdate1.policy:75
msgid "Manage optional features"
msgstr ""
#: src/sysupdate/org.freedesktop.sysupdate1.policy:76
#, fuzzy
msgid "Authentication is required to manage optional features"
msgstr ""
"Autentimine on vajalik, et hallata aktiivseid seansse, kasutajaid ning kohti."
#: src/timedate/org.freedesktop.timedate1.policy:22 #: src/timedate/org.freedesktop.timedate1.policy:22
msgid "Set system time" msgid "Set system time"
msgstr "Määra süsteemi aeg" msgstr "Määra süsteemi aeg"
@ -1153,45 +1173,45 @@ msgstr ""
"Autentimine on vajalik, et kontrollida kas võrgu ajasünkroneerimine peaks " "Autentimine on vajalik, et kontrollida kas võrgu ajasünkroneerimine peaks "
"olema lubatud." "olema lubatud."
#: src/core/dbus-unit.c:353 #: src/core/dbus-unit.c:370
msgid "Authentication is required to start '$(unit)'." msgid "Authentication is required to start '$(unit)'."
msgstr "Autentimine on vajalik, et käivitada '$(unit)'." msgstr "Autentimine on vajalik, et käivitada '$(unit)'."
#: src/core/dbus-unit.c:354 #: src/core/dbus-unit.c:371
msgid "Authentication is required to stop '$(unit)'." msgid "Authentication is required to stop '$(unit)'."
msgstr "Autentimine on vajalik, et peatada '$(unit)'." msgstr "Autentimine on vajalik, et peatada '$(unit)'."
#: src/core/dbus-unit.c:355 #: src/core/dbus-unit.c:372
msgid "Authentication is required to reload '$(unit)'." msgid "Authentication is required to reload '$(unit)'."
msgstr "Autentimine on vajalik, et laadida '$(unit)' uuesti." msgstr "Autentimine on vajalik, et laadida '$(unit)' uuesti."
#: src/core/dbus-unit.c:356 src/core/dbus-unit.c:357 #: src/core/dbus-unit.c:373 src/core/dbus-unit.c:374
msgid "Authentication is required to restart '$(unit)'." msgid "Authentication is required to restart '$(unit)'."
msgstr "Autentimine on vajalik, et restartida '$(unit)'." msgstr "Autentimine on vajalik, et restartida '$(unit)'."
#: src/core/dbus-unit.c:549 #: src/core/dbus-unit.c:566
msgid "" msgid ""
"Authentication is required to send a UNIX signal to the processes of " "Authentication is required to send a UNIX signal to the processes of "
"'$(unit)'." "'$(unit)'."
msgstr "" msgstr ""
"Autentimine on vajalik, et saata UNIX signaali '$(unit)' protsessidele." "Autentimine on vajalik, et saata UNIX signaali '$(unit)' protsessidele."
#: src/core/dbus-unit.c:577 #: src/core/dbus-unit.c:594
msgid "Authentication is required to reset the \"failed\" state of '$(unit)'." msgid "Authentication is required to reset the \"failed\" state of '$(unit)'."
msgstr "" msgstr ""
"Autentimine on vajalik, et lähtestada '$(unit)' \"ebaõnnestunud\" olekut." "Autentimine on vajalik, et lähtestada '$(unit)' \"ebaõnnestunud\" olekut."
#: src/core/dbus-unit.c:607 #: src/core/dbus-unit.c:624
msgid "Authentication is required to set properties on '$(unit)'." msgid "Authentication is required to set properties on '$(unit)'."
msgstr "Autentimine on vajalik, et määrata '$(unit)' omadusi." msgstr "Autentimine on vajalik, et määrata '$(unit)' omadusi."
#: src/core/dbus-unit.c:704 #: src/core/dbus-unit.c:721
msgid "" msgid ""
"Authentication is required to delete files and directories associated with " "Authentication is required to delete files and directories associated with "
"'$(unit)'." "'$(unit)'."
msgstr "Autentimine on vajalik, et kustutada '$(unit)' faile ja kauste." msgstr "Autentimine on vajalik, et kustutada '$(unit)' faile ja kauste."
#: src/core/dbus-unit.c:741 #: src/core/dbus-unit.c:758
msgid "" msgid ""
"Authentication is required to freeze or thaw the processes of '$(unit)' unit." "Authentication is required to freeze or thaw the processes of '$(unit)' unit."
msgstr "" msgstr ""

View File

@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: systemd\n" "Project-Id-Version: systemd\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-08-23 15:33+0200\n" "POT-Creation-Date: 2024-11-06 14:42+0000\n"
"PO-Revision-Date: 2023-06-03 15:48+0000\n" "PO-Revision-Date: 2023-06-03 15:48+0000\n"
"Last-Translator: Asier Sarasua Garmendia <asier.sarasua@gmail.com>\n" "Last-Translator: Asier Sarasua Garmendia <asier.sarasua@gmail.com>\n"
"Language-Team: Basque <https://translate.fedoraproject.org/projects/systemd/" "Language-Team: Basque <https://translate.fedoraproject.org/projects/systemd/"
@ -113,27 +113,36 @@ msgid "Authentication is required to update a user's home area."
msgstr "" msgstr ""
#: src/home/org.freedesktop.home1.policy:53 #: src/home/org.freedesktop.home1.policy:53
msgid "Resize a home area" msgid "Update your home area"
msgstr "" msgstr ""
#: src/home/org.freedesktop.home1.policy:54 #: src/home/org.freedesktop.home1.policy:54
msgid "Authentication is required to resize a user's home area." #, fuzzy
msgstr "" msgid "Authentication is required to update your home area."
msgstr "Autentifikazioa behar da sistemaren eskualde-ezarpenak ezartzeko."
#: src/home/org.freedesktop.home1.policy:63 #: src/home/org.freedesktop.home1.policy:63
msgid "Change password of a home area" msgid "Resize a home area"
msgstr "" msgstr ""
#: src/home/org.freedesktop.home1.policy:64 #: src/home/org.freedesktop.home1.policy:64
msgid "Authentication is required to resize a user's home area."
msgstr ""
#: src/home/org.freedesktop.home1.policy:73
msgid "Change password of a home area"
msgstr ""
#: src/home/org.freedesktop.home1.policy:74
msgid "" msgid ""
"Authentication is required to change the password of a user's home area." "Authentication is required to change the password of a user's home area."
msgstr "" msgstr ""
#: src/home/org.freedesktop.home1.policy:73 #: src/home/org.freedesktop.home1.policy:83
msgid "Activate a home area" msgid "Activate a home area"
msgstr "" msgstr ""
#: src/home/org.freedesktop.home1.policy:74 #: src/home/org.freedesktop.home1.policy:84
#, fuzzy #, fuzzy
msgid "Authentication is required to activate a user's home area." msgid "Authentication is required to activate a user's home area."
msgstr "Autentifikazioa behar da sistemaren eskualde-ezarpenak ezartzeko." msgstr "Autentifikazioa behar da sistemaren eskualde-ezarpenak ezartzeko."
@ -1094,6 +1103,17 @@ msgstr ""
msgid "Authentication is required to cleanup old system updates." msgid "Authentication is required to cleanup old system updates."
msgstr "Autentifikazioa behar da systemd egoera birkargatzeko." msgstr "Autentifikazioa behar da systemd egoera birkargatzeko."
#: src/sysupdate/org.freedesktop.sysupdate1.policy:75
msgid "Manage optional features"
msgstr ""
#: src/sysupdate/org.freedesktop.sysupdate1.policy:76
#, fuzzy
msgid "Authentication is required to manage optional features"
msgstr ""
"Autentifikazioa behar da sistema-zerbitzua edo unitate-fitxategiak "
"kudeatzeko."
#: src/timedate/org.freedesktop.timedate1.policy:22 #: src/timedate/org.freedesktop.timedate1.policy:22
msgid "Set system time" msgid "Set system time"
msgstr "" msgstr ""
@ -1130,43 +1150,43 @@ msgid ""
"shall be enabled." "shall be enabled."
msgstr "" msgstr ""
#: src/core/dbus-unit.c:353 #: src/core/dbus-unit.c:370
msgid "Authentication is required to start '$(unit)'." msgid "Authentication is required to start '$(unit)'."
msgstr "" msgstr ""
#: src/core/dbus-unit.c:354 #: src/core/dbus-unit.c:371
msgid "Authentication is required to stop '$(unit)'." msgid "Authentication is required to stop '$(unit)'."
msgstr "" msgstr ""
#: src/core/dbus-unit.c:355 #: src/core/dbus-unit.c:372
msgid "Authentication is required to reload '$(unit)'." msgid "Authentication is required to reload '$(unit)'."
msgstr "" msgstr ""
#: src/core/dbus-unit.c:356 src/core/dbus-unit.c:357 #: src/core/dbus-unit.c:373 src/core/dbus-unit.c:374
msgid "Authentication is required to restart '$(unit)'." msgid "Authentication is required to restart '$(unit)'."
msgstr "" msgstr ""
#: src/core/dbus-unit.c:549 #: src/core/dbus-unit.c:566
msgid "" msgid ""
"Authentication is required to send a UNIX signal to the processes of " "Authentication is required to send a UNIX signal to the processes of "
"'$(unit)'." "'$(unit)'."
msgstr "" msgstr ""
#: src/core/dbus-unit.c:577 #: src/core/dbus-unit.c:594
msgid "Authentication is required to reset the \"failed\" state of '$(unit)'." msgid "Authentication is required to reset the \"failed\" state of '$(unit)'."
msgstr "" msgstr ""
#: src/core/dbus-unit.c:607 #: src/core/dbus-unit.c:624
msgid "Authentication is required to set properties on '$(unit)'." msgid "Authentication is required to set properties on '$(unit)'."
msgstr "" msgstr ""
#: src/core/dbus-unit.c:704 #: src/core/dbus-unit.c:721
msgid "" msgid ""
"Authentication is required to delete files and directories associated with " "Authentication is required to delete files and directories associated with "
"'$(unit)'." "'$(unit)'."
msgstr "" msgstr ""
#: src/core/dbus-unit.c:741 #: src/core/dbus-unit.c:758
msgid "" msgid ""
"Authentication is required to freeze or thaw the processes of '$(unit)' unit." "Authentication is required to freeze or thaw the processes of '$(unit)' unit."
msgstr "" msgstr ""

View File

@ -6,7 +6,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-08-23 15:33+0200\n" "POT-Creation-Date: 2024-11-06 14:42+0000\n"
"PO-Revision-Date: 2024-09-12 13:43+0000\n" "PO-Revision-Date: 2024-09-12 13:43+0000\n"
"Last-Translator: Ricky Tigg <ricky.tigg@gmail.com>\n" "Last-Translator: Ricky Tigg <ricky.tigg@gmail.com>\n"
"Language-Team: Finnish <https://translate.fedoraproject.org/projects/systemd/" "Language-Team: Finnish <https://translate.fedoraproject.org/projects/systemd/"
@ -112,27 +112,37 @@ msgid "Authentication is required to update a user's home area."
msgstr "Todennus vaaditaan käyttäjän kotialueen päivittämiseksi." msgstr "Todennus vaaditaan käyttäjän kotialueen päivittämiseksi."
#: src/home/org.freedesktop.home1.policy:53 #: src/home/org.freedesktop.home1.policy:53
#, fuzzy
msgid "Update your home area"
msgstr "Päivitä kotialue"
#: src/home/org.freedesktop.home1.policy:54
#, fuzzy
msgid "Authentication is required to update your home area."
msgstr "Todennus vaaditaan käyttäjän kotialueen päivittämiseksi."
#: src/home/org.freedesktop.home1.policy:63
msgid "Resize a home area" msgid "Resize a home area"
msgstr "Muuta kotialueen kokoa" msgstr "Muuta kotialueen kokoa"
#: src/home/org.freedesktop.home1.policy:54 #: src/home/org.freedesktop.home1.policy:64
msgid "Authentication is required to resize a user's home area." msgid "Authentication is required to resize a user's home area."
msgstr "Todennus vaaditaan käyttäjän kotialueen koon muuttamiseksi." msgstr "Todennus vaaditaan käyttäjän kotialueen koon muuttamiseksi."
#: src/home/org.freedesktop.home1.policy:63 #: src/home/org.freedesktop.home1.policy:73
msgid "Change password of a home area" msgid "Change password of a home area"
msgstr "Muuta kotialueen salasana" msgstr "Muuta kotialueen salasana"
#: src/home/org.freedesktop.home1.policy:64 #: src/home/org.freedesktop.home1.policy:74
msgid "" msgid ""
"Authentication is required to change the password of a user's home area." "Authentication is required to change the password of a user's home area."
msgstr "Todennus vaaditaan käyttäjän kotialueen salasanan vaihtamiseksi." msgstr "Todennus vaaditaan käyttäjän kotialueen salasanan vaihtamiseksi."
#: src/home/org.freedesktop.home1.policy:73 #: src/home/org.freedesktop.home1.policy:83
msgid "Activate a home area" msgid "Activate a home area"
msgstr "Aktivoi kotialue" msgstr "Aktivoi kotialue"
#: src/home/org.freedesktop.home1.policy:74 #: src/home/org.freedesktop.home1.policy:84
msgid "Authentication is required to activate a user's home area." msgid "Authentication is required to activate a user's home area."
msgstr "Todennus vaaditaan käyttäjän kotialueen aktivoimiseksi." msgstr "Todennus vaaditaan käyttäjän kotialueen aktivoimiseksi."
@ -392,7 +402,8 @@ msgstr "Peruuta levykuvan siirto"
#: src/import/org.freedesktop.import1.policy:53 #: src/import/org.freedesktop.import1.policy:53
msgid "" msgid ""
"Authentication is required to cancel the ongoing transfer of a disk image." "Authentication is required to cancel the ongoing transfer of a disk image."
msgstr "Todennus vaaditaan meneillään olevan levykuvan siirron peruuttamiseksi." msgstr ""
"Todennus vaaditaan meneillään olevan levykuvan siirron peruuttamiseksi."
#: src/locale/org.freedesktop.locale1.policy:22 #: src/locale/org.freedesktop.locale1.policy:22
msgid "Set system locale" msgid "Set system locale"
@ -1161,6 +1172,17 @@ msgstr "Puhdista vanhat järjestelmäpäivitykset"
msgid "Authentication is required to cleanup old system updates." msgid "Authentication is required to cleanup old system updates."
msgstr "Todennus vaaditaan vanhojen järjestelmäpäivitysten puhdistamiseen." msgstr "Todennus vaaditaan vanhojen järjestelmäpäivitysten puhdistamiseen."
#: src/sysupdate/org.freedesktop.sysupdate1.policy:75
msgid "Manage optional features"
msgstr ""
#: src/sysupdate/org.freedesktop.sysupdate1.policy:76
#, fuzzy
msgid "Authentication is required to manage optional features"
msgstr ""
"Todennus vaaditaan aktiivisten istuntojen, käyttäjien ja paikkojen "
"hallintaan."
#: src/timedate/org.freedesktop.timedate1.policy:22 #: src/timedate/org.freedesktop.timedate1.policy:22
msgid "Set system time" msgid "Set system time"
msgstr "Aseta järjestelmän aika" msgstr "Aseta järjestelmän aika"
@ -1202,38 +1224,38 @@ msgstr ""
"Todennus vaaditaan sen hallitsemiseksi, onko verkkoajan synkronointi " "Todennus vaaditaan sen hallitsemiseksi, onko verkkoajan synkronointi "
"käytössä." "käytössä."
#: src/core/dbus-unit.c:353 #: src/core/dbus-unit.c:370
msgid "Authentication is required to start '$(unit)'." msgid "Authentication is required to start '$(unit)'."
msgstr "Todennus vaaditaan $(unit):n aloittamiseksi." msgstr "Todennus vaaditaan $(unit):n aloittamiseksi."
#: src/core/dbus-unit.c:354 #: src/core/dbus-unit.c:371
msgid "Authentication is required to stop '$(unit)'." msgid "Authentication is required to stop '$(unit)'."
msgstr "Todennus vaaditaan $(unit):n lopettamiseksi." msgstr "Todennus vaaditaan $(unit):n lopettamiseksi."
#: src/core/dbus-unit.c:355 #: src/core/dbus-unit.c:372
msgid "Authentication is required to reload '$(unit)'." msgid "Authentication is required to reload '$(unit)'."
msgstr "Todennus vaaditaan $(unit):n uudelleen lataamiseksi." msgstr "Todennus vaaditaan $(unit):n uudelleen lataamiseksi."
#: src/core/dbus-unit.c:356 src/core/dbus-unit.c:357 #: src/core/dbus-unit.c:373 src/core/dbus-unit.c:374
msgid "Authentication is required to restart '$(unit)'." msgid "Authentication is required to restart '$(unit)'."
msgstr "Todennus vaaditaan $(unit):n uudelleen käynnistämiseksi." msgstr "Todennus vaaditaan $(unit):n uudelleen käynnistämiseksi."
#: src/core/dbus-unit.c:549 #: src/core/dbus-unit.c:566
msgid "" msgid ""
"Authentication is required to send a UNIX signal to the processes of " "Authentication is required to send a UNIX signal to the processes of "
"'$(unit)'." "'$(unit)'."
msgstr "" msgstr ""
"Todennus vaaditaan UNIX-signaalin lähettämiseen '$(unit)'-prosesseihin." "Todennus vaaditaan UNIX-signaalin lähettämiseen '$(unit)'-prosesseihin."
#: src/core/dbus-unit.c:577 #: src/core/dbus-unit.c:594
msgid "Authentication is required to reset the \"failed\" state of '$(unit)'." msgid "Authentication is required to reset the \"failed\" state of '$(unit)'."
msgstr "Todennus vaaditaan \"epäonnistuneen\" tilan \"$(unit)\" nollaamiseksi." msgstr "Todennus vaaditaan \"epäonnistuneen\" tilan \"$(unit)\" nollaamiseksi."
#: src/core/dbus-unit.c:607 #: src/core/dbus-unit.c:624
msgid "Authentication is required to set properties on '$(unit)'." msgid "Authentication is required to set properties on '$(unit)'."
msgstr "Todennus vaaditaan, jotta ominaisuudet asetetaan arvoon '$(unit)'." msgstr "Todennus vaaditaan, jotta ominaisuudet asetetaan arvoon '$(unit)'."
#: src/core/dbus-unit.c:704 #: src/core/dbus-unit.c:721
msgid "" msgid ""
"Authentication is required to delete files and directories associated with " "Authentication is required to delete files and directories associated with "
"'$(unit)'." "'$(unit)'."
@ -1241,7 +1263,7 @@ msgstr ""
"Todennus vaaditaan tiedostojen ja hakemistojen poistamiseen, jotka liittyvät " "Todennus vaaditaan tiedostojen ja hakemistojen poistamiseen, jotka liittyvät "
"'$(unit)':iin." "'$(unit)':iin."
#: src/core/dbus-unit.c:741 #: src/core/dbus-unit.c:758
msgid "" msgid ""
"Authentication is required to freeze or thaw the processes of '$(unit)' unit." "Authentication is required to freeze or thaw the processes of '$(unit)' unit."
msgstr "" msgstr ""

View File

@ -11,8 +11,8 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-08-23 15:33+0200\n" "POT-Creation-Date: 2024-11-06 14:42+0000\n"
"PO-Revision-Date: 2024-09-06 09:38+0000\n" "PO-Revision-Date: 2024-11-06 12:46+0000\n"
"Last-Translator: Léane GRASSER <leane.grasser@proton.me>\n" "Last-Translator: Léane GRASSER <leane.grasser@proton.me>\n"
"Language-Team: French <https://translate.fedoraproject.org/projects/systemd/" "Language-Team: French <https://translate.fedoraproject.org/projects/systemd/"
"main/fr/>\n" "main/fr/>\n"
@ -21,7 +21,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n" "Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 5.7.2\n" "X-Generator: Weblate 5.8.2\n"
#: src/core/org.freedesktop.systemd1.policy.in:22 #: src/core/org.freedesktop.systemd1.policy.in:22
msgid "Send passphrase back to system" msgid "Send passphrase back to system"
@ -128,31 +128,43 @@ msgstr ""
"utilisateur." "utilisateur."
#: src/home/org.freedesktop.home1.policy:53 #: src/home/org.freedesktop.home1.policy:53
#, fuzzy
msgid "Update your home area"
msgstr "Mettre à jour un espace personnel"
#: src/home/org.freedesktop.home1.policy:54
#, fuzzy
msgid "Authentication is required to update your home area."
msgstr ""
"Une authentification est requise pour mettre à jour l'espace personnel d'un "
"utilisateur."
#: src/home/org.freedesktop.home1.policy:63
msgid "Resize a home area" msgid "Resize a home area"
msgstr "Redimensionner un espace personnel" msgstr "Redimensionner un espace personnel"
#: src/home/org.freedesktop.home1.policy:54 #: src/home/org.freedesktop.home1.policy:64
msgid "Authentication is required to resize a user's home area." msgid "Authentication is required to resize a user's home area."
msgstr "" msgstr ""
"Une authentification est requise pour redimensionner l'espace personnel d'un " "Une authentification est requise pour redimensionner l'espace personnel d'un "
"utilisateur." "utilisateur."
#: src/home/org.freedesktop.home1.policy:63 #: src/home/org.freedesktop.home1.policy:73
msgid "Change password of a home area" msgid "Change password of a home area"
msgstr "Changer le mot de passe d'un espace personnel" msgstr "Changer le mot de passe d'un espace personnel"
#: src/home/org.freedesktop.home1.policy:64 #: src/home/org.freedesktop.home1.policy:74
msgid "" msgid ""
"Authentication is required to change the password of a user's home area." "Authentication is required to change the password of a user's home area."
msgstr "" msgstr ""
"Une authentification est requise pour changer le mot de passe de l'espace " "Une authentification est requise pour changer le mot de passe de l'espace "
"personnel d'un utilisateur." "personnel d'un utilisateur."
#: src/home/org.freedesktop.home1.policy:73 #: src/home/org.freedesktop.home1.policy:83
msgid "Activate a home area" msgid "Activate a home area"
msgstr "Activer un espace personnel" msgstr "Activer un espace personnel"
#: src/home/org.freedesktop.home1.policy:74 #: src/home/org.freedesktop.home1.policy:84
msgid "Authentication is required to activate a user's home area." msgid "Authentication is required to activate a user's home area."
msgstr "" msgstr ""
"Une authentification est requise pour activer l'espace personnel d'un " "Une authentification est requise pour activer l'espace personnel d'un "
@ -815,27 +827,27 @@ msgstr ""
#: src/login/org.freedesktop.login1.policy:374 #: src/login/org.freedesktop.login1.policy:374
msgid "Indicate to the boot loader to boot to the boot loader menu" msgid "Indicate to the boot loader to boot to the boot loader menu"
msgstr "Indiquer au boot loader d'afficher le menu de sélection" msgstr "Indiquer au bootloader de démarrer sur le menu de sélection"
#: src/login/org.freedesktop.login1.policy:375 #: src/login/org.freedesktop.login1.policy:375
msgid "" msgid ""
"Authentication is required to indicate to the boot loader to boot to the " "Authentication is required to indicate to the boot loader to boot to the "
"boot loader menu." "boot loader menu."
msgstr "" msgstr ""
"Une authentification est requise pour indiquer au boot loader d'afficher le " "Une authentification est requise pour indiquer au bootloader de démarrer sur "
"menu de sélection." "le menu de sélection."
#: src/login/org.freedesktop.login1.policy:385 #: src/login/org.freedesktop.login1.policy:385
msgid "Indicate to the boot loader to boot a specific entry" msgid "Indicate to the boot loader to boot a specific entry"
msgstr "Indiquer au boot loader de démarrer une entrée spécifique" msgstr "Indiquer au bootloader de démarrer une entrée spécifique"
#: src/login/org.freedesktop.login1.policy:386 #: src/login/org.freedesktop.login1.policy:386
msgid "" msgid ""
"Authentication is required to indicate to the boot loader to boot into a " "Authentication is required to indicate to the boot loader to boot into a "
"specific boot loader entry." "specific boot loader entry."
msgstr "" msgstr ""
"Une authentification est requise pour indiquer au boot loader de démarrer " "Une authentification est requise pour indiquer au bootloader de démarrer une "
"une entrée spécifique." "entrée spécifique."
#: src/login/org.freedesktop.login1.policy:396 #: src/login/org.freedesktop.login1.policy:396
msgid "Set a wall message" msgid "Set a wall message"
@ -1247,6 +1259,17 @@ msgstr ""
"Une authentification est requise pour nettoyer les anciennes mises à jour du " "Une authentification est requise pour nettoyer les anciennes mises à jour du "
"système." "système."
#: src/sysupdate/org.freedesktop.sysupdate1.policy:75
msgid "Manage optional features"
msgstr ""
#: src/sysupdate/org.freedesktop.sysupdate1.policy:76
#, fuzzy
msgid "Authentication is required to manage optional features"
msgstr ""
"Une authentification est requise pour gérer les sessions actives, les "
"utilisateurs et les postes (seats)."
#: src/timedate/org.freedesktop.timedate1.policy:22 #: src/timedate/org.freedesktop.timedate1.policy:22
msgid "Set system time" msgid "Set system time"
msgstr "Définir l'heure du système" msgstr "Définir l'heure du système"
@ -1288,23 +1311,23 @@ msgstr ""
"Une authentification est requise pour activer ou désactiver la " "Une authentification est requise pour activer ou désactiver la "
"synchronisation de l'heure avec le réseau." "synchronisation de l'heure avec le réseau."
#: src/core/dbus-unit.c:353 #: src/core/dbus-unit.c:370
msgid "Authentication is required to start '$(unit)'." msgid "Authentication is required to start '$(unit)'."
msgstr "Une authentification est requise pour démarrer '$(unit)'." msgstr "Une authentification est requise pour démarrer '$(unit)'."
#: src/core/dbus-unit.c:354 #: src/core/dbus-unit.c:371
msgid "Authentication is required to stop '$(unit)'." msgid "Authentication is required to stop '$(unit)'."
msgstr "Une authentification est requise pour arrêter '$(unit)'." msgstr "Une authentification est requise pour arrêter '$(unit)'."
#: src/core/dbus-unit.c:355 #: src/core/dbus-unit.c:372
msgid "Authentication is required to reload '$(unit)'." msgid "Authentication is required to reload '$(unit)'."
msgstr "Une authentification est requise pour recharger '$(unit)'." msgstr "Une authentification est requise pour recharger '$(unit)'."
#: src/core/dbus-unit.c:356 src/core/dbus-unit.c:357 #: src/core/dbus-unit.c:373 src/core/dbus-unit.c:374
msgid "Authentication is required to restart '$(unit)'." msgid "Authentication is required to restart '$(unit)'."
msgstr "Une authentification est requise pour redémarrer '$(unit)'." msgstr "Une authentification est requise pour redémarrer '$(unit)'."
#: src/core/dbus-unit.c:549 #: src/core/dbus-unit.c:566
msgid "" msgid ""
"Authentication is required to send a UNIX signal to the processes of " "Authentication is required to send a UNIX signal to the processes of "
"'$(unit)'." "'$(unit)'."
@ -1312,18 +1335,18 @@ msgstr ""
"Une authentification est requise pour envoyer un signal UNIX aux processus " "Une authentification est requise pour envoyer un signal UNIX aux processus "
"de '$(unit)'." "de '$(unit)'."
#: src/core/dbus-unit.c:577 #: src/core/dbus-unit.c:594
msgid "Authentication is required to reset the \"failed\" state of '$(unit)'." msgid "Authentication is required to reset the \"failed\" state of '$(unit)'."
msgstr "" msgstr ""
"Une authentification est requise pour réinitialiser l'état \"failed\" de " "Une authentification est requise pour réinitialiser l'état \"failed\" de "
"'$(unit)'." "'$(unit)'."
#: src/core/dbus-unit.c:607 #: src/core/dbus-unit.c:624
msgid "Authentication is required to set properties on '$(unit)'." msgid "Authentication is required to set properties on '$(unit)'."
msgstr "" msgstr ""
"Une authentification est requise pour définir des propriétés de '$(unit)'." "Une authentification est requise pour définir des propriétés de '$(unit)'."
#: src/core/dbus-unit.c:704 #: src/core/dbus-unit.c:721
msgid "" msgid ""
"Authentication is required to delete files and directories associated with " "Authentication is required to delete files and directories associated with "
"'$(unit)'." "'$(unit)'."
@ -1331,7 +1354,7 @@ msgstr ""
"Une authentification est requise pour supprimer les fichiers et les dossiers " "Une authentification est requise pour supprimer les fichiers et les dossiers "
"associés à '$(unit)'." "associés à '$(unit)'."
#: src/core/dbus-unit.c:741 #: src/core/dbus-unit.c:758
msgid "" msgid ""
"Authentication is required to freeze or thaw the processes of '$(unit)' unit." "Authentication is required to freeze or thaw the processes of '$(unit)' unit."
msgstr "" msgstr ""

View File

@ -5,7 +5,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-08-23 15:33+0200\n" "POT-Creation-Date: 2024-11-06 14:42+0000\n"
"PO-Revision-Date: 2023-04-14 18:20+0000\n" "PO-Revision-Date: 2023-04-14 18:20+0000\n"
"Last-Translator: Fran Diéguez <frandieguez@gnome.org>\n" "Last-Translator: Fran Diéguez <frandieguez@gnome.org>\n"
"Language-Team: Galician <https://translate.fedoraproject.org/projects/" "Language-Team: Galician <https://translate.fedoraproject.org/projects/"
@ -116,31 +116,41 @@ msgid "Authentication is required to update a user's home area."
msgstr "Requírese autenticación para actualizar o espazo persoal dun usuario." msgstr "Requírese autenticación para actualizar o espazo persoal dun usuario."
#: src/home/org.freedesktop.home1.policy:53 #: src/home/org.freedesktop.home1.policy:53
#, fuzzy
msgid "Update your home area"
msgstr "Actualizar un espazo persoal"
#: src/home/org.freedesktop.home1.policy:54
#, fuzzy
msgid "Authentication is required to update your home area."
msgstr "Requírese autenticación para actualizar o espazo persoal dun usuario."
#: src/home/org.freedesktop.home1.policy:63
msgid "Resize a home area" msgid "Resize a home area"
msgstr "Redimensionar un espazo persoal" msgstr "Redimensionar un espazo persoal"
#: src/home/org.freedesktop.home1.policy:54 #: src/home/org.freedesktop.home1.policy:64
msgid "Authentication is required to resize a user's home area." msgid "Authentication is required to resize a user's home area."
msgstr "" msgstr ""
"Requírese autenticación para redimensionar o espazo persoal dun usuario." "Requírese autenticación para redimensionar o espazo persoal dun usuario."
#: src/home/org.freedesktop.home1.policy:63 #: src/home/org.freedesktop.home1.policy:73
msgid "Change password of a home area" msgid "Change password of a home area"
msgstr "Cambiar contrasinal dun espazo persoal" msgstr "Cambiar contrasinal dun espazo persoal"
#: src/home/org.freedesktop.home1.policy:64 #: src/home/org.freedesktop.home1.policy:74
msgid "" msgid ""
"Authentication is required to change the password of a user's home area." "Authentication is required to change the password of a user's home area."
msgstr "" msgstr ""
"Requírese autenticación para cambiar o contrasinal dun espazo persoal dun " "Requírese autenticación para cambiar o contrasinal dun espazo persoal dun "
"usuario." "usuario."
#: src/home/org.freedesktop.home1.policy:73 #: src/home/org.freedesktop.home1.policy:83
#, fuzzy #, fuzzy
msgid "Activate a home area" msgid "Activate a home area"
msgstr "Crear un área persoal" msgstr "Crear un área persoal"
#: src/home/org.freedesktop.home1.policy:74 #: src/home/org.freedesktop.home1.policy:84
#, fuzzy #, fuzzy
msgid "Authentication is required to activate a user's home area." msgid "Authentication is required to activate a user's home area."
msgstr "Requírese autenticación para crear un área persoal." msgstr "Requírese autenticación para crear un área persoal."
@ -1190,6 +1200,17 @@ msgstr ""
msgid "Authentication is required to cleanup old system updates." msgid "Authentication is required to cleanup old system updates."
msgstr "Requírese autenticación para estabelecer a hora do sistema." msgstr "Requírese autenticación para estabelecer a hora do sistema."
#: src/sysupdate/org.freedesktop.sysupdate1.policy:75
msgid "Manage optional features"
msgstr ""
#: src/sysupdate/org.freedesktop.sysupdate1.policy:76
#, fuzzy
msgid "Authentication is required to manage optional features"
msgstr ""
"Requírese autenticación para xestionar as sesións, usuarios e asentos "
"activos."
#: src/timedate/org.freedesktop.timedate1.policy:22 #: src/timedate/org.freedesktop.timedate1.policy:22
msgid "Set system time" msgid "Set system time"
msgstr "Estabelecer a hora do sistema" msgstr "Estabelecer a hora do sistema"
@ -1230,23 +1251,23 @@ msgstr ""
"Requírese autenticación para controlar se a sincronización de hora por rede " "Requírese autenticación para controlar se a sincronización de hora por rede "
"debería activarse." "debería activarse."
#: src/core/dbus-unit.c:353 #: src/core/dbus-unit.c:370
msgid "Authentication is required to start '$(unit)'." msgid "Authentication is required to start '$(unit)'."
msgstr "Requírese autenticación para inciar '$(unit)'." msgstr "Requírese autenticación para inciar '$(unit)'."
#: src/core/dbus-unit.c:354 #: src/core/dbus-unit.c:371
msgid "Authentication is required to stop '$(unit)'." msgid "Authentication is required to stop '$(unit)'."
msgstr "Requírese autenticación para deter '$(unit)'." msgstr "Requírese autenticación para deter '$(unit)'."
#: src/core/dbus-unit.c:355 #: src/core/dbus-unit.c:372
msgid "Authentication is required to reload '$(unit)'." msgid "Authentication is required to reload '$(unit)'."
msgstr "Requírese autenticación para recargar '$(unit)'." msgstr "Requírese autenticación para recargar '$(unit)'."
#: src/core/dbus-unit.c:356 src/core/dbus-unit.c:357 #: src/core/dbus-unit.c:373 src/core/dbus-unit.c:374
msgid "Authentication is required to restart '$(unit)'." msgid "Authentication is required to restart '$(unit)'."
msgstr "Requírese autenticación para reiniciar '$(unit)'." msgstr "Requírese autenticación para reiniciar '$(unit)'."
#: src/core/dbus-unit.c:549 #: src/core/dbus-unit.c:566
msgid "" msgid ""
"Authentication is required to send a UNIX signal to the processes of " "Authentication is required to send a UNIX signal to the processes of "
"'$(unit)'." "'$(unit)'."
@ -1254,16 +1275,16 @@ msgstr ""
"Requírese autenticación para enviarlle un sinal UNIX aos procesos de " "Requírese autenticación para enviarlle un sinal UNIX aos procesos de "
"'$(unit)'." "'$(unit)'."
#: src/core/dbus-unit.c:577 #: src/core/dbus-unit.c:594
msgid "Authentication is required to reset the \"failed\" state of '$(unit)'." msgid "Authentication is required to reset the \"failed\" state of '$(unit)'."
msgstr "" msgstr ""
"Requírese autenticación para reinicair o estado «fallido» de '$(unit)'." "Requírese autenticación para reinicair o estado «fallido» de '$(unit)'."
#: src/core/dbus-unit.c:607 #: src/core/dbus-unit.c:624
msgid "Authentication is required to set properties on '$(unit)'." msgid "Authentication is required to set properties on '$(unit)'."
msgstr "Requírese autenticación para estabelecer as propiedades en '$(unit)'." msgstr "Requírese autenticación para estabelecer as propiedades en '$(unit)'."
#: src/core/dbus-unit.c:704 #: src/core/dbus-unit.c:721
msgid "" msgid ""
"Authentication is required to delete files and directories associated with " "Authentication is required to delete files and directories associated with "
"'$(unit)'." "'$(unit)'."
@ -1271,7 +1292,7 @@ msgstr ""
"Requírese autenticación para eliminar ficheiros ou directorios asociados con " "Requírese autenticación para eliminar ficheiros ou directorios asociados con "
"'$(unit)'." "'$(unit)'."
#: src/core/dbus-unit.c:741 #: src/core/dbus-unit.c:758
msgid "" msgid ""
"Authentication is required to freeze or thaw the processes of '$(unit)' unit." "Authentication is required to freeze or thaw the processes of '$(unit)' unit."
msgstr "Requírese autenticación para conxelar o proceso da unidade '$(unit)'." msgstr "Requírese autenticación para conxelar o proceso da unidade '$(unit)'."

View File

@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: systemd\n" "Project-Id-Version: systemd\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-08-23 15:33+0200\n" "POT-Creation-Date: 2024-11-06 14:42+0000\n"
"PO-Revision-Date: 2023-11-22 00:01+0000\n" "PO-Revision-Date: 2023-11-22 00:01+0000\n"
"Last-Translator: Yaron Shahrabani <sh.yaron@gmail.com>\n" "Last-Translator: Yaron Shahrabani <sh.yaron@gmail.com>\n"
"Language-Team: Hebrew <https://translate.fedoraproject.org/projects/systemd/" "Language-Team: Hebrew <https://translate.fedoraproject.org/projects/systemd/"
@ -106,28 +106,38 @@ msgid "Authentication is required to update a user's home area."
msgstr "נדרש אימות כדי לעדכן אזור בית למשתמש." msgstr "נדרש אימות כדי לעדכן אזור בית למשתמש."
#: src/home/org.freedesktop.home1.policy:53 #: src/home/org.freedesktop.home1.policy:53
#, fuzzy
msgid "Update your home area"
msgstr "עדכון אזור בית"
#: src/home/org.freedesktop.home1.policy:54
#, fuzzy
msgid "Authentication is required to update your home area."
msgstr "נדרש אימות כדי לעדכן אזור בית למשתמש."
#: src/home/org.freedesktop.home1.policy:63
msgid "Resize a home area" msgid "Resize a home area"
msgstr "שינוי גודל אזור בית" msgstr "שינוי גודל אזור בית"
#: src/home/org.freedesktop.home1.policy:54 #: src/home/org.freedesktop.home1.policy:64
msgid "Authentication is required to resize a user's home area." msgid "Authentication is required to resize a user's home area."
msgstr "נדרש אימות כדי לשנות גודל אזור בית למשתמש." msgstr "נדרש אימות כדי לשנות גודל אזור בית למשתמש."
#: src/home/org.freedesktop.home1.policy:63 #: src/home/org.freedesktop.home1.policy:73
msgid "Change password of a home area" msgid "Change password of a home area"
msgstr "החלפת סיסמה של אזור בית" msgstr "החלפת סיסמה של אזור בית"
#: src/home/org.freedesktop.home1.policy:64 #: src/home/org.freedesktop.home1.policy:74
msgid "" msgid ""
"Authentication is required to change the password of a user's home area." "Authentication is required to change the password of a user's home area."
msgstr "נדרש אימות כדי להחליף סיסמה של אזור בית למשתמש." msgstr "נדרש אימות כדי להחליף סיסמה של אזור בית למשתמש."
#: src/home/org.freedesktop.home1.policy:73 #: src/home/org.freedesktop.home1.policy:83
#, fuzzy #, fuzzy
msgid "Activate a home area" msgid "Activate a home area"
msgstr "יצירת אזור בית" msgstr "יצירת אזור בית"
#: src/home/org.freedesktop.home1.policy:74 #: src/home/org.freedesktop.home1.policy:84
#, fuzzy #, fuzzy
msgid "Authentication is required to activate a user's home area." msgid "Authentication is required to activate a user's home area."
msgstr "נדרש אימות כדי ליצור אזור בית למשתמש." msgstr "נדרש אימות כדי ליצור אזור בית למשתמש."
@ -1098,6 +1108,15 @@ msgstr ""
msgid "Authentication is required to cleanup old system updates." msgid "Authentication is required to cleanup old system updates."
msgstr "נדרש אימות כדי להגדיר את שעון המערכת." msgstr "נדרש אימות כדי להגדיר את שעון המערכת."
#: src/sysupdate/org.freedesktop.sysupdate1.policy:75
msgid "Manage optional features"
msgstr ""
#: src/sysupdate/org.freedesktop.sysupdate1.policy:76
#, fuzzy
msgid "Authentication is required to manage optional features"
msgstr "נדרש אימות כדי לנהל הפעלות, משתמשים ומושבים פעילים."
#: src/timedate/org.freedesktop.timedate1.policy:22 #: src/timedate/org.freedesktop.timedate1.policy:22
msgid "Set system time" msgid "Set system time"
msgstr "הגדרת שעון המערכת" msgstr "הגדרת שעון המערכת"
@ -1137,43 +1156,43 @@ msgid ""
"shall be enabled." "shall be enabled."
msgstr "נדרש אימות כדי להפעיל או לכבות סנכרון שעון מהרשת." msgstr "נדרש אימות כדי להפעיל או לכבות סנכרון שעון מהרשת."
#: src/core/dbus-unit.c:353 #: src/core/dbus-unit.c:370
msgid "Authentication is required to start '$(unit)'." msgid "Authentication is required to start '$(unit)'."
msgstr "נדרש אימות כדי להפעיל את $(unit)." msgstr "נדרש אימות כדי להפעיל את $(unit)."
#: src/core/dbus-unit.c:354 #: src/core/dbus-unit.c:371
msgid "Authentication is required to stop '$(unit)'." msgid "Authentication is required to stop '$(unit)'."
msgstr "נדרש אימות כדי לעצור את $(unit)." msgstr "נדרש אימות כדי לעצור את $(unit)."
#: src/core/dbus-unit.c:355 #: src/core/dbus-unit.c:372
msgid "Authentication is required to reload '$(unit)'." msgid "Authentication is required to reload '$(unit)'."
msgstr "נדרש אימות כדי לרענן את $(unit)." msgstr "נדרש אימות כדי לרענן את $(unit)."
#: src/core/dbus-unit.c:356 src/core/dbus-unit.c:357 #: src/core/dbus-unit.c:373 src/core/dbus-unit.c:374
msgid "Authentication is required to restart '$(unit)'." msgid "Authentication is required to restart '$(unit)'."
msgstr "נדרש אימות כדי להפעיל את $(unit) מחדש." msgstr "נדרש אימות כדי להפעיל את $(unit) מחדש."
#: src/core/dbus-unit.c:549 #: src/core/dbus-unit.c:566
msgid "" msgid ""
"Authentication is required to send a UNIX signal to the processes of " "Authentication is required to send a UNIX signal to the processes of "
"'$(unit)'." "'$(unit)'."
msgstr "נדרש אימות כדי לשלוח אות יוניקס לתהליכים של $(unit)." msgstr "נדרש אימות כדי לשלוח אות יוניקס לתהליכים של $(unit)."
#: src/core/dbus-unit.c:577 #: src/core/dbus-unit.c:594
msgid "Authentication is required to reset the \"failed\" state of '$(unit)'." msgid "Authentication is required to reset the \"failed\" state of '$(unit)'."
msgstr "נדרש אימות כדי לאפס את המצב „נכשל” של $(unit)." msgstr "נדרש אימות כדי לאפס את המצב „נכשל” של $(unit)."
#: src/core/dbus-unit.c:607 #: src/core/dbus-unit.c:624
msgid "Authentication is required to set properties on '$(unit)'." msgid "Authentication is required to set properties on '$(unit)'."
msgstr "נדרש אימות כדי להגדיר מאפיינים על $(unit)." msgstr "נדרש אימות כדי להגדיר מאפיינים על $(unit)."
#: src/core/dbus-unit.c:704 #: src/core/dbus-unit.c:721
msgid "" msgid ""
"Authentication is required to delete files and directories associated with " "Authentication is required to delete files and directories associated with "
"'$(unit)'." "'$(unit)'."
msgstr "נדרש אימות כדי למחוק קבצים ותיקיות שמשויכים אל $(unit)." msgstr "נדרש אימות כדי למחוק קבצים ותיקיות שמשויכים אל $(unit)."
#: src/core/dbus-unit.c:741 #: src/core/dbus-unit.c:758
msgid "" msgid ""
"Authentication is required to freeze or thaw the processes of '$(unit)' unit." "Authentication is required to freeze or thaw the processes of '$(unit)' unit."
msgstr "נדרש אימות כדי להפשיר או להקפיא את התהליכים של $(unit)." msgstr "נדרש אימות כדי להפשיר או להקפיא את התהליכים של $(unit)."

View File

@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: systemd\n" "Project-Id-Version: systemd\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-08-23 15:33+0200\n" "POT-Creation-Date: 2024-11-06 14:42+0000\n"
"PO-Revision-Date: 2024-06-03 00:35+0000\n" "PO-Revision-Date: 2024-06-03 00:35+0000\n"
"Last-Translator: Scrambled 777 <weblate.scrambled777@simplelogin.com>\n" "Last-Translator: Scrambled 777 <weblate.scrambled777@simplelogin.com>\n"
"Language-Team: Hindi <https://translate.fedoraproject.org/projects/systemd/" "Language-Team: Hindi <https://translate.fedoraproject.org/projects/systemd/"
@ -106,27 +106,37 @@ msgid "Authentication is required to update a user's home area."
msgstr "उपयोक्ता के गृह क्षेत्र का अद्यतन करने के लिए प्रमाणीकरण आवश्यक है।" msgstr "उपयोक्ता के गृह क्षेत्र का अद्यतन करने के लिए प्रमाणीकरण आवश्यक है।"
#: src/home/org.freedesktop.home1.policy:53 #: src/home/org.freedesktop.home1.policy:53
#, fuzzy
msgid "Update your home area"
msgstr "गृह क्षेत्र का अद्यतन करें"
#: src/home/org.freedesktop.home1.policy:54
#, fuzzy
msgid "Authentication is required to update your home area."
msgstr "उपयोक्ता के गृह क्षेत्र का अद्यतन करने के लिए प्रमाणीकरण आवश्यक है।"
#: src/home/org.freedesktop.home1.policy:63
msgid "Resize a home area" msgid "Resize a home area"
msgstr "गृह क्षेत्र का आकार बदलें" msgstr "गृह क्षेत्र का आकार बदलें"
#: src/home/org.freedesktop.home1.policy:54 #: src/home/org.freedesktop.home1.policy:64
msgid "Authentication is required to resize a user's home area." msgid "Authentication is required to resize a user's home area."
msgstr "उपयोक्ता के गृह क्षेत्र का आकार बदलने के लिए प्रमाणीकरण आवश्यक है।" msgstr "उपयोक्ता के गृह क्षेत्र का आकार बदलने के लिए प्रमाणीकरण आवश्यक है।"
#: src/home/org.freedesktop.home1.policy:63 #: src/home/org.freedesktop.home1.policy:73
msgid "Change password of a home area" msgid "Change password of a home area"
msgstr "गृह क्षेत्र का पासवर्ड बदलें" msgstr "गृह क्षेत्र का पासवर्ड बदलें"
#: src/home/org.freedesktop.home1.policy:64 #: src/home/org.freedesktop.home1.policy:74
msgid "" msgid ""
"Authentication is required to change the password of a user's home area." "Authentication is required to change the password of a user's home area."
msgstr "उपयोक्ता के गृह क्षेत्र का पासवर्ड बदलने के लिए प्रमाणीकरण आवश्यक है।" msgstr "उपयोक्ता के गृह क्षेत्र का पासवर्ड बदलने के लिए प्रमाणीकरण आवश्यक है।"
#: src/home/org.freedesktop.home1.policy:73 #: src/home/org.freedesktop.home1.policy:83
msgid "Activate a home area" msgid "Activate a home area"
msgstr "गृह क्षेत्र सक्रिय करें" msgstr "गृह क्षेत्र सक्रिय करें"
#: src/home/org.freedesktop.home1.policy:74 #: src/home/org.freedesktop.home1.policy:84
msgid "Authentication is required to activate a user's home area." msgid "Authentication is required to activate a user's home area."
msgstr "उपयोक्ता के गृह क्षेत्र को सक्रिय करने के लिए प्रमाणीकरण आवश्यक है।" msgstr "उपयोक्ता के गृह क्षेत्र को सक्रिय करने के लिए प्रमाणीकरण आवश्यक है।"
@ -1126,6 +1136,15 @@ msgstr ""
msgid "Authentication is required to cleanup old system updates." msgid "Authentication is required to cleanup old system updates."
msgstr "सिस्टम समय निर्धारित करने के लिए प्रमाणीकरण आवश्यक है।" msgstr "सिस्टम समय निर्धारित करने के लिए प्रमाणीकरण आवश्यक है।"
#: src/sysupdate/org.freedesktop.sysupdate1.policy:75
msgid "Manage optional features"
msgstr ""
#: src/sysupdate/org.freedesktop.sysupdate1.policy:76
#, fuzzy
msgid "Authentication is required to manage optional features"
msgstr "सक्रिय सत्रों, उपयोक्ताओं और सीटों को प्रबंधित करने के लिए प्रमाणीकरण आवश्यक है।"
#: src/timedate/org.freedesktop.timedate1.policy:22 #: src/timedate/org.freedesktop.timedate1.policy:22
msgid "Set system time" msgid "Set system time"
msgstr "सिस्टम समय निर्धारित करें" msgstr "सिस्टम समय निर्धारित करें"
@ -1166,43 +1185,43 @@ msgstr ""
"यह नियंत्रित करने के लिए प्रमाणीकरण आवश्यक है कि नेटवर्क समय समन्वयन सक्षम किया जाएगा " "यह नियंत्रित करने के लिए प्रमाणीकरण आवश्यक है कि नेटवर्क समय समन्वयन सक्षम किया जाएगा "
"या नहीं।" "या नहीं।"
#: src/core/dbus-unit.c:353 #: src/core/dbus-unit.c:370
msgid "Authentication is required to start '$(unit)'." msgid "Authentication is required to start '$(unit)'."
msgstr "'$(unit)' शुरू करने के लिए प्रमाणीकरण आवश्यक है।" msgstr "'$(unit)' शुरू करने के लिए प्रमाणीकरण आवश्यक है।"
#: src/core/dbus-unit.c:354 #: src/core/dbus-unit.c:371
msgid "Authentication is required to stop '$(unit)'." msgid "Authentication is required to stop '$(unit)'."
msgstr "'$(unit)' को रोकने के लिए प्रमाणीकरण आवश्यक है।" msgstr "'$(unit)' को रोकने के लिए प्रमाणीकरण आवश्यक है।"
#: src/core/dbus-unit.c:355 #: src/core/dbus-unit.c:372
msgid "Authentication is required to reload '$(unit)'." msgid "Authentication is required to reload '$(unit)'."
msgstr "'$(unit)' को पुनः लोड करने के लिए प्रमाणीकरण आवश्यक है।" msgstr "'$(unit)' को पुनः लोड करने के लिए प्रमाणीकरण आवश्यक है।"
#: src/core/dbus-unit.c:356 src/core/dbus-unit.c:357 #: src/core/dbus-unit.c:373 src/core/dbus-unit.c:374
msgid "Authentication is required to restart '$(unit)'." msgid "Authentication is required to restart '$(unit)'."
msgstr "'$(unit)' को पुनः आरंभ करने के लिए प्रमाणीकरण आवश्यक है।" msgstr "'$(unit)' को पुनः आरंभ करने के लिए प्रमाणीकरण आवश्यक है।"
#: src/core/dbus-unit.c:549 #: src/core/dbus-unit.c:566
msgid "" msgid ""
"Authentication is required to send a UNIX signal to the processes of " "Authentication is required to send a UNIX signal to the processes of "
"'$(unit)'." "'$(unit)'."
msgstr "'$(unit)' की प्रक्रियाओं में UNIX सिग्नल भेजने के लिए प्रमाणीकरण आवश्यक है।" msgstr "'$(unit)' की प्रक्रियाओं में UNIX सिग्नल भेजने के लिए प्रमाणीकरण आवश्यक है।"
#: src/core/dbus-unit.c:577 #: src/core/dbus-unit.c:594
msgid "Authentication is required to reset the \"failed\" state of '$(unit)'." msgid "Authentication is required to reset the \"failed\" state of '$(unit)'."
msgstr "'$(unit)' की \"विफल\" स्थिति को रीसेट करने के लिए प्रमाणीकरण आवश्यक है।" msgstr "'$(unit)' की \"विफल\" स्थिति को रीसेट करने के लिए प्रमाणीकरण आवश्यक है।"
#: src/core/dbus-unit.c:607 #: src/core/dbus-unit.c:624
msgid "Authentication is required to set properties on '$(unit)'." msgid "Authentication is required to set properties on '$(unit)'."
msgstr "'$(unit)' पर गुण निर्धारित करने के लिए प्रमाणीकरण आवश्यक है।" msgstr "'$(unit)' पर गुण निर्धारित करने के लिए प्रमाणीकरण आवश्यक है।"
#: src/core/dbus-unit.c:704 #: src/core/dbus-unit.c:721
msgid "" msgid ""
"Authentication is required to delete files and directories associated with " "Authentication is required to delete files and directories associated with "
"'$(unit)'." "'$(unit)'."
msgstr "'$(unit)' से जुड़ी फाइलों और निर्देशिकाओं को हटाने के लिए प्रमाणीकरण आवश्यक है।" msgstr "'$(unit)' से जुड़ी फाइलों और निर्देशिकाओं को हटाने के लिए प्रमाणीकरण आवश्यक है।"
#: src/core/dbus-unit.c:741 #: src/core/dbus-unit.c:758
msgid "" msgid ""
"Authentication is required to freeze or thaw the processes of '$(unit)' unit." "Authentication is required to freeze or thaw the processes of '$(unit)' unit."
msgstr "'$(unit)' यूनिट की प्रक्रियाओं को जमाने या पिघलाने के लिए प्रमाणीकरण आवश्यक है।" msgstr "'$(unit)' यूनिट की प्रक्रियाओं को जमाने या पिघलाने के लिए प्रमाणीकरण आवश्यक है।"

View File

@ -8,7 +8,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-08-23 15:33+0200\n" "POT-Creation-Date: 2024-11-06 14:42+0000\n"
"PO-Revision-Date: 2024-08-04 03:41+0000\n" "PO-Revision-Date: 2024-08-04 03:41+0000\n"
"Last-Translator: Marin Kresic <marinjurekresic@gmail.com>\n" "Last-Translator: Marin Kresic <marinjurekresic@gmail.com>\n"
"Language-Team: Croatian <https://translate.fedoraproject.org/projects/" "Language-Team: Croatian <https://translate.fedoraproject.org/projects/"
@ -112,28 +112,38 @@ msgid "Authentication is required to update a user's home area."
msgstr "Potrebna je ovjera za nadopunu osobnog prostora korisnika." msgstr "Potrebna je ovjera za nadopunu osobnog prostora korisnika."
#: src/home/org.freedesktop.home1.policy:53 #: src/home/org.freedesktop.home1.policy:53
#, fuzzy
msgid "Update your home area"
msgstr "Nadopuni osobni prostor"
#: src/home/org.freedesktop.home1.policy:54
#, fuzzy
msgid "Authentication is required to update your home area."
msgstr "Potrebna je ovjera za nadopunu osobnog prostora korisnika."
#: src/home/org.freedesktop.home1.policy:63
msgid "Resize a home area" msgid "Resize a home area"
msgstr "Promjeni veličinu osobnog prostora korisnika" msgstr "Promjeni veličinu osobnog prostora korisnika"
#: src/home/org.freedesktop.home1.policy:54 #: src/home/org.freedesktop.home1.policy:64
msgid "Authentication is required to resize a user's home area." msgid "Authentication is required to resize a user's home area."
msgstr "Potrebna je ovjera za promjenu veličine osobnog prostora korisnika." msgstr "Potrebna je ovjera za promjenu veličine osobnog prostora korisnika."
#: src/home/org.freedesktop.home1.policy:63 #: src/home/org.freedesktop.home1.policy:73
msgid "Change password of a home area" msgid "Change password of a home area"
msgstr "Promijeni lozinku osobnog prostora" msgstr "Promijeni lozinku osobnog prostora"
#: src/home/org.freedesktop.home1.policy:64 #: src/home/org.freedesktop.home1.policy:74
msgid "" msgid ""
"Authentication is required to change the password of a user's home area." "Authentication is required to change the password of a user's home area."
msgstr "Potrebna je ovjera za promjenu lozinke osobnog prostora korisnika." msgstr "Potrebna je ovjera za promjenu lozinke osobnog prostora korisnika."
#: src/home/org.freedesktop.home1.policy:73 #: src/home/org.freedesktop.home1.policy:83
#, fuzzy #, fuzzy
msgid "Activate a home area" msgid "Activate a home area"
msgstr "Stvori osobni prostor" msgstr "Stvori osobni prostor"
#: src/home/org.freedesktop.home1.policy:74 #: src/home/org.freedesktop.home1.policy:84
#, fuzzy #, fuzzy
msgid "Authentication is required to activate a user's home area." msgid "Authentication is required to activate a user's home area."
msgstr "Potrebna je ovjera za stvaranje osobnog prostora korisnika." msgstr "Potrebna je ovjera za stvaranje osobnog prostora korisnika."
@ -1170,6 +1180,17 @@ msgstr ""
msgid "Authentication is required to cleanup old system updates." msgid "Authentication is required to cleanup old system updates."
msgstr "Potrebna je ovjera za postavljanje vremena sustava." msgstr "Potrebna je ovjera za postavljanje vremena sustava."
#: src/sysupdate/org.freedesktop.sysupdate1.policy:75
msgid "Manage optional features"
msgstr ""
#: src/sysupdate/org.freedesktop.sysupdate1.policy:76
#, fuzzy
msgid "Authentication is required to manage optional features"
msgstr ""
"Potrebna je ovjera za upravljanje aktivnim sesijama, korisnicima i skupovima "
"sesija i hardvera."
#: src/timedate/org.freedesktop.timedate1.policy:22 #: src/timedate/org.freedesktop.timedate1.policy:22
msgid "Set system time" msgid "Set system time"
msgstr "Postavi vrijeme sustava" msgstr "Postavi vrijeme sustava"
@ -1209,37 +1230,37 @@ msgstr ""
"Potrebna je ovjera za uključivanje ili isključivanje mrežnog usklađivanja " "Potrebna je ovjera za uključivanje ili isključivanje mrežnog usklađivanja "
"vremena." "vremena."
#: src/core/dbus-unit.c:353 #: src/core/dbus-unit.c:370
msgid "Authentication is required to start '$(unit)'." msgid "Authentication is required to start '$(unit)'."
msgstr "Potrebna je ovjera za pokretanje '$(unit)'." msgstr "Potrebna je ovjera za pokretanje '$(unit)'."
#: src/core/dbus-unit.c:354 #: src/core/dbus-unit.c:371
msgid "Authentication is required to stop '$(unit)'." msgid "Authentication is required to stop '$(unit)'."
msgstr "Potrebna je ovjera za zaustavljanje '$(unit)'." msgstr "Potrebna je ovjera za zaustavljanje '$(unit)'."
#: src/core/dbus-unit.c:355 #: src/core/dbus-unit.c:372
msgid "Authentication is required to reload '$(unit)'." msgid "Authentication is required to reload '$(unit)'."
msgstr "Potrebna je ovjera za ponovno učitavnje '$(unit)'." msgstr "Potrebna je ovjera za ponovno učitavnje '$(unit)'."
#: src/core/dbus-unit.c:356 src/core/dbus-unit.c:357 #: src/core/dbus-unit.c:373 src/core/dbus-unit.c:374
msgid "Authentication is required to restart '$(unit)'." msgid "Authentication is required to restart '$(unit)'."
msgstr "Potrebna je ovjera za ponovno pokretanje'$(unit)'." msgstr "Potrebna je ovjera za ponovno pokretanje'$(unit)'."
#: src/core/dbus-unit.c:549 #: src/core/dbus-unit.c:566
msgid "" msgid ""
"Authentication is required to send a UNIX signal to the processes of " "Authentication is required to send a UNIX signal to the processes of "
"'$(unit)'." "'$(unit)'."
msgstr "Potrebna je ovjera za slanje UNIX signala u procese '$(unit)'." msgstr "Potrebna je ovjera za slanje UNIX signala u procese '$(unit)'."
#: src/core/dbus-unit.c:577 #: src/core/dbus-unit.c:594
msgid "Authentication is required to reset the \"failed\" state of '$(unit)'." msgid "Authentication is required to reset the \"failed\" state of '$(unit)'."
msgstr "Potrebna je ovjera za vraćanje \"neuspjelog\" stanja '$(unit)'." msgstr "Potrebna je ovjera za vraćanje \"neuspjelog\" stanja '$(unit)'."
#: src/core/dbus-unit.c:607 #: src/core/dbus-unit.c:624
msgid "Authentication is required to set properties on '$(unit)'." msgid "Authentication is required to set properties on '$(unit)'."
msgstr "Potrebna je ovjera za postavljanje svojstava na '$(unit)'." msgstr "Potrebna je ovjera za postavljanje svojstava na '$(unit)'."
#: src/core/dbus-unit.c:704 #: src/core/dbus-unit.c:721
msgid "" msgid ""
"Authentication is required to delete files and directories associated with " "Authentication is required to delete files and directories associated with "
"'$(unit)'." "'$(unit)'."
@ -1247,7 +1268,7 @@ msgstr ""
"Potrebna je ovjera za brisanje datoteka i direktorija pridruženih sa " "Potrebna je ovjera za brisanje datoteka i direktorija pridruženih sa "
"'$(unit)'." "'$(unit)'."
#: src/core/dbus-unit.c:741 #: src/core/dbus-unit.c:758
msgid "" msgid ""
"Authentication is required to freeze or thaw the processes of '$(unit)' unit." "Authentication is required to freeze or thaw the processes of '$(unit)' unit."
msgstr "" msgstr ""

View File

@ -10,7 +10,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-08-23 15:33+0200\n" "POT-Creation-Date: 2024-11-06 14:42+0000\n"
"PO-Revision-Date: 2023-09-27 01:36+0000\n" "PO-Revision-Date: 2023-09-27 01:36+0000\n"
"Last-Translator: Balázs Úr <balazs@urbalazs.hu>\n" "Last-Translator: Balázs Úr <balazs@urbalazs.hu>\n"
"Language-Team: Hungarian <https://translate.fedoraproject.org/projects/" "Language-Team: Hungarian <https://translate.fedoraproject.org/projects/"
@ -120,30 +120,40 @@ msgid "Authentication is required to update a user's home area."
msgstr "Hitelesítés szükséges a felhasználó saját területének frissítéséhez." msgstr "Hitelesítés szükséges a felhasználó saját területének frissítéséhez."
#: src/home/org.freedesktop.home1.policy:53 #: src/home/org.freedesktop.home1.policy:53
#, fuzzy
msgid "Update your home area"
msgstr "Saját terület frissítése"
#: src/home/org.freedesktop.home1.policy:54
#, fuzzy
msgid "Authentication is required to update your home area."
msgstr "Hitelesítés szükséges a felhasználó saját területének frissítéséhez."
#: src/home/org.freedesktop.home1.policy:63
msgid "Resize a home area" msgid "Resize a home area"
msgstr "Saját terület átméretezése" msgstr "Saját terület átméretezése"
#: src/home/org.freedesktop.home1.policy:54 #: src/home/org.freedesktop.home1.policy:64
msgid "Authentication is required to resize a user's home area." msgid "Authentication is required to resize a user's home area."
msgstr "Hitelesítés szükséges a felhasználó saját területének átméretezéséhez." msgstr "Hitelesítés szükséges a felhasználó saját területének átméretezéséhez."
#: src/home/org.freedesktop.home1.policy:63 #: src/home/org.freedesktop.home1.policy:73
msgid "Change password of a home area" msgid "Change password of a home area"
msgstr "Saját terület jelszavának megváltoztatása" msgstr "Saját terület jelszavának megváltoztatása"
#: src/home/org.freedesktop.home1.policy:64 #: src/home/org.freedesktop.home1.policy:74
msgid "" msgid ""
"Authentication is required to change the password of a user's home area." "Authentication is required to change the password of a user's home area."
msgstr "" msgstr ""
"Hitelesítés szükséges a felhasználó saját területe jelszavának " "Hitelesítés szükséges a felhasználó saját területe jelszavának "
"megváltoztatásához." "megváltoztatásához."
#: src/home/org.freedesktop.home1.policy:73 #: src/home/org.freedesktop.home1.policy:83
#, fuzzy #, fuzzy
msgid "Activate a home area" msgid "Activate a home area"
msgstr "Saját terület létrehozása" msgstr "Saját terület létrehozása"
#: src/home/org.freedesktop.home1.policy:74 #: src/home/org.freedesktop.home1.policy:84
#, fuzzy #, fuzzy
msgid "Authentication is required to activate a user's home area." msgid "Authentication is required to activate a user's home area."
msgstr "Hitelesítés szükséges a felhasználó saját területének létrehozásához." msgstr "Hitelesítés szükséges a felhasználó saját területének létrehozásához."
@ -1213,6 +1223,17 @@ msgstr ""
msgid "Authentication is required to cleanup old system updates." msgid "Authentication is required to cleanup old system updates."
msgstr "Hitelesítés szükséges a rendszeridő beállításához." msgstr "Hitelesítés szükséges a rendszeridő beállításához."
#: src/sysupdate/org.freedesktop.sysupdate1.policy:75
msgid "Manage optional features"
msgstr ""
#: src/sysupdate/org.freedesktop.sysupdate1.policy:76
#, fuzzy
msgid "Authentication is required to manage optional features"
msgstr ""
"Hitelesítés szükséges az aktív munkamenetek, felhasználók és munkaállomások "
"kezeléséhez."
#: src/timedate/org.freedesktop.timedate1.policy:22 #: src/timedate/org.freedesktop.timedate1.policy:22
msgid "Set system time" msgid "Set system time"
msgstr "Rendszeridő beállítása" msgstr "Rendszeridő beállítása"
@ -1253,23 +1274,23 @@ msgstr ""
"Hitelesítés szükséges annak vezérléséhez, hogy a hálózati időszinkronizáció " "Hitelesítés szükséges annak vezérléséhez, hogy a hálózati időszinkronizáció "
"engedélyezve legyen." "engedélyezve legyen."
#: src/core/dbus-unit.c:353 #: src/core/dbus-unit.c:370
msgid "Authentication is required to start '$(unit)'." msgid "Authentication is required to start '$(unit)'."
msgstr "Hitelesítés szükséges a(z) „$(unit)” elindításához." msgstr "Hitelesítés szükséges a(z) „$(unit)” elindításához."
#: src/core/dbus-unit.c:354 #: src/core/dbus-unit.c:371
msgid "Authentication is required to stop '$(unit)'." msgid "Authentication is required to stop '$(unit)'."
msgstr "Hitelesítés szükséges a(z) „$(unit)” leállításához." msgstr "Hitelesítés szükséges a(z) „$(unit)” leállításához."
#: src/core/dbus-unit.c:355 #: src/core/dbus-unit.c:372
msgid "Authentication is required to reload '$(unit)'." msgid "Authentication is required to reload '$(unit)'."
msgstr "Hitelesítés szükséges a(z) „$(unit)” újratöltéséhez." msgstr "Hitelesítés szükséges a(z) „$(unit)” újratöltéséhez."
#: src/core/dbus-unit.c:356 src/core/dbus-unit.c:357 #: src/core/dbus-unit.c:373 src/core/dbus-unit.c:374
msgid "Authentication is required to restart '$(unit)'." msgid "Authentication is required to restart '$(unit)'."
msgstr "Hitelesítés szükséges a(z) „$(unit)” újraindításához." msgstr "Hitelesítés szükséges a(z) „$(unit)” újraindításához."
#: src/core/dbus-unit.c:549 #: src/core/dbus-unit.c:566
msgid "" msgid ""
"Authentication is required to send a UNIX signal to the processes of " "Authentication is required to send a UNIX signal to the processes of "
"'$(unit)'." "'$(unit)'."
@ -1277,18 +1298,18 @@ msgstr ""
"Hitelesítés szükséges a(z) „$(unit)” folyamatainak történő UNIX szignál " "Hitelesítés szükséges a(z) „$(unit)” folyamatainak történő UNIX szignál "
"küldéséhez." "küldéséhez."
#: src/core/dbus-unit.c:577 #: src/core/dbus-unit.c:594
msgid "Authentication is required to reset the \"failed\" state of '$(unit)'." msgid "Authentication is required to reset the \"failed\" state of '$(unit)'."
msgstr "" msgstr ""
"Hitelesítés szükséges a(z) „$(unit)” „failed” állapotának visszaállításához." "Hitelesítés szükséges a(z) „$(unit)” „failed” állapotának visszaállításához."
#: src/core/dbus-unit.c:607 #: src/core/dbus-unit.c:624
msgid "Authentication is required to set properties on '$(unit)'." msgid "Authentication is required to set properties on '$(unit)'."
msgstr "" msgstr ""
"Hitelesítés szükséges a(z) „$(unit)” egységen lévő tulajdonságok " "Hitelesítés szükséges a(z) „$(unit)” egységen lévő tulajdonságok "
"beállításához." "beállításához."
#: src/core/dbus-unit.c:704 #: src/core/dbus-unit.c:721
msgid "" msgid ""
"Authentication is required to delete files and directories associated with " "Authentication is required to delete files and directories associated with "
"'$(unit)'." "'$(unit)'."
@ -1296,7 +1317,7 @@ msgstr ""
"Hitelesítés szükséges a(z) „$(unit)” egységhez hozzárendelt fájlok és " "Hitelesítés szükséges a(z) „$(unit)” egységhez hozzárendelt fájlok és "
"könyvtárak törléséhez." "könyvtárak törléséhez."
#: src/core/dbus-unit.c:741 #: src/core/dbus-unit.c:758
msgid "" msgid ""
"Authentication is required to freeze or thaw the processes of '$(unit)' unit." "Authentication is required to freeze or thaw the processes of '$(unit)' unit."
msgstr "" msgstr ""

View File

@ -5,7 +5,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-08-23 15:33+0200\n" "POT-Creation-Date: 2024-11-06 14:42+0000\n"
"PO-Revision-Date: 2024-10-27 05:38+0000\n" "PO-Revision-Date: 2024-10-27 05:38+0000\n"
"Last-Translator: Andika Triwidada <andika@gmail.com>\n" "Last-Translator: Andika Triwidada <andika@gmail.com>\n"
"Language-Team: Indonesian <https://translate.fedoraproject.org/projects/" "Language-Team: Indonesian <https://translate.fedoraproject.org/projects/"
@ -112,29 +112,39 @@ msgid "Authentication is required to update a user's home area."
msgstr "Otentikasi diperlukan untuk memperbarui suatu area rumah pengguna." msgstr "Otentikasi diperlukan untuk memperbarui suatu area rumah pengguna."
#: src/home/org.freedesktop.home1.policy:53 #: src/home/org.freedesktop.home1.policy:53
#, fuzzy
msgid "Update your home area"
msgstr "Memperbarui suatu area rumah"
#: src/home/org.freedesktop.home1.policy:54
#, fuzzy
msgid "Authentication is required to update your home area."
msgstr "Otentikasi diperlukan untuk memperbarui suatu area rumah pengguna."
#: src/home/org.freedesktop.home1.policy:63
msgid "Resize a home area" msgid "Resize a home area"
msgstr "Mengubah ukuran area rumah" msgstr "Mengubah ukuran area rumah"
#: src/home/org.freedesktop.home1.policy:54 #: src/home/org.freedesktop.home1.policy:64
msgid "Authentication is required to resize a user's home area." msgid "Authentication is required to resize a user's home area."
msgstr "Otentikasi diperlukan untuk mengubah ukuran area rumah pengguna." msgstr "Otentikasi diperlukan untuk mengubah ukuran area rumah pengguna."
#: src/home/org.freedesktop.home1.policy:63 #: src/home/org.freedesktop.home1.policy:73
msgid "Change password of a home area" msgid "Change password of a home area"
msgstr "Ubah kata sandi dari suatu area rumah" msgstr "Ubah kata sandi dari suatu area rumah"
#: src/home/org.freedesktop.home1.policy:64 #: src/home/org.freedesktop.home1.policy:74
msgid "" msgid ""
"Authentication is required to change the password of a user's home area." "Authentication is required to change the password of a user's home area."
msgstr "" msgstr ""
"Otentikasi diperlukan untuk mengubah kata sandi dari suatu area rumah " "Otentikasi diperlukan untuk mengubah kata sandi dari suatu area rumah "
"pengguna." "pengguna."
#: src/home/org.freedesktop.home1.policy:73 #: src/home/org.freedesktop.home1.policy:83
msgid "Activate a home area" msgid "Activate a home area"
msgstr "Aktifkan suatu area home" msgstr "Aktifkan suatu area home"
#: src/home/org.freedesktop.home1.policy:74 #: src/home/org.freedesktop.home1.policy:84
msgid "Authentication is required to activate a user's home area." msgid "Authentication is required to activate a user's home area."
msgstr "Otentikasi diperlukan untuk mengaktifkan suatu area home pengguna." msgstr "Otentikasi diperlukan untuk mengaktifkan suatu area home pengguna."
@ -1154,6 +1164,15 @@ msgstr "Bersihkan pembaruan sistem lama"
msgid "Authentication is required to cleanup old system updates." msgid "Authentication is required to cleanup old system updates."
msgstr "Otentikasi diperlukan untuk membersihkan pembaruan sistem lama." msgstr "Otentikasi diperlukan untuk membersihkan pembaruan sistem lama."
#: src/sysupdate/org.freedesktop.sysupdate1.policy:75
msgid "Manage optional features"
msgstr ""
#: src/sysupdate/org.freedesktop.sysupdate1.policy:76
#, fuzzy
msgid "Authentication is required to manage optional features"
msgstr "Otentikasi diperlukan untuk mengelola seat, pengguna, dan sesi aktif."
#: src/timedate/org.freedesktop.timedate1.policy:22 #: src/timedate/org.freedesktop.timedate1.policy:22
msgid "Set system time" msgid "Set system time"
msgstr "Setel waktu sistem" msgstr "Setel waktu sistem"
@ -1194,23 +1213,23 @@ msgstr ""
"Otentikasi diperlukan untuk mengendalikan apakah sinkronisasi waktu jaringan " "Otentikasi diperlukan untuk mengendalikan apakah sinkronisasi waktu jaringan "
"mesti difungsikan." "mesti difungsikan."
#: src/core/dbus-unit.c:353 #: src/core/dbus-unit.c:370
msgid "Authentication is required to start '$(unit)'." msgid "Authentication is required to start '$(unit)'."
msgstr "Otentikasi diperlukan untuk memulai '$(unit)'." msgstr "Otentikasi diperlukan untuk memulai '$(unit)'."
#: src/core/dbus-unit.c:354 #: src/core/dbus-unit.c:371
msgid "Authentication is required to stop '$(unit)'." msgid "Authentication is required to stop '$(unit)'."
msgstr "Otentikasi diperlukan untuk menghentikan '$(unit)'." msgstr "Otentikasi diperlukan untuk menghentikan '$(unit)'."
#: src/core/dbus-unit.c:355 #: src/core/dbus-unit.c:372
msgid "Authentication is required to reload '$(unit)'." msgid "Authentication is required to reload '$(unit)'."
msgstr "Otentikasi diperlukan untuk memuat ulang '$(unit)'." msgstr "Otentikasi diperlukan untuk memuat ulang '$(unit)'."
#: src/core/dbus-unit.c:356 src/core/dbus-unit.c:357 #: src/core/dbus-unit.c:373 src/core/dbus-unit.c:374
msgid "Authentication is required to restart '$(unit)'." msgid "Authentication is required to restart '$(unit)'."
msgstr "Otentikasi diperlukan untuk memulai ulang '$(unit)'." msgstr "Otentikasi diperlukan untuk memulai ulang '$(unit)'."
#: src/core/dbus-unit.c:549 #: src/core/dbus-unit.c:566
msgid "" msgid ""
"Authentication is required to send a UNIX signal to the processes of " "Authentication is required to send a UNIX signal to the processes of "
"'$(unit)'." "'$(unit)'."
@ -1218,16 +1237,16 @@ msgstr ""
"Otentikasi diperlukan untuk megirim suatu sinyal UNIX ke proses dari " "Otentikasi diperlukan untuk megirim suatu sinyal UNIX ke proses dari "
"'$(unit)'." "'$(unit)'."
#: src/core/dbus-unit.c:577 #: src/core/dbus-unit.c:594
msgid "Authentication is required to reset the \"failed\" state of '$(unit)'." msgid "Authentication is required to reset the \"failed\" state of '$(unit)'."
msgstr "" msgstr ""
"Otentikasi diperlukan untuk me-reset keadaan \"failed\" dari '$(unit)'." "Otentikasi diperlukan untuk me-reset keadaan \"failed\" dari '$(unit)'."
#: src/core/dbus-unit.c:607 #: src/core/dbus-unit.c:624
msgid "Authentication is required to set properties on '$(unit)'." msgid "Authentication is required to set properties on '$(unit)'."
msgstr "Otentikasi diperlukan untuk menata properti pada '$(unit)'." msgstr "Otentikasi diperlukan untuk menata properti pada '$(unit)'."
#: src/core/dbus-unit.c:704 #: src/core/dbus-unit.c:721
msgid "" msgid ""
"Authentication is required to delete files and directories associated with " "Authentication is required to delete files and directories associated with "
"'$(unit)'." "'$(unit)'."
@ -1235,7 +1254,7 @@ msgstr ""
"Otentikasi diperlukan untuk menghapus berkas dan direktori yang terkait " "Otentikasi diperlukan untuk menghapus berkas dan direktori yang terkait "
"dengan '$(unit)'." "dengan '$(unit)'."
#: src/core/dbus-unit.c:741 #: src/core/dbus-unit.c:758
msgid "" msgid ""
"Authentication is required to freeze or thaw the processes of '$(unit)' unit." "Authentication is required to freeze or thaw the processes of '$(unit)' unit."
msgstr "" msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-08-23 15:33+0200\n" "POT-Creation-Date: 2024-11-06 14:42+0000\n"
"PO-Revision-Date: 2024-05-02 04:40+0200\n" "PO-Revision-Date: 2024-05-02 04:40+0200\n"
"Last-Translator: Daniele Medri <dmedri@gmail.com>\n" "Last-Translator: Daniele Medri <dmedri@gmail.com>\n"
"Language-Team: italian\n" "Language-Team: italian\n"
@ -116,29 +116,39 @@ msgid "Authentication is required to update a user's home area."
msgstr "Autenticazione richiesta per aggiornare l'area home di un utente." msgstr "Autenticazione richiesta per aggiornare l'area home di un utente."
#: src/home/org.freedesktop.home1.policy:53 #: src/home/org.freedesktop.home1.policy:53
#, fuzzy
msgid "Update your home area"
msgstr "Aggiorna un'area home"
#: src/home/org.freedesktop.home1.policy:54
#, fuzzy
msgid "Authentication is required to update your home area."
msgstr "Autenticazione richiesta per aggiornare l'area home di un utente."
#: src/home/org.freedesktop.home1.policy:63
msgid "Resize a home area" msgid "Resize a home area"
msgstr "Ridimensiona un'area home" msgstr "Ridimensiona un'area home"
#: src/home/org.freedesktop.home1.policy:54 #: src/home/org.freedesktop.home1.policy:64
msgid "Authentication is required to resize a user's home area." msgid "Authentication is required to resize a user's home area."
msgstr "Autenticazione richiesta per ridimensionare l'area home di un utente." msgstr "Autenticazione richiesta per ridimensionare l'area home di un utente."
#: src/home/org.freedesktop.home1.policy:63 #: src/home/org.freedesktop.home1.policy:73
msgid "Change password of a home area" msgid "Change password of a home area"
msgstr "Modifica password di un'area home" msgstr "Modifica password di un'area home"
#: src/home/org.freedesktop.home1.policy:64 #: src/home/org.freedesktop.home1.policy:74
msgid "" msgid ""
"Authentication is required to change the password of a user's home area." "Authentication is required to change the password of a user's home area."
msgstr "" msgstr ""
"Autenticazione richiesta per modificare la password dell'area home di un " "Autenticazione richiesta per modificare la password dell'area home di un "
"utente." "utente."
#: src/home/org.freedesktop.home1.policy:73 #: src/home/org.freedesktop.home1.policy:83
msgid "Activate a home area" msgid "Activate a home area"
msgstr "Attiva un'area home" msgstr "Attiva un'area home"
#: src/home/org.freedesktop.home1.policy:74 #: src/home/org.freedesktop.home1.policy:84
msgid "Authentication is required to activate a user's home area." msgid "Authentication is required to activate a user's home area."
msgstr "Autenticazione richiesta per attivare l'area home di un utente." msgstr "Autenticazione richiesta per attivare l'area home di un utente."
@ -1210,6 +1220,17 @@ msgstr ""
msgid "Authentication is required to cleanup old system updates." msgid "Authentication is required to cleanup old system updates."
msgstr "Autenticazione richiesta per impostare l'orario di sistema." msgstr "Autenticazione richiesta per impostare l'orario di sistema."
#: src/sysupdate/org.freedesktop.sysupdate1.policy:75
msgid "Manage optional features"
msgstr ""
#: src/sysupdate/org.freedesktop.sysupdate1.policy:76
#, fuzzy
msgid "Authentication is required to manage optional features"
msgstr ""
"Autenticazione richiesta per gestire le sessioni attive, gli utenti e le "
"postazioni."
#: src/timedate/org.freedesktop.timedate1.policy:22 #: src/timedate/org.freedesktop.timedate1.policy:22
msgid "Set system time" msgid "Set system time"
msgstr "Imposta l'orario di sistema" msgstr "Imposta l'orario di sistema"
@ -1252,23 +1273,23 @@ msgstr ""
"Autenticazione richiesta per verificare se la sincronizzazione dell'orario " "Autenticazione richiesta per verificare se la sincronizzazione dell'orario "
"in rete deve essere attivata." "in rete deve essere attivata."
#: src/core/dbus-unit.c:353 #: src/core/dbus-unit.c:370
msgid "Authentication is required to start '$(unit)'." msgid "Authentication is required to start '$(unit)'."
msgstr "Autenticazione richiesta per avviare '$(unit)'." msgstr "Autenticazione richiesta per avviare '$(unit)'."
#: src/core/dbus-unit.c:354 #: src/core/dbus-unit.c:371
msgid "Authentication is required to stop '$(unit)'." msgid "Authentication is required to stop '$(unit)'."
msgstr "Autenticazione richiesta per fermare '$(unit)'." msgstr "Autenticazione richiesta per fermare '$(unit)'."
#: src/core/dbus-unit.c:355 #: src/core/dbus-unit.c:372
msgid "Authentication is required to reload '$(unit)'." msgid "Authentication is required to reload '$(unit)'."
msgstr "Autenticazione richiesta per ricaricare '$(unit)'." msgstr "Autenticazione richiesta per ricaricare '$(unit)'."
#: src/core/dbus-unit.c:356 src/core/dbus-unit.c:357 #: src/core/dbus-unit.c:373 src/core/dbus-unit.c:374
msgid "Authentication is required to restart '$(unit)'." msgid "Authentication is required to restart '$(unit)'."
msgstr "Autenticazione richiesta per riavviare '$(unit)'." msgstr "Autenticazione richiesta per riavviare '$(unit)'."
#: src/core/dbus-unit.c:549 #: src/core/dbus-unit.c:566
msgid "" msgid ""
"Authentication is required to send a UNIX signal to the processes of " "Authentication is required to send a UNIX signal to the processes of "
"'$(unit)'." "'$(unit)'."
@ -1276,16 +1297,16 @@ msgstr ""
"Autenticazione richiesta per inviare un segnale UNIX ai processi di " "Autenticazione richiesta per inviare un segnale UNIX ai processi di "
"'$(unit)'." "'$(unit)'."
#: src/core/dbus-unit.c:577 #: src/core/dbus-unit.c:594
msgid "Authentication is required to reset the \"failed\" state of '$(unit)'." msgid "Authentication is required to reset the \"failed\" state of '$(unit)'."
msgstr "" msgstr ""
"Autenticazione richiesta per riconfigurare lo stato \"fallito\" di '$(unit)'." "Autenticazione richiesta per riconfigurare lo stato \"fallito\" di '$(unit)'."
#: src/core/dbus-unit.c:607 #: src/core/dbus-unit.c:624
msgid "Authentication is required to set properties on '$(unit)'." msgid "Authentication is required to set properties on '$(unit)'."
msgstr "Autenticazione richiesta per configurare le proprietà di '$(unit)'." msgstr "Autenticazione richiesta per configurare le proprietà di '$(unit)'."
#: src/core/dbus-unit.c:704 #: src/core/dbus-unit.c:721
msgid "" msgid ""
"Authentication is required to delete files and directories associated with " "Authentication is required to delete files and directories associated with "
"'$(unit)'." "'$(unit)'."
@ -1293,7 +1314,7 @@ msgstr ""
"Autenticazione richiesta per eliminare i file e le directory associate a " "Autenticazione richiesta per eliminare i file e le directory associate a "
"'$(unit)'." "'$(unit)'."
#: src/core/dbus-unit.c:741 #: src/core/dbus-unit.c:758
msgid "" msgid ""
"Authentication is required to freeze or thaw the processes of '$(unit)' unit." "Authentication is required to freeze or thaw the processes of '$(unit)' unit."
msgstr "" msgstr ""

View File

@ -6,7 +6,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-08-23 15:33+0200\n" "POT-Creation-Date: 2024-11-06 14:42+0000\n"
"PO-Revision-Date: 2021-09-09 03:04+0000\n" "PO-Revision-Date: 2021-09-09 03:04+0000\n"
"Last-Translator: Takuro Onoue <kusanaginoturugi@gmail.com>\n" "Last-Translator: Takuro Onoue <kusanaginoturugi@gmail.com>\n"
"Language-Team: Japanese <https://translate.fedoraproject.org/projects/" "Language-Team: Japanese <https://translate.fedoraproject.org/projects/"
@ -106,27 +106,37 @@ msgid "Authentication is required to update a user's home area."
msgstr "ユーザのホーム領域の更新には認証が必要です。" msgstr "ユーザのホーム領域の更新には認証が必要です。"
#: src/home/org.freedesktop.home1.policy:53 #: src/home/org.freedesktop.home1.policy:53
#, fuzzy
msgid "Update your home area"
msgstr "ホーム領域の更新"
#: src/home/org.freedesktop.home1.policy:54
#, fuzzy
msgid "Authentication is required to update your home area."
msgstr "ユーザのホーム領域の更新には認証が必要です。"
#: src/home/org.freedesktop.home1.policy:63
msgid "Resize a home area" msgid "Resize a home area"
msgstr "ホーム領域のサイズ変更" msgstr "ホーム領域のサイズ変更"
#: src/home/org.freedesktop.home1.policy:54 #: src/home/org.freedesktop.home1.policy:64
msgid "Authentication is required to resize a user's home area." msgid "Authentication is required to resize a user's home area."
msgstr "ユーザのホーム領域のサイズ変更には認証が必要です。" msgstr "ユーザのホーム領域のサイズ変更には認証が必要です。"
#: src/home/org.freedesktop.home1.policy:63 #: src/home/org.freedesktop.home1.policy:73
msgid "Change password of a home area" msgid "Change password of a home area"
msgstr "ホーム領域のパスワード変更" msgstr "ホーム領域のパスワード変更"
#: src/home/org.freedesktop.home1.policy:64 #: src/home/org.freedesktop.home1.policy:74
msgid "" msgid ""
"Authentication is required to change the password of a user's home area." "Authentication is required to change the password of a user's home area."
msgstr "ユーザのホーム領域のパスワードを変更するには認証が必要です。" msgstr "ユーザのホーム領域のパスワードを変更するには認証が必要です。"
#: src/home/org.freedesktop.home1.policy:73 #: src/home/org.freedesktop.home1.policy:83
msgid "Activate a home area" msgid "Activate a home area"
msgstr "ホーム領域の有効化" msgstr "ホーム領域の有効化"
#: src/home/org.freedesktop.home1.policy:74 #: src/home/org.freedesktop.home1.policy:84
msgid "Authentication is required to activate a user's home area." msgid "Authentication is required to activate a user's home area."
msgstr "ユーザのホーム領域を有効化するには認証が必要です。" msgstr "ユーザのホーム領域を有効化するには認証が必要です。"
@ -1108,6 +1118,15 @@ msgstr "過去のシステム更新を削除"
msgid "Authentication is required to cleanup old system updates." msgid "Authentication is required to cleanup old system updates."
msgstr "過去のシステム更新を削除するには認証が必要です。" msgstr "過去のシステム更新を削除するには認証が必要です。"
#: src/sysupdate/org.freedesktop.sysupdate1.policy:75
msgid "Manage optional features"
msgstr ""
#: src/sysupdate/org.freedesktop.sysupdate1.policy:76
#, fuzzy
msgid "Authentication is required to manage optional features"
msgstr "アクティブなセッションやユーザ,シートを管理するには認証が必要です。"
#: src/timedate/org.freedesktop.timedate1.policy:22 #: src/timedate/org.freedesktop.timedate1.policy:22
msgid "Set system time" msgid "Set system time"
msgstr "システムの時刻設定" msgstr "システムの時刻設定"
@ -1146,44 +1165,44 @@ msgid ""
"shall be enabled." "shall be enabled."
msgstr "ネットワーク経由の時刻同期を有効もしくは無効にするには認証が必要です。" msgstr "ネットワーク経由の時刻同期を有効もしくは無効にするには認証が必要です。"
#: src/core/dbus-unit.c:353 #: src/core/dbus-unit.c:370
msgid "Authentication is required to start '$(unit)'." msgid "Authentication is required to start '$(unit)'."
msgstr "'$(unit)'を開始するには認証が必要です。" msgstr "'$(unit)'を開始するには認証が必要です。"
#: src/core/dbus-unit.c:354 #: src/core/dbus-unit.c:371
msgid "Authentication is required to stop '$(unit)'." msgid "Authentication is required to stop '$(unit)'."
msgstr "'$(unit)'を停止するには認証が必要です。" msgstr "'$(unit)'を停止するには認証が必要です。"
#: src/core/dbus-unit.c:355 #: src/core/dbus-unit.c:372
msgid "Authentication is required to reload '$(unit)'." msgid "Authentication is required to reload '$(unit)'."
msgstr "'$(unit)'を再読込するには認証が必要です。" msgstr "'$(unit)'を再読込するには認証が必要です。"
#: src/core/dbus-unit.c:356 src/core/dbus-unit.c:357 #: src/core/dbus-unit.c:373 src/core/dbus-unit.c:374
msgid "Authentication is required to restart '$(unit)'." msgid "Authentication is required to restart '$(unit)'."
msgstr "'$(unit)'を再起動するには認証が必要です。" msgstr "'$(unit)'を再起動するには認証が必要です。"
#: src/core/dbus-unit.c:549 #: src/core/dbus-unit.c:566
msgid "" msgid ""
"Authentication is required to send a UNIX signal to the processes of " "Authentication is required to send a UNIX signal to the processes of "
"'$(unit)'." "'$(unit)'."
msgstr "'$(unit)'のプロセスにUNIXシグナルを送るには認証が必要です。" msgstr "'$(unit)'のプロセスにUNIXシグナルを送るには認証が必要です。"
#: src/core/dbus-unit.c:577 #: src/core/dbus-unit.c:594
msgid "Authentication is required to reset the \"failed\" state of '$(unit)'." msgid "Authentication is required to reset the \"failed\" state of '$(unit)'."
msgstr "'$(unit)'の「失敗」状態をリセットするには認証が必要です。" msgstr "'$(unit)'の「失敗」状態をリセットするには認証が必要です。"
#: src/core/dbus-unit.c:607 #: src/core/dbus-unit.c:624
msgid "Authentication is required to set properties on '$(unit)'." msgid "Authentication is required to set properties on '$(unit)'."
msgstr "'$(unit)'のプロパティを設定するには認証が必要です。" msgstr "'$(unit)'のプロパティを設定するには認証が必要です。"
#: src/core/dbus-unit.c:704 #: src/core/dbus-unit.c:721
msgid "" msgid ""
"Authentication is required to delete files and directories associated with " "Authentication is required to delete files and directories associated with "
"'$(unit)'." "'$(unit)'."
msgstr "" msgstr ""
"'$(unit)'に関連付けられたファイルやディレクトリの削除には認証が必要です。" "'$(unit)'に関連付けられたファイルやディレクトリの削除には認証が必要です。"
#: src/core/dbus-unit.c:741 #: src/core/dbus-unit.c:758
msgid "" msgid ""
"Authentication is required to freeze or thaw the processes of '$(unit)' unit." "Authentication is required to freeze or thaw the processes of '$(unit)' unit."
msgstr "'$(unit)'のプロセスを凍結もしくは凍結解除するには認証が必要です。" msgstr "'$(unit)'のプロセスを凍結もしくは凍結解除するには認証が必要です。"

View File

@ -4,7 +4,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-08-23 15:33+0200\n" "POT-Creation-Date: 2024-11-06 14:42+0000\n"
"PO-Revision-Date: 2024-08-24 10:36+0000\n" "PO-Revision-Date: 2024-08-24 10:36+0000\n"
"Last-Translator: Temuri Doghonadze <temuri.doghonadze@gmail.com>\n" "Last-Translator: Temuri Doghonadze <temuri.doghonadze@gmail.com>\n"
"Language-Team: Georgian <https://translate.fedoraproject.org/projects/" "Language-Team: Georgian <https://translate.fedoraproject.org/projects/"
@ -108,27 +108,37 @@ msgid "Authentication is required to update a user's home area."
msgstr "სახლის ტერიტორიის განახლებისთვის საჭიროა ავთენტიკაცია." msgstr "სახლის ტერიტორიის განახლებისთვის საჭიროა ავთენტიკაცია."
#: src/home/org.freedesktop.home1.policy:53 #: src/home/org.freedesktop.home1.policy:53
#, fuzzy
msgid "Update your home area"
msgstr "სახლის ტერიტორიის განახლება"
#: src/home/org.freedesktop.home1.policy:54
#, fuzzy
msgid "Authentication is required to update your home area."
msgstr "სახლის ტერიტორიის განახლებისთვის საჭიროა ავთენტიკაცია."
#: src/home/org.freedesktop.home1.policy:63
msgid "Resize a home area" msgid "Resize a home area"
msgstr "სახლის ტერიტორიის ზომის შეცვლა" msgstr "სახლის ტერიტორიის ზომის შეცვლა"
#: src/home/org.freedesktop.home1.policy:54 #: src/home/org.freedesktop.home1.policy:64
msgid "Authentication is required to resize a user's home area." msgid "Authentication is required to resize a user's home area."
msgstr "სახლის ტერიტორიის ზომის შეცვლისთვის საჭიროა ავთენტიკაცია." msgstr "სახლის ტერიტორიის ზომის შეცვლისთვის საჭიროა ავთენტიკაცია."
#: src/home/org.freedesktop.home1.policy:63 #: src/home/org.freedesktop.home1.policy:73
msgid "Change password of a home area" msgid "Change password of a home area"
msgstr "სახლის ტერიტორიის პაროლის შეცვლა" msgstr "სახლის ტერიტორიის პაროლის შეცვლა"
#: src/home/org.freedesktop.home1.policy:64 #: src/home/org.freedesktop.home1.policy:74
msgid "" msgid ""
"Authentication is required to change the password of a user's home area." "Authentication is required to change the password of a user's home area."
msgstr "სახლის ტერიტორიის პაროლის შეცვლისთვის საჭიროა ავთენტიკაცია." msgstr "სახლის ტერიტორიის პაროლის შეცვლისთვის საჭიროა ავთენტიკაცია."
#: src/home/org.freedesktop.home1.policy:73 #: src/home/org.freedesktop.home1.policy:83
msgid "Activate a home area" msgid "Activate a home area"
msgstr "საწყისი ადგილის აქტივაცია" msgstr "საწყისი ადგილის აქტივაცია"
#: src/home/org.freedesktop.home1.policy:74 #: src/home/org.freedesktop.home1.policy:84
msgid "Authentication is required to activate a user's home area." msgid "Authentication is required to activate a user's home area."
msgstr "მომხმარებლის საწყისი ადგილის აქტივაციისთვის აუცილებელია ავთენტიკაცია." msgstr "მომხმარებლის საწყისი ადგილის აქტივაციისთვის აუცილებელია ავთენტიკაცია."
@ -1152,6 +1162,17 @@ msgstr "ძველი სისტემის განახლებებ
msgid "Authentication is required to cleanup old system updates." msgid "Authentication is required to cleanup old system updates."
msgstr "ძველი სისტემური განახლებების გასუფთავებას ავთენტიკაცია სჭირდება." msgstr "ძველი სისტემური განახლებების გასუფთავებას ავთენტიკაცია სჭირდება."
#: src/sysupdate/org.freedesktop.sysupdate1.policy:75
msgid "Manage optional features"
msgstr ""
#: src/sysupdate/org.freedesktop.sysupdate1.policy:76
#, fuzzy
msgid "Authentication is required to manage optional features"
msgstr ""
"აქტიური სესიების, მომხმარებლებისა და სამუშაო მაგიდების მართვას ავთენტიკაცია "
"სჭირდება."
#: src/timedate/org.freedesktop.timedate1.policy:22 #: src/timedate/org.freedesktop.timedate1.policy:22
msgid "Set system time" msgid "Set system time"
msgstr "სისტემური დროის დაყენება" msgstr "სისტემური დროის დაყენება"
@ -1189,40 +1210,40 @@ msgid ""
"shall be enabled." "shall be enabled."
msgstr "დროის ქსელური სინქრონიზაციის ჩართ/გამორთ-თვის საჭიროა ავთენტიკაცია." msgstr "დროის ქსელური სინქრონიზაციის ჩართ/გამორთ-თვის საჭიროა ავთენტიკაცია."
#: src/core/dbus-unit.c:353 #: src/core/dbus-unit.c:370
msgid "Authentication is required to start '$(unit)'." msgid "Authentication is required to start '$(unit)'."
msgstr "'$(unit)'-ის გასაშვებად საჭიროა ავთენტიკაცია." msgstr "'$(unit)'-ის გასაშვებად საჭიროა ავთენტიკაცია."
#: src/core/dbus-unit.c:354 #: src/core/dbus-unit.c:371
msgid "Authentication is required to stop '$(unit)'." msgid "Authentication is required to stop '$(unit)'."
msgstr "'$(unit)'-ის გასაჩერებლად საჭიროა ავთენტიკაცია." msgstr "'$(unit)'-ის გასაჩერებლად საჭიროა ავთენტიკაცია."
#: src/core/dbus-unit.c:355 #: src/core/dbus-unit.c:372
msgid "Authentication is required to reload '$(unit)'." msgid "Authentication is required to reload '$(unit)'."
msgstr "'$(unit)'-ის გადასატვირთად საჭიროა ავთენტიკაცია." msgstr "'$(unit)'-ის გადასატვირთად საჭიროა ავთენტიკაცია."
#: src/core/dbus-unit.c:356 src/core/dbus-unit.c:357 #: src/core/dbus-unit.c:373 src/core/dbus-unit.c:374
msgid "Authentication is required to restart '$(unit)'." msgid "Authentication is required to restart '$(unit)'."
msgstr "'$(unit)'-ის გადასატვირთად საჭიროა ავთენტიკაცია." msgstr "'$(unit)'-ის გადასატვირთად საჭიროა ავთენტიკაცია."
#: src/core/dbus-unit.c:549 #: src/core/dbus-unit.c:566
msgid "" msgid ""
"Authentication is required to send a UNIX signal to the processes of " "Authentication is required to send a UNIX signal to the processes of "
"'$(unit)'." "'$(unit)'."
msgstr "" msgstr ""
"'$(unit)'-ის პროცესებისთვის UNIX სიგნალის გასაგზავნად საჭიროა ავთნტიკაცია." "'$(unit)'-ის პროცესებისთვის UNIX სიგნალის გასაგზავნად საჭიროა ავთნტიკაცია."
#: src/core/dbus-unit.c:577 #: src/core/dbus-unit.c:594
msgid "Authentication is required to reset the \"failed\" state of '$(unit)'." msgid "Authentication is required to reset the \"failed\" state of '$(unit)'."
msgstr "" msgstr ""
"'$(unit)'-ის შეცდომით გაშვების მდგომარეობის გასასუფთავებლად საჭიროა " "'$(unit)'-ის შეცდომით გაშვების მდგომარეობის გასასუფთავებლად საჭიროა "
"ავთენტიკაცია." "ავთენტიკაცია."
#: src/core/dbus-unit.c:607 #: src/core/dbus-unit.c:624
msgid "Authentication is required to set properties on '$(unit)'." msgid "Authentication is required to set properties on '$(unit)'."
msgstr "'$(unit)'-ის თვისებების დასაყენებლად საჭიროა ავთენტიკაცია." msgstr "'$(unit)'-ის თვისებების დასაყენებლად საჭიროა ავთენტიკაცია."
#: src/core/dbus-unit.c:704 #: src/core/dbus-unit.c:721
msgid "" msgid ""
"Authentication is required to delete files and directories associated with " "Authentication is required to delete files and directories associated with "
"'$(unit)'." "'$(unit)'."
@ -1230,7 +1251,7 @@ msgstr ""
"'$(unit)'-თან ასოცირებული ფაილების და საქაღალდეების წასაშლელად საჭიროა " "'$(unit)'-თან ასოცირებული ფაილების და საქაღალდეების წასაშლელად საჭიროა "
"ავთენტიკაცია." "ავთენტიკაცია."
#: src/core/dbus-unit.c:741 #: src/core/dbus-unit.c:758
msgid "" msgid ""
"Authentication is required to freeze or thaw the processes of '$(unit)' unit." "Authentication is required to freeze or thaw the processes of '$(unit)' unit."
msgstr "'$(unit)'-ის პროცესების გასაყინად საჭიროა ავთენტიკაცია." msgstr "'$(unit)'-ის პროცესების გასაყინად საჭიროა ავთენტიკაცია."

View File

@ -6,7 +6,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-08-23 15:33+0200\n" "POT-Creation-Date: 2024-11-06 14:42+0000\n"
"PO-Revision-Date: 2024-10-07 04:52+0000\n" "PO-Revision-Date: 2024-10-07 04:52+0000\n"
"Last-Translator: ButterflyOfFire <butterflyoffire@protonmail.com>\n" "Last-Translator: ButterflyOfFire <butterflyoffire@protonmail.com>\n"
"Language-Team: Kabyle <https://translate.fedoraproject.org/projects/systemd/" "Language-Team: Kabyle <https://translate.fedoraproject.org/projects/systemd/"
@ -104,28 +104,37 @@ msgid "Authentication is required to update a user's home area."
msgstr "" msgstr ""
#: src/home/org.freedesktop.home1.policy:53 #: src/home/org.freedesktop.home1.policy:53
msgid "Resize a home area" #, fuzzy
msgstr "" msgid "Update your home area"
msgstr "Rnu tmennaḍt agejdan"
#: src/home/org.freedesktop.home1.policy:54 #: src/home/org.freedesktop.home1.policy:54
msgid "Authentication is required to resize a user's home area." msgid "Authentication is required to update your home area."
msgstr "" msgstr ""
#: src/home/org.freedesktop.home1.policy:63 #: src/home/org.freedesktop.home1.policy:63
msgid "Change password of a home area" msgid "Resize a home area"
msgstr "" msgstr ""
#: src/home/org.freedesktop.home1.policy:64 #: src/home/org.freedesktop.home1.policy:64
msgid "Authentication is required to resize a user's home area."
msgstr ""
#: src/home/org.freedesktop.home1.policy:73
msgid "Change password of a home area"
msgstr ""
#: src/home/org.freedesktop.home1.policy:74
msgid "" msgid ""
"Authentication is required to change the password of a user's home area." "Authentication is required to change the password of a user's home area."
msgstr "" msgstr ""
#: src/home/org.freedesktop.home1.policy:73 #: src/home/org.freedesktop.home1.policy:83
#, fuzzy #, fuzzy
msgid "Activate a home area" msgid "Activate a home area"
msgstr "Rnu tmennaḍt agejdan" msgstr "Rnu tmennaḍt agejdan"
#: src/home/org.freedesktop.home1.policy:74 #: src/home/org.freedesktop.home1.policy:84
msgid "Authentication is required to activate a user's home area." msgid "Authentication is required to activate a user's home area."
msgstr "" msgstr ""
@ -1063,6 +1072,14 @@ msgstr ""
msgid "Authentication is required to cleanup old system updates." msgid "Authentication is required to cleanup old system updates."
msgstr "" msgstr ""
#: src/sysupdate/org.freedesktop.sysupdate1.policy:75
msgid "Manage optional features"
msgstr ""
#: src/sysupdate/org.freedesktop.sysupdate1.policy:76
msgid "Authentication is required to manage optional features"
msgstr ""
#: src/timedate/org.freedesktop.timedate1.policy:22 #: src/timedate/org.freedesktop.timedate1.policy:22
msgid "Set system time" msgid "Set system time"
msgstr "" msgstr ""
@ -1099,43 +1116,43 @@ msgid ""
"shall be enabled." "shall be enabled."
msgstr "" msgstr ""
#: src/core/dbus-unit.c:353 #: src/core/dbus-unit.c:370
msgid "Authentication is required to start '$(unit)'." msgid "Authentication is required to start '$(unit)'."
msgstr "" msgstr ""
#: src/core/dbus-unit.c:354 #: src/core/dbus-unit.c:371
msgid "Authentication is required to stop '$(unit)'." msgid "Authentication is required to stop '$(unit)'."
msgstr "" msgstr ""
#: src/core/dbus-unit.c:355 #: src/core/dbus-unit.c:372
msgid "Authentication is required to reload '$(unit)'." msgid "Authentication is required to reload '$(unit)'."
msgstr "" msgstr ""
#: src/core/dbus-unit.c:356 src/core/dbus-unit.c:357 #: src/core/dbus-unit.c:373 src/core/dbus-unit.c:374
msgid "Authentication is required to restart '$(unit)'." msgid "Authentication is required to restart '$(unit)'."
msgstr "" msgstr ""
#: src/core/dbus-unit.c:549 #: src/core/dbus-unit.c:566
msgid "" msgid ""
"Authentication is required to send a UNIX signal to the processes of " "Authentication is required to send a UNIX signal to the processes of "
"'$(unit)'." "'$(unit)'."
msgstr "" msgstr ""
#: src/core/dbus-unit.c:577 #: src/core/dbus-unit.c:594
msgid "Authentication is required to reset the \"failed\" state of '$(unit)'." msgid "Authentication is required to reset the \"failed\" state of '$(unit)'."
msgstr "" msgstr ""
#: src/core/dbus-unit.c:607 #: src/core/dbus-unit.c:624
msgid "Authentication is required to set properties on '$(unit)'." msgid "Authentication is required to set properties on '$(unit)'."
msgstr "" msgstr ""
#: src/core/dbus-unit.c:704 #: src/core/dbus-unit.c:721
msgid "" msgid ""
"Authentication is required to delete files and directories associated with " "Authentication is required to delete files and directories associated with "
"'$(unit)'." "'$(unit)'."
msgstr "" msgstr ""
#: src/core/dbus-unit.c:741 #: src/core/dbus-unit.c:758
msgid "" msgid ""
"Authentication is required to freeze or thaw the processes of '$(unit)' unit." "Authentication is required to freeze or thaw the processes of '$(unit)' unit."
msgstr "" msgstr ""

View File

@ -8,7 +8,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-08-23 15:33+0200\n" "POT-Creation-Date: 2024-11-06 14:42+0000\n"
"PO-Revision-Date: 2024-08-24 10:36+0000\n" "PO-Revision-Date: 2024-08-24 10:36+0000\n"
"Last-Translator: 김인수 <simmon@nplob.com>\n" "Last-Translator: 김인수 <simmon@nplob.com>\n"
"Language-Team: Korean <https://translate.fedoraproject.org/projects/systemd/" "Language-Team: Korean <https://translate.fedoraproject.org/projects/systemd/"
@ -109,27 +109,37 @@ msgid "Authentication is required to update a user's home area."
msgstr "사용자 홈 영역을 최신화 하려면 인증이 필요합니다." msgstr "사용자 홈 영역을 최신화 하려면 인증이 필요합니다."
#: src/home/org.freedesktop.home1.policy:53 #: src/home/org.freedesktop.home1.policy:53
#, fuzzy
msgid "Update your home area"
msgstr "홈 영역을 최신화"
#: src/home/org.freedesktop.home1.policy:54
#, fuzzy
msgid "Authentication is required to update your home area."
msgstr "사용자 홈 영역을 최신화 하려면 인증이 필요합니다."
#: src/home/org.freedesktop.home1.policy:63
msgid "Resize a home area" msgid "Resize a home area"
msgstr "홈 영역을 조정" msgstr "홈 영역을 조정"
#: src/home/org.freedesktop.home1.policy:54 #: src/home/org.freedesktop.home1.policy:64
msgid "Authentication is required to resize a user's home area." msgid "Authentication is required to resize a user's home area."
msgstr "사용자 홈 영역을 조정하려면 인증이 필요합니다." msgstr "사용자 홈 영역을 조정하려면 인증이 필요합니다."
#: src/home/org.freedesktop.home1.policy:63 #: src/home/org.freedesktop.home1.policy:73
msgid "Change password of a home area" msgid "Change password of a home area"
msgstr "홈 영역 비밀번호 변경" msgstr "홈 영역 비밀번호 변경"
#: src/home/org.freedesktop.home1.policy:64 #: src/home/org.freedesktop.home1.policy:74
msgid "" msgid ""
"Authentication is required to change the password of a user's home area." "Authentication is required to change the password of a user's home area."
msgstr "사용자 홈 영역의 비밀번호를 변경하려면 인증이 필요합니다." msgstr "사용자 홈 영역의 비밀번호를 변경하려면 인증이 필요합니다."
#: src/home/org.freedesktop.home1.policy:73 #: src/home/org.freedesktop.home1.policy:83
msgid "Activate a home area" msgid "Activate a home area"
msgstr "홈 영역 활성화" msgstr "홈 영역 활성화"
#: src/home/org.freedesktop.home1.policy:74 #: src/home/org.freedesktop.home1.policy:84
msgid "Authentication is required to activate a user's home area." msgid "Authentication is required to activate a user's home area."
msgstr "사용자의 홈 영역을 활성화에 인증이 필요합니다." msgstr "사용자의 홈 영역을 활성화에 인증이 필요합니다."
@ -1094,7 +1104,8 @@ msgstr "지정된 시스템 버전 설치"
msgid "" msgid ""
"Authentication is required to update the system to a specific (possibly old) " "Authentication is required to update the system to a specific (possibly old) "
"version." "version."
msgstr "지정된 (아마도 오래된) 버전으로 시스템을 최신화하려면 인증이 필요합니다." msgstr ""
"지정된 (아마도 오래된) 버전으로 시스템을 최신화하려면 인증이 필요합니다."
#: src/sysupdate/org.freedesktop.sysupdate1.policy:65 #: src/sysupdate/org.freedesktop.sysupdate1.policy:65
msgid "Cleanup old system updates" msgid "Cleanup old system updates"
@ -1104,6 +1115,15 @@ msgstr "오래된 시스템 최신화 정리"
msgid "Authentication is required to cleanup old system updates." msgid "Authentication is required to cleanup old system updates."
msgstr "오래된 시스템 최신화를 정리하려면 인증이 필요합니다." msgstr "오래된 시스템 최신화를 정리하려면 인증이 필요합니다."
#: src/sysupdate/org.freedesktop.sysupdate1.policy:75
msgid "Manage optional features"
msgstr ""
#: src/sysupdate/org.freedesktop.sysupdate1.policy:76
#, fuzzy
msgid "Authentication is required to manage optional features"
msgstr "활성 세션, 사용자 시트를 관리하려면 인증이 필요합니다."
#: src/timedate/org.freedesktop.timedate1.policy:22 #: src/timedate/org.freedesktop.timedate1.policy:22
msgid "Set system time" msgid "Set system time"
msgstr "시스템 시간 설정" msgstr "시스템 시간 설정"
@ -1142,43 +1162,43 @@ msgid ""
"shall be enabled." "shall be enabled."
msgstr "네트워크 시간 동기화의 활성화 여부를 제어하려면 인증이 필요합니다." msgstr "네트워크 시간 동기화의 활성화 여부를 제어하려면 인증이 필요합니다."
#: src/core/dbus-unit.c:353 #: src/core/dbus-unit.c:370
msgid "Authentication is required to start '$(unit)'." msgid "Authentication is required to start '$(unit)'."
msgstr "인증은 '$(unit)'을 시작하는데 필요합니다." msgstr "인증은 '$(unit)'을 시작하는데 필요합니다."
#: src/core/dbus-unit.c:354 #: src/core/dbus-unit.c:371
msgid "Authentication is required to stop '$(unit)'." msgid "Authentication is required to stop '$(unit)'."
msgstr "인증은 '$(unit)'을 멈추는데 필요합니다." msgstr "인증은 '$(unit)'을 멈추는데 필요합니다."
#: src/core/dbus-unit.c:355 #: src/core/dbus-unit.c:372
msgid "Authentication is required to reload '$(unit)'." msgid "Authentication is required to reload '$(unit)'."
msgstr "인증은 '$(unit)'을 다시 불러오는데 필요합니다." msgstr "인증은 '$(unit)'을 다시 불러오는데 필요합니다."
#: src/core/dbus-unit.c:356 src/core/dbus-unit.c:357 #: src/core/dbus-unit.c:373 src/core/dbus-unit.c:374
msgid "Authentication is required to restart '$(unit)'." msgid "Authentication is required to restart '$(unit)'."
msgstr "인증은 '$(unit)'을 다시 시작하는데 필요합니다." msgstr "인증은 '$(unit)'을 다시 시작하는데 필요합니다."
#: src/core/dbus-unit.c:549 #: src/core/dbus-unit.c:566
msgid "" msgid ""
"Authentication is required to send a UNIX signal to the processes of " "Authentication is required to send a UNIX signal to the processes of "
"'$(unit)'." "'$(unit)'."
msgstr "'$(unit)'의 처리에 유닉스 신호를 전송하려면 인증이 필요합니다." msgstr "'$(unit)'의 처리에 유닉스 신호를 전송하려면 인증이 필요합니다."
#: src/core/dbus-unit.c:577 #: src/core/dbus-unit.c:594
msgid "Authentication is required to reset the \"failed\" state of '$(unit)'." msgid "Authentication is required to reset the \"failed\" state of '$(unit)'."
msgstr "인증은 '$(unit)'의 \"실패\"를 되돌리는데 필요합니다." msgstr "인증은 '$(unit)'의 \"실패\"를 되돌리는데 필요합니다."
#: src/core/dbus-unit.c:607 #: src/core/dbus-unit.c:624
msgid "Authentication is required to set properties on '$(unit)'." msgid "Authentication is required to set properties on '$(unit)'."
msgstr "인증은 '$(unit)'의 속성을 설정하는데 필요합니다." msgstr "인증은 '$(unit)'의 속성을 설정하는데 필요합니다."
#: src/core/dbus-unit.c:704 #: src/core/dbus-unit.c:721
msgid "" msgid ""
"Authentication is required to delete files and directories associated with " "Authentication is required to delete files and directories associated with "
"'$(unit)'." "'$(unit)'."
msgstr "인증은 '$(unit)'과 관련된 파일과 디렉토리를 삭제하는데 필요합니다." msgstr "인증은 '$(unit)'과 관련된 파일과 디렉토리를 삭제하는데 필요합니다."
#: src/core/dbus-unit.c:741 #: src/core/dbus-unit.c:758
msgid "" msgid ""
"Authentication is required to freeze or thaw the processes of '$(unit)' unit." "Authentication is required to freeze or thaw the processes of '$(unit)' unit."
msgstr "'$(unit)'단위의 처리를 동결 또는 해제하려면 인증이 필요합니다." msgstr "'$(unit)'단위의 처리를 동결 또는 해제하려면 인증이 필요합니다."

View File

@ -5,7 +5,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-08-23 15:33+0200\n" "POT-Creation-Date: 2024-11-06 14:42+0000\n"
"PO-Revision-Date: 2024-02-15 23:36+0000\n" "PO-Revision-Date: 2024-02-15 23:36+0000\n"
"Last-Translator: mooo <hazap@hotmail.com>\n" "Last-Translator: mooo <hazap@hotmail.com>\n"
"Language-Team: Lithuanian <https://translate.fedoraproject.org/projects/" "Language-Team: Lithuanian <https://translate.fedoraproject.org/projects/"
@ -122,31 +122,41 @@ msgstr ""
"Norint prijungti įrenginį prie darbo vietos, reikia nustatyti tapatybę." "Norint prijungti įrenginį prie darbo vietos, reikia nustatyti tapatybę."
#: src/home/org.freedesktop.home1.policy:53 #: src/home/org.freedesktop.home1.policy:53
msgid "Resize a home area" msgid "Update your home area"
msgstr "" msgstr ""
#: src/home/org.freedesktop.home1.policy:54 #: src/home/org.freedesktop.home1.policy:54
#, fuzzy #, fuzzy
msgid "Authentication is required to resize a user's home area." msgid "Authentication is required to update your home area."
msgstr "Norint nustatyti sienos pranešimą, reikia nustatyti tapatybę" msgstr ""
"Norint prijungti įrenginį prie darbo vietos, reikia nustatyti tapatybę."
#: src/home/org.freedesktop.home1.policy:63 #: src/home/org.freedesktop.home1.policy:63
msgid "Change password of a home area" msgid "Resize a home area"
msgstr "" msgstr ""
#: src/home/org.freedesktop.home1.policy:64 #: src/home/org.freedesktop.home1.policy:64
#, fuzzy #, fuzzy
msgid "Authentication is required to resize a user's home area."
msgstr "Norint nustatyti sienos pranešimą, reikia nustatyti tapatybę"
#: src/home/org.freedesktop.home1.policy:73
msgid "Change password of a home area"
msgstr ""
#: src/home/org.freedesktop.home1.policy:74
#, fuzzy
msgid "" msgid ""
"Authentication is required to change the password of a user's home area." "Authentication is required to change the password of a user's home area."
msgstr "" msgstr ""
"Norint tvarkyti aktyvius seansus, naudotojus ir darbo vietas, reikia " "Norint tvarkyti aktyvius seansus, naudotojus ir darbo vietas, reikia "
"nustatyti tapatybę." "nustatyti tapatybę."
#: src/home/org.freedesktop.home1.policy:73 #: src/home/org.freedesktop.home1.policy:83
msgid "Activate a home area" msgid "Activate a home area"
msgstr "" msgstr ""
#: src/home/org.freedesktop.home1.policy:74 #: src/home/org.freedesktop.home1.policy:84
#, fuzzy #, fuzzy
msgid "Authentication is required to activate a user's home area." msgid "Authentication is required to activate a user's home area."
msgstr "Norint iš naujo įkelti systemd būseną, reikia patvirtinti tapatybę." msgstr "Norint iš naujo įkelti systemd būseną, reikia patvirtinti tapatybę."
@ -1205,6 +1215,17 @@ msgstr ""
msgid "Authentication is required to cleanup old system updates." msgid "Authentication is required to cleanup old system updates."
msgstr "Norint nustatyti sistemos laiką, reikia nustatyti tapatybę." msgstr "Norint nustatyti sistemos laiką, reikia nustatyti tapatybę."
#: src/sysupdate/org.freedesktop.sysupdate1.policy:75
msgid "Manage optional features"
msgstr ""
#: src/sysupdate/org.freedesktop.sysupdate1.policy:76
#, fuzzy
msgid "Authentication is required to manage optional features"
msgstr ""
"Norint tvarkyti aktyvius seansus, naudotojus ir darbo vietas, reikia "
"nustatyti tapatybę."
#: src/timedate/org.freedesktop.timedate1.policy:22 #: src/timedate/org.freedesktop.timedate1.policy:22
msgid "Set system time" msgid "Set system time"
msgstr "Nustatyti sistemos laiką" msgstr "Nustatyti sistemos laiką"
@ -1247,40 +1268,40 @@ msgstr ""
"Norint valdyti ar tinklo laiko sinchronizavimas turėtų būti įjungtas, reikia " "Norint valdyti ar tinklo laiko sinchronizavimas turėtų būti įjungtas, reikia "
"nustatyti tapatybę." "nustatyti tapatybę."
#: src/core/dbus-unit.c:353 #: src/core/dbus-unit.c:370
msgid "Authentication is required to start '$(unit)'." msgid "Authentication is required to start '$(unit)'."
msgstr "Norint paleisti \"$(unit)\", reikia nustatyti tapatybę." msgstr "Norint paleisti \"$(unit)\", reikia nustatyti tapatybę."
#: src/core/dbus-unit.c:354 #: src/core/dbus-unit.c:371
msgid "Authentication is required to stop '$(unit)'." msgid "Authentication is required to stop '$(unit)'."
msgstr "Norint stabdyti \"$(unit)\", reikia nustatyti tapatybę." msgstr "Norint stabdyti \"$(unit)\", reikia nustatyti tapatybę."
#: src/core/dbus-unit.c:355 #: src/core/dbus-unit.c:372
msgid "Authentication is required to reload '$(unit)'." msgid "Authentication is required to reload '$(unit)'."
msgstr "Norint įkelti \"$(unit)\" iš naujo, reikia nustatyti tapatybę." msgstr "Norint įkelti \"$(unit)\" iš naujo, reikia nustatyti tapatybę."
#: src/core/dbus-unit.c:356 src/core/dbus-unit.c:357 #: src/core/dbus-unit.c:373 src/core/dbus-unit.c:374
msgid "Authentication is required to restart '$(unit)'." msgid "Authentication is required to restart '$(unit)'."
msgstr "Norint paleisti \"$(unit)\" iš naujo, reikia nustatyti tapatybę." msgstr "Norint paleisti \"$(unit)\" iš naujo, reikia nustatyti tapatybę."
#: src/core/dbus-unit.c:549 #: src/core/dbus-unit.c:566
msgid "" msgid ""
"Authentication is required to send a UNIX signal to the processes of " "Authentication is required to send a UNIX signal to the processes of "
"'$(unit)'." "'$(unit)'."
msgstr "" msgstr ""
"Norint siųsti UNIX signalą į \"$(unit)\" procesus, reikia nustatyti tapatybę." "Norint siųsti UNIX signalą į \"$(unit)\" procesus, reikia nustatyti tapatybę."
#: src/core/dbus-unit.c:577 #: src/core/dbus-unit.c:594
msgid "Authentication is required to reset the \"failed\" state of '$(unit)'." msgid "Authentication is required to reset the \"failed\" state of '$(unit)'."
msgstr "" msgstr ""
"Norint atstatyti \"$(unit)\" įtaiso \"failed\" būseną, reikia nustatyti " "Norint atstatyti \"$(unit)\" įtaiso \"failed\" būseną, reikia nustatyti "
"tapatybę." "tapatybę."
#: src/core/dbus-unit.c:607 #: src/core/dbus-unit.c:624
msgid "Authentication is required to set properties on '$(unit)'." msgid "Authentication is required to set properties on '$(unit)'."
msgstr "Norint nustatyti \"$(unit)\" savybes, reikia nustatyti tapatybę." msgstr "Norint nustatyti \"$(unit)\" savybes, reikia nustatyti tapatybę."
#: src/core/dbus-unit.c:704 #: src/core/dbus-unit.c:721
#, fuzzy #, fuzzy
msgid "" msgid ""
"Authentication is required to delete files and directories associated with " "Authentication is required to delete files and directories associated with "
@ -1289,7 +1310,7 @@ msgstr ""
"Norint atstatyti \"$(unit)\" įtaiso \"failed\" būseną, reikia nustatyti " "Norint atstatyti \"$(unit)\" įtaiso \"failed\" būseną, reikia nustatyti "
"tapatybę." "tapatybę."
#: src/core/dbus-unit.c:741 #: src/core/dbus-unit.c:758
#, fuzzy #, fuzzy
msgid "" msgid ""
"Authentication is required to freeze or thaw the processes of '$(unit)' unit." "Authentication is required to freeze or thaw the processes of '$(unit)' unit."

View File

@ -7,7 +7,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-08-23 15:33+0200\n" "POT-Creation-Date: 2024-11-06 14:42+0000\n"
"PO-Revision-Date: 2023-08-21 17:21+0000\n" "PO-Revision-Date: 2023-08-21 17:21+0000\n"
"Last-Translator: Maarten <maarten@posteo.de>\n" "Last-Translator: Maarten <maarten@posteo.de>\n"
"Language-Team: Dutch <https://translate.fedoraproject.org/projects/systemd/" "Language-Team: Dutch <https://translate.fedoraproject.org/projects/systemd/"
@ -121,32 +121,43 @@ msgstr ""
"Authenticatie is vereist voor het bijwerken van een persoonlijke ruimte." "Authenticatie is vereist voor het bijwerken van een persoonlijke ruimte."
#: src/home/org.freedesktop.home1.policy:53 #: src/home/org.freedesktop.home1.policy:53
#, fuzzy
msgid "Update your home area"
msgstr "Werk een persoonlijke ruimte bij"
#: src/home/org.freedesktop.home1.policy:54
#, fuzzy
msgid "Authentication is required to update your home area."
msgstr ""
"Authenticatie is vereist voor het bijwerken van een persoonlijke ruimte."
#: src/home/org.freedesktop.home1.policy:63
msgid "Resize a home area" msgid "Resize a home area"
msgstr "Verander de grootte van een persoonlijke ruimte" msgstr "Verander de grootte van een persoonlijke ruimte"
#: src/home/org.freedesktop.home1.policy:54 #: src/home/org.freedesktop.home1.policy:64
msgid "Authentication is required to resize a user's home area." msgid "Authentication is required to resize a user's home area."
msgstr "" msgstr ""
"Authenticatie is vereist voor het veranderen van de grootte van een " "Authenticatie is vereist voor het veranderen van de grootte van een "
"persoonlijke ruimte." "persoonlijke ruimte."
#: src/home/org.freedesktop.home1.policy:63 #: src/home/org.freedesktop.home1.policy:73
msgid "Change password of a home area" msgid "Change password of a home area"
msgstr "Wijzig het wachtwoord van een persoonlijke ruimte" msgstr "Wijzig het wachtwoord van een persoonlijke ruimte"
#: src/home/org.freedesktop.home1.policy:64 #: src/home/org.freedesktop.home1.policy:74
msgid "" msgid ""
"Authentication is required to change the password of a user's home area." "Authentication is required to change the password of a user's home area."
msgstr "" msgstr ""
"Authenticatie is vereist voor het wijzigen van het wachtwoord van een " "Authenticatie is vereist voor het wijzigen van het wachtwoord van een "
"persoonlijke ruimte." "persoonlijke ruimte."
#: src/home/org.freedesktop.home1.policy:73 #: src/home/org.freedesktop.home1.policy:83
#, fuzzy #, fuzzy
msgid "Activate a home area" msgid "Activate a home area"
msgstr "Maak een persoonlijke ruimte" msgstr "Maak een persoonlijke ruimte"
#: src/home/org.freedesktop.home1.policy:74 #: src/home/org.freedesktop.home1.policy:84
#, fuzzy #, fuzzy
msgid "Authentication is required to activate a user's home area." msgid "Authentication is required to activate a user's home area."
msgstr "Authenticatie is vereist voor het maken van een persoonlijke ruimte." msgstr "Authenticatie is vereist voor het maken van een persoonlijke ruimte."
@ -1317,6 +1328,17 @@ msgstr ""
msgid "Authentication is required to cleanup old system updates." msgid "Authentication is required to cleanup old system updates."
msgstr "Authenticatie is vereist voor het instellen van de systeemtijd." msgstr "Authenticatie is vereist voor het instellen van de systeemtijd."
#: src/sysupdate/org.freedesktop.sysupdate1.policy:75
msgid "Manage optional features"
msgstr ""
#: src/sysupdate/org.freedesktop.sysupdate1.policy:76
#, fuzzy
msgid "Authentication is required to manage optional features"
msgstr ""
"Authenticatie is vereist voor het beheren van de actieve sessies, van de "
"gebruikers en van de apparaten die zijn toegewezen aan de werkplekken."
#: src/timedate/org.freedesktop.timedate1.policy:22 #: src/timedate/org.freedesktop.timedate1.policy:22
msgid "Set system time" msgid "Set system time"
msgstr "Stel de systeemtijd in" msgstr "Stel de systeemtijd in"
@ -1359,23 +1381,23 @@ msgstr ""
"Authenticatie is vereist voor het in- of uitschakelen van synchronisatie van " "Authenticatie is vereist voor het in- of uitschakelen van synchronisatie van "
"de systeemtijd met een tijdserver." "de systeemtijd met een tijdserver."
#: src/core/dbus-unit.c:353 #: src/core/dbus-unit.c:370
msgid "Authentication is required to start '$(unit)'." msgid "Authentication is required to start '$(unit)'."
msgstr "Authenticatie is vereist voor het starten van '$(unit)'." msgstr "Authenticatie is vereist voor het starten van '$(unit)'."
#: src/core/dbus-unit.c:354 #: src/core/dbus-unit.c:371
msgid "Authentication is required to stop '$(unit)'." msgid "Authentication is required to stop '$(unit)'."
msgstr "Authenticatie is vereist voor het stoppen van '$(unit)'." msgstr "Authenticatie is vereist voor het stoppen van '$(unit)'."
#: src/core/dbus-unit.c:355 #: src/core/dbus-unit.c:372
msgid "Authentication is required to reload '$(unit)'." msgid "Authentication is required to reload '$(unit)'."
msgstr "Authenticatie is vereist voor het opnieuw laden van '$(unit)'." msgstr "Authenticatie is vereist voor het opnieuw laden van '$(unit)'."
#: src/core/dbus-unit.c:356 src/core/dbus-unit.c:357 #: src/core/dbus-unit.c:373 src/core/dbus-unit.c:374
msgid "Authentication is required to restart '$(unit)'." msgid "Authentication is required to restart '$(unit)'."
msgstr "Authenticatie is vereist voor het opnieuw starten van '$(unit)'." msgstr "Authenticatie is vereist voor het opnieuw starten van '$(unit)'."
#: src/core/dbus-unit.c:549 #: src/core/dbus-unit.c:566
msgid "" msgid ""
"Authentication is required to send a UNIX signal to the processes of " "Authentication is required to send a UNIX signal to the processes of "
"'$(unit)'." "'$(unit)'."
@ -1383,19 +1405,19 @@ msgstr ""
"Authenticatie is vereist voor het zenden van een UNIX-signaal naar de " "Authenticatie is vereist voor het zenden van een UNIX-signaal naar de "
"processen van '$(unit)'." "processen van '$(unit)'."
#: src/core/dbus-unit.c:577 #: src/core/dbus-unit.c:594
msgid "Authentication is required to reset the \"failed\" state of '$(unit)'." msgid "Authentication is required to reset the \"failed\" state of '$(unit)'."
msgstr "" msgstr ""
"Authenticatie is vereist voor het terugzetten van de toestand \"failed\" van " "Authenticatie is vereist voor het terugzetten van de toestand \"failed\" van "
"'$(unit)'." "'$(unit)'."
#: src/core/dbus-unit.c:607 #: src/core/dbus-unit.c:624
msgid "Authentication is required to set properties on '$(unit)'." msgid "Authentication is required to set properties on '$(unit)'."
msgstr "" msgstr ""
"Authenticatie is vereist voor het instellen van de eigenschappen van " "Authenticatie is vereist voor het instellen van de eigenschappen van "
"'$(unit)'." "'$(unit)'."
#: src/core/dbus-unit.c:704 #: src/core/dbus-unit.c:721
msgid "" msgid ""
"Authentication is required to delete files and directories associated with " "Authentication is required to delete files and directories associated with "
"'$(unit)'." "'$(unit)'."
@ -1403,7 +1425,7 @@ msgstr ""
"Authenticatie is vereist voor het verwijderen van bestanden en mappen die " "Authenticatie is vereist voor het verwijderen van bestanden en mappen die "
"gerelateerd zijn aan '$(unit)'." "gerelateerd zijn aan '$(unit)'."
#: src/core/dbus-unit.c:741 #: src/core/dbus-unit.c:758
msgid "" msgid ""
"Authentication is required to freeze or thaw the processes of '$(unit)' unit." "Authentication is required to freeze or thaw the processes of '$(unit)' unit."
msgstr "" msgstr ""

View File

@ -5,7 +5,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-08-23 15:33+0200\n" "POT-Creation-Date: 2024-11-06 14:42+0000\n"
"PO-Revision-Date: 2024-01-16 14:35+0000\n" "PO-Revision-Date: 2024-01-16 14:35+0000\n"
"Last-Translator: A S Alam <aalam@users.noreply.translate.fedoraproject.org>\n" "Last-Translator: A S Alam <aalam@users.noreply.translate.fedoraproject.org>\n"
"Language-Team: Punjabi <https://translate.fedoraproject.org/projects/systemd/" "Language-Team: Punjabi <https://translate.fedoraproject.org/projects/systemd/"
@ -104,28 +104,38 @@ msgid "Authentication is required to update a user's home area."
msgstr "ਵਰਤੋਂਕਾਰ ਦੇ ਹੋਮ ਖੇਤਰ ਨੂੰ ਅੱਪਡੇਟ ਕਰਨ ਲਈ ਪਰਮਾਣਿਕਤਾ ਚਾਹੀਦੀ ਹੈ।" msgstr "ਵਰਤੋਂਕਾਰ ਦੇ ਹੋਮ ਖੇਤਰ ਨੂੰ ਅੱਪਡੇਟ ਕਰਨ ਲਈ ਪਰਮਾਣਿਕਤਾ ਚਾਹੀਦੀ ਹੈ।"
#: src/home/org.freedesktop.home1.policy:53 #: src/home/org.freedesktop.home1.policy:53
#, fuzzy
msgid "Update your home area"
msgstr "ਹੋਮ ਖੇਤਰ ਨੂੰ ਅੱਪਡੇਟ ਕਰੋ"
#: src/home/org.freedesktop.home1.policy:54
#, fuzzy
msgid "Authentication is required to update your home area."
msgstr "ਵਰਤੋਂਕਾਰ ਦੇ ਹੋਮ ਖੇਤਰ ਨੂੰ ਅੱਪਡੇਟ ਕਰਨ ਲਈ ਪਰਮਾਣਿਕਤਾ ਚਾਹੀਦੀ ਹੈ।"
#: src/home/org.freedesktop.home1.policy:63
msgid "Resize a home area" msgid "Resize a home area"
msgstr "ਹੋਮ ਖੇਤਰ ਦਾ ਆਕਾਰ ਬਦਲੋ" msgstr "ਹੋਮ ਖੇਤਰ ਦਾ ਆਕਾਰ ਬਦਲੋ"
#: src/home/org.freedesktop.home1.policy:54 #: src/home/org.freedesktop.home1.policy:64
msgid "Authentication is required to resize a user's home area." msgid "Authentication is required to resize a user's home area."
msgstr "ਵਰਤੋਂਕਾਰ ਦੇ ਹੋਮ ਖੇਤਰ ਦੇ ਆਕਰ ਨੂੰ ਬਦਲਣ ਲਈ ਪਰਮਾਣਿਕਤਾ ਚਾਹੀਦੀ ਹੈ।" msgstr "ਵਰਤੋਂਕਾਰ ਦੇ ਹੋਮ ਖੇਤਰ ਦੇ ਆਕਰ ਨੂੰ ਬਦਲਣ ਲਈ ਪਰਮਾਣਿਕਤਾ ਚਾਹੀਦੀ ਹੈ।"
#: src/home/org.freedesktop.home1.policy:63 #: src/home/org.freedesktop.home1.policy:73
msgid "Change password of a home area" msgid "Change password of a home area"
msgstr "ਹੋਮ ਖੇਤਰ ਲਈ ਪਾਸਵਰਡ ਬਦਲੋ" msgstr "ਹੋਮ ਖੇਤਰ ਲਈ ਪਾਸਵਰਡ ਬਦਲੋ"
#: src/home/org.freedesktop.home1.policy:64 #: src/home/org.freedesktop.home1.policy:74
msgid "" msgid ""
"Authentication is required to change the password of a user's home area." "Authentication is required to change the password of a user's home area."
msgstr "ਵਰਤੋਂਕਾਰ ਦੇ ਹੋਮ ਖੇਤਰ ਲਈ ਪਾਸਵਰਡ ਨੂੰ ਬਦਲਣ ਲਈ ਪਰਮਾਣਿਕਤਾ ਚਾਹੀਦੀ ਹੈ।" msgstr "ਵਰਤੋਂਕਾਰ ਦੇ ਹੋਮ ਖੇਤਰ ਲਈ ਪਾਸਵਰਡ ਨੂੰ ਬਦਲਣ ਲਈ ਪਰਮਾਣਿਕਤਾ ਚਾਹੀਦੀ ਹੈ।"
#: src/home/org.freedesktop.home1.policy:73 #: src/home/org.freedesktop.home1.policy:83
#, fuzzy #, fuzzy
msgid "Activate a home area" msgid "Activate a home area"
msgstr "ਹੋਮ ਖੇਤਰ ਬਣਾਓ" msgstr "ਹੋਮ ਖੇਤਰ ਬਣਾਓ"
#: src/home/org.freedesktop.home1.policy:74 #: src/home/org.freedesktop.home1.policy:84
#, fuzzy #, fuzzy
msgid "Authentication is required to activate a user's home area." msgid "Authentication is required to activate a user's home area."
msgstr "ਵਰਤੋਂਕਾਰ ਦੇ ਹੋਮ ਖੇਤਰ ਨੂੰ ਬਣਾਉਣ ਲਈ ਪਰਮਾਣਿਕਤਾ ਚਾਹੀਦੀ ਹੈ।" msgstr "ਵਰਤੋਂਕਾਰ ਦੇ ਹੋਮ ਖੇਤਰ ਨੂੰ ਬਣਾਉਣ ਲਈ ਪਰਮਾਣਿਕਤਾ ਚਾਹੀਦੀ ਹੈ।"
@ -1083,6 +1093,15 @@ msgstr ""
msgid "Authentication is required to cleanup old system updates." msgid "Authentication is required to cleanup old system updates."
msgstr "ਸਿਸਟਮ ਟਾਈਮ ਸੈੱਟ ਕਰਨ ਲਈ ਪਰਮਾਣਕਿਤਾ ਚਾਹੀਦੀ ਹੈ।" msgstr "ਸਿਸਟਮ ਟਾਈਮ ਸੈੱਟ ਕਰਨ ਲਈ ਪਰਮਾਣਕਿਤਾ ਚਾਹੀਦੀ ਹੈ।"
#: src/sysupdate/org.freedesktop.sysupdate1.policy:75
msgid "Manage optional features"
msgstr ""
#: src/sysupdate/org.freedesktop.sysupdate1.policy:76
#, fuzzy
msgid "Authentication is required to manage optional features"
msgstr "ਸਿਸਟਮ ਸੇਵਾਵਾਂ ਜਾਂ ਯੂਨਿਟ ਫ਼ਾਇਲਾਂ ਦਾ ਇੰਤਜ਼ਾਮ ਕਰਨ ਲਈ ਪਰਮਾਣਕਿਤਾ ਚਾਹੀਦੀ ਹੈ।"
#: src/timedate/org.freedesktop.timedate1.policy:22 #: src/timedate/org.freedesktop.timedate1.policy:22
msgid "Set system time" msgid "Set system time"
msgstr "ਸਿਸਟਮ ਸਮਾੰ ਸੈੱਟ ਕਰੋ" msgstr "ਸਿਸਟਮ ਸਮਾੰ ਸੈੱਟ ਕਰੋ"
@ -1119,43 +1138,43 @@ msgid ""
"shall be enabled." "shall be enabled."
msgstr "" msgstr ""
#: src/core/dbus-unit.c:353 #: src/core/dbus-unit.c:370
msgid "Authentication is required to start '$(unit)'." msgid "Authentication is required to start '$(unit)'."
msgstr "'$(unit)' ਨੂੰ ਸ਼ੁਰੂ ਕਰਨ ਲਈ ਪਰਮਾਣਕਿਤਾ ਚਾਹੀਦੀ ਹੈ।" msgstr "'$(unit)' ਨੂੰ ਸ਼ੁਰੂ ਕਰਨ ਲਈ ਪਰਮਾਣਕਿਤਾ ਚਾਹੀਦੀ ਹੈ।"
#: src/core/dbus-unit.c:354 #: src/core/dbus-unit.c:371
msgid "Authentication is required to stop '$(unit)'." msgid "Authentication is required to stop '$(unit)'."
msgstr "'$(unit)' ਨੂੰ ਰੋਕਣ ਕਰਨ ਲਈ ਪਰਮਾਣਕਿਤਾ ਚਾਹੀਦੀ ਹੈ।" msgstr "'$(unit)' ਨੂੰ ਰੋਕਣ ਕਰਨ ਲਈ ਪਰਮਾਣਕਿਤਾ ਚਾਹੀਦੀ ਹੈ।"
#: src/core/dbus-unit.c:355 #: src/core/dbus-unit.c:372
msgid "Authentication is required to reload '$(unit)'." msgid "Authentication is required to reload '$(unit)'."
msgstr "'$(unit)' ਨੂੰ ਮੁੜ-ਲੋਡ (reload) ਕਰਨ ਲਈ ਪਰਮਾਣਕਿਤਾ ਚਾਹੀਦੀ ਹੈ।" msgstr "'$(unit)' ਨੂੰ ਮੁੜ-ਲੋਡ (reload) ਕਰਨ ਲਈ ਪਰਮਾਣਕਿਤਾ ਚਾਹੀਦੀ ਹੈ।"
#: src/core/dbus-unit.c:356 src/core/dbus-unit.c:357 #: src/core/dbus-unit.c:373 src/core/dbus-unit.c:374
msgid "Authentication is required to restart '$(unit)'." msgid "Authentication is required to restart '$(unit)'."
msgstr "'$(unit)' ਨੂੰ ਮੁੜ-ਸ਼ੁਰੂ (restart) ਕਰਨ ਲਈ ਪਰਮਾਣਕਿਤਾ ਚਾਹੀਦੀ ਹੈ।" msgstr "'$(unit)' ਨੂੰ ਮੁੜ-ਸ਼ੁਰੂ (restart) ਕਰਨ ਲਈ ਪਰਮਾਣਕਿਤਾ ਚਾਹੀਦੀ ਹੈ।"
#: src/core/dbus-unit.c:549 #: src/core/dbus-unit.c:566
msgid "" msgid ""
"Authentication is required to send a UNIX signal to the processes of " "Authentication is required to send a UNIX signal to the processes of "
"'$(unit)'." "'$(unit)'."
msgstr "" msgstr ""
#: src/core/dbus-unit.c:577 #: src/core/dbus-unit.c:594
msgid "Authentication is required to reset the \"failed\" state of '$(unit)'." msgid "Authentication is required to reset the \"failed\" state of '$(unit)'."
msgstr "" msgstr ""
#: src/core/dbus-unit.c:607 #: src/core/dbus-unit.c:624
msgid "Authentication is required to set properties on '$(unit)'." msgid "Authentication is required to set properties on '$(unit)'."
msgstr "" msgstr ""
#: src/core/dbus-unit.c:704 #: src/core/dbus-unit.c:721
msgid "" msgid ""
"Authentication is required to delete files and directories associated with " "Authentication is required to delete files and directories associated with "
"'$(unit)'." "'$(unit)'."
msgstr "" msgstr ""
#: src/core/dbus-unit.c:741 #: src/core/dbus-unit.c:758
msgid "" msgid ""
"Authentication is required to freeze or thaw the processes of '$(unit)' unit." "Authentication is required to freeze or thaw the processes of '$(unit)' unit."
msgstr "" msgstr ""

View File

@ -6,7 +6,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-08-23 15:33+0200\n" "POT-Creation-Date: 2024-11-06 14:42+0000\n"
"PO-Revision-Date: 2024-08-24 10:36+0000\n" "PO-Revision-Date: 2024-08-24 10:36+0000\n"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n" "Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Polish <https://translate.fedoraproject.org/projects/systemd/" "Language-Team: Polish <https://translate.fedoraproject.org/projects/systemd/"
@ -122,31 +122,43 @@ msgstr ""
"użytkownika." "użytkownika."
#: src/home/org.freedesktop.home1.policy:53 #: src/home/org.freedesktop.home1.policy:53
#, fuzzy
msgid "Update your home area"
msgstr "Aktualizacja przestrzeni domowej"
#: src/home/org.freedesktop.home1.policy:54
#, fuzzy
msgid "Authentication is required to update your home area."
msgstr ""
"Wymagane jest uwierzytelnienie, aby zaktualizować przestrzeń domową "
"użytkownika."
#: src/home/org.freedesktop.home1.policy:63
msgid "Resize a home area" msgid "Resize a home area"
msgstr "Zmiana rozmiaru przestrzeni domowej" msgstr "Zmiana rozmiaru przestrzeni domowej"
#: src/home/org.freedesktop.home1.policy:54 #: src/home/org.freedesktop.home1.policy:64
msgid "Authentication is required to resize a user's home area." msgid "Authentication is required to resize a user's home area."
msgstr "" msgstr ""
"Wymagane jest uwierzytelnienie, aby zmienić rozmiar przestrzeni domowej " "Wymagane jest uwierzytelnienie, aby zmienić rozmiar przestrzeni domowej "
"użytkownika." "użytkownika."
#: src/home/org.freedesktop.home1.policy:63 #: src/home/org.freedesktop.home1.policy:73
msgid "Change password of a home area" msgid "Change password of a home area"
msgstr "Zmiana hasła przestrzeni domowej" msgstr "Zmiana hasła przestrzeni domowej"
#: src/home/org.freedesktop.home1.policy:64 #: src/home/org.freedesktop.home1.policy:74
msgid "" msgid ""
"Authentication is required to change the password of a user's home area." "Authentication is required to change the password of a user's home area."
msgstr "" msgstr ""
"Wymagane jest uwierzytelnienie, aby zmienić hasło przestrzeni domowej " "Wymagane jest uwierzytelnienie, aby zmienić hasło przestrzeni domowej "
"użytkownika." "użytkownika."
#: src/home/org.freedesktop.home1.policy:73 #: src/home/org.freedesktop.home1.policy:83
msgid "Activate a home area" msgid "Activate a home area"
msgstr "Aktywowanie przestrzeni domowej" msgstr "Aktywowanie przestrzeni domowej"
#: src/home/org.freedesktop.home1.policy:74 #: src/home/org.freedesktop.home1.policy:84
msgid "Authentication is required to activate a user's home area." msgid "Authentication is required to activate a user's home area."
msgstr "" msgstr ""
"Wymagane jest uwierzytelnienie, aby aktywować przestrzeń domową użytkownika." "Wymagane jest uwierzytelnienie, aby aktywować przestrzeń domową użytkownika."
@ -1185,8 +1197,8 @@ msgid ""
"Authentication is required to update the system to a specific (possibly old) " "Authentication is required to update the system to a specific (possibly old) "
"version." "version."
msgstr "" msgstr ""
"Wymagane jest uwierzytelnienie, aby zaktualizować system do konkretnej (" "Wymagane jest uwierzytelnienie, aby zaktualizować system do konkretnej "
"możliwie, że poprzedniej) wersji." "(możliwie, że poprzedniej) wersji."
#: src/sysupdate/org.freedesktop.sysupdate1.policy:65 #: src/sysupdate/org.freedesktop.sysupdate1.policy:65
msgid "Cleanup old system updates" msgid "Cleanup old system updates"
@ -1198,6 +1210,17 @@ msgstr ""
"Wymagane jest uwierzytelnienie, aby wyczyścić poprzednie aktualizacje " "Wymagane jest uwierzytelnienie, aby wyczyścić poprzednie aktualizacje "
"systemu." "systemu."
#: src/sysupdate/org.freedesktop.sysupdate1.policy:75
msgid "Manage optional features"
msgstr ""
#: src/sysupdate/org.freedesktop.sysupdate1.policy:76
#, fuzzy
msgid "Authentication is required to manage optional features"
msgstr ""
"Wymagane jest uwierzytelnienie, aby zarządzać aktywnymi sesjami, "
"użytkownikami i stanowiskami."
#: src/timedate/org.freedesktop.timedate1.policy:22 #: src/timedate/org.freedesktop.timedate1.policy:22
msgid "Set system time" msgid "Set system time"
msgstr "Ustawienie czasu systemu" msgstr "Ustawienie czasu systemu"
@ -1238,25 +1261,25 @@ msgstr ""
"Wymagane jest uwierzytelnienie, aby kontrolować, czy włączyć synchronizację " "Wymagane jest uwierzytelnienie, aby kontrolować, czy włączyć synchronizację "
"czasu przez sieć." "czasu przez sieć."
#: src/core/dbus-unit.c:353 #: src/core/dbus-unit.c:370
msgid "Authentication is required to start '$(unit)'." msgid "Authentication is required to start '$(unit)'."
msgstr "Wymagane jest uwierzytelnienie, aby uruchomić jednostkę „$(unit)”." msgstr "Wymagane jest uwierzytelnienie, aby uruchomić jednostkę „$(unit)”."
#: src/core/dbus-unit.c:354 #: src/core/dbus-unit.c:371
msgid "Authentication is required to stop '$(unit)'." msgid "Authentication is required to stop '$(unit)'."
msgstr "Wymagane jest uwierzytelnienie, aby zatrzymać jednostkę „$(unit)”." msgstr "Wymagane jest uwierzytelnienie, aby zatrzymać jednostkę „$(unit)”."
#: src/core/dbus-unit.c:355 #: src/core/dbus-unit.c:372
msgid "Authentication is required to reload '$(unit)'." msgid "Authentication is required to reload '$(unit)'."
msgstr "" msgstr ""
"Wymagane jest uwierzytelnienie, aby ponownie wczytać jednostkę „$(unit)”." "Wymagane jest uwierzytelnienie, aby ponownie wczytać jednostkę „$(unit)”."
#: src/core/dbus-unit.c:356 src/core/dbus-unit.c:357 #: src/core/dbus-unit.c:373 src/core/dbus-unit.c:374
msgid "Authentication is required to restart '$(unit)'." msgid "Authentication is required to restart '$(unit)'."
msgstr "" msgstr ""
"Wymagane jest uwierzytelnienie, aby ponownie uruchomić jednostkę „$(unit)”." "Wymagane jest uwierzytelnienie, aby ponownie uruchomić jednostkę „$(unit)”."
#: src/core/dbus-unit.c:549 #: src/core/dbus-unit.c:566
msgid "" msgid ""
"Authentication is required to send a UNIX signal to the processes of " "Authentication is required to send a UNIX signal to the processes of "
"'$(unit)'." "'$(unit)'."
@ -1264,18 +1287,18 @@ msgstr ""
"Wymagane jest uwierzytelnienie, aby wysłać sygnał uniksowy do procesów " "Wymagane jest uwierzytelnienie, aby wysłać sygnał uniksowy do procesów "
"jednostki „$(unit)”." "jednostki „$(unit)”."
#: src/core/dbus-unit.c:577 #: src/core/dbus-unit.c:594
msgid "Authentication is required to reset the \"failed\" state of '$(unit)'." msgid "Authentication is required to reset the \"failed\" state of '$(unit)'."
msgstr "" msgstr ""
"Wymagane jest uwierzytelnienie, aby przywrócić stan „failed” (niepowodzenia) " "Wymagane jest uwierzytelnienie, aby przywrócić stan „failed” (niepowodzenia) "
"jednostki „$(unit)”." "jednostki „$(unit)”."
#: src/core/dbus-unit.c:607 #: src/core/dbus-unit.c:624
msgid "Authentication is required to set properties on '$(unit)'." msgid "Authentication is required to set properties on '$(unit)'."
msgstr "" msgstr ""
"Wymagane jest uwierzytelnienie, aby ustawić właściwości jednostki „$(unit)”." "Wymagane jest uwierzytelnienie, aby ustawić właściwości jednostki „$(unit)”."
#: src/core/dbus-unit.c:704 #: src/core/dbus-unit.c:721
msgid "" msgid ""
"Authentication is required to delete files and directories associated with " "Authentication is required to delete files and directories associated with "
"'$(unit)'." "'$(unit)'."
@ -1283,7 +1306,7 @@ msgstr ""
"Wymagane jest uwierzytelnienie, aby usunąć pliki i katalogi powiązane " "Wymagane jest uwierzytelnienie, aby usunąć pliki i katalogi powiązane "
"z jednostką „$(unit)”." "z jednostką „$(unit)”."
#: src/core/dbus-unit.c:741 #: src/core/dbus-unit.c:758
msgid "" msgid ""
"Authentication is required to freeze or thaw the processes of '$(unit)' unit." "Authentication is required to freeze or thaw the processes of '$(unit)' unit."
msgstr "" msgstr ""

View File

@ -6,7 +6,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-08-23 15:33+0200\n" "POT-Creation-Date: 2024-11-06 14:42+0000\n"
"PO-Revision-Date: 2024-05-31 07:36+0000\n" "PO-Revision-Date: 2024-05-31 07:36+0000\n"
"Last-Translator: Tiago Rocha Cunha <tiagocunha.me@gmail.com>\n" "Last-Translator: Tiago Rocha Cunha <tiagocunha.me@gmail.com>\n"
"Language-Team: Portuguese <https://translate.fedoraproject.org/projects/" "Language-Team: Portuguese <https://translate.fedoraproject.org/projects/"
@ -117,30 +117,40 @@ msgid "Authentication is required to update a user's home area."
msgstr "É necessária autenticação para atualizar a área home de um utilizador." msgstr "É necessária autenticação para atualizar a área home de um utilizador."
#: src/home/org.freedesktop.home1.policy:53 #: src/home/org.freedesktop.home1.policy:53
#, fuzzy
msgid "Update your home area"
msgstr "Atualizar uma área home"
#: src/home/org.freedesktop.home1.policy:54
#, fuzzy
msgid "Authentication is required to update your home area."
msgstr "É necessária autenticação para atualizar a área home de um utilizador."
#: src/home/org.freedesktop.home1.policy:63
msgid "Resize a home area" msgid "Resize a home area"
msgstr "Redimensionar uma área home" msgstr "Redimensionar uma área home"
#: src/home/org.freedesktop.home1.policy:54 #: src/home/org.freedesktop.home1.policy:64
msgid "Authentication is required to resize a user's home area." msgid "Authentication is required to resize a user's home area."
msgstr "" msgstr ""
"É necessária autenticação para redimensionar a área home de um utilizador." "É necessária autenticação para redimensionar a área home de um utilizador."
#: src/home/org.freedesktop.home1.policy:63 #: src/home/org.freedesktop.home1.policy:73
msgid "Change password of a home area" msgid "Change password of a home area"
msgstr "Alterar palavra-passe de uma área home" msgstr "Alterar palavra-passe de uma área home"
#: src/home/org.freedesktop.home1.policy:64 #: src/home/org.freedesktop.home1.policy:74
msgid "" msgid ""
"Authentication is required to change the password of a user's home area." "Authentication is required to change the password of a user's home area."
msgstr "" msgstr ""
"É necessária autenticação para alterar a palavra-passe da área home de um " "É necessária autenticação para alterar a palavra-passe da área home de um "
"utilizador." "utilizador."
#: src/home/org.freedesktop.home1.policy:73 #: src/home/org.freedesktop.home1.policy:83
msgid "Activate a home area" msgid "Activate a home area"
msgstr "Ativar uma área home" msgstr "Ativar uma área home"
#: src/home/org.freedesktop.home1.policy:74 #: src/home/org.freedesktop.home1.policy:84
msgid "Authentication is required to activate a user's home area." msgid "Authentication is required to activate a user's home area."
msgstr "É necessária autenticação para ativar a área home de um usuário." msgstr "É necessária autenticação para ativar a área home de um usuário."
@ -1206,6 +1216,16 @@ msgstr ""
msgid "Authentication is required to cleanup old system updates." msgid "Authentication is required to cleanup old system updates."
msgstr "É necessária autenticação para definir o horário do sistema." msgstr "É necessária autenticação para definir o horário do sistema."
#: src/sysupdate/org.freedesktop.sysupdate1.policy:75
msgid "Manage optional features"
msgstr ""
#: src/sysupdate/org.freedesktop.sysupdate1.policy:76
#, fuzzy
msgid "Authentication is required to manage optional features"
msgstr ""
"É necessária autenticação para gerir estações, utilizadores e sessões ativas."
#: src/timedate/org.freedesktop.timedate1.policy:22 #: src/timedate/org.freedesktop.timedate1.policy:22
msgid "Set system time" msgid "Set system time"
msgstr "Definir horário do sistema" msgstr "Definir horário do sistema"
@ -1246,23 +1266,23 @@ msgstr ""
"É necessária autenticação para controlar se deve ser habilitada, ou não, a " "É necessária autenticação para controlar se deve ser habilitada, ou não, a "
"sincronização de horário através de rede." "sincronização de horário através de rede."
#: src/core/dbus-unit.c:353 #: src/core/dbus-unit.c:370
msgid "Authentication is required to start '$(unit)'." msgid "Authentication is required to start '$(unit)'."
msgstr "É necessária autenticação para iniciar '$(unit)'." msgstr "É necessária autenticação para iniciar '$(unit)'."
#: src/core/dbus-unit.c:354 #: src/core/dbus-unit.c:371
msgid "Authentication is required to stop '$(unit)'." msgid "Authentication is required to stop '$(unit)'."
msgstr "É necessária autenticação para parar '$(unit)'." msgstr "É necessária autenticação para parar '$(unit)'."
#: src/core/dbus-unit.c:355 #: src/core/dbus-unit.c:372
msgid "Authentication is required to reload '$(unit)'." msgid "Authentication is required to reload '$(unit)'."
msgstr "É necessária autenticação para recarregar '$(unit)'." msgstr "É necessária autenticação para recarregar '$(unit)'."
#: src/core/dbus-unit.c:356 src/core/dbus-unit.c:357 #: src/core/dbus-unit.c:373 src/core/dbus-unit.c:374
msgid "Authentication is required to restart '$(unit)'." msgid "Authentication is required to restart '$(unit)'."
msgstr "É necessária autenticação para reiniciar '$(unit)'." msgstr "É necessária autenticação para reiniciar '$(unit)'."
#: src/core/dbus-unit.c:549 #: src/core/dbus-unit.c:566
msgid "" msgid ""
"Authentication is required to send a UNIX signal to the processes of " "Authentication is required to send a UNIX signal to the processes of "
"'$(unit)'." "'$(unit)'."
@ -1270,16 +1290,16 @@ msgstr ""
"É necessária autenticação para enviar um sinal UNIX para os processos de " "É necessária autenticação para enviar um sinal UNIX para os processos de "
"'$(unit)'." "'$(unit)'."
#: src/core/dbus-unit.c:577 #: src/core/dbus-unit.c:594
msgid "Authentication is required to reset the \"failed\" state of '$(unit)'." msgid "Authentication is required to reset the \"failed\" state of '$(unit)'."
msgstr "" msgstr ""
"É necessária autenticação para reiniciar o estado “failed” de '$(unit)'." "É necessária autenticação para reiniciar o estado “failed” de '$(unit)'."
#: src/core/dbus-unit.c:607 #: src/core/dbus-unit.c:624
msgid "Authentication is required to set properties on '$(unit)'." msgid "Authentication is required to set properties on '$(unit)'."
msgstr "É necessária autenticação para definir propriedades em '$(unit)'." msgstr "É necessária autenticação para definir propriedades em '$(unit)'."
#: src/core/dbus-unit.c:704 #: src/core/dbus-unit.c:721
msgid "" msgid ""
"Authentication is required to delete files and directories associated with " "Authentication is required to delete files and directories associated with "
"'$(unit)'." "'$(unit)'."
@ -1287,7 +1307,7 @@ msgstr ""
"É necessária autenticação para eliminar ficheiros e diretórios associados " "É necessária autenticação para eliminar ficheiros e diretórios associados "
"com '$(unit)'." "com '$(unit)'."
#: src/core/dbus-unit.c:741 #: src/core/dbus-unit.c:758
msgid "" msgid ""
"Authentication is required to freeze or thaw the processes of '$(unit)' unit." "Authentication is required to freeze or thaw the processes of '$(unit)' unit."
msgstr "" msgstr ""

View File

@ -11,7 +11,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-08-23 15:33+0200\n" "POT-Creation-Date: 2024-11-06 14:42+0000\n"
"PO-Revision-Date: 2024-09-25 01:07+0000\n" "PO-Revision-Date: 2024-09-25 01:07+0000\n"
"Last-Translator: Fábio Rodrigues Ribeiro <farribeiro@gmail.com>\n" "Last-Translator: Fábio Rodrigues Ribeiro <farribeiro@gmail.com>\n"
"Language-Team: Portuguese (Brazil) <https://translate.fedoraproject.org/" "Language-Team: Portuguese (Brazil) <https://translate.fedoraproject.org/"
@ -124,29 +124,39 @@ msgid "Authentication is required to update a user's home area."
msgstr "É necessária autenticação para atualizar a área home de um usuário." msgstr "É necessária autenticação para atualizar a área home de um usuário."
#: src/home/org.freedesktop.home1.policy:53 #: src/home/org.freedesktop.home1.policy:53
#, fuzzy
msgid "Update your home area"
msgstr "Atualizar uma área home"
#: src/home/org.freedesktop.home1.policy:54
#, fuzzy
msgid "Authentication is required to update your home area."
msgstr "É necessária autenticação para atualizar a área home de um usuário."
#: src/home/org.freedesktop.home1.policy:63
msgid "Resize a home area" msgid "Resize a home area"
msgstr "Redimensionar uma área home" msgstr "Redimensionar uma área home"
#: src/home/org.freedesktop.home1.policy:54 #: src/home/org.freedesktop.home1.policy:64
msgid "Authentication is required to resize a user's home area." msgid "Authentication is required to resize a user's home area."
msgstr "" msgstr ""
"É necessária autenticação para redimensionar a área home de um usuário." "É necessária autenticação para redimensionar a área home de um usuário."
#: src/home/org.freedesktop.home1.policy:63 #: src/home/org.freedesktop.home1.policy:73
msgid "Change password of a home area" msgid "Change password of a home area"
msgstr "Alterar senha de uma área home" msgstr "Alterar senha de uma área home"
#: src/home/org.freedesktop.home1.policy:64 #: src/home/org.freedesktop.home1.policy:74
msgid "" msgid ""
"Authentication is required to change the password of a user's home area." "Authentication is required to change the password of a user's home area."
msgstr "" msgstr ""
"É necessária autenticação para alterar a senha da área home de um usuário." "É necessária autenticação para alterar a senha da área home de um usuário."
#: src/home/org.freedesktop.home1.policy:73 #: src/home/org.freedesktop.home1.policy:83
msgid "Activate a home area" msgid "Activate a home area"
msgstr "Ativar uma área home" msgstr "Ativar uma área home"
#: src/home/org.freedesktop.home1.policy:74 #: src/home/org.freedesktop.home1.policy:84
#, fuzzy #, fuzzy
msgid "Authentication is required to activate a user's home area." msgid "Authentication is required to activate a user's home area."
msgstr "É necessária autenticação para criar a área home de um usuário." msgstr "É necessária autenticação para criar a área home de um usuário."
@ -1199,6 +1209,17 @@ msgstr "Limpar velhas atualizações do sistema"
msgid "Authentication is required to cleanup old system updates." msgid "Authentication is required to cleanup old system updates."
msgstr "É necessária autenticação para definir o horário do sistema." msgstr "É necessária autenticação para definir o horário do sistema."
#: src/sysupdate/org.freedesktop.sysupdate1.policy:75
msgid "Manage optional features"
msgstr ""
#: src/sysupdate/org.freedesktop.sysupdate1.policy:76
#, fuzzy
msgid "Authentication is required to manage optional features"
msgstr ""
"A autenticação é necessária para gerenciar sessões ativas, usuários e "
"estações."
#: src/timedate/org.freedesktop.timedate1.policy:22 #: src/timedate/org.freedesktop.timedate1.policy:22
msgid "Set system time" msgid "Set system time"
msgstr "Definir horário do sistema" msgstr "Definir horário do sistema"
@ -1239,23 +1260,23 @@ msgstr ""
"É necessária autenticação para controlar se deve ser habilitada, ou não, a " "É necessária autenticação para controlar se deve ser habilitada, ou não, a "
"sincronização de horário através de rede." "sincronização de horário através de rede."
#: src/core/dbus-unit.c:353 #: src/core/dbus-unit.c:370
msgid "Authentication is required to start '$(unit)'." msgid "Authentication is required to start '$(unit)'."
msgstr "É necessária autenticação para iniciar “$(unit)”." msgstr "É necessária autenticação para iniciar “$(unit)”."
#: src/core/dbus-unit.c:354 #: src/core/dbus-unit.c:371
msgid "Authentication is required to stop '$(unit)'." msgid "Authentication is required to stop '$(unit)'."
msgstr "É necessária autenticação para parar “$(unit)”." msgstr "É necessária autenticação para parar “$(unit)”."
#: src/core/dbus-unit.c:355 #: src/core/dbus-unit.c:372
msgid "Authentication is required to reload '$(unit)'." msgid "Authentication is required to reload '$(unit)'."
msgstr "É necessária autenticação para recarregar “$(unit)”." msgstr "É necessária autenticação para recarregar “$(unit)”."
#: src/core/dbus-unit.c:356 src/core/dbus-unit.c:357 #: src/core/dbus-unit.c:373 src/core/dbus-unit.c:374
msgid "Authentication is required to restart '$(unit)'." msgid "Authentication is required to restart '$(unit)'."
msgstr "É necessária autenticação para reiniciar “$(unit)”." msgstr "É necessária autenticação para reiniciar “$(unit)”."
#: src/core/dbus-unit.c:549 #: src/core/dbus-unit.c:566
msgid "" msgid ""
"Authentication is required to send a UNIX signal to the processes of " "Authentication is required to send a UNIX signal to the processes of "
"'$(unit)'." "'$(unit)'."
@ -1263,16 +1284,16 @@ msgstr ""
"É necessária autenticação para enviar um sinal UNIX para os processos de " "É necessária autenticação para enviar um sinal UNIX para os processos de "
"“$(unit)”." "“$(unit)”."
#: src/core/dbus-unit.c:577 #: src/core/dbus-unit.c:594
msgid "Authentication is required to reset the \"failed\" state of '$(unit)'." msgid "Authentication is required to reset the \"failed\" state of '$(unit)'."
msgstr "" msgstr ""
"É necessária autenticação para reiniciar o estado “failed” de “$(unit)”." "É necessária autenticação para reiniciar o estado “failed” de “$(unit)”."
#: src/core/dbus-unit.c:607 #: src/core/dbus-unit.c:624
msgid "Authentication is required to set properties on '$(unit)'." msgid "Authentication is required to set properties on '$(unit)'."
msgstr "É necessária autenticação para definir propriedades em “$(unit)”." msgstr "É necessária autenticação para definir propriedades em “$(unit)”."
#: src/core/dbus-unit.c:704 #: src/core/dbus-unit.c:721
msgid "" msgid ""
"Authentication is required to delete files and directories associated with " "Authentication is required to delete files and directories associated with "
"'$(unit)'." "'$(unit)'."
@ -1280,7 +1301,7 @@ msgstr ""
"É necessária autenticação para excluir arquivos e diretórios associados com " "É necessária autenticação para excluir arquivos e diretórios associados com "
"“$(unit)”." "“$(unit)”."
#: src/core/dbus-unit.c:741 #: src/core/dbus-unit.c:758
msgid "" msgid ""
"Authentication is required to freeze or thaw the processes of '$(unit)' unit." "Authentication is required to freeze or thaw the processes of '$(unit)' unit."
msgstr "" msgstr ""

View File

@ -7,7 +7,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-08-23 15:33+0200\n" "POT-Creation-Date: 2024-11-06 14:42+0000\n"
"PO-Revision-Date: 2021-01-12 17:36+0000\n" "PO-Revision-Date: 2021-01-12 17:36+0000\n"
"Last-Translator: Vlad <milovlad@outlook.com>\n" "Last-Translator: Vlad <milovlad@outlook.com>\n"
"Language-Team: Romanian <https://translate.fedoraproject.org/projects/" "Language-Team: Romanian <https://translate.fedoraproject.org/projects/"
@ -125,32 +125,44 @@ msgstr ""
"utilizator." "utilizator."
#: src/home/org.freedesktop.home1.policy:53 #: src/home/org.freedesktop.home1.policy:53
#, fuzzy
msgid "Update your home area"
msgstr "Actualizează un spațiu personal"
#: src/home/org.freedesktop.home1.policy:54
#, fuzzy
msgid "Authentication is required to update your home area."
msgstr ""
"Autentificarea este necesară pentru a actualiza spațiul personal al unui "
"utilizator."
#: src/home/org.freedesktop.home1.policy:63
msgid "Resize a home area" msgid "Resize a home area"
msgstr "Redimensionează un spațiu personal" msgstr "Redimensionează un spațiu personal"
#: src/home/org.freedesktop.home1.policy:54 #: src/home/org.freedesktop.home1.policy:64
msgid "Authentication is required to resize a user's home area." msgid "Authentication is required to resize a user's home area."
msgstr "" msgstr ""
"Autentificarea este necesară pentru a redimensiona spațiul personal al unui " "Autentificarea este necesară pentru a redimensiona spațiul personal al unui "
"utilizator." "utilizator."
#: src/home/org.freedesktop.home1.policy:63 #: src/home/org.freedesktop.home1.policy:73
msgid "Change password of a home area" msgid "Change password of a home area"
msgstr "Schimbă parola pentru un spațiu personal" msgstr "Schimbă parola pentru un spațiu personal"
#: src/home/org.freedesktop.home1.policy:64 #: src/home/org.freedesktop.home1.policy:74
msgid "" msgid ""
"Authentication is required to change the password of a user's home area." "Authentication is required to change the password of a user's home area."
msgstr "" msgstr ""
"Autentificarea este necesară pentru schimbarea parolei unui spațiu personal " "Autentificarea este necesară pentru schimbarea parolei unui spațiu personal "
"al unui utilizator." "al unui utilizator."
#: src/home/org.freedesktop.home1.policy:73 #: src/home/org.freedesktop.home1.policy:83
#, fuzzy #, fuzzy
msgid "Activate a home area" msgid "Activate a home area"
msgstr "Crează un spațiu personal" msgstr "Crează un spațiu personal"
#: src/home/org.freedesktop.home1.policy:74 #: src/home/org.freedesktop.home1.policy:84
#, fuzzy #, fuzzy
msgid "Authentication is required to activate a user's home area." msgid "Authentication is required to activate a user's home area."
msgstr "" msgstr ""
@ -1228,6 +1240,17 @@ msgstr ""
msgid "Authentication is required to cleanup old system updates." msgid "Authentication is required to cleanup old system updates."
msgstr "Autentificarea este necesară pentru a seta ora sistemului." msgstr "Autentificarea este necesară pentru a seta ora sistemului."
#: src/sysupdate/org.freedesktop.sysupdate1.policy:75
msgid "Manage optional features"
msgstr ""
#: src/sysupdate/org.freedesktop.sysupdate1.policy:76
#, fuzzy
msgid "Authentication is required to manage optional features"
msgstr ""
"Autentificarea este necesară pentru gestionarea sesiunilor active, "
"utilizatorilor și stațiilor."
#: src/timedate/org.freedesktop.timedate1.policy:22 #: src/timedate/org.freedesktop.timedate1.policy:22
msgid "Set system time" msgid "Set system time"
msgstr "Setare oră sistem" msgstr "Setare oră sistem"
@ -1268,23 +1291,23 @@ msgstr ""
"Autentificarea este necesară pentru a controla dacă sincronizarea cu ora " "Autentificarea este necesară pentru a controla dacă sincronizarea cu ora "
"rețelei ar trebui activată." "rețelei ar trebui activată."
#: src/core/dbus-unit.c:353 #: src/core/dbus-unit.c:370
msgid "Authentication is required to start '$(unit)'." msgid "Authentication is required to start '$(unit)'."
msgstr "Autentificarea este necesară pentru a porni „$(unit)”." msgstr "Autentificarea este necesară pentru a porni „$(unit)”."
#: src/core/dbus-unit.c:354 #: src/core/dbus-unit.c:371
msgid "Authentication is required to stop '$(unit)'." msgid "Authentication is required to stop '$(unit)'."
msgstr "Autentificarea este necesară pentru a opri „$(unit)”." msgstr "Autentificarea este necesară pentru a opri „$(unit)”."
#: src/core/dbus-unit.c:355 #: src/core/dbus-unit.c:372
msgid "Authentication is required to reload '$(unit)'." msgid "Authentication is required to reload '$(unit)'."
msgstr "Autentificarea este necesară pentru a reîncărca „$(unit)”." msgstr "Autentificarea este necesară pentru a reîncărca „$(unit)”."
#: src/core/dbus-unit.c:356 src/core/dbus-unit.c:357 #: src/core/dbus-unit.c:373 src/core/dbus-unit.c:374
msgid "Authentication is required to restart '$(unit)'." msgid "Authentication is required to restart '$(unit)'."
msgstr "Autentificarea este necesară pentru a reporni „$(unit)”." msgstr "Autentificarea este necesară pentru a reporni „$(unit)”."
#: src/core/dbus-unit.c:549 #: src/core/dbus-unit.c:566
msgid "" msgid ""
"Authentication is required to send a UNIX signal to the processes of " "Authentication is required to send a UNIX signal to the processes of "
"'$(unit)'." "'$(unit)'."
@ -1292,17 +1315,17 @@ msgstr ""
"Autentificarea este necesară pentru a trimite un semnal UNIX către procesele " "Autentificarea este necesară pentru a trimite un semnal UNIX către procesele "
"unui „$(unit)”." "unui „$(unit)”."
#: src/core/dbus-unit.c:577 #: src/core/dbus-unit.c:594
msgid "Authentication is required to reset the \"failed\" state of '$(unit)'." msgid "Authentication is required to reset the \"failed\" state of '$(unit)'."
msgstr "" msgstr ""
"Autentificarea este necesară pentru a reseta starea „eșuată” a „$(unit)”." "Autentificarea este necesară pentru a reseta starea „eșuată” a „$(unit)”."
#: src/core/dbus-unit.c:607 #: src/core/dbus-unit.c:624
msgid "Authentication is required to set properties on '$(unit)'." msgid "Authentication is required to set properties on '$(unit)'."
msgstr "" msgstr ""
"Autentificarea este necesară pentru a seta proprietățile lui „$(unit)”." "Autentificarea este necesară pentru a seta proprietățile lui „$(unit)”."
#: src/core/dbus-unit.c:704 #: src/core/dbus-unit.c:721
msgid "" msgid ""
"Authentication is required to delete files and directories associated with " "Authentication is required to delete files and directories associated with "
"'$(unit)'." "'$(unit)'."
@ -1310,7 +1333,7 @@ msgstr ""
"Autentificarea este necesară pentru a șterge fișierele și directoarele " "Autentificarea este necesară pentru a șterge fișierele și directoarele "
"asociate lui „$(unit)”." "asociate lui „$(unit)”."
#: src/core/dbus-unit.c:741 #: src/core/dbus-unit.c:758
msgid "" msgid ""
"Authentication is required to freeze or thaw the processes of '$(unit)' unit." "Authentication is required to freeze or thaw the processes of '$(unit)' unit."
msgstr "" msgstr ""

View File

@ -13,7 +13,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-08-23 15:33+0200\n" "POT-Creation-Date: 2024-11-06 14:42+0000\n"
"PO-Revision-Date: 2024-08-25 11:38+0000\n" "PO-Revision-Date: 2024-08-25 11:38+0000\n"
"Last-Translator: \"Sergey A.\" <Ser82-png@yandex.ru>\n" "Last-Translator: \"Sergey A.\" <Ser82-png@yandex.ru>\n"
"Language-Team: Russian <https://translate.fedoraproject.org/projects/systemd/" "Language-Team: Russian <https://translate.fedoraproject.org/projects/systemd/"
@ -130,31 +130,43 @@ msgstr ""
"аутентификацию." "аутентификацию."
#: src/home/org.freedesktop.home1.policy:53 #: src/home/org.freedesktop.home1.policy:53
#, fuzzy
msgid "Update your home area"
msgstr "Обновить домашнее пространство"
#: src/home/org.freedesktop.home1.policy:54
#, fuzzy
msgid "Authentication is required to update your home area."
msgstr ""
"Чтобы обновить домашнее пространство пользователя, необходимо пройти "
"аутентификацию."
#: src/home/org.freedesktop.home1.policy:63
msgid "Resize a home area" msgid "Resize a home area"
msgstr "Изменить размер домашнего пространства" msgstr "Изменить размер домашнего пространства"
#: src/home/org.freedesktop.home1.policy:54 #: src/home/org.freedesktop.home1.policy:64
msgid "Authentication is required to resize a user's home area." msgid "Authentication is required to resize a user's home area."
msgstr "" msgstr ""
"Чтобы изменить размер домашнего пространства пользователя, необходимо пройти " "Чтобы изменить размер домашнего пространства пользователя, необходимо пройти "
"аутентификацию." "аутентификацию."
#: src/home/org.freedesktop.home1.policy:63 #: src/home/org.freedesktop.home1.policy:73
msgid "Change password of a home area" msgid "Change password of a home area"
msgstr "Изменить пароль для домашнего пространства" msgstr "Изменить пароль для домашнего пространства"
#: src/home/org.freedesktop.home1.policy:64 #: src/home/org.freedesktop.home1.policy:74
msgid "" msgid ""
"Authentication is required to change the password of a user's home area." "Authentication is required to change the password of a user's home area."
msgstr "" msgstr ""
"Чтобы изменить пароль для домашнего пространства пользователя, необходимо " "Чтобы изменить пароль для домашнего пространства пользователя, необходимо "
"пройти аутентификацию." "пройти аутентификацию."
#: src/home/org.freedesktop.home1.policy:73 #: src/home/org.freedesktop.home1.policy:83
msgid "Activate a home area" msgid "Activate a home area"
msgstr "Активация домашнего пространства" msgstr "Активация домашнего пространства"
#: src/home/org.freedesktop.home1.policy:74 #: src/home/org.freedesktop.home1.policy:84
msgid "Authentication is required to activate a user's home area." msgid "Authentication is required to activate a user's home area."
msgstr "" msgstr ""
"Чтобы активировать домашнее пространство пользователя, необходимо пройти " "Чтобы активировать домашнее пространство пользователя, необходимо пройти "
@ -1206,7 +1218,8 @@ msgstr "Дамп состояние сервера"
#: src/resolve/org.freedesktop.resolve1.policy:166 #: src/resolve/org.freedesktop.resolve1.policy:166
msgid "Authentication is required to dump server state." msgid "Authentication is required to dump server state."
msgstr "Чтобы создать дамп состояние сервера, необходимо пройти аутентификацию." msgstr ""
"Чтобы создать дамп состояние сервера, необходимо пройти аутентификацию."
#: src/resolve/org.freedesktop.resolve1.policy:176 #: src/resolve/org.freedesktop.resolve1.policy:176
msgid "Dump statistics" msgid "Dump statistics"
@ -1263,6 +1276,17 @@ msgstr ""
"Чтобы удалить устаревшие обновления системы, необходимо пройти " "Чтобы удалить устаревшие обновления системы, необходимо пройти "
"аутентификацию." "аутентификацию."
#: src/sysupdate/org.freedesktop.sysupdate1.policy:75
msgid "Manage optional features"
msgstr ""
#: src/sysupdate/org.freedesktop.sysupdate1.policy:76
#, fuzzy
msgid "Authentication is required to manage optional features"
msgstr ""
"Для управления текущими сеансами, пользователями и рабочими местами, "
"необходимо пройти аутентификацию."
#: src/timedate/org.freedesktop.timedate1.policy:22 #: src/timedate/org.freedesktop.timedate1.policy:22
msgid "Set system time" msgid "Set system time"
msgstr "Настроить системное время" msgstr "Настроить системное время"
@ -1303,25 +1327,25 @@ msgstr ""
"Чтобы включить или отключить синхронизацию времени по сети, необходимо " "Чтобы включить или отключить синхронизацию времени по сети, необходимо "
"пройти аутентификацию." "пройти аутентификацию."
#: src/core/dbus-unit.c:353 #: src/core/dbus-unit.c:370
msgid "Authentication is required to start '$(unit)'." msgid "Authentication is required to start '$(unit)'."
msgstr "Чтобы запустить «$(unit)», необходимо пройти аутентификацию." msgstr "Чтобы запустить «$(unit)», необходимо пройти аутентификацию."
#: src/core/dbus-unit.c:354 #: src/core/dbus-unit.c:371
msgid "Authentication is required to stop '$(unit)'." msgid "Authentication is required to stop '$(unit)'."
msgstr "Чтобы остановить «$(unit)», необходимо пройти аутентификацию." msgstr "Чтобы остановить «$(unit)», необходимо пройти аутентификацию."
#: src/core/dbus-unit.c:355 #: src/core/dbus-unit.c:372
msgid "Authentication is required to reload '$(unit)'." msgid "Authentication is required to reload '$(unit)'."
msgstr "" msgstr ""
"Чтобы заставить «$(unit)» перечитать конфигурацию, необходимо пройти " "Чтобы заставить «$(unit)» перечитать конфигурацию, необходимо пройти "
"аутентификацию." "аутентификацию."
#: src/core/dbus-unit.c:356 src/core/dbus-unit.c:357 #: src/core/dbus-unit.c:373 src/core/dbus-unit.c:374
msgid "Authentication is required to restart '$(unit)'." msgid "Authentication is required to restart '$(unit)'."
msgstr "Чтобы перезапустить «$(unit)», необходимо пройти аутентификацию." msgstr "Чтобы перезапустить «$(unit)», необходимо пройти аутентификацию."
#: src/core/dbus-unit.c:549 #: src/core/dbus-unit.c:566
msgid "" msgid ""
"Authentication is required to send a UNIX signal to the processes of " "Authentication is required to send a UNIX signal to the processes of "
"'$(unit)'." "'$(unit)'."
@ -1329,18 +1353,18 @@ msgstr ""
"Чтобы отправить сигнал UNIX процессам юнита «$(unit)», необходимо пройти " "Чтобы отправить сигнал UNIX процессам юнита «$(unit)», необходимо пройти "
"аутентификацию." "аутентификацию."
#: src/core/dbus-unit.c:577 #: src/core/dbus-unit.c:594
msgid "Authentication is required to reset the \"failed\" state of '$(unit)'." msgid "Authentication is required to reset the \"failed\" state of '$(unit)'."
msgstr "" msgstr ""
"Чтобы сбросить состояние «failed» у юнита «$(unit)», необходимо пройти " "Чтобы сбросить состояние «failed» у юнита «$(unit)», необходимо пройти "
"аутентификацию." "аутентификацию."
#: src/core/dbus-unit.c:607 #: src/core/dbus-unit.c:624
msgid "Authentication is required to set properties on '$(unit)'." msgid "Authentication is required to set properties on '$(unit)'."
msgstr "" msgstr ""
"Чтобы изменить параметры юнита «$(unit)», необходимо пройти аутентификацию." "Чтобы изменить параметры юнита «$(unit)», необходимо пройти аутентификацию."
#: src/core/dbus-unit.c:704 #: src/core/dbus-unit.c:721
msgid "" msgid ""
"Authentication is required to delete files and directories associated with " "Authentication is required to delete files and directories associated with "
"'$(unit)'." "'$(unit)'."
@ -1348,7 +1372,7 @@ msgstr ""
"Чтобы удалить файлы и директории, относящиеся к юниту «$(unit)», необходимо " "Чтобы удалить файлы и директории, относящиеся к юниту «$(unit)», необходимо "
"пройти аутентификацию." "пройти аутентификацию."
#: src/core/dbus-unit.c:741 #: src/core/dbus-unit.c:758
msgid "" msgid ""
"Authentication is required to freeze or thaw the processes of '$(unit)' unit." "Authentication is required to freeze or thaw the processes of '$(unit)' unit."
msgstr "" msgstr ""

View File

@ -5,7 +5,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-08-23 15:33+0200\n" "POT-Creation-Date: 2024-11-06 14:42+0000\n"
"PO-Revision-Date: 2021-08-19 07:04+0000\n" "PO-Revision-Date: 2021-08-19 07:04+0000\n"
"Last-Translator: Hela Basa <r45xveza@pm.me>\n" "Last-Translator: Hela Basa <r45xveza@pm.me>\n"
"Language-Team: Sinhala <https://translate.fedoraproject.org/projects/systemd/" "Language-Team: Sinhala <https://translate.fedoraproject.org/projects/systemd/"
@ -103,27 +103,35 @@ msgid "Authentication is required to update a user's home area."
msgstr "" msgstr ""
#: src/home/org.freedesktop.home1.policy:53 #: src/home/org.freedesktop.home1.policy:53
msgid "Resize a home area" msgid "Update your home area"
msgstr "" msgstr ""
#: src/home/org.freedesktop.home1.policy:54 #: src/home/org.freedesktop.home1.policy:54
msgid "Authentication is required to resize a user's home area." msgid "Authentication is required to update your home area."
msgstr "" msgstr ""
#: src/home/org.freedesktop.home1.policy:63 #: src/home/org.freedesktop.home1.policy:63
msgid "Change password of a home area" msgid "Resize a home area"
msgstr "" msgstr ""
#: src/home/org.freedesktop.home1.policy:64 #: src/home/org.freedesktop.home1.policy:64
msgid "Authentication is required to resize a user's home area."
msgstr ""
#: src/home/org.freedesktop.home1.policy:73
msgid "Change password of a home area"
msgstr ""
#: src/home/org.freedesktop.home1.policy:74
msgid "" msgid ""
"Authentication is required to change the password of a user's home area." "Authentication is required to change the password of a user's home area."
msgstr "" msgstr ""
#: src/home/org.freedesktop.home1.policy:73 #: src/home/org.freedesktop.home1.policy:83
msgid "Activate a home area" msgid "Activate a home area"
msgstr "" msgstr ""
#: src/home/org.freedesktop.home1.policy:74 #: src/home/org.freedesktop.home1.policy:84
msgid "Authentication is required to activate a user's home area." msgid "Authentication is required to activate a user's home area."
msgstr "" msgstr ""
@ -1062,6 +1070,14 @@ msgstr ""
msgid "Authentication is required to cleanup old system updates." msgid "Authentication is required to cleanup old system updates."
msgstr "" msgstr ""
#: src/sysupdate/org.freedesktop.sysupdate1.policy:75
msgid "Manage optional features"
msgstr ""
#: src/sysupdate/org.freedesktop.sysupdate1.policy:76
msgid "Authentication is required to manage optional features"
msgstr ""
#: src/timedate/org.freedesktop.timedate1.policy:22 #: src/timedate/org.freedesktop.timedate1.policy:22
msgid "Set system time" msgid "Set system time"
msgstr "පද්ධතියේ වේලාව සකසන්න" msgstr "පද්ධතියේ වේලාව සකසන්න"
@ -1098,43 +1114,43 @@ msgid ""
"shall be enabled." "shall be enabled."
msgstr "" msgstr ""
#: src/core/dbus-unit.c:353 #: src/core/dbus-unit.c:370
msgid "Authentication is required to start '$(unit)'." msgid "Authentication is required to start '$(unit)'."
msgstr "" msgstr ""
#: src/core/dbus-unit.c:354 #: src/core/dbus-unit.c:371
msgid "Authentication is required to stop '$(unit)'." msgid "Authentication is required to stop '$(unit)'."
msgstr "" msgstr ""
#: src/core/dbus-unit.c:355 #: src/core/dbus-unit.c:372
msgid "Authentication is required to reload '$(unit)'." msgid "Authentication is required to reload '$(unit)'."
msgstr "" msgstr ""
#: src/core/dbus-unit.c:356 src/core/dbus-unit.c:357 #: src/core/dbus-unit.c:373 src/core/dbus-unit.c:374
msgid "Authentication is required to restart '$(unit)'." msgid "Authentication is required to restart '$(unit)'."
msgstr "" msgstr ""
#: src/core/dbus-unit.c:549 #: src/core/dbus-unit.c:566
msgid "" msgid ""
"Authentication is required to send a UNIX signal to the processes of " "Authentication is required to send a UNIX signal to the processes of "
"'$(unit)'." "'$(unit)'."
msgstr "" msgstr ""
#: src/core/dbus-unit.c:577 #: src/core/dbus-unit.c:594
msgid "Authentication is required to reset the \"failed\" state of '$(unit)'." msgid "Authentication is required to reset the \"failed\" state of '$(unit)'."
msgstr "" msgstr ""
#: src/core/dbus-unit.c:607 #: src/core/dbus-unit.c:624
msgid "Authentication is required to set properties on '$(unit)'." msgid "Authentication is required to set properties on '$(unit)'."
msgstr "" msgstr ""
#: src/core/dbus-unit.c:704 #: src/core/dbus-unit.c:721
msgid "" msgid ""
"Authentication is required to delete files and directories associated with " "Authentication is required to delete files and directories associated with "
"'$(unit)'." "'$(unit)'."
msgstr "" msgstr ""
#: src/core/dbus-unit.c:741 #: src/core/dbus-unit.c:758
msgid "" msgid ""
"Authentication is required to freeze or thaw the processes of '$(unit)' unit." "Authentication is required to freeze or thaw the processes of '$(unit)' unit."
msgstr "" msgstr ""

View File

@ -6,7 +6,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-08-23 15:33+0200\n" "POT-Creation-Date: 2024-11-06 14:42+0000\n"
"PO-Revision-Date: 2021-02-22 20:21+0000\n" "PO-Revision-Date: 2021-02-22 20:21+0000\n"
"Last-Translator: Frantisek Sumsal <frantisek@sumsal.cz>\n" "Last-Translator: Frantisek Sumsal <frantisek@sumsal.cz>\n"
"Language-Team: Slovak <https://translate.fedoraproject.org/projects/systemd/" "Language-Team: Slovak <https://translate.fedoraproject.org/projects/systemd/"
@ -122,29 +122,38 @@ msgid "Authentication is required to update a user's home area."
msgstr "Vyžaduje sa overenie totožnosti na uspanie systému." msgstr "Vyžaduje sa overenie totožnosti na uspanie systému."
#: src/home/org.freedesktop.home1.policy:53 #: src/home/org.freedesktop.home1.policy:53
msgid "Resize a home area" msgid "Update your home area"
msgstr "" msgstr ""
#: src/home/org.freedesktop.home1.policy:54 #: src/home/org.freedesktop.home1.policy:54
#, fuzzy #, fuzzy
msgid "Authentication is required to resize a user's home area." msgid "Authentication is required to update your home area."
msgstr "Vyžaduje sa overenie totožnosti na uspanie systému." msgstr "Vyžaduje sa overenie totožnosti na uspanie systému."
#: src/home/org.freedesktop.home1.policy:63 #: src/home/org.freedesktop.home1.policy:63
msgid "Change password of a home area" msgid "Resize a home area"
msgstr "" msgstr ""
#: src/home/org.freedesktop.home1.policy:64 #: src/home/org.freedesktop.home1.policy:64
#, fuzzy #, fuzzy
msgid "Authentication is required to resize a user's home area."
msgstr "Vyžaduje sa overenie totožnosti na uspanie systému."
#: src/home/org.freedesktop.home1.policy:73
msgid "Change password of a home area"
msgstr ""
#: src/home/org.freedesktop.home1.policy:74
#, fuzzy
msgid "" msgid ""
"Authentication is required to change the password of a user's home area." "Authentication is required to change the password of a user's home area."
msgstr "Vyžaduje sa overenie totožnosti na nastavenie miestnych nastavení." msgstr "Vyžaduje sa overenie totožnosti na nastavenie miestnych nastavení."
#: src/home/org.freedesktop.home1.policy:73 #: src/home/org.freedesktop.home1.policy:83
msgid "Activate a home area" msgid "Activate a home area"
msgstr "" msgstr ""
#: src/home/org.freedesktop.home1.policy:74 #: src/home/org.freedesktop.home1.policy:84
#, fuzzy #, fuzzy
msgid "Authentication is required to activate a user's home area." msgid "Authentication is required to activate a user's home area."
msgstr "" msgstr ""
@ -1181,6 +1190,17 @@ msgid "Authentication is required to cleanup old system updates."
msgstr "" msgstr ""
"Vyžaduje sa overenie totožnosti na znovu načítanie stavu systému systemd." "Vyžaduje sa overenie totožnosti na znovu načítanie stavu systému systemd."
#: src/sysupdate/org.freedesktop.sysupdate1.policy:75
msgid "Manage optional features"
msgstr ""
#: src/sysupdate/org.freedesktop.sysupdate1.policy:76
#, fuzzy
msgid "Authentication is required to manage optional features"
msgstr ""
"Vyžaduje sa overenie totožnosti na správu systémovej služby alebo súborov "
"jednotky."
#: src/timedate/org.freedesktop.timedate1.policy:22 #: src/timedate/org.freedesktop.timedate1.policy:22
msgid "Set system time" msgid "Set system time"
msgstr "" msgstr ""
@ -1219,38 +1239,38 @@ msgstr ""
"Vyžaduje sa overenie totožnosti na ovládanie, či má byť povolená " "Vyžaduje sa overenie totožnosti na ovládanie, či má byť povolená "
"synchronizácia času cez sieť." "synchronizácia času cez sieť."
#: src/core/dbus-unit.c:353 #: src/core/dbus-unit.c:370
msgid "Authentication is required to start '$(unit)'." msgid "Authentication is required to start '$(unit)'."
msgstr "" msgstr ""
#: src/core/dbus-unit.c:354 #: src/core/dbus-unit.c:371
msgid "Authentication is required to stop '$(unit)'." msgid "Authentication is required to stop '$(unit)'."
msgstr "" msgstr ""
#: src/core/dbus-unit.c:355 #: src/core/dbus-unit.c:372
msgid "Authentication is required to reload '$(unit)'." msgid "Authentication is required to reload '$(unit)'."
msgstr "" msgstr ""
#: src/core/dbus-unit.c:356 src/core/dbus-unit.c:357 #: src/core/dbus-unit.c:373 src/core/dbus-unit.c:374
msgid "Authentication is required to restart '$(unit)'." msgid "Authentication is required to restart '$(unit)'."
msgstr "" msgstr ""
#: src/core/dbus-unit.c:549 #: src/core/dbus-unit.c:566
#, fuzzy #, fuzzy
msgid "" msgid ""
"Authentication is required to send a UNIX signal to the processes of " "Authentication is required to send a UNIX signal to the processes of "
"'$(unit)'." "'$(unit)'."
msgstr "Vyžaduje sa overenie totožnosti na uspanie systému." msgstr "Vyžaduje sa overenie totožnosti na uspanie systému."
#: src/core/dbus-unit.c:577 #: src/core/dbus-unit.c:594
msgid "Authentication is required to reset the \"failed\" state of '$(unit)'." msgid "Authentication is required to reset the \"failed\" state of '$(unit)'."
msgstr "" msgstr ""
#: src/core/dbus-unit.c:607 #: src/core/dbus-unit.c:624
msgid "Authentication is required to set properties on '$(unit)'." msgid "Authentication is required to set properties on '$(unit)'."
msgstr "" msgstr ""
#: src/core/dbus-unit.c:704 #: src/core/dbus-unit.c:721
#, fuzzy #, fuzzy
msgid "" msgid ""
"Authentication is required to delete files and directories associated with " "Authentication is required to delete files and directories associated with "
@ -1258,7 +1278,7 @@ msgid ""
msgstr "" msgstr ""
"Vyžaduje sa overenie totožnosti na znovu načítanie stavu systému systemd." "Vyžaduje sa overenie totožnosti na znovu načítanie stavu systému systemd."
#: src/core/dbus-unit.c:741 #: src/core/dbus-unit.c:758
#, fuzzy #, fuzzy
msgid "" msgid ""
"Authentication is required to freeze or thaw the processes of '$(unit)' unit." "Authentication is required to freeze or thaw the processes of '$(unit)' unit."

View File

@ -6,7 +6,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: systemd\n" "Project-Id-Version: systemd\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-08-23 15:33+0200\n" "POT-Creation-Date: 2024-11-06 14:42+0000\n"
"PO-Revision-Date: 2024-08-26 19:38+0000\n" "PO-Revision-Date: 2024-08-26 19:38+0000\n"
"Last-Translator: Martin Srebotnjak <miles@filmsi.net>\n" "Last-Translator: Martin Srebotnjak <miles@filmsi.net>\n"
"Language-Team: Slovenian <https://translate.fedoraproject.org/projects/" "Language-Team: Slovenian <https://translate.fedoraproject.org/projects/"
@ -125,31 +125,43 @@ msgstr ""
"območja." "območja."
#: src/home/org.freedesktop.home1.policy:53 #: src/home/org.freedesktop.home1.policy:53
#, fuzzy
msgid "Update your home area"
msgstr "Posodobite domače območje"
#: src/home/org.freedesktop.home1.policy:54
#, fuzzy
msgid "Authentication is required to update your home area."
msgstr ""
"Preverjanje pristnosti je potrebno za posodobitev uporabnikovega domačega "
"območja."
#: src/home/org.freedesktop.home1.policy:63
msgid "Resize a home area" msgid "Resize a home area"
msgstr "Spreminite velikost domačega območja" msgstr "Spreminite velikost domačega območja"
#: src/home/org.freedesktop.home1.policy:54 #: src/home/org.freedesktop.home1.policy:64
msgid "Authentication is required to resize a user's home area." msgid "Authentication is required to resize a user's home area."
msgstr "" msgstr ""
"Preverjanje pristnosti je potrebno za spreminjanje velikosti uporabnikovega " "Preverjanje pristnosti je potrebno za spreminjanje velikosti uporabnikovega "
"domačega območja." "domačega območja."
#: src/home/org.freedesktop.home1.policy:63 #: src/home/org.freedesktop.home1.policy:73
msgid "Change password of a home area" msgid "Change password of a home area"
msgstr "Spremenite geslo domačega območja" msgstr "Spremenite geslo domačega območja"
#: src/home/org.freedesktop.home1.policy:64 #: src/home/org.freedesktop.home1.policy:74
msgid "" msgid ""
"Authentication is required to change the password of a user's home area." "Authentication is required to change the password of a user's home area."
msgstr "" msgstr ""
"Preverjanje pristnosti je potrebno za spremembo gesla uporabnikovega " "Preverjanje pristnosti je potrebno za spremembo gesla uporabnikovega "
"domačega območja." "domačega območja."
#: src/home/org.freedesktop.home1.policy:73 #: src/home/org.freedesktop.home1.policy:83
msgid "Activate a home area" msgid "Activate a home area"
msgstr "Aktiviraj domače območje" msgstr "Aktiviraj domače območje"
#: src/home/org.freedesktop.home1.policy:74 #: src/home/org.freedesktop.home1.policy:84
msgid "Authentication is required to activate a user's home area." msgid "Authentication is required to activate a user's home area."
msgstr "" msgstr ""
"Preverjanje pristnosti je potrebno za aktiviranje uporabnikovega domačega " "Preverjanje pristnosti je potrebno za aktiviranje uporabnikovega domačega "
@ -1145,7 +1157,8 @@ msgstr "Naroči se na rezultate poizvedbe"
#: src/resolve/org.freedesktop.resolve1.policy:144 #: src/resolve/org.freedesktop.resolve1.policy:144
msgid "Authentication is required to subscribe query results." msgid "Authentication is required to subscribe query results."
msgstr "Za naročanje na rezultate poizvedbe je potrebno preverjanje pristnosti." msgstr ""
"Za naročanje na rezultate poizvedbe je potrebno preverjanje pristnosti."
#: src/resolve/org.freedesktop.resolve1.policy:154 #: src/resolve/org.freedesktop.resolve1.policy:154
msgid "Dump cache" msgid "Dump cache"
@ -1219,6 +1232,17 @@ msgid "Authentication is required to cleanup old system updates."
msgstr "" msgstr ""
"Za čiščenje starih posodobitev sistema je potrebno preverjanje pristnosti." "Za čiščenje starih posodobitev sistema je potrebno preverjanje pristnosti."
#: src/sysupdate/org.freedesktop.sysupdate1.policy:75
msgid "Manage optional features"
msgstr ""
#: src/sysupdate/org.freedesktop.sysupdate1.policy:76
#, fuzzy
msgid "Authentication is required to manage optional features"
msgstr ""
"Preverjanje pristnosti je potrebno za upravljanje aktivnih sej, uporabnikov "
"in delovišč."
#: src/timedate/org.freedesktop.timedate1.policy:22 #: src/timedate/org.freedesktop.timedate1.policy:22
msgid "Set system time" msgid "Set system time"
msgstr "Določi sistemski čas" msgstr "Določi sistemski čas"
@ -1260,23 +1284,23 @@ msgstr ""
"Preverjanje pristnosti je potrebno za nadzor, ali naj bo omogočena " "Preverjanje pristnosti je potrebno za nadzor, ali naj bo omogočena "
"sinhronizacija časa v omrežju." "sinhronizacija časa v omrežju."
#: src/core/dbus-unit.c:353 #: src/core/dbus-unit.c:370
msgid "Authentication is required to start '$(unit)'." msgid "Authentication is required to start '$(unit)'."
msgstr "Preverjanje pristnosti je potrebno za zagon »$(unit)«." msgstr "Preverjanje pristnosti je potrebno za zagon »$(unit)«."
#: src/core/dbus-unit.c:354 #: src/core/dbus-unit.c:371
msgid "Authentication is required to stop '$(unit)'." msgid "Authentication is required to stop '$(unit)'."
msgstr "Preverjanje pristnosti je potrebno, če želite ustaviti »$(unit)«." msgstr "Preverjanje pristnosti je potrebno, če želite ustaviti »$(unit)«."
#: src/core/dbus-unit.c:355 #: src/core/dbus-unit.c:372
msgid "Authentication is required to reload '$(unit)'." msgid "Authentication is required to reload '$(unit)'."
msgstr "Preverjanje pristnosti je potrebno za ponovno nalaganje »$(unit)«." msgstr "Preverjanje pristnosti je potrebno za ponovno nalaganje »$(unit)«."
#: src/core/dbus-unit.c:356 src/core/dbus-unit.c:357 #: src/core/dbus-unit.c:373 src/core/dbus-unit.c:374
msgid "Authentication is required to restart '$(unit)'." msgid "Authentication is required to restart '$(unit)'."
msgstr "Preverjanje pristnosti je potrebno za vnovični zagon »$(unit)«." msgstr "Preverjanje pristnosti je potrebno za vnovični zagon »$(unit)«."
#: src/core/dbus-unit.c:549 #: src/core/dbus-unit.c:566
msgid "" msgid ""
"Authentication is required to send a UNIX signal to the processes of " "Authentication is required to send a UNIX signal to the processes of "
"'$(unit)'." "'$(unit)'."
@ -1284,19 +1308,19 @@ msgstr ""
"Preverjanje pristnosti je potrebno za pošiljanje signala UNIX procesom " "Preverjanje pristnosti je potrebno za pošiljanje signala UNIX procesom "
"»$(unit)«." "»$(unit)«."
#: src/core/dbus-unit.c:577 #: src/core/dbus-unit.c:594
msgid "Authentication is required to reset the \"failed\" state of '$(unit)'." msgid "Authentication is required to reset the \"failed\" state of '$(unit)'."
msgstr "" msgstr ""
"Preverjanje pristnosti je potrebno za ponastavitev stanja »ni uspelo« za " "Preverjanje pristnosti je potrebno za ponastavitev stanja »ni uspelo« za "
"»$(unit)«." "»$(unit)«."
#: src/core/dbus-unit.c:607 #: src/core/dbus-unit.c:624
msgid "Authentication is required to set properties on '$(unit)'." msgid "Authentication is required to set properties on '$(unit)'."
msgstr "" msgstr ""
"Preverjanje pristnosti je potrebno, če želite lastnosti nastaviti na " "Preverjanje pristnosti je potrebno, če želite lastnosti nastaviti na "
"»$(unit)«." "»$(unit)«."
#: src/core/dbus-unit.c:704 #: src/core/dbus-unit.c:721
msgid "" msgid ""
"Authentication is required to delete files and directories associated with " "Authentication is required to delete files and directories associated with "
"'$(unit)'." "'$(unit)'."
@ -1304,7 +1328,7 @@ msgstr ""
"Preverjanje pristnosti je potrebno za brisanje datotek in map, povezanih s/z " "Preverjanje pristnosti je potrebno za brisanje datotek in map, povezanih s/z "
"»$(unit)«." "»$(unit)«."
#: src/core/dbus-unit.c:741 #: src/core/dbus-unit.c:758
msgid "" msgid ""
"Authentication is required to freeze or thaw the processes of '$(unit)' unit." "Authentication is required to freeze or thaw the processes of '$(unit)' unit."
msgstr "" msgstr ""

View File

@ -5,7 +5,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-08-23 15:33+0200\n" "POT-Creation-Date: 2024-11-06 14:42+0000\n"
"PO-Revision-Date: 2021-02-23 22:40+0000\n" "PO-Revision-Date: 2021-02-23 22:40+0000\n"
"Last-Translator: Frantisek Sumsal <frantisek@sumsal.cz>\n" "Last-Translator: Frantisek Sumsal <frantisek@sumsal.cz>\n"
"Language-Team: Serbian <https://translate.fedoraproject.org/projects/systemd/" "Language-Team: Serbian <https://translate.fedoraproject.org/projects/systemd/"
@ -122,31 +122,40 @@ msgid "Authentication is required to update a user's home area."
msgstr "Потребно је да се идентификујете да бисте закачили уређај на седиште." msgstr "Потребно је да се идентификујете да бисте закачили уређај на седиште."
#: src/home/org.freedesktop.home1.policy:53 #: src/home/org.freedesktop.home1.policy:53
msgid "Resize a home area" msgid "Update your home area"
msgstr "" msgstr ""
#: src/home/org.freedesktop.home1.policy:54 #: src/home/org.freedesktop.home1.policy:54
#, fuzzy #, fuzzy
msgid "Authentication is required to resize a user's home area." msgid "Authentication is required to update your home area."
msgstr "Потребно је да се идентификујете да бисте поставили зидну поруку" msgstr "Потребно је да се идентификујете да бисте закачили уређај на седиште."
#: src/home/org.freedesktop.home1.policy:63 #: src/home/org.freedesktop.home1.policy:63
msgid "Change password of a home area" msgid "Resize a home area"
msgstr "" msgstr ""
#: src/home/org.freedesktop.home1.policy:64 #: src/home/org.freedesktop.home1.policy:64
#, fuzzy #, fuzzy
msgid "Authentication is required to resize a user's home area."
msgstr "Потребно је да се идентификујете да бисте поставили зидну поруку"
#: src/home/org.freedesktop.home1.policy:73
msgid "Change password of a home area"
msgstr ""
#: src/home/org.freedesktop.home1.policy:74
#, fuzzy
msgid "" msgid ""
"Authentication is required to change the password of a user's home area." "Authentication is required to change the password of a user's home area."
msgstr "" msgstr ""
"Потребно је да се идентификујете да бисте управљали покренутим сесијама, " "Потребно је да се идентификујете да бисте управљали покренутим сесијама, "
"корисницима и седиштима." "корисницима и седиштима."
#: src/home/org.freedesktop.home1.policy:73 #: src/home/org.freedesktop.home1.policy:83
msgid "Activate a home area" msgid "Activate a home area"
msgstr "" msgstr ""
#: src/home/org.freedesktop.home1.policy:74 #: src/home/org.freedesktop.home1.policy:84
#, fuzzy #, fuzzy
msgid "Authentication is required to activate a user's home area." msgid "Authentication is required to activate a user's home area."
msgstr "" msgstr ""
@ -1239,6 +1248,17 @@ msgstr ""
msgid "Authentication is required to cleanup old system updates." msgid "Authentication is required to cleanup old system updates."
msgstr "Потребно је да се идентификујете да бисте поставили системско време." msgstr "Потребно је да се идентификујете да бисте поставили системско време."
#: src/sysupdate/org.freedesktop.sysupdate1.policy:75
msgid "Manage optional features"
msgstr ""
#: src/sysupdate/org.freedesktop.sysupdate1.policy:76
#, fuzzy
msgid "Authentication is required to manage optional features"
msgstr ""
"Потребно је да се идентификујете да бисте управљали покренутим сесијама, "
"корисницима и седиштима."
#: src/timedate/org.freedesktop.timedate1.policy:22 #: src/timedate/org.freedesktop.timedate1.policy:22
msgid "Set system time" msgid "Set system time"
msgstr "Постави системско време" msgstr "Постави системско време"
@ -1281,23 +1301,23 @@ msgstr ""
"Потребно је да се идентификујете да бисте подесили да ли се време усклађује " "Потребно је да се идентификујете да бисте подесили да ли се време усклађује "
"са мреже." "са мреже."
#: src/core/dbus-unit.c:353 #: src/core/dbus-unit.c:370
msgid "Authentication is required to start '$(unit)'." msgid "Authentication is required to start '$(unit)'."
msgstr "Потребно је да се идентификујете да бисте покренули „$(unit)“." msgstr "Потребно је да се идентификујете да бисте покренули „$(unit)“."
#: src/core/dbus-unit.c:354 #: src/core/dbus-unit.c:371
msgid "Authentication is required to stop '$(unit)'." msgid "Authentication is required to stop '$(unit)'."
msgstr "Потребно је да се идентификујете да бисте зауставили „$(unit)“." msgstr "Потребно је да се идентификујете да бисте зауставили „$(unit)“."
#: src/core/dbus-unit.c:355 #: src/core/dbus-unit.c:372
msgid "Authentication is required to reload '$(unit)'." msgid "Authentication is required to reload '$(unit)'."
msgstr "Потребно је да се идентификујете да бисте поново учитали „$(unit)“." msgstr "Потребно је да се идентификујете да бисте поново учитали „$(unit)“."
#: src/core/dbus-unit.c:356 src/core/dbus-unit.c:357 #: src/core/dbus-unit.c:373 src/core/dbus-unit.c:374
msgid "Authentication is required to restart '$(unit)'." msgid "Authentication is required to restart '$(unit)'."
msgstr "Потребно је да се идентификујете да бисте поново покренули „$(unit)“." msgstr "Потребно је да се идентификујете да бисте поново покренули „$(unit)“."
#: src/core/dbus-unit.c:549 #: src/core/dbus-unit.c:566
#, fuzzy #, fuzzy
msgid "" msgid ""
"Authentication is required to send a UNIX signal to the processes of " "Authentication is required to send a UNIX signal to the processes of "
@ -1305,18 +1325,18 @@ msgid ""
msgstr "" msgstr ""
"Потребно је да се идентификујете да бисте поставили својства за „$(unit)“." "Потребно је да се идентификујете да бисте поставили својства за „$(unit)“."
#: src/core/dbus-unit.c:577 #: src/core/dbus-unit.c:594
msgid "Authentication is required to reset the \"failed\" state of '$(unit)'." msgid "Authentication is required to reset the \"failed\" state of '$(unit)'."
msgstr "" msgstr ""
"Потребно је да се идентификујете да бисте поново поставили „неуспешно“ стање " "Потребно је да се идентификујете да бисте поново поставили „неуспешно“ стање "
"за „$(unit)“." "за „$(unit)“."
#: src/core/dbus-unit.c:607 #: src/core/dbus-unit.c:624
msgid "Authentication is required to set properties on '$(unit)'." msgid "Authentication is required to set properties on '$(unit)'."
msgstr "" msgstr ""
"Потребно је да се идентификујете да бисте поставили својства за „$(unit)“." "Потребно је да се идентификујете да бисте поставили својства за „$(unit)“."
#: src/core/dbus-unit.c:704 #: src/core/dbus-unit.c:721
#, fuzzy #, fuzzy
msgid "" msgid ""
"Authentication is required to delete files and directories associated with " "Authentication is required to delete files and directories associated with "
@ -1325,7 +1345,7 @@ msgstr ""
"Потребно је да се идентификујете да бисте поново поставили „неуспешно“ стање " "Потребно је да се идентификујете да бисте поново поставили „неуспешно“ стање "
"за „$(unit)“." "за „$(unit)“."
#: src/core/dbus-unit.c:741 #: src/core/dbus-unit.c:758
#, fuzzy #, fuzzy
msgid "" msgid ""
"Authentication is required to freeze or thaw the processes of '$(unit)' unit." "Authentication is required to freeze or thaw the processes of '$(unit)' unit."

View File

@ -11,7 +11,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-08-23 15:33+0200\n" "POT-Creation-Date: 2024-11-06 14:42+0000\n"
"PO-Revision-Date: 2024-10-24 00:56+0000\n" "PO-Revision-Date: 2024-10-24 00:56+0000\n"
"Last-Translator: Anders Jonsson <anders.jonsson@norsjovallen.se>\n" "Last-Translator: Anders Jonsson <anders.jonsson@norsjovallen.se>\n"
"Language-Team: Swedish <https://translate.fedoraproject.org/projects/systemd/" "Language-Team: Swedish <https://translate.fedoraproject.org/projects/systemd/"
@ -117,28 +117,38 @@ msgid "Authentication is required to update a user's home area."
msgstr "Autentisering krävs för att uppdatera en användares hemarea." msgstr "Autentisering krävs för att uppdatera en användares hemarea."
#: src/home/org.freedesktop.home1.policy:53 #: src/home/org.freedesktop.home1.policy:53
#, fuzzy
msgid "Update your home area"
msgstr "Uppdatera en hemarea"
#: src/home/org.freedesktop.home1.policy:54
#, fuzzy
msgid "Authentication is required to update your home area."
msgstr "Autentisering krävs för att uppdatera en användares hemarea."
#: src/home/org.freedesktop.home1.policy:63
msgid "Resize a home area" msgid "Resize a home area"
msgstr "Ändra storlek på en hemarea" msgstr "Ändra storlek på en hemarea"
#: src/home/org.freedesktop.home1.policy:54 #: src/home/org.freedesktop.home1.policy:64
msgid "Authentication is required to resize a user's home area." msgid "Authentication is required to resize a user's home area."
msgstr "Autentisering krävs för att ändra storlek på en hemarea." msgstr "Autentisering krävs för att ändra storlek på en hemarea."
#: src/home/org.freedesktop.home1.policy:63 #: src/home/org.freedesktop.home1.policy:73
msgid "Change password of a home area" msgid "Change password of a home area"
msgstr "Ändra lösenord för en hemarea" msgstr "Ändra lösenord för en hemarea"
#: src/home/org.freedesktop.home1.policy:64 #: src/home/org.freedesktop.home1.policy:74
msgid "" msgid ""
"Authentication is required to change the password of a user's home area." "Authentication is required to change the password of a user's home area."
msgstr "" msgstr ""
"Autentisering krävs för att ändra lösenordet för en användares hemarea." "Autentisering krävs för att ändra lösenordet för en användares hemarea."
#: src/home/org.freedesktop.home1.policy:73 #: src/home/org.freedesktop.home1.policy:83
msgid "Activate a home area" msgid "Activate a home area"
msgstr "Aktivera en hemarea" msgstr "Aktivera en hemarea"
#: src/home/org.freedesktop.home1.policy:74 #: src/home/org.freedesktop.home1.policy:84
msgid "Authentication is required to activate a user's home area." msgid "Authentication is required to activate a user's home area."
msgstr "Autentisering krävs för att aktivera en användares hemarea." msgstr "Autentisering krävs för att aktivera en användares hemarea."
@ -1160,6 +1170,16 @@ msgstr "Rensa gamla systemuppdateringar"
msgid "Authentication is required to cleanup old system updates." msgid "Authentication is required to cleanup old system updates."
msgstr "Autentisering krävs för att rensa gamla systemuppdateringar." msgstr "Autentisering krävs för att rensa gamla systemuppdateringar."
#: src/sysupdate/org.freedesktop.sysupdate1.policy:75
msgid "Manage optional features"
msgstr ""
#: src/sysupdate/org.freedesktop.sysupdate1.policy:76
#, fuzzy
msgid "Authentication is required to manage optional features"
msgstr ""
"Autentisering krävs för att hantera aktiva sessioner, användare och platser."
#: src/timedate/org.freedesktop.timedate1.policy:22 #: src/timedate/org.freedesktop.timedate1.policy:22
msgid "Set system time" msgid "Set system time"
msgstr "Ange systemtid" msgstr "Ange systemtid"
@ -1202,23 +1222,23 @@ msgstr ""
"Autentisering krävs för att kontrollera huruvida synkronisering av " "Autentisering krävs för att kontrollera huruvida synkronisering av "
"nätverkstid ska vara aktiverat." "nätverkstid ska vara aktiverat."
#: src/core/dbus-unit.c:353 #: src/core/dbus-unit.c:370
msgid "Authentication is required to start '$(unit)'." msgid "Authentication is required to start '$(unit)'."
msgstr "Autentisering krävs för att starta \"$(unit)\"." msgstr "Autentisering krävs för att starta \"$(unit)\"."
#: src/core/dbus-unit.c:354 #: src/core/dbus-unit.c:371
msgid "Authentication is required to stop '$(unit)'." msgid "Authentication is required to stop '$(unit)'."
msgstr "Autentisering krävs för att stoppa \"$(unit)\"." msgstr "Autentisering krävs för att stoppa \"$(unit)\"."
#: src/core/dbus-unit.c:355 #: src/core/dbus-unit.c:372
msgid "Authentication is required to reload '$(unit)'." msgid "Authentication is required to reload '$(unit)'."
msgstr "Autentisering krävs för att läsa om \"$(unit)\"." msgstr "Autentisering krävs för att läsa om \"$(unit)\"."
#: src/core/dbus-unit.c:356 src/core/dbus-unit.c:357 #: src/core/dbus-unit.c:373 src/core/dbus-unit.c:374
msgid "Authentication is required to restart '$(unit)'." msgid "Authentication is required to restart '$(unit)'."
msgstr "Autentisering krävs för att starta om \"$(unit)\"." msgstr "Autentisering krävs för att starta om \"$(unit)\"."
#: src/core/dbus-unit.c:549 #: src/core/dbus-unit.c:566
msgid "" msgid ""
"Authentication is required to send a UNIX signal to the processes of " "Authentication is required to send a UNIX signal to the processes of "
"'$(unit)'." "'$(unit)'."
@ -1226,17 +1246,17 @@ msgstr ""
"Autentisering krävs för att skicka en UNIX-signal till processerna i " "Autentisering krävs för att skicka en UNIX-signal till processerna i "
"”$(unit)”." "”$(unit)”."
#: src/core/dbus-unit.c:577 #: src/core/dbus-unit.c:594
msgid "Authentication is required to reset the \"failed\" state of '$(unit)'." msgid "Authentication is required to reset the \"failed\" state of '$(unit)'."
msgstr "" msgstr ""
"Autentisering krävs för att återställa det \"fallerade\" tillståndet för " "Autentisering krävs för att återställa det \"fallerade\" tillståndet för "
"\"$(unit)\"." "\"$(unit)\"."
#: src/core/dbus-unit.c:607 #: src/core/dbus-unit.c:624
msgid "Authentication is required to set properties on '$(unit)'." msgid "Authentication is required to set properties on '$(unit)'."
msgstr "Autentisering krävs för att ställa in egenskaper på \"$(unit)\"." msgstr "Autentisering krävs för att ställa in egenskaper på \"$(unit)\"."
#: src/core/dbus-unit.c:704 #: src/core/dbus-unit.c:721
msgid "" msgid ""
"Authentication is required to delete files and directories associated with " "Authentication is required to delete files and directories associated with "
"'$(unit)'." "'$(unit)'."
@ -1244,7 +1264,7 @@ msgstr ""
"Autentisering krävs för att radera filer och kataloger associerade med " "Autentisering krävs för att radera filer och kataloger associerade med "
"”$(unit)”." "”$(unit)”."
#: src/core/dbus-unit.c:741 #: src/core/dbus-unit.c:758
msgid "" msgid ""
"Authentication is required to freeze or thaw the processes of '$(unit)' unit." "Authentication is required to freeze or thaw the processes of '$(unit)' unit."
msgstr "" msgstr ""

View File

@ -1,11 +1,14 @@
# SPDX-License-Identifier: LGPL-2.1-or-later # SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the systemd package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
# #
#, fuzzy #, fuzzy
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: systemd\n" "Project-Id-Version: systemd\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-08-23 15:33+0200\n" "POT-Creation-Date: 2024-11-06 14:42+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -100,27 +103,35 @@ msgid "Authentication is required to update a user's home area."
msgstr "" msgstr ""
#: src/home/org.freedesktop.home1.policy:53 #: src/home/org.freedesktop.home1.policy:53
msgid "Resize a home area" msgid "Update your home area"
msgstr "" msgstr ""
#: src/home/org.freedesktop.home1.policy:54 #: src/home/org.freedesktop.home1.policy:54
msgid "Authentication is required to resize a user's home area." msgid "Authentication is required to update your home area."
msgstr "" msgstr ""
#: src/home/org.freedesktop.home1.policy:63 #: src/home/org.freedesktop.home1.policy:63
msgid "Change password of a home area" msgid "Resize a home area"
msgstr "" msgstr ""
#: src/home/org.freedesktop.home1.policy:64 #: src/home/org.freedesktop.home1.policy:64
msgid "Authentication is required to resize a user's home area."
msgstr ""
#: src/home/org.freedesktop.home1.policy:73
msgid "Change password of a home area"
msgstr ""
#: src/home/org.freedesktop.home1.policy:74
msgid "" msgid ""
"Authentication is required to change the password of a user's home area." "Authentication is required to change the password of a user's home area."
msgstr "" msgstr ""
#: src/home/org.freedesktop.home1.policy:73 #: src/home/org.freedesktop.home1.policy:83
msgid "Activate a home area" msgid "Activate a home area"
msgstr "" msgstr ""
#: src/home/org.freedesktop.home1.policy:74 #: src/home/org.freedesktop.home1.policy:84
msgid "Authentication is required to activate a user's home area." msgid "Authentication is required to activate a user's home area."
msgstr "" msgstr ""
@ -1058,6 +1069,14 @@ msgstr ""
msgid "Authentication is required to cleanup old system updates." msgid "Authentication is required to cleanup old system updates."
msgstr "" msgstr ""
#: src/sysupdate/org.freedesktop.sysupdate1.policy:75
msgid "Manage optional features"
msgstr ""
#: src/sysupdate/org.freedesktop.sysupdate1.policy:76
msgid "Authentication is required to manage optional features"
msgstr ""
#: src/timedate/org.freedesktop.timedate1.policy:22 #: src/timedate/org.freedesktop.timedate1.policy:22
msgid "Set system time" msgid "Set system time"
msgstr "" msgstr ""
@ -1094,43 +1113,43 @@ msgid ""
"shall be enabled." "shall be enabled."
msgstr "" msgstr ""
#: src/core/dbus-unit.c:353 #: src/core/dbus-unit.c:370
msgid "Authentication is required to start '$(unit)'." msgid "Authentication is required to start '$(unit)'."
msgstr "" msgstr ""
#: src/core/dbus-unit.c:354 #: src/core/dbus-unit.c:371
msgid "Authentication is required to stop '$(unit)'." msgid "Authentication is required to stop '$(unit)'."
msgstr "" msgstr ""
#: src/core/dbus-unit.c:355 #: src/core/dbus-unit.c:372
msgid "Authentication is required to reload '$(unit)'." msgid "Authentication is required to reload '$(unit)'."
msgstr "" msgstr ""
#: src/core/dbus-unit.c:356 src/core/dbus-unit.c:357 #: src/core/dbus-unit.c:373 src/core/dbus-unit.c:374
msgid "Authentication is required to restart '$(unit)'." msgid "Authentication is required to restart '$(unit)'."
msgstr "" msgstr ""
#: src/core/dbus-unit.c:549 #: src/core/dbus-unit.c:566
msgid "" msgid ""
"Authentication is required to send a UNIX signal to the processes of " "Authentication is required to send a UNIX signal to the processes of "
"'$(unit)'." "'$(unit)'."
msgstr "" msgstr ""
#: src/core/dbus-unit.c:577 #: src/core/dbus-unit.c:594
msgid "Authentication is required to reset the \"failed\" state of '$(unit)'." msgid "Authentication is required to reset the \"failed\" state of '$(unit)'."
msgstr "" msgstr ""
#: src/core/dbus-unit.c:607 #: src/core/dbus-unit.c:624
msgid "Authentication is required to set properties on '$(unit)'." msgid "Authentication is required to set properties on '$(unit)'."
msgstr "" msgstr ""
#: src/core/dbus-unit.c:704 #: src/core/dbus-unit.c:721
msgid "" msgid ""
"Authentication is required to delete files and directories associated with " "Authentication is required to delete files and directories associated with "
"'$(unit)'." "'$(unit)'."
msgstr "" msgstr ""
#: src/core/dbus-unit.c:741 #: src/core/dbus-unit.c:758
msgid "" msgid ""
"Authentication is required to freeze or thaw the processes of '$(unit)' unit." "Authentication is required to freeze or thaw the processes of '$(unit)' unit."
msgstr "" msgstr ""

View File

@ -9,7 +9,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-08-23 15:33+0200\n" "POT-Creation-Date: 2024-11-06 14:42+0000\n"
"PO-Revision-Date: 2024-08-25 11:38+0000\n" "PO-Revision-Date: 2024-08-25 11:38+0000\n"
"Last-Translator: Oğuz Ersen <oguz@ersen.moe>\n" "Last-Translator: Oğuz Ersen <oguz@ersen.moe>\n"
"Language-Team: Turkish <https://translate.fedoraproject.org/projects/systemd/" "Language-Team: Turkish <https://translate.fedoraproject.org/projects/systemd/"
@ -117,31 +117,41 @@ msgid "Authentication is required to update a user's home area."
msgstr "Bir kullanıcının ev alanını güncellemek kimlik doğrulaması gerektirir." msgstr "Bir kullanıcının ev alanını güncellemek kimlik doğrulaması gerektirir."
#: src/home/org.freedesktop.home1.policy:53 #: src/home/org.freedesktop.home1.policy:53
#, fuzzy
msgid "Update your home area"
msgstr "Ev alanını güncelle"
#: src/home/org.freedesktop.home1.policy:54
#, fuzzy
msgid "Authentication is required to update your home area."
msgstr "Bir kullanıcının ev alanını güncellemek kimlik doğrulaması gerektirir."
#: src/home/org.freedesktop.home1.policy:63
msgid "Resize a home area" msgid "Resize a home area"
msgstr "Ev alanını yeniden boyutlandır" msgstr "Ev alanını yeniden boyutlandır"
#: src/home/org.freedesktop.home1.policy:54 #: src/home/org.freedesktop.home1.policy:64
msgid "Authentication is required to resize a user's home area." msgid "Authentication is required to resize a user's home area."
msgstr "" msgstr ""
"Bir kullanıcının ev alanını yeniden boyutlandırmak kimlik doğrulaması " "Bir kullanıcının ev alanını yeniden boyutlandırmak kimlik doğrulaması "
"gerektirir." "gerektirir."
#: src/home/org.freedesktop.home1.policy:63 #: src/home/org.freedesktop.home1.policy:73
msgid "Change password of a home area" msgid "Change password of a home area"
msgstr "Ev alanının parolasını değiştir" msgstr "Ev alanının parolasını değiştir"
#: src/home/org.freedesktop.home1.policy:64 #: src/home/org.freedesktop.home1.policy:74
msgid "" msgid ""
"Authentication is required to change the password of a user's home area." "Authentication is required to change the password of a user's home area."
msgstr "" msgstr ""
"Bir kullanıcının ev alanının parolasını değiştirmek kimlik doğrulaması " "Bir kullanıcının ev alanının parolasını değiştirmek kimlik doğrulaması "
"gerektirir." "gerektirir."
#: src/home/org.freedesktop.home1.policy:73 #: src/home/org.freedesktop.home1.policy:83
msgid "Activate a home area" msgid "Activate a home area"
msgstr "Bir ev alanını etkinleştir" msgstr "Bir ev alanını etkinleştir"
#: src/home/org.freedesktop.home1.policy:74 #: src/home/org.freedesktop.home1.policy:84
msgid "Authentication is required to activate a user's home area." msgid "Authentication is required to activate a user's home area."
msgstr "" msgstr ""
"Bir kullanıcının ev alanını etkinleştirmek kimlik doğrulaması gerektirir." "Bir kullanıcının ev alanını etkinleştirmek kimlik doğrulaması gerektirir."
@ -1209,6 +1219,17 @@ msgid "Authentication is required to cleanup old system updates."
msgstr "" msgstr ""
"Eski sistem güncellemelerini temizlemek için kimlik doğrulaması gereklidir." "Eski sistem güncellemelerini temizlemek için kimlik doğrulaması gereklidir."
#: src/sysupdate/org.freedesktop.sysupdate1.policy:75
msgid "Manage optional features"
msgstr ""
#: src/sysupdate/org.freedesktop.sysupdate1.policy:76
#, fuzzy
msgid "Authentication is required to manage optional features"
msgstr ""
"Aktif oturumları, kullanıcıları ve yuvaları yönetmek için kimlik doğrulaması "
"gereklidir."
#: src/timedate/org.freedesktop.timedate1.policy:22 #: src/timedate/org.freedesktop.timedate1.policy:22
msgid "Set system time" msgid "Set system time"
msgstr "Sistem zamanını ayarla" msgstr "Sistem zamanını ayarla"
@ -1248,23 +1269,23 @@ msgid ""
msgstr "" msgstr ""
"Ağ zaman eş zamanlamasını denetlemek için kimlik doğrulaması gereklidir." "Ağ zaman eş zamanlamasını denetlemek için kimlik doğrulaması gereklidir."
#: src/core/dbus-unit.c:353 #: src/core/dbus-unit.c:370
msgid "Authentication is required to start '$(unit)'." msgid "Authentication is required to start '$(unit)'."
msgstr "'$(unit)' başlatmak için kimlik doğrulaması gereklidir." msgstr "'$(unit)' başlatmak için kimlik doğrulaması gereklidir."
#: src/core/dbus-unit.c:354 #: src/core/dbus-unit.c:371
msgid "Authentication is required to stop '$(unit)'." msgid "Authentication is required to stop '$(unit)'."
msgstr "'$(unit)' durdurmak için kimlik doğrulaması gereklidir." msgstr "'$(unit)' durdurmak için kimlik doğrulaması gereklidir."
#: src/core/dbus-unit.c:355 #: src/core/dbus-unit.c:372
msgid "Authentication is required to reload '$(unit)'." msgid "Authentication is required to reload '$(unit)'."
msgstr "'$(unit)' yeniden yüklemek için kimlik doğrulaması gereklidir." msgstr "'$(unit)' yeniden yüklemek için kimlik doğrulaması gereklidir."
#: src/core/dbus-unit.c:356 src/core/dbus-unit.c:357 #: src/core/dbus-unit.c:373 src/core/dbus-unit.c:374
msgid "Authentication is required to restart '$(unit)'." msgid "Authentication is required to restart '$(unit)'."
msgstr "'$(unit)' yeniden başlatmak için kimlik doğrulaması gereklidir." msgstr "'$(unit)' yeniden başlatmak için kimlik doğrulaması gereklidir."
#: src/core/dbus-unit.c:549 #: src/core/dbus-unit.c:566
msgid "" msgid ""
"Authentication is required to send a UNIX signal to the processes of " "Authentication is required to send a UNIX signal to the processes of "
"'$(unit)'." "'$(unit)'."
@ -1272,19 +1293,19 @@ msgstr ""
"'$(unit)' süreçlerine bir UNIX sinyali göndermek için kimlik doğrulaması " "'$(unit)' süreçlerine bir UNIX sinyali göndermek için kimlik doğrulaması "
"gereklidir." "gereklidir."
#: src/core/dbus-unit.c:577 #: src/core/dbus-unit.c:594
msgid "Authentication is required to reset the \"failed\" state of '$(unit)'." msgid "Authentication is required to reset the \"failed\" state of '$(unit)'."
msgstr "" msgstr ""
"'$(unit)'in \"failed\" (başarısız) durumunu sıfırlamak için kimlik " "'$(unit)'in \"failed\" (başarısız) durumunu sıfırlamak için kimlik "
"doğrulaması gereklidir." "doğrulaması gereklidir."
#: src/core/dbus-unit.c:607 #: src/core/dbus-unit.c:624
msgid "Authentication is required to set properties on '$(unit)'." msgid "Authentication is required to set properties on '$(unit)'."
msgstr "" msgstr ""
"'$(unit)' üzerindeki özellikleri ayarlamak için kimlik doğrulaması " "'$(unit)' üzerindeki özellikleri ayarlamak için kimlik doğrulaması "
"gereklidir." "gereklidir."
#: src/core/dbus-unit.c:704 #: src/core/dbus-unit.c:721
msgid "" msgid ""
"Authentication is required to delete files and directories associated with " "Authentication is required to delete files and directories associated with "
"'$(unit)'." "'$(unit)'."
@ -1292,7 +1313,7 @@ msgstr ""
"'$(unit)' ile ilişkili dosyaları ve dizinleri silmek için kimlik doğrulaması " "'$(unit)' ile ilişkili dosyaları ve dizinleri silmek için kimlik doğrulaması "
"gereklidir." "gereklidir."
#: src/core/dbus-unit.c:741 #: src/core/dbus-unit.c:758
msgid "" msgid ""
"Authentication is required to freeze or thaw the processes of '$(unit)' unit." "Authentication is required to freeze or thaw the processes of '$(unit)' unit."
msgstr "" msgstr ""

View File

@ -7,7 +7,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-08-23 15:33+0200\n" "POT-Creation-Date: 2024-11-06 14:42+0000\n"
"PO-Revision-Date: 2024-08-24 10:36+0000\n" "PO-Revision-Date: 2024-08-24 10:36+0000\n"
"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n" "Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
"Language-Team: Ukrainian <https://translate.fedoraproject.org/projects/" "Language-Team: Ukrainian <https://translate.fedoraproject.org/projects/"
@ -118,30 +118,40 @@ msgid "Authentication is required to update a user's home area."
msgstr "Для оновлення домашньої теки користувача слід пройти розпізнавання." msgstr "Для оновлення домашньої теки користувача слід пройти розпізнавання."
#: src/home/org.freedesktop.home1.policy:53 #: src/home/org.freedesktop.home1.policy:53
#, fuzzy
msgid "Update your home area"
msgstr "Оновлення домашньої теки"
#: src/home/org.freedesktop.home1.policy:54
#, fuzzy
msgid "Authentication is required to update your home area."
msgstr "Для оновлення домашньої теки користувача слід пройти розпізнавання."
#: src/home/org.freedesktop.home1.policy:63
msgid "Resize a home area" msgid "Resize a home area"
msgstr "Зміна розмірів домашньої теки" msgstr "Зміна розмірів домашньої теки"
#: src/home/org.freedesktop.home1.policy:54 #: src/home/org.freedesktop.home1.policy:64
msgid "Authentication is required to resize a user's home area." msgid "Authentication is required to resize a user's home area."
msgstr "" msgstr ""
"Для зміни розмірів домашньої теки користувача слід пройти розпізнавання." "Для зміни розмірів домашньої теки користувача слід пройти розпізнавання."
#: src/home/org.freedesktop.home1.policy:63 #: src/home/org.freedesktop.home1.policy:73
msgid "Change password of a home area" msgid "Change password of a home area"
msgstr "Зміна пароля до домашньої теки" msgstr "Зміна пароля до домашньої теки"
#: src/home/org.freedesktop.home1.policy:64 #: src/home/org.freedesktop.home1.policy:74
msgid "" msgid ""
"Authentication is required to change the password of a user's home area." "Authentication is required to change the password of a user's home area."
msgstr "" msgstr ""
"Для зміни пароля для доступу до домашньої теки користувача слід пройти " "Для зміни пароля для доступу до домашньої теки користувача слід пройти "
"розпізнавання." "розпізнавання."
#: src/home/org.freedesktop.home1.policy:73 #: src/home/org.freedesktop.home1.policy:83
msgid "Activate a home area" msgid "Activate a home area"
msgstr "Активація області домівки" msgstr "Активація області домівки"
#: src/home/org.freedesktop.home1.policy:74 #: src/home/org.freedesktop.home1.policy:84
msgid "Authentication is required to activate a user's home area." msgid "Authentication is required to activate a user's home area."
msgstr "Для активації області домівки користувача слід пройти розпізнавання." msgstr "Для активації області домівки користувача слід пройти розпізнавання."
@ -1200,6 +1210,17 @@ msgstr "Вилучення застарілих оновлень системи"
msgid "Authentication is required to cleanup old system updates." msgid "Authentication is required to cleanup old system updates."
msgstr "Для вилучення застарілих оновлень системи слід пройти розпізнавання." msgstr "Для вилучення застарілих оновлень системи слід пройти розпізнавання."
#: src/sysupdate/org.freedesktop.sysupdate1.policy:75
msgid "Manage optional features"
msgstr ""
#: src/sysupdate/org.freedesktop.sysupdate1.policy:76
#, fuzzy
msgid "Authentication is required to manage optional features"
msgstr ""
"Для того, щоб керувати сеансами, користувачами і робочими місцями, слід "
"пройти розпізнавання."
#: src/timedate/org.freedesktop.timedate1.policy:22 #: src/timedate/org.freedesktop.timedate1.policy:22
msgid "Set system time" msgid "Set system time"
msgstr "Встановлення загальносистемного часу" msgstr "Встановлення загальносистемного часу"
@ -1241,39 +1262,39 @@ msgstr ""
"Для керування тим, чи слід вмикати синхронізацію часу за допомогою мережі, " "Для керування тим, чи слід вмикати синхронізацію часу за допомогою мережі, "
"слід пройти розпізнавання." "слід пройти розпізнавання."
#: src/core/dbus-unit.c:353 #: src/core/dbus-unit.c:370
msgid "Authentication is required to start '$(unit)'." msgid "Authentication is required to start '$(unit)'."
msgstr "Для запуску «$(unit)» слід пройти розпізнавання." msgstr "Для запуску «$(unit)» слід пройти розпізнавання."
#: src/core/dbus-unit.c:354 #: src/core/dbus-unit.c:371
msgid "Authentication is required to stop '$(unit)'." msgid "Authentication is required to stop '$(unit)'."
msgstr "Для зупинення «$(unit)» слід пройти розпізнавання." msgstr "Для зупинення «$(unit)» слід пройти розпізнавання."
#: src/core/dbus-unit.c:355 #: src/core/dbus-unit.c:372
msgid "Authentication is required to reload '$(unit)'." msgid "Authentication is required to reload '$(unit)'."
msgstr "Для перезавантаження «$(unit)» слід пройти розпізнавання." msgstr "Для перезавантаження «$(unit)» слід пройти розпізнавання."
#: src/core/dbus-unit.c:356 src/core/dbus-unit.c:357 #: src/core/dbus-unit.c:373 src/core/dbus-unit.c:374
msgid "Authentication is required to restart '$(unit)'." msgid "Authentication is required to restart '$(unit)'."
msgstr "Для перезапуску «$(unit)» слід пройти розпізнавання." msgstr "Для перезапуску «$(unit)» слід пройти розпізнавання."
#: src/core/dbus-unit.c:549 #: src/core/dbus-unit.c:566
msgid "" msgid ""
"Authentication is required to send a UNIX signal to the processes of " "Authentication is required to send a UNIX signal to the processes of "
"'$(unit)'." "'$(unit)'."
msgstr "" msgstr ""
"Для надсилання сигналу UNIX до процесів «$(unit)» слід пройти розпізнавання." "Для надсилання сигналу UNIX до процесів «$(unit)» слід пройти розпізнавання."
#: src/core/dbus-unit.c:577 #: src/core/dbus-unit.c:594
msgid "Authentication is required to reset the \"failed\" state of '$(unit)'." msgid "Authentication is required to reset the \"failed\" state of '$(unit)'."
msgstr "" msgstr ""
"Для скидання «пошкодженого» стану з «$(unit)» слід пройти розпізнавання." "Для скидання «пошкодженого» стану з «$(unit)» слід пройти розпізнавання."
#: src/core/dbus-unit.c:607 #: src/core/dbus-unit.c:624
msgid "Authentication is required to set properties on '$(unit)'." msgid "Authentication is required to set properties on '$(unit)'."
msgstr "Для визначення властивостей на «$(unit)» слід пройти розпізнавання." msgstr "Для визначення властивостей на «$(unit)» слід пройти розпізнавання."
#: src/core/dbus-unit.c:704 #: src/core/dbus-unit.c:721
msgid "" msgid ""
"Authentication is required to delete files and directories associated with " "Authentication is required to delete files and directories associated with "
"'$(unit)'." "'$(unit)'."
@ -1281,7 +1302,7 @@ msgstr ""
"Для вилучення файлів і каталогів, які пов'язано із «$(unit)», слід пройти " "Для вилучення файлів і каталогів, які пов'язано із «$(unit)», слід пройти "
"розпізнавання." "розпізнавання."
#: src/core/dbus-unit.c:741 #: src/core/dbus-unit.c:758
msgid "" msgid ""
"Authentication is required to freeze or thaw the processes of '$(unit)' unit." "Authentication is required to freeze or thaw the processes of '$(unit)' unit."
msgstr "" msgstr ""

View File

@ -11,7 +11,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-08-23 15:33+0200\n" "POT-Creation-Date: 2024-11-06 14:42+0000\n"
"PO-Revision-Date: 2024-10-13 00:38+0000\n" "PO-Revision-Date: 2024-10-13 00:38+0000\n"
"Last-Translator: lumingzh <lumingzh@qq.com>\n" "Last-Translator: lumingzh <lumingzh@qq.com>\n"
"Language-Team: Chinese (Simplified) <https://translate.fedoraproject.org/" "Language-Team: Chinese (Simplified) <https://translate.fedoraproject.org/"
@ -112,27 +112,40 @@ msgid "Authentication is required to update a user's home area."
msgstr "更新用户家区域需要认证。" msgstr "更新用户家区域需要认证。"
#: src/home/org.freedesktop.home1.policy:53 #: src/home/org.freedesktop.home1.policy:53
#, fuzzy
msgid "Update your home area"
msgstr "更新一个家区域"
# Pay attention to the concept of "seat".
#
# To fully understand the meaning, please refer to session management in old ConsoleKit and new systemd-logind.
#: src/home/org.freedesktop.home1.policy:54
#, fuzzy
msgid "Authentication is required to update your home area."
msgstr "更新用户家区域需要认证。"
#: src/home/org.freedesktop.home1.policy:63
msgid "Resize a home area" msgid "Resize a home area"
msgstr "调整家区域大小" msgstr "调整家区域大小"
#: src/home/org.freedesktop.home1.policy:54 #: src/home/org.freedesktop.home1.policy:64
msgid "Authentication is required to resize a user's home area." msgid "Authentication is required to resize a user's home area."
msgstr "调整家区域大小需要认证。" msgstr "调整家区域大小需要认证。"
#: src/home/org.freedesktop.home1.policy:63 #: src/home/org.freedesktop.home1.policy:73
msgid "Change password of a home area" msgid "Change password of a home area"
msgstr "更改家区域的密码" msgstr "更改家区域的密码"
#: src/home/org.freedesktop.home1.policy:64 #: src/home/org.freedesktop.home1.policy:74
msgid "" msgid ""
"Authentication is required to change the password of a user's home area." "Authentication is required to change the password of a user's home area."
msgstr "更改家区域密码需要认证。" msgstr "更改家区域密码需要认证。"
#: src/home/org.freedesktop.home1.policy:73 #: src/home/org.freedesktop.home1.policy:83
msgid "Activate a home area" msgid "Activate a home area"
msgstr "创建一个家区域" msgstr "创建一个家区域"
#: src/home/org.freedesktop.home1.policy:74 #: src/home/org.freedesktop.home1.policy:84
msgid "Authentication is required to activate a user's home area." msgid "Authentication is required to activate a user's home area."
msgstr "创建用户家区域需要认证。" msgstr "创建用户家区域需要认证。"
@ -1080,6 +1093,15 @@ msgstr "清理旧的系统更新"
msgid "Authentication is required to cleanup old system updates." msgid "Authentication is required to cleanup old system updates."
msgstr "清理旧的系统更新需要认证。" msgstr "清理旧的系统更新需要认证。"
#: src/sysupdate/org.freedesktop.sysupdate1.policy:75
msgid "Manage optional features"
msgstr ""
#: src/sysupdate/org.freedesktop.sysupdate1.policy:76
#, fuzzy
msgid "Authentication is required to manage optional features"
msgstr "管理活动会话、用户与会话座位需要认证。"
#: src/timedate/org.freedesktop.timedate1.policy:22 #: src/timedate/org.freedesktop.timedate1.policy:22
msgid "Set system time" msgid "Set system time"
msgstr "设置系统时间" msgstr "设置系统时间"
@ -1116,43 +1138,43 @@ msgid ""
"shall be enabled." "shall be enabled."
msgstr "打开或关闭网络时间同步需要认证。" msgstr "打开或关闭网络时间同步需要认证。"
#: src/core/dbus-unit.c:353 #: src/core/dbus-unit.c:370
msgid "Authentication is required to start '$(unit)'." msgid "Authentication is required to start '$(unit)'."
msgstr "启动“$(unit)”需要认证。" msgstr "启动“$(unit)”需要认证。"
#: src/core/dbus-unit.c:354 #: src/core/dbus-unit.c:371
msgid "Authentication is required to stop '$(unit)'." msgid "Authentication is required to stop '$(unit)'."
msgstr "停止“$(unit)”需要认证。" msgstr "停止“$(unit)”需要认证。"
#: src/core/dbus-unit.c:355 #: src/core/dbus-unit.c:372
msgid "Authentication is required to reload '$(unit)'." msgid "Authentication is required to reload '$(unit)'."
msgstr "重新载入“$(unit)”需要认证。" msgstr "重新载入“$(unit)”需要认证。"
#: src/core/dbus-unit.c:356 src/core/dbus-unit.c:357 #: src/core/dbus-unit.c:373 src/core/dbus-unit.c:374
msgid "Authentication is required to restart '$(unit)'." msgid "Authentication is required to restart '$(unit)'."
msgstr "重新启动“$(unit)”需要认证。" msgstr "重新启动“$(unit)”需要认证。"
#: src/core/dbus-unit.c:549 #: src/core/dbus-unit.c:566
msgid "" msgid ""
"Authentication is required to send a UNIX signal to the processes of " "Authentication is required to send a UNIX signal to the processes of "
"'$(unit)'." "'$(unit)'."
msgstr "发送 UNIX 信号给 '$(unit)' 进程需要认证。" msgstr "发送 UNIX 信号给 '$(unit)' 进程需要认证。"
#: src/core/dbus-unit.c:577 #: src/core/dbus-unit.c:594
msgid "Authentication is required to reset the \"failed\" state of '$(unit)'." msgid "Authentication is required to reset the \"failed\" state of '$(unit)'."
msgstr "重置“$(unit)”的失败(\"failed\")状态需要认证。" msgstr "重置“$(unit)”的失败(\"failed\")状态需要认证。"
#: src/core/dbus-unit.c:607 #: src/core/dbus-unit.c:624
msgid "Authentication is required to set properties on '$(unit)'." msgid "Authentication is required to set properties on '$(unit)'."
msgstr "设置“$(unit)”的属性需要认证。" msgstr "设置“$(unit)”的属性需要认证。"
#: src/core/dbus-unit.c:704 #: src/core/dbus-unit.c:721
msgid "" msgid ""
"Authentication is required to delete files and directories associated with " "Authentication is required to delete files and directories associated with "
"'$(unit)'." "'$(unit)'."
msgstr "删除与 '$(unit)' 关联的文件和目录需要认证。" msgstr "删除与 '$(unit)' 关联的文件和目录需要认证。"
#: src/core/dbus-unit.c:741 #: src/core/dbus-unit.c:758
msgid "" msgid ""
"Authentication is required to freeze or thaw the processes of '$(unit)' unit." "Authentication is required to freeze or thaw the processes of '$(unit)' unit."
msgstr "冻结或解冻 '$(unit)' 单元进程需要认证。" msgstr "冻结或解冻 '$(unit)' 单元进程需要认证。"

View File

@ -8,7 +8,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-08-23 15:33+0200\n" "POT-Creation-Date: 2024-11-06 14:42+0000\n"
"PO-Revision-Date: 2024-06-06 00:50+0000\n" "PO-Revision-Date: 2024-06-06 00:50+0000\n"
"Last-Translator: hanjinpeng <hanjinpeng@kylinos.cn>\n" "Last-Translator: hanjinpeng <hanjinpeng@kylinos.cn>\n"
"Language-Team: Chinese (Traditional) <https://translate.fedoraproject.org/" "Language-Team: Chinese (Traditional) <https://translate.fedoraproject.org/"
@ -107,28 +107,38 @@ msgid "Authentication is required to update a user's home area."
msgstr "更新用戶家區域需要認證。" msgstr "更新用戶家區域需要認證。"
#: src/home/org.freedesktop.home1.policy:53 #: src/home/org.freedesktop.home1.policy:53
#, fuzzy
msgid "Update your home area"
msgstr "更新一個家區域"
#: src/home/org.freedesktop.home1.policy:54
#, fuzzy
msgid "Authentication is required to update your home area."
msgstr "更新用戶家區域需要認證。"
#: src/home/org.freedesktop.home1.policy:63
msgid "Resize a home area" msgid "Resize a home area"
msgstr "調整家區域大小" msgstr "調整家區域大小"
#: src/home/org.freedesktop.home1.policy:54 #: src/home/org.freedesktop.home1.policy:64
msgid "Authentication is required to resize a user's home area." msgid "Authentication is required to resize a user's home area."
msgstr "調整家區域大小需要認證。" msgstr "調整家區域大小需要認證。"
#: src/home/org.freedesktop.home1.policy:63 #: src/home/org.freedesktop.home1.policy:73
msgid "Change password of a home area" msgid "Change password of a home area"
msgstr "更改家區域的密碼" msgstr "更改家區域的密碼"
#: src/home/org.freedesktop.home1.policy:64 #: src/home/org.freedesktop.home1.policy:74
msgid "" msgid ""
"Authentication is required to change the password of a user's home area." "Authentication is required to change the password of a user's home area."
msgstr "更改家區域密碼需要認證。" msgstr "更改家區域密碼需要認證。"
#: src/home/org.freedesktop.home1.policy:73 #: src/home/org.freedesktop.home1.policy:83
#, fuzzy #, fuzzy
msgid "Activate a home area" msgid "Activate a home area"
msgstr "創建一個家區域" msgstr "創建一個家區域"
#: src/home/org.freedesktop.home1.policy:74 #: src/home/org.freedesktop.home1.policy:84
#, fuzzy #, fuzzy
msgid "Authentication is required to activate a user's home area." msgid "Authentication is required to activate a user's home area."
msgstr "創建用戶家區域需要身份驗證。" msgstr "創建用戶家區域需要身份驗證。"
@ -1091,6 +1101,15 @@ msgstr ""
msgid "Authentication is required to cleanup old system updates." msgid "Authentication is required to cleanup old system updates."
msgstr "設定系統時間需要驗證。" msgstr "設定系統時間需要驗證。"
#: src/sysupdate/org.freedesktop.sysupdate1.policy:75
msgid "Manage optional features"
msgstr ""
#: src/sysupdate/org.freedesktop.sysupdate1.policy:76
#, fuzzy
msgid "Authentication is required to manage optional features"
msgstr "管理活躍的工作階段、使用者與座位需要驗證。"
#: src/timedate/org.freedesktop.timedate1.policy:22 #: src/timedate/org.freedesktop.timedate1.policy:22
msgid "Set system time" msgid "Set system time"
msgstr "設定系統時間" msgstr "設定系統時間"
@ -1127,43 +1146,43 @@ msgid ""
"shall be enabled." "shall be enabled."
msgstr "控制網路時間同步是否啟用需要驗證。" msgstr "控制網路時間同步是否啟用需要驗證。"
#: src/core/dbus-unit.c:353 #: src/core/dbus-unit.c:370
msgid "Authentication is required to start '$(unit)'." msgid "Authentication is required to start '$(unit)'."
msgstr "啟動 '$(unit)' 需要驗證。" msgstr "啟動 '$(unit)' 需要驗證。"
#: src/core/dbus-unit.c:354 #: src/core/dbus-unit.c:371
msgid "Authentication is required to stop '$(unit)'." msgid "Authentication is required to stop '$(unit)'."
msgstr "停止 '$(unit)' 需要驗證。" msgstr "停止 '$(unit)' 需要驗證。"
#: src/core/dbus-unit.c:355 #: src/core/dbus-unit.c:372
msgid "Authentication is required to reload '$(unit)'." msgid "Authentication is required to reload '$(unit)'."
msgstr "重新載入 '$(unit)' 需要驗證。" msgstr "重新載入 '$(unit)' 需要驗證。"
#: src/core/dbus-unit.c:356 src/core/dbus-unit.c:357 #: src/core/dbus-unit.c:373 src/core/dbus-unit.c:374
msgid "Authentication is required to restart '$(unit)'." msgid "Authentication is required to restart '$(unit)'."
msgstr "重新啟動 '$(unit)' 需要驗證。" msgstr "重新啟動 '$(unit)' 需要驗證。"
#: src/core/dbus-unit.c:549 #: src/core/dbus-unit.c:566
msgid "" msgid ""
"Authentication is required to send a UNIX signal to the processes of " "Authentication is required to send a UNIX signal to the processes of "
"'$(unit)'." "'$(unit)'."
msgstr "傳送 UNIX 信號至「$(unit)」的程序需要身份驗證。" msgstr "傳送 UNIX 信號至「$(unit)」的程序需要身份驗證。"
#: src/core/dbus-unit.c:577 #: src/core/dbus-unit.c:594
msgid "Authentication is required to reset the \"failed\" state of '$(unit)'." msgid "Authentication is required to reset the \"failed\" state of '$(unit)'."
msgstr "重置 '$(unit)' 的「失敗」狀態需要驗證。" msgstr "重置 '$(unit)' 的「失敗」狀態需要驗證。"
#: src/core/dbus-unit.c:607 #: src/core/dbus-unit.c:624
msgid "Authentication is required to set properties on '$(unit)'." msgid "Authentication is required to set properties on '$(unit)'."
msgstr "在 '$(unit)' 上設定屬性需要驗證。" msgstr "在 '$(unit)' 上設定屬性需要驗證。"
#: src/core/dbus-unit.c:704 #: src/core/dbus-unit.c:721
msgid "" msgid ""
"Authentication is required to delete files and directories associated with " "Authentication is required to delete files and directories associated with "
"'$(unit)'." "'$(unit)'."
msgstr "刪除與 '$(unit)' 相關的檔案及目錄需要身份驗證。" msgstr "刪除與 '$(unit)' 相關的檔案及目錄需要身份驗證。"
#: src/core/dbus-unit.c:741 #: src/core/dbus-unit.c:758
msgid "" msgid ""
"Authentication is required to freeze or thaw the processes of '$(unit)' unit." "Authentication is required to freeze or thaw the processes of '$(unit)' unit."
msgstr "凍結或解凍「$(unit)」的程序需要身份驗證。" msgstr "凍結或解凍「$(unit)」的程序需要身份驗證。"

View File

@ -35,6 +35,7 @@
#include "fileio.h" #include "fileio.h"
#include "fs-util.h" #include "fs-util.h"
#include "hostname-util.h" #include "hostname-util.h"
#include "io-util.h"
#include "locale-util.h" #include "locale-util.h"
#include "log.h" #include "log.h"
#include "macro.h" #include "macro.h"
@ -2238,3 +2239,18 @@ static const char* const sched_policy_table[] = {
}; };
DEFINE_STRING_TABLE_LOOKUP_WITH_FALLBACK(sched_policy, int, INT_MAX); DEFINE_STRING_TABLE_LOOKUP_WITH_FALLBACK(sched_policy, int, INT_MAX);
_noreturn_ void report_errno_and_exit(int errno_fd, int error) {
int r;
if (error >= 0)
_exit(EXIT_SUCCESS);
assert(errno_fd >= 0);
r = loop_write(errno_fd, &error, sizeof(error));
if (r < 0)
log_debug_errno(r, "Failed to write errno to errno_fd=%d: %m", errno_fd);
_exit(EXIT_FAILURE);
}

View File

@ -273,3 +273,5 @@ int posix_spawn_wrapper(
int proc_dir_open(DIR **ret); int proc_dir_open(DIR **ret);
int proc_dir_read(DIR *d, pid_t *ret); int proc_dir_read(DIR *d, pid_t *ret);
int proc_dir_read_pidref(DIR *d, PidRef *ret); int proc_dir_read_pidref(DIR *d, PidRef *ret);
_noreturn_ void report_errno_and_exit(int errno_fd, int error);

135
src/boot/authenticode.h Normal file
View File

@ -0,0 +1,135 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once
#include <openssl/asn1t.h>
#include "macro.h"
#define SPC_INDIRECT_DATA_OBJID "1.3.6.1.4.1.311.2.1.4"
#define SPC_PE_IMAGE_DATA_OBJID "1.3.6.1.4.1.311.2.1.15"
typedef struct {
ASN1_OBJECT *type;
ASN1_TYPE *value;
} SpcAttributeTypeAndOptionalValue;
DECLARE_ASN1_FUNCTIONS(SpcAttributeTypeAndOptionalValue);
ASN1_SEQUENCE(SpcAttributeTypeAndOptionalValue) = {
ASN1_SIMPLE(SpcAttributeTypeAndOptionalValue, type, ASN1_OBJECT),
ASN1_OPT(SpcAttributeTypeAndOptionalValue, value, ASN1_ANY)
} ASN1_SEQUENCE_END(SpcAttributeTypeAndOptionalValue);
IMPLEMENT_ASN1_FUNCTIONS(SpcAttributeTypeAndOptionalValue);
typedef struct {
ASN1_OBJECT *algorithm;
ASN1_TYPE *parameters;
} AlgorithmIdentifier;
DECLARE_ASN1_FUNCTIONS(AlgorithmIdentifier);
ASN1_SEQUENCE(AlgorithmIdentifier) = {
ASN1_SIMPLE(AlgorithmIdentifier, algorithm, ASN1_OBJECT),
ASN1_OPT(AlgorithmIdentifier, parameters, ASN1_ANY)
} ASN1_SEQUENCE_END(AlgorithmIdentifier)
IMPLEMENT_ASN1_FUNCTIONS(AlgorithmIdentifier);
typedef struct {
AlgorithmIdentifier *digestAlgorithm;
ASN1_OCTET_STRING *digest;
} DigestInfo;
DECLARE_ASN1_FUNCTIONS(DigestInfo);
ASN1_SEQUENCE(DigestInfo) = {
ASN1_SIMPLE(DigestInfo, digestAlgorithm, AlgorithmIdentifier),
ASN1_SIMPLE(DigestInfo, digest, ASN1_OCTET_STRING)
} ASN1_SEQUENCE_END(DigestInfo);
IMPLEMENT_ASN1_FUNCTIONS(DigestInfo);
typedef struct {
SpcAttributeTypeAndOptionalValue *data;
DigestInfo *messageDigest;
} SpcIndirectDataContent;
DECLARE_ASN1_FUNCTIONS(SpcIndirectDataContent);
ASN1_SEQUENCE(SpcIndirectDataContent) = {
ASN1_SIMPLE(SpcIndirectDataContent, data, SpcAttributeTypeAndOptionalValue),
ASN1_SIMPLE(SpcIndirectDataContent, messageDigest, DigestInfo)
} ASN1_SEQUENCE_END(SpcIndirectDataContent);
IMPLEMENT_ASN1_FUNCTIONS(SpcIndirectDataContent);
DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(SpcIndirectDataContent*, SpcIndirectDataContent_free, NULL);
typedef struct {
int type;
union {
ASN1_BMPSTRING *unicode;
ASN1_IA5STRING *ascii;
} value;
} SpcString;
DECLARE_ASN1_FUNCTIONS(SpcString);
ASN1_CHOICE(SpcString) = {
ASN1_IMP_OPT(SpcString, value.unicode, ASN1_BMPSTRING, 0),
ASN1_IMP_OPT(SpcString, value.ascii, ASN1_IA5STRING, 1)
} ASN1_CHOICE_END(SpcString);
IMPLEMENT_ASN1_FUNCTIONS(SpcString);
typedef struct {
ASN1_OCTET_STRING *classId;
ASN1_OCTET_STRING *serializedData;
} SpcSerializedObject;
DECLARE_ASN1_FUNCTIONS(SpcSerializedObject);
ASN1_SEQUENCE(SpcSerializedObject) = {
ASN1_SIMPLE(SpcSerializedObject, classId, ASN1_OCTET_STRING),
ASN1_SIMPLE(SpcSerializedObject, serializedData, ASN1_OCTET_STRING)
} ASN1_SEQUENCE_END(SpcSerializedObject);
IMPLEMENT_ASN1_FUNCTIONS(SpcSerializedObject);
typedef struct {
int type;
union {
ASN1_IA5STRING *url;
SpcSerializedObject *moniker;
SpcString *file;
} value;
} SpcLink;
DECLARE_ASN1_FUNCTIONS(SpcLink);
ASN1_CHOICE(SpcLink) = {
ASN1_IMP_OPT(SpcLink, value.url, ASN1_IA5STRING, 0),
ASN1_IMP_OPT(SpcLink, value.moniker, SpcSerializedObject, 1),
ASN1_EXP_OPT(SpcLink, value.file, SpcString, 2)
} ASN1_CHOICE_END(SpcLink);
IMPLEMENT_ASN1_FUNCTIONS(SpcLink);
DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(SpcLink*, SpcLink_free, NULL);
typedef struct {
ASN1_BIT_STRING *flags;
SpcLink *file;
} SpcPeImageData;
DECLARE_ASN1_FUNCTIONS(SpcPeImageData);
ASN1_SEQUENCE(SpcPeImageData) = {
ASN1_SIMPLE(SpcPeImageData, flags, ASN1_BIT_STRING),
ASN1_EXP_OPT(SpcPeImageData, file, SpcLink, 0)
} ASN1_SEQUENCE_END(SpcPeImageData)
IMPLEMENT_ASN1_FUNCTIONS(SpcPeImageData);
DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(SpcPeImageData*, SpcPeImageData_free, NULL);

View File

@ -54,7 +54,7 @@ libraries (such as OpenSSL or gnu-efi) are linked, embedded, or used.
## Additional Resources ## Additional Resources
BLS Type #1 entries allow the user to load two types of additional resources that can affect the system BLS Type #1 entries allow the user to load two types of additional resources that can affect the system
before `ExitBootServices()` has been called — kernel command line arguments and Devicetree blobs — that are before `ExitBootServices()` has been called — kernel command line arguments and DeviceTree blobs — that are
not validated before use, as they do not carry signatures. For this reason, when SecureBoot is enabled, not validated before use, as they do not carry signatures. For this reason, when SecureBoot is enabled,
loading these resources is automatically disabled. There is no override for this security mechanism, neither loading these resources is automatically disabled. There is no override for this security mechanism, neither
at build time nor at runtime. Note that initrds are also not verified in BLS Type #1 configurations, for at build time nor at runtime. Note that initrds are also not verified in BLS Type #1 configurations, for
@ -62,7 +62,7 @@ compatibility with how SecureBoot has been traditionally handled on Linux-based
only load them after `ExitBootServices()` has been called. only load them after `ExitBootServices()` has been called.
Another mechanism is supported by `systemd-boot` and `systemd-stub` to add additional payloads to the boot Another mechanism is supported by `systemd-boot` and `systemd-stub` to add additional payloads to the boot
process: "addons". Addons are PE signed binaries that can carry kernel command line arguments or Devicetree process: "addons". Addons are PE signed binaries that can carry kernel command line arguments or DeviceTree
blobs (more payload types might be added in the future). blobs (more payload types might be added in the future).
In contrast to the user-specified additions in the Type #1 case In contrast to the user-specified additions in the Type #1 case
described above, these addons are loaded through the UEFI image loading protocol, and thus are subject to described above, these addons are loaded through the UEFI image loading protocol, and thus are subject to

View File

@ -178,8 +178,8 @@ bool firmware_devicetree_exists(void) {
return !!find_configuration_table(MAKE_GUID_PTR(EFI_DTB_TABLE)); return !!find_configuration_table(MAKE_GUID_PTR(EFI_DTB_TABLE));
} }
/* This function checks if the firmware provided Devicetree /* This function checks if the firmware provided DeviceTree
* and a UKI provided Devicetree contain the same first entry * and a UKI provided DeviceTree contain the same first entry
* on their respective "compatible" fields (which usually defines * on their respective "compatible" fields (which usually defines
* the actual device model). More specifically, given the FW/UKI * the actual device model). More specifically, given the FW/UKI
* "compatible" property pair: * "compatible" property pair:

View File

@ -98,7 +98,7 @@ static int help(int argc, char *argv[], void *userdata) {
" --initrd=PATH Path to initrd image file %7$s .initrd\n" " --initrd=PATH Path to initrd image file %7$s .initrd\n"
" --ucode=PATH Path to microcode image file %7$s .ucode\n" " --ucode=PATH Path to microcode image file %7$s .ucode\n"
" --splash=PATH Path to splash bitmap file %7$s .splash\n" " --splash=PATH Path to splash bitmap file %7$s .splash\n"
" --dtb=PATH Path to Devicetree file %7$s .dtb\n" " --dtb=PATH Path to DeviceTree file %7$s .dtb\n"
" --uname=PATH Path to 'uname -r' file %7$s .uname\n" " --uname=PATH Path to 'uname -r' file %7$s .uname\n"
" --sbat=PATH Path to SBAT file %7$s .sbat\n" " --sbat=PATH Path to SBAT file %7$s .sbat\n"
" --pcrpkey=PATH Path to public key for PCR signatures %7$s .pcrpkey\n" " --pcrpkey=PATH Path to public key for PCR signatures %7$s .pcrpkey\n"
@ -839,7 +839,7 @@ static int verb_sign(int argc, char *argv[], void *userdata) {
/* When signing we only support JSON output */ /* When signing we only support JSON output */
arg_json_format_flags &= ~SD_JSON_FORMAT_OFF; arg_json_format_flags &= ~SD_JSON_FORMAT_OFF;
/* This must be done before openssl_load_key_from_token() otherwise it will get stuck */ /* This must be done before openssl_load_private_key() otherwise it will get stuck */
if (arg_certificate) { if (arg_certificate) {
r = openssl_load_x509_certificate(arg_certificate, &certificate); r = openssl_load_x509_certificate(arg_certificate, &certificate);
if (r < 0) if (r < 0)

View File

@ -62,6 +62,14 @@ executables += [
'sources' : files('measure.c'), 'sources' : files('measure.c'),
'dependencies' : libopenssl, 'dependencies' : libopenssl,
}, },
libexec_template + {
'name' : 'systemd-sbsign',
'conditions' : [
'HAVE_OPENSSL',
],
'sources' : files('sbsign.c'),
'dependencies' : libopenssl,
},
libexec_template + { libexec_template + {
'name' : 'systemd-boot-check-no-failures', 'name' : 'systemd-boot-check-no-failures',
'sources' : files('boot-check-no-failures.c'), 'sources' : files('boot-check-no-failures.c'),

523
src/boot/sbsign.c Normal file
View File

@ -0,0 +1,523 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#include <getopt.h>
#include "ansi-color.h"
#include "authenticode.h"
#include "build.h"
#include "copy.h"
#include "efi-fundamental.h"
#include "fd-util.h"
#include "log.h"
#include "main-func.h"
#include "openssl-util.h"
#include "parse-argument.h"
#include "pe-binary.h"
#include "pretty-print.h"
#include "stat-util.h"
#include "tmpfile-util.h"
#include "verbs.h"
static PagerFlags arg_pager_flags = 0;
static char *arg_output = NULL;
static char *arg_certificate = NULL;
static char *arg_private_key = NULL;
static KeySourceType arg_private_key_source_type = OPENSSL_KEY_SOURCE_FILE;
static char *arg_private_key_source = NULL;
STATIC_DESTRUCTOR_REGISTER(arg_output, freep);
STATIC_DESTRUCTOR_REGISTER(arg_certificate, freep);
STATIC_DESTRUCTOR_REGISTER(arg_private_key, freep);
STATIC_DESTRUCTOR_REGISTER(arg_private_key_source, freep);
static int help(int argc, char *argv[], void *userdata) {
_cleanup_free_ char *link = NULL;
int r;
r = terminal_urlify_man("systemd-sbsign", "1", &link);
if (r < 0)
return log_oom();
printf("%1$s [OPTIONS...] COMMAND ...\n"
"\n%5$sSign binaries for EFI Secure Boot%6$s\n"
"\n%3$sCommands:%4$s\n"
" sign EXEFILE Sign the given binary for EFI Secure Boot\n"
" validate-key Load and validate the given private key\n"
"\n%3$sOptions:%4$s\n"
" -h --help Show this help\n"
" --version Print version\n"
" --no-pager Do not pipe output into a pager\n"
" --output Where to write the signed PE binary\n"
" --certificate=PATH PEM certificate to use when signing with a URI\n"
" --private-key=KEY Private key (PEM) to sign with\n"
" --private-key-source=file|provider:PROVIDER|engine:ENGINE\n"
" Specify how to use KEY for --private-key=. Allows\n"
" an OpenSSL engine/provider to be used for signing\n"
"\nSee the %2$s for details.\n",
program_invocation_short_name,
link,
ansi_underline(),
ansi_normal(),
ansi_highlight(),
ansi_normal());
return 0;
}
static int parse_argv(int argc, char *argv[]) {
enum {
ARG_VERSION = 0x100,
ARG_NO_PAGER,
ARG_OUTPUT,
ARG_CERTIFICATE,
ARG_PRIVATE_KEY,
ARG_PRIVATE_KEY_SOURCE,
};
static const struct option options[] = {
{ "help", no_argument, NULL, 'h' },
{ "no-pager", no_argument, NULL, ARG_NO_PAGER },
{ "version", no_argument, NULL, ARG_VERSION },
{ "output", required_argument, NULL, ARG_OUTPUT },
{ "certificate", required_argument, NULL, ARG_CERTIFICATE },
{ "private-key", required_argument, NULL, ARG_PRIVATE_KEY },
{ "private-key-source", required_argument, NULL, ARG_PRIVATE_KEY_SOURCE },
{}
};
int c, r;
assert(argc >= 0);
assert(argv);
while ((c = getopt_long(argc, argv, "hjc", options, NULL)) >= 0)
switch (c) {
case 'h':
help(0, NULL, NULL);
return 0;
case ARG_VERSION:
return version();
case ARG_NO_PAGER:
arg_pager_flags |= PAGER_DISABLE;
break;
case ARG_OUTPUT:
r = parse_path_argument(optarg, /*suppress_root=*/ false, &arg_output);
if (r < 0)
return r;
break;
case ARG_CERTIFICATE:
r = parse_path_argument(optarg, /* suppress_root= */ false, &arg_certificate);
if (r < 0)
return r;
break;
case ARG_PRIVATE_KEY:
r = free_and_strdup_warn(&arg_private_key, optarg);
if (r < 0)
return r;
break;
case ARG_PRIVATE_KEY_SOURCE:
r = parse_openssl_key_source_argument(
optarg,
&arg_private_key_source,
&arg_private_key_source_type);
if (r < 0)
return r;
break;
case '?':
return -EINVAL;
default:
assert_not_reached();
}
if (arg_private_key_source && !arg_certificate)
return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "When using --private-key-source=, --certificate= must be specified.");
return 1;
}
static int verb_sign(int argc, char *argv[], void *userdata) {
_cleanup_(openssl_ask_password_ui_freep) OpenSSLAskPasswordUI *ui = NULL;
_cleanup_(EVP_PKEY_freep) EVP_PKEY *private_key = NULL;
_cleanup_(X509_freep) X509 *certificate = NULL;
int r;
if (argc < 2)
return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "No input file specified");
if (!arg_certificate)
return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
"No certificate specified, use --certificate=");
if (!arg_private_key)
return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
"No private key specified, use --private-key=.");
if (!arg_output)
return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "No output specified, use --output=");
r = openssl_load_x509_certificate(arg_certificate, &certificate);
if (r < 0)
return log_error_errno(r, "Failed to load X.509 certificate from %s: %m", arg_certificate);
if (arg_private_key_source_type == OPENSSL_KEY_SOURCE_FILE) {
r = parse_path_argument(arg_private_key, /* suppress_root= */ false, &arg_private_key);
if (r < 0)
return log_error_errno(r, "Failed to parse private key path %s: %m", arg_private_key);
}
r = openssl_load_private_key(
arg_private_key_source_type,
arg_private_key_source,
arg_private_key,
&(AskPasswordRequest) {
.id = "sbsign-private-key-pin",
.keyring = arg_private_key,
.credential = "sbsign.private-key-pin",
},
&private_key,
&ui);
if (r < 0)
return log_error_errno(r, "Failed to load private key from %s: %m", arg_private_key);
_cleanup_(PKCS7_freep) PKCS7 *p7 = NULL;
p7 = PKCS7_sign(certificate, private_key, /*certs=*/ NULL, /*data=*/ NULL, PKCS7_BINARY|PKCS7_PARTIAL);
if (!p7)
return log_error_errno(SYNTHETIC_ERRNO(EIO), "Failed to allocate pkcs7 signing context: %s",
ERR_error_string(ERR_get_error(), NULL));
STACK_OF(PKCS7_SIGNER_INFO) *si_stack = PKCS7_get_signer_info(p7);
if (!si_stack)
return log_error_errno(SYNTHETIC_ERRNO(EIO), "Failed to get pkcs7 signer info stack: %s",
ERR_error_string(ERR_get_error(), NULL));
PKCS7_SIGNER_INFO *si = sk_PKCS7_SIGNER_INFO_value(si_stack, 0);
if (!si)
return log_error_errno(SYNTHETIC_ERRNO(EIO), "Failed to get pkcs7 signer info: %s",
ERR_error_string(ERR_get_error(), NULL));
int idcnid = OBJ_create(SPC_INDIRECT_DATA_OBJID, "spcIndirectDataContext", "Indirect Data Context");
if (PKCS7_add_signed_attribute(si, NID_pkcs9_contentType, V_ASN1_OBJECT, OBJ_nid2obj(idcnid)) == 0)
return log_error_errno(SYNTHETIC_ERRNO(EIO), "Failed to add signed attribute to pkcs7 signer info: %s",
ERR_error_string(ERR_get_error(), NULL));
_cleanup_close_ int srcfd = open(argv[1], O_RDONLY|O_CLOEXEC);
if (srcfd < 0)
return log_error_errno(errno, "Failed to open %s: %m", argv[1]);
struct stat st;
if (fstat(srcfd, &st) < 0)
return log_debug_errno(errno, "Failed to stat %s: %m", argv[1]);
r = stat_verify_regular(&st);
if (r < 0)
return log_debug_errno(r, "%s is not a regular file: %m", argv[1]);
_cleanup_(unlink_and_freep) char *tmp = NULL;
_cleanup_close_ int dstfd = open_tmpfile_linkable(arg_output, O_RDWR|O_CLOEXEC, &tmp);
if (dstfd < 0)
return log_error_errno(r, "Failed to open temporary file: %m");
r = copy_bytes(srcfd, dstfd, UINT64_MAX, COPY_REFLINK);
if (r < 0)
return log_error_errno(r, "Failed to copy %s to %s: %m", argv[1], tmp);
_cleanup_free_ void *hash = NULL;
size_t hashsz;
r = pe_hash(dstfd, EVP_sha256(), &hash, &hashsz);
if (r < 0)
return log_error_errno(r, "Failed to hash PE binary %s: %m", argv[0]);
/* <<<Obsolete>>> in unicode bytes. */
static const uint8_t obsolete[] = {
0x00, 0x3c, 0x00, 0x3c, 0x00, 0x3c, 0x00, 0x4f,
0x00, 0x62, 0x00, 0x73, 0x00, 0x6f, 0x00, 0x6c,
0x00, 0x65, 0x00, 0x74, 0x00, 0x65, 0x00, 0x3e,
0x00, 0x3e, 0x00, 0x3e
};
_cleanup_(SpcLink_freep) SpcLink *link = SpcLink_new();
if (!link)
return log_oom();
link->type = 2;
link->value.file = SpcString_new();
if (!link->value.file)
return log_oom();
link->value.file->type = 0;
link->value.file->value.unicode = ASN1_BMPSTRING_new();
if (!link->value.file->value.unicode)
return log_oom();
if (ASN1_STRING_set(link->value.file->value.unicode, obsolete, sizeof(obsolete)) == 0)
return log_error_errno(SYNTHETIC_ERRNO(EIO), "Failed to set ASN1 string: %s",
ERR_error_string(ERR_get_error(), NULL));
_cleanup_(SpcPeImageData_freep) SpcPeImageData *peid = SpcPeImageData_new();
if (!peid)
return log_oom();
if (ASN1_BIT_STRING_set_bit(peid->flags, 0, 1) == 0)
return log_oom();
peid->file = TAKE_PTR(link);
_cleanup_free_ uint8_t *peidraw = NULL;
int peidrawsz = i2d_SpcPeImageData(peid, &peidraw);
if (peidrawsz < 0)
return log_error_errno(SYNTHETIC_ERRNO(EIO), "Failed to convert SpcPeImageData to BER: %s",
ERR_error_string(ERR_get_error(), NULL));
_cleanup_(SpcIndirectDataContent_freep) SpcIndirectDataContent *idc = SpcIndirectDataContent_new();
idc->data->value = ASN1_TYPE_new();
if (!idc->data->value)
return log_oom();
idc->data->value->type = V_ASN1_SEQUENCE;
idc->data->value->value.sequence = ASN1_STRING_new();
if (!idc->data->value->value.sequence)
return log_oom();
idc->data->type = OBJ_txt2obj(SPC_PE_IMAGE_DATA_OBJID, /*no_name=*/ 1);
if (!idc->data->type)
return log_error_errno(SYNTHETIC_ERRNO(EIO), "Failed to get SpcPeImageData object: %s",
ERR_error_string(ERR_get_error(), NULL));
idc->data->value->value.sequence->data = TAKE_PTR(peidraw);
idc->data->value->value.sequence->length = peidrawsz;
idc->messageDigest->digestAlgorithm->algorithm = OBJ_nid2obj(NID_sha256);
if (!idc->messageDigest->digestAlgorithm->algorithm)
return log_error_errno(SYNTHETIC_ERRNO(EIO), "Failed to get SHA256 object: %s",
ERR_error_string(ERR_get_error(), NULL));
idc->messageDigest->digestAlgorithm->parameters = ASN1_TYPE_new();
if (!idc->messageDigest->digestAlgorithm->parameters)
return log_oom();
idc->messageDigest->digestAlgorithm->parameters->type = V_ASN1_NULL;
if (ASN1_OCTET_STRING_set(idc->messageDigest->digest, hash, hashsz) == 0)
return log_error_errno(SYNTHETIC_ERRNO(EIO), "Failed to set digest: %s",
ERR_error_string(ERR_get_error(), NULL));
_cleanup_free_ uint8_t *idcraw = NULL;
int idcrawsz = i2d_SpcIndirectDataContent(idc, &idcraw);
if (idcrawsz < 0)
return log_error_errno(SYNTHETIC_ERRNO(EIO), "Failed to convert SpcIndirectDataContent to BER: %s",
ERR_error_string(ERR_get_error(), NULL));
_cleanup_(BIO_free_allp) BIO *bio = PKCS7_dataInit(p7, NULL);
if (!bio)
return log_error_errno(SYNTHETIC_ERRNO(EIO), "Failed to create PKCS7 data bio: %s",
ERR_error_string(ERR_get_error(), NULL));
int tag, class;
long psz;
const uint8_t *p = idcraw;
/* This function weirdly enough reports errors by setting the 0x80 bit in its return value. */
if (ASN1_get_object(&p, &psz, &tag, &class, idcrawsz) & 0x80)
return log_error_errno(SYNTHETIC_ERRNO(EIO), "Failed to parse ASN.1 object: %s",
ERR_error_string(ERR_get_error(), NULL));
if (BIO_write(bio, p, psz) < 0)
return log_error_errno(SYNTHETIC_ERRNO(EIO), "Failed to write to PKCS7 data bio: %s",
ERR_error_string(ERR_get_error(), NULL));
if (PKCS7_final(p7, bio, PKCS7_BINARY) == 0)
return log_error_errno(SYNTHETIC_ERRNO(EIO), "Failed to sign data: %s",
ERR_error_string(ERR_get_error(), NULL));
_cleanup_(PKCS7_freep) PKCS7 *p7c = PKCS7_new();
if (!p7c)
return log_oom();
p7c->type = OBJ_nid2obj(idcnid);
if (!p7c->type)
return log_error_errno(SYNTHETIC_ERRNO(EIO), "Failed to get SpcIndirectDataContent object: %s",
ERR_error_string(ERR_get_error(), NULL));
p7c->d.other = ASN1_TYPE_new();
if (!p7c->d.other)
return log_oom();
p7c->d.other->type = V_ASN1_SEQUENCE;
p7c->d.other->value.sequence = ASN1_STRING_new();
if (!p7c->d.other->value.sequence)
return log_oom();
if (ASN1_STRING_set(p7c->d.other->value.sequence, idcraw, idcrawsz) == 0)
return log_error_errno(SYNTHETIC_ERRNO(EIO), "Failed to set ASN1 string: %s",
ERR_error_string(ERR_get_error(), NULL));
if (PKCS7_set_content(p7, p7c) == 0)
return log_error_errno(SYNTHETIC_ERRNO(EIO), "Failed to set PKCS7 data: %s",
ERR_error_string(ERR_get_error(), NULL));
TAKE_PTR(p7c);
_cleanup_free_ uint8_t *sig = NULL;
int sigsz = i2d_PKCS7(p7, &sig);
if (sigsz < 0)
return log_error_errno(SYNTHETIC_ERRNO(EIO), "Failed to convert PKCS7 signature to DER: %s",
ERR_error_string(ERR_get_error(), NULL));
_cleanup_free_ IMAGE_DOS_HEADER *dos_header = NULL;
_cleanup_free_ PeHeader *pe_header = NULL;
r = pe_load_headers(srcfd, &dos_header, &pe_header);
if (r < 0)
return log_error_errno(r, "Failed to load headers from PE file: %m");
const IMAGE_DATA_DIRECTORY *certificate_table;
certificate_table = pe_header_get_data_directory(pe_header, IMAGE_DATA_DIRECTORY_INDEX_CERTIFICATION_TABLE);
if (!certificate_table)
return log_error_errno(SYNTHETIC_ERRNO(EBADMSG), "File lacks certificate table.");
off_t end = st.st_size;
ssize_t n;
if (st.st_size % 8 != 0) {
if (certificate_table->VirtualAddress != 0)
return log_error_errno(SYNTHETIC_ERRNO(EBADMSG), "Certificate table is not aligned to 8 bytes");
n = pwrite(dstfd, (const uint8_t[8]) {}, 8 - (st.st_size % 8), st.st_size);
if (n < 0)
return log_error_errno(errno, "Failed to write zero padding: %m");
if (n != 8 - (st.st_size % 8))
return log_error_errno(SYNTHETIC_ERRNO(EIO), "Short write while writing zero padding.");
end += n;
}
uint32_t certsz = offsetof(WIN_CERTIFICATE, bCertificate) + sigsz;
n = pwrite(dstfd,
&(WIN_CERTIFICATE) {
.wRevision = htole16(0x200),
.wCertificateType = htole16(0x0002), /* PKCS7 signedData */
.dwLength = htole32(ROUND_UP(certsz, 8)),
},
sizeof(WIN_CERTIFICATE),
end);
if (n < 0)
return log_error_errno(errno, "Failed to write certificate header: %m");
if (n != sizeof(WIN_CERTIFICATE))
return log_error_errno(SYNTHETIC_ERRNO(EIO), "Short write while writing certificate header.");
end += n;
n = pwrite(dstfd, sig, sigsz, end);
if (n < 0)
return log_error_errno(errno, "Failed to write signature: %m");
if (n != sigsz)
return log_error_errno(SYNTHETIC_ERRNO(EIO), "Short write while writing signature.");
end += n;
if (certsz % 8 != 0) {
n = pwrite(dstfd, (const uint8_t[8]) {}, 8 - (certsz % 8), end);
if (n < 0)
return log_error_errno(errno, "Failed to write zero padding: %m");
if ((size_t) n != 8 - (certsz % 8))
return log_error_errno(SYNTHETIC_ERRNO(EIO), "Short write while writing zero padding.");
}
n = pwrite(dstfd,
&(IMAGE_DATA_DIRECTORY) {
.VirtualAddress = certificate_table->VirtualAddress ?: htole32(ROUND_UP(st.st_size, 8)),
.Size = htole32(le32toh(certificate_table->Size) + ROUND_UP(certsz, 8)),
},
sizeof(IMAGE_DATA_DIRECTORY),
le32toh(dos_header->e_lfanew) + PE_HEADER_OPTIONAL_FIELD_OFFSET(pe_header, DataDirectory[IMAGE_DATA_DIRECTORY_INDEX_CERTIFICATION_TABLE]));
if (n < 0)
return log_error_errno(errno, "Failed to update PE certificate table: %m");
if ((size_t) n != sizeof(IMAGE_DATA_DIRECTORY))
return log_error_errno(SYNTHETIC_ERRNO(EIO), "Short write while updating PE certificate table.");
uint32_t checksum;
r = pe_checksum(dstfd, &checksum);
if (r < 0)
return log_error_errno(r, "Failed to calculate PE file checksum: %m");
n = pwrite(dstfd,
&(le32_t) { htole32(checksum) },
sizeof(le32_t),
le32toh(dos_header->e_lfanew) + offsetof(PeHeader, optional.CheckSum));
if (n < 0)
return log_error_errno(errno, "Failed to update PE checksum: %m");
if ((size_t) n != sizeof(le32_t))
return log_error_errno(SYNTHETIC_ERRNO(EIO), "Short write while updating PE checksum.");
r = link_tmpfile(dstfd, tmp, arg_output, LINK_TMPFILE_REPLACE|LINK_TMPFILE_SYNC);
if (r < 0)
return log_error_errno(r, "Failed to link temporary file to %s: %m", arg_output);
log_info("Wrote signed PE binary to %s", arg_output);
return 0;
}
static int verb_validate_key(int argc, char *argv[], void *userdata) {
_cleanup_(openssl_ask_password_ui_freep) OpenSSLAskPasswordUI *ui = NULL;
_cleanup_(EVP_PKEY_freep) EVP_PKEY *private_key = NULL;
int r;
if (!arg_private_key)
return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
"No private key specified, use --private-key=.");
if (arg_private_key_source_type == OPENSSL_KEY_SOURCE_FILE) {
r = parse_path_argument(arg_private_key, /* suppress_root= */ false, &arg_private_key);
if (r < 0)
return log_error_errno(r, "Failed to parse private key path %s: %m", arg_private_key);
}
r = openssl_load_private_key(
arg_private_key_source_type,
arg_private_key_source,
arg_private_key,
&(AskPasswordRequest) {
.id = "sbsign-private-key-pin",
.keyring = arg_private_key,
.credential = "sbsign.private-key-pin",
},
&private_key,
&ui);
if (r < 0)
return log_error_errno(r, "Failed to load private key from %s: %m", arg_private_key);
puts("OK");
return 0;
}
static int run(int argc, char *argv[]) {
static const Verb verbs[] = {
{ "help", VERB_ANY, VERB_ANY, 0, help },
{ "sign", 2, 2, 0, verb_sign },
{ "validate-key", VERB_ANY, 1, 0, verb_validate_key },
{}
};
int r;
log_setup();
r = parse_argv(argc, argv);
if (r <= 0)
return r;
return dispatch_verb(argc, argv, verbs, NULL);
}
DEFINE_MAIN_FUNCTION(run);

View File

@ -2165,10 +2165,8 @@ static int setup_private_users(PrivateUsers private_users, uid_t ouid, gid_t ogi
errno_pipe[0] = safe_close(errno_pipe[0]); errno_pipe[0] = safe_close(errno_pipe[0]);
/* Wait until the parent unshared the user namespace */ /* Wait until the parent unshared the user namespace */
if (read(unshare_ready_fd, &c, sizeof(c)) < 0) { if (read(unshare_ready_fd, &c, sizeof(c)) < 0)
r = -errno; report_errno_and_exit(errno_pipe[1], -errno);
goto child_fail;
}
/* Disable the setgroups() system call in the child user namespace, for good. */ /* Disable the setgroups() system call in the child user namespace, for good. */
a = procfs_file_alloca(ppid, "setgroups"); a = procfs_file_alloca(ppid, "setgroups");
@ -2176,14 +2174,14 @@ static int setup_private_users(PrivateUsers private_users, uid_t ouid, gid_t ogi
if (fd < 0) { if (fd < 0) {
if (errno != ENOENT) { if (errno != ENOENT) {
r = log_debug_errno(errno, "Failed to open %s: %m", a); r = log_debug_errno(errno, "Failed to open %s: %m", a);
goto child_fail; report_errno_and_exit(errno_pipe[1], r);
} }
/* If the file is missing the kernel is too old, let's continue anyway. */ /* If the file is missing the kernel is too old, let's continue anyway. */
} else { } else {
if (write(fd, "deny\n", 5) < 0) { if (write(fd, "deny\n", 5) < 0) {
r = log_debug_errno(errno, "Failed to write \"deny\" to %s: %m", a); r = log_debug_errno(errno, "Failed to write \"deny\" to %s: %m", a);
goto child_fail; report_errno_and_exit(errno_pipe[1], r);
} }
fd = safe_close(fd); fd = safe_close(fd);
@ -2194,12 +2192,14 @@ static int setup_private_users(PrivateUsers private_users, uid_t ouid, gid_t ogi
fd = open(a, O_WRONLY|O_CLOEXEC); fd = open(a, O_WRONLY|O_CLOEXEC);
if (fd < 0) { if (fd < 0) {
r = log_debug_errno(errno, "Failed to open %s: %m", a); r = log_debug_errno(errno, "Failed to open %s: %m", a);
goto child_fail; report_errno_and_exit(errno_pipe[1], r);
} }
if (write(fd, gid_map, strlen(gid_map)) < 0) { if (write(fd, gid_map, strlen(gid_map)) < 0) {
r = log_debug_errno(errno, "Failed to write GID map to %s: %m", a); r = log_debug_errno(errno, "Failed to write GID map to %s: %m", a);
goto child_fail; report_errno_and_exit(errno_pipe[1], r);
} }
fd = safe_close(fd); fd = safe_close(fd);
/* The write the UID map */ /* The write the UID map */
@ -2207,18 +2207,15 @@ static int setup_private_users(PrivateUsers private_users, uid_t ouid, gid_t ogi
fd = open(a, O_WRONLY|O_CLOEXEC); fd = open(a, O_WRONLY|O_CLOEXEC);
if (fd < 0) { if (fd < 0) {
r = log_debug_errno(errno, "Failed to open %s: %m", a); r = log_debug_errno(errno, "Failed to open %s: %m", a);
goto child_fail; report_errno_and_exit(errno_pipe[1], r);
} }
if (write(fd, uid_map, strlen(uid_map)) < 0) { if (write(fd, uid_map, strlen(uid_map)) < 0) {
r = log_debug_errno(errno, "Failed to write UID map to %s: %m", a); r = log_debug_errno(errno, "Failed to write UID map to %s: %m", a);
goto child_fail; report_errno_and_exit(errno_pipe[1], r);
} }
_exit(EXIT_SUCCESS); _exit(EXIT_SUCCESS);
child_fail:
(void) write(errno_pipe[1], &r, sizeof(r));
_exit(EXIT_FAILURE);
} }
errno_pipe[1] = safe_close(errno_pipe[1]); errno_pipe[1] = safe_close(errno_pipe[1]);

View File

@ -3170,21 +3170,11 @@ int main(int argc, char *argv[]) {
} }
if (!skip_setup) { if (!skip_setup) {
/* Before we actually start deleting cgroup v1 code, make it harder to boot
* in cgroupv1 mode first. See also #30852. */
r = mount_cgroup_legacy_controllers(loaded_policy); r = mount_cgroup_legacy_controllers(loaded_policy);
if (r < 0) { if (r < 0) {
if (r == -ERFKILL)
error_message = "Refusing to run under cgroup v1, SYSTEMD_CGROUP_ENABLE_LEGACY_FORCE=1 not specified on kernel command line";
else
error_message = "Failed to mount cgroup v1 hierarchy"; error_message = "Failed to mount cgroup v1 hierarchy";
goto finish; goto finish;
} }
if (r > 0) {
log_full(LOG_CRIT, "Legacy cgroup v1 support selected. This is no longer supported. Will proceed anyway after 30s.");
(void) usleep_safe(30 * USEC_PER_SEC);
}
} }
/* The efivarfs is now mounted, let's lock down the system token. */ /* The efivarfs is now mounted, let's lock down the system token. */

View File

@ -5067,7 +5067,7 @@ static int manager_dispatch_pidref_transport_fd(sd_event_source *source, int fd,
_cleanup_close_ int child_pidfd = -EBADF, parent_pidfd = -EBADF; _cleanup_close_ int child_pidfd = -EBADF, parent_pidfd = -EBADF;
struct ucred *ucred = NULL; struct ucred *ucred = NULL;
CMSG_BUFFER_TYPE(CMSG_SPACE(sizeof(struct ucred)) + CMSG_SPACE(sizeof(int)) * 2) control; CMSG_BUFFER_TYPE(CMSG_SPACE(sizeof(struct ucred)) + CMSG_SPACE(sizeof(int)) * 2) control;
pid_t child_pid; pid_t child_pid = 0; /* silence false-positive warning by coverity */
struct msghdr msghdr = { struct msghdr msghdr = {
.msg_iov = &IOVEC_MAKE(&child_pid, sizeof(child_pid)), .msg_iov = &IOVEC_MAKE(&child_pid, sizeof(child_pid)),
.msg_iovlen = 1, .msg_iovlen = 1,

View File

@ -47,7 +47,7 @@ enum {
/* The tag used for EV_EVENT_TAG event log records covering the boot loader config */ /* The tag used for EV_EVENT_TAG event log records covering the boot loader config */
#define LOADER_CONF_EVENT_TAG_ID UINT32_C(0xf5bc582a) #define LOADER_CONF_EVENT_TAG_ID UINT32_C(0xf5bc582a)
/* The tag used for EV_EVENT_TAG event log records covering Devicetree blobs */ /* The tag used for EV_EVENT_TAG event log records covering DeviceTree blobs */
#define DEVICETREE_ADDON_EVENT_TAG_ID UINT32_C(0x6c46f751) #define DEVICETREE_ADDON_EVENT_TAG_ID UINT32_C(0x6c46f751)
/* The tag used for EV_EVENT_TAG event log records covering initrd addons */ /* The tag used for EV_EVENT_TAG event log records covering initrd addons */

View File

@ -502,7 +502,7 @@ try_devicetree:
return NULL; return NULL;
} }
/* Note that the Devicetree specification uses the very same vocabulary /* Note that the DeviceTree specification uses the very same vocabulary
* of chassis types as we do, hence we do not need to translate these types: * of chassis types as we do, hence we do not need to translate these types:
* *
* https://github.com/devicetree-org/devicetree-specification/blob/master/source/chapter3-devicenodes.rst */ * https://github.com/devicetree-org/devicetree-specification/blob/master/source/chapter3-devicenodes.rst */

View File

@ -2,6 +2,7 @@
#include "alloc-util.h" #include "alloc-util.h"
#include "devnum-util.h" #include "devnum-util.h"
#include "env-util.h"
#include "fd-util.h" #include "fd-util.h"
#include "glyph-util.h" #include "glyph-util.h"
#include "in-addr-util.h" #include "in-addr-util.h"
@ -369,6 +370,40 @@ int json_dispatch_devnum(const char *name, sd_json_variant *variant, sd_json_dis
return 0; return 0;
} }
int json_dispatch_strv_environment(const char *name, sd_json_variant *variant, sd_json_dispatch_flags_t flags, void *userdata) {
_cleanup_strv_free_ char **n = NULL;
char ***l = userdata;
int r;
if (sd_json_variant_is_null(variant)) {
*l = strv_free(*l);
return 0;
}
if (!sd_json_variant_is_array(variant))
return json_log(variant, flags, SYNTHETIC_ERRNO(EINVAL), "JSON field '%s' is not an array.", strna(name));
for (size_t i = 0; i < sd_json_variant_elements(variant); i++) {
sd_json_variant *e;
const char *a;
e = sd_json_variant_by_index(variant, i);
if (!sd_json_variant_is_string(e))
return json_log(variant, flags, SYNTHETIC_ERRNO(EINVAL), "JSON field '%s' is not an array of strings.", strna(name));
assert_se(a = sd_json_variant_string(e));
if (!env_assignment_is_valid(a))
return json_log(variant, flags, SYNTHETIC_ERRNO(EINVAL), "JSON field '%s' is not an array of environment variables.", strna(name));
r = strv_env_replace_strdup(&n, a);
if (r < 0)
return json_log_oom(variant, flags);
}
return strv_free_and_replace(*l, n);
}
static int json_variant_new_stat(sd_json_variant **ret, const struct stat *st) { static int json_variant_new_stat(sd_json_variant **ret, const struct stat *st) {
char mode[STRLEN("0755")+1]; char mode[STRLEN("0755")+1];

View File

@ -116,6 +116,7 @@ int json_dispatch_path(const char *name, sd_json_variant *variant, sd_json_dispa
int json_dispatch_pidref(const char *name, sd_json_variant *variant, sd_json_dispatch_flags_t flags, void *userdata); int json_dispatch_pidref(const char *name, sd_json_variant *variant, sd_json_dispatch_flags_t flags, void *userdata);
int json_dispatch_devnum(const char *name, sd_json_variant *variant, sd_json_dispatch_flags_t flags, void *userdata); int json_dispatch_devnum(const char *name, sd_json_variant *variant, sd_json_dispatch_flags_t flags, void *userdata);
int json_dispatch_ifindex(const char *name, sd_json_variant *variant, sd_json_dispatch_flags_t flags, void *userdata); int json_dispatch_ifindex(const char *name, sd_json_variant *variant, sd_json_dispatch_flags_t flags, void *userdata);
int json_dispatch_strv_environment(const char *name, sd_json_variant *variant, sd_json_dispatch_flags_t flags, void *userdata);
static inline int json_variant_unbase64_iovec(sd_json_variant *v, struct iovec *ret) { static inline int json_variant_unbase64_iovec(sd_json_variant *v, struct iovec *ret) {
return sd_json_variant_unbase64(v, ret ? &ret->iov_base : NULL, ret ? &ret->iov_len : NULL); return sd_json_variant_unbase64(v, ret ? &ret->iov_base : NULL, ret ? &ret->iov_len : NULL);

View File

@ -294,59 +294,11 @@ int bus_machine_method_open_pty(sd_bus_message *message, void *userdata, sd_bus_
return sd_bus_send(NULL, reply, NULL); return sd_bus_send(NULL, reply, NULL);
} }
static int container_bus_new(Machine *m, sd_bus_error *error, sd_bus **ret) {
int r;
assert(m);
assert(ret);
switch (m->class) {
case MACHINE_HOST:
*ret = NULL;
break;
case MACHINE_CONTAINER: {
_cleanup_(sd_bus_close_unrefp) sd_bus *bus = NULL;
char *address;
r = sd_bus_new(&bus);
if (r < 0)
return r;
if (asprintf(&address, "x-machine-unix:pid=%" PID_PRI, m->leader.pid) < 0)
return -ENOMEM;
bus->address = address;
bus->bus_client = true;
bus->trusted = false;
bus->runtime_scope = RUNTIME_SCOPE_SYSTEM;
r = sd_bus_start(bus);
if (r == -ENOENT)
return sd_bus_error_set_errnof(error, r, "There is no system bus in container %s.", m->name);
if (r < 0)
return r;
*ret = TAKE_PTR(bus);
break;
}
default:
return -EOPNOTSUPP;
}
return 0;
}
int bus_machine_method_open_login(sd_bus_message *message, void *userdata, sd_bus_error *error) { int bus_machine_method_open_login(sd_bus_message *message, void *userdata, sd_bus_error *error) {
_cleanup_(sd_bus_message_unrefp) sd_bus_message *reply = NULL; _cleanup_(sd_bus_message_unrefp) sd_bus_message *reply = NULL;
_cleanup_free_ char *pty_name = NULL; _cleanup_free_ char *pty_name = NULL;
_cleanup_(sd_bus_flush_close_unrefp) sd_bus *allocated_bus = NULL;
_cleanup_close_ int master = -EBADF; _cleanup_close_ int master = -EBADF;
sd_bus *container_bus = NULL;
Machine *m = ASSERT_PTR(userdata); Machine *m = ASSERT_PTR(userdata);
const char *p, *getty;
int r; int r;
assert(message); assert(message);
@ -372,18 +324,7 @@ int bus_machine_method_open_login(sd_bus_message *message, void *userdata, sd_bu
if (master < 0) if (master < 0)
return master; return master;
p = path_startswith(pty_name, "/dev/pts/"); r = machine_start_getty(m, pty_name, error);
assert(p);
r = container_bus_new(m, error, &allocated_bus);
if (r < 0)
return r;
container_bus = allocated_bus ?: m->manager->bus;
getty = strjoina("container-getty@", p, ".service");
r = bus_call_method(container_bus, bus_systemd_mgr, "StartUnit", error, NULL, "ss", getty, "replace");
if (r < 0) if (r < 0)
return r; return r;
@ -399,15 +340,13 @@ int bus_machine_method_open_login(sd_bus_message *message, void *userdata, sd_bu
} }
int bus_machine_method_open_shell(sd_bus_message *message, void *userdata, sd_bus_error *error) { int bus_machine_method_open_shell(sd_bus_message *message, void *userdata, sd_bus_error *error) {
_cleanup_(sd_bus_message_unrefp) sd_bus_message *reply = NULL, *tm = NULL; _cleanup_(sd_bus_message_unrefp) sd_bus_message *reply = NULL;
_cleanup_free_ char *pty_name = NULL; _cleanup_free_ char *pty_name = NULL;
_cleanup_(sd_bus_flush_close_unrefp) sd_bus *allocated_bus = NULL; _cleanup_close_ int master = -EBADF;
sd_bus *container_bus = NULL;
_cleanup_close_ int master = -EBADF, slave = -EBADF;
_cleanup_strv_free_ char **env = NULL, **args_wire = NULL, **args = NULL; _cleanup_strv_free_ char **env = NULL, **args_wire = NULL, **args = NULL;
_cleanup_free_ char *command_line = NULL; _cleanup_free_ char *command_line = NULL;
Machine *m = ASSERT_PTR(userdata); Machine *m = ASSERT_PTR(userdata);
const char *unit, *user, *path, *description, *utmp_id; const char *user, *path;
int r; int r;
assert(message); assert(message);
@ -420,25 +359,10 @@ int bus_machine_method_open_shell(sd_bus_message *message, void *userdata, sd_bu
if (r < 0) if (r < 0)
return r; return r;
if (isempty(path)) { if (isempty(path)) {
path = "/bin/sh"; path = machine_default_shell_path();
args = machine_default_shell_args(user);
args = new0(char*, 3 + 1);
if (!args) if (!args)
return -ENOMEM; return -ENOMEM;
args[0] = strdup("sh");
if (!args[0])
return -ENOMEM;
args[1] = strdup("-c");
if (!args[1])
return -ENOMEM;
r = asprintf(&args[2],
"shell=$(getent passwd %s 2>/dev/null | { IFS=: read _ _ _ _ _ _ x; echo \"$x\"; })\n"\
"exec \"${shell:-/bin/sh}\" -l", /* -l is means --login */
user);
if (r < 0) {
args[2] = NULL;
return -ENOMEM;
}
} else { } else {
if (!path_is_absolute(path)) if (!path_is_absolute(path))
return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Specified path '%s' is not absolute", path); return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Specified path '%s' is not absolute", path);
@ -484,153 +408,10 @@ int bus_machine_method_open_shell(sd_bus_message *message, void *userdata, sd_bu
if (master < 0) if (master < 0)
return master; return master;
/* First try to get an fd for the PTY peer via the new racefree ioctl(), directly. Otherwise go via r = machine_start_shell(m, master, pty_name, user, path, args, env, error);
* joining the namespace, because it goes by path */
slave = pty_open_peer_racefree(master, O_RDWR|O_NOCTTY|O_CLOEXEC);
if (ERRNO_IS_NEG_NOT_SUPPORTED(slave))
slave = machine_open_terminal(m, pty_name, O_RDWR|O_NOCTTY|O_CLOEXEC);
if (slave < 0)
return slave;
utmp_id = path_startswith(pty_name, "/dev/");
assert(utmp_id);
r = container_bus_new(m, error, &allocated_bus);
if (r < 0) if (r < 0)
return r; return r;
container_bus = allocated_bus ?: m->manager->bus;
r = bus_message_new_method_call(container_bus, &tm, bus_systemd_mgr, "StartTransientUnit");
if (r < 0)
return r;
/* Name and mode */
const char *p = ASSERT_PTR(path_startswith(pty_name, "/dev/pts/"));
unit = strjoina("container-shell@", p, ".service");
r = sd_bus_message_append(tm, "ss", unit, "fail");
if (r < 0)
return r;
/* Properties */
r = sd_bus_message_open_container(tm, 'a', "(sv)");
if (r < 0)
return r;
description = strjoina("Shell for User ", user);
r = sd_bus_message_append(tm,
"(sv)(sv)(sv)(sv)(sv)(sv)(sv)(sv)(sv)(sv)(sv)(sv)(sv)",
"Description", "s", description,
"StandardInputFileDescriptor", "h", slave,
"StandardOutputFileDescriptor", "h", slave,
"StandardErrorFileDescriptor", "h", slave,
"SendSIGHUP", "b", true,
"IgnoreSIGPIPE", "b", false,
"KillMode", "s", "mixed",
"TTYPath", "s", pty_name,
"TTYReset", "b", true,
"UtmpIdentifier", "s", utmp_id,
"UtmpMode", "s", "user",
"PAMName", "s", "login",
"WorkingDirectory", "s", "-~");
if (r < 0)
return r;
r = sd_bus_message_append(tm, "(sv)", "User", "s", user);
if (r < 0)
return r;
if (!strv_isempty(env)) {
r = sd_bus_message_open_container(tm, 'r', "sv");
if (r < 0)
return r;
r = sd_bus_message_append(tm, "s", "Environment");
if (r < 0)
return r;
r = sd_bus_message_open_container(tm, 'v', "as");
if (r < 0)
return r;
r = sd_bus_message_append_strv(tm, env);
if (r < 0)
return r;
r = sd_bus_message_close_container(tm);
if (r < 0)
return r;
r = sd_bus_message_close_container(tm);
if (r < 0)
return r;
}
/* Exec container */
r = sd_bus_message_open_container(tm, 'r', "sv");
if (r < 0)
return r;
r = sd_bus_message_append(tm, "s", "ExecStart");
if (r < 0)
return r;
r = sd_bus_message_open_container(tm, 'v', "a(sasb)");
if (r < 0)
return r;
r = sd_bus_message_open_container(tm, 'a', "(sasb)");
if (r < 0)
return r;
r = sd_bus_message_open_container(tm, 'r', "sasb");
if (r < 0)
return r;
r = sd_bus_message_append(tm, "s", path);
if (r < 0)
return r;
r = sd_bus_message_append_strv(tm, args);
if (r < 0)
return r;
r = sd_bus_message_append(tm, "b", true);
if (r < 0)
return r;
r = sd_bus_message_close_container(tm);
if (r < 0)
return r;
r = sd_bus_message_close_container(tm);
if (r < 0)
return r;
r = sd_bus_message_close_container(tm);
if (r < 0)
return r;
r = sd_bus_message_close_container(tm);
if (r < 0)
return r;
r = sd_bus_message_close_container(tm);
if (r < 0)
return r;
/* Auxiliary units */
r = sd_bus_message_append(tm, "a(sa(sv))", 0);
if (r < 0)
return r;
r = sd_bus_call(container_bus, tm, 0, error, NULL);
if (r < 0)
return r;
slave = safe_close(slave);
r = sd_bus_message_new_method_return(message, &reply); r = sd_bus_message_new_method_return(message, &reply);
if (r < 0) if (r < 0)
return r; return r;

View File

@ -7,6 +7,7 @@
#include "sd-varlink.h" #include "sd-varlink.h"
#include "bus-polkit.h" #include "bus-polkit.h"
#include "fd-util.h"
#include "hostname-util.h" #include "hostname-util.h"
#include "json-util.h" #include "json-util.h"
#include "machine-varlink.h" #include "machine-varlink.h"
@ -16,7 +17,9 @@
#include "process-util.h" #include "process-util.h"
#include "signal-util.h" #include "signal-util.h"
#include "socket-util.h" #include "socket-util.h"
#include "string-table.h"
#include "string-util.h" #include "string-util.h"
#include "user-util.h"
#include "varlink-util.h" #include "varlink-util.h"
static JSON_DISPATCH_ENUM_DEFINE(dispatch_machine_class, MachineClass, machine_class_from_string); static JSON_DISPATCH_ENUM_DEFINE(dispatch_machine_class, MachineClass, machine_class_from_string);
@ -375,3 +378,195 @@ int vl_method_kill(sd_varlink *link, sd_json_variant *parameters, sd_varlink_met
return sd_varlink_reply(link, NULL); return sd_varlink_reply(link, NULL);
} }
typedef enum MachineOpenMode {
MACHINE_OPEN_MODE_TTY,
MACHINE_OPEN_MODE_LOGIN,
MACHINE_OPEN_MODE_SHELL,
_MACHINE_OPEN_MODE_MAX,
_MACHINE_OPEN_MODE_INVALID = -EINVAL,
} MachineOpenMode;
static const char* const machine_open_mode_table[_MACHINE_OPEN_MODE_MAX] = {
[MACHINE_OPEN_MODE_TTY] = "tty",
[MACHINE_OPEN_MODE_LOGIN] = "login",
[MACHINE_OPEN_MODE_SHELL] = "shell",
};
DEFINE_PRIVATE_STRING_TABLE_LOOKUP_FROM_STRING(machine_open_mode, MachineOpenMode);
static JSON_DISPATCH_ENUM_DEFINE(json_dispatch_machine_open_mode, MachineOpenMode, machine_open_mode_from_string);
typedef struct MachineOpenParameters {
const char *name, *user;
PidRef pidref;
MachineOpenMode mode;
char *path, **args, **env;
} MachineOpenParameters;
static void machine_open_paramaters_done(MachineOpenParameters *p) {
assert(p);
pidref_done(&p->pidref);
free(p->path);
strv_free(p->args);
strv_free(p->env);
}
inline static const char* machine_open_polkit_action(MachineOpenMode mode, MachineClass class) {
switch (mode) {
case MACHINE_OPEN_MODE_TTY:
return class == MACHINE_HOST ? "org.freedesktop.machine1.host-open-pty" : "org.freedesktop.machine1.open-pty";
case MACHINE_OPEN_MODE_LOGIN:
return class == MACHINE_HOST ? "org.freedesktop.machine1.host-login" : "org.freedesktop.machine1.login";
case MACHINE_OPEN_MODE_SHELL:
return class == MACHINE_HOST ? "org.freedesktop.machine1.host-shell" : "org.freedesktop.machine1.shell";
default:
assert_not_reached();
}
}
inline static char** machine_open_polkit_details(MachineOpenMode mode, const char *machine_name, const char *user, const char *path, const char *command_line) {
assert(machine_name);
switch (mode) {
case MACHINE_OPEN_MODE_TTY:
return strv_new("machine", machine_name);
case MACHINE_OPEN_MODE_LOGIN:
return strv_new("machine", machine_name, "verb", "login");
case MACHINE_OPEN_MODE_SHELL:
assert(user);
assert(path);
assert(command_line);
return strv_new(
"machine", machine_name,
"verb", "shell",
"user", user,
"program", path,
"command_line", command_line);
default:
assert_not_reached();
}
}
int vl_method_open(sd_varlink *link, sd_json_variant *parameters, sd_varlink_method_flags_t flags, void *userdata) {
static const sd_json_dispatch_field dispatch_table[] = {
VARLINK_DISPATCH_MACHINE_LOOKUP_FIELDS(MachineOpenParameters),
{ "mode", SD_JSON_VARIANT_STRING, json_dispatch_machine_open_mode, offsetof(MachineOpenParameters, mode), SD_JSON_MANDATORY },
{ "user", SD_JSON_VARIANT_STRING, json_dispatch_const_user_group_name, offsetof(MachineOpenParameters, user), SD_JSON_RELAX },
{ "path", SD_JSON_VARIANT_STRING, json_dispatch_path, offsetof(MachineOpenParameters, path), 0 },
{ "args", SD_JSON_VARIANT_ARRAY, sd_json_dispatch_strv, offsetof(MachineOpenParameters, args), 0 },
{ "environment", SD_JSON_VARIANT_ARRAY, json_dispatch_strv_environment, offsetof(MachineOpenParameters, env), 0 },
VARLINK_DISPATCH_POLKIT_FIELD,
{}
};
Manager *manager = ASSERT_PTR(userdata);
_cleanup_close_ int ptmx_fd = -EBADF;
_cleanup_(machine_open_paramaters_done) MachineOpenParameters p = {
.pidref = PIDREF_NULL,
.mode = _MACHINE_OPEN_MODE_INVALID,
};
_cleanup_(sd_json_variant_unrefp) sd_json_variant *v = NULL;
_cleanup_free_ char *ptmx_name = NULL, *command_line = NULL;
_cleanup_strv_free_ char **polkit_details = NULL, **args = NULL;
const char *user = NULL, *path = NULL; /* gcc complains about uninitialized variables */
Machine *machine;
int r, ptmx_fd_idx;
assert(link);
assert(parameters);
r = sd_varlink_set_allow_fd_passing_output(link, true);
if (r < 0)
return log_error_errno(r, "Failed to enable varlink fd passing for write: %m");
r = sd_varlink_dispatch(link, parameters, dispatch_table, &p);
if (r != 0)
return r;
if (p.mode == MACHINE_OPEN_MODE_SHELL) {
/* json_dispatch_const_user_group_name() does valid_user_group_name(p.user) */
/* json_dispatch_path() does path_is_absolute(p.path) */
/* json_dispatch_strv_environment() does validation of p.env */
user = p.user ?: "root";
path = p.path ?: machine_default_shell_path();
args = !p.path ? machine_default_shell_args(user) : strv_isempty(p.args) ? strv_new(path) : TAKE_PTR(p.args);
if (!args)
return -ENOMEM;
command_line = strv_join(args, " ");
if (!command_line)
return -ENOMEM;
}
r = lookup_machine_by_name_or_pidref(link, manager, p.name, &p.pidref, &machine);
if (r == -ESRCH)
return sd_varlink_error(link, "io.systemd.Machine.NoSuchMachine", NULL);
if (r < 0)
return r;
polkit_details = machine_open_polkit_details(p.mode, machine->name, user, path, command_line);
r = varlink_verify_polkit_async(
link,
manager->bus,
machine_open_polkit_action(p.mode, machine->class),
(const char**) polkit_details,
&manager->polkit_registry);
if (r <= 0)
return r;
ptmx_fd = machine_openpt(machine, O_RDWR|O_NOCTTY|O_CLOEXEC, &ptmx_name);
if (ERRNO_IS_NEG_NOT_SUPPORTED(ptmx_fd))
return sd_varlink_error(link, "io.systemd.Machine.NotSupported", NULL);
if (ptmx_fd < 0)
return log_debug_errno(ptmx_fd, "Failed to open pseudo terminal: %m");
switch (p.mode) {
case MACHINE_OPEN_MODE_TTY:
/* noop */
break;
case MACHINE_OPEN_MODE_LOGIN:
r = machine_start_getty(machine, ptmx_name, /* error = */ NULL);
if (r == -ENOENT)
return sd_varlink_error(link, "io.systemd.Machine.NoIPC", NULL);
if (ERRNO_IS_NEG_NOT_SUPPORTED(r))
return sd_varlink_error(link, "io.systemd.Machine.NotSupported", NULL);
if (r < 0)
return log_debug_errno(r, "Failed to start getty for machine '%s': %m", machine->name);
break;
case MACHINE_OPEN_MODE_SHELL: {
assert(user && path && args); /* to avoid gcc complaining about possible uninitialized variables */
r = machine_start_shell(machine, ptmx_fd, ptmx_name, user, path, args, p.env, /* error = */ NULL);
if (r == -ENOENT)
return sd_varlink_error(link, "io.systemd.Machine.NoIPC", NULL);
if (ERRNO_IS_NEG_NOT_SUPPORTED(r))
return sd_varlink_error(link, "io.systemd.Machine.NotSupported", NULL);
if (r < 0)
return log_debug_errno(r, "Failed to start shell for machine '%s': %m", machine->name);
break;
}
default:
assert_not_reached();
}
ptmx_fd_idx = sd_varlink_push_fd(link, ptmx_fd);
/* no need to handle -EPERM because we do sd_varlink_set_allow_fd_passing_output() above */
if (ptmx_fd_idx < 0)
return log_debug_errno(ptmx_fd_idx, "Failed to push file descriptor over varlink: %m");
TAKE_FD(ptmx_fd);
r = sd_json_buildo(
&v,
SD_JSON_BUILD_PAIR_INTEGER("ptyFileDescriptor", ptmx_fd_idx),
JSON_BUILD_PAIR_STRING_NON_EMPTY("ptyPath", ptmx_name));
if (r < 0)
return r;
return sd_varlink_reply(link, v);
}

View File

@ -24,3 +24,4 @@ int vl_method_register(sd_varlink *link, sd_json_variant *parameters, sd_varlink
int vl_method_unregister_internal(sd_varlink *link, sd_json_variant *parameters, sd_varlink_method_flags_t flags, void *userdata); int vl_method_unregister_internal(sd_varlink *link, sd_json_variant *parameters, sd_varlink_method_flags_t flags, void *userdata);
int vl_method_terminate_internal(sd_varlink *link, sd_json_variant *parameters, sd_varlink_method_flags_t flags, void *userdata); int vl_method_terminate_internal(sd_varlink *link, sd_json_variant *parameters, sd_varlink_method_flags_t flags, void *userdata);
int vl_method_kill(sd_varlink *link, sd_json_variant *parameters, sd_varlink_method_flags_t flags, void *userdata); int vl_method_kill(sd_varlink *link, sd_json_variant *parameters, sd_varlink_method_flags_t flags, void *userdata);
int vl_method_open(sd_varlink *link, sd_json_variant *parameters, sd_varlink_method_flags_t flags, void *userdata);

View File

@ -8,6 +8,7 @@
#include "alloc-util.h" #include "alloc-util.h"
#include "bus-error.h" #include "bus-error.h"
#include "bus-internal.h"
#include "bus-locator.h" #include "bus-locator.h"
#include "bus-unit-util.h" #include "bus-unit-util.h"
#include "bus-util.h" #include "bus-util.h"
@ -702,6 +703,276 @@ int machine_open_terminal(Machine *m, const char *path, int mode) {
} }
} }
static int machine_bus_new(Machine *m, sd_bus_error *error, sd_bus **ret) {
int r;
assert(m);
assert(ret);
switch (m->class) {
case MACHINE_HOST:
*ret = NULL;
return 0;
case MACHINE_CONTAINER: {
_cleanup_(sd_bus_close_unrefp) sd_bus *bus = NULL;
char *address;
r = sd_bus_new(&bus);
if (r < 0)
return log_debug_errno(r, "Failed to allocate new DBus: %m");
if (asprintf(&address, "x-machine-unix:pid=%" PID_PRI, m->leader.pid) < 0)
return -ENOMEM;
bus->address = address;
bus->bus_client = true;
bus->trusted = false;
bus->runtime_scope = RUNTIME_SCOPE_SYSTEM;
r = sd_bus_start(bus);
if (r == -ENOENT)
return sd_bus_error_set_errnof(error, r, "There is no system bus in container %s.", m->name);
if (r < 0)
return r;
*ret = TAKE_PTR(bus);
return 0;
}
default:
return -EOPNOTSUPP;
}
}
int machine_start_getty(Machine *m, const char *ptmx_name, sd_bus_error *error) {
_cleanup_(sd_bus_flush_close_unrefp) sd_bus *allocated_bus = NULL;
sd_bus *container_bus = NULL;
const char *p, *getty;
int r;
assert(m);
assert(ptmx_name);
p = path_startswith(ptmx_name, "/dev/pts/");
if (!p)
return log_debug_errno(SYNTHETIC_ERRNO(EINVAL), "Path of pseudo TTY has unexpected prefix");
r = machine_bus_new(m, error, &allocated_bus);
if (r < 0)
return log_debug_errno(r, "Failed to create DBus to machine: %m");
container_bus = allocated_bus ?: m->manager->bus;
getty = strjoina("container-getty@", p, ".service");
r = bus_call_method(container_bus, bus_systemd_mgr, "StartUnit", error, /* reply = */ NULL, "ss", getty, "replace");
if (r < 0)
return log_debug_errno(r, "Failed to StartUnit '%s' in container '%s': %m", getty, m->name);
return 0;
}
int machine_start_shell(
Machine *m,
int ptmx_fd,
const char *ptmx_name,
const char *user,
const char *path,
char **args,
char **env,
sd_bus_error *error) {
_cleanup_close_ int pty_fd = -EBADF;
_cleanup_(sd_bus_message_unrefp) sd_bus_message *tm = NULL;
_cleanup_(sd_bus_flush_close_unrefp) sd_bus *allocated_bus = NULL;
const char *p, *utmp_id, *unit, *description;
sd_bus *container_bus = NULL;
int r;
assert(m);
assert(ptmx_fd >= 0);
assert(ptmx_name);
if (isempty(user) || isempty(path) || strv_isempty(args))
return -EINVAL;
p = path_startswith(ptmx_name, "/dev/pts/");
utmp_id = path_startswith(ptmx_name, "/dev/");
if (!p || !utmp_id)
return log_debug_errno(SYNTHETIC_ERRNO(EINVAL), "Path of pseudo TTY has unexpected prefix");
/* First try to get an fd for the PTY peer via the new racefree ioctl(), directly. Otherwise go via
* joining the namespace, because it goes by path */
pty_fd = pty_open_peer_racefree(ptmx_fd, O_RDWR|O_NOCTTY|O_CLOEXEC);
if (ERRNO_IS_NEG_NOT_SUPPORTED(pty_fd))
pty_fd = machine_open_terminal(m, ptmx_name, O_RDWR|O_NOCTTY|O_CLOEXEC);
if (pty_fd < 0)
return log_debug_errno(pty_fd, "Failed to open terminal: %m");
r = machine_bus_new(m, error, &allocated_bus);
if (r < 0)
return log_debug_errno(r, "Failed to create DBus to machine: %m");
container_bus = allocated_bus ?: m->manager->bus;
r = bus_message_new_method_call(container_bus, &tm, bus_systemd_mgr, "StartTransientUnit");
if (r < 0)
return r;
/* Name and mode */
unit = strjoina("container-shell@", p, ".service");
r = sd_bus_message_append(tm, "ss", unit, "fail");
if (r < 0)
return r;
/* Properties */
r = sd_bus_message_open_container(tm, 'a', "(sv)");
if (r < 0)
return r;
description = strjoina("Shell for User ", user);
r = sd_bus_message_append(tm,
"(sv)(sv)(sv)(sv)(sv)(sv)(sv)(sv)(sv)(sv)(sv)(sv)(sv)",
"Description", "s", description,
"StandardInputFileDescriptor", "h", pty_fd,
"StandardOutputFileDescriptor", "h", pty_fd,
"StandardErrorFileDescriptor", "h", pty_fd,
"SendSIGHUP", "b", true,
"IgnoreSIGPIPE", "b", false,
"KillMode", "s", "mixed",
"TTYPath", "s", ptmx_name,
"TTYReset", "b", true,
"UtmpIdentifier", "s", utmp_id,
"UtmpMode", "s", "user",
"PAMName", "s", "login",
"WorkingDirectory", "s", "-~");
if (r < 0)
return r;
r = sd_bus_message_append(tm, "(sv)", "User", "s", user);
if (r < 0)
return r;
if (!strv_isempty(env)) {
r = sd_bus_message_open_container(tm, 'r', "sv");
if (r < 0)
return r;
r = sd_bus_message_append(tm, "s", "Environment");
if (r < 0)
return r;
r = sd_bus_message_open_container(tm, 'v', "as");
if (r < 0)
return r;
r = sd_bus_message_append_strv(tm, env);
if (r < 0)
return r;
r = sd_bus_message_close_container(tm);
if (r < 0)
return r;
r = sd_bus_message_close_container(tm);
if (r < 0)
return r;
}
/* Exec container */
r = sd_bus_message_open_container(tm, 'r', "sv");
if (r < 0)
return r;
r = sd_bus_message_append(tm, "s", "ExecStart");
if (r < 0)
return r;
r = sd_bus_message_open_container(tm, 'v', "a(sasb)");
if (r < 0)
return r;
r = sd_bus_message_open_container(tm, 'a', "(sasb)");
if (r < 0)
return r;
r = sd_bus_message_open_container(tm, 'r', "sasb");
if (r < 0)
return r;
r = sd_bus_message_append(tm, "s", path);
if (r < 0)
return r;
r = sd_bus_message_append_strv(tm, args);
if (r < 0)
return r;
r = sd_bus_message_append(tm, "b", true);
if (r < 0)
return r;
r = sd_bus_message_close_container(tm);
if (r < 0)
return r;
r = sd_bus_message_close_container(tm);
if (r < 0)
return r;
r = sd_bus_message_close_container(tm);
if (r < 0)
return r;
r = sd_bus_message_close_container(tm);
if (r < 0)
return r;
r = sd_bus_message_close_container(tm);
if (r < 0)
return r;
/* Auxiliary units */
r = sd_bus_message_append(tm, "a(sa(sv))", 0);
if (r < 0)
return r;
r = sd_bus_call(container_bus, tm, 0, error, NULL);
if (r < 0)
return r;
return 0;
}
char** machine_default_shell_args(const char *user) {
_cleanup_strv_free_ char **args = NULL;
int r;
assert(user);
args = new0(char*, 3 + 1);
if (!args)
return NULL;
args[0] = strdup("sh");
if (!args[0])
return NULL;
args[1] = strdup("-c");
if (!args[1])
return NULL;
r = asprintf(&args[2],
"shell=$(getent passwd %s 2>/dev/null | { IFS=: read _ _ _ _ _ _ x; echo \"$x\"; })\n"\
"exec \"${shell:-/bin/sh}\" -l", /* -l is means --login */
user);
if (r < 0) {
args[2] = NULL;
return NULL;
}
return TAKE_PTR(args);
}
void machine_release_unit(Machine *m) { void machine_release_unit(Machine *m) {
assert(m); assert(m);

View File

@ -102,6 +102,10 @@ KillWhom kill_whom_from_string(const char *s) _pure_;
int machine_openpt(Machine *m, int flags, char **ret_slave); int machine_openpt(Machine *m, int flags, char **ret_slave);
int machine_open_terminal(Machine *m, const char *path, int mode); int machine_open_terminal(Machine *m, const char *path, int mode);
int machine_start_getty(Machine *m, const char *ptmx_name, sd_bus_error *error);
int machine_start_shell(Machine *m, int ptmx_fd, const char *ptmx_name, const char *user, const char *path, char **args, char **env, sd_bus_error *error);
#define machine_default_shell_path() ("/bin/sh")
char** machine_default_shell_args(const char *user);
int machine_get_uid_shift(Machine *m, uid_t *ret); int machine_get_uid_shift(Machine *m, uid_t *ret);

View File

@ -773,6 +773,7 @@ static int manager_varlink_init_machine(Manager *m) {
"io.systemd.Machine.Unregister", vl_method_unregister, "io.systemd.Machine.Unregister", vl_method_unregister,
"io.systemd.Machine.Terminate", vl_method_terminate, "io.systemd.Machine.Terminate", vl_method_terminate,
"io.systemd.Machine.Kill", vl_method_kill, "io.systemd.Machine.Kill", vl_method_kill,
"io.systemd.Machine.Open", vl_method_open,
"io.systemd.MachineImage.List", vl_method_list_images, "io.systemd.MachineImage.List", vl_method_list_images,
"io.systemd.MachineImage.Update", vl_method_update_image, "io.systemd.MachineImage.Update", vl_method_update_image,
"io.systemd.MachineImage.Clone", vl_method_clone_image, "io.systemd.MachineImage.Clone", vl_method_clone_image,

View File

@ -154,18 +154,3 @@ Operation *operation_free(Operation *o) {
return mfree(o); return mfree(o);
} }
_noreturn_ void report_errno_and_exit(int errno_fd, int r) {
if (r >= 0)
_exit(EXIT_SUCCESS);
assert(errno_fd >= 0);
ssize_t n = write(errno_fd, &r, sizeof(r));
if (n < 0)
log_debug_errno(errno, "Failed to write operation's errno: %m");
if (n != sizeof(r))
log_debug_errno(SYNTHETIC_ERRNO(EIO), "Sent unexpectedly short message");
_exit(EXIT_FAILURE);
}

View File

@ -39,5 +39,3 @@ static inline int operation_new_with_bus_reply(Manager *manager, Machine *machin
static inline int operation_new_with_varlink_reply(Manager *manager, Machine *machine, pid_t child, sd_varlink *link, int errno_fd, Operation **ret) { static inline int operation_new_with_varlink_reply(Manager *manager, Machine *machine, pid_t child, sd_varlink *link, int errno_fd, Operation **ret) {
return operation_new(manager, machine, child, /* message = */ NULL, link, errno_fd, ret); return operation_new(manager, machine, child, /* message = */ NULL, link, errno_fd, ret);
} }
void report_errno_and_exit(int errno_fd, int r);

View File

@ -150,6 +150,7 @@ Network.IPv4ProxyARPPrivateVLAN, config_parse_tristate,
Network.ProxyARP, config_parse_tristate, 0, offsetof(Network, proxy_arp) Network.ProxyARP, config_parse_tristate, 0, offsetof(Network, proxy_arp)
Network.IPv6ProxyNDPAddress, config_parse_ipv6_proxy_ndp_address, 0, 0 Network.IPv6ProxyNDPAddress, config_parse_ipv6_proxy_ndp_address, 0, 0
Network.IPv4ReversePathFilter, config_parse_ip_reverse_path_filter, 0, offsetof(Network, ipv4_rp_filter) Network.IPv4ReversePathFilter, config_parse_ip_reverse_path_filter, 0, offsetof(Network, ipv4_rp_filter)
Network.MulticastIGMPVersion, config_parse_ipv4_force_igmp_version, 0, offsetof(Network, ipv4_force_igmp_version)
Network.BindCarrier, config_parse_strv, 0, offsetof(Network, bind_carrier) Network.BindCarrier, config_parse_strv, 0, offsetof(Network, bind_carrier)
Network.ConfigureWithoutCarrier, config_parse_bool, 0, offsetof(Network, configure_without_carrier) Network.ConfigureWithoutCarrier, config_parse_bool, 0, offsetof(Network, configure_without_carrier)
Network.IgnoreCarrierLoss, config_parse_ignore_carrier_loss, 0, 0 Network.IgnoreCarrierLoss, config_parse_ignore_carrier_loss, 0, 0

View File

@ -481,6 +481,7 @@ int network_load_one(Manager *manager, OrderedHashmap **networks, const char *fi
.proxy_arp = -1, .proxy_arp = -1,
.proxy_arp_pvlan = -1, .proxy_arp_pvlan = -1,
.ipv4_rp_filter = _IP_REVERSE_PATH_FILTER_INVALID, .ipv4_rp_filter = _IP_REVERSE_PATH_FILTER_INVALID,
.ipv4_force_igmp_version = _IPV4_FORCE_IGMP_VERSION_INVALID,
.ndisc = -1, .ndisc = -1,
.ndisc_use_redirect = true, .ndisc_use_redirect = true,

View File

@ -340,6 +340,7 @@ struct Network {
uint32_t ipv6_mtu; uint32_t ipv6_mtu;
IPv6PrivacyExtensions ipv6_privacy_extensions; IPv6PrivacyExtensions ipv6_privacy_extensions;
IPReversePathFilter ipv4_rp_filter; IPReversePathFilter ipv4_rp_filter;
IPv4ForceIgmpVersion ipv4_force_igmp_version;
int ipv6_proxy_ndp; int ipv6_proxy_ndp;
Set *ipv6_proxy_ndp_addresses; Set *ipv6_proxy_ndp_addresses;

View File

@ -408,6 +408,18 @@ static int link_set_ipv4_rp_filter(Link *link) {
return sysctl_write_ip_property_int(AF_INET, link->ifname, "rp_filter", link->network->ipv4_rp_filter, manager_get_sysctl_shadow(link->manager)); return sysctl_write_ip_property_int(AF_INET, link->ifname, "rp_filter", link->network->ipv4_rp_filter, manager_get_sysctl_shadow(link->manager));
} }
static int link_set_ipv4_force_igmp_version(Link *link) {
assert(link);
if (!link_is_configured_for_family(link, AF_INET))
return 0;
if (link->network->ipv4_force_igmp_version < 0)
return 0;
return sysctl_write_ip_property_int(AF_INET, link->ifname, "force_igmp_version", link->network->ipv4_force_igmp_version, manager_get_sysctl_shadow(link->manager));
}
static int link_set_ipv6_privacy_extensions(Link *link) { static int link_set_ipv6_privacy_extensions(Link *link) {
IPv6PrivacyExtensions val; IPv6PrivacyExtensions val;
@ -723,6 +735,10 @@ int link_set_sysctl(Link *link) {
if (r < 0) if (r < 0)
log_link_warning_errno(link, r, "Cannot set IPv4 reverse path filtering for interface, ignoring: %m"); log_link_warning_errno(link, r, "Cannot set IPv4 reverse path filtering for interface, ignoring: %m");
r = link_set_ipv4_force_igmp_version(link);
if (r < 0)
log_link_warning_errno(link, r, "Cannot set IPv4 force igmp version, ignoring: %m");
r = link_set_ipv4_promote_secondaries(link); r = link_set_ipv4_promote_secondaries(link);
if (r < 0) if (r < 0)
log_link_warning_errno(link, r, "Cannot enable promote_secondaries for interface, ignoring: %m"); log_link_warning_errno(link, r, "Cannot enable promote_secondaries for interface, ignoring: %m");
@ -770,3 +786,13 @@ int config_parse_ip_forward_deprecated(
"and the same settings in .network files for per-interface setting."); "and the same settings in .network files for per-interface setting.");
return 0; return 0;
} }
static const char* const ipv4_force_igmp_version_table[_IPV4_FORCE_IGMP_VERSION_MAX] = {
[IPV4_FORCE_IGMP_VERSION_NO] = "no",
[IPV4_FORCE_IGMP_VERSION_1] = "v1",
[IPV4_FORCE_IGMP_VERSION_2] = "v2",
[IPV4_FORCE_IGMP_VERSION_3] = "v3",
};
DEFINE_STRING_TABLE_LOOKUP(ipv4_force_igmp_version, IPv4ForceIgmpVersion);
DEFINE_CONFIG_PARSE_ENUM(config_parse_ipv4_force_igmp_version, ipv4_force_igmp_version, IPv4ForceIgmpVersion);

View File

@ -53,3 +53,18 @@ IPReversePathFilter ip_reverse_path_filter_from_string(const char *s) _pure_;
CONFIG_PARSER_PROTOTYPE(config_parse_ipv6_privacy_extensions); CONFIG_PARSER_PROTOTYPE(config_parse_ipv6_privacy_extensions);
CONFIG_PARSER_PROTOTYPE(config_parse_ip_reverse_path_filter); CONFIG_PARSER_PROTOTYPE(config_parse_ip_reverse_path_filter);
CONFIG_PARSER_PROTOTYPE(config_parse_ip_forward_deprecated); CONFIG_PARSER_PROTOTYPE(config_parse_ip_forward_deprecated);
typedef enum IPv4ForceIgmpVersion {
/* These values map to the kernel's /proc/sys/net/ipv4/conf/INTERFACE/force_igmp_version values. Do not reorder! */
IPV4_FORCE_IGMP_VERSION_NO = 0,
IPV4_FORCE_IGMP_VERSION_1 = 1,
IPV4_FORCE_IGMP_VERSION_2 = 2,
IPV4_FORCE_IGMP_VERSION_3 = 3,
_IPV4_FORCE_IGMP_VERSION_MAX,
_IPV4_FORCE_IGMP_VERSION_INVALID = -EINVAL,
} IPv4ForceIgmpVersion;
const char* ipv4_force_igmp_version_to_string(IPv4ForceIgmpVersion i) _const_;
IPv4ForceIgmpVersion ipv4_force_igmp_version_from_string(const char *s) _pure_;
CONFIG_PARSER_PROTOTYPE(config_parse_ipv4_force_igmp_version);

View File

@ -79,6 +79,7 @@
#include "tpm2-util.h" #include "tpm2-util.h"
#include "user-util.h" #include "user-util.h"
#include "utf8.h" #include "utf8.h"
#include "varlink.h"
/* If not configured otherwise use a minimal partition size of 10M */ /* If not configured otherwise use a minimal partition size of 10M */
#define DEFAULT_MIN_SIZE (10ULL*1024ULL*1024ULL) #define DEFAULT_MIN_SIZE (10ULL*1024ULL*1024ULL)
@ -8882,6 +8883,9 @@ done:
} }
static int determine_auto_size(Context *c) { static int determine_auto_size(Context *c) {
// TODO: Add an argument to ignore any existing partitions, and ptables.
// To calculate how much bigger the disk would need to be to fit the image, or to determine how big
// the disk needs to be in the first place to fit the image
uint64_t sum; uint64_t sum;
assert(c); assert(c);

View File

@ -10,7 +10,6 @@ executables += [
'sources' : files( 'sources' : files(
'pcrlock.c', 'pcrlock.c',
'pcrlock-firmware.c', 'pcrlock-firmware.c',
'pehash.c',
), ),
'dependencies' : [ 'dependencies' : [
libm, libm,

View File

@ -40,7 +40,7 @@
#include "path-util.h" #include "path-util.h"
#include "pcrextend-util.h" #include "pcrextend-util.h"
#include "pcrlock-firmware.h" #include "pcrlock-firmware.h"
#include "pehash.h" #include "pe-binary.h"
#include "pretty-print.h" #include "pretty-print.h"
#include "proc-cmdline.h" #include "proc-cmdline.h"
#include "random-util.h" #include "random-util.h"

View File

@ -1,264 +0,0 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#include <sys/stat.h>
#include <unistd.h>
#include "alloc-util.h"
#include "hexdecoct.h"
#include "pe-binary.h"
#include "pehash.h"
#include "sort-util.h"
#include "stat-util.h"
#include "string-table.h"
/* Implements:
*
* https://download.microsoft.com/download/9/c/5/9c5b2167-8017-4bae-9fde-d599bac8184a/authenticode_pe.docx
* Section "Calculating the PE Image Hash"
*/
#define IMAGE_DATA_DIRECTORY_INDEX_CERTIFICATION_TABLE 4U
static int hash_file(int fd, EVP_MD_CTX *md_ctx, uint64_t offset, uint64_t size) {
uint8_t buffer[64*1024];
log_debug("Hashing %" PRIu64 " @ %" PRIu64 " → %" PRIu64, size, offset, offset + size);
while (size > 0) {
size_t m = MIN(size, sizeof(buffer));
ssize_t n;
n = pread(fd, buffer, m, offset);
if (n < 0)
return log_debug_errno(errno, "Failed to read file for hashing: %m");
if ((size_t) n != m)
return log_debug_errno(SYNTHETIC_ERRNO(EBADMSG), "Short read while hashing.");
if (EVP_DigestUpdate(md_ctx, buffer, m) != 1)
return log_debug_errno(SYNTHETIC_ERRNO(ENOTRECOVERABLE), "Unable to hash data.");
offset += m;
size -= m;
}
return 0;
}
static int section_offset_cmp(const IMAGE_SECTION_HEADER *a, const IMAGE_SECTION_HEADER *b) {
return CMP(ASSERT_PTR(a)->PointerToRawData, ASSERT_PTR(b)->PointerToRawData);
}
int pe_hash(int fd,
const EVP_MD *md,
void **ret_hash,
size_t *ret_hash_size) {
_cleanup_(EVP_MD_CTX_freep) EVP_MD_CTX *mdctx = NULL;
_cleanup_free_ IMAGE_SECTION_HEADER *sections = NULL;
_cleanup_free_ IMAGE_DOS_HEADER *dos_header = NULL;
_cleanup_free_ PeHeader *pe_header = NULL;
const IMAGE_DATA_DIRECTORY *certificate_table;
struct stat st;
uint64_t p, q;
int r;
assert(fd >= 0);
assert(md);
assert(ret_hash_size);
assert(ret_hash);
if (fstat(fd, &st) < 0)
return log_debug_errno(errno, "Failed to stat file: %m");
r = stat_verify_regular(&st);
if (r < 0)
return log_debug_errno(r, "Not a regular file: %m");
r = pe_load_headers(fd, &dos_header, &pe_header);
if (r < 0)
return r;
r = pe_load_sections(fd, dos_header, pe_header, &sections);
if (r < 0)
return r;
certificate_table = pe_header_get_data_directory(pe_header, IMAGE_DATA_DIRECTORY_INDEX_CERTIFICATION_TABLE);
if (!certificate_table)
return log_debug_errno(SYNTHETIC_ERRNO(EBADMSG), "File lacks certificate table.");
mdctx = EVP_MD_CTX_new();
if (!mdctx)
return log_oom_debug();
if (EVP_DigestInit_ex(mdctx, md, NULL) != 1)
return log_debug_errno(SYNTHETIC_ERRNO(ENOTRECOVERABLE), "Failed to allocate message digest.");
/* Everything from beginning of file to CheckSum field in PE header */
p = (uint64_t) dos_header->e_lfanew +
offsetof(PeHeader, optional.CheckSum);
r = hash_file(fd, mdctx, 0, p);
if (r < 0)
return r;
p += sizeof(le32_t);
/* Everything between the CheckSum field and the Image Data Directory Entry for the Certification Table */
q = (uint64_t) dos_header->e_lfanew +
PE_HEADER_OPTIONAL_FIELD_OFFSET(pe_header, DataDirectory[IMAGE_DATA_DIRECTORY_INDEX_CERTIFICATION_TABLE]);
r = hash_file(fd, mdctx, p, q - p);
if (r < 0)
return r;
q += sizeof(IMAGE_DATA_DIRECTORY);
/* The rest of the header + the section table */
p = pe_header->optional.SizeOfHeaders;
if (p < q)
return log_debug_errno(SYNTHETIC_ERRNO(EBADMSG), "SizeOfHeaders too short.");
r = hash_file(fd, mdctx, q, p - q);
if (r < 0)
return r;
/* Sort by location in file */
typesafe_qsort(sections, pe_header->pe.NumberOfSections, section_offset_cmp);
FOREACH_ARRAY(section, sections, pe_header->pe.NumberOfSections) {
r = hash_file(fd, mdctx, section->PointerToRawData, section->SizeOfRawData);
if (r < 0)
return r;
p += section->SizeOfRawData;
}
if ((uint64_t) st.st_size > p) {
if (st.st_size - p < certificate_table->Size)
return log_debug_errno(errno, "No space for certificate table, refusing.");
r = hash_file(fd, mdctx, p, st.st_size - p - certificate_table->Size);
if (r < 0)
return r;
/* If the file size is not a multiple of 8 bytes, pad the hash with zero bytes. */
if (st.st_size % 8 != 0 && EVP_DigestUpdate(mdctx, (const uint8_t[8]) {}, 8 - (st.st_size % 8)) != 1)
return log_debug_errno(SYNTHETIC_ERRNO(ENOTRECOVERABLE), "Unable to hash data.");
}
int hsz = EVP_MD_CTX_size(mdctx);
if (hsz < 0)
return log_debug_errno(SYNTHETIC_ERRNO(ENOTRECOVERABLE), "Failed to get hash size.");
unsigned hash_size = (unsigned) hsz;
_cleanup_free_ void *hash = malloc(hsz);
if (!hash)
return log_oom_debug();
if (EVP_DigestFinal_ex(mdctx, hash, &hash_size) != 1)
return log_debug_errno(SYNTHETIC_ERRNO(ENOTRECOVERABLE), "Failed to finalize hash function.");
assert(hash_size == (unsigned) hsz);
*ret_hash = TAKE_PTR(hash);
*ret_hash_size = hash_size;
return 0;
}
typedef void* SectionHashArray[_UNIFIED_SECTION_MAX];
static void section_hash_array_done(SectionHashArray *array) {
assert(array);
for (size_t i = 0; i < _UNIFIED_SECTION_MAX; i++)
free((*array)[i]);
}
int uki_hash(int fd,
const EVP_MD *md,
void* ret_hashes[static _UNIFIED_SECTION_MAX],
size_t *ret_hash_size) {
_cleanup_(section_hash_array_done) SectionHashArray hashes = {};
_cleanup_free_ IMAGE_SECTION_HEADER *sections = NULL;
_cleanup_free_ IMAGE_DOS_HEADER *dos_header = NULL;
_cleanup_free_ PeHeader *pe_header = NULL;
int r;
assert(fd >= 0);
assert(ret_hashes);
assert(ret_hash_size);
r = pe_load_headers(fd, &dos_header, &pe_header);
if (r < 0)
return r;
r = pe_load_sections(fd, dos_header, pe_header, &sections);
if (r < 0)
return r;
int hsz = EVP_MD_size(md);
if (hsz < 0)
return log_debug_errno(SYNTHETIC_ERRNO(ENOTRECOVERABLE), "Failed to get hash size.");
FOREACH_ARRAY(section, sections, pe_header->pe.NumberOfSections) {
_cleanup_(EVP_MD_CTX_freep) EVP_MD_CTX *mdctx = NULL;
_cleanup_free_ char *n = NULL;
ssize_t i;
n = memdup_suffix0(section->Name, sizeof(section->Name));
if (!n)
return log_oom_debug();
i = string_table_lookup(unified_sections, _UNIFIED_SECTION_MAX, n);
if (i < 0)
continue;
if (hashes[i])
return log_debug_errno(SYNTHETIC_ERRNO(EBADMSG), "Duplicate section");
mdctx = EVP_MD_CTX_new();
if (!mdctx)
return log_oom_debug();
if (EVP_DigestInit_ex(mdctx, md, NULL) != 1)
return log_debug_errno(SYNTHETIC_ERRNO(ENOTRECOVERABLE), "Failed to allocate message digest.");
r = hash_file(fd, mdctx, section->PointerToRawData, MIN(section->VirtualSize, section->SizeOfRawData));
if (r < 0)
return r;
if (section->SizeOfRawData < section->VirtualSize) {
uint8_t zeroes[1024] = {};
size_t remaining = section->VirtualSize - section->SizeOfRawData;
while (remaining > 0) {
size_t sz = MIN(sizeof(zeroes), remaining);
if (EVP_DigestUpdate(mdctx, zeroes, sz) != 1)
return log_debug_errno(SYNTHETIC_ERRNO(ENOTRECOVERABLE), "Unable to hash data.");
remaining -= sz;
}
}
hashes[i] = malloc(hsz);
if (!hashes[i])
return log_oom_debug();
unsigned hash_size = (unsigned) hsz;
if (EVP_DigestFinal_ex(mdctx, hashes[i], &hash_size) != 1)
return log_debug_errno(SYNTHETIC_ERRNO(ENOTRECOVERABLE), "Failed to finalize hash function.");
assert(hash_size == (unsigned) hsz);
if (DEBUG_LOGGING) {
_cleanup_free_ char *hs = NULL;
hs = hexmem(hashes[i], hsz);
log_debug("Section %s with %s is %s.", n, EVP_MD_name(md), strna(hs));
}
}
memcpy(ret_hashes, hashes, sizeof(hashes));
zero(hashes);
*ret_hash_size = (unsigned) hsz;
return 0;
}

View File

@ -1,11 +0,0 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once
#include <sys/types.h>
#include "openssl-util.h"
#include "uki.h"
int pe_hash(int fd, const EVP_MD *md, void **ret_hash, size_t *ret_hash_size);
int uki_hash(int fd, const EVP_MD *md, void *ret_hashes[static _UNIFIED_SECTION_MAX], size_t *ret_hash_size);

View File

@ -92,11 +92,14 @@ bool cg_is_unified_wanted(void) {
if (r >= 0) if (r >= 0)
return (wanted = r >= CGROUP_UNIFIED_ALL); return (wanted = r >= CGROUP_UNIFIED_ALL);
/* If we were explicitly passed systemd.unified_cgroup_hierarchy, respect that. */ /* If we have explicit configuration for v1 or v2, respect that. */
if (cg_is_legacy_force_enabled())
return (wanted = false);
bool b; bool b;
r = proc_cmdline_get_bool("systemd.unified_cgroup_hierarchy", /* flags = */ 0, &b); r = proc_cmdline_get_bool("systemd.unified_cgroup_hierarchy", /* flags = */ 0, &b);
if (r > 0) if (r > 0 && b)
return (wanted = b); return (wanted = true);
/* If we passed cgroup_no_v1=all with no other instructions, it seems highly unlikely that we want to /* If we passed cgroup_no_v1=all with no other instructions, it seems highly unlikely that we want to
* use hybrid or legacy hierarchy. */ * use hybrid or legacy hierarchy. */
@ -106,23 +109,21 @@ bool cg_is_unified_wanted(void) {
return (wanted = true); return (wanted = true);
/* If any controller is in use as v1, don't use unified. */ /* If any controller is in use as v1, don't use unified. */
return (wanted = (cg_any_controller_used_for_v1() <= 0)); if (cg_any_controller_used_for_v1() > 0)
return (wanted = false);
return (wanted = true);
} }
bool cg_is_legacy_wanted(void) { bool cg_is_legacy_wanted(void) {
static thread_local int wanted = -1;
/* If we have a cached value, return that. */
if (wanted >= 0)
return wanted;
/* Check if we have cgroup v2 already mounted. */ /* Check if we have cgroup v2 already mounted. */
if (cg_unified_cached(true) == CGROUP_UNIFIED_ALL) if (cg_unified_cached(true) == CGROUP_UNIFIED_ALL)
return (wanted = false); return false;
/* Otherwise, assume that at least partial legacy is wanted, /* Otherwise, assume that at least partial legacy is wanted,
* since cgroup v2 should already be mounted at this point. */ * since cgroup v2 should already be mounted at this point. */
return (wanted = true); return true;
} }
bool cg_is_hybrid_wanted(void) { bool cg_is_hybrid_wanted(void) {
@ -151,20 +152,28 @@ bool cg_is_hybrid_wanted(void) {
return (wanted = true); return (wanted = true);
} }
bool cg_is_legacy_enabled(void) {
int r;
bool b;
r = proc_cmdline_get_bool("systemd.unified_cgroup_hierarchy", /* flags = */ 0, &b);
return r > 0 && !b;
}
bool cg_is_legacy_force_enabled(void) { bool cg_is_legacy_force_enabled(void) {
bool force; int r;
bool b;
if (!cg_is_legacy_wanted()) /* Require both systemd.unified_cgroup_hierarchy=0 and SYSTEMD_CGROUP_ENABLE_LEGACY_FORCE=1. */
if (!cg_is_legacy_enabled())
return false;
r = proc_cmdline_get_bool("SYSTEMD_CGROUP_ENABLE_LEGACY_FORCE", /* flags = */ 0, &b);
if (r <= 0 || !b)
return false; return false;
/* If in container, we have to follow host's cgroup hierarchy. */
if (detect_container() > 0)
return true; return true;
if (proc_cmdline_get_bool("SYSTEMD_CGROUP_ENABLE_LEGACY_FORCE", /* flags = */ 0, &force) < 0)
return false;
return force;
} }
int cg_weight_parse(const char *s, uint64_t *ret) { int cg_weight_parse(const char *s, uint64_t *ret) {

View File

@ -10,6 +10,7 @@
bool cg_is_unified_wanted(void); bool cg_is_unified_wanted(void);
bool cg_is_legacy_wanted(void); bool cg_is_legacy_wanted(void);
bool cg_is_hybrid_wanted(void); bool cg_is_hybrid_wanted(void);
bool cg_is_legacy_enabled(void);
bool cg_is_legacy_force_enabled(void); bool cg_is_legacy_force_enabled(void);
int cg_weight_parse(const char *s, uint64_t *ret); int cg_weight_parse(const char *s, uint64_t *ret);

View File

@ -3522,7 +3522,7 @@ int dissected_image_acquire_metadata(
r = detach_mount_namespace_userns(userns_fd); r = detach_mount_namespace_userns(userns_fd);
if (r < 0) { if (r < 0) {
log_debug_errno(r, "Failed to detach mount namespace: %m"); log_debug_errno(r, "Failed to detach mount namespace: %m");
goto inner_fail; report_errno_and_exit(error_pipe[1], r);
} }
r = dissected_image_mount( r = dissected_image_mount(
@ -3537,7 +3537,7 @@ int dissected_image_acquire_metadata(
DISSECT_IMAGE_USR_NO_ROOT); DISSECT_IMAGE_USR_NO_ROOT);
if (r < 0) { if (r < 0) {
log_debug_errno(r, "Failed to mount dissected image: %m"); log_debug_errno(r, "Failed to mount dissected image: %m");
goto inner_fail; report_errno_and_exit(error_pipe[1], r);
} }
for (unsigned k = 0; k < _META_MAX; k++) { for (unsigned k = 0; k < _META_MAX; k++) {
@ -3609,7 +3609,7 @@ int dissected_image_acquire_metadata(
r = loop_write(fds[2*k+1], &found, sizeof(found)); r = loop_write(fds[2*k+1], &found, sizeof(found));
if (r < 0) if (r < 0)
goto inner_fail; report_errno_and_exit(error_pipe[1], r);
goto next; goto next;
} }
@ -3629,18 +3629,13 @@ int dissected_image_acquire_metadata(
r = copy_bytes(fd, fds[2*k+1], UINT64_MAX, 0); r = copy_bytes(fd, fds[2*k+1], UINT64_MAX, 0);
if (r < 0) if (r < 0)
goto inner_fail; report_errno_and_exit(error_pipe[1], r);
next: next:
fds[2*k+1] = safe_close(fds[2*k+1]); fds[2*k+1] = safe_close(fds[2*k+1]);
} }
_exit(EXIT_SUCCESS); _exit(EXIT_SUCCESS);
inner_fail:
/* Let parent know the error */
(void) write(error_pipe[1], &r, sizeof(r));
_exit(EXIT_FAILURE);
} }
error_pipe[1] = safe_close(error_pipe[1]); error_pipe[1] = safe_close(error_pipe[1]);

View File

@ -827,12 +827,12 @@ int parse_elf_object(int fd, const char *executable, const char *root, bool fork
if (fork_disable_dump) { if (fork_disable_dump) {
r = RET_NERRNO(prctl(PR_SET_DUMPABLE, 0)); r = RET_NERRNO(prctl(PR_SET_DUMPABLE, 0));
if (r < 0) if (r < 0)
goto child_fail; report_errno_and_exit(error_pipe[1], r);
} }
r = parse_elf(fd, executable, root, ret ? &buf : NULL, ret_package_metadata ? &package_metadata : NULL); r = parse_elf(fd, executable, root, ret ? &buf : NULL, ret_package_metadata ? &package_metadata : NULL);
if (r < 0) if (r < 0)
goto child_fail; report_errno_and_exit(error_pipe[1], r);
if (buf) { if (buf) {
size_t len = strlen(buf); size_t len = strlen(buf);
@ -853,7 +853,7 @@ int parse_elf_object(int fd, const char *executable, const char *root, bool fork
if (r == -EAGAIN) if (r == -EAGAIN)
log_warning("Write failed, backtrace will be truncated."); log_warning("Write failed, backtrace will be truncated.");
else if (r < 0) else if (r < 0)
goto child_fail; report_errno_and_exit(error_pipe[1], r);
return_pipe[1] = safe_close(return_pipe[1]); return_pipe[1] = safe_close(return_pipe[1]);
} }
@ -866,10 +866,8 @@ int parse_elf_object(int fd, const char *executable, const char *root, bool fork
(void) fcntl(json_pipe[1], F_SETPIPE_SZ, COREDUMP_PIPE_MAX); (void) fcntl(json_pipe[1], F_SETPIPE_SZ, COREDUMP_PIPE_MAX);
json_out = take_fdopen(&json_pipe[1], "w"); json_out = take_fdopen(&json_pipe[1], "w");
if (!json_out) { if (!json_out)
r = -errno; report_errno_and_exit(error_pipe[1], -errno);
goto child_fail;
}
r = sd_json_variant_dump(package_metadata, SD_JSON_FORMAT_FLUSH, json_out, NULL); r = sd_json_variant_dump(package_metadata, SD_JSON_FORMAT_FLUSH, json_out, NULL);
if (r < 0) if (r < 0)
@ -877,10 +875,6 @@ int parse_elf_object(int fd, const char *executable, const char *root, bool fork
} }
_exit(EXIT_SUCCESS); _exit(EXIT_SUCCESS);
child_fail:
(void) write(error_pipe[1], &r, sizeof(r));
_exit(EXIT_FAILURE);
} }
error_pipe[1] = safe_close(error_pipe[1]); error_pipe[1] = safe_close(error_pipe[1]);

View File

@ -194,6 +194,7 @@ shared_sources = files(
'varlink-io.systemd.Resolve.Monitor.c', 'varlink-io.systemd.Resolve.Monitor.c',
'varlink-io.systemd.UserDatabase.c', 'varlink-io.systemd.UserDatabase.c',
'varlink-io.systemd.oom.c', 'varlink-io.systemd.oom.c',
'varlink-io.systemd.Repart.c',
'varlink-io.systemd.service.c', 'varlink-io.systemd.service.c',
'varlink-io.systemd.sysext.c', 'varlink-io.systemd.sysext.c',
'varlink-serialize.c', 'varlink-serialize.c',

View File

@ -512,12 +512,28 @@ int mount_cgroup_legacy_controllers(bool loaded_policy) {
_cleanup_set_free_ Set *controllers = NULL; _cleanup_set_free_ Set *controllers = NULL;
int r; int r;
/* Before we actually start deleting cgroup v1 code, make it harder to boot in cgroupv1 mode first.
* See also #30852. */
if (detect_container() <= 0) { /* If in container, we have to follow host's cgroup hierarchy. Only
* do the deprecation checks below if we're not in a container. */
if (cg_is_legacy_force_enabled())
log_warning("Legacy support for cgroup v1 enabled via SYSTEMD_CGROUP_ENABLE_LEGACY_FORCE=1.");
else if (cg_is_legacy_enabled()) {
log_full(LOG_CRIT,
"Legacy cgroup v1 configured. This will stop being supported soon.\n"
"Will proceed with cgroup v2 after 30 s.\n"
"Set systemd.unified_cgroup_hierarchy=1 to switch to cgroup v2 "
"or set SYSTEMD_CGROUP_ENABLE_LEGACY_FORCE=1 to reenable v1 temporarily.");
(void) usleep_safe(30 * USEC_PER_SEC);
return 0;
}
}
if (!cg_is_legacy_wanted()) if (!cg_is_legacy_wanted())
return 0; return 0;
if (!cg_is_legacy_force_enabled())
return -ERFKILL;
FOREACH_ELEMENT(mp, cgroupv1_mount_table) { FOREACH_ELEMENT(mp, cgroupv1_mount_table) {
r = mount_one(mp, loaded_policy); r = mount_one(mp, loaded_policy);
if (r < 0) if (r < 0)

View File

@ -1011,26 +1011,18 @@ static int mount_in_namespace_legacy(
r = path_extract_filename(mount_outside, &mount_outside_fn); r = path_extract_filename(mount_outside, &mount_outside_fn);
if (r < 0) { if (r < 0) {
log_debug_errno(r, "Failed to extract filename from propagation file or directory '%s': %m", mount_outside); log_debug_errno(r, "Failed to extract filename from propagation file or directory '%s': %m", mount_outside);
goto child_fail; report_errno_and_exit(errno_pipe_fd[1], r);
} }
mount_inside = path_join(incoming_path, mount_outside_fn); mount_inside = path_join(incoming_path, mount_outside_fn);
if (!mount_inside) { if (!mount_inside)
r = log_oom_debug(); report_errno_and_exit(errno_pipe_fd[1], log_oom_debug());
goto child_fail;
}
r = mount_nofollow_verbose(LOG_DEBUG, mount_inside, dest, NULL, MS_MOVE, NULL); r = mount_nofollow_verbose(LOG_DEBUG, mount_inside, dest, NULL, MS_MOVE, NULL);
if (r < 0) if (r < 0)
goto child_fail; report_errno_and_exit(errno_pipe_fd[1], r);
_exit(EXIT_SUCCESS); _exit(EXIT_SUCCESS);
child_fail:
(void) write(errno_pipe_fd[1], &r, sizeof(r));
errno_pipe_fd[1] = safe_close(errno_pipe_fd[1]);
_exit(EXIT_FAILURE);
} }
errno_pipe_fd[1] = safe_close(errno_pipe_fd[1]); errno_pipe_fd[1] = safe_close(errno_pipe_fd[1]);
@ -1224,14 +1216,8 @@ static int mount_in_namespace(
r = mount_exchange_graceful(new_mount_fd, dest, /* mount_beneath= */ true); r = mount_exchange_graceful(new_mount_fd, dest, /* mount_beneath= */ true);
} }
if (r < 0) {
(void) write(errno_pipe_fd[1], &r, sizeof(r));
errno_pipe_fd[1] = safe_close(errno_pipe_fd[1]);
_exit(EXIT_FAILURE); report_errno_and_exit(errno_pipe_fd[1], r);
}
_exit(EXIT_SUCCESS);
} }
errno_pipe_fd[1] = safe_close(errno_pipe_fd[1]); errno_pipe_fd[1] = safe_close(errno_pipe_fd[1]);

View File

@ -24,6 +24,8 @@ DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(ENGINE*, ENGINE_free, NULL);
REENABLE_WARNING; REENABLE_WARNING;
# endif # endif
DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(UI_METHOD*, UI_destroy_method, NULL);
/* For each error in the OpenSSL thread error queue, log the provided message and the OpenSSL error /* For each error in the OpenSSL thread error queue, log the provided message and the OpenSSL error
* string. If there are no errors in the OpenSSL thread queue, this logs the message with "No OpenSSL * string. If there are no errors in the OpenSSL thread queue, this logs the message with "No OpenSSL
* errors." This logs at level debug. Returns -EIO (or -ENOMEM). */ * errors." This logs at level debug. Returns -EIO (or -ENOMEM). */
@ -1315,12 +1317,10 @@ int pkey_generate_volume_keys(
static int load_key_from_provider( static int load_key_from_provider(
const char *provider, const char *provider,
const char *private_key_uri, const char *private_key_uri,
OpenSSLAskPasswordUI *ui,
EVP_PKEY **ret) { EVP_PKEY **ret) {
assert(provider); assert(provider);
assert(private_key_uri); assert(private_key_uri);
assert(ui);
assert(ret); assert(ret);
#if OPENSSL_VERSION_MAJOR >= 3 #if OPENSSL_VERSION_MAJOR >= 3
@ -1333,8 +1333,8 @@ static int load_key_from_provider(
_cleanup_(OSSL_STORE_closep) OSSL_STORE_CTX *store = OSSL_STORE_open( _cleanup_(OSSL_STORE_closep) OSSL_STORE_CTX *store = OSSL_STORE_open(
private_key_uri, private_key_uri,
ui->method, /*ui_method=*/ NULL,
&ui->request, /*ui_method=*/ NULL,
/* post_process= */ NULL, /* post_process= */ NULL,
/* post_process_data= */ NULL); /* post_process_data= */ NULL);
if (!store) if (!store)
@ -1356,10 +1356,9 @@ static int load_key_from_provider(
#endif #endif
} }
static int load_key_from_engine(const char *engine, const char *private_key_uri, OpenSSLAskPasswordUI *ui, EVP_PKEY **ret) { static int load_key_from_engine(const char *engine, const char *private_key_uri, EVP_PKEY **ret) {
assert(engine); assert(engine);
assert(private_key_uri); assert(private_key_uri);
assert(ui);
assert(ret); assert(ret);
#if !defined(OPENSSL_NO_ENGINE) && !defined(OPENSSL_NO_DEPRECATED_3_0) #if !defined(OPENSSL_NO_ENGINE) && !defined(OPENSSL_NO_DEPRECATED_3_0)
@ -1371,13 +1370,7 @@ static int load_key_from_engine(const char *engine, const char *private_key_uri,
if (ENGINE_init(e) == 0) if (ENGINE_init(e) == 0)
return log_openssl_errors("Failed to initialize signing engine '%s'", engine); return log_openssl_errors("Failed to initialize signing engine '%s'", engine);
if (ENGINE_ctrl(e, ENGINE_CTRL_SET_USER_INTERFACE, /*i=*/ 0, ui->method, /*f=*/ NULL) <= 0) _cleanup_(EVP_PKEY_freep) EVP_PKEY *private_key = ENGINE_load_private_key(e, private_key_uri, /*ui_method=*/ NULL, /*callback_data=*/ NULL);
return log_openssl_errors("Failed to set engine user interface");
if (ENGINE_ctrl(e, ENGINE_CTRL_SET_CALLBACK_DATA, /*i=*/ 0, &ui->request, /*f=*/ NULL) <= 0)
return log_openssl_errors("Failed to set engine user interface data");
_cleanup_(EVP_PKEY_freep) EVP_PKEY *private_key = ENGINE_load_private_key(e, private_key_uri, ui->method, &ui->request);
if (!private_key) if (!private_key)
return log_openssl_errors("Failed to load private key from '%s'", private_key_uri); return log_openssl_errors("Failed to load private key from '%s'", private_key_uri);
REENABLE_WARNING; REENABLE_WARNING;
@ -1390,36 +1383,13 @@ static int load_key_from_engine(const char *engine, const char *private_key_uri,
#endif #endif
} }
int openssl_load_key_from_token(
KeySourceType private_key_source_type,
const char *private_key_source,
const char *private_key,
OpenSSLAskPasswordUI *ui,
EVP_PKEY **ret_private_key) {
assert(IN_SET(private_key_source_type, OPENSSL_KEY_SOURCE_ENGINE, OPENSSL_KEY_SOURCE_PROVIDER));
assert(private_key_source);
assert(ui);
assert(private_key);
switch (private_key_source_type) {
case OPENSSL_KEY_SOURCE_ENGINE:
return load_key_from_engine(private_key_source, private_key, ui, ret_private_key);
case OPENSSL_KEY_SOURCE_PROVIDER:
return load_key_from_provider(private_key_source, private_key, ui, ret_private_key);
default:
assert_not_reached();
}
}
static int openssl_ask_password_ui_read(UI *ui, UI_STRING *uis) { static int openssl_ask_password_ui_read(UI *ui, UI_STRING *uis) {
int r; int r;
switch(UI_get_string_type(uis)) { switch(UI_get_string_type(uis)) {
case UIT_PROMPT: { case UIT_PROMPT: {
/* If no ask password request was configured use the default openssl UI. */ /* If no ask password request was configured use the default openssl UI. */
AskPasswordRequest *req = UI_get0_user_data(ui); AskPasswordRequest *req = (AskPasswordRequest*) UI_method_get_ex_data(UI_get_method(ui), 0);
if (!req) if (!req)
return (UI_method_get_reader(UI_OpenSSL()))(ui, uis); return (UI_method_get_reader(UI_OpenSSL()))(ui, uis);
@ -1448,10 +1418,41 @@ static int openssl_ask_password_ui_read(UI *ui, UI_STRING *uis) {
return (UI_method_get_reader(UI_OpenSSL()))(ui, uis); return (UI_method_get_reader(UI_OpenSSL()))(ui, uis);
} }
} }
#endif
int openssl_ask_password_ui_new(OpenSSLAskPasswordUI **ret) { static int openssl_load_private_key_from_file(const char *path, EVP_PKEY **ret) {
#if HAVE_OPENSSL _cleanup_(erase_and_freep) char *rawkey = NULL;
_cleanup_(BIO_freep) BIO *kb = NULL;
_cleanup_(EVP_PKEY_freep) EVP_PKEY *pk = NULL;
size_t rawkeysz;
int r;
assert(path);
assert(ret);
r = read_full_file_full(
AT_FDCWD, path, UINT64_MAX, SIZE_MAX,
READ_FULL_FILE_SECURE|READ_FULL_FILE_WARN_WORLD_READABLE|READ_FULL_FILE_CONNECT_SOCKET,
NULL,
&rawkey, &rawkeysz);
if (r < 0)
return log_debug_errno(r, "Failed to read key file '%s': %m", path);
kb = BIO_new_mem_buf(rawkey, rawkeysz);
if (!kb)
return log_oom_debug();
pk = PEM_read_bio_PrivateKey(kb, NULL, NULL, NULL);
if (!pk)
return log_debug_errno(SYNTHETIC_ERRNO(EIO), "Failed to parse PEM private key: %s",
ERR_error_string(ERR_get_error(), NULL));
if (ret)
*ret = TAKE_PTR(pk);
return 0;
}
static int openssl_ask_password_ui_new(const AskPasswordRequest *request, OpenSSLAskPasswordUI **ret) {
assert(ret); assert(ret);
_cleanup_(UI_destroy_methodp) UI_METHOD *method = UI_create_method("systemd-ask-password"); _cleanup_(UI_destroy_methodp) UI_METHOD *method = UI_create_method("systemd-ask-password");
@ -1467,12 +1468,31 @@ int openssl_ask_password_ui_new(OpenSSLAskPasswordUI **ret) {
*ui = (OpenSSLAskPasswordUI) { *ui = (OpenSSLAskPasswordUI) {
.method = TAKE_PTR(method), .method = TAKE_PTR(method),
.request = *request,
}; };
UI_set_default_method(ui->method);
if (UI_method_set_ex_data(ui->method, 0, &ui->request) == 0)
return log_openssl_errors("Failed to set extra data for UI method");
*ret = TAKE_PTR(ui); *ret = TAKE_PTR(ui);
return 0; return 0;
}
#endif
OpenSSLAskPasswordUI* openssl_ask_password_ui_free(OpenSSLAskPasswordUI *ui) {
#if HAVE_OPENSSL
if (!ui)
return NULL;
assert(UI_get_default_method() == ui->method);
UI_set_default_method(UI_OpenSSL());
UI_destroy_method(ui->method);
return mfree(ui);
#else #else
return log_debug_errno(SYNTHETIC_ERRNO(EOPNOTSUPP), "OpenSSL is not supported, cannot create ask-password user interface."); assert(ui == NULL);
return NULL;
#endif #endif
} }
@ -1531,43 +1551,6 @@ int openssl_load_x509_certificate(const char *path, X509 **ret) {
#endif #endif
} }
static int openssl_load_private_key_from_file(const char *path, EVP_PKEY **ret) {
#if HAVE_OPENSSL
_cleanup_(erase_and_freep) char *rawkey = NULL;
_cleanup_(BIO_freep) BIO *kb = NULL;
_cleanup_(EVP_PKEY_freep) EVP_PKEY *pk = NULL;
size_t rawkeysz;
int r;
assert(path);
assert(ret);
r = read_full_file_full(
AT_FDCWD, path, UINT64_MAX, SIZE_MAX,
READ_FULL_FILE_SECURE|READ_FULL_FILE_WARN_WORLD_READABLE|READ_FULL_FILE_CONNECT_SOCKET,
NULL,
&rawkey, &rawkeysz);
if (r < 0)
return log_debug_errno(r, "Failed to read key file '%s': %m", path);
kb = BIO_new_mem_buf(rawkey, rawkeysz);
if (!kb)
return log_oom_debug();
pk = PEM_read_bio_PrivateKey(kb, NULL, NULL, NULL);
if (!pk)
return log_debug_errno(SYNTHETIC_ERRNO(EIO), "Failed to parse PEM private key: %s",
ERR_error_string(ERR_get_error(), NULL));
if (ret)
*ret = TAKE_PTR(pk);
return 0;
#else
return log_debug_errno(SYNTHETIC_ERRNO(EOPNOTSUPP), "OpenSSL is not supported, cannot load private key.");
#endif
}
int openssl_load_private_key( int openssl_load_private_key(
KeySourceType private_key_source_type, KeySourceType private_key_source_type,
const char *private_key_source, const char *private_key_source,
@ -1575,7 +1558,7 @@ int openssl_load_private_key(
const AskPasswordRequest *request, const AskPasswordRequest *request,
EVP_PKEY **ret_private_key, EVP_PKEY **ret_private_key,
OpenSSLAskPasswordUI **ret_user_interface) { OpenSSLAskPasswordUI **ret_user_interface) {
#if HAVE_OPENSSL
int r; int r;
assert(private_key); assert(private_key);
@ -1589,18 +1572,21 @@ int openssl_load_private_key(
*ret_user_interface = NULL; *ret_user_interface = NULL;
} else { } else {
_cleanup_(openssl_ask_password_ui_freep) OpenSSLAskPasswordUI *ui = NULL; _cleanup_(openssl_ask_password_ui_freep) OpenSSLAskPasswordUI *ui = NULL;
r = openssl_ask_password_ui_new(&ui); r = openssl_ask_password_ui_new(request, &ui);
if (r < 0) if (r < 0)
return log_debug_errno(r, "Failed to allocate ask-password user interface: %m"); return log_debug_errno(r, "Failed to allocate ask-password user interface: %m");
ui->request = *request; switch (private_key_source_type) {
r = openssl_load_key_from_token( case OPENSSL_KEY_SOURCE_ENGINE:
private_key_source_type, r = load_key_from_engine(private_key_source, private_key, ret_private_key);
private_key_source, break;
private_key, case OPENSSL_KEY_SOURCE_PROVIDER:
ui, r = load_key_from_provider(private_key_source, private_key, ret_private_key);
ret_private_key); break;
default:
assert_not_reached();
}
if (r < 0) if (r < 0)
return log_debug_errno( return log_debug_errno(
r, r,
@ -1612,6 +1598,9 @@ int openssl_load_private_key(
} }
return 0; return 0;
#else
return log_debug_errno(SYNTHETIC_ERRNO(EOPNOTSUPP), "OpenSSL is not supported, cannot load private key.");
#endif
} }
int parse_openssl_key_source_argument( int parse_openssl_key_source_argument(

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