]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
3 years agoMerge pull request #17561 from yuwata/man v247-rc2
Zbigniew Jędrzejewski-Szmek [Thu, 12 Nov 2020 10:26:36 +0000 (11:26 +0100)] 
Merge pull request #17561 from yuwata/man

3 years agomeson: add option to skip installing to $sysconfdir
Jörg Thalheim [Thu, 12 Nov 2020 07:01:39 +0000 (08:01 +0100)] 
meson: add option to skip installing to $sysconfdir

This is useful for development where overwriting files out side
the configured prefix will affect the host as well as stateless
systems such as NixOS that don't let packages install to /etc but handle
configuration on their own.

Alternative to https://github.com/systemd/systemd/pull/17501

tested with:

$ mkdir inst build && cd build
$ meson \
  -Dcreate-log-dirs=false \
  -Dsysvrcnd-path=$(realpath ../inst)/etc/rc.d \
  -Dsysvinit-path=$(realpath ../inst)/etc/init.d \
  -Drootprefix=$(realpath ../inst) \
  -Dinstall-sysconfdir=false \
  --prefix=$(realpath ../inst) ..
$ ninja install

3 years agolicense: LGPL-2.1+ -> LGPL-2.1-or-later
Yu Watanabe [Thu, 12 Nov 2020 09:40:21 +0000 (18:40 +0900)] 
license: LGPL-2.1+ -> LGPL-2.1-or-later

Follow-up for db9ecf050165fd1033c6f81485917e229c4be537.

3 years agoman: set constant tag to NUL or NULL 17561/head
Yu Watanabe [Thu, 12 Nov 2020 07:58:00 +0000 (16:58 +0900)] 
man: set constant tag to NUL or NULL

3 years agoman: append parentheses for function name
Yu Watanabe [Mon, 9 Nov 2020 21:38:36 +0000 (06:38 +0900)] 
man: append parentheses for function name

3 years agoman: fix tag
Yu Watanabe [Mon, 9 Nov 2020 21:10:16 +0000 (06:10 +0900)] 
man: fix tag

3 years agoman: mention that sd_bus_call() may return a negative errno mapped from D-Bus error...
Yu Watanabe [Mon, 9 Nov 2020 20:57:41 +0000 (05:57 +0900)] 
man: mention that sd_bus_call() may return a negative errno mapped from D-Bus error reply

Closes #17556.

3 years agoman: add missing period
Yu Watanabe [Mon, 9 Nov 2020 20:25:29 +0000 (05:25 +0900)] 
man: add missing period

3 years agoMerge pull request #17567 from keszybz/various-small-cleanups
Yu Watanabe [Thu, 12 Nov 2020 07:30:06 +0000 (16:30 +0900)] 
Merge pull request #17567 from keszybz/various-small-cleanups

Various small cleanups

3 years agomeson: use "_" as separator in test names
Zbigniew Jędrzejewski-Szmek [Wed, 11 Nov 2020 13:37:07 +0000 (14:37 +0100)] 
meson: use "_" as separator in test names

":" is prettier, but meson 0.56+ doesn't like it:
src/systemd/meson.build:73: DEPRECATION: ":" is not allowed in test name "cc-sd-bus.h:c", it has been replaced with "_"
src/systemd/meson.build:73: DEPRECATION: ":" is not allowed in test name "cc-sd-bus.h:c-ansi", it has been replaced with "_"
...

Fixes #17568.

3 years agoMerge pull request #16603 from benzea/benzea/special-app-slice
Lennart Poettering [Wed, 11 Nov 2020 13:11:02 +0000 (14:11 +0100)] 
Merge pull request #16603 from benzea/benzea/special-app-slice

Use app.slice by default in user manager (and define special user slices)

3 years agoNEWS,man: tweak the description of FixedRandomDelay=
Zbigniew Jędrzejewski-Szmek [Tue, 10 Nov 2020 16:24:22 +0000 (17:24 +0100)] 
NEWS,man: tweak the description of FixedRandomDelay=

Explain why this is useful, but don't describe the implementation exactly,
since we're likely to want to change details in the future.

3 years agouser: move "extrinsic" units to their root slice 16603/head
Zbigniew Jędrzejewski-Szmek [Thu, 5 Nov 2020 12:59:17 +0000 (13:59 +0100)] 
user: move "extrinsic" units to their root slice

With the grandparent change to move most units to app.slice,
those units would be ordered After=app.slice which doesn't make any sense.
Actually they appear earlier, before the manager is even started, and
conceputally it doesn't seem useful to put them under any slice.

3 years agoMerge pull request #17566 from poettering/v247-rc2-prep
Zbigniew Jędrzejewski-Szmek [Tue, 10 Nov 2020 15:59:30 +0000 (16:59 +0100)] 
Merge pull request #17566 from poettering/v247-rc2-prep

V247 rc2 prep

3 years agobasic/fileio: constify struct timespec arguments 17567/head
Zbigniew Jędrzejewski-Szmek [Sun, 25 Oct 2020 12:44:43 +0000 (13:44 +0100)] 
basic/fileio: constify struct timespec arguments

3 years agolibsystemd-network: add comment explaining unusual memory access
Zbigniew Jędrzejewski-Szmek [Tue, 10 Nov 2020 14:33:28 +0000 (15:33 +0100)] 
libsystemd-network: add comment explaining unusual memory access

Inspired by coverity CID#1435984. I'm confused by the union definion every time I look at it...
Let's at least add a comment to help future readers.

3 years agotree-wide: unsetenv cannot fail
Zbigniew Jędrzejewski-Szmek [Tue, 10 Nov 2020 11:14:28 +0000 (12:14 +0100)] 
tree-wide: unsetenv cannot fail

... when called with a valid environment variable name. This means that
any time we call it with a fixed string, it is guaranteed to return 0.
(Also when the variable is not present in the environment block.)

3 years agobasic/env-util: add little helper to call setenv or unsetenv
Zbigniew Jędrzejewski-Szmek [Tue, 10 Nov 2020 11:25:55 +0000 (12:25 +0100)] 
basic/env-util: add little helper to call setenv or unsetenv

3 years agopid1: expose "extrinsic" status of swaps and mounts
Zbigniew Jędrzejewski-Szmek [Thu, 5 Nov 2020 12:08:02 +0000 (13:08 +0100)] 
pid1: expose "extrinsic" status of swaps and mounts

The only visible change from this is that we show Extrinsic: yes/no
in dumps for swap units (this was already done for mount units).

3 years agoman: properly list relative time event source API in man page 17566/head
Lennart Poettering [Tue, 10 Nov 2020 13:20:06 +0000 (14:20 +0100)] 
man: properly list relative time event source API in man page

The content was already there, but it wasn't listed in the header
metadata. Fix that.

3 years agosd-event: minor modernization
Zbigniew Jędrzejewski-Szmek [Tue, 10 Nov 2020 09:44:53 +0000 (10:44 +0100)] 
sd-event: minor modernization

With this change the pattern used for epoll_ctl() is the same in all calls in
this file. Consistency FTW!

3 years agosd-event: increase n_enabled_child_sources just once
Zbigniew Jędrzejewski-Szmek [Tue, 10 Nov 2020 11:57:34 +0000 (12:57 +0100)] 
sd-event: increase n_enabled_child_sources just once

Neither source_child_pidfd_register() nor event_make_signal_data() look at
n_enabled_child_sources.

3 years agosd-event: update state at the end in event_source_enable
Zbigniew Jędrzejewski-Szmek [Tue, 10 Nov 2020 09:38:37 +0000 (10:38 +0100)] 
sd-event: update state at the end in event_source_enable

Coverity in CID#1435966 was complaining that s->enabled is not "restored" in
all cases. But the code was actually correct, since it should only be
"restored" in the error paths. But let's still make this prettier by not setting
the state before all operations that may fail are done.

We need to set .enabled for the prioq reshuffling operations, so move those down.

No functional change intended.

3 years agohwdb: update
Lennart Poettering [Tue, 10 Nov 2020 13:16:17 +0000 (14:16 +0100)] 
hwdb: update

3 years agogit-contrib: exclude -rc tags
Lennart Poettering [Tue, 10 Nov 2020 13:12:27 +0000 (14:12 +0100)] 
git-contrib: exclude -rc tags

3 years agoupdate NEWS
Lennart Poettering [Tue, 10 Nov 2020 13:12:08 +0000 (14:12 +0100)] 
update NEWS

3 years agoMerge pull request #17497 from anitazha/randomizeonce
Lennart Poettering [Tue, 10 Nov 2020 12:29:04 +0000 (13:29 +0100)] 
Merge pull request #17497 from anitazha/randomizeonce

timer: add new feature FixedRandomDelay=

3 years agoAdd Logitech G403 Prodigy Gaming Mouse to hwdb. (#17537)
onlybugreports [Tue, 10 Nov 2020 12:16:13 +0000 (09:16 -0300)] 
Add Logitech G403 Prodigy Gaming Mouse to hwdb. (#17537)

This PR adds logitech G403 to the hwdb.
Settings were obtained with 'sudo mouse-dpi-tool /dev/input/event3' and 'ratbagctl hollering-marmot info'.

3 years agoMerge pull request #17555 from yuwata/ethtool-get-driver
Lennart Poettering [Tue, 10 Nov 2020 12:15:10 +0000 (13:15 +0100)] 
Merge pull request #17555 from yuwata/ethtool-get-driver

ethtool: make ethtool_get_driver() return -ENODATA if driver is an empty string.

3 years agojournal: refuse skip parameter for sd_journal_next_skip() larger than INT_MAX
Yu Watanabe [Mon, 9 Nov 2020 06:23:32 +0000 (15:23 +0900)] 
journal: refuse skip parameter for sd_journal_next_skip() larger than INT_MAX

Fixes #17502.

3 years agoMerge pull request #17431 from msekletar/udev-link-update-race
Zbigniew Jędrzejewski-Szmek [Tue, 10 Nov 2020 08:41:57 +0000 (09:41 +0100)] 
Merge pull request #17431 from msekletar/udev-link-update-race

udev: make algorithm that selects highest priority devlink less susceptible to race conditions

3 years agosd-bus: drop redundant abs()
Yu Watanabe [Mon, 9 Nov 2020 20:40:58 +0000 (05:40 +0900)] 
sd-bus: drop redundant abs()

strerror_safe() internally applies abs().

3 years agocore: add missing oom check
Yu Watanabe [Mon, 9 Nov 2020 14:59:36 +0000 (23:59 +0900)] 
core: add missing oom check

Fixes #17552.

3 years agoudev: log when we fail to query ID_NET_DRIVER
Zbigniew Jędrzejewski-Szmek [Mon, 9 Nov 2020 14:39:29 +0000 (15:39 +0100)] 
udev: log when we fail to query ID_NET_DRIVER

Inspired by #17532.

3 years agoMerge pull request #17551 from yuwata/radv-router-lifetime
Zbigniew Jędrzejewski-Szmek [Mon, 9 Nov 2020 20:07:16 +0000 (21:07 +0100)] 
Merge pull request #17551 from yuwata/radv-router-lifetime

network: about router lifetime

3 years agoethtool: make ethtool_get_driver() return -ENODATA if ioctl succeeds but driver name... 17555/head
Yu Watanabe [Mon, 9 Nov 2020 16:14:38 +0000 (01:14 +0900)] 
ethtool: make ethtool_get_driver() return -ENODATA if ioctl succeeds but driver name is empty

Inspired by #17532.

3 years agoethtool: add several assertions
Yu Watanabe [Mon, 9 Nov 2020 16:04:36 +0000 (01:04 +0900)] 
ethtool: add several assertions

3 years agonetwork: convert router lifetime from usec_t to uint16_t 17551/head
Yu Watanabe [Mon, 9 Nov 2020 07:49:33 +0000 (16:49 +0900)] 
network: convert router lifetime from usec_t to uint16_t

3 years agosd-radv: refuse to set preference except medium when router lifetime is zero
Yu Watanabe [Mon, 9 Nov 2020 07:41:17 +0000 (16:41 +0900)] 
sd-radv: refuse to set preference except medium when router lifetime is zero

3 years agosd-radv: router lifetime is uint16_t
Yu Watanabe [Mon, 9 Nov 2020 07:35:24 +0000 (16:35 +0900)] 
sd-radv: router lifetime is uint16_t

3 years agonetwork: make default router lifetime to 30min
Yu Watanabe [Mon, 9 Nov 2020 07:29:32 +0000 (16:29 +0900)] 
network: make default router lifetime to 30min

Closes #17527.

3 years agoMerge pull request #17549 from yuwata/tiny-fixes
Lennart Poettering [Mon, 9 Nov 2020 15:04:01 +0000 (16:04 +0100)] 
Merge pull request #17549 from yuwata/tiny-fixes

tiny fixes

3 years agoMerge pull request #17548 from yuwata/license-update
Zbigniew Jędrzejewski-Szmek [Mon, 9 Nov 2020 08:34:31 +0000 (09:34 +0100)] 
Merge pull request #17548 from yuwata/license-update

License: LGPL-2.1+ -> LGPL-2.1-or-later, and GPL-2.0+ -> GPL-2.0-or-later

3 years agocore: reduce scope of variants 17549/head
Yu Watanabe [Mon, 9 Nov 2020 05:40:02 +0000 (14:40 +0900)] 
core: reduce scope of variants

Fixes #17543.

3 years agosd-bus: fix possible division by 0
Yu Watanabe [Mon, 9 Nov 2020 05:33:16 +0000 (14:33 +0900)] 
sd-bus: fix possible division by 0

Fixes #17541.

3 years agohome: fix copy-and-paste mistake
Yu Watanabe [Mon, 9 Nov 2020 05:00:14 +0000 (14:00 +0900)] 
home: fix copy-and-paste mistake

Fixes #17542.

3 years agolicense: GPL-2.0+ -> GPL-2.0-or-later 17548/head
Yu Watanabe [Mon, 9 Nov 2020 04:25:50 +0000 (13:25 +0900)] 
license: GPL-2.0+ -> GPL-2.0-or-later

3 years agolicense: LGPL-2.1+ -> LGPL-2.1-or-later
Yu Watanabe [Mon, 9 Nov 2020 04:23:58 +0000 (13:23 +0900)] 
license: LGPL-2.1+ -> LGPL-2.1-or-later

3 years agohwdb: Add support for HP ZBook Studio G5 keyboard (#17525)
fwSmit [Sat, 7 Nov 2020 11:20:03 +0000 (12:20 +0100)] 
hwdb: Add support for HP ZBook Studio G5 keyboard (#17525)

I tested this on my ZBook Studio G5. I'm not sure if this works for other ZBook studio machines.

I have two more notes on this PR:
- some keys send multiple scancodes. I matched only on one of them, because I couldn't figure out how to match
on all of them. This results in the others still being visible:
Event: time 1604520228.146226, -------------- SYN_REPORT ------------
Event: time 1604520228.151533, type 4 (EV_MSC), code 4 (MSC_SCAN), value db
Event: time 1604520228.151533, type 1 (EV_KEY), code 125 (KEY_LEFTMETA), value 1
Event: time 1604520228.151533, -------------- SYN_REPORT ------------
Event: time 1604520228.259862, type 4 (EV_MSC), code 4 (MSC_SCAN), value 38
Event: time 1604520228.259862, type 1 (EV_KEY), code 56 (KEY_LEFTALT), value 0
Event: time 1604520228.259862, -------------- SYN_REPORT ------------
Event: time 1604520228.259944, type 4 (EV_MSC), code 4 (MSC_SCAN), value 66
Event: time 1604520228.259944, type 1 (EV_KEY), code 218 (KEY_CONNECT), value 0
Event: time 1604520228.259944, -------------- SYN_REPORT ------------
Event: time 1604520228.266513, type 4 (EV_MSC), code 4 (MSC_SCAN), value db
Event: time 1604520228.266513, type 1 (EV_KEY), code 125 (KEY_LEFTMETA), value 0
Event: time 1604520228.266513, -------------- SYN_REPORT ------------

I wanted to set the display key to switchvideomode, but another key is already set to that, so I set it to displaytoggle instead.

3 years agoresolved: fix non-initialized memory access
Lennart Poettering [Fri, 6 Nov 2020 17:08:38 +0000 (18:08 +0100)] 
resolved: fix non-initialized memory access

Fix for bug introduced in 1ed314087fab3988f3221b1b736a7e711f174349.

3 years agoMerge pull request #17534 from poettering/resolved-more-tweaks
Lennart Poettering [Fri, 6 Nov 2020 21:39:09 +0000 (22:39 +0100)] 
Merge pull request #17534 from poettering/resolved-more-tweaks

seven smaller resolved tweaks

3 years agoresolved: slightly extend debug log output about outgoing messages 17534/head
Lennart Poettering [Fri, 6 Nov 2020 10:46:39 +0000 (11:46 +0100)] 
resolved: slightly extend debug log output about outgoing messages

3 years agoresolved: don't resolve "local." via LLMNR
Lennart Poettering [Thu, 5 Nov 2020 13:16:03 +0000 (14:16 +0100)] 
resolved: don't resolve "local." via LLMNR

It's the mDNS top-level domain, hence don't consider it for LLMNR, ever.

Fixes: #16233
3 years agoresolved: add comments for various query flags
Lennart Poettering [Thu, 5 Nov 2020 08:45:12 +0000 (09:45 +0100)] 
resolved: add comments for various query flags

3 years agoresolved: show all answer flags when dumping answer
Lennart Poettering [Wed, 4 Nov 2020 20:01:49 +0000 (21:01 +0100)] 
resolved: show all answer flags when dumping answer

3 years agoresolved: add minor optimization path to dns_answer_merge()
Lennart Poettering [Wed, 4 Nov 2020 19:42:02 +0000 (20:42 +0100)] 
resolved: add minor optimization path to dns_answer_merge()

3 years agoresolved: suppress misleading debug message about ignored resolv.conf line
Lennart Poettering [Thu, 5 Nov 2020 14:49:15 +0000 (15:49 +0100)] 
resolved: suppress misleading debug message about ignored resolv.conf line

3 years agoerrno: ETIMEDOUT is also a connection error
Lennart Poettering [Fri, 6 Nov 2020 13:30:25 +0000 (14:30 +0100)] 
errno: ETIMEDOUT is also a connection error

3 years agoudev: make algorithm that selects highest priority devlink less susceptible to race... 17431/head
Michal Sekletár [Fri, 23 Oct 2020 14:30:23 +0000 (16:30 +0200)] 
udev: make algorithm that selects highest priority devlink less susceptible to race conditions

Previously it was very likely, when multiple contenders for the symlink
appear in parallel, that algorithm would select wrong symlink (i.e. one
with lower-priority).

Now the algorithm is much more defensive and when we detect change in
set of contenders for the symlink we reevaluate the selection. Same
happens when new symlink replaces already existing symlink that points
to different device node.

3 years agobasic/stat-util: make mtime check stricter and use entire timestamp
Michal Sekletár [Thu, 5 Nov 2020 16:55:25 +0000 (17:55 +0100)] 
basic/stat-util: make mtime check stricter and use entire timestamp

Note that st_mtime member of struct stat is defined as follows,

 #define st_mtime st_mtim.tv_sec

Hence we omitted checking nanosecond part of the timestamp (struct
timespec) and possibly would miss modifications that happened within the
same second.

3 years agojournalctl: show boot id in the reboot context separator
Ronan Pigott [Wed, 28 Oct 2020 06:53:23 +0000 (23:53 -0700)] 
journalctl: show boot id in the reboot context separator

3 years agohwdb: Fix Pinebook Pro's brightness up/down and sleep keys
Jian-Hong Pan [Thu, 5 Nov 2020 04:22:08 +0000 (12:22 +0800)] 
hwdb: Fix Pinebook Pro's brightness up/down and sleep keys

Pinebook Pro's display brightness up & down keys do not work until the
keys are mapped to the corresponding codes.

Also, the sleep key is mapped to KEY_POWER code originally. This quirk
maps the sleep key to the KEY_SLEEP code.

This idea comes from the pinebookpro-post-install package [1] of Manjaro
ARM, which is the preloaded OS on Pinebook Pro.

[1]: https://gitlab.manjaro.org/manjaro-arm/packages/community/pinebookpro-post-install/-/commit/7ab1a134ea9d5b55d99de567d1ebee4ebd6f6640

3 years agoseccomp: allow turning off of seccomp filtering via env var
Lennart Poettering [Mon, 2 Nov 2020 13:51:10 +0000 (14:51 +0100)] 
seccomp: allow turning off of seccomp filtering via env var

Fixes: #17504
(While we are it, also move $SYSTEMD_SECCOMP_LOG= env var description
into the right document section)

Also suggested in: https://github.com/systemd/systemd/issues/17245#issuecomment-704773603

3 years agotimer: add new feature FixedRandomDelay= 17497/head
Kristijan Gjoshev [Sat, 1 Feb 2020 17:27:08 +0000 (18:27 +0100)] 
timer: add new feature FixedRandomDelay=

FixedRandomDelay=yes will use
`siphash24(sd_id128_get_machine() || MANAGER_IS_SYSTEM(m) || getuid() || u->id)`,
where || is concatenation, instead of a random number to choose a value between
0 and RandomizedDelaySec= as the timer delay.
This essentially sets up a fixed, but seemingly random, offset for each timer
iteration rather than having a random offset recalculated each time it fires.

Closes #10355

Co-author: Anita Zhang <the.anitazha@gmail.com>

3 years agoupdate TODO
Lennart Poettering [Wed, 4 Nov 2020 14:46:51 +0000 (15:46 +0100)] 
update TODO

3 years agoselinux: also try the netlink-based fallback and continue on permission error
Zbigniew Jędrzejewski-Szmek [Tue, 27 Oct 2020 18:47:26 +0000 (19:47 +0100)] 
selinux: also try the netlink-based fallback and continue on permission error

Fedora Rawhide still has the old policy, so selinux prevents our selinux code
from checking if selinux is enabled. But it seems smart to fall back to the old
API anyway.

Follow-up for fd5e402fa9377f2860e02bdb5b84d5f5942e73f4.

Both the reference policy [1] and Fedora selinux policy [2] needed to be
updated, so it's likely that this will impact other distros too.

[1] https://github.com/SELinuxProject/refpolicy/pull/308
[2] https://github.com/fedora-selinux/selinux-policy/pull/464

3 years agoshared/seccomp-util: move stime() to @obsolete
Topi Miettinen [Mon, 2 Nov 2020 11:10:24 +0000 (13:10 +0200)] 
shared/seccomp-util: move stime() to @obsolete

Quoting the manual page of stime(2): "Starting with glibc 2.31, this function
is no longer available to newly linked applications and is no longer declared
in <time.h>."

3 years agosd-login: fix parsing in sd_uid_is_on_seat
Zbigniew Jędrzejewski-Szmek [Tue, 3 Nov 2020 14:13:20 +0000 (15:13 +0100)] 
sd-login: fix parsing in sd_uid_is_on_seat

Bug introduced in 81823e6c12771721e9a729f6280a9de26fd70bad:
logind uses spaces not commas to separate items.

3 years agoMerge pull request #17521 from poettering/resolved-more-fixes
Zbigniew Jędrzejewski-Szmek [Wed, 4 Nov 2020 08:38:09 +0000 (09:38 +0100)] 
Merge pull request #17521 from poettering/resolved-more-fixes

six fixes to resolved

3 years agoMerge pull request #17517 from keszybz/revert-hwdb-trailing-colon
Zbigniew Jędrzejewski-Szmek [Wed, 4 Nov 2020 08:26:31 +0000 (09:26 +0100)] 
Merge pull request #17517 from keszybz/revert-hwdb-trailing-colon

Revert hwdb trailing colon

3 years agoMerge pull request #17493 from Villemoes/va-arg-simplifications
Zbigniew Jędrzejewski-Szmek [Wed, 4 Nov 2020 08:22:15 +0000 (09:22 +0100)] 
Merge pull request #17493 from Villemoes/va-arg-simplifications

Some vararg simplifications

3 years agoman: add <option> around default booleans in systemd.timer
Anita Zhang [Fri, 30 Oct 2020 23:16:31 +0000 (16:16 -0700)] 
man: add <option> around default booleans in systemd.timer

3 years agoresolved: handle RRs where we don't have a signer 17521/head
Lennart Poettering [Tue, 3 Nov 2020 19:34:21 +0000 (20:34 +0100)] 
resolved: handle RRs where we don't have a signer

If we encounter an RR that has no matching signature, then we don't know
whether it was expanded from a wildcard or not. We need to accept that
and not make the NSEC test fail, just skip over the RR.

3 years agoresolved: drop unused family argument from manager_routable()
Lennart Poettering [Wed, 28 Oct 2020 14:12:32 +0000 (15:12 +0100)] 
resolved: drop unused family argument from manager_routable()

3 years agoresolved: fix dumping of DnsAnswer objects
Lennart Poettering [Wed, 28 Oct 2020 13:54:12 +0000 (14:54 +0100)] 
resolved: fix dumping of DnsAnswer objects

3 years agoresolved: put size limit in DnsAnswer size to UINT16_MAX
Lennart Poettering [Tue, 3 Nov 2020 17:31:03 +0000 (18:31 +0100)] 
resolved: put size limit in DnsAnswer size to UINT16_MAX

The three answer sections can only carry up to UINT16_MAX entries, hence
put a hard upper limit on how far DnsAnswer can grow. The three count
fields in the DNS packet header are 16 bit only, hence the limit.

If code actually tries to add more than 64K RRs it will get ENOSPC with
this new checking.

And similar to DnsQuestion.

3 years agoresolved: check return value of memdup() correctly for OOM
Lennart Poettering [Tue, 3 Nov 2020 17:06:47 +0000 (18:06 +0100)] 
resolved: check return value of memdup() correctly for OOM

3 years agoman: remove misplaced comma
Lennart Poettering [Thu, 29 Oct 2020 17:58:04 +0000 (18:58 +0100)] 
man: remove misplaced comma

3 years agoPartially revert "hwdb: reindent commments and say that "*" should always be trailing" 17517/head
Zbigniew Jędrzejewski-Szmek [Tue, 3 Nov 2020 13:28:14 +0000 (14:28 +0100)] 
Partially revert "hwdb: reindent commments and say that "*" should always be trailing"

This partially reverts commit 62ad1c6495c098a09b36bb20bb37a9b8a11df76f.

I kept the reindents and other cosmetic changes, but removed the statements
about trailing ":*".

3 years agoRevert "parse_hwdb: enforce the ":*" suffix"
Zbigniew Jędrzejewski-Szmek [Tue, 3 Nov 2020 13:26:51 +0000 (14:26 +0100)] 
Revert "parse_hwdb: enforce the ":*" suffix"

This reverts commit ad2d8e61eeab27f3e36572c7981362227357f420.

3 years agostrv.c: simplify strv_new_ap 17493/head
Rasmus Villemoes [Fri, 30 Oct 2020 09:54:15 +0000 (10:54 +0100)] 
strv.c: simplify strv_new_ap

Instead of duplicating the code for x and the varargs, handle them all the same
way by using for loops.

3 years agosignal-util: make sigaction_many_ap a little more concise
Rasmus Villemoes [Fri, 30 Oct 2020 09:27:55 +0000 (10:27 +0100)] 
signal-util: make sigaction_many_ap a little more concise

There's no reason to duplicate the stop condition sig < 0, nor the sigaction()
call.

3 years agostring-util: improve overflow checking
Rasmus Villemoes [Fri, 30 Oct 2020 09:18:04 +0000 (10:18 +0100)] 
string-util: improve overflow checking

The current overflow checking is broken in the corner case of the strings'
combined length being exactly SIZE_MAX: After the loop, l would be SIZE_MAX,
but we're not testing whether the l+1 expression overflows.

Fix it by simply pre-accounting for the final '\0': initialize l to 1 instead
of 0.

3 years agostring-util: simplify logic in strjoin_real()
Rasmus Villemoes [Fri, 30 Oct 2020 09:13:27 +0000 (10:13 +0100)] 
string-util: simplify logic in strjoin_real()

The loops over (x, then all varargs, until a NULL is found) can be written much
simpler with an ordinary for loop. Just initialize the loop variable to x, test
that, and in the increment part, fetch the next va_arg(). That removes a level
of indentation, and avoids doing a separate strlen()/stpcpy() call for x.

While touching this code anyway, change (size_t)-1 to the more readable
SIZE_MAX.

3 years agoPartially revert "hwdb: add trailing ":*" everywhere"
Zbigniew Jędrzejewski-Szmek [Tue, 3 Nov 2020 13:17:53 +0000 (14:17 +0100)] 
Partially revert "hwdb: add trailing ":*" everywhere"

This reverts commit c0443b97b71d5f70a0622061f589307bec5502c6.

I got various cases wrong:
"usb:v04F3p2B7Cd5912dc00dsc00dp00ic03isc00ip00in00"
"usb:v0627p0001:QEMU USB Tablet"
"input:b0003v0627p0001e0001-e0,1,2,4,k110,111,112,r0,1,8,B,am4,lsfw"

OTOH:
-evdev:name:ETPS/2 Elantech Touchpad:dmi:*svnASUSTeKComputerInc.:pnN53SV:*
+evdev:name:ETPS/2 Elantech Touchpad:dmi:*svnASUSTeKComputerInc.:pnN53SV*
is OK. Other parts follow after 'pn'.

-mouse:*:name:*Trackball*:*
-mouse:*:name:*trackball*:*
-mouse:*:name:*TrackBall*:*
+mouse:*:name:*Trackball*:
+mouse:*:name:*trackball*:
+mouse:*:name:*TrackBall*:
... and anything else with :name should be OK too, because our imports always
include ":" at the end:
IMPORT{builtin}="hwdb 'joystick:$env{ID_BUS}:v$attr{id/vendor}p$attr{id/product}:name:$attr{name}:'"
Including '*' at the end makes the pattern work even if we decide to add
something to the match string later.

Fixes #17499.

3 years agofileio: beef up READ_FULL_FILE_CONNECT_SOCKET to allow setting sender socket name
Lennart Poettering [Mon, 2 Nov 2020 11:07:51 +0000 (12:07 +0100)] 
fileio: beef up READ_FULL_FILE_CONNECT_SOCKET to allow setting sender socket name

This beefs up the READ_FULL_FILE_CONNECT_SOCKET logic of
read_full_file_full() a bit: when used a sender socket name may be
specified. If specified as NULL behaviour is as before: the client
socket name is picked by the kernel. But if specified as non-NULL the
client can pick a socket name to use when connecting. This is useful to
communicate a minimal amount of metainformation from client to server,
outside of the transport payload.

Specifically, these beefs up the service credential logic to pass an
abstract AF_UNIX socket name as client socket name when connecting via
READ_FULL_FILE_CONNECT_SOCKET, that includes the requesting unit name
and the eventual credential name. This allows servers implementing the
trivial credential socket logic to distinguish clients: via a simple
getpeername() it can be determined which unit is requesting a
credential, and which credential specifically.

Example: with this patch in place, in a unit file "waldo.service" a
configuration line like the following:

    LoadCredential=foo:/run/quux/creds.sock

will result in a connection to the AF_UNIX socket /run/quux/creds.sock,
originating from an abstract namespace AF_UNIX socket:

    @$RANDOM/unit/waldo.service/foo

(The $RANDOM is replaced by some randomized string. This is included in
the socket name order to avoid namespace squatting issues: the abstract
socket namespace is open to unprivileged users after all, and care needs
to be taken not to use guessable names)

The services listening on the /run/quux/creds.sock socket may thus
easily retrieve the name of the unit the credential is requested for
plus the credential name, via a simpler getpeername(), discarding the
random preifx and the /unit/ string.

This logic uses "/" as separator between the fields, since both unit
names and credential names appear in the file system, and thus are
designed to use "/" as outer separators. Given that it's a good safe
choice to use as separators here, too avoid any conflicts.

This is a minimal patch only: the new logic is used only for the unit
file credential logic. For other places where we use
READ_FULL_FILE_CONNECT_SOCKET it is probably a good idea to use this
scheme too, but this should be done carefully in later patches, since
the socket names become API that way, and we should determine the right
amount of info to pass over.

3 years agoupdate TODO
Lennart Poettering [Mon, 2 Nov 2020 14:30:16 +0000 (15:30 +0100)] 
update TODO

3 years agopo: Update Turkish translation
Muhammet Kara [Sun, 1 Nov 2020 13:10:19 +0000 (16:10 +0300)] 
po: Update Turkish translation

3 years agotest/sys-script.py: add missing DEVNAME entries to uevents
Martin Wilck [Tue, 24 Apr 2018 19:40:23 +0000 (21:40 +0200)] 
test/sys-script.py: add missing DEVNAME entries to uevents

3 years agotest/udev_test.pl: add "expected good" count
Martin Wilck [Thu, 26 Apr 2018 12:07:27 +0000 (14:07 +0200)] 
test/udev_test.pl: add "expected good" count

Since 'test/udev-test.pl: count "good" results', we know how many
checks succeeded. Add an "expected good" count to make that number
more meaningful.

3 years agotest/udev-test.pl: suppress umount error message at startup
Martin Wilck [Thu, 26 Apr 2018 11:25:11 +0000 (13:25 +0200)] 
test/udev-test.pl: suppress umount error message at startup

umount emits an error message "no mount point specified" if the
tmpfs isn't mounted yet, which is the normal case.
Suppress that by redirecting stderr.

3 years agotest/sd-script.py: new helper script for udev testing
Martin Wilck [Wed, 25 Apr 2018 15:21:49 +0000 (17:21 +0200)] 
test/sd-script.py: new helper script for udev testing

Script for generating LOTS of SCSI disk and partition devices in
the fake sysfs we use for udev testing.

This script is supposed to be run after sys-script.py. It uses
code from sys-script.py as template to generate additional SCSI disk data
structures. Together with the "generator" code in udev-test.pl
added in the previous patch, it allows to run udev tests with almost
arbitrarily many devices, and thus to do performance scaling tests.

3 years agotest/udev-test.pl: generator for large list of block devices
Martin Wilck [Wed, 25 Apr 2018 07:54:26 +0000 (09:54 +0200)] 
test/udev-test.pl: generator for large list of block devices

Manually listing all devices in the test definition becomes cumbersome with
lots of devices. Add a function that scans on all block devices in
the test sysfs and generates a list of devices to test.

3 years agotest/udev-test.pl: add repeat count
Martin Wilck [Tue, 24 Apr 2018 20:24:43 +0000 (22:24 +0200)] 
test/udev-test.pl: add repeat count

for easier reproduction of sporadic test failures.

3 years agotests/udev-test.pl: add multiple device test
Martin Wilck [Tue, 24 Apr 2018 20:04:55 +0000 (22:04 +0200)] 
tests/udev-test.pl: add multiple device test

Add 4 new tests using multiple devices. Number 2-4 use many
devices claiming the same symlink, where only one device has
a higher priority thatn the others. They fail sporadically with
the current code, if a race condition causes the symlink to point
to the wrong device. Test 4 is like test 2 with sleeps in between,
it's much less likely to fail.

3 years agotest/udev-test.pl: count "good" results
Martin Wilck [Tue, 24 Apr 2018 18:55:01 +0000 (20:55 +0200)] 
test/udev-test.pl: count "good" results

This is helpful to catch possible regressions in the test.
Also, don't count wait() errors, they are likely not udev errors.

3 years agotest/udev-test.pl: merge import parent tests into one
Martin Wilck [Tue, 24 Apr 2018 16:30:09 +0000 (18:30 +0200)] 
test/udev-test.pl: merge import parent tests into one

As we can test multiple devices and multiple links per device
in one test now, these two tests can be merged into one.

3 years agotest/udev-test.pl: merge "space and var with space" tests
Martin Wilck [Tue, 24 Apr 2018 16:27:25 +0000 (18:27 +0200)] 
test/udev-test.pl: merge "space and var with space" tests

As we can check multiple links in a single test now, these 3
tests can be merged into one.

3 years agotest/udev-test.pl: remove bogus rules from magic subsys test
Martin Wilck [Tue, 24 Apr 2018 16:16:59 +0000 (18:16 +0200)] 
test/udev-test.pl: remove bogus rules from magic subsys test

These rules have survived from an ancient version of the code
and save no purpose any more.

3 years agotest/udev-test.pl: Make some tests a little harder
Martin Wilck [Tue, 24 Apr 2018 16:09:50 +0000 (18:09 +0200)] 
test/udev-test.pl: Make some tests a little harder

Add some rules that make it a bit harder to pass, mainly the
non-existence checks.