[RFC] Add hidden AP for dez. keyxchange

Adrian Schmutzler mail at adrianschmutzler.de
Mi Aug 16 16:37:57 CEST 2017


Hallo,

kleine Anmerkungen:
Die Fehlermeldungen sollten spezifizieren, um welches Interface es sich
handelt, also:
echo "Can't add AP interface on $radio."
echo "Can't add Mesh interface on $radio."
echo "Can't add Config interface on $radio."
o.ä.

Außerdem:
Wenn es "$ESSID_AP" und "$ESSID_MESH" gibt, sollte man dann nicht an
gleicher Stelle auch z.B. "$ESSID_CONFIG" definieren, statt plötzlich die
SSID hardzucoden?

Beim anderen Patch-Vorschlag ist das ja zumindest für das Mesh so
implementiert.

Ich würde diesen Patch bevorzugen; ist zwar etwas mehr Code, aber deutlich
klarer. (Bin nicht im Detail durchgegangen)

Grüße

Adrian

> -----Original Message-----
> From: franken-dev [mailto:franken-dev-bounces at freifunk.net] On Behalf
> Of Christian Dresel
> Sent: Sonntag, 13. August 2017 08:51
> To: franken-dev at freifunk.net
> Subject: [RFC] Add hidden AP for dez. keyxchange
> 
> and fix a little variable bug in 60-fff-wireless
> 
> Signed-off-by: Christian Dresel <fff at chrisi01.de>
> ---
>  .../files/etc/uci-defaults/60-fff-wireless         |  9 ++++--
>  .../fff-wireless/files/lib/functions/fff/wireless  | 35
> +++++++++++++++++++++-
>  2 files changed, 41 insertions(+), 3 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..a3de470 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
> @@ -30,12 +30,17 @@ for phy in $(iw phy | awk '/^Wiphy/{ print $2 }'); do
>  	fi
> 
>  	if ! wifiAddAP "$radio" "$ESSID_AP"; then
> -		echo "Can't add AP interface on $radio0."
> +		echo "Can't add AP interface on $radio."
> +		exit 1
> +	fi
> +
> +	if ! wifiAddDezAP "$radio" "config.franken.freifunk.net"; then
> +		echo "Can't add AP interface on $radio."
>  		exit 1
>  	fi
> 
>  	if ! wifiAddAdHocMesh "$radio" "$ESSID_MESH" "$BSSID_MESH";
> then
> -		echo "Can't add AP interface on $radio0."
> +		echo "Can't add AP 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..d99507f 100644
> --- a/src/packages/fff/fff-wireless/files/lib/functions/fff/wireless
> +++ b/src/packages/fff/fff-wireless/files/lib/functions/fff/wireless
> @@ -114,4 +114,37 @@ wifiAddAP() {
>  	echo "${iface}"
>  }
> 
> -# vim: set noexpandtab:tabstop=4
> +wifiAddDezAP() {
> +	if [ $# -ne "2" ]
> +	then
> +		echo "Usage: wifiAdddezAP <radio> <essid>"
> +		return 1
> +	fi
> +
> +	local radio=$1
> +	local essid=$2
> +
> +	local channel=$(uci get "wireless.${radio}.channel")
> +	local iface="w2dezap"
> +	if [ "$channel" -gt "14" ]; then
> +		iface="w5dezap"
> +	fi
> +	uci batch <<-__EOF__
> +		set wireless.${iface}='wifi-iface'
> +		set wireless.${iface}.device='${radio}'
> +		set wireless.${iface}.network='dezkey'
> +		set wireless.${iface}.ifname='${iface}'
> +		set wireless.${iface}.mode='ap'
> +		set wireless.${iface}.ssid='${essid}'
> +		set wireless.${iface}.encryption='none'
> +		set wireless.${iface}.hidden='1'
> +		set network.dezkey=interface
> +		set network.dezkey.proto='static'
> +		set network.dezkey.ipaddr='192.168.214.1'
> +		set network.dezkey.netmask='255.255.255.0'
> +
> +		commit wireless
> +	__EOF__
> +
> +	echo "${iface}"
> +}
> --
> 2.1.4
> 
> --
> franken-dev mailing list
> franken-dev at freifunk.net
> http://lists.freifunk.net/mailman/listinfo/franken-dev-freifunk.net



Mehr Informationen über die Mailingliste franken-dev