Maemo debianization.
[wpasupplicant] / debian / ifupdown / wpa_action.sh
1 #!/bin/sh
2
3 # Copyright (C) 2006 - 2008 Debian/Ubuntu wpasupplicant Maintainers 
4 # <pkg-wpa-devel@lists.alioth.debian.org>
5 #
6 # This program is free software; you can redistribute it and/or
7 # modify it under the terms of the GNU General Public License
8 # as published by the Free Software Foundation; either version 2
9 # of the License, or (at your option) any later version.
10 #
11 # This program is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 # GNU General Public License for more details.
15 #
16 # On Debian GNU/Linux systems, the text of the GPL license can be
17 # found in /usr/share/common-licenses/GPL.
18
19 if [ -n "$IF_WPA_ROAM_MAINT_DEBUG" ]; then
20         set -x
21 fi
22
23 if [ -z "$1" ] || [ -z "$2" ]; then
24         echo "Usage: $0 IFACE ACTION"
25         exit 1
26 fi
27
28 # network interface
29 WPA_IFACE="$1"
30 # [CONNECTED|DISCONNECTED|stop|reload|check]
31 WPA_ACTION="$2"
32
33 if [ -f /etc/wpa_supplicant/functions.sh ]; then
34         . /etc/wpa_supplicant/functions.sh
35 else
36         exit 0
37 fi
38
39 case "$WPA_ACTION" in
40         "CONNECTED")
41                 wpa_log_init
42                 wpa_hysteresis_check || exit 1
43                 wpa_log_action
44                 wpa_log_environment
45                 ifupdown_check || exit 1
46                 wpa_hysteresis_event
47                 ifup
48                 wpa_cli status
49                 ifupdown_status || wpa_cli reassociate
50                 ;;
51
52         "DISCONNECTED")
53                 wpa_log_init
54                 wpa_hysteresis_check || exit 1
55                 wpa_log_action
56                 wpa_log_environment
57                 ifupdown_check || exit 1
58                 ifdown
59                 if_post_down_up
60                 ;;
61
62         "stop"|"down")
63                 test_wpa_cli && kill_wpa_cli
64                 ifupdown_check || exit 1
65                 ifdown
66                 test_wpa_supplicant && kill_wpa_supplicant
67                 wpa_log_init
68                 wpa_log_action
69                 ;;
70
71         "restart"|"reload")
72                 test_wpa_supplicant || exit 1
73                 reload_wpa_supplicant
74                 wpa_log_init
75                 wpa_log_action
76                 ;;
77         
78         "check")
79                 test_wpa_supplicant || exit 1
80                 test_wpa_cli || exit 1
81                 ;;
82
83         *)
84                 echo "Unknown action: \"$WPA_ACTION\""
85                 exit 1
86                 ;;
87 esac
88
89 exit 0