/mandos/release

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

« back to all changes in this revision

Viewing changes to network-hooks.d/wireless

  • Committer: Teddy Hogeborn
  • Date: 2016-03-13 00:37:02 UTC
  • mto: (237.7.594 trunk)
  • mto: This revision was merged to the branch mainline in revision 339.
  • Revision ID: teddy@recompile.se-20160313003702-dulwtwt8ilpojra9
Server: Fix bug where it did not exit timely on signals

Use GLib.unix_signal_add() instead of signal.signal() to catch
signals; this will allow GLib to do its internal magic with signal
file descriptors.  (GLib does not handle signals properly otherwise.)
The function unix_signal_add() requires GLib 2.30 or later, which was
not required by PyGobject until version 3.7.1, so depend on this.

* INSTALL (Mandos Server): Document dependency on PyGObject 3.7.1
* mandos (main): Use GLib.unix_signal_add instead of signal.signal.
* init.d-mandos (do_stop): Remove workaround.
* mandos.service ([Service]): - '' -

Show diffs side-by-side

added added

removed removed

Lines of Context:
35
35
    exit
36
36
fi
37
37
 
38
 
ifkeys=`env | sed -n -e 's/^ADDRESS_\([^=]*\)=.*/\1/p' "$CONFIG" \
39
 
    | sort -u`
 
38
ifkeys=`sed -n -e 's/^ADDRESS_\([^=]*\)=.*/\1/p' "$CONFIG" | sort -u`
40
39
 
41
40
# Exit if DEVICE is set and is not any of the wireless interfaces
42
41
if [ -n "$DEVICE" ]; then
44
43
        for KEY in $ifkeys; do
45
44
            ADDRESS=`eval 'echo "$ADDRESS_'"$KEY"\"`
46
45
            INTERFACE=`addrtoif "$ADDRESS"`
47
 
            if [ "$INTERFACE" = "$DEVICE" ]; then
48
 
                break 2
49
 
            fi
 
46
            
 
47
            case "$DEVICE" in
 
48
                *,"$INTERFACE"|*,"$INTERFACE",*|"$INTERFACE",*|"$INTERFACE")
 
49
                    break 2;;
 
50
            esac
50
51
        done
51
52
        exit
52
53
    done
122
123
        ROUTES=`eval 'echo "$ROUTES_'"$KEY"\"`
123
124
        if [ -n "$ROUTES" ]; then
124
125
            for route in $ROUTES; do
125
 
                "$ip" route add "$route" dev "$BRIDGE"
 
126
                "$ip" route add "$route" dev "$INTERFACE"
126
127
            done
127
128
        fi
128
129
    done