]> CyberLeo.Net >> Repos - FreeBSD/releng/10.0.git/blob - contrib/wpa/wpa_supplicant/examples/wps-ap-cli
- Copy stable/10 (r259064) to releng/10.0 as part of the
[FreeBSD/releng/10.0.git] / contrib / wpa / wpa_supplicant / examples / wps-ap-cli
1 #!/bin/sh
2
3 CLI=wpa_cli
4
5 pbc()
6 {
7         echo "Starting PBC mode"
8         echo "Push button on the station within two minutes"
9         if ! $CLI wps_pbc | grep -q OK; then
10                 echo "Failed to enable PBC mode"
11         fi
12 }
13
14 enter_pin()
15 {
16         echo "Enter a PIN from a station to be enrolled to the network."
17         read -p "Enrollee PIN: " pin
18         cpin=`$CLI wps_check_pin "$pin" | tail -1`
19         if [ "$cpin" = "FAIL-CHECKSUM" ]; then
20                 echo "Checksum digit is not valid"
21                 read -p "Do you want to use this PIN (y/n)? " resp
22                 case "$resp" in
23                         y*)
24                                 cpin=`echo "$pin" | sed "s/[^1234567890]//g"`
25                                 ;;
26                         *)
27                                 return 1
28                                 ;;
29                 esac
30         fi
31         if [ "$cpin" = "FAIL" ]; then
32                 echo "Invalid PIN: $pin"
33                 return 1
34         fi
35         echo "Enabling Enrollee PIN: $cpin"
36         $CLI wps_pin any "$cpin"
37 }
38
39 show_config()
40 {
41         $CLI status wps
42 }
43
44 main_menu()
45 {
46         echo "WPS AP"
47         echo "------"
48         echo "1: Push button (activate PBC)"
49         echo "2: Enter Enrollee PIN"
50         echo "3: Show current configuration"
51         echo "0: Exit wps-ap-cli"
52
53         read -p "Command: " cmd
54
55         case "$cmd" in
56                 1)
57                         pbc
58                         ;;
59                 2)
60                         enter_pin
61                         ;;
62                 3)
63                         show_config
64                         ;;
65                 0)
66                         exit 0
67                         ;;
68                 *)
69                         echo "Unknown command: $cmd"
70                         ;;
71         esac
72
73         echo
74         main_menu
75 }
76
77
78 main_menu