From cb3fa58ac816d47cdd1cecef1d081889774e8eab Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Sun, 8 Mar 2015 22:29:07 +0100 Subject: [PATCH] freifunk.cgi: Save adhoc network settings in settings file --- html/cgi-bin/freifunk.cgi | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/html/cgi-bin/freifunk.cgi b/html/cgi-bin/freifunk.cgi index 489c0dfd1d..0ce300b40f 100755 --- a/html/cgi-bin/freifunk.cgi +++ b/html/cgi-bin/freifunk.cgi @@ -249,6 +249,27 @@ sub BuildConfiguration() { } $settings{"FREIFUNK_HOSTNAME"} = $hostname; + # Save adhoc network settings + my $adhocs = $network->{'adhoc'}; + + # Clear everything + $settings{"FREIFUNK_ADHOC_BSSID"} = ""; + $settings{"FREIFUNK_ADHOC_SSID"} = ""; + $settings{"FREIFUNK_ADHOC_FREQ"} = ""; + + foreach my $adhoc (@$adhocs) { + # We will only care about mesh networks + # in the 2.4 GHz band + next if ($adhoc->{"channel"} > 13); + + $settings{"FREIFUNK_ADHOC_BSSID"} = $adhoc->{"bssid"}; + $settings{"FREIFUNK_ADHOC_SSID"} = $adhoc->{"ssid"}; + $settings{"FREIFUNK_ADHOC_FREQ"} = $adhoc->{"channel"} * 5 + 2407; + + # Do not process any more entries + last; + } + &General::writehash("${General::swroot}/freifunk/settings", \%settings); # Write configuration bits... -- 2.39.5