#!/bin/sh
# postinst script for mdns-reflector
#
# see: dh_installdeb(1)

set -e

# summary of how this script can be called:
#        * <postinst> `configure' <most-recently-configured-version>
#        * <old-postinst> `abort-upgrade' <new version>
#        * <conflictor's-postinst> `abort-remove' `in-favour' <package>
#          <new-version>
#        * <postinst> `abort-remove'
#        * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
#          <failed-install-package> <version> `removing'
#          <conflicting-package> <version>
# for details, see https://www.debian.org/doc/debian-policy/ or
# the debian-policy package

case "${1}" in
        'configure')

                # setup mDNS Reflector system user account
                if ! getent 'passwd' '_mdns.reflector' >'/dev/null'; then
                        echo 'Creating _mdns.reflector system user.' >&2
                        # if adduser >= 3.122; then use --allow-bad-names
                        # if not; then use --force-badname
                        badname_option="--allow-bad-names"
                        version=`dpkg-query --show --showformat='${Version}' adduser`
                        if dpkg --compare-versions "$version" "lt" "3.122"; then
                            badname_option="--force-badname"
                        fi

                        adduser --system --no-create-home \
                                --disabled-password --disabled-login \
                                --shell /bin/false --group --home /dev/null \
                                "$badname_option" _mdns.reflector
                fi

                # Enable cap_net_raw+ep for the mdns-reflector binary
                setcap cap_net_raw+ep /usr/bin/mdns-reflector

                ;;
        'abort-upgrade'|'abort-remove'|'abort-deconfigure')
                ;;
        *)
                echo "postinst called with unknown argument '${1}'" >&2
                exit 1
                ;;
esac

#DEBHELPER#

exit 0
