/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/wireless

  • Committer: teddy at recompile
  • Date: 2011-12-31 13:25:58 UTC
  • mto: This revision was merged to the branch mainline in revision 541.
  • Revision ID: teddy@recompile.se-20111231132558-z0dh7qgofgctmgri
* network-hooks.s/bridge: Don't use interface names directly; search
                          for interface names using their address.
  (addrtoif): New function.
* network-hooks.s/bridge.conf (PORTS): Removed.
  (PORT_ADDRESSES): New.
* network-hooks.s/wireless: Don't use interface names directly; search
                            for interface names using their address.
  (addrtoif): New function.
* network-hooks.s/wireless.conf: Specify address.

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 Teddy Hogeborn
10
 
# Copyright © 2012 Björn Påhlsson
11
 
12
9
# Copying and distribution of this file, with or without modification,
13
10
# are permitted in any medium without royalty provided the copyright
14
11
# notice and this notice are preserved.  This file is offered as-is,
24
21
CONFIG="$MANDOSNETHOOKDIR/wireless.conf"
25
22
 
26
23
addrtoif(){
27
 
    grep -liFe "$1" /sys/class/net/*/address \
28
 
        | sed -e 's,.*/\([^/]*\)/[^/]*,\1,'
 
24
    grep -liFe "$1" /sys/class/net/*/address | sed -e 's,.*/\([^/]*\)/[^/]*,\1,'
29
25
}
30
26
 
31
27
# Read config file
35
31
    exit
36
32
fi
37
33
 
38
 
ifkeys=`env | sed -n -e 's/^ADDRESS_\([^=]*\)=.*/\1/p' "$CONFIG" \
39
 
    | sort -u`
 
34
ifkeys="`env | sed -n -e 's/^ADDRESS_\([^=]*\)=.*/\1/p' \"$CONFIG\" | sort -u`"
40
35
 
41
36
# Exit if DEVICE is set and is not any of the wireless interfaces
42
37
if [ -n "$DEVICE" ]; then
85
80
            "$wpa_cli" -g "$CTRL" interface_add "$INTERFACE" "" \
86
81
                "${DRIVER:-wext}" "$CTRLDIR" > /dev/null \
87
82
                | sed -e '/^OK$/d'
88
 
            NETWORK=`"$wpa_cli" -p "$CTRLDIR" -i "$INTERFACE" \
89
 
                add_network`
 
83
            NETWORK=`"$wpa_cli" -p "$CTRLDIR" -i "$INTERFACE" add_network`
90
84
            eval wpa_interface_"$KEY"
91
85
            "$wpa_cli" -p "$CTRLDIR" -i "$INTERFACE" enable_network \
92
86
                "$NETWORK" | sed -e '/^OK$/d'
94
88
            sleep=$!
95
89
            while :; do
96
90
                kill -0 $sleep 2>/dev/null || break
97
 
                STATE=`"$wpa_cli" -p "$CTRLDIR" -i "$INTERFACE" \
98
 
                    status | sed -n -e 's/^wpa_state=//p'`
 
91
                STATE=`"$wpa_cli" -p "$CTRLDIR" -i "$INTERFACE" status | sed -n -e 's/^wpa_state=//p'`
99
92
                if [ "$STATE" = COMPLETED ]; then
100
93
                    while :; do
101
94
                        kill -0 $sleep 2>/dev/null || break 2