Commit Graph
36053 Commits
Author SHA1 Message Date
Yu Watanabe ae7b68db97 in-addr-util: introduce in6_addr_to_string() or friends 2021-05-12 10:30:45 +09:00
Yu Watanabe 5c97932f09 network: use in6_addr_is_link_local() or friends 2021-05-12 10:30:45 +09:00
Yu Watanabe 7ad3e90932 network: rename routing_policy_rule_configure_internal() and make it take callback 2021-05-12 10:30:45 +09:00
Yu Watanabe 3eacccf493 network: make nexthop_configure() take callback 2021-05-12 10:30:45 +09:00
Yu Watanabe 7575e1f42d network: make neighbor_configure() take callback 2021-05-12 10:30:45 +09:00
Yu Watanabe 0653649202 tree-wide: refuse too long strings earlier in specifier_printf()
We usually call specifier_printf() and then check the validity of
the result. In many cases, validity checkers, e.g. path_is_valid(),
refuse too long strings. This makes specifier_printf() refuse such
long results earlier.

Moreover, unit_full_string() and description field in sysuser now
refuse results longer than LONG_LINE_MAX. config_parse() already
refuses the line longer than LONG_LINE_MAX. Hence, it should be ok
to set the same value as the maximum length of the resolved string.
2021-05-12 10:26:07 +09:00
Yu Watanabe 678d6b4f92 dns-domain: use DNS_LABEL_MAX at one more place 2021-05-12 10:21:22 +09:00
Yu Watanabe 3d862ff066 creds-util: introduce CREDENTIAL_NAME_MAX 2021-05-12 10:20:47 +09:00
Yu Watanabe ae3f4bae68 fd-util: introduce FDNAME_MAX 2021-05-12 10:19:19 +09:00
Yu Watanabe 6001df6594 gpt: introduce GPT_LAVEL_MAX 2021-05-12 10:16:36 +09:00
Yu Watanabe f4767dc081 test: move test_specifier_printf() to test-specifier.c 2021-05-12 10:09:11 +09:00
Yu Watanabe 695c5fee6d specifier: rename variable 2021-05-12 10:09:11 +09:00
Yu Watanabe 567097848c specifier: use SD_ID128_STRING_MAX 2021-05-12 10:09:11 +09:00
Lennart Poettering d65e974e67 core: don't accidentally unref a varlink connection twice
Let's make sure that our close handler unrefs a connection again that we
are already unreffing a few stack frames up by invalidating the pointer
first, and dropping the ref counter only after that.

Replaces: 39ad3f1c09

Fixes: #18025
2021-05-11 21:45:32 +02:00
Lennart Poettering cc6b0a18ff Revert "varlink: avoid using dangling ref in varlink_close_unref()"
This reverts commit 39ad3f1c09.
2021-05-11 21:45:32 +02:00
Lennart Poettering 11ab01e439 cgroup: drop explicit NULL comparisons 2021-05-11 15:42:47 +02:00
Lennart Poettering a67abc490b tree-wide: move variables to innermost scope 2021-05-11 15:42:46 +02:00
Lennart Poettering a481753648 tree-wide: use af_to_ipv4_ipv6() + af_from_ipv4_ipv6() helpers at various places 2021-05-11 15:42:11 +02:00
Lennart Poettering 23118193d2 af-list: add helpers mapping AF_INET/AF_INET6 to "ipv4"/"ipv6" 2021-05-11 15:37:31 +02:00
Lennart Poettering f80a206aa4 socket-bind: use lowercase "ipv4"/"ipv6" spelling
In most of our codebase when we referenced "ipv4" and "ipv6" on the
right-hand-side of an assignment, we lowercases it (on the
left-hand-side we used CamelCase, and thus "IPv4" and "IPv6"). In
particular all across the networkd codebase the various "per-protocol
booleans" use the lower-case spelling. Hence, let's use lower-case for
SocketBindAllow=/SocketBindDeny= too, just make sure things feel like
they belong together better.

(This work is not included in any released version, hence let's fix this
now, before any fixes in this area would be API breakage)

Follow-up for #17655
2021-05-11 15:37:31 +02:00
zsien 5c2e595767 bootctl: same entry path check case-insensitive
Some motherboards convert the path to uppercase under certain circumstances
(e.g. after booting into the Boot Menu in the ASUS ROG STRIX B350-F GAMING).
2021-05-11 14:27:44 +02:00
Yu Watanabe 690ceca8dc Merge pull request #19562 from keszybz/flag-manips
Fix flag manipulations in cryptsetup
2021-05-11 14:34:07 +09:00
Lennart Poettering c37f7963b1 unit-def: ensure UnitType enum fits any errno value
This is a follow-up for #19514 which changed unit_name_to_instance() to
return ENOMEM as a UnitType enum, even though the enum didn't
necessarily have range for that.

Let's extend the range explicitly, so that we can cover the full errno
range in it.
2021-05-11 14:33:11 +09:00
Lennart Poettering 51b274d881 test-user-util: fix line break confusion
This fixes some line-break confusion introduced by #11199
(c6cecb744b). It also restores a test with
GID_INVALID that was dropped, presumably by accident.
2021-05-11 14:32:24 +09:00
Lennart Poettering aa67e45b4b Merge pull request #19570 from poettering/userdb-followup-fixlets
two minor userdb fixes
2021-05-10 22:06:32 +02:00
Zbigniew Jędrzejewski-Szmek 4f3dca78bb meson: rework test-efi-disk.img creation to not require variables
The primary goal is to make the name of the custom_target() rule match
the output file again. Having them different is confusing.
2021-05-10 20:28:24 +02:00
Zbigniew Jędrzejewski-Szmek 9d59f5b2f9 cryptsetup: fix flags check
FLAGS_SET() checks if *all* the bits are set. In this case we want to check
if *any* are. FLAGS_SET() was added in cde2f8605e,
but not a bug then yet, because with just one bit, both options are equivalent.
But when more bits were added later, this stopped being correct.
2021-05-10 19:53:52 +02:00
Zbigniew Jędrzejewski-Szmek 8205c151b3 cryptsetup: initialize variable
Fixup for cde2f8605e. Use PIN+PV because the
status quo ante was that we turned off "uv" and left "up" and "clientPin" in
its default values, which with yubikeys (i.e. the most popular hardware) meant
both "up" and "clientPin" were enabled by default.

Coverity CID#1453085.
2021-05-10 19:52:06 +02:00
Lennart Poettering 40fb3503f4 userdb: initialize .synthesize_root/.synthesize_nobody in generic code
Let's initialize this at the same place for any iterator allocated. (Yes
not all types of iterator objects need this, but it's still nice to
share this trivial code at one place).
2021-05-10 18:11:06 +02:00
Lennart Poettering 58dbf4c925 userdb: return ESRCH if we didn't find a single varlink service
Clearly communicate to callers that we didn't find a single varlink
service, when a lookup is attempted. Note that the fallback's to NSS,
drop-ins and synthesis might eat up this error again, but we should
really make this case reasonably recognizable, in particular as our
various tools already handle this condition correctly and print a nice
message then.
2021-05-10 18:08:38 +02:00
Lennart Poettering 59092877b3 userdbctl: add two new switches --with-dropin=/--with-varlink=
These directly correspond to the underlying flags. They are useful for
testing.
2021-05-10 18:02:50 +02:00
Lennart Poettering 8fbb1941f1 userdbd: also listen on a varlink socket io.systemd.DropIn
Let's explicitly support looking things up via dropin as a varlink
service.
2021-05-10 14:58:39 +02:00
Lennart Poettering 85f088abe8 userdb: optionally read user/group/membership "dropins", too 2021-05-10 14:58:07 +02:00
Zbigniew Jędrzejewski-Szmek 2d0b71b6f6 Merge pull request #19542 from yuwata/unit-after-socket
network, timesync, resolve: check bus is ready before emitting property change or signal
2021-05-10 14:44:15 +02:00
Roman Beranek ee3713b71d resolve: remove RRs from zones before an update
During an update of RRs, the records of each DNS-SD service are
replaced with new ones. However the old RRs can only be removed from
the mDNS scopes as long as they remain accessible from the DnssdService
structures, otherwise they remain stuck there.

Therefore the removal must take place before the update.
2021-05-10 12:29:48 +02:00
Samuel BF c362a432af Wider range of options for selecting entries for systemd-journal-gatewayd
Introducing --user, --system, --merge and --file flags, like for journalctl
and systemd-journal-upload.
2021-05-10 12:20:27 +02:00
Dimitri John Ledkov 36c5f589fb boot/efi: add --build-id=sha1 to ELF efi objects
As it is not nice to ship ELF binary without a note.gnu.build-id set.
2021-05-10 09:36:04 +01:00
Dimitri John Ledkov 7840d7af22 boot/efi: install ELF linux.elf.stub in addition to PE linux.efi.stub
Binutils for non-x86 architectures currently does not support PE binaries. Thus
linux.efi.stub is useless on those, as one cannot use any tooling to add
linux/cmdline/splash sections to it. In addition to PE linux.efi.stub also
install ELF linux.elf.stub, such that one can use objcopy ELF target to copy in
linux/cmdline/splash sections and then convert the result to a PE binary.
2021-05-10 09:35:59 +01:00
Dimitri John Ledkov 67f7244928 Merge pull request #19436 from xnox/sbat
boot: add optional EFI SBAT support
2021-05-10 09:30:16 +01:00
Lennart Poettering 2baec39665 Merge pull request #19545 from poettering/nss-systemd-shadow
nss-systemd: also expose shadow/gshadow entries from userdb records
2021-05-10 09:46:49 +02:00
Luca Boccassi 63225fe159 Merge pull request #19298 from bluca/cryptsetup_nopass
cryptsetup: add 'headless' parameter to skip password/pin query, allow pin-less enroll on FIDO2, support user presence/verification flags
2021-05-09 13:49:55 +01:00
Yu Watanabe 19cc6d5e54 tree-wide: fix typo 2021-05-09 14:36:19 +09:00
Yu Watanabe 6ac6549251 userdb: shorten code a bit
Hopefully fixes CID#1452937.
2021-05-09 14:34:23 +09:00
Yu Watanabe fedd793cea test: add one more assertion to make Coverty happy
Fixes CID#1452934.
2021-05-09 14:33:59 +09:00
Jörg DeckertandJörg Deckert dd568427fb networkd: correct batman-adv setting name (GatewayBandwidth) (#19539)
Co-authored-by: Jörg Deckert <jdeckert@unitas-network.de>
2021-05-08 14:39:32 +02:00
Lennart Poettering f43a19ecd6 nss-systemd: synthesize NSS shadow/gshadow records from userdb, as well
This ensures we not only synthesize regular paswd/group records of
userdb records, but shadow records as well. This should make sure that
userdb can be used as comprehensive superset of the classic
passwd/group/shadow/gshadow functionality.
2021-05-08 14:35:28 +02:00
Lennart Poettering 09001dbdc8 nss-systemd: set USERDB_SUPPRESS_SHADOW flag when looking up user records
Setting the flags means we won#t try to read the data from /etc/shadow
when reading a user record, thus slightly making conversion quicker and
reducing the chance of generating MAC faults, because we needlessly
access a privileged resource. Previously, passing the flag didn't
matter, when converting our JSON records to NSS since the flag only had
an effect on whether to use NSS getspnam() and related calls or not. But
given that we turn off NSS anyway as backend for this conversion (since
we want to avoid NSS loops, where we turn NSS data to our JSON user
records, and then to NSS forever and ever) it was unnecessary to pass
it.

This changed in one of the previous commits however, where we added
support for reading user definitions from drop-in files, with separate
drop-in files for the shadow data.
2021-05-08 14:25:24 +02:00
Yu Watanabe 3d56acef7f string-util: explicitly cast character to unsigned
This also adds comment why we cast to unsigned.

Follow-up for 7971f9030a.

Addresses the comment https://github.com/systemd/systemd/pull/19544#discussion_r628472794.
2021-05-08 14:24:51 +02:00
Yegor Alexeyev 11c38d3e51 rfc3046 implementation 2021-05-08 15:59:29 +09:00
Yu Watanabe b8d6689a7f resolve: check that bus is ready before emitting signal or property change 2021-05-08 15:12:31 +09:00