Christian Göttsche [Sat, 5 Sep 2020 15:49:48 +0000 (17:49 +0200)]
selinux: early exit in mac_selinux_maybe_reload if not initialized
Binaries might not initialize SELinux, e.g. when they normally do not
create files with the SELinux default context.
If they, via an internal libary function, call a _label() function,
mac_selinux_maybe_reload() gets called. Since the SELinux status page
has not been opened, selinux_status_updated() will fail with EINVAL.
This affects particularly test binaries.
Just exit early and avoid confusing debug logs.
George Rawlinson [Sat, 5 Sep 2020 17:57:00 +0000 (05:57 +1200)]
man: fix typo in resolved.conf
Zbigniew Jędrzejewski-Szmek [Sat, 5 Sep 2020 13:55:22 +0000 (15:55 +0200)]
Merge pull request #16951 from yuwata/resolve-follow-ups-for-extra-dns-stub-listener
resolve: follow-ups for extra DNS stub listener
Zbigniew Jędrzejewski-Szmek [Sat, 5 Sep 2020 13:47:37 +0000 (15:47 +0200)]
Merge pull request #16854 from yuwata/sd-bus-error-set-errnofv
sd-bus: rework sd_bus_error_set_errnofv()
Zbigniew Jędrzejewski-Szmek [Sat, 5 Sep 2020 10:06:15 +0000 (12:06 +0200)]
Merge pull request #16957 from poettering/sd-bus-proto-def-move
three unrelated, minor fixes
Lennart Poettering [Fri, 4 Sep 2020 21:54:11 +0000 (23:54 +0200)]
varlink: properly allocate connection event source
Let's make sure we keep a reference to the event source
(Note that this code is currently not used, which is why this was never
used: in all cases we do not add listener fds after the event is
attached, but before. In that case this code is not called.)
Lennart Poettering [Fri, 4 Sep 2020 21:52:39 +0000 (23:52 +0200)]
ptyfwd: don't set prio if event source that might not exist
We support read-only ptyfwd options, and on those the input event source
won't be allocated. Deal with that and don't invoke a function on it
that will then instantly fail.
Lennart Poettering [Fri, 4 Sep 2020 21:49:44 +0000 (23:49 +0200)]
sd-bus: move SD_BUS_MAXIMUM_(SIGNATURE|NAME)_LENGTH to sd-bus-protocol.h
So far we kept all defines directly originating from the spec in
sd-bus-protocol.h, do this for this too.
The precise place doesn't matter much API-wise given that sd-bus.h includes
sd-bus-protocol.h, hence let's just clean this up.
Luca Boccassi [Tue, 1 Sep 2020 16:08:29 +0000 (17:08 +0100)]
core: add [Enable|Disable]UnitFilesWithFlags DBUS methods
The new methods work as the unflavoured ones, but takes flags as a
single uint64_t DBUS parameters instead of different booleans, so
that it can be extended without breaking backward compatibility.
Add new flag to allow adding/removing symlinks in
[/etc|/run]/systemd/system.attached so that portable services
configuration files can be self-contained in those directories, without
affecting the system services directories.
Use the new methods and flags from portablectl --enable.
Useful in case /etc is read-only, with only the portable services
directories being mounted read-write.
Yu Watanabe [Fri, 4 Sep 2020 14:17:49 +0000 (23:17 +0900)]
util: constify the second argument of set_get()
Yu Watanabe [Fri, 4 Sep 2020 14:08:48 +0000 (23:08 +0900)]
resolve: use correct fd for UDP stub listner
Yu Watanabe [Fri, 4 Sep 2020 12:30:37 +0000 (21:30 +0900)]
resolve: do not check sender and destination for packet received by extra DNS stub listner
Yu Watanabe [Fri, 4 Sep 2020 11:52:46 +0000 (20:52 +0900)]
resolve: use sd_event_source_set_io_fd_own() for stub listners
Yu Watanabe [Fri, 4 Sep 2020 07:41:13 +0000 (16:41 +0900)]
resolve: introduce dns_stub_listener_extra_free() and set it as a key destructor
Yu Watanabe [Fri, 4 Sep 2020 07:26:17 +0000 (16:26 +0900)]
resolve: adjust error messages
Yu Watanabe [Fri, 4 Sep 2020 06:22:36 +0000 (15:22 +0900)]
resolve: do not set IPv4 specific options on IPv6 socket
Yu Watanabe [Fri, 4 Sep 2020 06:10:48 +0000 (15:10 +0900)]
resolve: do not set IP_TTL for extra DNS stub listeners
Yu Watanabe [Fri, 4 Sep 2020 14:53:18 +0000 (23:53 +0900)]
missing: add IPV6_FREEBIND
Lennart Poettering [Fri, 4 Sep 2020 13:54:27 +0000 (15:54 +0200)]
Merge pull request #16880 from yuwata/network-dhcp4-cleanups
network: DHCPv4 cleanups
Yu Watanabe [Fri, 4 Sep 2020 06:27:53 +0000 (15:27 +0900)]
util: drop unused socket_addr_port_from_string_auto()
Yu Watanabe [Fri, 4 Sep 2020 06:01:21 +0000 (15:01 +0900)]
resolve: use in_addr_union to store addresses for extra dns stub listeners
Yu Watanabe [Fri, 4 Sep 2020 05:54:03 +0000 (14:54 +0900)]
resolve: fix indentation
Yu Watanabe [Fri, 4 Sep 2020 10:37:50 +0000 (19:37 +0900)]
util: introduce SOCKADDR_LEN() macro
Yu Watanabe [Fri, 4 Sep 2020 06:42:09 +0000 (15:42 +0900)]
test: add tests for in_addr_port_from_string_auto()
Yu Watanabe [Fri, 4 Sep 2020 06:53:50 +0000 (15:53 +0900)]
test: move several tests from test-socket-util.c
Yu Watanabe [Fri, 4 Sep 2020 07:15:29 +0000 (16:15 +0900)]
util: introduce in_addr_port_to_string()
Yu Watanabe [Fri, 4 Sep 2020 07:14:14 +0000 (16:14 +0900)]
util: make in_addr_ifindex_to_string() an alias of in_addr_port_ifindex_name_to_string()
Yu Watanabe [Fri, 4 Sep 2020 04:40:31 +0000 (13:40 +0900)]
util: introduce in_addr_port_from_string_auto()
Yu Watanabe [Fri, 4 Sep 2020 05:29:06 +0000 (14:29 +0900)]
resolve: stop extra stub listners before freeing information about them
Yu Watanabe [Fri, 4 Sep 2020 04:23:39 +0000 (13:23 +0900)]
resolve: set DNS_STUB_LISTENER_YES if no protocol is specified in DNSStubListenExtra=
Yu Watanabe [Fri, 4 Sep 2020 04:21:55 +0000 (13:21 +0900)]
resolve: Manager::dns_stub_listener_mode is not relevant to extra stub listeners
Yu Watanabe [Fri, 4 Sep 2020 04:09:02 +0000 (13:09 +0900)]
resolve: make DnsStubListenerMode bitfield
Yu Watanabe [Fri, 4 Sep 2020 04:01:15 +0000 (13:01 +0900)]
resolve: rename dns_stub_extra_event_source -> event_source
As the name is too redundant.
Yu Watanabe [Fri, 4 Sep 2020 03:58:32 +0000 (12:58 +0900)]
man: update DNSStubListenerExtra=
Zbigniew Jędrzejewski-Szmek [Fri, 4 Sep 2020 10:57:20 +0000 (12:57 +0200)]
Merge pull request #16881 from yuwata/network-routing-policy-rule-cleanups
network: routing policy rule cleanups
Zbigniew Jędrzejewski-Szmek [Fri, 4 Sep 2020 10:21:15 +0000 (12:21 +0200)]
Merge pull request #16952 from yuwata/resolvectl-log-level-follow-ups
resolvectl: update help message
Yu Watanabe [Fri, 4 Sep 2020 03:17:22 +0000 (12:17 +0900)]
test: add tests for sd_bus_error_set_errnof()
Yu Watanabe [Fri, 4 Sep 2020 03:02:46 +0000 (12:02 +0900)]
sd-bus: use _cleanup_free_ macro in sd_bus_error_set_errnofv()
No functional change.
Yu Watanabe [Wed, 26 Aug 2020 13:31:01 +0000 (22:31 +0900)]
network: fixes gateway assignment through DHCPv4
This fixes the following issue:
- If a DHCP lease does not contains router option, then routes with
`Gateway=_dhcp` setting introduce unexpected results.
This also makes several failure paths critical. And adjust warnings when
classless routes are provided.
Yu Watanabe [Fri, 4 Sep 2020 08:03:28 +0000 (17:03 +0900)]
bash-completion: resolvectl: support 'log-level' command
Yu Watanabe [Fri, 4 Sep 2020 07:58:32 +0000 (16:58 +0900)]
resolvectl: add 'log-level' to help message
Follow-up for
df9578498f3f566409fcb71229d9fc99e4ab0568.
Lennart Poettering [Thu, 3 Sep 2020 21:52:27 +0000 (23:52 +0200)]
resolved: ttl/hopcount sockopt is not a boolean
These are integer values, hence specify them as integers, not as
booleans.
Amitanand.Chikorde [Wed, 26 Aug 2020 10:01:49 +0000 (15:31 +0530)]
sd-bus: drop unnecessary free()
As `e->message` here is always NULL.
Yu Watanabe [Fri, 28 Aug 2020 04:58:00 +0000 (13:58 +0900)]
man: mention that 'networkctl reconfigure' does not reload configs
Yu Watanabe [Fri, 28 Aug 2020 04:45:42 +0000 (13:45 +0900)]
network: configure DHCP routes after DHCP address is ready
Yu Watanabe [Thu, 27 Aug 2020 21:54:11 +0000 (06:54 +0900)]
network: dhcp4: reset counter only when the lease address is new
Yu Watanabe [Thu, 27 Aug 2020 21:56:33 +0000 (06:56 +0900)]
sd-ipv4acd: introduce sd_ipv4acd_get_address()
Yu Watanabe [Thu, 27 Aug 2020 21:38:43 +0000 (06:38 +0900)]
network: dhcp4: stop IPv4ACD before assigning new address
Yu Watanabe [Fri, 4 Sep 2020 00:01:03 +0000 (09:01 +0900)]
sd-ipv4acd: do not call callback in sd_ipv4acd_stop() when it is already stopped
Yu Watanabe [Thu, 3 Sep 2020 23:54:21 +0000 (08:54 +0900)]
network: voidify return value of sd_ipv4acd_stop()
Yu Watanabe [Fri, 28 Aug 2020 04:00:25 +0000 (13:00 +0900)]
network: logs about unknown key
Yu Watanabe [Fri, 28 Aug 2020 03:58:49 +0000 (12:58 +0900)]
network: honor already specified family when parsing from= or to= in serialized rule
Yu Watanabe [Fri, 28 Aug 2020 03:53:08 +0000 (12:53 +0900)]
network: do not reallocate buffer
Yu Watanabe [Fri, 28 Aug 2020 03:47:44 +0000 (12:47 +0900)]
network: serialize InvertRule= in [RoutingPolicyRule]
Yu Watanabe [Fri, 28 Aug 2020 03:34:36 +0000 (12:34 +0900)]
network: add whitespace after family= and priority= in serialized routing policy rule
This also makes priority= serialized only when its value is non-zero.
Yu Watanabe [Thu, 3 Sep 2020 23:44:14 +0000 (08:44 +0900)]
network: downgrade error level when the error is ignored
Yu Watanabe [Fri, 28 Aug 2020 03:27:32 +0000 (12:27 +0900)]
network: move routing_policy_rule_read_full_file()
Zbigniew Jędrzejewski-Szmek [Thu, 3 Sep 2020 17:06:05 +0000 (19:06 +0200)]
Merge pull request #16044 from ssahani/resolved-interface
systemd-resolved: allow configurable bind address
Lennart Poettering [Thu, 3 Sep 2020 16:39:28 +0000 (18:39 +0200)]
Merge pull request #16945 from poettering/udev-test-selinux
fix udev-test when used with selinux
Lennart Poettering [Thu, 3 Sep 2020 14:56:47 +0000 (16:56 +0200)]
udev-test: don't mix alloca() and regular C stack allocation in one expression
Lennart Poettering [Thu, 3 Sep 2020 14:56:30 +0000 (16:56 +0200)]
udev-test: use SYNTHETIC_ERRNO() where useful
Lennart Poettering [Thu, 3 Sep 2020 14:56:07 +0000 (16:56 +0200)]
udev-test: use mount_verbose() instead of mount(), to make debugging easier
Lennart Poettering [Thu, 3 Sep 2020 14:53:22 +0000 (16:53 +0200)]
udev-test: make sure we run udev tests with selinux assumed off
This is cleaner that way given that we create our own half-virtualizes
device tree, and really shouldn't pull selinux labelling and access
control into that, we can only lose, in particular as our overmounted
/sys/ actually lacks /sys/fs/selinux.
(This fixes udev test woes introduced by #16821 where suddenly the test
would fail because libselinux assumed selinux was on, but selinuxfs
wasn't actually available)
Lennart Poettering [Thu, 3 Sep 2020 12:57:29 +0000 (14:57 +0200)]
Merge pull request #16915 from poettering/cryptsetup-dlopen
pid1,repart,growfs: make libcryptsetup a dlopen() style dep
Lennart Poettering [Thu, 3 Sep 2020 12:55:08 +0000 (14:55 +0200)]
Merge pull request #16821 from cgzones/selinux_status
selinux: use SELinux status page
Lennart Poettering [Thu, 3 Sep 2020 12:51:02 +0000 (14:51 +0200)]
Merge pull request #16940 from keszybz/socket-enotconn-cleanup
Cleanup socket enotconn handling
Susant Sahani [Sat, 29 Aug 2020 07:12:10 +0000 (07:12 +0000)]
resolve: allow configurable bind address
Glen Whitney [Thu, 3 Sep 2020 00:38:38 +0000 (17:38 -0700)]
hwdb: Add Adesso AKB-805MAC keyboard, mfd by Ortek
afg [Tue, 1 Sep 2020 21:47:49 +0000 (05:47 +0800)]
firstboot: don't create/modify passwd and shadow if not asked
Zbigniew Jędrzejewski-Szmek [Wed, 2 Sep 2020 16:17:14 +0000 (18:17 +0200)]
core/socket: use _cleanup_ to close the connection fd
Removing the gotos would lead to a lot of duplicated code, so I left them
as they were.
Zbigniew Jędrzejewski-Szmek [Wed, 2 Sep 2020 16:04:10 +0000 (18:04 +0200)]
core/socket: fold socket_instantiate_service() into socket_enter_running()
socket_instantiate_service() was doing unit_ref_set(), and the caller was
immediately doing unit_ref_unset(). After we get rid of this, it doesn't seem
worth it to have two functions.
Zbigniew Jędrzejewski-Szmek [Tue, 1 Sep 2020 21:50:01 +0000 (23:50 +0200)]
core/socket: we may get ENOTCONN from socket_instantiate_service()
This means that the connection was aborted before we even got to figure out
what the service name will be. Let's treat this as a non-event and close the
connection fd without any further messages.
Code last changed in
934ef6a5.
Reported-by: Thiago Macieira <thiago.macieira@intel.com>
With the patch:
systemd[1]: foobar.socket: Incoming traffic
systemd[1]: foobar.socket: Got ENOTCONN on incoming socket, assuming aborted connection attempt, ignoring.
...
Also, when we get ENOMEM, don't give the hint about missing unit.
Gibeom Gwon [Wed, 26 Aug 2020 13:56:01 +0000 (22:56 +0900)]
homed: remember the secret even when the for_state is FIXATING_FOR_ACQUIRE
Remember the secret if the for_state is FIXATING_FOR_ACTIVATION or
FIXATING_FOR_ACQUIRE. This fixes login failures when logging in
to an unfixated user.
Lennart Poettering [Mon, 31 Aug 2020 16:22:54 +0000 (18:22 +0200)]
update TODO
Lennart Poettering [Fri, 28 Aug 2020 19:27:45 +0000 (21:27 +0200)]
shared: make libcryptsetup dep dlopen
Let's make libcryptsetup a dlopen() style dep for PID 1 (i.e. for
RootImage= and stuff), systemd-growfs and systemd-repart. (But leave to
be a regulra dep in systemd-cryptsetup, systemd-veritysetup and
systemd-homed since for them the libcryptsetup support is not auxiliary
but pretty much at the core of what they do.)
This should be useful for container images that want systemd in the
payload but don't care for the cryptsetup logic since dm-crypt and stuff
isn't available in containers anyway.
Fixes: #8249
Lennart Poettering [Fri, 28 Aug 2020 19:26:33 +0000 (21:26 +0200)]
shared: rename crypt-util.c → cryptsetup-util.c
"crypt-util.c" is such a generic name, let's avoid that, in particular
as libc's/libcrypt's crypt() function is so generically named too that
one might thing this is about that. Let's hence be more precise, and
make clear that this is about cryptsetup, and nothing else.
We already had cryptsetup-util.[ch] in src/cryptsetup/ doing keyfile
management. To avoid the needless confusion, let's rename that file to
cryptsetup-keyfile.[ch].
Christian Göttsche [Tue, 1 Sep 2020 15:45:11 +0000 (17:45 +0200)]
selinux/systemctl: create unit file with default context on edit
Lennart Poettering [Tue, 1 Sep 2020 18:08:49 +0000 (20:08 +0200)]
import: make sure gnu tar complains on tar files with trailing garbage
By default GNU tar will only read the first archive if multiple archives
are concatenated and ignore the rest. If an archive contains trailing
garbage this will hence not be recognized by tar as error, it simply
stops reading when the first archive is done (which might escalate to
SIGPIPE when invoked via a pipe).
Let's add --ignore-zeros to the tar command line when extracting. This
means:
1) if a tar archive was concatenated (i.e. generated with tar -A) we'll
process it correctly.
2) if a tar archive contains trailing garbage tar will now generate an
error message about it, instead of just throwing EPIPE, which makes
things easier to debug as broken files are not silently processed.
I think it's OK for gnu tar to ignore trailing garbage when dealing with
classic tapes drives, i.e. mediums that do not have a size limit
built-in. However, this is not what we are dealing with: we are dealing
with OS images here, that hopefully someone generated with a clean build
system, that were signed and validated and hence should not contain
trailing garbage. Hence it's better to refuse and complain thant to
silently eat up like for classic tape drives.
Fixes: #16605
Lennart Poettering [Tue, 1 Sep 2020 21:26:50 +0000 (23:26 +0200)]
nspawn: let's make LinkJournal an extended boolean
Let's accept the usual boolean parameters for LinkJournal. It's
confusing otherwise.
Previously we'd accept "no" but not the other values we typically accept
for "false". We'd not accept any values for "true".
With this change we'll accept all true and false values and will do
something somewhat reasonable: any false value is treated like "no"
previously was reated. And any true value is now treated like "auto".
We don't document the new values, since this logic is mostly redundant,
and it's probably better if people consider this an enum rather than a
bool.
Fixes: #16888
Zbigniew Jędrzejewski-Szmek [Wed, 2 Sep 2020 06:55:40 +0000 (08:55 +0200)]
Merge pull request #16882 from weblate/weblate-systemd-master
Translations update from Weblate
Zbigniew Jędrzejewski-Szmek [Wed, 2 Sep 2020 06:12:56 +0000 (08:12 +0200)]
Merge pull request #16853 from poettering/udev-current-tag2
udev: make uevents "sticky"
Lennart Poettering [Tue, 1 Sep 2020 18:29:28 +0000 (20:29 +0200)]
coredump: don't convert s → µs twice
We already append 000000 early on when parsing the cmdline args, let's
not do that a second time.
Fixes: #16919
afg [Tue, 1 Sep 2020 21:20:25 +0000 (05:20 +0800)]
firstboot: fill empty color if ansi_color unavailable from os-release
Susant Sahani [Fri, 28 Aug 2020 10:39:40 +0000 (10:39 +0000)]
shared: Introduce socket_addr_port_from_string_auto
Zbigniew Jędrzejewski-Szmek [Tue, 1 Sep 2020 20:19:52 +0000 (22:19 +0200)]
Merge pull request #16925 from cgzones/selinux_create_label
selinux/core: create several file objects with default SELinux context
Lennart Poettering [Tue, 1 Sep 2020 18:34:22 +0000 (20:34 +0200)]
Merge pull request #16911 from keszybz/userdb-json-invalid-utf8
Deal properly with invalid utf-8 in userdb entries
Zbigniew Jędrzejewski-Szmek [Tue, 1 Sep 2020 17:44:28 +0000 (19:44 +0200)]
Merge pull request #16922 from keszybz/ordered-set-ensure-allocated
Ordered set ensure allocated
Lennart Poettering [Wed, 26 Aug 2020 16:30:52 +0000 (18:30 +0200)]
man: document the new libudev APIs
Lennart Poettering [Thu, 13 Dec 2018 18:13:59 +0000 (19:13 +0100)]
NEWS: explain the "bind"/"unbind" situation a bit
Lennart Poettering [Thu, 13 Dec 2018 17:36:57 +0000 (18:36 +0100)]
logind: always check current tag list before using a device
Lennart Poettering [Thu, 13 Dec 2018 17:35:06 +0000 (18:35 +0100)]
logind: only apply ACLs for device currently tagged with "uaccess"
This is about security, hence let's be particularly careful here: only
devices currenlty tagged with "uaccess" will get ACL management, and
it's not sufficient if they once were (though that is used for
filtering).
Lennart Poettering [Thu, 13 Dec 2018 17:32:03 +0000 (18:32 +0100)]
core: make sure to recheck current udev tag "systemd" before considering a device ready
Let's ensure that a device once tagged can become active/inactive simply
by toggling the current tag.
Note that this means that a device once tagged with "systemd" will
always have a matching .device unit. However, the active/inactive state
of the unit reflects whether it is currently tagged that way (and
doesn't have SYSTEMD_READY=0 set).
Fixes: #7587
Lennart Poettering [Thu, 13 Dec 2018 16:22:01 +0000 (17:22 +0100)]
test: add test for new "sticky" tags logic
Lennart Poettering [Thu, 13 Dec 2018 17:08:45 +0000 (18:08 +0100)]
libudev: also expose API to check for current tags in libudev
Lennart Poettering [Thu, 13 Dec 2018 16:55:14 +0000 (17:55 +0100)]
udev: make tags "sticky"
This tries to address the "bind"/"unbind" uevent kernel API breakage, by
changing the semantics of device tags.
Previously, tags would be applied on uevents (and the database entries
they result in) only depending on the immediate context. This means that
if one uevent causes the tag to be set and the next to be unset, this
would immediately effect what apps would see and the database entries
would contain each time. This is problematic however, as tags are a
filtering concept, and if tags vanish then clients won't hence notice
when a device stops being relevant to them since not only the tags
disappear but immediately also the uevents for it are filtered including
the one necessary for the app to notice that the device lost its tag and
hence relevance.
With this change tags become "sticky". If a tag is applied is once
applied to a device it will stay in place forever, until the device is
removed. Tags can never be removed again. This means that an app
watching a specific set of devices by filtering for a tag is guaranteed
to not only see the events where the tag is set but also all follow-up
events where the tags might be removed again.
This change of behaviour is unfortunate, but is required due to the
kernel introducing new "bind" and "unbind" uevents that generally have
the effect that tags and properties disappear and apps hence don't
notice when a device looses relevance to it. "bind"/"unbind" events were
introduced in kernel 4.12, and are now used in more and more subsystems.
The introduction broke userspace widely, and this commit is an attempt
to provide a way for apps to deal with it.
While tags are now "sticky" a new automatic device property
CURRENT_TAGS is introduced (matching the existing TAGS property) that
always reflects the precise set of tags applied on the most recent
events. Thus, when subscribing to devices through tags, all devices that
ever had the tag put on them will be be seen, and by CURRENT_TAGS it may
be checked whether the device right at the moment matches the tag
requirements.
See: #7587 #7018 #8221
Lennart Poettering [Wed, 26 Aug 2020 16:47:11 +0000 (18:47 +0200)]
test-functions: make sure we test our own libudev instead of the host libudev
When invoking "ldd" to find dependency libraries we already set
$LD_LIBRARY_PATH to point to our own build tree, so that our libraries
are checked, not the host libraries. This is not sufficient howeever, as
libudev is built in a subdir. Add that, too.
Lennart Poettering [Tue, 1 Sep 2020 15:21:48 +0000 (17:21 +0200)]
Merge pull request #16727 from wusto/core-fix-securebits
core: fix securebits setting
Renaud Métrich [Thu, 20 Aug 2020 11:00:37 +0000 (13:00 +0200)]
socket: New option 'FlushPending' (boolean) to flush socket before entering listening state
Disabled by default. When Enabled, before listening on the socket, flush the content.
Applies when Accept=no only.
Zbigniew Jędrzejewski-Szmek [Mon, 31 Aug 2020 11:01:23 +0000 (13:01 +0200)]
TODO: add entry
Zbigniew Jędrzejewski-Szmek [Sun, 30 Aug 2020 18:34:12 +0000 (20:34 +0200)]
user-record-nss: check if strings from pwd/spwd/grp/sgrp are valid utf-8
strv_extend_strv_utf8_only() uses a temporary buffer to make the implementation
conscise. Otherwise we'd have to rewrite all of strv_extend_strv() which didn't
seem worth the trouble for this one use outside of a hot path.
If the data is not serializable, we just pretend it doesn't exists.
This fixes #16683 and https://bugs.gentoo.org/735072 in a second way.