]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
3 years agotest-network: add test for bridge MDB entries on bridge master 17085/head
Yu Watanabe [Thu, 17 Sep 2020 05:32:03 +0000 (14:32 +0900)] 
test-network: add test for bridge MDB entries on bridge master

3 years agonetwork: old kernel may not support to configure bridge MDB entries on bridge master
Yu Watanabe [Thu, 17 Sep 2020 09:02:09 +0000 (18:02 +0900)] 
network: old kernel may not support to configure bridge MDB entries on bridge master

3 years agonetwork: allow to configure bridge MDB entries on bridge master
Yu Watanabe [Thu, 17 Sep 2020 05:09:17 +0000 (14:09 +0900)] 
network: allow to configure bridge MDB entries on bridge master

3 years agoudev: if a tablet has BTN_0, label it as ID_INPUT_TABLET_PAD
Peter Hutterer [Thu, 17 Sep 2020 03:06:19 +0000 (13:06 +1000)] 
udev: if a tablet has BTN_0, label it as ID_INPUT_TABLET_PAD

Graphics tablet devices comprise multiple event nodes, usually a Pen, Finger
and Pad node (that's how the kernel postfixes them). Pen and Pad are labeled
as ID_INPUT_TABLET but the pad doesn't actually send stylus events - it
doesn't usually have BTN_TOOL_PEN, merely BTN_STYLUS.

For the last several years, libwacom has set ID_INPUT_TABLET_PAD for all pad
devices known to it based on vid/pid and a "* Pad" name match. That does not
cover devices not in libwacom. libinput relies on ID_INPUT_TABLET_PAD to
initialize the pad backend.

We can't drop ID_INPUT_TABLET without breaking userspace, but we can add
ID_INPUT_TABLET_PAD ourselves - where a device has BTN_0 in addition to
BTN_STYLUS, let's add it as a pad.

There are some devices (notably: bamboos) that use BTN_LEFT instead of BTN_0
but they are relatively rare and there's a risk of mislabeling those devices,
so let's just stick with BTN_0 only.

3 years agoFix compilation without libcryptsetup (#17071)
masmullin2000 [Thu, 17 Sep 2020 07:07:03 +0000 (03:07 -0400)] 
Fix compilation without libcryptsetup (#17071)

3 years agoMerge pull request #17059 from yuwata/network-mdb-follow-ups
Yu Watanabe [Thu, 17 Sep 2020 04:52:44 +0000 (13:52 +0900)] 
Merge pull request #17059 from yuwata/network-mdb-follow-ups

network: follow ups for bridge MDB support

3 years agoMerge pull request #17080 from poettering/repart-umask-fix
Anita Zhang [Wed, 16 Sep 2020 23:58:19 +0000 (16:58 -0700)] 
Merge pull request #17080 from poettering/repart-umask-fix

repart: don't mark image files generated with --empty=create executable

3 years agoMerge pull request #17067 from keszybz/rc-local-path
Zbigniew Jędrzejewski-Szmek [Wed, 16 Sep 2020 20:59:53 +0000 (22:59 +0200)] 
Merge pull request #17067 from keszybz/rc-local-path

Expose the path to rc.local in the man page

3 years agorepart: don't mark image files generated with --empty=create executable 17080/head
Lennart Poettering [Wed, 16 Sep 2020 15:51:25 +0000 (17:51 +0200)] 
repart: don't mark image files generated with --empty=create executable

3 years agoMerge pull request #17076 from poettering/dissect-cleanup
Lennart Poettering [Wed, 16 Sep 2020 16:42:12 +0000 (18:42 +0200)] 
Merge pull request #17076 from poettering/dissect-cleanup

minor cleanups to the dissector code

3 years agotest-execute: kill Waldo and Quux
Topi Miettinen [Wed, 16 Sep 2020 11:09:55 +0000 (14:09 +0300)] 
test-execute: kill Waldo and Quux

Retire /var/lib{,/private}/{quux,waldo} after they have served their purpose.

3 years agotest-network: add test for [BridgeMDB] section 17059/head
Yu Watanabe [Tue, 15 Sep 2020 07:28:09 +0000 (16:28 +0900)] 
test-network: add test for [BridgeMDB] section

3 years agonetwork: add debug message for configuring MDB entries
Yu Watanabe [Tue, 15 Sep 2020 07:27:24 +0000 (16:27 +0900)] 
network: add debug message for configuring MDB entries

3 years agonetwork: configure bridge MDB entries after bridge has carrier
Yu Watanabe [Tue, 15 Sep 2020 07:20:36 +0000 (16:20 +0900)] 
network: configure bridge MDB entries after bridge has carrier

3 years agonetwork: drop [BridgeMDB] entries if Bridge= is not set
Yu Watanabe [Tue, 15 Sep 2020 07:07:45 +0000 (16:07 +0900)] 
network: drop [BridgeMDB] entries if Bridge= is not set

3 years agonetwork: check MulticastGroupAddress= is neither a local multicast address nor all...
Yu Watanabe [Tue, 15 Sep 2020 06:37:25 +0000 (15:37 +0900)] 
network: check MulticastGroupAddress= is neither a local multicast address nor all nodes address

3 years agoin-addr-util: introduce in4_addr_is_local_multicast()
Yu Watanabe [Tue, 15 Sep 2020 06:34:22 +0000 (15:34 +0900)] 
in-addr-util: introduce in4_addr_is_local_multicast()

3 years agoin-addr-util: introduce in6_addr_is_link_local_all_nodes()
Yu Watanabe [Tue, 15 Sep 2020 06:33:56 +0000 (15:33 +0900)] 
in-addr-util: introduce in6_addr_is_link_local_all_nodes()

3 years agonetwork: drop unnecessary headers
Yu Watanabe [Tue, 15 Sep 2020 07:40:34 +0000 (16:40 +0900)] 
network: drop unnecessary headers

3 years agonetwork: move functions in networkd-mdb.c
Yu Watanabe [Tue, 15 Sep 2020 07:34:23 +0000 (16:34 +0900)] 
network: move functions in networkd-mdb.c

3 years agoMerge pull request #17066 from keszybz/allow-loopback-addresses
Yu Watanabe [Wed, 16 Sep 2020 15:02:08 +0000 (00:02 +0900)] 
Merge pull request #17066 from keszybz/allow-loopback-addresses

Allow loopback addresses

3 years agoMerge pull request #16675 from topimiettinen/exec-syscall-error-action
Lennart Poettering [Wed, 16 Sep 2020 15:01:44 +0000 (17:01 +0200)] 
Merge pull request #16675 from topimiettinen/exec-syscall-error-action

SystemCallFilter, SystemCallErrorAction error actions kill and log

3 years agoman: reorder autogenerated dbus api lists
Zbigniew Jędrzejewski-Szmek [Wed, 16 Sep 2020 08:01:13 +0000 (10:01 +0200)] 
man: reorder autogenerated dbus api lists

3e5f04bf6468fcb79c080f02b0eab08f258bff0c was trying to do the right thing, but
the resulting list does not match the autogenerated order (which is the same as
the order in vtable definition). I assume the addition was done manually. Fix
the order so that dbus-docs-fresh test is not unhappy.

3 years agogpt: move GPT_LINUX_GENERIC definition next to the user GPT partition types 17076/head
Lennart Poettering [Wed, 16 Sep 2020 14:31:00 +0000 (16:31 +0200)] 
gpt: move GPT_LINUX_GENERIC definition next to the user GPT partition types

No code changes, just some reordering.

3 years agodissect: introduce PartitionDesignator as real type
Lennart Poettering [Tue, 15 Sep 2020 16:02:28 +0000 (18:02 +0200)] 
dissect: introduce PartitionDesignator as real type

3 years agodissect: rename mount_options_from_part() → mount_options_from_designator()
Lennart Poettering [Tue, 15 Sep 2020 16:02:28 +0000 (18:02 +0200)] 
dissect: rename mount_options_from_part() → mount_options_from_designator()

After all, it actually takes a designator argument, not a partition
index or so.

3 years agoman: substitute path to rc.local in the man page 17067/head
Zbigniew Jędrzejewski-Szmek [Tue, 15 Sep 2020 15:56:32 +0000 (17:56 +0200)] 
man: substitute path to rc.local in the man page

Different systems use different paths for it and users are confused when the
man page has a path different than the one on the local system.

https://bugzilla.redhat.com/show_bug.cgi?id=1876905

3 years agotest: remove test-dissect-image
Lennart Poettering [Tue, 15 Sep 2020 15:53:32 +0000 (17:53 +0200)] 
test: remove test-dissect-image

It does pretty much exactly what systemd-dissect does and is a manual
test, hence let's remove it as redundant code.

3 years agomeson: RC_LOCAL_SCRIPT_PATH_START to RC_LOCAL_PATH
Zbigniew Jędrzejewski-Szmek [Tue, 15 Sep 2020 15:44:26 +0000 (17:44 +0200)] 
meson: RC_LOCAL_SCRIPT_PATH_START to RC_LOCAL_PATH

RC_LOCAL_SCRIPT_PATH_START and RC_LOCAL_SCRIPT_PATH_STOP were was originally
added in the conversion to meson based on the autotools name. In
44508946534eee032927c263b79464832656dd6e RC_LOCAL_SCRIPT_PATH_STOP was dropped.
We don't need to use such a long name.

3 years agosocket-proxy: allow localhost addresses 17066/head
Zbigniew Jędrzejewski-Szmek [Tue, 15 Sep 2020 12:52:47 +0000 (14:52 +0200)] 
socket-proxy: allow localhost addresses

With this change, only manager_connect() in timesync.d uses AI_ADDRCONFIG. There
we are connecting to a remove server, so the flag is appropriate.

3 years agosd-bus: allow localhost addresses
Zbigniew Jędrzejewski-Szmek [Tue, 15 Sep 2020 12:49:36 +0000 (14:49 +0200)] 
sd-bus: allow localhost addresses

By settings AI_ADDRCONFIG in hints we cannot for example resolve "localhost"
when the local machine only has a loopback interface. This seems like an
unnecessary restriction, drop it.

Inspired by https://bugzilla.redhat.com/show_bug.cgi?id=1839007.

3 years agofstab-generator: add 'nofail' when NFS 'bg' option is used
Franck Bui [Tue, 15 Sep 2020 09:49:09 +0000 (11:49 +0200)] 
fstab-generator: add 'nofail' when  NFS 'bg' option is used

Otherwise a 'Before=remote-fs.target' dependency is added to the mount unit
which defeats the purpose of 'bg' option.

3 years agotests: try to allocate a delegated scope unit for our cgroup tests
Lennart Poettering [Mon, 14 Sep 2020 16:18:27 +0000 (18:18 +0200)] 
tests: try to allocate a delegated scope unit for our cgroup tests

Prompted-by: #16632
3 years agoexec: SystemCallLog= directive 16675/head
Topi Miettinen [Sun, 30 Aug 2020 18:56:13 +0000 (21:56 +0300)] 
exec: SystemCallLog= directive

With new directive SystemCallLog= it's possible to list system calls to be
logged. This can be used for auditing or temporarily when constructing system
call filters.

---
v5: drop intermediary, update HASHMAP_FOREACH_KEY() use
v4: skip useless debug messages, actually parse directive
v3: don't declare unused variables with old libseccomp
v2: fix build without seccomp or old libseccomp

3 years agoexec: Add kill action to system call filters
Topi Miettinen [Wed, 5 Aug 2020 13:31:26 +0000 (16:31 +0300)] 
exec: Add kill action to system call filters

Define explicit action "kill" for SystemCallErrorNumber=.

In addition to errno code, allow specifying "kill" as action for
SystemCallFilter=.

---
v7: seccomp_parse_errno_or_action() returns -EINVAL if !HAVE_SECCOMP
v6: use streq_ptr(), let errno_to_name() handle bad values, kill processes,
 init syscall_errno
v5: actually use seccomp_errno_or_action_to_string(), don't fail bus unit
parsing without seccomp
v4: fix build without seccomp
v3: drop log action
v2: action -> number

3 years agobusctl: add missing shortopt -l
Juergen Hoetzel [Tue, 15 Sep 2020 06:09:51 +0000 (08:09 +0200)] 
busctl: add missing shortopt -l

3 years agocore: use strv_free_and_replace() at one more place
Yu Watanabe [Sat, 15 Aug 2020 09:26:23 +0000 (18:26 +0900)] 
core: use strv_free_and_replace() at one more place

3 years agoMerge pull request #16998 from zonque/networkd/mdb
Yu Watanabe [Tue, 15 Sep 2020 07:30:39 +0000 (16:30 +0900)] 
Merge pull request #16998 from zonque/networkd/mdb

network: add support for setting MDB entries

3 years agosocket-util: reset length argument for second getsockopt call in fd_[gs]et_rcvbuf
Christian Göttsche [Mon, 14 Sep 2020 17:40:42 +0000 (19:40 +0200)] 
socket-util: reset length argument for second getsockopt call in fd_[gs]et_rcvbuf

In case the first getsockopt() call changes the value.

3 years agoMerge pull request #16976 from keszybz/systemctl-service-log-levels
Yu Watanabe [Tue, 15 Sep 2020 00:34:07 +0000 (09:34 +0900)] 
Merge pull request #16976 from keszybz/systemctl-service-log-levels

systemctl: add service-log-{level,target} verbs

3 years agoMerge pull request #17055 from keszybz/two-coverity-fixes
Yu Watanabe [Tue, 15 Sep 2020 00:22:39 +0000 (09:22 +0900)] 
Merge pull request #17055 from keszybz/two-coverity-fixes

Two coverity fixes

3 years agoMerge pull request #17049 from mrc0mmand/code-and-spell-check
Lennart Poettering [Mon, 14 Sep 2020 21:00:02 +0000 (23:00 +0200)] 
Merge pull request #17049 from mrc0mmand/code-and-spell-check

tree-wide: assorted cleanups/fixes

3 years agobasic/copy: vodify unlinkat() call 17055/head
Zbigniew Jędrzejewski-Szmek [Mon, 14 Sep 2020 20:34:43 +0000 (22:34 +0200)] 
basic/copy: vodify unlinkat() call

Not much we can do at this point.

Coverity CID#1432670.

3 years agotest: use pclose() for popen()
Zbigniew Jędrzejewski-Szmek [Mon, 14 Sep 2020 20:32:52 +0000 (22:32 +0200)] 
test: use pclose() for popen()

Coverity CID#1432701.

3 years agosystemctl: give a nice hint about org.freedesktop.LogControl1 when applicable 16976/head
Zbigniew Jędrzejewski-Szmek [Fri, 11 Sep 2020 14:00:22 +0000 (16:00 +0200)] 
systemctl: give a nice hint about org.freedesktop.LogControl1 when applicable

3 years agoMerge pull request #17031 from poettering/path-start-limit
Zbigniew Jędrzejewski-Szmek [Mon, 14 Sep 2020 19:51:39 +0000 (21:51 +0200)] 
Merge pull request #17031 from poettering/path-start-limit

core: propagate start limit hit from triggered unit to path unit

3 years agoMerge pull request #17039 from poettering/dbus-default-dep
Zbigniew Jędrzejewski-Szmek [Mon, 14 Sep 2020 19:45:53 +0000 (21:45 +0200)] 
Merge pull request #17039 from poettering/dbus-default-dep

tweak when we synthesize dbus deps for service units

3 years agoman: rework UMask= explanation
Lennart Poettering [Mon, 14 Sep 2020 09:03:59 +0000 (11:03 +0200)] 
man: rework UMask= explanation

Mention the JSON user record stuff. Mention pam_umask explicitly.
Mention that UMask= of the per-user user@.service instance can be used
too.

Fixes: #16963
3 years agotree-wide: don't needlessly negate error number passed to bus_error_message()
Lennart Poettering [Mon, 14 Sep 2020 16:16:54 +0000 (18:16 +0200)] 
tree-wide: don't needlessly negate error number passed to bus_error_message()

Like it's customary in our codebase bus_error_message() internally takes
abs() of the passed error anyway, hence no need to explicitly negate it.
We mostly got this right, but in too many cases we didn't. Fix that.

3 years agobootctl: handle if LoaderSystemToken is invalid for some reason
Lennart Poettering [Mon, 14 Sep 2020 10:35:19 +0000 (12:35 +0200)] 
bootctl: handle if LoaderSystemToken is invalid for some reason

This points to some firmware issue, but we should still be able to
correct things if this happens. Hence log about this and fix it.

Fixes: #17041
3 years agoMerge pull request #17027 from poettering/env-escape-fix
Lennart Poettering [Mon, 14 Sep 2020 14:48:00 +0000 (16:48 +0200)] 
Merge pull request #17027 from poettering/env-escape-fix

make sure we our env file writer, parser and shell agree on things

3 years agoshared: drop a redundant if statement 17049/head
Frantisek Sumsal [Mon, 14 Sep 2020 14:18:18 +0000 (16:18 +0200)] 
shared: drop a redundant if statement

3 years agolibsystemd: drop a redundant if statement
Frantisek Sumsal [Mon, 14 Sep 2020 14:18:02 +0000 (16:18 +0200)] 
libsystemd: drop a redundant if statement

3 years agohome: return SYNTHETIC_ERRNO() when appropriate
Frantisek Sumsal [Mon, 14 Sep 2020 14:16:59 +0000 (16:16 +0200)] 
home: return SYNTHETIC_ERRNO() when appropriate

3 years agobasic: drop a redundant if statement
Frantisek Sumsal [Mon, 14 Sep 2020 14:16:18 +0000 (16:16 +0200)] 
basic: drop a redundant if statement

3 years agocore: consolidate alloc & put operations into one statement
Frantisek Sumsal [Mon, 14 Sep 2020 14:13:44 +0000 (16:13 +0200)] 
core: consolidate alloc & put operations into one statement

3 years agotree-wide: fix typos found by codespell
Frantisek Sumsal [Mon, 14 Sep 2020 13:32:37 +0000 (15:32 +0200)] 
tree-wide: fix typos found by codespell

Reported by Fossies.org

3 years agounit-def: drop pointless 0 initialization of first enum value 17031/head
Lennart Poettering [Mon, 14 Sep 2020 10:59:38 +0000 (12:59 +0200)] 
unit-def: drop pointless 0 initialization of first enum value

This is implied in C and we generally don't bother with this, so don't
bother with this here either.

3 years agocore: propagate unit start limit hit state to triggering path unit
Lennart Poettering [Fri, 11 Sep 2020 17:57:09 +0000 (19:57 +0200)] 
core: propagate unit start limit hit state to triggering path unit

We already do this for socket and automount units, do it for path units
too: if the triggered service keeps hitting the start limit, then fail
the triggering unit too, so that we don#t busy loop forever.

(Note that this leaves only timer units out in the cold for this kind of
protection, but it shouldn't matter there, as they are naturally
protected against busy loops: they are scheduled by time anyway).

Fixes: #16669
3 years agocore: propagate triggered unit in more load states
Lennart Poettering [Fri, 11 Sep 2020 17:49:33 +0000 (19:49 +0200)] 
core: propagate triggered unit in more load states

In 4c2ef3276735ad9f7fccf33f5bdcbe7d8751e7ec we enabled propagating
triggered unit state to the triggering unit for service units in more
load states, so that we don't accidentally stop tracking state
correctly.

Do the same for our other triggering unit states: automounts, paths, and
timers.

Also, make this an assertion rather than a simple test. After all it
should never happen that we get called for half-loaded units or units of
the wrong type. The load routines should already have made this
impossible.

3 years agotest-fileio: test test strings with shell, too 17027/head
Lennart Poettering [Fri, 11 Sep 2020 15:43:05 +0000 (17:43 +0200)] 
test-fileio: test test strings with shell, too

3 years agotest-env-file: add test that tests our env file read + writer + shell against each...
Lennart Poettering [Fri, 11 Sep 2020 13:18:07 +0000 (15:18 +0200)] 
test-env-file: add test that tests our env file read + writer + shell against each other

Should hopefully make regressions on this unlikely.

3 years agoenv-file: bring our decoding of double-quoted strings in env files in line with shell
Lennart Poettering [Fri, 11 Sep 2020 13:14:03 +0000 (15:14 +0200)] 
env-file: bring our decoding of double-quoted strings in env files in line with shell

In shell, inside of double quotes only a select few chars should be
escaped. If other chars are escaped this has no effect. Correct the list
of chars that need such escaping.

Also, make sure we can read back the stuff we wrote out without loss.

Fixes: #16788
3 years agotest-fileio: use test strings that are actually valid in shell
Lennart Poettering [Fri, 11 Sep 2020 15:42:46 +0000 (17:42 +0200)] 
test-fileio: use test strings that are actually valid in shell

3 years agoservice: add implicit dbus deps only for Type=dbus units 17039/head
Lennart Poettering [Sat, 12 Sep 2020 13:53:24 +0000 (15:53 +0200)] 
service: add implicit dbus deps only for Type=dbus units

We want to be able to use BusName= in services that run during early boot
already, and thus don't synthesize deps on dbus there. Instead add them
when Type=dbus is set, because in that case we actually really need
D-Bus support.

Fixes: #17037
3 years agocore: don't warn if BusName= is used for non-Type=dbus services
Lennart Poettering [Sat, 12 Sep 2020 13:52:02 +0000 (15:52 +0200)] 
core: don't warn if BusName= is used for non-Type=dbus services

It's useful for more than just Type=dbus now, given #16976. Hence, let's
drop the warning.

3 years agoman: document that RemainAfterElapse=no means that also the triggered unit needs...
Lennart Poettering [Thu, 10 Sep 2020 17:08:45 +0000 (19:08 +0200)] 
man: document that RemainAfterElapse=no means that also the triggered unit needs to deactivate

Fixes: #16378
3 years agosystemctl: immediately reject invalid log levels
Zbigniew Jędrzejewski-Szmek [Fri, 11 Sep 2020 13:42:23 +0000 (15:42 +0200)] 
systemctl: immediately reject invalid log levels

Symbolic names and number in the appropriate range are allowed
(log_level_from_string() DTRT already).

The target names are more messy, so we leave the verification to the service.

3 years agosystemctl: merge log_target(), log_level(), service_log_setting()
Zbigniew Jędrzejewski-Szmek [Fri, 11 Sep 2020 12:47:44 +0000 (14:47 +0200)] 
systemctl: merge log_target(), log_level(), service_log_setting()

3 years agosystemctl: add service-log-{level,target} verbs
Zbigniew Jędrzejewski-Szmek [Mon, 7 Sep 2020 19:25:24 +0000 (21:25 +0200)] 
systemctl: add service-log-{level,target} verbs

Heavily inspired by #15622. This adds:
  systemctl service-log-level systemd-resolved
  systemctl service-log-level systemd-resolved info
  systemctl service-log-target systemd-resolved
  systemctl service-log-target systemd-resolved console

We already have systemctl verbs log-level, log-target, and service-watchdogs.
Those two new verbs tie nicely into this scheme.

3 years agoMerge pull request #17009 from poettering/rootprefix-noslash
Zbigniew Jędrzejewski-Szmek [Sat, 12 Sep 2020 08:07:40 +0000 (10:07 +0200)] 
Merge pull request #17009 from poettering/rootprefix-noslash

remove duplicate slashes in systemd-path output if rootprefixdir is "/"

3 years agohashmap: make sure to initialize shared hash key atomically
Lennart Poettering [Fri, 11 Sep 2020 22:09:07 +0000 (00:09 +0200)] 
hashmap: make sure to initialize shared hash key atomically

if we allocate a bunch of hash tables all at the same time, with none
earlier than the other, there's a good chance we'll initialize the
shared hash key multiple times, so that some threads will see a
different shared hash key than others.

Let's fix that, and make sure really everyone sees the same hash key.

Fixes: #17007
3 years agosocket: downgrade log warnings about inability to set socket buffer sizes
Lennart Poettering [Fri, 11 Sep 2020 17:58:54 +0000 (19:58 +0200)] 
socket: downgrade log warnings about inability to set socket buffer sizes

In containers we might lack the privs to up the socket buffers. Let's
not complain so loudly about that. Let's hence downgrade this to debug
logging if it's a permission problem.

(This wasn't an issue before b92f350789e33942be0cf85af22a580c1fd483d6
because back then the failures wouldn't be detected at all.)

3 years agotest-acl-util: skip test if /tmp doesn't do ACLs
Lennart Poettering [Fri, 11 Sep 2020 20:25:25 +0000 (22:25 +0200)] 
test-acl-util: skip test if /tmp doesn't do ACLs

Fixes: #17013
3 years agomkosi: include libfido2 in fedora mkosi image
Lennart Poettering [Fri, 11 Sep 2020 17:48:53 +0000 (19:48 +0200)] 
mkosi: include libfido2 in fedora mkosi image

We want to build this image with as many deps turned on as we can make
happen, hence include libfido2 in the image.

3 years agoMerge pull request #17028 from poettering/logind-replace-job
Lennart Poettering [Fri, 11 Sep 2020 20:17:41 +0000 (22:17 +0200)] 
Merge pull request #17028 from poettering/logind-replace-job

logind: make TerminateSession() count

3 years agonetwork: do not add prefix to RA if radv is not configured
Yu Watanabe [Fri, 11 Sep 2020 09:39:16 +0000 (18:39 +0900)] 
network: do not add prefix to RA if radv is not configured

Fixes #17017.

3 years agocryptsetup: generate the unit to umount keydev filesystem
Michal Sekletár [Wed, 9 Sep 2020 12:00:42 +0000 (14:00 +0200)] 
cryptsetup: generate the unit to umount keydev filesystem

Previously we would call umount from ExecStartPost= of
systemd-cryptsetup instance in order to get rid of the keydev
mount (i.e. filesystem containing keyfile). Let's generate unit to
handle umount. Making this symmetrical (both mount and umount of keydev
are handled by units) fixes the problem with lingering keydev mounts.

Motivation for the change is the issue where keydev mount would stay
around even if device was successfully unlocked and mount is no longer
needed. That could happen previously because when generator options are
not prefixed with "rd." we run generators twice (e.g. rd.luks.key=...).

In such case disk is unlocked in initramfs phase of boot (assuming the
initrd image contains the generator and is able to handle unlocking of
LUKS devices). After switchroot we however enqueue start job for
systemd-cryptsetup instance (because units are regenerated second time)
and that pulls in its dependencies into transaction. Later the main
systemd-cryptsetup unit not actually started since it is already active
and has RemainaAfterExit=yes. Nevertheless, dependencies get activated
and keydev mount is attached again. Because previously we called umount
from ExecStartPost= of systemd-cryptsetup instance the umount is not
called second time and keydev filesystem stays lingering.

3 years agologind: make sure when we are explicitly asked to terminate session/user/seat to... 17028/head
Lennart Poettering [Fri, 11 Sep 2020 16:06:59 +0000 (18:06 +0200)] 
logind: make sure when we are explicitly asked to terminate session/user/seat to use "replace" job mode

Otherwise our request will possibly fail if something else is already
enqeued, but given this is an explicit user request, let's not allow
things to fail.

Fixes: #16702
3 years agologind: clarify what the second argument of session_stop() means when calling it
Lennart Poettering [Fri, 11 Sep 2020 15:59:39 +0000 (17:59 +0200)] 
logind: clarify what the second argument of session_stop() means when calling it

3 years agologind: minor simplification
Lennart Poettering [Fri, 11 Sep 2020 16:02:07 +0000 (18:02 +0200)] 
logind: minor simplification

3 years agoman: document the random delay of persistent timers
Nazar Vinnichuk [Fri, 11 Sep 2020 10:38:53 +0000 (13:38 +0300)] 
man: document the random delay of persistent timers

The manual states that a persistent timer triggers it's service
immediately on activation to catch up with missed invocations, but since
PR #11608 it is no longer the case if RandomizedDelaySec= is set to a
non-zero value.

3 years agotest-network: add test for ENOBUFS issue #17012
Yu Watanabe [Fri, 11 Sep 2020 04:57:07 +0000 (13:57 +0900)] 
test-network: add test for ENOBUFS issue #17012

The issue seems already fixed by PR #16982 and its follow-up commit
4934ba2121d76229659939e19ab7d70a89446629.

3 years agounit: declare BusName= in all our units that are on the bus, event if they don't...
Lennart Poettering [Fri, 11 Sep 2020 08:56:06 +0000 (10:56 +0200)] 
unit: declare BusName= in all our units that are on the bus, event if they don't use Type=dbus

This information is always useful, so let's always declare it,
particular in the light of #16976.

3 years agoMerge pull request #17020 from yuwata/backlight
Lennart Poettering [Fri, 11 Sep 2020 12:23:47 +0000 (14:23 +0200)] 
Merge pull request #17020 from yuwata/backlight

backlight: validate sysattr value

3 years agohostnamed: add various debugging log messages when we determine chassis type
Lennart Poettering [Fri, 11 Sep 2020 08:10:15 +0000 (10:10 +0200)] 
hostnamed: add various debugging log messages when we determine chassis type

No actual code flow changes, just a bunch of debug messages.

3 years agoMerge pull request #17005 from poettering/sockopt-ipv4-ipv6
Lennart Poettering [Fri, 11 Sep 2020 11:13:41 +0000 (13:13 +0200)] 
Merge pull request #17005 from poettering/sockopt-ipv4-ipv6

rework how we call per-ipv4/per-ipv6 sockopts that conceptually exist on both

3 years agopkg-config: prefix is not really configurable, don't pretend it was 17009/head
Lennart Poettering [Thu, 10 Sep 2020 16:27:18 +0000 (18:27 +0200)] 
pkg-config: prefix is not really configurable, don't pretend it was

We generally don't support prefix being != /usr, and this is hardcoded
all over the place. In the systemd.pc file it wasn't so far. Let's
adjust this to match the rest of the codebase.

3 years agosd-path: use ROOTPREFIX without suffixed slash
Lennart Poettering [Thu, 10 Sep 2020 16:20:05 +0000 (18:20 +0200)] 
sd-path: use ROOTPREFIX without suffixed slash

We already have rootprefix_noslash as meson variable, export it so that
we can also use it in C code.

Fixes: #16773
3 years agobacklight: validate read sysattr value 17020/head
Yu Watanabe [Fri, 11 Sep 2020 08:46:08 +0000 (17:46 +0900)] 
backlight: validate read sysattr value

If actual_brightness is larger than max_brightness, then fall back to
use brightness attribute.

Also, if the saved value is invalid, then this makes remove the file in
/var/lib/systemd/backlight.

Hopefully fixes #17011.

3 years agobacklight: do not claim that ID_BACKLIGHT_CLAMP= property is not set
Yu Watanabe [Fri, 11 Sep 2020 08:44:20 +0000 (17:44 +0900)] 
backlight: do not claim that ID_BACKLIGHT_CLAMP= property is not set

3 years agosd-device: introduce sd_device_set_sysattr_valuef()
Yu Watanabe [Fri, 11 Sep 2020 08:41:10 +0000 (17:41 +0900)] 
sd-device: introduce sd_device_set_sysattr_valuef()

3 years agoman: always document both the ipv4 and the ipv6 sockopt 17005/head
Lennart Poettering [Thu, 10 Sep 2020 14:35:31 +0000 (16:35 +0200)] 
man: always document both the ipv4 and the ipv6 sockopt

3 years agotree-wide: add helper for IPv4/IPv6 sockopts
Lennart Poettering [Thu, 10 Sep 2020 14:31:31 +0000 (16:31 +0200)] 
tree-wide: add helper for IPv4/IPv6 sockopts

A variety of sockopts exist both for IPv4 and IPv6 but require a
different pair of sockopt level/option number. Let's add helpers for
these that internally determine the right sockopt to call.

This should shorten code that generically wants to support both ipv4 +
ipv6 and for the first time adds correct support for some cases where we
only called the ipv4 versions, and not the ipv6 options.

3 years agotimesyncd: don't attempt to call IP_TOS sockopt on IPv6 sockets
Lennart Poettering [Thu, 10 Sep 2020 14:36:35 +0000 (16:36 +0200)] 
timesyncd: don't attempt to call IP_TOS sockopt on IPv6 sockets

3 years agohostnamed: map 'all-in-one' DMI chassis type to desktop
lichangze [Tue, 8 Sep 2020 08:26:23 +0000 (16:26 +0800)] 
hostnamed: map 'all-in-one' DMI chassis type to desktop

3 years agoMerge pull request #16933 from poettering/copy-hardlinks
Zbigniew Jędrzejewski-Szmek [Thu, 10 Sep 2020 17:04:52 +0000 (19:04 +0200)] 
Merge pull request #16933 from poettering/copy-hardlinks

copy: optionally recreate hardlinks when copying file trees

3 years agotest: add BridgeMDB to fuzz-network-parser/directives.network 16998/head
Daniel Mack [Thu, 10 Sep 2020 07:34:30 +0000 (09:34 +0200)] 
test: add BridgeMDB to fuzz-network-parser/directives.network

3 years agoman: document new Network.BridgeMDB config options
Daniel Mack [Wed, 9 Sep 2020 12:14:44 +0000 (14:14 +0200)] 
man: document new Network.BridgeMDB config options

3 years agonetwork: add support for setting MDB entries
Daniel Mack [Wed, 9 Sep 2020 12:09:29 +0000 (14:09 +0200)] 
network: add support for setting MDB entries

Multicast snooping enabled bridges maintain a database for multicast
port memberships to decide which mulicast packet is supposed to
egress on which port.

This patch teaches networkd to add entries to this database manually
by adding `[BridgeMDB]` sections to `.network` configuration files.