[RFC] Add hidden AP for dez. keyxchange

Christian Dresel fff at chrisi01.de
Mi Aug 16 17:47:50 CEST 2017


hi

> Adrian Schmutzler <mail at adrianschmutzler.de> hat am 16. August 2017 um 16:37
> geschrieben:
> 
> 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.ä.

gebe ich dir recht, ist mir erst in der 2. Version aufgefallen das dies noch
etwas schief ist, kann man dann mit fixen ja (das Mesh gabs ja bereits und hab
nicht ich angelegt)

> 
> 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?

Das wird eh noch bisschen problematisch, die /etc/community.cfg wird, sofern ich
mich recht erinnere, mit dem dez. KeyXchange abgeschafft. Von daher muss man
diesen Teil dann eh noch ein klein wenig überarbeiten (oder wurde das mit den
dez. keyxchange Patches schon gemacht, zefix hätte ich mal prüfen sollen...). Da
es sich aber um ein config Netz handelt, das immer immer immer (immer immer
immer.... immer) immer ... immer gleich sein muss seh ich da hardcoden weniger
als Problem an.

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

sie oben ist mir erst in der 2. Version aufgefallen.

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

Mich stört daran halt, das eine eigentlich bereits vorhandene Funktion die
eigentlich genau dafür da ist soviele APs anzulegen wie man möchte und nur
richtig aufgerufen werden muss, ein zweites mal geschrieben wird, so machen
Funktionen dann irgendwie auch wieder keinen Sinn. Klarer finde ich es auch aber
von der Struktur eigentlich "falsch".

mfg

Christian

> 
> 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  "
> > + 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