[RFC] Add hidden AP for dez. keyxchange

Submitted by Christian Dresel on Aug. 13, 2017, 7:33 a.m.

Details

Message ID 1502609639-4215-1-git-send-email-fff@chrisi01.de
State Superseded
Headers show

Commit Message

Christian Dresel Aug. 13, 2017, 7:33 a.m.
and fix a little variable bug in 60-fff-wireless

Signed-off-by: Christian Dresel <fff@chrisi01.de>
---
 .../files/etc/uci-defaults/60-fff-wireless         | 16 +++++++++--
 .../fff-wireless/files/lib/functions/fff/wireless  | 32 ++++++++++++----------
 2 files changed, 31 insertions(+), 17 deletions(-)

Patch hide | download patch | download mbox

diff --git a/src/packages/fff/fff-wireless/files/etc/uci-defaults/60-fff-wireless b/src/packages/fff/fff-wireless/files/etc/uci-defaults/60-fff-wireless
index 59239b3..0db9396 100644
--- a/src/packages/fff/fff-wireless/files/etc/uci-defaults/60-fff-wireless
+++ b/src/packages/fff/fff-wireless/files/etc/uci-defaults/60-fff-wireless
@@ -29,13 +29,23 @@  for phy in $(iw phy | awk '/^Wiphy/{ print $2 }'); do
 		fi
 	fi
 
-	if ! wifiAddAP "$radio" "$ESSID_AP"; then
-		echo "Can't add AP interface on $radio0."
+	if ! wifiAddAP "$radio" "$ESSID_AP" "0"; then
+		echo "Can't add AP interface on $radio."
 		exit 1
 	fi
 
+	if ! wifiAddAP "$radio" "config.franken.freifunk.net" "1"; then
+		echo "Can't add AP interface on $radio."
+		exit 1
+	else
+		uci set network.dezkey=interface
+		uci set network.dezkey.proto='static'
+		uci set network.dezkey.ipaddr='192.168.214.1'
+		uci set network.dezkey.netmask='255.255.255.0'
+	fi
+
 	if ! wifiAddAdHocMesh "$radio" "$ESSID_MESH" "$BSSID_MESH"; then
-		echo "Can't add AP interface on $radio0."
+		echo "Can't add Mesh interface on $radio."
 		exit 1
 	fi
 done
diff --git a/src/packages/fff/fff-wireless/files/lib/functions/fff/wireless b/src/packages/fff/fff-wireless/files/lib/functions/fff/wireless
index 59c8ce2..95a9ec0 100644
--- a/src/packages/fff/fff-wireless/files/lib/functions/fff/wireless
+++ b/src/packages/fff/fff-wireless/files/lib/functions/fff/wireless
@@ -85,9 +85,9 @@  wifiAddAdHocMesh() {
 }
 
 wifiAddAP() {
-	if [ $# -ne "2" ]
+	if [ $# -ne "3" ]
 	then
-		echo "Usage: wifiAddAP <radio> <essid>"
+		echo "Usage: wifiAddAP <radio> <essid> <hidden>"
 		return 1
 	fi
 
@@ -95,18 +95,22 @@  wifiAddAP() {
 	local essid=$2
 
 	local channel=$(uci get "wireless.${radio}.channel")
-	local iface="w2ap"
-	if [ "$channel" -gt "14" ]; then
-		iface="w5ap"
-	fi
-	uci batch <<-__EOF__
-		set wireless.${iface}='wifi-iface'
-		set wireless.${iface}.device='${radio}'
-		set wireless.${iface}.network='mesh'
-		set wireless.${iface}.ifname='${iface}'
-		set wireless.${iface}.mode='ap'
-		set wireless.${iface}.ssid='${essid}'
-		set wireless.${iface}.encryption='none'
+
+		uci set wireless.${iface}='wifi-iface'
+		uci set wireless.${iface}.device='${radio}'
+		uci set wireless.${iface}.network='mesh'
+		if [ "$channel" -gt "14" ]; then
+			uci set wireless.${iface}.ifname='w5ap'
+		fi
+		if [ "$channel" -lt "14" ]; then
+			uci set wireless.${iface}.ifname='w2ap'
+		fi		
+		uci set wireless.${iface}.mode='ap'
+		uci set wireless.${iface}.ssid='${essid}'
+		uci set wireless.${iface}.encryption='none'
+		if [ $3 -eq "1" ]; then
+			uci set wireless.${iface}.hidden='1'
+		fi
 
 		commit wireless
 	__EOF__

Comments

Christian Dresel Aug. 13, 2017, 7:35 a.m.
Hi

das wäre eine andere Variante, ich bin mir aktuell unschlüssig was
schöner ist.

Achtung, das hier ist komplett ungetestet! Soll nur zum zeigen der
anderen Idee herhalten.

mfg

Christian

On 13.08.2017 09:33, Christian Dresel wrote:
> and fix a little variable bug in 60-fff-wireless
> 
> Signed-off-by: Christian Dresel <fff@chrisi01.de>
> ---
>  .../files/etc/uci-defaults/60-fff-wireless         | 16 +++++++++--
>  .../fff-wireless/files/lib/functions/fff/wireless  | 32 ++++++++++++----------
>  2 files changed, 31 insertions(+), 17 deletions(-)
> 
> diff --git a/src/packages/fff/fff-wireless/files/etc/uci-defaults/60-fff-wireless b/src/packages/fff/fff-wireless/files/etc/uci-defaults/60-fff-wireless
> index 59239b3..0db9396 100644
> --- a/src/packages/fff/fff-wireless/files/etc/uci-defaults/60-fff-wireless
> +++ b/src/packages/fff/fff-wireless/files/etc/uci-defaults/60-fff-wireless
> @@ -29,13 +29,23 @@ for phy in $(iw phy | awk '/^Wiphy/{ print $2 }'); do
>  		fi
>  	fi
>  
> -	if ! wifiAddAP "$radio" "$ESSID_AP"; then
> -		echo "Can't add AP interface on $radio0."
> +	if ! wifiAddAP "$radio" "$ESSID_AP" "0"; then
> +		echo "Can't add AP interface on $radio."
>  		exit 1
>  	fi
>  
> +	if ! wifiAddAP "$radio" "config.franken.freifunk.net" "1"; then
> +		echo "Can't add AP interface on $radio."
> +		exit 1
> +	else
> +		uci set network.dezkey=interface
> +		uci set network.dezkey.proto='static'
> +		uci set network.dezkey.ipaddr='192.168.214.1'
> +		uci set network.dezkey.netmask='255.255.255.0'
> +	fi
> +
>  	if ! wifiAddAdHocMesh "$radio" "$ESSID_MESH" "$BSSID_MESH"; then
> -		echo "Can't add AP interface on $radio0."
> +		echo "Can't add Mesh interface on $radio."
>  		exit 1
>  	fi
>  done
> diff --git a/src/packages/fff/fff-wireless/files/lib/functions/fff/wireless b/src/packages/fff/fff-wireless/files/lib/functions/fff/wireless
> index 59c8ce2..95a9ec0 100644
> --- a/src/packages/fff/fff-wireless/files/lib/functions/fff/wireless
> +++ b/src/packages/fff/fff-wireless/files/lib/functions/fff/wireless
> @@ -85,9 +85,9 @@ wifiAddAdHocMesh() {
>  }
>  
>  wifiAddAP() {
> -	if [ $# -ne "2" ]
> +	if [ $# -ne "3" ]
>  	then
> -		echo "Usage: wifiAddAP <radio> <essid>"
> +		echo "Usage: wifiAddAP <radio> <essid> <hidden>"
>  		return 1
>  	fi
>  
> @@ -95,18 +95,22 @@ wifiAddAP() {
>  	local essid=$2
>  
>  	local channel=$(uci get "wireless.${radio}.channel")
> -	local iface="w2ap"
> -	if [ "$channel" -gt "14" ]; then
> -		iface="w5ap"
> -	fi
> -	uci batch <<-__EOF__
> -		set wireless.${iface}='wifi-iface'
> -		set wireless.${iface}.device='${radio}'
> -		set wireless.${iface}.network='mesh'
> -		set wireless.${iface}.ifname='${iface}'
> -		set wireless.${iface}.mode='ap'
> -		set wireless.${iface}.ssid='${essid}'
> -		set wireless.${iface}.encryption='none'
> +
> +		uci set wireless.${iface}='wifi-iface'
> +		uci set wireless.${iface}.device='${radio}'
> +		uci set wireless.${iface}.network='mesh'
> +		if [ "$channel" -gt "14" ]; then
> +			uci set wireless.${iface}.ifname='w5ap'
> +		fi
> +		if [ "$channel" -lt "14" ]; then
> +			uci set wireless.${iface}.ifname='w2ap'
> +		fi		
> +		uci set wireless.${iface}.mode='ap'
> +		uci set wireless.${iface}.ssid='${essid}'
> +		uci set wireless.${iface}.encryption='none'
> +		if [ $3 -eq "1" ]; then
> +			uci set wireless.${iface}.hidden='1'
> +		fi
>  
>  		commit wireless
>  	__EOF__
>