#!/bin/sh -e

RULES_PATH="/etc/ufw"
USER_PATH="/lib/ufw"
UFW_CONF="/etc/ufw/ufw.conf"
case "$1" in
    remove)
        ;;

    purge)
        if [ -e /usr/share/debconf/confmodule ]; then
            . /usr/share/debconf/confmodule
            db_purge
        fi

        for f in before.rules before6.rules after.rules after6.rules
        do
            if which ucf > /dev/null 2>&1; then
                ucf -p $RULES_PATH/$f
            fi
            rm -f $RULES_PATH/$f
            rm -f $RULES_PATH/$f.ucf-old $RULES_PATH/$f.ucf-new $RULES_PATH/$f.ucf-dist
        done
        rm -f $RULES_PATH/ufw.rules $RULES_PATH/ufw.rules.dpkg-old
        rm -f $USER_PATH/user.rules $USER_PATH/user6.rules

        # go back to default accept, if ufw was enabled
        if [ -f "$UFW_CONF" ] && grep -qi "^ENABLED=yes" "$UFW_CONF"; then
            for exe in iptables ip6tables
            do
                if which $exe > /dev/null 2>&1; then
                    $exe -P INPUT ACCEPT 2>/dev/null || true
                    $exe -P OUTPUT ACCEPT 2>/dev/null || true
                    $exe -P FORWARD ACCEPT 2>/dev/null || true
                    $exe -F 2>/dev/null || true
                    $exe -X 2>/dev/null || true
                fi
            done
        fi

        rm -f "$UFW_CONF"
        ;;

    upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
        ;;

    *)
        echo "postrm called with unknown argument '$1'" >&2
        exit 1
        ;;
esac

#DEBHELPER#
