Commit Graph
55464 Commits
Author SHA1 Message Date
Yu Watanabe bd47f33f16 NEWS: update networkd related entries 2021-12-16 02:12:03 +09:00
Yu Watanabe 79463de533 test: add testcases for net.ifname-policy= kernel command line argument 2021-12-16 01:55:37 +09:00
Yu Watanabe a4c9bf2e51 network-generator: support to set NamePolicy= through kernel command line argument
Closes #16296.
2021-12-16 01:55:37 +09:00
Yu Watanabe ff516b4341 udev: move NamePolicy to netif-naming-scheme.[ch] 2021-12-16 01:55:37 +09:00
Yu Watanabe eb3e86ae2c network-generator: support MAC address longer or shorter than ETH_ALEN 2021-12-16 01:55:37 +09:00
Yu Watanabe 987dd89c77 meson: build network-generator unconditionally
The service also generates .link files for udevd.
2021-12-16 01:55:20 +09:00
Yu Watanabe 85e8650827 unit: run network-generator before starting udevd
Otherwise, .link files generated by the service may not be loaded by
udevd.
2021-12-16 01:44:17 +09:00
Zbigniew Jędrzejewski-Szmek c7f0d9e5ac tree-wide: make FOREACH_DIRENT_ALL define the iterator variable
The variable is not useful outside of the loop (it'll always be null
after the loop is finished), so we can declare it inline in the loop.
This saves one variable declaration and reduces the chances that somebody
tries to use the variable outside of the loop.

For consistency, 'de' is used everywhere for the var name.
2021-12-15 16:19:13 +01:00
Daan De Meyer 447a822f8e kernel-install: Remove "Default" from list of suffixes checked
This was an undocumented change in behavior introduced by
9e82a74cb0. Previously, we only
checked for "Default" if we didn't find a machine ID. Let's make
sure we keep the previous behavior intact.
2021-12-15 14:00:31 +01:00
Zbigniew Jędrzejewski-Szmek 05c1b1c95e Merge pull request #21763 from yuwata/udevadm-write-only-attributes
udevadm: also show write-only attributes
2021-12-15 13:22:45 +01:00
Zbigniew Jędrzejewski-Szmek 0ad4efb14b resolved: filter out our own stub resolvers when parsing servers
We get "upstream" dns server config from ~three places: /etc/resolv.conf,
config files, and runtime config via dbus. With this commit, we'll filter out
our own stub listeners if they are configured in either of the first two
sources. For /etc/resolv.conf this is done quitely, and for our own config
files, a LOG_INFO message is emitted, since this is a small inconsistency in
the config.

Setting loops like this over dbus is still allowed. The reason is that in the
past we didn't treat this as an error, and if we were to start responding with
an error, we could break a scenario that worked previously. E.g. NM sends us a
list of servers, and one happens to be the our own. We would just not use that
stub server before, but it'd still be shown in the dbus properties and such.
We would have to return error for the whole message, also rejecting the other
valid servers. I think it's easier to just keep that part unchanged.

Test case:
$ ls -l /etc/resolv.conf
-rw-r--r-- 1 root root 57 Dec 15 10:26 /etc/resolv.conf
$ cat /etc/resolv.conf
nameserver 192.168.150.1
options edns0 trust-ad
search .
$ cat /etc/systemd/resolved.conf.d/stub.conf
[Resolve]
DNSStubListenerExtra=192.168.150.1

$ resolvectl
...
Global
    resolv.conf mode: foreign
         DNS Servers: 192.168.150.1
Fallback DNS Servers: ...
(with the patch):
Global
    resolv.conf mode: foreign
Fallback DNS Servers: ...
2021-12-15 11:47:06 +01:00
Zbigniew Jędrzejewski-Szmek 9d84fdec28 resolved: return immediately if we already know what to return 2021-12-15 11:47:05 +01:00
Jayce Fayne d4453d5ee8 hwdb: Add accel orientation quirk for the Chuwi Hi10 Go tablet 2021-12-14 23:29:31 +00:00
Yu Watanabe 18f0eaafd7 fstab-generator: do not remount /sys when running in a container
Closes #21744.
2021-12-15 06:30:42 +09:00
Zbigniew Jędrzejewski-Szmek a2d7654f99 journactl: show info about journal range only at debug level (#21775)
The message that the "journal begins … ends …" has been always confusing to
users. (Before b91ae210e6 it was "logs begin … end …" which was arguably even
more confusing, but really the change in b91ae210e6 didn't substantially change
this.)

When the range shown is limited (by -e, -f, --since, or other options), it
doesn't really matter to the user what the oldest entries are, since they are
purposefully limiting the range. In fact, if we are showing the last few
entries with -e or -f, knowing that many months the oldest entries have is
completely useless.

And when such options are *not* used, the first entry generally corresponds to
the beginning of the range shown, and the last entry corresponds to the end of
that range. So again, it's not particularly useful, except when debugging
journalctl or such. Let's just treat it as a debug message.

Fixes #21491.
2021-12-15 06:30:15 +09:00
Zbigniew Jędrzejewski-Szmek 285a6908eb hostnamectl: add a chassis symbol in status output
The idea is to be able to distinguish whether we're in a VM/container or something
more substantial at a glance.
         Chassis: laptop 💻
         Chassis: tablet 具
         Chassis: vm 🖴
         Chassis: server 🖳
         Chassis: handset 🕻
         Chassis: watch ⌚
         Chassis: desktop 🖥
         Chassis: container ☐
2021-12-14 16:49:26 +00:00
Luca Boccassi 020d41ce4f Merge pull request #21769 from yuwata/home-fix-heap-use-after-free
home: fix heap-use-after-free
2021-12-14 15:54:00 +00:00
Yu Watanabe 3a90bef55a udevadm: also show write-only attributes 2021-12-14 21:50:02 +09:00
Yu Watanabe ab218d0bdb sd-device: make FOREACH_DEVICE_SYSATTR() also list write-only attributes
Closes #10102.
2021-12-14 21:49:56 +09:00
Yu Watanabe 2ff457720b home: fix heap-use-after-free
`bus_home_emit_remove()` may be called from manager_free() -> home_free().
In that case, manager->bus is already unref()ed.

Fixes #21767.
2021-12-14 20:00:56 +09:00
Yu Watanabe 76fc157702 home: clear Manager::bus, ::event, ::homes_by_xxx and so on
`home_free()` may try to call some dbus or event related functions.
To prevent that, set those variables NULL.
2021-12-14 20:00:24 +09:00
Yu Watanabe 3c2f847227 polkit: make bus_verify_polkit_async_registry_free() return Hashmap* with NULL 2021-12-14 19:39:39 +09:00
Yu Watanabe 372e8592c6 wait-online: also use address state even when operational state is below degraded
Closes #21706.
2021-12-14 10:32:56 +01:00
Nishal Kulkarni b4bb96f3f2 shell-completion: Add completion for systemd-analyze critical-chain
systemd-analyze critical-chain accepts an optional unit argument,
however currently there's no shell-completion for it
This change provides unit name completion for both bash and zsh.

Closes: #20927
2021-12-14 10:27:49 +01:00
acsfer 265f76be72 Fix loading of graphs 2021-12-14 15:27:25 +09:00
Robert Scheck 7964702007 boot, meson: allow statically linked build
Build option "link-boot-shared" to build a statically linked bootctl and
systemd-bless-boot by using

  -Dlink-boot-shared=false

on systems with full systemd stack except bootctl and systemd-bless-boot,
such as CentOS/RHEL 9.
2021-12-14 09:58:27 +09:00
Davide Cavalca ba38a24de3 man: do not install sd-boot man pages when -Dgnu-efi=false is set 2021-12-14 00:08:55 +00:00
Sho Iizuka 17cfd6f96f man: how to unset CPUQuota=
This description will help users who are trying to reset the already configured
CPUQuota= by trying incorrect ways such as CPUQuota=0 or CPUQUota=infinity.
2021-12-13 19:43:56 +00:00
Luca Boccassi 720db03495 Merge pull request #21752 from keszybz/man-creds
Small improvements to systemd-creds output and man page
2021-12-13 19:43:37 +00:00
Tom Yan af45251e4c resolved: filter stub listeners in manager_get_dns_server()
Commit 49ef064c8d attempts to handle
"stub loop" by switching to the next server *after the query has
been made*.

The approach may be good enough for link scopes. However, for the
manager / global scope, it is not. First of all, there are more than
one types (SYSTEM and FALLBACK) of servers it can use. Also, whether
those of type FALLBACK should be used depends.

Besides, dns_scope_good_domain() determines whether things should
be routed to a scope by checking whether the scope has a server.
The decision made would be incorrect if stubs were not filtered
beforehand.

Therefore, to avoid failing query unnecessarily, and to make sure
that extra stub listeners will not trigger unexpected and/or
inconsistent behavior, make manager_get_dns_server() do what it
should have done.
2021-12-13 23:08:40 +08:00
Peter Morrow 03e1b6664c man: document $MONITOR_METADATA usage
Decsribe when $MONITOR_METADATA will be set and how it's contents are
defined.
2021-12-13 14:44:06 +00:00
Peter Morrow 6fc2da644a tests: add test to cover service exit status propagation
Various tests to cover MONITOR_METADATA setup for OnFailure= and
OnSuccess= dependencies.
2021-12-13 14:44:06 +00:00
Zbigniew Jędrzejewski-Szmek ecc5d0c008 man: make systemd-creds man page a bit easier to read 2021-12-13 15:01:44 +01:00
Zbigniew Jędrzejewski-Szmek ff43ae228b shared/creds: print debugging information when something goes wrong 2021-12-13 15:01:44 +01:00
dependabot[bot] fdae4504c7 build(deps): bump actions/upload-artifact from 2.2.4 to 2.3.0
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 2.2.4 to 2.3.0.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/27121b0bdffd731efa15d66772be8dc71245d074...da838ae9595ac94171fa2d4de5a2f117b3e7ac32)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-13 14:45:19 +03:00
Peter Morrow cdebedb4d4 service: pass service exit status to spawned On{Failure,Success}= dependency
When a service exits and triggers either an OnFailure= or OnSuccess=
dependency we now set a new environment variable for the ExecStart= and
ExecStartPre= process. This variable $MONITOR_METADATA exposes the
metadata relating to the service which triggered the dependency.
MONITOR_METADATA takes the following form:

MONITOR_METADATA="SERVICE_RESULT=<result-string0>,EXIT_CODE=<exit-code0>,EXIT_STATUS=<exit-status0>,INVOCATION_ID=<id>,UNIT=<triggering-unit0.service>;SERVICE_RESULT=<result-stringN>,EXIT_CODE=<exit-codeN>,=EXIT_STATUS=<exit-statusN>,INVOCATION_ID=<id>,UNIT=<triggering-unitN.service>"

MONITOR_METADATA is space separated set of metadata relating to the
service(s) which triggered the dependency. This is a list since if we
have 2 services which trigger the same dependency then the dependency
start job may be merged. In this case we need to pass both service
metadata to the triggered service. If there is no job merging then
MONITOR_METADATA will be a single entry.

For example, in the case we had a service "failer.service" which
triggers "failer-handler.service", the following variable is exported to
the ExecStart= and ExecStartPre= processes in failer-handler.service:

MONITOR_METADATA="SERVICE_RESULT=exit-code,EXIT_CODE=exited,EXIT_STATUS=1,INVOCATION_ID=67c657ed7b34466ea369abdf994c6393,UNIT=failer.service"

In another example where we have failer.service and failer2.service
which both also trigger failer-handler.service then the start job for
failer-handler.service may be merged and we might get the following:

MONITOR_METADATA="SERVICE_RESULT=exit-code,EXIT_CODE=exited,EXIT_STATUS=1,INVOCATION_ID=16a93ad196c94109990fb8b9aa5eef5f,UNIT=failer.service;SERVICE_RESULT=exit-code,EXIT_CODE=exited,EXIT_STATUS=1,INVOCATION_ID=ff70131e4cc145e994fb621de25a3e8f,UNIT=failer2.service"
2021-12-13 11:25:57 +00:00
Luca Boccassi a0630d46a5 Merge pull request #21749 from nabijaczleweli/bashpsko
Shebang bash via env
2021-12-13 11:11:39 +00:00
dependabot[bot] 1805759ea0 build(deps): bump github/codeql-action from 1.0.25 to 1.0.26
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 1.0.25 to 1.0.26.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/546b30f35ae5a3db0e0be1843008c2224f71c3b0...5f532563584d71fdef14ee64d17bafb34f751ce5)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-13 13:18:55 +03:00
Luca Boccassi 109a157cea test: bump timeout for TEST-50-DISSECT and TEST-67-INTEGRITY
TEST-67-INTEGRITY times out quite often, and when it passes
it does so a few seconds short of the timeout. It's a slow
qemu test, so bump the timeout.
TEST-50-DISSECT has been reported to fail in the same way
on Debian's infrastructure, again narrowly failing or passing
just short of the timeout.
2021-12-13 09:29:47 +01:00
Zbigniew Jędrzejewski-Szmek a587a16af2 man: reorder item
We said that recovery keys are "similar to regular passphrases"
before intorducing "regular passphrases".
2021-12-13 09:25:31 +01:00
наб 1e8c094cb8 man/sd-run: /bin/bash -> bash in -t example
sd-run already does PATH lookup via find_executable_full()
2021-12-12 21:13:51 +01:00
наб a6ac4cbc4e man/sd-notify: /bin/bash -> /bin/sh, read -> read -r in example 2021-12-12 21:13:50 +01:00
наб f1e6f93372 Change all fixed-path bash shebangs to /u/b/env bash outside test/ 2021-12-12 21:13:50 +01:00
igo95862 2e081f18d6 Disable exporting D-Bus Introspection XML if cross-compiling
This is a soft disable. Passing `dbus-interfaces-dir` build option
will with path or 'yes' enable exports again even when cross
compiling. (maybe your environment will allow to execute
cross compiled binaries)
2021-12-12 16:51:03 +00:00
Jarkko Sakkinen b5d3138f91 Enable /dev/sgx_vepc access for the group 'sgx'
Enable /dev/sgx_vepc access for the group 'sgx', which allows KVM-backed VMs
to host Intel Software Guard eXtension (SGX) enclaves. The upcoming QEMU
6.2 uses /dev/sgx_vepc to reserve portions of Enclave Page Cache (EPC) for
VMs. EPC is the reserved physical memory used for hosting enclaves.
2021-12-12 11:02:21 +00:00
Zbigniew Jędrzejewski-Szmek 6d7bc744ce Merge pull request #21614 from medhefgo/boot-bcd
boot: Add BCD store parser
2021-12-12 09:18:26 +01:00
Yu Watanabe da7d684825 test-network: add testcase for automatic tunnel local address selection 2021-12-12 14:11:38 +09:00
Yu Watanabe 2be25d7557 network: tunnel: support to set an address assigned on underlying interface as local address
Closes #18732.
2021-12-12 13:42:45 +09:00
Yu Watanabe 6d1b59cec4 network/netdev: introduce link_get_local_address()
It will be used in later commits.
2021-12-12 13:41:48 +09:00
Yu Watanabe 562729d744 network/netdev: introduce .is_ready_to_create() entry in netdev vtable 2021-12-12 13:41:39 +09:00