]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
2 years agoMerge pull request #21634 from yuwata/dhcp-header-cleanups
Yu Watanabe [Mon, 6 Dec 2021 13:26:58 +0000 (22:26 +0900)] 
Merge pull request #21634 from yuwata/dhcp-header-cleanups

dhcp: trivial header cleanups

2 years agoMerge pull request #21632 from yuwata/network-dhcp6pd-fix-typo-and-split
Yu Watanabe [Mon, 6 Dec 2021 12:24:47 +0000 (21:24 +0900)] 
Merge pull request #21632 from yuwata/network-dhcp6pd-fix-typo-and-split

network: dhcp6pd: fix typo and split file

2 years agoMerge pull request #21630 from yuwata/test-network-cleanups
Yu Watanabe [Mon, 6 Dec 2021 12:24:26 +0000 (21:24 +0900)] 
Merge pull request #21630 from yuwata/test-network-cleanups

test-network: trivial cleanups

2 years agonetwork: eui64 address is supported only ethernet or infiniband
Yu Watanabe [Mon, 6 Dec 2021 00:33:14 +0000 (09:33 +0900)] 
network: eui64 address is supported only ethernet or infiniband

So, this makes prefixstable mode will be used for other interface types.

2 years agoMerge pull request #21454 from bluca/inspect_elf
Zbigniew Jędrzejewski-Szmek [Mon, 6 Dec 2021 11:45:25 +0000 (12:45 +0100)] 
Merge pull request #21454 from bluca/inspect_elf

analyze: add inspect-elf verb to parse package metadata

2 years agoman: fix description of sd_uid_get_sessions
Pavel Březina [Thu, 2 Dec 2021 12:07:07 +0000 (13:07 +0100)] 
man: fix description of sd_uid_get_sessions

2 years agojournal: don't remove the flushed flag when journald is stopped
Franck Bui [Wed, 1 Dec 2021 07:51:48 +0000 (08:51 +0100)] 
journal: don't remove the flushed flag when journald is stopped

Due to the fact that systemd-journal-flush.service has
"Requires=systemd-journald.service", this service is stopped too when journald
is requested to do so.

However stopping systemd-journal-flush.service implies that journald
relinquishes /var hence implicitly switching back to the volatile storage
mode and removing /run/systemd/journal/flushed.

If journald is started afterwards, it will run in volatile storage mode
regardless of the value of 'Storage=' as it believes now that /var is not yet
ready (because the flushed flag is missing).

Because this flag is mainly an indication for journald that the initialization
of /var/log/journal (during the boot process) has been done,
systemd-journal-flush.service shouldn't be tied to the state of journald itself
but to the state of /var/log/journal, hence to the state of the system.

2 years agosystemctl: support JSON output for "show-environment"
Joris Hartog [Wed, 1 Dec 2021 14:06:29 +0000 (15:06 +0100)] 
systemctl: support JSON output for "show-environment"

This commit adds a function which converts a bus message containing the
environment variables to a JSON object and uses this function to support
JSON formatted output for the "systemctl show-environment" command.

Fixes #21348

2 years agoMerge pull request #21621 from mrc0mmand/lgtm-false-positive
Zbigniew Jędrzejewski-Szmek [Mon, 6 Dec 2021 10:31:38 +0000 (11:31 +0100)] 
Merge pull request #21621 from mrc0mmand/lgtm-false-positive

lgtm: ignore certain cleanup functions

2 years agohwdb: Allow console users access to rfkill
Bastien Nocera [Thu, 2 Dec 2021 12:15:44 +0000 (13:15 +0100)] 
hwdb: Allow console users access to rfkill

This rule has been shipped in Fedora's gnome-bluetooth package for 10
years and is used by the gnome-settings-daemon rfkill plugin (used by
gnome-bluetooth, gnome-shell, and gnome-control-center) to monitor
and change software rfkill switch settings.

2 years agosd_bus_get_timeout: fix timeout value doc
Urs Ritzmann [Fri, 3 Dec 2021 14:47:18 +0000 (15:47 +0100)] 
sd_bus_get_timeout: fix timeout value doc

The documentation of sd_bus_get_timeout wrongfully states that the returned time-value is relative. In fact, it is an absolute value which is based of CLOCK_MONOTONIC. This change corrects that documentation.

2 years agotest-network: start dhcpd after address is assigned 21630/head
Yu Watanabe [Mon, 6 Dec 2021 00:04:52 +0000 (09:04 +0900)] 
test-network: start dhcpd after address is assigned

2 years agotest-network: make start_isc_dhcpd() take IP version
Yu Watanabe [Mon, 6 Dec 2021 00:02:37 +0000 (09:02 +0900)] 
test-network: make start_isc_dhcpd() take IP version

2 years agonetwork: split networkd-dhcp6.c 21632/head
Yu Watanabe [Sat, 4 Dec 2021 18:12:46 +0000 (03:12 +0900)] 
network: split networkd-dhcp6.c

This moves DHCPv6 prefix delegation related functions to
networkd-dhcp-prefix-delegation.c.

2 years agonetwork: dhcp6pd: fix copy-and-paste error
Yu Watanabe [Sat, 4 Dec 2021 22:30:24 +0000 (07:30 +0900)] 
network: dhcp6pd: fix copy-and-paste error

2 years agodhcp: fix indentation and alignment 21634/head
Yu Watanabe [Fri, 3 Dec 2021 06:38:16 +0000 (15:38 +0900)] 
dhcp: fix indentation and alignment

2 years agodhcp6: drop unnecessary space
Yu Watanabe [Fri, 3 Dec 2021 06:37:14 +0000 (15:37 +0900)] 
dhcp6: drop unnecessary space

2 years agoMerge pull request #21623 from nabijaczleweli/ekstrahuje
Zbigniew Jędrzejewski-Szmek [Mon, 6 Dec 2021 10:10:40 +0000 (11:10 +0100)] 
Merge pull request #21623 from nabijaczleweli/ekstrahuje

man/kernel-install clarifications

2 years agoMerge pull request #21629 from yuwata/man-netdev-update
Zbigniew Jędrzejewski-Szmek [Mon, 6 Dec 2021 09:23:04 +0000 (10:23 +0100)] 
Merge pull request #21629 from yuwata/man-netdev-update

man: netdev: several cleanups

2 years agoman: netdev: merge and reword Egress/IngressQOSMAps= 21629/head
Yu Watanabe [Mon, 6 Dec 2021 08:59:35 +0000 (17:59 +0900)] 
man: netdev: merge and reword Egress/IngressQOSMAps=

2 years agoMerge pull request #21628 from yuwata/man-network-dnssec
Zbigniew Jędrzejewski-Szmek [Mon, 6 Dec 2021 07:54:43 +0000 (08:54 +0100)] 
Merge pull request #21628 from yuwata/man-network-dnssec

man: network: fix default values for DNSSEC= and DNSOverTLS=

2 years agoman: netdev: use … to specify range
Yu Watanabe [Mon, 6 Dec 2021 07:53:35 +0000 (16:53 +0900)] 
man: netdev: use … to specify range

2 years agoman: netdev: use <varname> tag
Yu Watanabe [Mon, 6 Dec 2021 07:51:57 +0000 (16:51 +0900)] 
man: netdev: use <varname> tag

2 years agoman: network: fix default values for DNSSEC= and DNSOverTLS= 21628/head
Yu Watanabe [Mon, 6 Dec 2021 07:29:46 +0000 (16:29 +0900)] 
man: network: fix default values for DNSSEC= and DNSOverTLS=

2 years agoman: network: rebreak lines
Yu Watanabe [Mon, 6 Dec 2021 07:28:10 +0000 (16:28 +0900)] 
man: network: rebreak lines

2 years agomeson: remove openssl dependency from repart
Luca Boccassi [Sun, 5 Dec 2021 13:42:38 +0000 (13:42 +0000)] 
meson: remove openssl dependency from repart

No longer needed since ade99252e2cdd9eeff78566789008996d27e4dc0

2 years agotree-wide: check for NULLs in more places
Frantisek Sumsal [Sat, 4 Dec 2021 11:11:31 +0000 (12:11 +0100)] 
tree-wide: check for NULLs in more places

Fixes issues pointed out by the `cpp/inconsistent-null-check` LGTM
query.

2 years agolgtm: detect more possible problematic scenarios 21621/head
Frantisek Sumsal [Sun, 5 Dec 2021 15:11:35 +0000 (16:11 +0100)] 
lgtm: detect more possible problematic scenarios

1) don't ignore stack-allocated variables, since they may hide
   heap-allocated stuff (compound types)
2) check if there's a return between the variable declaration and its
   initialization; if so, treat the variable as uninitialized
3) introduction of 2) increased the query runtime exponentially, so
   introduce some optimizations to bring it back to some reasonable
   values

2 years agokernel-install: fix MACHINE_ID extraction behaviour description 21623/head
наб [Sun, 5 Dec 2021 15:55:47 +0000 (16:55 +0100)] 
kernel-install: fix MACHINE_ID extraction behaviour description

2 years agokernel-install: note the default $PRETTY_NAME if os-release wasn't found and that...
наб [Tue, 16 Mar 2021 16:46:33 +0000 (17:46 +0100)] 
kernel-install: note the default $PRETTY_NAME if os-release wasn't found and that only 90-loaderentry uses it

2 years agokernel-install: note that 90-loaderentry will also use /usr/lib/k/cmdline
наб [Tue, 16 Mar 2021 16:39:56 +0000 (17:39 +0100)] 
kernel-install: note that 90-loaderentry will also use /usr/lib/k/cmdline

2 years agolgtm: ignore certain cleanup functions
Frantisek Sumsal [Sun, 5 Dec 2021 09:25:28 +0000 (10:25 +0100)] 
lgtm: ignore certain cleanup functions

as they don't do any illegal stuff even when used with an uninitialized
variable.

2 years agoNEWS: add more entries for v250
Luca Boccassi [Sun, 5 Dec 2021 14:10:09 +0000 (14:10 +0000)] 
NEWS: add more entries for v250

2 years agoMerge pull request #21563 from yuwata/network-IPoIB-support
Yu Watanabe [Sat, 4 Dec 2021 20:24:01 +0000 (05:24 +0900)] 
Merge pull request #21563 from yuwata/network-IPoIB-support

network: IPoIB support

2 years agosd-netlink: fix implicit cast to boolean 21563/head
Yu Watanabe [Sat, 4 Dec 2021 06:27:53 +0000 (15:27 +0900)] 
sd-netlink: fix implicit cast to boolean

2 years agonetwork: set MTU after IPoIB configs are applied
Yu Watanabe [Mon, 8 Nov 2021 03:19:56 +0000 (12:19 +0900)] 
network: set MTU after IPoIB configs are applied

MTU is updated when IB mode is changed.

2 years agonetwork: add support to configure IPoIB interfaces
Yu Watanabe [Mon, 8 Nov 2021 00:41:51 +0000 (09:41 +0900)] 
network: add support to configure IPoIB interfaces

2 years agonetwork/netdev: add support to create IPoIB subinterface
Yu Watanabe [Sun, 7 Nov 2021 21:34:43 +0000 (06:34 +0900)] 
network/netdev: add support to create IPoIB subinterface

2 years agosd-netlink: add support for IPoIB
Yu Watanabe [Sun, 7 Nov 2021 21:43:17 +0000 (06:43 +0900)] 
sd-netlink: add support for IPoIB

2 years agonetwork/netdev: generate persistent MAC address when creating netdev interface
Yu Watanabe [Tue, 9 Nov 2021 06:51:58 +0000 (15:51 +0900)] 
network/netdev: generate persistent MAC address when creating netdev interface

Preparation for later commits.

2 years agoci: consider `cryptolib` in the group identifier
Frantisek Sumsal [Fri, 3 Dec 2021 16:07:34 +0000 (17:07 +0100)] 
ci: consider `cryptolib` in the group identifier

otherwise we end up with more than one job with the same identifier in
one run, causing some of them to get cancelled unexpectedly.

A quick follow-up to 85bd394df57fe45c2873605e2c1d1d79e83e853d.

2 years agoMerge pull request #21607 from mrc0mmand/ci-install-libbpf
Luca Boccassi [Fri, 3 Dec 2021 18:37:33 +0000 (18:37 +0000)] 
Merge pull request #21607 from mrc0mmand/ci-install-libbpf

ci: run build test with BPF-related stuff as well

2 years agoMerge pull request #21582 from mrc0mmand/lgtm-uninitialized
Luca Boccassi [Fri, 3 Dec 2021 18:25:19 +0000 (18:25 +0000)] 
Merge pull request #21582 from mrc0mmand/lgtm-uninitialized

lgtm: enable more queries

2 years agoci: install libbpf 21607/head
Frantisek Sumsal [Fri, 3 Dec 2021 15:30:56 +0000 (16:30 +0100)] 
ci: install libbpf

2 years agoanalyze: fix build with -Db_ndebug=true
Frantisek Sumsal [Fri, 3 Dec 2021 06:37:32 +0000 (07:37 +0100)] 
analyze: fix build with -Db_ndebug=true

2 years agomeson: support versioned llvm binaries in BPF detection
Frantisek Sumsal [Thu, 2 Dec 2021 20:49:02 +0000 (21:49 +0100)] 
meson: support versioned llvm binaries in BPF detection

2 years agoBump the max number of inodes for /dev to 128k
Franck Bui [Fri, 3 Dec 2021 10:23:36 +0000 (11:23 +0100)] 
Bump the max number of inodes for /dev to 128k

Follow-up for 7d85383edbab73274dc81cc888d884bb01070bc2.

Apparently the previous limit set on the max number of inodes for /dev was too
small as a system with 4096 LUNs attached can consume up to 95k inodes for
symlinks:

  # /bin/df -i
  Filesystem                 Inodes  IUsed    IFree IUse% Mounted on
  devtmpfs                 49274377  95075 49179302    1% /dev

Hence this patch bumps the limit from 64k to 128k although the new limit is
still pretty arbitrary (that said, not sure if it really makes sense to put
such absolute limit number).

2 years agoMerge pull request #21170 from keszybz/delibgcryptify
Zbigniew Jędrzejewski-Szmek [Fri, 3 Dec 2021 12:44:53 +0000 (13:44 +0100)] 
Merge pull request #21170 from keszybz/delibgcryptify

Allow systemd-resolved and systemd-importd to use libgcrypt or libopenssl

2 years agocryptenroll: fix wrong error messages
Gibeom Gwon [Fri, 3 Dec 2021 06:10:50 +0000 (15:10 +0900)] 
cryptenroll: fix wrong error messages

PKCS#11 -> FIDO2 in cryptenroll-fido2.c

2 years agoMerge pull request #21599 from loongarch64/dev-syscalls
Zbigniew Jędrzejewski-Szmek [Fri, 3 Dec 2021 07:11:31 +0000 (08:11 +0100)] 
Merge pull request #21599 from loongarch64/dev-syscalls

Add LoongArch 64bit syscalls

2 years agomeson: correctly display enabled features
Frantisek Sumsal [Thu, 2 Dec 2021 17:42:31 +0000 (18:42 +0100)] 
meson: correctly display enabled features

In 9cf75222f20 the conf.get() statements for `bpf-framework` and
`valgrind` were dropped, which causes the respective features to always
show as disabled (since they don't follow the "standard" naming scheme
with HAVE_/ENABLE_ prefixes).

2 years agolgtm: enable more (and potentially useful) queries 21582/head
Frantisek Sumsal [Tue, 30 Nov 2021 22:40:28 +0000 (23:40 +0100)] 
lgtm: enable more (and potentially useful) queries

Not all available queries on LGTM are enabled by default, but some of
the excluded ones might come in handy, hence let's enable them
explicitly.

2 years agolgtm: don't treat the custom note as a list of tags
Frantisek Sumsal [Thu, 2 Dec 2021 15:55:17 +0000 (16:55 +0100)] 
lgtm: don't treat the custom note as a list of tags

Just a cosmetic change.

2 years agolgtm: detect uninitialized variables using the __cleanup__ attribute
Frantisek Sumsal [Wed, 1 Dec 2021 20:31:43 +0000 (21:31 +0100)] 
lgtm: detect uninitialized variables using the __cleanup__ attribute

This is a slightly modified version of the original
`cpp/uninitialized-local` CodeQL query which focuses only on variables
using the cleanup macros. Since this has proven to cause issues in the
past, let's panic on every uninitialized variable using any of the
cleanup macros (as long as they're written using the __cleanup__
attribute).

Some test results from a test I used when writing the query:

```
 #define _cleanup_foo_ __attribute__((__cleanup__(foo)))
 #define _cleanup_(x) __attribute__((__cleanup__(x)))

 static inline void freep(void *p) {
         *(void**)p = mfree(*(void**) p);
 }

 #define _cleanup_free_ _cleanup_(freep)

 static inline void foo(char **p) {
     if (*p)
         *p = free(*p);
 }

 int main(void) {
     __attribute__((__cleanup__(foo))) char *a;
     char *b;
     _cleanup_foo_ char *c;
     char **d;
     _cleanup_free_ char *e;
     int r;

     r = fun(&e);
     if (r < 0)
         return 1;

     puts(a);
     puts(b);
     puts(c);
     puts(*d);
     puts(e);

     return 0;
 }
```

```
+| test.c:23:14:23:14 | e | The variable $@ may not be initialized here, but has a cleanup handler. | test.c:20:26:20:26 | e | e |
+| test.c:27:10:27:10 | a | The variable $@ may not be initialized here, but has a cleanup handler. | test.c:16:45:16:45 | a | a |
+| test.c:29:10:29:10 | c | The variable $@ may not be initialized here, but has a cleanup handler. | test.c:18:25:18:25 | c | c |
```

2 years agocore: support user manager with Condition[Memory/CPU/IO]Pressure
Luca Boccassi [Wed, 1 Dec 2021 14:16:24 +0000 (14:16 +0000)] 
core: support user manager with Condition[Memory/CPU/IO]Pressure

Get the cgroup root path from the current PID, so that when
ran by the user manager we can get to the right path.
Eg: foo.slice:10% will check under:

/sys/fs/cgroup/user.slice/user-1000.slice/user@1000.service/foo.slice/cpu.pressure

Follow-up for 81513b382b24a7f3602987f71042d075ca27d1a5

2 years agomeson: disallow the combination of cryptolib=openssl and dns-over-tls=gnutls 21170/head
Zbigniew Jędrzejewski-Szmek [Thu, 2 Dec 2021 10:29:45 +0000 (11:29 +0100)] 
meson: disallow the combination of cryptolib=openssl and dns-over-tls=gnutls

It could work, but it doesn't make much sense. If we already have openssl as
the cryptolib that provides the necessary support, let's not bring in another
library. Disallowing this simplifies things and reduces our support matrix.

2 years agoci: expand the test framework to cover openssl
Zbigniew Jędrzejewski-Szmek [Wed, 1 Dec 2021 11:50:01 +0000 (12:50 +0100)] 
ci: expand the test framework to cover openssl

2 years agoMerge pull request #21584 from yuwata/network-wireguard-cleanups
Yu Watanabe [Thu, 2 Dec 2021 06:53:57 +0000 (15:53 +0900)] 
Merge pull request #21584 from yuwata/network-wireguard-cleanups

network: cleanups for wireguard

2 years agoRevert "network: address: drop deprecated temporary address"
Yu Watanabe [Thu, 2 Dec 2021 00:53:49 +0000 (09:53 +0900)] 
Revert "network: address: drop deprecated temporary address"

This reverts commit 528da64a0c734bd45e953b5c57d82e2a727435ef.

The commit is a bad way to fix #19838, and introduces #21593.

Fixes #21593.

2 years agonetwork/wireguard: search valid address of the endpoint from all struct addrinfo... 21584/head
Yu Watanabe [Mon, 29 Nov 2021 15:20:03 +0000 (00:20 +0900)] 
network/wireguard: search valid address of the endpoint from all struct addrinfo entries

2 years agonetwork/wireguard: cleanups for resolving endpoints
Yu Watanabe [Mon, 29 Nov 2021 12:21:21 +0000 (21:21 +0900)] 
network/wireguard: cleanups for resolving endpoints

This makes
- drop peers_with_unresolved_endpoint and peers_with_failed_endpoint,
- drop destroy handler for sd_resolve_query, and manage each query by peer,
- add random fluctuation to the timeout for retry handler,
- retry timer event source is now managed by peer,
- use sd_event_source_disable_unref().

2 years agonetwork/wireguard: do not resolve Endpoint= if an IP address is specified
Yu Watanabe [Mon, 29 Nov 2021 13:07:29 +0000 (22:07 +0900)] 
network/wireguard: do not resolve Endpoint= if an IP address is specified

Also verify the domain name and port.

2 years agoparse-util: refuse leading white space in port number
Yu Watanabe [Wed, 1 Dec 2021 23:31:55 +0000 (08:31 +0900)] 
parse-util: refuse leading white space in port number

When parse_ip_port() is directly used in a conf parser, then that's
fine, as the rvalue is already truncated.

When parse_ip_port() is used when e.g. parsing IP address with port,
then we should really refuse white space after colon.

2 years agoMerge pull request #21585 from yuwata/network-radv-uplink-interface-auto-with-dhcp6-pd
Yu Watanabe [Wed, 1 Dec 2021 23:16:23 +0000 (08:16 +0900)] 
Merge pull request #21585 from yuwata/network-radv-uplink-interface-auto-with-dhcp6-pd

network: cleanups for uplink interface handling for RADV and DHCP6-PD

2 years agoMerge pull request #21583 from bluca/bpf_assert
Yu Watanabe [Wed, 1 Dec 2021 22:47:17 +0000 (07:47 +0900)] 
Merge pull request #21583 from bluca/bpf_assert

cgroup: don't emit BPF firewall warning when manager is in test mode

2 years agoMerge pull request #21591 from yuwata/core-bpf-firewall-unsupported-reason
Luca Boccassi [Wed, 1 Dec 2021 21:20:30 +0000 (21:20 +0000)] 
Merge pull request #21591 from yuwata/core-bpf-firewall-unsupported-reason

core/bpf-firewall: make bpf_firewall_supported() always set unsupport…

2 years agoelf-util: do not ignore prctl() errors
Luca Boccassi [Wed, 1 Dec 2021 01:04:54 +0000 (01:04 +0000)] 
elf-util: do not ignore prctl() errors

We want to avoid loops, so fail and return if we can't disable
core dumping

CID#1467004

2 years agosyscalls: run ninja update-syscall-tables 21599/head
Xiaotian Wu [Wed, 1 Dec 2021 15:53:17 +0000 (23:53 +0800)] 
syscalls: run ninja update-syscall-tables

2 years agotree-wide: fix typo
Yu Watanabe [Wed, 1 Dec 2021 15:07:21 +0000 (00:07 +0900)] 
tree-wide: fix typo

2 years agosyscalls: add LoongArch 64bit syscalls
Xiaotian Wu [Tue, 8 Dec 2020 12:02:13 +0000 (20:02 +0800)] 
syscalls: add LoongArch 64bit syscalls

2 years agoFixed typo
KennthStailey [Wed, 1 Dec 2021 14:43:40 +0000 (09:43 -0500)] 
Fixed typo

`ip set dev eth0` should be `ip link set dev eth0`

2 years agocore/bpf-firewall: make bpf_firewall_supported() always set unsupported reason when... 21591/head
Yu Watanabe [Wed, 1 Dec 2021 12:07:22 +0000 (21:07 +0900)] 
core/bpf-firewall: make bpf_firewall_supported() always set unsupported reason when BPF_FIREWALL_UNSUPPORTED is returned

Otherwise, log_unit_full_errno() in emit_bpf_firewall_warning() will
trigger an assertion.

2 years agocore/cgroup: propagate errors on detecting supported features
Yu Watanabe [Wed, 1 Dec 2021 12:37:17 +0000 (21:37 +0900)] 
core/cgroup: propagate errors on detecting supported features

2 years agocore/restrict-netif: make restrict_network_interfaces_supported() return negative...
Yu Watanabe [Wed, 1 Dec 2021 12:34:37 +0000 (21:34 +0900)] 
core/restrict-netif: make restrict_network_interfaces_supported() return negative errno only when critical error

Other errors are handled as the functionality is not supported.

This also drops unnecessary SYNTHETIC_ERRNO().

2 years agotest: run commands with debug level logs in TEST-65-ANALYZE 21583/head
Luca Boccassi [Tue, 30 Nov 2021 23:49:58 +0000 (23:49 +0000)] 
test: run commands with debug level logs in TEST-65-ANALYZE

2 years agocgroup: don't emit BPF firewall warning when manager is in test mode
Luca Boccassi [Tue, 30 Nov 2021 23:49:33 +0000 (23:49 +0000)] 
cgroup: don't emit BPF firewall warning when manager is in test mode

Support for BPF might not have been checked, since it's not necessary
in test mode (eg: running offline analysis of units). This causes an
assert:

Assertion '(_error) != 0' failed at src/core/bpf-firewall.c:914, function emit_bpf_firewall_warning(). Aborting.

Export SYSTEMD_LOG_LEVEl=debug in TEST-65-ANALYZE is enough to trigger
this assert while doing an offline analysis of a unit that has some
firewall/network restrictions set.

Skip the warning if the manager is in test mode.

2 years agoci: temporarily set -Wno-deprecated-declarations in Packit
Zbigniew Jędrzejewski-Szmek [Tue, 2 Nov 2021 13:37:19 +0000 (14:37 +0100)] 
ci: temporarily set -Wno-deprecated-declarations in Packit

to suppress OpenSSL 3.0 deprecation warnings (until a proper solution is
deployed): RSA_free, EC_KEY_free, RSA_set0_key, RSA_size, EVP_PKEY_assign,
EC_KEY_set_group, and others are deprecated.

2 years agoresolved: do not use BN_dup() unnecessarilly
Zbigniew Jędrzejewski-Szmek [Tue, 2 Nov 2021 09:45:20 +0000 (10:45 +0100)] 
resolved: do not use BN_dup() unnecessarilly

Suggested in https://github.com/systemd/systemd/pull/21170#discussion_r738696794

2 years agoport string_hashsum from libgcrypt to openssl^gcrypt
Zbigniew Jędrzejewski-Szmek [Wed, 27 Oct 2021 13:39:48 +0000 (15:39 +0200)] 
port string_hashsum from libgcrypt to openssl^gcrypt

This allows resolved and importd to be built without libgcrypt.

Note that we now say either 'cryptographic library' or 'cryptolib'.

Co-authored-by: Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
2 years agobasic/openssl-util: Add sha256 hash wrapper
Kevin Kuehler [Fri, 11 Dec 2020 00:08:11 +0000 (16:08 -0800)] 
basic/openssl-util: Add sha256 hash wrapper

2 years agoresolve: Port nsec3 code to openssl^gcrypt
Kevin Kuehler [Fri, 11 Dec 2020 00:08:30 +0000 (16:08 -0800)] 
resolve: Port nsec3 code to openssl^gcrypt

Co-authored-by: Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
2 years agotest-network: re-arrange DHCP6-PD subnet IDs to test searching free subnet ID 21585/head
Yu Watanabe [Wed, 1 Dec 2021 11:34:48 +0000 (20:34 +0900)] 
test-network: re-arrange DHCP6-PD subnet IDs to test searching free subnet ID

2 years agotest-network: add testcases for uplink interface detection for RADV with DHCPv6-PD
Yu Watanabe [Wed, 1 Dec 2021 06:08:00 +0000 (15:08 +0900)] 
test-network: add testcases for uplink interface detection for RADV with DHCPv6-PD

2 years agonetwork: dhcp6-pd: exclude all explicitly specified subnet IDs when searching free IDs
Yu Watanabe [Wed, 1 Dec 2021 10:43:40 +0000 (19:43 +0900)] 
network: dhcp6-pd: exclude all explicitly specified subnet IDs when searching free IDs

When the upstream link gained a lease, then several downstream links may
not appear yet. Previously, the explicitly specified subnet ID for a
downstream link which appears later may be already assigned to an
interface which does not request specific subnet ID.

To avoid such situation, this makes all specified IDs are excluded when
searching free IDs.

As a side effect, we can avoid the second call of
dhcp6_pd_distribute_prefix().

2 years agonetwork: dhcp6-pd: introduce dhcp6_pd_is_uplink()
Yu Watanabe [Wed, 1 Dec 2021 10:24:22 +0000 (19:24 +0900)] 
network: dhcp6-pd: introduce dhcp6_pd_is_uplink()

This also merges dhcp6_pd_resolve_uplink() with dhcp6_pd_find_uplink()

2 years agonetwork: dhcp6: make UplinkInterface=:self take effect only when DHCPv6PrefixDelegati...
Yu Watanabe [Wed, 1 Dec 2021 05:48:51 +0000 (14:48 +0900)] 
network: dhcp6: make UplinkInterface=:self take effect only when DHCPv6PrefixDelegation= is enabled

2 years agonetwork: radv: use the uplink interface used in DHCPv6-PD
Yu Watanabe [Wed, 1 Dec 2021 05:37:26 +0000 (14:37 +0900)] 
network: radv: use the uplink interface used in DHCPv6-PD

2 years agodocs: document that systemd closes console during normal runtime
Arvid E. Picciani [Wed, 1 Dec 2021 08:21:04 +0000 (09:21 +0100)] 
docs: document that systemd closes console during normal runtime

fixes #21451

Signed-off-by: Arvid E. Picciani <aep@exys.org>
2 years agocore: add Condition[Memory/CPU/IO]Pressure
Luca Boccassi [Wed, 17 Nov 2021 10:00:12 +0000 (10:00 +0000)] 
core: add Condition[Memory/CPU/IO]Pressure

By default checks PSI on /proc/pressure, and causes a unit to be skipped
if the threshold is above the given configuration for the avg300
measurement.
Also allow to pass a custom timespan, and a particular slice unit to
check under.

Fixes #20139

2 years agoMerge pull request #21581 from keszybz/really-random-fixlets
Yu Watanabe [Wed, 1 Dec 2021 03:54:00 +0000 (12:54 +0900)] 
Merge pull request #21581 from keszybz/really-random-fixlets

Really random fixlets

2 years agoMerge pull request #21564 from yuwata/errno-eagain-eintr
Yu Watanabe [Wed, 1 Dec 2021 03:52:27 +0000 (12:52 +0900)] 
Merge pull request #21564 from yuwata/errno-eagain-eintr

tree-wide: introduce ERRNO_IS_TRANSIENT() and use it

2 years agoMerge pull request #21536 from medhefgo/test
Yu Watanabe [Wed, 1 Dec 2021 03:52:10 +0000 (12:52 +0900)] 
Merge pull request #21536 from medhefgo/test

test: Introduce TEST_RET macro

2 years agoMerge pull request #21288 from loongarch64/la64/main
Yu Watanabe [Wed, 1 Dec 2021 03:51:48 +0000 (12:51 +0900)] 
Merge pull request #21288 from loongarch64/la64/main

Add support for the LoongArch architecture.

2 years agoMerge pull request #21553 from yuwata/network-wireguard-add-routes-to-allowed-ips
Luca Boccassi [Tue, 30 Nov 2021 23:30:31 +0000 (23:30 +0000)] 
Merge pull request #21553 from yuwata/network-wireguard-add-routes-to-allowed-ips

network: wireguard: add routes to AllowedIPs=

2 years agoanalyze: add inspect-elf verb to parse package metadata 21454/head
Luca Boccassi [Wed, 17 Nov 2021 01:45:07 +0000 (01:45 +0000)] 
analyze: add inspect-elf verb to parse package metadata

Parses and prints package metadata from executables, libraries and core files

$ systemd-analyze inspect-elf /tmp/core ../fsverity-utils/fsverityb /bin/bash --json=off --no-pager
__________________________
           path: /tmp/core
        elfType: coredump
elfArchitecture: AMD x86-64

    module name: /tmp/crash
           type: deb
           name: hello
        version: 1.0
   architecture: amd64
             os: debian
      osVersion: 11
        buildId: b33541096a09c29a0ba4ec5c69364a2711b7c269

    module name: /usr/lib/x86_64-linux-gnu/libc-2.31.so
           type: deb
           name: hello
        version: 1.0
   architecture: amd64
             os: debian
      osVersion: 11
        buildId: 54eef5ce96cf37cb175b0d93186836ca1caf470c

    module name: /usr/lib/x86_64-linux-gnu/ld-2.31.so
           type: deb
           name: hello
        version: 1.0
   architecture: amd64
             os: debian
      osVersion: 11
        buildId: 32438eb3b034da54caf58c7a65446639f7cfe274
__________________________________________________________________
           path: /home/luca/git/systemd/../fsverity-utils/fsverity
        elfType: executable
elfArchitecture: AMD x86-64

           type: deb
           name: fsverity-utils
        version: 1.3-1
   architecture: amd64
             os: debian
   debugInfoUrl: https://debuginfod.debian.net
        buildId: 05b899e6ee0d3653e20458719b202ed3ca8d566f
_________________________
           path: /bin/bash
        elfType: executable
elfArchitecture: AMD x86-64

        buildId: 4fef260f60e257d2dbd4126bf8add83837aea190
$
$ systemd-analyze inspect-elf /tmp/core ../fsverity-utils/fsverity /bin/bash /tmp/core.test-condition.1000.f9b9a84a9fd1482c9702d6afa6f6934b.37640.1637083078000000 --json=pretty --no-pager
{
"elfType" : "coredump",
"elfArchitecture" : "AMD x86-64",
"/home/bluca/git/fsverity-utils/fsverity" : {
"type" : "deb",
"name" : "fsverity-utils",
"version" : "1.3-1",
"buildId" : "7c895ecd2a271f93e96268f479fdc3c64a2ec4ee"
},
"/home/bluca/git/fsverity-utils/libfsverity.so.0" : {
"type" : "deb",
"name" : "fsverity-utils",
"version" : "1.3-1",
"buildId" : "b5e428254abf14237b0ae70ed85fffbb98a78f88"
}
}
{
"elfType" : "executable",
"elfArchitecture" : "AMD x86-64",
"/home/bluca/git/systemd/../fsverity-utils/fsverity" : {
"type" : "deb",
"name" : "fsverity-utils",
"version" : "1.3-1",
"buildId" : "7c895ecd2a271f93e96268f479fdc3c64a2ec4ee"
}
}
{
"elfType" : "executable",
"elfArchitecture" : "AMD x86-64",
"/bin/bash" : {
"buildId" : "3313b4cb119dcce16927a9b6cc61dcd97dfc4d59"
}
}
{
"elfType" : "coredump",
"elfArchitecture" : "AMD x86-64"
}

2 years agoelf-util: add function to parse metadata out of ELF objects
Luca Boccassi [Thu, 18 Nov 2021 00:03:48 +0000 (00:03 +0000)] 
elf-util: add function to parse metadata out of ELF objects

Parse the packaging metadata from an ELF object, if any, and
print a pretty table following the spec defined at:
https://systemd.io/COREDUMP_PACKAGE_METADATA/

2 years agoresolve: Port dnskey verification by ds to openssl^gcrypt
Kevin Kuehler [Fri, 11 Dec 2020 00:08:28 +0000 (16:08 -0800)] 
resolve: Port dnskey verification by ds to openssl^gcrypt

Co-authored-by: Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
2 years agoresolve: Port dnssec verify from gcrypt to openssl^gcrypt
Kevin Kuehler [Fri, 11 Dec 2020 00:08:26 +0000 (16:08 -0800)] 
resolve: Port dnssec verify from gcrypt to openssl^gcrypt

Co-authored-by: Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
2 years agoresolved: split out function to hash signature
Zbigniew Jędrzejewski-Szmek [Thu, 21 Oct 2021 14:00:08 +0000 (16:00 +0200)] 
resolved: split out function to hash signature

dnssec_verify_rrset() is just too long.

2 years agoresolved: split out function to generate signature
Zbigniew Jędrzejewski-Szmek [Thu, 28 Oct 2021 12:03:44 +0000 (14:03 +0200)] 
resolved: split out function to generate signature

dnssec_verify_rrset() is just too long.