summaryrefslogtreecommitdiffstats
path: root/package/network/services/hostapd
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2015-04-20 15:00:07 +0000
committerFelix Fietkau <nbd@openwrt.org>2015-04-20 15:00:07 +0000
commitce0eddc2fb8195565072ebd05184214c014f820e (patch)
tree76a7c8611b780e4080aae0707e026e61789a5f2f /package/network/services/hostapd
parent8c68c104eaba65273280c7a4727fbb10ab10f5af (diff)
downloadmaster-31e0f0ae-ce0eddc2fb8195565072ebd05184214c014f820e.tar.gz
master-31e0f0ae-ce0eddc2fb8195565072ebd05184214c014f820e.tar.bz2
master-31e0f0ae-ce0eddc2fb8195565072ebd05184214c014f820e.zip
hostapd/netifd: encrypted mesh with wpa_supplicant
Signed-off-by: Daniel Golle <daniel@makrotopia.org> SVN-Revision: 45519
Diffstat (limited to 'package/network/services/hostapd')
-rw-r--r--package/network/services/hostapd/files/netifd.sh47
1 files changed, 29 insertions, 18 deletions
diff --git a/package/network/services/hostapd/files/netifd.sh b/package/network/services/hostapd/files/netifd.sh
index 53743a14f1..23d2e7e83e 100644
--- a/package/network/services/hostapd/files/netifd.sh
+++ b/package/network/services/hostapd/files/netifd.sh
@@ -546,7 +546,7 @@ wpa_supplicant_add_network() {
local T=" "
local wpa_key_mgmt="WPA-PSK"
- local scan_ssid="1"
+ local scan_ssid="scan_ssid=1"
local freq
[[ "$_w_mode" = "adhoc" ]] && {
@@ -557,12 +557,22 @@ wpa_supplicant_add_network() {
append network_data "frequency=$freq" "$N$T"
}
- scan_ssid=0
+ scan_ssid="scan_ssid=0"
[ "$_w_driver" = "nl80211" ] || wpa_key_mgmt="WPA-NONE"
}
- [[ "$_w_mode" = adhoc ]] && append network_data "$_w_modestr" "$N$T"
+ [[ "$_w_mode" = "mesh" ]] && {
+ append network_data "mode=5" "$N$T"
+ [ -n "$channel" ] && {
+ freq="$(get_freq "$phy" "$channel")"
+ append network_data "frequency=$freq" "$N$T"
+ }
+ wpa_key_mgmt="SAE"
+ scan_ssid=""
+ }
+
+ [[ "$_w_mode" = "adhoc" -o "$_w_mode" = "mesh" ]] && append network_data "$_w_modestr" "$N$T"
case "$auth_type" in
none) ;;
@@ -606,21 +616,22 @@ wpa_supplicant_add_network() {
;;
esac
- case "$wpa" in
- 1)
- append network_data "proto=WPA" "$N$T"
- ;;
- 2)
- append network_data "proto=RSN" "$N$T"
- ;;
- esac
-
- case "$ieee80211w" in
- [012])
- [ "$wpa" -ge 2 ] && append network_data "ieee80211w=$ieee80211w" "$N$T"
- ;;
- esac
+ [ "$mode" = mesh ] || {
+ case "$wpa" in
+ 1)
+ append network_data "proto=WPA" "$N$T"
+ ;;
+ 2)
+ append network_data "proto=RSN" "$N$T"
+ ;;
+ esac
+ case "$ieee80211w" in
+ [012])
+ [ "$wpa" -ge 2 ] && append network_data "ieee80211w=$ieee80211w" "$N$T"
+ ;;
+ esac
+ }
local beacon_int brates mrate
[ -n "$bssid" ] && append network_data "bssid=$bssid" "$N$T"
[ -n "$beacon_int" ] && append network_data "beacon_int=$beacon_int" "$N$T"
@@ -652,7 +663,7 @@ wpa_supplicant_add_network() {
cat >> "$_config" <<EOF
network={
- scan_ssid=$scan_ssid
+ $scan_ssid
ssid="$ssid"
key_mgmt=$key_mgmt
$network_data