]> git.ipfire.org Git - people/ms/ipfire-2.x.git/commitdiff
freifunk.cgi: Save adhoc network settings in settings file
authorMichael Tremer <michael.tremer@ipfire.org>
Sun, 8 Mar 2015 21:29:07 +0000 (22:29 +0100)
committerMichael Tremer <michael.tremer@ipfire.org>
Mon, 9 Mar 2015 11:19:41 +0000 (12:19 +0100)
html/cgi-bin/freifunk.cgi

index 489c0dfd1dd56605306e8ae045fbbc209d9fcbcf..0ce300b40f7addc46fb7b99bc09569b6939ec88a 100755 (executable)
@@ -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...