File: libvirt-daemon-config-nwfilter.postrm

package info (click to toggle)
libvirt 12.1.0-1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 217,244 kB
  • sloc: ansic: 540,423; xml: 355,215; python: 12,060; perl: 2,626; sh: 2,179; makefile: 448; javascript: 126; cpp: 22
file content (110 lines) | stat: -rw-r--r-- 2,817 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
#!/bin/sh

set -e

# summary of how this script can be called:
#
#   * <postrm> `remove'
#   * <postrm> `purge'
#   * <old-postrm> `upgrade' <new-version>
#   * <disappearer's-postrm> `disappear' <overwriter> <overwriter-version>
#   * <new-postrm> `failed-upgrade' <old-version> <new-version>
#   * <new-postrm> `abort-install'
#   * <new-postrm> `abort-install' <old-version> <new-version>
#   * <new-postrm> `abort-upgrade' <old-version> <new-version>
#
# for details, see https://www.debian.org/doc/debian-policy/ or
# the debian-policy package

remove_config_from_template() {
    local config="$1"
    local template="$2"
    local firstver="$3"

    if [ "$4" != "--" ]; then
        echo "remove_config_from_template called with the wrong number of arguments" >&2
        return 1
    fi
    for _ in $(seq 1 4); do
        shift
    done

    if [ "$1" = "remove" ] && [ -e "$config" ]; then
        # When removing the package, move the configuration file to the side
        # so that the daemon no longer sees it, but we can still restore it
        # at a later time if the package is reinstalled
        mv -f "$config" "$config.dpkg-backup"
        return 0
    fi

    if [ "$1" = "purge" ]; then
        # When purging the package, remove all traces of the configuration
        rm -f "$config" "$config.dpkg-backup"
        return 0
    fi
}

NWFILTERS="
    allow-arp
    allow-dhcp
    allow-dhcp-server
    allow-incoming-ipv4
    allow-ipv4
    clean-traffic
    clean-traffic-gateway
    no-arp-ip-spoofing
    no-arp-mac-spoofing
    no-arp-spoofing
    no-ip-multicast
    no-ip-spoofing
    no-mac-broadcast
    no-mac-spoofing
    no-other-l2-traffic
    no-other-rarp-traffic
    qemu-announce-self
    qemu-announce-self-rarp
"
NWFILTERS_7_0_0="
    allow-dhcpv6
    allow-dhcpv6-server
    allow-incoming-ipv6
    allow-ipv6
    no-ipv6-multicast
    no-ipv6-spoofing
"

case "$1" in
    remove|purge)
        for nwfilter in $NWFILTERS; do
            remove_config_from_template \
                "/etc/libvirt/nwfilter/$nwfilter.xml" \
                "/usr/share/libvirt/nwfilter/$nwfilter.xml" \
                "6.9.0-2~" \
                -- \
                "$@"
        done
        for nwfilter in $NWFILTERS_7_0_0; do
            remove_config_from_template \
                "/etc/libvirt/nwfilter/$nwfilter.xml" \
                "/usr/share/libvirt/nwfilter/$nwfilter.xml" \
                "7.0.0-1~" \
                -- \
                "$@"
        done

        # Trigger daemon restart after removing configuration files
        dpkg-trigger libvirt-restart-libvirtd
    ;;

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

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

#DEBHELPER#

exit 0