/mandos/trunk

To get this branch, use:
bzr branch http://bzr.recompile.se/loggerhead/mandos/trunk

« back to all changes in this revision

Viewing changes to network-hooks.d/bridge

  • Committer: Teddy Hogeborn
  • Date: 2019-02-10 03:50:20 UTC
  • Revision ID: teddy@recompile.se-20190210035020-nttr1tybgwwixueu
Show debconf note about new TLS key IDs

If mandos-client did not see TLS keys and had to create them, or if
mandos sees GnuTLS version 3.6.6 or later, show an important notice on
package installation about the importance of adding the new key_id
options to clients.conf on the Mandos server.

* debian/control (Package: mandos, Package: mandos-client): Depend on
                                                            debconf.
* debian/mandos-client.lintian-overrides: Override warnings.
* debian/mandos-client.postinst (create_keys): Show notice if new TLS
                                               key files were created.
* debian/mandos-client.templates: New.
* debian/mandos.lintian-overrides: Override warnings.
* debian/mandos.postinst (configure): If GnuTLS 3.6.6 or later is
                                      detected, show an important
                                      notice (once) about the new
                                      key_id option required in
                                      clients.conf.
* debian/mandos.templates: New.

Show diffs side-by-side

added added

removed removed

Lines of Context:
6
6
# configuration file(s) should be copied into the
7
7
# /etc/mandos/network-hooks.d directory.
8
8
 
9
# Copyright © 2012-2018 Teddy Hogeborn
 
10
# Copyright © 2012-2018 Björn Påhlsson
 
11
9
12
# Copying and distribution of this file, with or without modification,
10
13
# are permitted in any medium without royalty provided the copyright
11
14
# notice and this notice are preserved.  This file is offered as-is,
15
18
 
16
19
CONFIG="$MANDOSNETHOOKDIR/bridge.conf"
17
20
 
18
 
# Read config file, which must set "BRIDGE", "PORTS", and optionally
19
 
# "IPADDRS" and "ROUTES".
 
21
addrtoif(){
 
22
    grep -liFe "$1" /sys/class/net/*/address \
 
23
        | sed -e 's,.*/\([^/]*\)/[^/]*,\1,' -e "/^${BRIDGE}\$/d"
 
24
}
 
25
 
 
26
# Read config file, which must set "BRIDGE", "PORT_ADDRESSES", and
 
27
# optionally "IPADDRS" and "ROUTES".
20
28
if [ -e "$CONFIG" ]; then
21
29
    . "$CONFIG"
22
30
fi
23
31
 
24
 
if [ -z "$BRIDGE" -o -z "$PORTS" ]; then
25
 
    exit
26
 
fi
27
 
 
28
 
if [ -n "$DEVICE" -a "$DEVICE" != "$BRIDGE" ]; then
29
 
    exit
30
 
fi
31
 
 
32
 
case "$1" in
33
 
    start)
34
 
        brctl addbr "$BRIDGE"
35
 
        for port in $PORTS; do
36
 
            brctl addif "$BRIDGE" "$port"
37
 
        done
38
 
        ip link set up "$BRIDGE"
39
 
        if [ -n "$IPADDRS" ]; then
40
 
            for ipaddr in $IPADDRS; do
41
 
                ip addr add "$ipaddr" dev "$BRIDGE"
42
 
            done
43
 
        fi
44
 
        if [ -n "$ROUTES" ]; then
45
 
            for route in $ROUTES; do
46
 
                ip route add "$route" dev "$BRIDGE"
47
 
            done
48
 
        fi
49
 
        ;;
50
 
    stop)
51
 
        ip link set down "$BRIDGE"
52
 
        for port in $PORTS; do
53
 
            brctl delif "$BRIDGE" "$port"
54
 
        done
55
 
        brctl delbr "$BRIDGE"
 
32
if [ -z "$BRIDGE" ] || [ -z "$PORT_ADDRESSES" ]; then
 
33
    exit
 
34
fi
 
35
 
 
36
if [ -n "$DEVICE" ]; then
 
37
    case "$DEVICE" in
 
38
        *,"$BRIDGE"|*,"$BRIDGE",*|"$BRIDGE",*|"$BRIDGE") :;;
 
39
        *) exit;;
 
40
    esac
 
41
fi
 
42
 
 
43
brctl="/sbin/brctl"
 
44
for b in "$brctl" /usr/sbin/brctl; do
 
45
    if [ -e "$b" ]; then
 
46
        brctl="$b"
 
47
        break
 
48
    fi
 
49
done
 
50
 
 
51
do_start(){
 
52
    "$brctl" addbr "$BRIDGE"
 
53
    for address in $PORT_ADDRESSES; do
 
54
        interface=`addrtoif "$address"`
 
55
        "$brctl" addif "$BRIDGE" "$interface"
 
56
        ip link set dev "$interface" up
 
57
    done
 
58
    ip link set dev "$BRIDGE" up
 
59
    sleep "${DELAY%%.*}"
 
60
    if [ -n "$IPADDRS" ]; then
 
61
        for ipaddr in $IPADDRS; do
 
62
            ip addr add "$ipaddr" dev "$BRIDGE"
 
63
        done
 
64
    fi
 
65
    if [ -n "$ROUTES" ]; then
 
66
        for route in $ROUTES; do
 
67
            ip route add "$route" dev "$BRIDGE"
 
68
        done
 
69
    fi
 
70
}
 
71
 
 
72
do_stop(){
 
73
    ip link set dev "$BRIDGE" down
 
74
    for address in $PORT_ADDRESSES; do
 
75
        interface=`addrtoif "$address"`
 
76
        ip link set dev "$interface" down
 
77
        "$brctl" delif "$BRIDGE" "$interface"
 
78
    done
 
79
    "$brctl" delbr "$BRIDGE"
 
80
}
 
81
 
 
82
case "${MODE:-$1}" in
 
83
    start|stop)
 
84
        do_"${MODE:-$1}"
56
85
        ;;
57
86
    files)
58
87
        echo /bin/ip
59
 
        echo /usr/bin/brctl
 
88
        echo "$brctl"
 
89
        ;;
 
90
    modules)
 
91
        echo bridge
60
92
        ;;
61
93
esac