[pkg-netfilter-team] Bug#1012613: nftables: upgrade stops but does not start service

Jeremy Sowden jeremy at azazel.net
Sun Jun 19 18:47:19 BST 2022


On 2022-06-19, at 13:48:59 +0200, Arturo Borrero Gonzalez wrote:
> On Fri, 10 Jun 2022 12:21:37 +0200 Christian Göttsche wrote:
> > Package: nftables
> > Version: 1.0.4-1
> > Severity: serious
> >
> > Dear Maintainer,
> >
> > upgrades of nftables stop the service but do not start it (even if the
> > service is actually enabled).
> > This can lead to lockouts, e.g. when using special rules for ssh access.
> >
> >
> > nft.preinst:
> >
> > #!/bin/sh
> > set -e
> > # Automatically added by dh_installsystemd/13.7.1
> > if [ -z "${DPKG_ROOT:-}" ] && [ "$1" = upgrade ] && [ -d /run/systemd/system ] ; then
> >        deb-systemd-invoke stop 'nftables.service' >/dev/null || true
> > fi
> > # End automatically added section
> >
> >
> > nft.postinst:
> >
> > #!/bin/sh
> > set -e
> > # Automatically added by dh_installsystemd/13.7.1
> > if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ] || [ "$1" = "abort-deconfigure" ] || [ "$1" = "abort-remove" ] ; then
> >        if deb-systemd-helper debian-installed 'nftables.service'; then
> >                # This will only remove masks created by d-s-h on package removal.
> >                deb-systemd-helper unmask 'nftables.service' >/dev/null || true
> >
> >                if deb-systemd-helper --quiet was-enabled 'nftables.service'; then
> >                        # Create new symlinks, if any.
> >                        deb-systemd-helper enable 'nftables.service' >/dev/null || true
> >                fi
> >        fi
> >
> >        # Update the statefile to add new symlinks (if any), which need to be cleaned
> >        # up on purge. Also remove old symlinks.
> >        deb-systemd-helper update-state 'nftables.service' >/dev/null || true
> > fi
> > # End automatically added section
>
> I confirmed this can be a problem:
>
> [...]
>
> @Alberto, @Jeremy,
>
> It seems to me like we need to play with the dh_installsystemd
> --no-restart-after-upgrade option, but don't have time to figure out the
> right logic.
>
> I'm currently unable to handle this. Could you please take a look?

Passing `--restart-after-upgrade` does the trick:

  diff -u nftables_1.0.4-1/postinst nftables_1.0.4-2/postinst
  --- nftables_1.0.4-1/postinst   2022-06-07 23:59:59.000000000 +0100
  +++ nftables_1.0.4-2/postinst   2022-06-19 18:04:19.000000000 +0100
  @@ -17,3 +17,13 @@
  deb-systemd-helper update-state 'nftables.service' >/dev/null || true
  fi
  # End automatically added section
  +# Automatically added by dh_installsystemd/13.7.1
  +if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ] || [ "$1" = "abort-deconfigure" ] || [ "$1" = "abort-remove" ] ; then
  +       if [ -z "${DPKG_ROOT:-}" ] && [ -d /run/systemd/system ]; then
  +               systemctl --system daemon-reload >/dev/null || true
  +               if [ -n "$2" ]; then
  +                       deb-systemd-invoke try-restart 'nftables.service' >/dev/null || true
  +               fi
  +       fi
  +fi
  +# End automatically added section

I've pushed that and a few other changes to Salsa.

J.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/pkg-netfilter-team/attachments/20220619/4af21b7e/attachment.sig>


More information about the pkg-netfilter-team mailing list