Bug#986758: unblock: systemd/247.3-5
Control: tags -1 confirmed d-i
Hi,
On Mon, Apr 12, 2021 at 08:54:51PM +0200, Michael Biebl wrote:
> control: retitle -1 unblock: systemd/247.3-5
This look ok. Kibi was already in Cc for the unblock-udeb (the original mail
is quoted below).
Cheers,
Ivo
>
> Am 11.04.21 um 18:48 schrieb Luca Boccassi:
> > Please unblock package systemd
> >
> > As requested by Michael, opening unblock ticket. Debdiff attached. Two
> > high-impact patches are backported from upstream and should be included
> > in Bullseye.
>
> Thanks Luca!
>
> > * Backport patch to fix assert with invalid LoadCredentials=
> > Regression introduced in v247, fixed in v249, see:
> > https://github.com/systemd/systemd/issues/19178
> > (Closes: #986302)
> >
> > * network: Delay addition of IPv6 Proxy NDP addresses.
> > Fixes "IPv6 Proxy NDP addresses are being lost from interfaces after
> > networkd adds them". (Closes: #985510)
> >
> > The first patch fixes a crash when a malformed option is set in any
> > unit.
> >
> > unblock systemd/247.3-4
>
> I decided to make a 247.3-5 upload to fix #975018 as well:
>
> > udev-udeb: setup /dev/fd, /dev/std{in,out,err} symlinks
> > As systemd-udevd no longer sets them up itself, we create them manually
> > after mounting devtmpfs. This avoids breaking applications which expect
>
>
> Somehow this issue did not show up on the systemd bug tracker, so I
> completely forgot about it. Apologies for that.
>
> This fixes a regression which e.g. broke fetch-url and triggered a
> workaround in debian-installer-utils_1.134:
>
> > [ Raphaël Hertzog ]
> > * Use /proc/self/fd/4 instead of /dev/fd/4 to unbreak fetch-url with
> recent
> > udev versions that no longer setup the /dev/fd symlink. Closes: #967546
>
>
> I'd rather see this fixed for good. It's possible that other applications
> expect those symlinks as well.
>
> This does affect udev-udeb, so kibi's ack would be appreciated.
>
> Thanks for considering,
> Michael
>
>
> unblock systemd/247.3-5
> diff --git a/debian/changelog b/debian/changelog
> index 22a8ad2..0588fec 100644
> --- a/debian/changelog
> +++ b/debian/changelog
> @@ -1,27 +1,3 @@
> -systemd (247.3-5) unstable; urgency=medium
> -
> - * udev-udeb: setup /dev/fd, /dev/std{in,out,err} symlinks.
> - As systemd-udevd no longer sets them up itself, we create them manually
> - after mounting devtmpfs. This avoids breaking applications which expect
> - those symlinks. (Closes: #975018)
> -
> - -- Michael Biebl <biebl@debian.org> Mon, 12 Apr 2021 20:21:24 +0200
> -
> -systemd (247.3-4) unstable; urgency=medium
> -
> - [ Luca Boccassi ]
> - * Backport patch to fix assert with invalid LoadCredentials=
> - Regression introduced in v247, fixed in v249, see:
> - https://github.com/systemd/systemd/issues/19178
> - (Closes: #986302)
> -
> - [ Michael Biebl ]
> - * network: Delay addition of IPv6 Proxy NDP addresses.
> - Fixes "IPv6 Proxy NDP addresses are being lost from interfaces after
> - networkd adds them". (Closes: #985510)
> -
> - -- Michael Biebl <biebl@debian.org> Sun, 11 Apr 2021 16:06:46 +0200
> -
> systemd (247.3-3) unstable; urgency=medium
>
> * pkg-config: make prefix overridable again (Closes: #984763)
> diff --git a/debian/extra/start-udev b/debian/extra/start-udev
> index 0a8b284..6048925 100755
> --- a/debian/extra/start-udev
> +++ b/debian/extra/start-udev
> @@ -6,11 +6,6 @@ fi
>
> if ! grep -E -q "^[^[:space:]]+ /dev devtmpfs" /proc/mounts; then
> mount -n -o mode=0755 -t devtmpfs devtmpfs /dev
> - # Setup a few /dev symlinks, see #975018
> - [ ! -h /dev/fd ] && ln -s /proc/self/fd /dev/fd
> - [ ! -h /dev/stdin ] && ln -s /proc/self/fd/0 /dev/stdin
> - [ ! -h /dev/stdout ] && ln -s /proc/self/fd/1 /dev/stdout
> - [ ! -h /dev/stderr ] && ln -s /proc/self/fd/2 /dev/stderr
> fi
>
> SYSTEMD_LOG_LEVEL=notice /lib/systemd/systemd-udevd --daemon --resolve-names=never
> diff --git a/debian/patches/LoadCredentials-do-not-assert-on-invalid-syntax.patch b/debian/patches/LoadCredentials-do-not-assert-on-invalid-syntax.patch
> deleted file mode 100644
> index c9e3500..0000000
> --- a/debian/patches/LoadCredentials-do-not-assert-on-invalid-syntax.patch
> +++ /dev/null
> @@ -1,34 +0,0 @@
> -From: Luca Boccassi <luca.boccassi@microsoft.com>
> -Date: Thu, 1 Apr 2021 22:18:29 +0100
> -Subject: LoadCredentials: do not assert on invalid syntax
> -
> -LoadCredentials=foo causes an assertion to be triggered, as we
> -are not checking that the rvalue's right hand side part is non-empty
> -before using it in unit_full_printf.
> -
> -Fixes #19178
> -
> -# printf [Service]nLoadCredential=passwd.hashed-password.rootn > hello.service
> -# systemd-analyze verify ./hello.service
> -...
> -Assertion 'format' failed at src/core/unit-printf.c:232, function unit_full_printf(). Aborting.
> -Aborted (core dumped)
> -
> -(cherry picked from commit f7a6f1226e800f7695c2073675523062ea697aa4)
> ----
> - src/core/load-fragment.c | 2 +-
> - 1 file changed, 1 insertion(+), 1 deletion(-)
> -
> -diff --git a/src/core/load-fragment.c b/src/core/load-fragment.c
> -index 4964249..5b66fb1 100644
> ---- a/src/core/load-fragment.c
> -+++ b/src/core/load-fragment.c
> -@@ -4569,7 +4569,7 @@ int config_parse_load_credential(
> - r = extract_first_word(&p, &word, ":", EXTRACT_DONT_COALESCE_SEPARATORS);
> - if (r == -ENOMEM)
> - return log_oom();
> -- if (r <= 0) {
> -+ if (r <= 0 || isempty(p)) {
> - log_syntax(unit, LOG_WARNING, filename, line, r, "Invalid syntax, ignoring: %s", rvalue);
> - return 0;
> - }
> diff --git a/debian/patches/debian/Downgrade-a-couple-of-warnings-to-debug.patch b/debian/patches/debian/Downgrade-a-couple-of-warnings-to-debug.patch
> index 1b5b03d..466a232 100644
> --- a/debian/patches/debian/Downgrade-a-couple-of-warnings-to-debug.patch
> +++ b/debian/patches/debian/Downgrade-a-couple-of-warnings-to-debug.patch
> @@ -16,7 +16,7 @@ Closes: #981407
> 3 files changed, 7 insertions(+), 3 deletions(-)
>
> diff --git a/src/core/load-fragment.c b/src/core/load-fragment.c
> -index 5b66fb1..df5669a 100644
> +index 4964249..2d48783 100644
> --- a/src/core/load-fragment.c
> +++ b/src/core/load-fragment.c
> @@ -372,6 +372,7 @@ static int patch_var_run(
> diff --git a/debian/patches/network-Delay-addition-of-IPv6-Proxy-NDP-addresses.patch b/debian/patches/network-Delay-addition-of-IPv6-Proxy-NDP-addresses.patch
> deleted file mode 100644
> index 055c598..0000000
> --- a/debian/patches/network-Delay-addition-of-IPv6-Proxy-NDP-addresses.patch
> +++ /dev/null
> @@ -1,86 +0,0 @@
> -From: "Kevin P. Fleming" <kevin@km6g.us>
> -Date: Sat, 6 Feb 2021 10:58:43 -0500
> -Subject: network: Delay addition of IPv6 Proxy NDP addresses
> -
> -Setting of IPv6 Proxy NDP addresses must be done at the same
> -time as static addresses, static routes, and other link attributes
> -that must be configured when the link is up. Doing this ensures
> -that they are reconfigured on the link if the link goes down
> -and returns to service.
> -
> -(cherry picked from commit 12f7469bbe0142d7f360a29ca2b407ce7f5ff096)
> -
> -Fixes https://github.com/systemd/systemd-stable/issues/89
> -
> -(cherry picked from commit d5ea028e46673ef627843e90c3d01ebac8fe0e62)
> ----
> - src/network/networkd-address.c | 11 +++++++++++
> - src/network/networkd-link.c | 5 -----
> - 2 files changed, 11 insertions(+), 5 deletions(-)
> -
> -diff --git a/src/network/networkd-address.c b/src/network/networkd-address.c
> -index 961b248..ef47af4 100644
> ---- a/src/network/networkd-address.c
> -+++ b/src/network/networkd-address.c
> -@@ -9,6 +9,7 @@
> - #include "netlink-util.h"
> - #include "networkd-address-pool.h"
> - #include "networkd-address.h"
> -+#include "networkd-ipv6-proxy-ndp.h"
> - #include "networkd-manager.h"
> - #include "networkd-network.h"
> - #include "parse-util.h"
> -@@ -903,6 +904,7 @@ int address_configure(
> - static int static_address_ready_callback(Address *address) {
> - Address *a;
> - Link *link;
> -+ int r;
> -
> - assert(address);
> - assert(address->link);
> -@@ -927,6 +929,10 @@ static int static_address_ready_callback(Address *address) {
> -
> - link->addresses_ready = true;
> -
> -+ r = link_set_ipv6_proxy_ndp_addresses(link);
> -+ if (r < 0)
> -+ return r;
> -+
> - return link_set_routes(link);
> - }
> -
> -@@ -1046,6 +1052,11 @@ int link_set_addresses(Link *link) {
> - if (link->address_messages == 0) {
> - link->addresses_configured = true;
> - link->addresses_ready = true;
> -+
> -+ r = link_set_ipv6_proxy_ndp_addresses(link);
> -+ if (r < 0)
> -+ return r;
> -+
> - r = link_set_routes(link);
> - if (r < 0)
> - return r;
> -diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c
> -index 8120343..e8a7223 100644
> ---- a/src/network/networkd-link.c
> -+++ b/src/network/networkd-link.c
> -@@ -28,7 +28,6 @@
> - #include "networkd-dhcp6.h"
> - #include "networkd-fdb.h"
> - #include "networkd-ipv4ll.h"
> --#include "networkd-ipv6-proxy-ndp.h"
> - #include "networkd-link-bus.h"
> - #include "networkd-link.h"
> - #include "networkd-lldp-tx.h"
> -@@ -2056,10 +2055,6 @@ int link_configure(Link *link) {
> - if (r < 0)
> - return r;
> -
> -- r = link_set_ipv6_proxy_ndp_addresses(link);
> -- if (r < 0)
> -- return r;
> --
> - r = link_set_mac(link);
> - if (r < 0)
> - return r;
> diff --git a/debian/patches/series b/debian/patches/series
> index 316ad6b..5b05dca 100644
> --- a/debian/patches/series
> +++ b/debian/patches/series
> @@ -5,8 +5,6 @@ analyze-slightly-reword-PrivateTmp-message.patch
> rules-Move-ID_SMARTCARD_READER-definition-to-a-70-configu.patch
> table-drop-trailing-white-spaces-of-the-last-cell-in-row.patch
> pkg-config-make-prefix-overridable-again.patch
> -LoadCredentials-do-not-assert-on-invalid-syntax.patch
> -network-Delay-addition-of-IPv6-Proxy-NDP-addresses.patch
> debian/Use-Debian-specific-config-files.patch
> debian/Bring-tmpfiles.d-tmp.conf-in-line-with-Debian-defaul.patch
> debian/Make-run-lock-tmpfs-an-API-fs.patch
Reply to: