Yu Watanabe
c195fdba12
test: Add CHID matching test ( #35532 )
2024-12-17 13:21:04 +09:00
Yu Watanabe
47f58740aa
core: make ProtectHostname= optionally take a hostname ( #35626 )
...
Closes #35623 .
2024-12-17 13:20:08 +09:00
Yu Watanabe
b58b00e4c3
systemctl-edit: ignore ENOENT from unit_is_masked()
...
If a specified unit does not exist, then it is definitely not masked.
Fixes #35632 .
2024-12-17 13:19:35 +09:00
Yu Watanabe
a4d1891475
meson: allow to customize the access mode for tty/pts devices
...
Then, switch the default value to "0600", due to general security
concerns about terminals being written to by other users.
Closing #35599 .
2024-12-16 21:36:07 +00:00
Yu Watanabe
7c4e351861
boot: introduce smbios_raw_info_get_cached() to cache populated SMBIOS raw info
...
Then, drop cache in smbios_info_populate().
No functional change, just refactoring and preparation for later commit.
2024-12-16 21:02:54 +03:00
Yu Watanabe
e76fcd0e40
core: make ProtectHostname= optionally take a hostname
...
Closes #35623 .
2024-12-16 23:55:44 +09:00
Yu Watanabe
0d298a771a
core/exec-invoke: fix ProtectHostname= value in log message
...
Follow-up for cf48bde7ae .
2024-12-16 23:55:44 +09:00
Yu Watanabe
d0a63cf041
TEST-50-DISSECT: add test case with systemd-notify
...
This also merges the previous test cases into one.
Follow-up for 284dd31e9d and
498c20fad6 .
2024-12-16 11:22:39 +00:00
Yu Watanabe
a763364cc9
ptyfwd: fix logic of OSC sequence termination
...
Previously, when an OSC sequence is terminated with \x1b\x5c, configured
OSC sequence would be inserted between the two characters, rather
than after the two.
Fixes a bug introduced by d848a94998 .
Fixes #35631 .
2024-12-16 19:21:43 +09:00
Yu Watanabe
9bc2acad8f
ptyfwd: clean up logic of color state transition in pty_forward_ansi_process()
...
Drop all 'continue', to make the logic easy to understand.
No functional change, just refactoring and preparation for later commit.
2024-12-16 16:36:56 +09:00
Yu Watanabe
78ef395947
test/README: Environment= setting for mkosi should be in [Build] section
...
Otherwise, we get the following warning:
mkosi.local.conf: Setting Environment should be configured in [Build], not [Content].
2024-12-16 02:03:50 +09:00
Yu Watanabe
26f65dc0c7
TEST-35-LOGIN: check only tty session
...
For some reasons, another session logind-test-user may be started.
===
Dec 13 07:04:16 systemd-logind[2140]: Got message type=method_call ... member=CreateSessionWithPIDFD ...
(snip)
Dec 13 07:04:16 systemd-logind[2140]: New session 15 of user logind-test-user.
Dec 13 07:04:16 systemd-logind[2140]: VT changed to 2
Dec 13 07:04:16 systemd-logind[2140]: rfkill: Found udev node /dev/rfkill for seat seat0
Dec 13 07:04:16 systemd-logind[2140]: udmabuf: Found udev node /dev/udmabuf for seat seat0
Dec 13 07:04:16 systemd-logind[2140]: Found static node /dev/snd/timer for seat seat0
Dec 13 07:04:16 systemd-logind[2140]: Found static node /dev/snd/seq for seat seat0
Dec 13 07:04:16 systemd-logind[2140]: Changing ACLs at /dev/snd/timer for seat seat0 (uid 0→4712 add)
Dec 13 07:04:16 systemd-logind[2140]: Changing ACLs at /dev/rfkill for seat seat0 (uid 0→4712 add)
Dec 13 07:04:16 systemd-logind[2140]: Changing ACLs at /dev/udmabuf for seat seat0 (uid 0→4712 add)
Dec 13 07:04:16 systemd-logind[2140]: Changing ACLs at /dev/snd/seq for seat seat0 (uid 0→4712 add)
Dec 13 07:04:16 systemd[1]: user-4712.slice: Changed dead -> active
Dec 13 07:04:16 systemd[1]: user-4712.slice: Job 5951 user-4712.slice/start finished, result=done
Dec 13 07:04:16 systemd[1]: Created slice user-4712.slice.
Dec 13 07:04:16 systemd-logind[2140]: Electing new display for user logind-test-user
Dec 13 07:04:16 systemd-logind[2140]: Choosing session 15 in preference to -
(snip)
Dec 13 07:04:16 systemd-logind[2140]: Got message type=method_call ... member=CreateSessionWithPIDFD ...
(snip)
Dec 13 07:04:16 systemd-logind[2140]: New session 16 of user logind-test-user.
Dec 13 07:04:16 systemd-logind[2140]: Electing new display for user logind-test-user
Dec 13 07:04:16 systemd-logind[2140]: Ignoring session 16
===
Let's track only session for the user with tty, which we explicitly created.
Fixes #35597 .
2024-12-15 21:10:03 +09:00
Yu Watanabe
3f1d499964
test-time-util: fix truncation of usec to sec
...
Also
- use ASSERT_XYZ() macros,
- log tzname[] on failure.
2024-12-14 15:23:52 +00:00
Yu Watanabe
b8f49003d3
TEST-07-PID1: skip test cases that invokes unshare when running with sanitizers
...
Fixes #35546 .
2024-12-14 19:47:47 +09:00
Yu Watanabe
7f14902cc2
mkosi: drop wrapper for unshare
...
This effectively reverts ef9a3241b3 ,
as it does not work.
2024-12-14 17:30:01 +09:00
Yu Watanabe
0bdcca5aee
udev: move enums to udev-def.h
...
No functional change, just refactoring and preparation for later
commits.
2024-12-14 16:19:57 +09:00
Yu Watanabe
a2840b9599
udev: move listen_fds() to udev-manager.c
...
Also
- drop redundant error message when manager_init() failed,
- close unexpected fds.
No functional change, just refactoring.
2024-12-14 16:19:57 +09:00
Yu Watanabe
7ab25935f3
udev: several coding style fixes
...
- use 'type* func()' rather than 'type *func()',
- merge variable declarations,
- etc.
2024-12-14 06:50:59 +00:00
Yu Watanabe
7edb1b42fc
test-udev-spawn: migrate to use ASSERT_XYZ()
2024-12-14 06:47:14 +00:00
Yu Watanabe
46d9f19465
udev-builtin-kmod: log about unloading only when already loaded
2024-12-14 11:29:05 +09:00
Yu Watanabe
9c6c4ad173
udev-builtin: drop unnecessary 'initialized' flag
...
All builtin _init() functions can be called multiple times gracefully,
and _exit() can be called without _init() called.
2024-12-14 11:29:05 +09:00
Yu Watanabe
975115321f
udev-builtin: use FOREACH_ELEMENT() macro
2024-12-14 11:29:05 +09:00
Yu Watanabe
db09f8ad1b
Replace array with magic indices with normal variables in vconsole-setup ( #35181 )
2024-12-14 10:49:01 +09:00
Yu Watanabe
3fbc35bf9a
core: log disconnect on api and system busses, and dump list of subscribers ( #35603 )
...
Split out of #35406 .
2024-12-14 10:20:35 +09:00
Yu Watanabe
beed1447b9
log: raise log level to LOG_DEBUG if $DEBUG_INVOCATION=1 is set ( #35606 )
...
Let's implement our own protocols, and raise the log level to debug if
DEBUG_INVOCATION=1 is set.
Follow-up for: 7d8bbfbe08
2024-12-14 10:16:53 +09:00
Yu Watanabe
8746c17e15
network: add MPLSRouting= setting to enable MPLS routing ( #35495 )
...
Closing #35487 .
2024-12-14 09:35:19 +09:00
Yu Watanabe
af44a16ec7
test-network: add test case for MPLSRouting=yes
2024-12-13 15:36:45 +00:00
Yu Watanabe
10a768443a
network: introduce MPLSRouting= to enable MPLS routing
...
Closing #35487 .
2024-12-13 15:36:45 +00:00
Yu Watanabe
dcd333168e
sysctl-util: support AF_MPLS
...
To support writing/reading e.g. /proc/sys/net/mpls/conf/eth0/input .
2024-12-13 15:36:45 +00:00
Yu Watanabe
ef9a3241b3
mkosi: wrap unshare command when running with sanitizers
...
Follow-up for 219a6dbbf3 .
Fixes #35546 .
2024-12-12 19:34:07 +09:00
Yu Watanabe
2e6025b1b1
core/namespace: use ProtectHostname in NamespaceParameters
...
To make the type of NamespaceParameters.protect_hostname consistent
with the one in ExecContext.
Addresses https://github.com/systemd/systemd/pull/35447#discussion_r1880372452 .
Fixes #35566 .
2024-12-12 19:33:34 +09:00
Yu Watanabe
54944339e5
bash-completion/creds: generate suggestions by systemd-creds itself
...
Follow-ups for 783f794e89 .
2024-12-12 15:25:38 +09:00
Yu Watanabe
831bbaf5cd
creds: support --transcode=help and --with-key=help
2024-12-12 15:25:34 +09:00
Yu Watanabe
2a92e0bc6c
string-table: make DUMP_STRING_TABLE() returns 0
...
Then, we can use it as
===
return DUMP_STRING_TABLE(...);
===
2024-12-12 15:21:16 +09:00
Yu Watanabe
66d2c693ac
tpm2-util: allow to control if legend and/or footer shown by tpm2_list_devices()
2024-12-12 15:21:16 +09:00
Yu Watanabe
945d1e5189
ci: enable linter for generate-sym-test.py
2024-12-12 15:04:29 +09:00
Yu Watanabe
0b39dc23ba
test: also generate list of symbols from header files
...
To make the generated tests able to detect issues like #35554 .
2024-12-12 15:04:28 +09:00
Yu Watanabe
6e399ece1f
test: modernize generate-sym-test.py
2024-12-12 15:03:36 +09:00
Yu Watanabe
5fcabde35b
sd-json: properly export sd_json_variant_type_from_string() and _to_string()
...
These exist in the header file, but were not exporeted.
Continuation of e11f5aa722 .
2024-12-12 13:08:35 +09:00
Yu Watanabe
9d8cb69e7f
test: rename README.testsuite -> README.md
2024-12-12 12:02:19 +09:00
Yu Watanabe
1fe583861f
README: drop CentOS CI badges
...
CentOS CIs are disabled after ead814a0b0 .
2024-12-12 11:58:52 +09:00
Yu Watanabe
fac5a5b747
polkit-agent: allow to invoke polkit agent even if STDIN is not a tty ( #35431 )
...
Closes #35018 .
2024-12-12 10:32:02 +09:00
Yu Watanabe
46c26454bd
exec-util: use strv_from_stdarg_alloca()
...
No functional change, just refactoring.
2024-12-12 08:35:16 +09:00
Yu Watanabe
f0ace1655d
exec-util: use open_terminal() in fork_agent() for safety
2024-12-12 08:35:16 +09:00
Yu Watanabe
90579fd0b3
exec-util: drop handling of ENXIO in opening /dev/tty
...
This effectively reverts 0bcf167900 .
The handling is not necessary anymore after 61242b1f0f .
2024-12-12 08:35:16 +09:00
Yu Watanabe
fc3691a70a
exec-util: split out common checks before fork_agent() to can_fork_agent()
...
No functional change, just refactoring.
2024-12-12 08:32:42 +09:00
Yu Watanabe
388d6c5f37
polkit-agent: modernize code a bit
...
- Use _cleanup_close_pair_ attribute for the pipe FDs,
- Return earlier on failure in forking polkit agent.
2024-12-12 08:30:55 +09:00
Yu Watanabe
0f81c8406f
exec-util: allow to invoke polkit/ask-password agent even if STDIN is not a tty
...
Closes #35018 .
2024-12-12 08:30:55 +09:00
Yu Watanabe
4899255aa2
format-table: trivial cleanups ( #35572 )
2024-12-12 06:12:07 +09:00
Yu Watanabe
7e438055a6
pretty-print: don't use OSC 8 for incompatible URLs ( #35223 )
2024-12-12 05:43:36 +09:00
Yu Watanabe
ab5de638e9
process-util: modernize is_main_thread(); make sure get_process_ppid() won't return ppid == 0 ( #35561 )
...
Split out from #35242
2024-12-12 05:16:04 +09:00
Yu Watanabe
e53be91e5d
libfido2-util: show also verity features when listing FIDO2 devices ( #35295 )
...
This way, users don't have to check those features using an external
program, or wait for later failure when trying to enroll using an
unsupported feature.
E.g.:
```
# systemd-cryptenroll --fido2-device list
PATH MANUFACTURER PRODUCT RK CLIENTPIN UP UV
/dev/hidraw2 Yubico YubiKey OTP+FIDO+CCID yes no yes no
```
2024-12-12 05:11:46 +09:00
Yu Watanabe
bfff0f5ac8
Add credential support for mount units ( #34732 )
...
Add `EXEC_SETUP_CREDENTIALS` flag to allow using credentials with mount units.
Fixes : #23535
2024-12-12 05:07:35 +09:00
Yu Watanabe
c9011f170b
journalctl: also mangle unit name when --invocation= or --list-invocations is specified ( #35542 )
...
Fixes #35538 .
2024-12-12 05:01:54 +09:00
Yu Watanabe
7bb1c8f2a3
journalctl: make --invocation and --list-invocations accept unit name with glob
...
Previously, journalctl -I -u GLOB was not supported, while
journalctl -u GLOB works fine. Let's make them consistent.
2024-12-11 16:32:22 +00:00
Yu Watanabe
48b22321af
journalctl: move get_possible_units() to journalctl-util.c
...
No functional change. Preparation for the next commit.
2024-12-11 16:32:22 +00:00
Yu Watanabe
e8823b5e35
journalctl: make --invocation and --list-invocations accept unit name without suffix
...
Fixes #35538 .
2024-12-11 16:32:22 +00:00
Yu Watanabe
b83847eb13
network: optionally bring up interface before joining bridge ( #34438 )
...
Closes #34247 .
2024-12-11 18:16:34 +09:00
Yu Watanabe
f8bfe16b06
journalctl: do not override explicitly specified -b or -n with -e or -k
...
Fixes #35248 .
2024-12-11 18:12:13 +09:00
Yu Watanabe
c577fe65f3
systemctl: downgrade log level of ECONNREFUSED from system dbus.service
...
To suppress log message when 'systemctl poweroff' or friends invoked in
rescue shell, which does not have dbus.service.
2024-12-11 18:08:26 +09:00
Yu Watanabe
2dfde4b8f8
network: optionally bring up interface before joining bridge
...
Closes #34247 .
2024-12-11 11:23:48 +09:00
Yu Watanabe
2bb7fe554f
network: introduce link_up_now()
...
This is currently not used. Preparation for later commit.
2024-12-11 11:23:48 +09:00
Yu Watanabe
bfe63cb00c
network: add missing template to networkd.conf
2024-12-11 11:21:15 +09:00
Yu Watanabe
246b0a4d26
network/nexthop: replace unreachable condition with assertion
2024-12-11 11:21:15 +09:00
Yu Watanabe
d49312307e
network/nexthop: fix argument name
...
Fixes copy-and-paste error in b5b42b516e .
2024-12-11 11:21:15 +09:00
Yu Watanabe
a4feabd85d
network: introduce address_forget() and friends and use it where applicable
...
No functional change, just refactoring.
2024-12-11 11:21:14 +09:00
Yu Watanabe
290a507f7c
network/nexthop: ignore foreign nexthops when ManageForeignNextHops=no
2024-12-11 11:21:14 +09:00
Yu Watanabe
724a296b4f
network/nexthop: drop outdated comment and add one debugging log
...
All NextHop objects are managed by Manager since
352eba2e49 .
2024-12-11 11:21:14 +09:00
Yu Watanabe
96fef18ca6
network/ndisc: unref Route objects that depend on the nexthop
...
No functional change, as when this function is called, the set will be
freed and contained Route objects will be unref()ed anyway soon later
by nexthop_detach() -> nexthop_free().
Even though, when the routes are forgotten from the Manager, then it is
not necessary to keep them by the nexthop. Let's unref earlier.
2024-12-11 11:21:14 +09:00
Yu Watanabe
1168489cd4
network/ndisc: constify several arguments and add several assertions
...
Follow-up for 0f8afaf94d .
No functional change, just for safety.
2024-12-11 11:21:14 +09:00
Yu Watanabe
b5f2d7a1ec
network/nexthop: do not share NextHop.nexthops and NextHop.routes with duplicated object
...
Otherwise, these may be freed twice.
But, fortunately, when this function is called, both are NULL.
So, this should not change any behavior. But for safety.
2024-12-11 11:21:14 +09:00
Yu Watanabe
00b363bb81
network: drop outdated comment
...
All Route objects are managed by Manager since
8d01e44c1f .
2024-12-11 11:21:14 +09:00
Yu Watanabe
5c9da83004
journalctl: allow to dump generated key in json format
...
Closes #35503 .
2024-12-11 11:18:06 +09:00
Yu Watanabe
a5b2973850
journalctl: honor --quiet with --setup-keys
...
Closes #35504 .
2024-12-11 11:18:05 +09:00
Yu Watanabe
77064620d7
Revert "coredumpctl: Don't treat no coredumps as failure"
...
This reverts commit dfe79b9ed2 .
2024-12-11 11:14:37 +09:00
Yu Watanabe
94930ff674
bus-creds/time-util: use first_word() and skip_leading_chars() more ( #35421 )
...
Prompted by
https://github.com/systemd/systemd/pull/35403#discussion_r1863855098
2024-12-11 10:42:34 +09:00
Yu Watanabe
627d1a9ac1
core: Add ProtectHostname=private ( #35447 )
...
This PR allows an option for systemd exec units to enable UTS namespaces
but not restrict changing hostname via seccomp. Thus, units can change
hostname without affecting the host. This is useful for OS-like
containers running as units where they should have freedom to change
their container hostname if they want, but not the host's hostname.
Fixes : #30348
2024-12-11 10:17:25 +09:00
Yu Watanabe
17e6e4d6b6
tree-wide: replace ANSI_XYZ with ansi_xyz()
...
Continuation of f0484e096c .
2024-12-11 10:11:53 +09:00
Yu Watanabe
c576ba7182
journald: extend STDOUT_STREAMS_MAX to 64k
...
Closes #35390 .
2024-12-10 20:49:42 +01:00
Yu Watanabe
edd0a3c5e9
copy: do not try to copy zero size data
...
Hopefully fixes the following sanitizer issue:
===
[ 3754.797377] systemd-journald[776]: ../src/src/shared/copy.c:463:37: runtime error: variable length array bound evaluates to non-positive value 0
[ 3755.101713] systemd-journald[776]: Received SIGTERM from PID 1 (systemd).
[ 3755.124580] systemd-journald[776]: Journal stopped
Found 1 sanitizer issues (0 internal, 0 asan, 0 ubsan, 0 msan).
===
2024-12-10 19:20:50 +00:00
Yu Watanabe
a33813e9e9
TEST-07-PID: wait for sleep command being executed by sd-executor
...
Hopefully fixes #35528 .
2024-12-10 19:19:54 +00:00
Yu Watanabe
053cbabce7
mkosi: several improvements for running with sanitizers ( #35480 )
2024-12-10 13:35:22 +09:00
Yu Watanabe
fb35d775a7
seccomp-util: add getxattrat and friends
...
The new syscalls are added in kernel-6.13:
https://github.com/torvalds/linux/commit/6140be90ec70c39fa844741ca3cc807dd0866394
2024-12-10 11:16:44 +09:00
Yu Watanabe
896b53ef4e
basic: update syscall tables
2024-12-10 11:15:48 +09:00
Yu Watanabe
d2d006cc8c
test: use systemd-asan-env environment file at more places
2024-12-10 11:01:53 +09:00
Yu Watanabe
456727b5d4
test-network: check status of networkd after everything cleared on tear down
...
Otherwise, if networkd is failed, e.g. .network files that triggered the
failure will remain, and the next test case will start with previous
.network files. So, most subsequent test will fail.
2024-12-10 11:01:53 +09:00
Yu Watanabe
91ef65784e
mkosi/sanitizers: add more ASAN options
...
This adds the following three options:
- detect_invalid_pointer_pairs=2
- handle_ioctl=1
- print_cmdline=1
Note, these options were used in the CentOS CI job.
2024-12-10 11:01:53 +09:00
Yu Watanabe
1bdb9e808f
test: extract sanitizer reports from journal
2024-12-10 11:01:48 +09:00
Yu Watanabe
41b6486c9b
mkosi: move drop-in config for sanitizers
2024-12-10 09:46:29 +09:00
Yu Watanabe
dbf83c6613
Revert "test: tentatively disable SELinux tests"
...
This reverts commit 261a3d191e .
2024-12-09 21:52:06 +01:00
Yu Watanabe
fbee22c237
journalctl: show coredumps again when --unit= is specified
...
This is a revised version of cbd5f5d7d6 ,
which is reverted by 560412148f .
The filter condition for _UID= field was added by
fdcd37df3b . However, after
888e378da2 , coredumps for system services are
stored by systemd-coredump user. Hence, _UID=0 does not match anything anymore.
When we are reading the system journal, let's set _UID=<systemd-coredump>,
then we can show coredumps for system services again. When we are reading
an external journal, then the uid of systemd-coredump may be different
from the one on the current system, so let's drop the filter condition
for _UID= in that case.
2024-12-09 15:18:55 +01:00
Yu Watanabe
261a3d191e
test: tentatively disable SELinux tests
...
Currently, mkosi GitHub action complains the following:
===
Could not find 'setfiles' which is required to relabel files.
===
Let's tentatively disable SELinux test.
2024-12-08 12:59:08 +09:00
Yu Watanabe
cbd5f5d7d6
journalctl: show coredumps again when --unit= is specified
...
This effectively reverts fdcd37df3b .
After 888e378da2 , coredumps for system
services are stored by systemd-coredump user. Henve, _UID=0 does not
match anything anymore.
Before:
```
$ build/journalctl -u systemd-networkd.service -p2 -n1
-- No entries --
```
After:
```
$ build/journalctl -u systemd-networkd.service -p2 -n1
Dec 06 05:39:55 H systemd-coredump[4187]: [🡕] Process 4145 (systemd-network) of user 192 dumped core.
(snip)
```
2024-12-06 09:56:09 +00:00
Yu Watanabe
157d5b5c30
mkosi: disable Fedora specific drop-in config when running with sanitizers
...
Hopefully fixes #35335 .
2024-12-04 09:22:26 +09:00
Yu Watanabe
552e5db9ac
Revert "mkosi: extend DefaultTimeoutStopSec= when running on sanitizers"
...
This reverts commit b75befc3c9 .
Unfortunately, it does not work. Let's revert.
2024-12-04 09:13:18 +09:00
Yu Watanabe
472e3cce6e
TEST-13-NSPAWN: enable debugging logs by nspawn run by systemd-run
...
Otherwise, it is hard to debug issue #35209 .
2024-12-01 15:40:19 +01:00
Yu Watanabe
1072618023
NEWS: metion changes for networkd
2024-12-01 23:37:32 +09:00
Yu Watanabe
a1417e5563
systemctl: skip checking inhibitors when dbus.service is not running
...
Fixes a bug introduced by 804874d26a .
Fixes #35416 .
2024-12-01 14:00:55 +09:00
Yu Watanabe
9c4670db3c
mkosi: move setting for journald to mkosi.extra
2024-11-30 04:31:45 +09:00
Yu Watanabe
b75befc3c9
mkosi: extend DefaultTimeoutStopSec= when running on sanitizers
...
Hopefully fixes #35335 .
2024-11-30 04:28:24 +09:00