Zbigniew Jędrzejewski-Szmek [Tue, 19 Jan 2021 13:20:16 +0000 (14:20 +0100)]
systemctl: warn when importing environment variables with control characters
I don't think it is useful to warn about about environemnt variables where the user
explicitly configured some value. If they went through the effort of escaping the cc
to include it in the setting (e.g. Environment="VAR=\efoo"), and we pass this through,
there isn't anything to warn about. This also applies to 'systemctl set-environment',
where the variable name and value are passed as arguments.
The only case where the warning *might* be useful is where the user might be
surprised by the value. This occurs when importing variables from the inherited
environment, i.e. in 'systemctl import-environment'. In not convinced that this is
useful, since the user better control their shell environment anyway.
$ systemctl import-environment
Calling import-environment without a list of variable names is deprecated.
Environment variable $LESS_TERMCAP_mb contains control characters, importing anyway.
Environment variable $LESS_TERMCAP_md contains control characters, importing anyway.
Environment variable $LESS_TERMCAP_me contains control characters, importing anyway.
Environment variable $LESS_TERMCAP_se contains control characters, importing anyway.
Environment variable $LESS_TERMCAP_so contains control characters, importing anyway.
Environment variable $LESS_TERMCAP_ue contains control characters, importing anyway.
Environment variable $LESS_TERMCAP_us contains control characters, importing anyway.
Environment variable $ZZZ contains control characters, importing anyway.
Zbigniew Jędrzejewski-Szmek [Sun, 3 Jan 2021 21:26:52 +0000 (22:26 +0100)]
Allow control characters in environment variable values
So far, we would allow certain control characters (NL since
b4346b9a77bc6129dd3e, TAB since
6294aa76d818e831de45), but not others. Having
other control characters in environment variable *value* is expected and widely
used, for various prompts like $LESS, $LESS_TERMCAP_*, and other similar
variables. The typical environment exported by bash already contains a dozen or
so such variables, so programs need to handle them.
We handle then correctly too, for example in 'systemctl show-environment',
since
804ee07c1370d49aa9a. But we would still disallow setting such variables
by the user, in unit file Environment= and in set-environment/import-environment
operations. This is unexpected and confusing and doesn't help with anything
because such variables are present in the environment through other means.
When printing such variables, 'show-environment' escapes all special
characters, so variables with control characters are plainly visible.
In other uses, e.g. 'cat -v' can be used in similar fashion. This would already
need to be done to suppress color codes starting with \[.
Note that we still forbid invalid utf-8 with this patch. (Control characters
are valid, since they are valid 7-bit ascii.) I'm not sure if we should do
that, but since people haven't been actually asking for invalid utf-8, and only
for control characters, and invalid utf-8 causes other issues, I think it's OK
to leave this unchanged.
Fixes #4446, https://gitlab.gnome.org/GNOME/gnome-session/-/issues/45.
Zbigniew Jędrzejewski-Szmek [Sun, 3 Jan 2021 20:53:38 +0000 (21:53 +0100)]
systemctl: print a warning when trying to import a nonexistent variable
I was quite confused what is happening:
$ XXX=xxx
$ systemctl --user import-environment XXX
$ systemctl --user show-environment | grep XXX
(nothing)
Obviously, 'export XXX' was missing. Without any indication why the
export is not happening, this can be hard to figure out.
Another option would be to error out. But so far we didn't, and doing
that could break some script which optimistically tries to export some
variables, if present.
Yu Watanabe [Tue, 19 Jan 2021 07:46:41 +0000 (16:46 +0900)]
Merge pull request #18294 from ssahani/net-2
tree wide use ensure_put
Zbigniew Jędrzejewski-Szmek [Tue, 19 Jan 2021 07:41:15 +0000 (08:41 +0100)]
Merge pull request #18300 from yuwata/analyze-verify-18252
analyze: resolve executable path if it is relative
Susant Sahani [Mon, 18 Jan 2021 20:28:16 +0000 (21:28 +0100)]
udev: Use TAKE_PTR
Susant Sahani [Mon, 18 Jan 2021 20:27:25 +0000 (21:27 +0100)]
udev-rules: Use ordered_hashmap_ensure_put
Susant Sahani [Tue, 19 Jan 2021 04:56:25 +0000 (05:56 +0100)]
sysusers: use ordered_hashmap_ensure_put
Yu Watanabe [Tue, 19 Jan 2021 03:22:55 +0000 (12:22 +0900)]
Merge pull request #18303 from yuwata/verity-cleanup
veritysetup-generator: drop unused struct and variable
Yu Watanabe [Tue, 19 Jan 2021 03:22:34 +0000 (12:22 +0900)]
Merge pull request #18038 from yuwata/meson-split
meson: various cleanups
Yu Watanabe [Mon, 18 Jan 2021 23:47:39 +0000 (08:47 +0900)]
Merge pull request #18267 from lucaswerkmeister/truncate
Two StandardOutput=truncate:file improvements
Yu Watanabe [Mon, 18 Jan 2021 23:42:26 +0000 (08:42 +0900)]
Merge pull request #18299 from ssahani/ensure-put
More use of hashmap_ensure_put and ordered_hashmap_ensure_put
Yu Watanabe [Mon, 18 Jan 2021 22:22:48 +0000 (07:22 +0900)]
TODO: fix typo
Yu Watanabe [Mon, 18 Jan 2021 22:18:45 +0000 (07:18 +0900)]
veritysetup-generator: drop unused struct and variable
Follow-ups for
08b04ec7e72b7327b4803809732b1b8fce8dd069.
This also drops unnecessary inclusion.
Fixes CID#
1443889.
Yu Watanabe [Tue, 5 Jan 2021 06:03:39 +0000 (15:03 +0900)]
meson: move several definitions related libsystemd to src/libsystemd/meson.build
Yu Watanabe [Tue, 5 Jan 2021 05:51:17 +0000 (14:51 +0900)]
meson: use static_libsystemd_pic
Yu Watanabe [Tue, 5 Jan 2021 03:55:10 +0000 (12:55 +0900)]
meson: add missing license header
Yu Watanabe [Mon, 4 Jan 2021 15:08:42 +0000 (00:08 +0900)]
meson: move test or fuzzer definitions to relevant meson.build in subdirectories
Yu Watanabe [Mon, 4 Jan 2021 14:57:52 +0000 (23:57 +0900)]
meson: drop unused variable
Yu Watanabe [Mon, 4 Jan 2021 14:54:46 +0000 (23:54 +0900)]
meson: drop unnecessary files from test definitions
Yu Watanabe [Mon, 4 Jan 2021 14:48:10 +0000 (23:48 +0900)]
meson: drop unnecessary libraries from journal related tests
Yu Watanabe [Mon, 4 Jan 2021 14:36:00 +0000 (23:36 +0900)]
meson: slightly disentangle code dependencies
But, still sd-id128 is used in src/basic.
Yu Watanabe [Mon, 4 Jan 2021 12:27:00 +0000 (21:27 +0900)]
meson: sort inclusion of meson.build files in subdirectories
Yu Watanabe [Mon, 4 Jan 2021 12:16:15 +0000 (21:16 +0900)]
meson: move libjournal_core definition to src/journal/meson.build
Yu Watanabe [Mon, 4 Jan 2021 12:13:30 +0000 (21:13 +0900)]
meson: move libudev related definitions to src/libudev/meson.build
Also, this makes libudev.so built in build directory.
Yu Watanabe [Mon, 4 Jan 2021 11:47:00 +0000 (20:47 +0900)]
meson: move and gather find_program()
Yu Watanabe [Mon, 4 Jan 2021 11:43:44 +0000 (20:43 +0900)]
meson: drop redundant source files in executable()
Yu Watanabe [Mon, 4 Jan 2021 11:41:37 +0000 (20:41 +0900)]
meson: move source file list for systemd-xdg-autostart-generator and its tests
Yu Watanabe [Mon, 4 Jan 2021 11:35:33 +0000 (20:35 +0900)]
meson: move source file list for busctl
Yu Watanabe [Mon, 4 Jan 2021 11:29:01 +0000 (20:29 +0900)]
meson: move source file list for systemd-cryptenroll
Yu Watanabe [Mon, 4 Jan 2021 11:26:20 +0000 (20:26 +0900)]
meson: move source file list for systemd-cryptsetup
Yu Watanabe [Mon, 4 Jan 2021 11:21:48 +0000 (20:21 +0900)]
meson: show standalone-binaries setting in the summary
Yu Watanabe [Mon, 4 Jan 2021 11:20:03 +0000 (20:20 +0900)]
meson: use condition argument in test definition
Yu Watanabe [Mon, 4 Jan 2021 11:17:22 +0000 (20:17 +0900)]
meson: drop redundant directory specification in additional source files
Yu Watanabe [Mon, 4 Jan 2021 11:12:28 +0000 (20:12 +0900)]
meson: move definition of systemctl source files
Yu Watanabe [Mon, 4 Jan 2021 11:09:06 +0000 (20:09 +0900)]
meson: introduce libtimesyncd_core library
Yu Watanabe [Mon, 4 Jan 2021 11:00:10 +0000 (20:00 +0900)]
meson: enable several tests even if the relevant features are disabled
Yu Watanabe [Mon, 4 Jan 2021 08:34:01 +0000 (17:34 +0900)]
meson: fix indentation
Yu Watanabe [Mon, 4 Jan 2021 08:33:47 +0000 (17:33 +0900)]
meson: drop unnecessary variable declarations
Yu Watanabe [Mon, 4 Jan 2021 08:30:12 +0000 (17:30 +0900)]
meson: drop unnecessary loop
Yu Watanabe [Thu, 31 Dec 2020 23:57:37 +0000 (08:57 +0900)]
test: drop bus-util.h from sd-bus
To drop src/shared from include directories to build libsystemd.so later.
Yu Watanabe [Thu, 31 Dec 2020 23:55:21 +0000 (08:55 +0900)]
efi: create symbolic link to efi/loader-feature.h
To drop src/boot/efi from include directories for binaries later.
Yu Watanabe [Thu, 31 Dec 2020 23:52:52 +0000 (08:52 +0900)]
util: move several DNS related definitions to src/basic/dns-def.h
DNS_HOSTNAME_MAX is used by sd-resolve, but it was defined in
src/shared/dns-domain.h. The library libsystemd should be independent
of source files under src/shared.
Yu Watanabe [Thu, 31 Dec 2020 23:48:52 +0000 (08:48 +0900)]
util: move unit-file.[ch] to src/basic
As basic/path-lookup.[ch] depend on them.
Yu Watanabe [Thu, 31 Dec 2020 23:46:06 +0000 (08:46 +0900)]
util: move parse_syscall_and_errno() to seccomp-util.c
This makes parse-util.c independent of seccomp-util.c, which is located
in src/shared.
Yu Watanabe [Thu, 31 Dec 2020 22:28:58 +0000 (07:28 +0900)]
fuzzers: move several fuzzers
Yu Watanabe [Thu, 31 Dec 2020 21:46:05 +0000 (06:46 +0900)]
meson: fix indentation
Yu Watanabe [Thu, 31 Dec 2020 21:29:03 +0000 (06:29 +0900)]
meson: make the second and third elements of tests or fuzzers optional
Then, we can shorten many test definitions.
Yu Watanabe [Thu, 31 Dec 2020 20:39:55 +0000 (05:39 +0900)]
test: move test-umount.c to src/shutdown
Then, we can drop src/shutdown from include directories later.
Yu Watanabe [Thu, 31 Dec 2020 20:38:06 +0000 (05:38 +0900)]
core: move several source files to src/shared
As, the files are used by many executables, fstab-generator, remount-fs,
machine-id-setup, and etc.
With this change, the total size of the relevant executables and
libshared slightly decreases.
Before:
```
$ ll systemd-fstab-generator systemd-remount-fs systemd-machine-id-setup systemd-shutdown systemd-nspawn systemd src/shared/libsystemd-shared-247.so
-rwxrwxr-x 1 watanabe watanabe
7577800 Jan 5 13:35 src/shared/libsystemd-shared-247.so
-rwxrwxr-x 1 watanabe watanabe
4608360 Jan 5 13:35 systemd
-rwxrwxr-x 1 watanabe watanabe 117240 Jan 5 13:35 systemd-fstab-generator
-rwxrwxr-x 1 watanabe watanabe 61576 Jan 5 13:35 systemd-machine-id-setup
-rwxrwxr-x 1 watanabe watanabe 853080 Jan 5 13:35 systemd-nspawn
-rwxrwxr-x 1 watanabe watanabe 70600 Jan 5 13:35 systemd-remount-fs
-rwxrwxr-x 1 watanabe watanabe 172624 Jan 5 13:35 systemd-shutdown
```
Total:
13461280
After:
```
$ ll systemd-fstab-generator systemd-remount-fs systemd-machine-id-setup systemd-shutdown systemd-nspawn systemd src/shared/libsystemd-shared-247.so
-rwxrwxr-x 1 watanabe watanabe
7658336 Jan 5 13:32 src/shared/libsystemd-shared-247.so
-rwxrwxr-x 1 watanabe watanabe
4523560 Jan 5 13:32 systemd
-rwxrwxr-x 1 watanabe watanabe 78288 Jan 5 13:32 systemd-fstab-generator
-rwxrwxr-x 1 watanabe watanabe 30984 Jan 5 13:32 systemd-machine-id-setup
-rwxrwxr-x 1 watanabe watanabe 840384 Jan 5 13:32 systemd-nspawn
-rwxrwxr-x 1 watanabe watanabe 39104 Jan 5 13:32 systemd-remount-fs
-rwxrwxr-x 1 watanabe watanabe 117160 Jan 5 13:32 systemd-shutdown
```
Total:
13287816
Yu Watanabe [Thu, 31 Dec 2020 20:22:23 +0000 (05:22 +0900)]
test: rewrite test-sd-device-thread.c to depend only on libsystemd
Similarly, this makes test-udev-device-thread.c depend only on libudev.
Yu Watanabe [Thu, 31 Dec 2020 20:17:49 +0000 (05:17 +0900)]
test: move tests for libudev into src/libudev
Yu Watanabe [Thu, 31 Dec 2020 20:10:09 +0000 (05:10 +0900)]
time-wait-sync: move time-wait-sync.c -> src/timesync/wait-sync.c
As wait-online is located under src/network.
Yu Watanabe [Thu, 31 Dec 2020 20:02:17 +0000 (05:02 +0900)]
xdg: move tests for xdg-autostart-generator
Then, we can drop src/xdg-autostart-generator from include directories
later.
Yu Watanabe [Thu, 31 Dec 2020 19:56:31 +0000 (04:56 +0900)]
meson.build: drop unused variable
Yu Watanabe [Thu, 31 Dec 2020 19:56:02 +0000 (04:56 +0900)]
test: move test-systemd-tmpfiles.py from src/test to test
As the other test scripts, e.g. test-sysusers.sh, are located under
test rather than src/test.
Yu Watanabe [Thu, 31 Dec 2020 19:48:44 +0000 (04:48 +0900)]
login: move src/login/logind-acl.[ch] -> src/shared/devnode-acl.[ch]
The files are used by logind and udevd. And the functions in the files
are not specific to logind, and quite general enough to move to
libshared.
Yu Watanabe [Thu, 31 Dec 2020 19:37:10 +0000 (04:37 +0900)]
tmpfiles: move offline-passwd.[ch] to src/tmpfiles
offline-passwd.[ch] are only used by systemd-tmpfiles and the relevant
test. And are not included in libshared. So, it is not suitable to
located under src/shared.
Yu Watanabe [Thu, 31 Dec 2020 19:30:47 +0000 (04:30 +0900)]
sd-journal: move source files for sd-journal to src/libsystemd/sd-journal
Yu Watanabe [Mon, 18 Jan 2021 19:40:26 +0000 (04:40 +0900)]
analyze: resolve executable path if it is relative
Fixes #18252.
Yu Watanabe [Mon, 18 Jan 2021 21:33:08 +0000 (06:33 +0900)]
path-util: also check absolute path is a directory or not in find_executable()
Luca Boccassi [Mon, 18 Jan 2021 21:22:57 +0000 (21:22 +0000)]
Merge pull request #17228 from bluca/bind_path_runtime
core: add systemctl and DBUS method to bind mount new paths without service restart
Lucas Werkmeister [Mon, 18 Jan 2021 20:58:28 +0000 (21:58 +0100)]
man: document effects of concurrent truncation
Co-authored-by: Lennart Poettering <lennart@poettering.net>
Susant Sahani [Mon, 18 Jan 2021 18:15:44 +0000 (19:15 +0100)]
import: use - hashmap_ensure_put
Susant Sahani [Mon, 18 Jan 2021 18:13:33 +0000 (19:13 +0100)]
core: execute - use hashmap_ensure_put
Susant Sahani [Mon, 18 Jan 2021 18:10:57 +0000 (19:10 +0100)]
core: dbus - use set_ensure_put
Susant Sahani [Mon, 18 Jan 2021 17:33:40 +0000 (18:33 +0100)]
network: sd-dhcp6-client - use ordered_hashmap_ensure_put
Susant Sahani [Mon, 18 Jan 2021 17:24:56 +0000 (18:24 +0100)]
share: bus-unit-procs - use hashmap_ensure_put
Susant Sahani [Mon, 18 Jan 2021 18:05:05 +0000 (19:05 +0100)]
resolve: link - use hashmap_ensure_put
Susant Sahani [Mon, 18 Jan 2021 20:38:46 +0000 (21:38 +0100)]
remount-fs: Use hashmap_ensure_put
Susant Sahani [Mon, 18 Jan 2021 20:52:58 +0000 (21:52 +0100)]
core: transaction - use hashmap_ensure_put
Zbigniew Jędrzejewski-Szmek [Sun, 17 Jan 2021 18:51:28 +0000 (19:51 +0100)]
resolved: fix use-after-free with queries hitting the cache
When dns_transaction_complete() manages to resolve a query, it invalidates the
query candidate object. It shall not be accessed afterwards.
We have the following chain of calls:
dns_query_candidate_go → dns_transaction_go → dns_transaction_prepare → dns_cache_lookup (success: 1)
→ dns_transaction_complete
After returning back to dns_query_candidate_go(), we'd attempt to continue
iteration over the list of transactions attached to the query candidate,
accessing already freed (and overwritten) memory:
(gdb) bt
0 0x00007f637297cf47 in hashmap_iterate_entry (i=0x7ffe7e15cc90, h=0x706f746b73656465) at ../src/basic/hashmap.c:703
1 _hashmap_iterate (h=0x706f746b73656465, i=i@entry=0x7ffe7e15cc90, value=value@entry=0x7ffe7e15cc88,
key=key@entry=0x0) at ../src/basic/hashmap.c:712
2 0x00007f637297d01b in set_iterate (s=<optimized out>, i=i@entry=0x7ffe7e15cc90, value=value@entry=0x7ffe7e15cc88)
at ../src/basic/hashmap.c:733
hence we crash
3 0x0000557bc99eb80f in dns_query_candidate_go (c=c@entry=0x557bcaf86890) at ../src/resolve/resolved-dns-query.c:139
...but c is not valid here in the second iteration of the loop
4 0x0000557bc99eb720 in dns_query_candidate_notify (c=0x557bcaf86890) at ../src/resolve/resolved-dns-query.c:271
c was valid here at entry...
5 0x0000557bc99efe28 in dns_transaction_complete (t=0x557bcac072f0, state=<optimized out>)
at ../src/resolve/resolved-dns-transaction.c:350
t is a valid transaction (11481 in the backtrace below)
6 0x0000557bc99f1efb in dns_transaction_process_reply (t=0x557bcac072f0, p=<optimized out>)
at ../src/resolve/resolved-dns-transaction.c:1171
7 0x0000557bc99f2d41 in on_dns_packet (s=<optimized out>, fd=<optimized out>, revents=<optimized out>,
userdata=0x557bcac072f0) at ../src/resolve/resolved-dns-transaction.c:1223
8 0x00007f6372a25217 in source_dispatch (s=s@entry=0x557bcb162c50) at ../src/libsystemd/sd-event/sd-event.c:3181
9 0x00007f6372a254fd in sd_event_dispatch (e=0x557bcb15b050) at ../src/libsystemd/sd-event/sd-event.c:3620
10 0x00007f6372a267c8 in sd_event_run (e=e@entry=0x557bcb15b050, timeout=timeout@entry=
18446744073709551615)
at ../src/libsystemd/sd-event/sd-event.c:3678
11 0x00007f6372a269ef in sd_event_loop (e=0x557bcb15b050) at ../src/libsystemd/sd-event/sd-event.c:3700
12 0x0000557bc99ddc14 in run (argc=<optimized out>, argv=<optimized out>) at ../src/resolve/resolved.c:92
13 0x0000557bc99d260a in main (argc=<optimized out>, argv=<optimized out>) at ../src/resolve/resolved.c:99
xxx.name.net systemd-resolved[31705]: Got message type=method_call sender=:1.3644 destination=org.freedesktop.resolve1 path=/org/freedesktop/resolve1 interface=org.freedesktop.resolve1.Manager member=ResolveHostname cookie=2 reply_cookie=0 signature=isit error-name=n/a error-message=n/a
xxx.name.net systemd-resolved[31705]: idn2_lookup_u8: xxx → xxx
xxx.name.net systemd-resolved[31705]: Looking up RR for xxx IN A.
xxx.name.net systemd-resolved[31705]: Sent message type=method_call sender=n/a destination=org.freedesktop.DBus path=/org/freedesktop/DBus interface=org.freedesktop.DBus member=AddMatch cookie=1102 reply_cookie=0 signature=s error-name=n/a error-message=n/a
xxx.name.net systemd-resolved[31705]: Sent message type=method_call sender=n/a destination=org.freedesktop.DBus path=/org/freedesktop/DBus interface=org.freedesktop.DBus member=GetNameOwner cookie=1103 reply_cookie=0 signature=s error-name=n/a error-message=n/a
xxx.name.net systemd-resolved[31705]: Got message type=method_return sender=org.freedesktop.DBus destination=:1.3324 path=n/a interface=n/a member=n/a cookie=
4294967295 reply_cookie=1103 signature=s error-name=n/a error-message=n/a
xxx.name.net systemd-resolved[31705]: Cache miss for xxx.name.net IN A
xxx.name.net systemd-resolved[31705]: Transaction 11481 for <xxx.name.net IN A> scope dns on enp42s0/*.
xxx.name.net systemd-resolved[31705]: Using feature level UDP for transaction 11481.
xxx.name.net systemd-resolved[31705]: Using DNS server 192.168.1.1 for transaction 11481.
xxx.name.net systemd-resolved[31705]: Sending query packet with id 11481 of size 35.
xxx.name.net systemd-resolved[31705]: Got message type=method_return sender=org.freedesktop.DBus destination=:1.3324 path=n/a interface=n/a member=n/a cookie=
4294967295 reply_cookie=1102 signature= error-name=n/a error-message=n/a
xxx.name.net systemd-resolved[31705]: Match type='signal',sender='org.freedesktop.DBus',path='/org/freedesktop/DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',arg0=':1.3644' successfully installed.
xxx.name.net systemd-resolved[31705]: Processing incoming packet on transaction 11481 (rcode=NXDOMAIN).
xxx.name.net systemd-resolved[31705]: Not caching negative entry without a SOA record: xxx.name.net IN A
xxx.name.net systemd-resolved[31705]: Transaction 11481 for <xxx.name.net IN A> on scope dns on enp42s0/* now complete with <rcode-failure> from network (unsigned).
xxx.name.net systemd-resolved[31705]: Positive cache hit for xxx.lan IN A
xxx.name.net systemd-resolved[31705]: Transaction 64364 for <xxx.lan IN A> on scope dns on enp42s0/* now complete with <success> from cache (unsigned).
xxx.name.net systemd-resolved[31705]: Sent message type=method_return sender=n/a destination=:1.3644 path=n/a interface=n/a member=n/a cookie=1104 reply_cookie=2 signature=a(iiay)st error-name=n/a error-message=n/a
xxx.name.net systemd-resolved[31705]: Sent message type=method_call sender=n/a destination=org.freedesktop.DBus path=/org/freedesktop/DBus interface=org.freedesktop.DBus member=RemoveMatch cookie=1105 reply_cookie=0 signature=s error-name=n/a error-message=n/a
xxx.name.net systemd-resolved[31705]: Freeing transaction 64364.
xxx.name.net systemd[1]: systemd-resolved.service: Main process exited, code=dumped, status=11/SEGV
xxx.name.net systemd[1]: systemd-resolved.service: Failed with result 'core-dump'.
Fixes #16168, https://bugzilla.redhat.com/show_bug.cgi?id=
1895937.
Susant Sahani [Mon, 18 Jan 2021 20:37:39 +0000 (21:37 +0100)]
sysusers: use ordered_hashmap_ensure_put
Susant Sahani [Mon, 18 Jan 2021 13:05:35 +0000 (14:05 +0100)]
sd-netlink: use hashmap_ensure_put
Susant Sahani [Mon, 18 Jan 2021 12:17:20 +0000 (13:17 +0100)]
varlink: use hashmap_ensure_put
Susant Sahani [Mon, 18 Jan 2021 12:10:18 +0000 (13:10 +0100)]
network: wait-online - add a assert
Susant Sahani [Mon, 18 Jan 2021 12:09:23 +0000 (13:09 +0100)]
network: wait-online - use hashmap_ensure_put
Susant Sahani [Mon, 18 Jan 2021 20:34:46 +0000 (21:34 +0100)]
network: radv - use hashmap_ensure_put
Susant Sahani [Mon, 18 Jan 2021 10:23:38 +0000 (11:23 +0100)]
install: use ordered_hashmap_ensure_put
Susant Sahani [Mon, 18 Jan 2021 20:11:31 +0000 (21:11 +0100)]
network: Use TAKE_PTR
Susant Sahani [Mon, 18 Jan 2021 20:11:01 +0000 (21:11 +0100)]
network: network -- use ordered_hashmap_ensure_put
Susant Sahani [Mon, 18 Jan 2021 20:09:27 +0000 (21:09 +0100)]
network: address - use ordered_hashmap_ensure_put
Lennart Poettering [Mon, 18 Jan 2021 20:05:32 +0000 (21:05 +0100)]
update TODO
Susant Sahani [Mon, 18 Jan 2021 19:16:50 +0000 (20:16 +0100)]
network: macsec - use ordered_hashmap_ensure_put
Luca Boccassi [Thu, 14 Jan 2021 22:11:14 +0000 (22:11 +0000)]
test: run strace with -f and copy log out
Luca Boccassi [Thu, 14 Jan 2021 16:48:13 +0000 (16:48 +0000)]
test: skip missing optional libraries in image install
Not all optional libraries might be available on developers machines,
so log and skip.
Also some pkg-config files are broken (eg: tss2 on Debian Stable) so
skip if the required variables are missing, and improve logs.
Luca Boccassi [Thu, 30 Jul 2020 18:37:10 +0000 (19:37 +0100)]
core: add DBUS method to bind mount new nodes without service restart
Allow to setup new bind mounts for a service at runtime (via either
DBUS or a new 'systemctl bind' verb) with a new helper that forks into
the unit's mount namespace.
Add a new integration test to cover this.
Useful for zero-downtime addition to services that are running inside
mount namespaces, especially when using RootImage/RootDirectory.
If a service runs with a read-only root, a tmpfs is added on /run
to ensure we can create the airlock directory for incoming mounts
under /run/host/incoming.
Luca Boccassi [Fri, 18 Dec 2020 16:16:46 +0000 (16:16 +0000)]
MountAPIVFS: always mount a tmpfs on /run
We need a writable /run for most operations, but in case a read-only
RootImage (or similar) is used, by default there's no additional
tmpfs mount on /run. Change this behaviour and document it.
Luca Boccassi [Fri, 15 Jan 2021 15:50:45 +0000 (15:50 +0000)]
machine: use file descriptor when chasing bind mount sources
Allows to always operate on pinned inodes, rather than paths, so that
races are less likely
Luca Boccassi [Wed, 13 Jan 2021 23:52:00 +0000 (23:52 +0000)]
machine: enter target PID namespace when adding a live mount
machinectl fails since
21935150a0c42b91a322105f6a9129116bfc8e2e as it's now
mounting onto a file descriptor in a target namespace, without joining the
target's PID namespace.
Note that it's not enough to setns CLONE_NEWPID, but a double-fork is required
as well, as implemented by namespace_fork().
Add a test case to TEST-13-NSPAWN to cover this use case.
Luca Boccassi [Thu, 13 Aug 2020 13:47:01 +0000 (14:47 +0100)]
shared/mount-util: use namespace_fork utils
Luca Boccassi [Tue, 15 Dec 2020 18:26:34 +0000 (18:26 +0000)]
machine: adjust error message to use 'normalized' instead of ../
Luca Boccassi [Thu, 13 Aug 2020 13:01:34 +0000 (14:01 +0100)]
machine/basic: factor out helper function to add airlocked mount to namespace
moson-mo [Mon, 18 Jan 2021 14:29:22 +0000 (15:29 +0100)]
hwdb: Add Logitech MX 518 Legendary mouse
Add Logitech MX 518 Legendary model to hwdb.
Zbigniew Jędrzejewski-Szmek [Mon, 18 Jan 2021 15:48:44 +0000 (16:48 +0100)]
Merge pull request #18289 from yuwata/core-load-fragment-cleanups
pid1: several cleanups for conf parsers
Susant Sahani [Mon, 18 Jan 2021 12:00:35 +0000 (13:00 +0100)]
network: bond - use ordered_set_ensure_put
Susant Sahani [Mon, 18 Jan 2021 11:16:34 +0000 (12:16 +0100)]
journal: context - use hashmap_ensure_put
Susant Sahani [Mon, 18 Jan 2021 11:13:51 +0000 (12:13 +0100)]
journal: context - Use _cleanup_free_
Yu Watanabe [Sun, 17 Jan 2021 15:44:14 +0000 (00:44 +0900)]
network: address-pool: also check conflicts with foreign addresses
Fixes CI issue found in
https://github.com/systemd/systemd-centos-ci/pull/334.
Jonathan McDowell [Sun, 17 Jan 2021 22:39:07 +0000 (22:39 +0000)]
hwdb: Add NEWYES 10" LCD writing tablet (#18274)