From patchwork Thu Apr 9 23:56:39 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Daniel Golle X-Patchwork-Id: 459864 X-Patchwork-Delegate: nbd@openwrt.org Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from arrakis.dune.hu (arrakis.dune.hu [78.24.191.176]) (using TLSv1.1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id E27291400B7 for ; Fri, 10 Apr 2015 09:57:14 +1000 (AEST) Received: from arrakis.dune.hu (localhost [127.0.0.1]) by arrakis.dune.hu (Postfix) with ESMTP id 32B8328BE76; Fri, 10 Apr 2015 01:56:06 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on arrakis.dune.hu X-Spam-Level: X-Spam-Status: No, score=-1.5 required=5.0 tests=BAYES_00, T_RP_MATCHES_RCVD autolearn=unavailable version=3.3.2 Received: from arrakis.dune.hu (localhost [127.0.0.1]) by arrakis.dune.hu (Postfix) with ESMTP id DC19B28BE76 for ; Fri, 10 Apr 2015 01:55:53 +0200 (CEST) X-policyd-weight: using cached result; rate:hard: -7.6 Received: from fudo.makrotopia.org (fudo.makrotopia.org [5.135.190.93]) by arrakis.dune.hu (Postfix) with ESMTPS for ; Fri, 10 Apr 2015 01:55:53 +0200 (CEST) Received: from local by fudo.makrotopia.org with esmtpsa (TLSv1.2:AES128-GCM-SHA256:128) (Exim 4.84) (envelope-from ) id 1YgMJM-0002y7-Ov; Fri, 10 Apr 2015 01:56:40 +0200 Date: Fri, 10 Apr 2015 01:56:39 +0200 From: Daniel Golle To: openwrt-devel@lists.openwrt.org Message-ID: <20150409235615.GA18944@makrotopia.org> MIME-Version: 1.0 Content-Disposition: inline User-Agent: Mutt/1.5.23 (2014-03-12) Subject: [OpenWrt-Devel] [PATCH 1/2] hostapd/netifd: encrypted mesh with wpa_supplicant X-BeenThere: openwrt-devel@lists.openwrt.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: OpenWrt Development List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: openwrt-devel-bounces@lists.openwrt.org Sender: "openwrt-devel" Signed-off-by: Daniel Golle --- package/network/services/hostapd/files/netifd.sh | 47 +++++++++++++++--------- 1 file changed, 29 insertions(+), 18 deletions(-) diff --git a/package/network/services/hostapd/files/netifd.sh b/package/network/services/hostapd/files/netifd.sh index 6e4b23b..b345a57 100644 --- a/package/network/services/hostapd/files/netifd.sh +++ b/package/network/services/hostapd/files/netifd.sh @@ -545,7 +545,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" ]] && { @@ -556,12 +556,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) ;; @@ -605,21 +615,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" @@ -651,7 +662,7 @@ wpa_supplicant_add_network() { cat >> "$_config" <