]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
3 years agoMerge pull request #16348 from yuwata/news-sriov
Zbigniew Jędrzejewski-Szmek [Fri, 3 Jul 2020 10:13:14 +0000 (12:13 +0200)] 
Merge pull request #16348 from yuwata/news-sriov

NEWS: two updates about networkd

3 years agoNEWS: mention .network [SR-IOV] section 16348/head
Yu Watanabe [Fri, 3 Jul 2020 06:33:06 +0000 (15:33 +0900)] 
NEWS: mention .network [SR-IOV] section

3 years agoNEWS: WithoutRA= is not a boolean option anymore
Yu Watanabe [Fri, 3 Jul 2020 06:25:28 +0000 (15:25 +0900)] 
NEWS: WithoutRA= is not a boolean option anymore

3 years agoNEWS: tweak WithoutRA= description a bit more
Zbigniew Jędrzejewski-Szmek [Thu, 2 Jul 2020 16:12:03 +0000 (18:12 +0200)] 
NEWS: tweak WithoutRA= description a bit more

Follow-up for cbdf02952e831aa12c34f15d2466995c4ca4fc5b.

3 years agonetwork: tc: rename several settings which take size in bytes
Yu Watanabe [Wed, 1 Jul 2020 07:05:32 +0000 (16:05 +0900)] 
network: tc: rename several settings which take size in bytes

3 years agoMerge pull request #16343 from jirislaby/master
hadess [Thu, 2 Jul 2020 13:19:33 +0000 (15:19 +0200)] 
Merge pull request #16343 from jirislaby/master

hwdb: Add accel orientation quirk for UMAX VisionBook 10Wi Pro

3 years agoMerge pull request #16338 from keszybz/spelling2
Zbigniew Jędrzejewski-Szmek [Thu, 2 Jul 2020 13:10:27 +0000 (15:10 +0200)] 
Merge pull request #16338 from keszybz/spelling2

Tree-wide spelling fixes

3 years agoMerge pull request #16336 from yuwata/ifindex-cleanups
Zbigniew Jędrzejewski-Szmek [Thu, 2 Jul 2020 13:08:41 +0000 (15:08 +0200)] 
Merge pull request #16336 from yuwata/ifindex-cleanups

tiny cleanups related to ifindex

3 years agoNEWS: update document about WithoutRA=
Yu Watanabe [Thu, 2 Jul 2020 07:22:39 +0000 (16:22 +0900)] 
NEWS: update document about WithoutRA=

Follow-up for 838d39af93e16e749ef90acf915a634b380abbf6.

3 years agoMerge pull request #16219 from ssahani/network-sr-iov
Yu Watanabe [Thu, 2 Jul 2020 11:24:13 +0000 (20:24 +0900)] 
Merge pull request #16219 from ssahani/network-sr-iov

network: Introduce SR-IOV

3 years agohwdb: Add accel orientation quirk for UMAX VisionBook 10Wi Pro 16343/head
Jiri Slaby [Thu, 2 Jul 2020 11:06:04 +0000 (13:06 +0200)] 
hwdb: Add accel orientation quirk for UMAX VisionBook 10Wi Pro

3 years agotree-wide: "unparseable" → "unparsable" 16338/head
Zbigniew Jędrzejewski-Szmek [Thu, 2 Jul 2020 07:58:23 +0000 (09:58 +0200)] 
tree-wide: "unparseable" → "unparsable"

"unparsable" is the more common spelling. We already pick "movable" over
"moveable". Let's do the same with this pair.

3 years agoresolve: use appropriate type 16336/head
Yu Watanabe [Thu, 2 Jul 2020 07:12:06 +0000 (16:12 +0900)] 
resolve: use appropriate type

3 years agoutil: use setsockopt_int() at one more place
Yu Watanabe [Thu, 2 Jul 2020 07:03:28 +0000 (16:03 +0900)] 
util: use setsockopt_int() at one more place

3 years agolibsystemd-network: rename index -> ifindex
Yu Watanabe [Thu, 2 Jul 2020 06:49:19 +0000 (15:49 +0900)] 
libsystemd-network: rename index -> ifindex

3 years agodhcp6, radv: only accept valid ifindex
Yu Watanabe [Thu, 2 Jul 2020 06:45:33 +0000 (15:45 +0900)] 
dhcp6, radv: only accept valid ifindex

3 years agotree-wide: spell "lifecycle" without hyphen everywhere
Zbigniew Jędrzejewski-Szmek [Thu, 21 Feb 2019 06:45:45 +0000 (07:45 +0100)] 
tree-wide: spell "lifecycle" without hyphen everywhere

We had 2 more instances of unhyphentated spelling.

3 years agotree: wide "the the" and other trivial grammar fixes
Zbigniew Jędrzejewski-Szmek [Tue, 30 Jun 2020 13:24:57 +0000 (15:24 +0200)] 
tree: wide "the the" and other trivial grammar fixes

3 years agonetwork: Allow DHCPv6 client to start solicit mode
Susant Sahani [Wed, 1 Jul 2020 23:03:17 +0000 (23:03 +0000)] 
network: Allow DHCPv6 client  to start solicit mode

Now DHCPv6 client start only DHCPv6 INFORMATION-REQUEST mode.
Let's enable Solicit mode too.

3 years agol10n: update Czech Translation
AsciiWolf [Wed, 1 Jul 2020 14:40:52 +0000 (16:40 +0200)] 
l10n: update Czech Translation

3 years agodoc: add recentry introduced transient settings
Yu Watanabe [Wed, 1 Jul 2020 06:05:14 +0000 (15:05 +0900)] 
doc: add recentry introduced transient settings

Also sort entries for service settings.

3 years agoMerge pull request #16303 from poettering/dbus-util-split
Yu Watanabe [Wed, 1 Jul 2020 05:15:40 +0000 (14:15 +0900)] 
Merge pull request #16303 from poettering/dbus-util-split

shared: split src/shared/bus-util.c into multiple files

3 years agotest-network: add tests for SR-IOV 16219/head
Yu Watanabe [Mon, 22 Jun 2020 10:48:34 +0000 (19:48 +0900)] 
test-network: add tests for SR-IOV

This also adjusts test_sysctl_disable_ipv6(), as rt_trap flag may be
added to routes on some environments.

3 years agonetwork: add MACAddress= setting in [SR-IOV] section
Yu Watanabe [Mon, 22 Jun 2020 10:48:33 +0000 (19:48 +0900)] 
network: add MACAddress= setting in [SR-IOV] section

3 years agonetwork: add VLANProtocol= setting in [SR-IOV] section
Yu Watanabe [Mon, 22 Jun 2020 10:26:31 +0000 (19:26 +0900)] 
network: add VLANProtocol= setting in [SR-IOV] section

3 years agonetwork: Introduce SR-IOV
Susant Sahani [Sun, 21 Jun 2020 11:17:34 +0000 (11:17 +0000)] 
network: Introduce SR-IOV

SR-IOV provides the ability to partition a single physical PCI
resource into virtual PCI functions which can then be injected in
to a VM. In the case of network VFs, SR-IOV improves north-south n
etwork performance (that is, traffic with endpoints outside the
host machine) by allowing traffic to bypass the host machine’s network stack.

3 years agosd-netlink: Add SR-IOV netlink properties
Susant Sahani [Sun, 21 Jun 2020 11:16:53 +0000 (11:16 +0000)] 
sd-netlink: Add SR-IOV netlink properties

3 years agoudev: spi: include chip select number in ID_PATH
Marc Kleine-Budde [Sun, 28 Jun 2020 19:43:34 +0000 (21:43 +0200)] 
udev: spi: include chip select number in ID_PATH

All devices behind a SPI controller have the same udev ID_PATH property.
This is a problem for predicable network names for CAN controllers.

CAN controllers, in contrast to Ethernet controllers, don't have a MAC
Address, so there's no way to tell two CAN controllers on the same SPI
host controller apart:

$ udevadm info /sys/class/net/can0
P: /devices/platform/soc/fe204000.spi/spi_master/spi0/spi0.1/net/can0
L: 0
E: DEVPATH=/devices/platform/soc/fe204000.spi/spi_master/spi0/spi0.1/net/can0
E: INTERFACE=can0
E: IFINDEX=3
E: SUBSYSTEM=net
E: USEC_INITIALIZED=11187199
E: ID_PATH=platform-fe204000.spi
E: ID_PATH_TAG=platform-fe204000_spi
E: SYSTEMD_ALIAS=/sys/subsystem/net/devices/can0
E: TAGS=:systemd:

$ udevadm info /sys/class/net/can1
P: /devices/platform/soc/fe204000.spi/spi_master/spi0/spi0.0/net/can1
L: 0
E: DEVPATH=/devices/platform/soc/fe204000.spi/spi_master/spi0/spi0.0/net/can1
E: INTERFACE=can1
E: IFINDEX=4
E: SUBSYSTEM=net
E: USEC_INITIALIZED=11192211
E: ID_PATH=platform-fe204000.spi
E: ID_PATH_TAG=platform-fe204000_spi
E: SYSTEMD_ALIAS=/sys/subsystem/net/devices/can1
E: TAGS=:systemd:

With this the chip select number is added to the ID_PATH, to make
predictable network names possible.

$ sudo udevadm info /sys/class/net/can0
P: /devices/platform/soc/fe204000.spi/spi_master/spi0/spi0.1/net/can0
L: 0
E: DEVPATH=/devices/platform/soc/fe204000.spi/spi_master/spi0/spi0.1/net/can0
E: INTERFACE=can0
E: IFINDEX=3
E: SUBSYSTEM=net
E: USEC_INITIALIZED=11187199
E: ID_PATH=platform-fe204000.spi-cs-1
E: ID_PATH_TAG=platform-fe204000_spi-cs-1
E: SYSTEMD_ALIAS=/sys/subsystem/net/devices/can0
E: TAGS=:systemd:

$ sudo udevadm info /sys/class/net/can1
P: /devices/platform/soc/fe204000.spi/spi_master/spi0/spi0.0/net/can1
L: 0
E: DEVPATH=/devices/platform/soc/fe204000.spi/spi_master/spi0/spi0.0/net/can1
E: INTERFACE=can1
E: IFINDEX=4
E: SUBSYSTEM=net
E: USEC_INITIALIZED=11192211
E: ID_PATH=platform-fe204000.spi-cs-0
E: ID_PATH_TAG=platform-fe204000_spi-cs-0
E: SYSTEMD_ALIAS=/sys/subsystem/net/devices/can1
E: TAGS=:systemd:

3 years agoFix build with µhttpd 0.9.71
Zbigniew Jędrzejewski-Szmek [Tue, 30 Jun 2020 07:56:10 +0000 (09:56 +0200)] 
Fix build with µhttpd 0.9.71

The return type of callbacks was changed from int to an enum.

3 years agoMerge pull request #16316 from yuwata/backlight-use-actual-brightness
Yu Watanabe [Wed, 1 Jul 2020 04:10:15 +0000 (13:10 +0900)] 
Merge pull request #16316 from yuwata/backlight-use-actual-brightness

backlight: use actual_brightness attribute to get current backlight level

3 years agoupdate TODO
Lennart Poettering [Tue, 30 Jun 2020 15:13:38 +0000 (17:13 +0200)] 
update TODO

3 years agoMerge pull request #16313 from yuwata/network-move-ipv6ll-gen-mode
Zbigniew Jędrzejewski-Szmek [Tue, 30 Jun 2020 15:13:02 +0000 (17:13 +0200)] 
Merge pull request #16313 from yuwata/network-move-ipv6ll-gen-mode

network: move IPv6LinkLocalAddressGenerationMode= to [Network] section

3 years agocore: store timestamps of unit load attempts
Luca Boccassi [Tue, 16 Jun 2020 17:46:55 +0000 (18:46 +0100)] 
core: store timestamps of unit load attempts

When the system is under heavy load, it can happen that the unit cache
is refreshed for an unrelated reason (in the test I simulate this by
attempting to start a non-existing unit). The new unit is found and
accounted for in the cache, but it's ignored since we are loading
something else.
When we actually look for it, by attempting to start it, the cache is
up to date so no refresh happens, and starting fails although we have
it loaded in the cache.

When the unit state is set to UNIT_NOT_FOUND, mark the timestamp in
u->fragment_loadtime. Then when attempting to load again we can check
both if the cache itself needs a refresh, OR if it was refreshed AFTER
the last failed attempt that resulted in the state being
UNIT_NOT_FOUND.

Update the test so that this issue reproduces more often.

3 years agoMerge pull request #16282 from poettering/repart-copy-blocks
Zbigniew Jędrzejewski-Szmek [Tue, 30 Jun 2020 13:26:06 +0000 (15:26 +0200)] 
Merge pull request #16282 from poettering/repart-copy-blocks

repart: add new CopyBlocks= setting

3 years agobacklight: read current backlight brightness from 'actual_brightness' attribute 16316/head
Yu Watanabe [Tue, 30 Jun 2020 10:41:39 +0000 (19:41 +0900)] 
backlight: read current backlight brightness from 'actual_brightness' attribute

Closes #16302.

3 years agobacklight: call log_setup_service() before logging
Yu Watanabe [Tue, 30 Jun 2020 10:29:42 +0000 (19:29 +0900)] 
backlight: call log_setup_service() before logging

3 years agobacklight: use SYNTHETIC_ERRNO() macro
Yu Watanabe [Tue, 30 Jun 2020 10:28:50 +0000 (19:28 +0900)] 
backlight: use SYNTHETIC_ERRNO() macro

3 years agoshared: split out property get helpers 16303/head
Lennart Poettering [Sun, 28 Jun 2020 14:43:29 +0000 (16:43 +0200)] 
shared: split out property get helpers

No code changes, just some refactoring.

3 years agoshared: split out code for printing properties
Lennart Poettering [Sun, 28 Jun 2020 14:17:46 +0000 (16:17 +0200)] 
shared: split out code for printing properties

No code changes, just some refactoring.

3 years agoshared: split out code that maps properties to local structs
Lennart Poettering [Sun, 28 Jun 2020 14:08:37 +0000 (16:08 +0200)] 
shared: split out code that maps properties to local structs

Just some refactoring, no code changes.

3 years agoshared: actually move all BusLocator related calls to bus-locator.c
Lennart Poettering [Sun, 28 Jun 2020 13:59:37 +0000 (15:59 +0200)] 
shared: actually move all BusLocator related calls to bus-locator.c

3 years agoshared: split out BusObjectImplementor APIs
Lennart Poettering [Sun, 28 Jun 2020 13:37:47 +0000 (15:37 +0200)] 
shared: split out BusObjectImplementor APIs

Just some refactoring, no code changes

3 years agohwdb: adjust touchpad edge detection for X1Tab3 (#16310)
Amos Bird [Tue, 30 Jun 2020 10:04:08 +0000 (18:04 +0800)] 
hwdb: adjust touchpad edge detection for X1Tab3 (#16310)

3 years agoNEWS: minor fixes 16313/head
Yu Watanabe [Tue, 30 Jun 2020 10:00:18 +0000 (19:00 +0900)] 
NEWS: minor fixes

3 years agonetwork: move IPv6LinkLocalAddressGenerationMode= to [Network] section
Yu Watanabe [Tue, 30 Jun 2020 08:01:30 +0000 (17:01 +0900)] 
network: move IPv6LinkLocalAddressGenerationMode= to [Network] section

This also moves and renames variables and functions.

Follow-ups for a6f1848a2328cf1493f363968d105cc23019af8a.

3 years agoNEWS: add several entries about networkd
Yu Watanabe [Tue, 30 Jun 2020 06:25:24 +0000 (15:25 +0900)] 
NEWS: add several entries about networkd

3 years agotest-repart: allow the test to pass on non-amd64 architectures
Zbigniew Jędrzejewski-Szmek [Mon, 29 Jun 2020 13:55:41 +0000 (15:55 +0200)] 
test-repart: allow the test to pass on non-amd64 architectures

We specified type=root and expected to always get root-x86-64, which obviously
cannot work.

3 years agoshell-completion: add missing verbs for networkctl
Yu Watanabe [Tue, 30 Jun 2020 05:44:41 +0000 (14:44 +0900)] 
shell-completion: add missing verbs for networkctl

3 years agotest: bump the timeout for systemd-hwdb-update.service under ASan
Frantisek Sumsal [Sun, 28 Jun 2020 16:53:28 +0000 (18:53 +0200)] 
test: bump the timeout for systemd-hwdb-update.service under ASan

Since the hwdb update from a79be2f80777eb80e0d8177f6bccd7615de7ec1a
the systemd-hwdb-update service started timing out under ASan when
compiled with gcc, as we started tripping over the 3 minutes timeout.

This affects only gcc runs, since the current gcc on Arch still suffers
from the detect_stack_use_after_return performance penalty[0]. Until
the fixed gcc is present in the respective repositories, let's bump
the timeout to 4 minutes, as we might not be able to upgrade right
away, due to systemd/systemd#16199.

Before the hwdb update:
[ 7958.292540] systemd[63]: systemd-hwdb-update.service: Executing: /usr/bin/time systemd-hwdb update
[ 7958.304005] systemd[1]: systemd-journald.service: Got notification message from PID 44 (FDSTORE=1)
[ 7958.314434] systemd[1]: systemd-journald.service: Added fd 3 (n/a) to fd store.
[ 8008.520082] systemd[1]: systemd-journald.service: Got notification message from PID 44 (WATCHDOG=1)
[ 8068.520151] systemd[1]: systemd-journald.service: Got notification message from PID 44 (WATCHDOG=1)
[ 8125.682843] time[63]: 84.47user 82.92system 2:47.50elapsed 99%CPU (0avgtext+0avgdata 811512maxresident)k
[ 8125.682843] time[63]: 0inputs+19680outputs (0major+25000853minor)pagefaults 0swaps

After the hwdb update:
[ 6215.491958] systemd[63]: systemd-hwdb-update.service: Executing: /usr/bin/time systemd-hwdb update
[ 6215.503380] systemd[1]: systemd-journald.service: Got notification message from PID 44 (FDSTORE=1)
[ 6215.514172] systemd[1]: systemd-journald.service: Added fd 3 (n/a) to fd store.
[ 6329.392918] systemd[1]: systemd-journald.service: Got notification message from PID 44 (WATCHDOG=1)
[ 6394.920205] time[63]: 89.48user 89.98system 2:59.55elapsed 99%CPU (0avgtext+0avgdata 812764maxresident)k
[ 6394.920205] time[63]: 0inputs+20568outputs (0major+27318354minor)pagefaults 0swaps

[0] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94910

3 years agoMerge pull request #16142 from poettering/random-seed-cmdline
Zbigniew Jędrzejewski-Szmek [Fri, 26 Jun 2020 20:42:51 +0000 (22:42 +0200)] 
Merge pull request #16142 from poettering/random-seed-cmdline

pid1: add support for allowing to pass in random seed via kernel cmdline

3 years agopid1: warn if people use User=nobody (#16293)
Lennart Poettering [Fri, 26 Jun 2020 20:36:39 +0000 (22:36 +0200)] 
pid1: warn if people use User=nobody (#16293)

3 years agoefi: define cache functions inside EFI_ENABLE ifdef
Luca Boccassi [Fri, 26 Jun 2020 15:25:13 +0000 (16:25 +0100)] 
efi: define cache functions inside EFI_ENABLE ifdef

../src/shared/efi-loader.c:738:5: error: redefinition of 'efi_loader_get_config_timeout_one_shot'
 int efi_loader_get_config_timeout_one_shot(usec_t *ret) {
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../src/shared/efi-loader.c:9:
../src/shared/efi-loader.h:85:19: note: previous definition of 'efi_loader_get_config_timeout_one_shot' was here
 static inline int efi_loader_get_config_timeout_one_shot(usec_t *ret) {
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/shared/efi-loader.c:776:5: error: redefinition of 'efi_loader_update_entry_one_shot_cache'
 int efi_loader_update_entry_one_shot_cache(char **cache, struct stat *cache_stat) {
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../src/shared/efi-loader.c:9:
../src/shared/efi-loader.h:89:19: note: previous definition of 'efi_loader_update_entry_one_shot_cache' was here
 static inline int efi_loader_update_entry_one_shot_cache(char **cache, struct stat *cache_stat) {

3 years agotree-wide: spellcheck fixes
Frantisek Sumsal [Fri, 26 Jun 2020 19:30:04 +0000 (21:30 +0200)] 
tree-wide: spellcheck fixes

Most of them were reported by Fossies.org

3 years agoNEWS: reorder entries with some minor additions
Zbigniew Jędrzejewski-Szmek [Fri, 26 Jun 2020 17:25:04 +0000 (19:25 +0200)] 
NEWS: reorder entries with some minor additions

Let's make this easier for readers by grouping common subjects together.

Roughly: pid1 features, unit file changes, general syntax changes, kernel
options, general defaults, udevd features, networkd and .network/.netdev
features, networkctl, resolved, systemctl, systemd-run, journald, journalctl,
various other tools, low-level dbus and library stuff, documentation.

3 years agocore: add device mapper to allow-list with DevicePolicy=closed and RootImage
Luca Boccassi [Fri, 26 Jun 2020 11:19:48 +0000 (12:19 +0100)] 
core: add device mapper to allow-list with DevicePolicy=closed and RootImage

To set up a verity/cryptsetup RootImage the forked child needs to
ioctl /dev/mapper/control and create a new mapper.
If PrivateDevices=yes and/or DevicePolicy=closed are used, this is
blocked by the cgroup setting, so add an exception like it's done
for loop devices (and also add a dependency on the kernel modules
implementing them).

3 years agoupdate TODO
Lennart Poettering [Fri, 26 Jun 2020 16:04:52 +0000 (18:04 +0200)] 
update TODO

3 years agoupdate TODO
Lennart Poettering [Fri, 26 Jun 2020 13:43:24 +0000 (15:43 +0200)] 
update TODO

3 years agoMerge pull request #16281 from poettering/logind-cache-more-efi
Lennart Poettering [Fri, 26 Jun 2020 13:12:57 +0000 (15:12 +0200)] 
Merge pull request #16281 from poettering/logind-cache-more-efi

logind: cache two more EFI variables in logind

3 years agoAdd quotes for -n
Gaoyi [Fri, 26 Jun 2020 05:55:41 +0000 (13:55 +0800)] 
Add quotes for -n

According to SC2070, -n doesn't work with unquoted arguments
https://github.com/koalaman/shellcheck/wiki/SC2070

Signed-off-by: Gaoyi <ymuemc@163.com>
3 years agoJOURNAL_FILE_FORMAT: minor markdown fixes
Lennart Poettering [Fri, 26 Jun 2020 11:55:18 +0000 (13:55 +0200)] 
JOURNAL_FILE_FORMAT: minor markdown fixes

3 years agoNEWS: add more items for 246
Lennart Poettering [Fri, 26 Jun 2020 11:54:54 +0000 (13:54 +0200)] 
NEWS: add more items for 246

3 years agologind: also cache LoaderEntryOneShot EFI variable 16281/head
Lennart Poettering [Thu, 25 Jun 2020 14:25:41 +0000 (16:25 +0200)] 
logind: also cache LoaderEntryOneShot EFI variable

With this we are now caching all EFI variables that we expose as
property in logind. Thus a client invoking GetAllProperties() should
only trgger a single read of each variable, but never repeated ones.

Obsoletes: #16190
Fixes: #14828
3 years agoefi-loader: cache LoaderConfigTimeoutOneShot too
Lennart Poettering [Thu, 25 Jun 2020 13:24:25 +0000 (15:24 +0200)] 
efi-loader: cache LoaderConfigTimeoutOneShot too

The data from this EFI variable is exposed as dbus property, and gdbus
clients are happy to issue GetAllProperties() as if it was free. Hence
make sure it's actually free and cache LoaderConfigTimeoutOneShot, since
it's easy.

3 years agotmpfile-util: typo fixes
Lennart Poettering [Thu, 25 Jun 2020 13:24:06 +0000 (15:24 +0200)] 
tmpfile-util: typo fixes

3 years agoutil: add missing header guard
Yu Watanabe [Thu, 25 Jun 2020 20:36:01 +0000 (05:36 +0900)] 
util: add missing header guard

3 years agoMerge pull request #16096 from poettering/journal-hash-fix
Zbigniew Jędrzejewski-Szmek [Fri, 26 Jun 2020 05:27:05 +0000 (07:27 +0200)] 
Merge pull request #16096 from poettering/journal-hash-fix

journal file hash table hardening + zstd support

3 years agohwdb: update for v246
Zbigniew Jędrzejewski-Szmek [Thu, 25 Jun 2020 13:44:06 +0000 (15:44 +0200)] 
hwdb: update for v246

As usual, it seems that there are mostly additions with a smaller amount
of corrections, no big removals.

3 years agoupdate TODO 16282/head
Lennart Poettering [Thu, 25 Jun 2020 16:52:43 +0000 (18:52 +0200)] 
update TODO

3 years agorepart: add new CopyBlocks= setting
Lennart Poettering [Thu, 25 Jun 2020 16:51:16 +0000 (18:51 +0200)] 
repart: add new CopyBlocks= setting

This allows copying in arbitrary file systems on the block level into
newly created partitions.

Usecase: simple replicating OS installers or OS image builders.

3 years agoMerge pull request #16275 from yuwata/network-deprecate-netdevsim
Zbigniew Jędrzejewski-Szmek [Thu, 25 Jun 2020 16:41:49 +0000 (18:41 +0200)] 
Merge pull request #16275 from yuwata/network-deprecate-netdevsim

network: deprecate netdevsim support

3 years agoudev: split attribute assignment for MMC cards
Łukasz Stelmach [Wed, 24 Jun 2020 17:24:13 +0000 (19:24 +0200)] 
udev: split attribute assignment for MMC cards

Some cards have names consisting only of whitespace characters which
prevents the original rule from matching and assigning ID_SERIAL
properly. With the split rules ID_SERIAL and ID_NAME are assigned
independently and the symlink is created only if both are available the
same way it has worked for partitions.

3 years agoportabled: create temp file for unit, not directory
Luca Boccassi [Tue, 23 Jun 2020 14:56:33 +0000 (15:56 +0100)] 
portabled: create temp file for unit, not directory

open_tmpfile_linkable is used to create a temporary file in the same
directory as the target, but portabled uses the name of the parent
directory instead of the file it intends to create.
In other words, it creats a tmp for /etc/systemd/system.attached instead
of /etc/systemd/system.attached/foo.service.
It still works because it's later moved in the right place.
But as a side effect, it tries the create the file in the parent directory
which is /etc/systemd, and it case of read-only filesystems it fails.

3 years agoselinux: check mac_selinux_init() in tests
Christian Göttsche [Thu, 25 Jun 2020 12:36:49 +0000 (14:36 +0200)] 
selinux: check mac_selinux_init() in tests

Since bc8d57f2903d mac_selinux_init() is checked and considered fatal
tree-wide.

Coverity complains about it not being checked in the test code.

Follow-up of: #16223
Fixes: CID 1429975
3 years agoMerge pull request #16278 from keszybz/fix-man-links
Zbigniew Jędrzejewski-Szmek [Thu, 25 Jun 2020 16:38:37 +0000 (18:38 +0200)] 
Merge pull request #16278 from keszybz/fix-man-links

Fix html links

3 years agoMerge pull request #15624 from poettering/hostnamed-instant
Zbigniew Jędrzejewski-Szmek [Thu, 25 Jun 2020 16:36:56 +0000 (18:36 +0200)] 
Merge pull request #15624 from poettering/hostnamed-instant

hostnamed: stop caching so much

3 years agoMerge pull request #15697 from OhNoMoreGit/fix-path-units
Zbigniew Jędrzejewski-Szmek [Thu, 25 Jun 2020 16:23:47 +0000 (18:23 +0200)] 
Merge pull request #15697 from OhNoMoreGit/fix-path-units

Recheck PathExists=, PathExistsGlob=, DirectoryNotEmpty= when triggered unit terminates

3 years agoupdate TODO 16096/head
Lennart Poettering [Tue, 2 Jun 2020 08:39:19 +0000 (10:39 +0200)] 
update TODO

3 years agocompress: do something roughly reasonable when building without compressor
Lennart Poettering [Wed, 24 Jun 2020 14:35:10 +0000 (16:35 +0200)] 
compress: do something roughly reasonable when building without compressor

3 years agocoredump: use log_error_errno() where appropriate
Lennart Poettering [Wed, 24 Jun 2020 14:34:36 +0000 (16:34 +0200)] 
coredump: use log_error_errno() where appropriate

3 years agotree-wide: add new HAVE_COMPRESSION compile time flag
Lennart Poettering [Wed, 24 Jun 2020 14:33:41 +0000 (16:33 +0200)] 
tree-wide: add new HAVE_COMPRESSION compile time flag

let's simplify the checks for ZSTD/LZ4/XZ

As suggested:

https://github.com/systemd/systemd/pull/16096#discussion_r440705585

3 years agodocs: document the new journal file format additions
Lennart Poettering [Mon, 1 Jun 2020 22:13:42 +0000 (00:13 +0200)] 
docs: document the new journal file format additions

3 years agodocs: import journal file format docs from fdo wiki
Lennart Poettering [Mon, 1 Jun 2020 20:56:02 +0000 (22:56 +0200)] 
docs: import journal file format docs from fdo wiki

Just an import, with no textual changes (some fixed URLs however)

3 years agojournal: support zstd compression for large objects in journal files
Lennart Poettering [Mon, 1 Jun 2020 21:26:55 +0000 (23:26 +0200)] 
journal: support zstd compression for large objects in journal files

3 years agojournal-file: when individual hash chains grow too large, rotate
Lennart Poettering [Mon, 1 Jun 2020 17:40:30 +0000 (19:40 +0200)] 
journal-file: when individual hash chains grow too large, rotate

Even with the new keyed hash table journal feature: if an attacker
manages to get access to the journal file id it could synthesize records
that result in hash collisions. Let's rotate automatically when we
notice that, so that a new journal file ID is generated, our performance
is restored and the attacker has to guess a new file ID before being
able to trigger the issue again.

That said, untrusted peers should never get access to journal files in
the first case...

3 years agojournal: use a different hash function for each journal file
Lennart Poettering [Fri, 29 May 2020 22:00:50 +0000 (00:00 +0200)] 
journal: use a different hash function for each journal file

This adds a new (incompatible) feature to journal files: if enabled the
hash function used for the hash tables is no longer jenkins hash with a
zero key, but siphash keyed by the file uuid that is included in the
file header anyway. This should make our hash tables more robust against
collision attacks, as long as the attacker has no read access to the
journal files. We switch from jenkins to siphash simply because it's
more well-known and we standardize for the rest of our codebase onto it.

This is hardening in order to make collision attacks harder for clients
that can forge log messages but have no read access to the logs. It has
no effect on clients that have read access.

3 years agojournal: make signature arrays const
Lennart Poettering [Mon, 1 Jun 2020 16:50:33 +0000 (18:50 +0200)] 
journal: make signature arrays const

3 years agojournal: rename hash64() to jenkins_hash64()
Lennart Poettering [Mon, 1 Jun 2020 16:20:41 +0000 (18:20 +0200)] 
journal: rename hash64() to jenkins_hash64()

Let's prefix this with "jenkins_" since it wraps the jenkins hash. We
want to add support for other hash functions to journald soon, hence
better be clear with what this is. In particular as all other symbols
defined by lookup3.h actually are prefixed "jenkins_".

3 years agojournal-file: rename return parameters to ret_xyz
Lennart Poettering [Mon, 1 Jun 2020 16:15:40 +0000 (18:15 +0200)] 
journal-file: rename return parameters to ret_xyz

Let's clean this up a bit, following our usual nomenclature to name
return parameters ret-xyz.

This is mostly a bit of renaming, but there's also some minor other
changes: if we return a pointer to a mmap'ed object plus its offset, in
almost all cases we are happy if either parameter is NULL in case the
caller is not interested in it. Let's fix the remaining case to do this
too, to minimize surprises.

3 years agojournal-file: also show field hash table size in debug output
Lennart Poettering [Fri, 29 May 2020 23:29:37 +0000 (01:29 +0200)] 
journal-file: also show field hash table size in debug output

3 years agojournal-file: simplify boot ID acquiring
Lennart Poettering [Fri, 29 May 2020 22:32:31 +0000 (00:32 +0200)] 
journal-file: simplify boot ID acquiring

3 years agojournal: store NE hash instead of LE hash in Match object
Lennart Poettering [Mon, 1 Jun 2020 16:06:16 +0000 (18:06 +0200)] 
journal: store NE hash instead of LE hash in Match object

We keep converting forth and back though we never need it in LE. Let's
stop doing those conversions hence.

3 years agojournal-file: use FLAGS_SET where appropriate
Lennart Poettering [Fri, 29 May 2020 21:35:25 +0000 (23:35 +0200)] 
journal-file: use FLAGS_SET where appropriate

3 years agojournal: fix definition of _OBJECT_COMPRESSED_MAX
Lennart Poettering [Mon, 1 Jun 2020 22:26:34 +0000 (00:26 +0200)] 
journal: fix definition of _OBJECT_COMPRESSED_MAX

The object flags field is a bitmask, hence don't sloppily define
_OBJECT_COMPRESSED_MAX as one mor than the previous flag. That worked OK
as long as we only had two flags, but will fall apart as soon as we have
three. Let's fix this.

(It's kinda sloppy how the string table is built here, as it will be
quite sparse as soon as we have more enum entries, but let's keep it for
now.)

3 years agomacro: add CONST_MIN() similar to CONST_MAX()
Lennart Poettering [Fri, 29 May 2020 21:27:59 +0000 (23:27 +0200)] 
macro: add CONST_MIN() similar to CONST_MAX()

3 years agoman: reword awkward sentence 16278/head
Zbigniew Jędrzejewski-Szmek [Thu, 25 Jun 2020 12:41:05 +0000 (14:41 +0200)] 
man: reword awkward sentence

3 years agoman: fix various internal references
Zbigniew Jędrzejewski-Szmek [Thu, 25 Jun 2020 12:38:21 +0000 (14:38 +0200)] 
man: fix various internal references

Found with linkchecker.

3 years agoman: fix links to various external man pages
Zbigniew Jędrzejewski-Szmek [Thu, 25 Jun 2020 12:37:24 +0000 (14:37 +0200)] 
man: fix links to various external man pages

In cases where we used both die-net and man-pages for the same reference,
I switched to use man-pages everywhere.

3 years agoMerge pull request #16257 from keszybz/two-fuzzer-issues
Lennart Poettering [Thu, 25 Jun 2020 12:40:35 +0000 (14:40 +0200)] 
Merge pull request #16257 from keszybz/two-fuzzer-issues

Two fuzzer issues

3 years agoMerge pull request #16249 from bluca/root_verity_sig
Lennart Poettering [Thu, 25 Jun 2020 11:53:17 +0000 (13:53 +0200)] 
Merge pull request #16249 from bluca/root_verity_sig

Verity: add support for root hash signature

3 years agohostnamed: minimize caching of /etc/hostname, /etc/os-release and /etc/machine-info 15624/head
Lennart Poettering [Tue, 28 Apr 2020 15:42:46 +0000 (17:42 +0200)] 
hostnamed: minimize caching of /etc/hostname, /etc/os-release and /etc/machine-info

Instead of reading these files at startup and never again, let's read
them when we need them. As an optimization (in particular as some of
these files contain the data for many fields at once) let's cache the
results as long as the stat data (i.e. mtime) remains stable.

Also, while we are at it, if we can't read any of these props, let's not
fail everything, but continue without the data.