1
0
mirror of https://github.com/systemd/systemd.git synced 2025-02-25 21:57:32 +03:00

63144 Commits

Author SHA1 Message Date
Lennart Poettering
c1c4ecd356 update TODO 2023-03-14 23:06:32 +01:00
Lennart Poettering
a3c3386eac dissect: make all paths we operation on absolute
Let's avoid any ambiguities around paths, and make them absolute when
accepting them, like we do in most our tools now. This makes us
independent of the current working directory and allows us to change it
without issues or pass around the paths elsewhere if need be.
2023-03-14 23:04:18 +01:00
Lennart Poettering
f0a96d195a core: fix mount flag help output, it only takes one argument 2023-03-14 23:03:32 +01:00
Lennart Poettering
12c0f4ff52 dissect: mark UID/GIDs that are surprising in DDIs with colors
DDIs should not contain files owned by dynamic users or the nobody
users. Let's subtly highlight those entries in mtree output.
2023-03-14 23:03:16 +01:00
Daan De Meyer
3a36d19938
Merge pull request #26662 from yuwata/test-execute-network-namespace-path
test-execute: add tests for NetworkNamespacePath=
2023-03-14 11:16:15 +01:00
EinBaum
a5c0ad9a9a
hwdb: 60-keyboard.hwdb: Fix modalias for Thinkpad X200 Tablet (#26795)
This fixes the tablet buttons on the Thinkpad X200 Tablet.
My Lenovo ThinkPad X200 Tablet is called "ThinkPadX200T" instead of "ThinkPadX200Tablet":
```
$ cat /sys/devices/virtual/dmi/id/modalias 
dmi:bvnLENOVO:bvr7WET71WW(3.21):bd11/29/2012:br3.33:efr1.6:svnLENOVO:pn7453WVK:pvrThinkPadX200T:rvnLENOVO:rn7453WVK:rvrNotAvailable:cvnLENOVO:ct10:cvrNotAvailable:sku:
```
This patch makes both strings work correctly to support the extra tablet keys.
2023-03-14 17:41:21 +09:00
Lennart Poettering
888519889c test-process-util: port to detach_mount_namespace() 2023-03-14 17:39:28 +09:00
Yu Watanabe
4b2e1a27cc
Merge pull request #26767 from yuwata/udev-rule-rework-logging
udev-rule: rework logging about udev rules
2023-03-14 13:14:49 +09:00
A S Alam
b47b1708c9 po: Translated using Weblate (Punjabi)
Currently translated at 6.2% (12 of 193 strings)

Co-authored-by: A S Alam <amanpreet.alam@gmail.com>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/master/pa/
Translation: systemd/main
2023-03-14 13:04:38 +09:00
Lennart Poettering
b6904196a6 namespace-util: set mounts back to MS_SHARED in detach_mount_namespace()
For nspawn and services we first turn off two-way propagation of mounts
from host to sandbox via MS_SLAVE, and then set MS_SHARED again, so that
we create a new mount prop peer group again, and that we provide
behaviour similar to what we provide on the host further down the tree.

Let's do the same in detach_mount_namespace(), which we use for the
temporary mounts in the implementation of --image= in various tools.

This doesn't fix any immediate issue, but ensures we expose somewhat
systematic behaviour: whenever we detach mount namespaces we always set
things back to MS_SLAVE in the child.
2023-03-14 13:02:51 +09:00
Lennart Poettering
874cdcbcf5 core: rename "mount_flags" → "mount_propagation_flag" internally where appropriate
ExecContext has a field that controls the mount propagation flag of the
mounts in the resulting namespace. This is exposed as "MountFlags="
which is super confusing, as it suggests one could control more than
propagation, and that it was actually a flags field. It's an enum
though only, and nothing else.

We might want to rename this externally one day, but given the compat
kludges this requires and the fact this is somewhat nichey it might not
be worth it. But internally let's rename it, as it makes things much
easier to grok, in particular as part of the codebase already exposed
the concept as mount_propagation_flag.

No actual code flow changes, just some renaming.
2023-03-14 13:00:27 +09:00
Lennart Poettering
eacfbd89c3 namespace: use ERRNO_IS_PRIVILEGE()/ERRNO_IS_NOT_SUPPORTED() where appropriate 2023-03-14 12:57:46 +09:00
Mike Yuan
880adc6edd test: testsuite-26: remove duplicate source 2023-03-14 12:32:16 +09:00
Lennart Poettering
97cff6cd5f userbd: manager doesn't actually use varlink, only workers do 2023-03-13 22:43:25 +00:00
Yu Watanabe
a6ca54ed94 man: add missing tags in udevadm(8) 2023-03-13 19:29:58 +00:00
Topi Miettinen
7a114ed4b3 execute: use prctl(PR_SET_MDWE) for MemoryDenyWriteExecute=yes
On some ARM platforms, the dynamic linker could use PROT_BTI memory protection
flag with `mprotect(..., PROT_BTI | PROT_EXEC)` to enable additional memory
protection for executable pages. But `MemoryDenyWriteExecute=yes` blocks this
with seccomp filter denying all `mprotect(..., x | PROT_EXEC)`.

Newly preferred method is to use prctl(PR_SET_MDWE) on supported kernels. Then
in-kernel implementation can allow PROT_BTI as necessary, without weakening
MDWE. In-kernel version may also be extended to more sophisticated protections
in the future.
2023-03-13 18:44:36 +00:00
Yu Watanabe
cbcdc582f3
Merge pull request #26749 from DaanDeMeyer/more-cleanups
execute: Some modernizations
2023-03-14 03:34:37 +09:00
Franck Bui
07e0ffc823 conf: replace config_parse_many_nulstr() with config_parse_config_file()
All daemons use a similar scheme to read their main config files and theirs
drop-ins. The main config files are always stored in /etc/systemd directory and
it's easy enough to construct the name of the drop-in directories based on the
name of the main config file.

Hence the new helper does that internally, which allows to reduce and simplify
the args passed previously to config_parse_many_nulstr().

Besides the overall code simplification it results:

  16 files changed, 87 insertions(+), 159 deletions(-)

it allows to identify clearly the locations in the code where configuration
files are parsed.
2023-03-14 03:31:21 +09:00
Yu Watanabe
4fed028ae4
Merge pull request #26781 from mrc0mmand/tests-again
test: add a couple of tests for systemd-path
2023-03-14 03:27:45 +09:00
tofylion
dede07d3d0
hwdb: update 70-mouse.hwdb (#26782)
Add Logitech G502 X wired and wireless configurations with correct pid and vid.
2023-03-14 03:27:02 +09:00
Brett Holman
0a14f83a0e
network: ipv4acd: update MAC address on change (#26753)
Commit 76a86ffdbee2dd9ef0f2b5338e14eb6ba7671456 added function
ipv4acd_update_mac() but invoked ipv4ll_update_mac(), which doesn't
align with debug or commit messages.
2023-03-14 00:21:30 +09:00
Daan De Meyer
80c7d4b8fa man: Fix user generator output paths
These are all under $XDG_RUNTIME_DIR/systemd instead of directly
under $XDG_RUNTIME_DIR.
2023-03-13 13:51:48 +00:00
Yu Watanabe
4bc70180c0 udevadm-verify: fix indentation of help message 2023-03-13 21:30:44 +09:00
Yu Watanabe
ef7d152c01 udevadm: enable colorized logging 2023-03-13 21:25:57 +09:00
Yu Watanabe
e7f5d708d3 udev-rules: inline rule_line_append_token() 2023-03-13 21:25:57 +09:00
Yu Watanabe
a0244c5de4 udev-rules: modernize free functions 2023-03-13 21:25:57 +09:00
Yu Watanabe
2aa5fe5e32 udev-rules: do not set 'issues' tag when applying rules to event device
The tagging is used by `udevadm verify` and the command only parses
udev rules but not apply them.
2023-03-13 21:25:57 +09:00
Yu Watanabe
e5a3494844 udev-rules: introduce log_event_truncated() helper function 2023-03-13 21:25:57 +09:00
Yu Watanabe
c06ab041c7 udev-rule: rework logging about udev rules
This makes the loggers take the most relevant object, i.e. when
applying udev rules to a device, the loggers take sd_device and
UdevRuleToken object, and when parsing udev rules, they take
UdevRuleLine or UdevRuleFile object.

To achieve that, this drops 'iterators' in UdevRules or friends named
`current_file` or so. Instead of that, each object now has its
parent object, e.g. UdevRuleToken.rule_line that references the
UdevRuleLine object the token belonging to. And each function previously
took UdevRules object now takes the most relevant object, e.g. UdevRuleToken.

Solves the discussion in https://github.com/systemd/systemd/pull/26698#discussion_r1129261193.
2023-03-13 21:25:45 +09:00
Daan De Meyer
13339577c3 namespace: Modernize shareable namespace functions 2023-03-13 13:07:32 +01:00
Daan De Meyer
1fe15cb7a9 dynamic-user: Revert back to using POSIX locks
unposix locks are shared between child and parent after fork() which
is precisely what we don't want in this case so revert back to POSIX
locks which are not shared between parent and child.
2023-03-13 13:06:42 +01:00
Daan De Meyer
846c9c12e7 lock-util: Add posix_lock()
POSIX locks with the same interface as flock().
2023-03-13 13:04:08 +01:00
Daan De Meyer
dcebb015fb execute: Use log_unit_error_errno() instead of log_error_errno() 2023-03-13 12:33:11 +01:00
Yu Watanabe
d77d42ed3a systemctl: refuse to acquire dbus connection with --global
Maybe, better to check the runtime scope each verb for better log
message, but this is a good start point to not trigger assertion.

Fixes oss-fuzz#56915 (https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=56915).

Fixes #26402 and #26754.
2023-03-13 12:27:34 +01:00
Frantisek Sumsal
8093693275 test: add a couple of tests for systemd-path 2023-03-13 11:59:18 +01:00
Luca Boccassi
560900be67
Merge pull request #26772 from yuwata/time-util-adjust-formattable-timestamp-max
time-util: adjust formattable timestamp max
2023-03-12 23:06:39 +00:00
OMOJOLA JOSHUA
cde4322b3a
added a unit test for a function in "argv-utils.c" (#26760)
* added a unit test for argv-utils.c
2023-03-12 23:03:52 +00:00
Yu Watanabe
cfacd245e7 test-time-util: do not fail on DST change 2023-03-13 04:43:51 +09:00
Yu Watanabe
37c6a3dc1a time-util: add note about on DST change 2023-03-13 04:43:51 +09:00
Yu Watanabe
6bed374280 test: add more testcases for formatting/parsing timestamp 2023-03-13 04:43:51 +09:00
Yu Watanabe
bd5770da76 time-util: make USEC_TIMESTAMP_FORMATTABLE_MAX for 32bit system off by one day
As the same reason why we take one day off for 64bit case.

This also makes both upper bounds always defined for testing.
2023-03-13 04:43:19 +09:00
Yu Watanabe
af339540ec
Merge pull request #26775 from DaanDeMeyer/ext-default
mkfs-util: Always use "default" usage type for ext filesystems
2023-03-13 04:04:09 +09:00
Yu Watanabe
a23561293b
Merge pull request #26776 from YHNdnzj/edit-util-more-cleanup
edit-util: some more cleanups
2023-03-13 04:01:02 +09:00
Mike Yuan
78e3200354
edit-util: include the correct header 2023-03-13 01:44:51 +08:00
Mike Yuan
978e222f72
edit-util: rename trim_edit_marker to strip_edit_temp_file
with some minor cleanups
2023-03-13 00:44:34 +08:00
Mike Yuan
52073ba247
edit-util: always create temp file
even if neither original_path nor comment_paths is specified.
2023-03-13 00:41:11 +08:00
Mike Yuan
8992667fef
edit-util: minor cleanups
Reuse unlink_and_free() and avoid unnecessary
call to rmdir()
2023-03-13 00:40:15 +08:00
Daan De Meyer
49f2e129f8 mkfs-util: Redirect mkfs.vfat stdout to /dev/null
mkfs.vfat does not have a --quiet option so let's redirect its
stdout to /dev/null instead.
2023-03-12 16:20:38 +01:00
Daan De Meyer
2417fa8ef5 mkfs-util: Don't explicitly enable has_journal for ext3/ext4
It's enabled by default anyway and removing it allows merging the ext
conditionals into one.
2023-03-12 15:36:08 +01:00
Daan De Meyer
59c3c195f4 mkfs-util: Always use "default" usage type for ext filesystems
If no usage type is explicitly specified, ext will choose one based
on the filesystem size. Let's override this and always use the
"default" usage type so that we can create filesystems that are
initially small but might grow later without opting in to the "small"
usage type.
2023-03-12 15:15:35 +01:00