This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "IPFire 2.x development tree".
The branch, next has been updated via d823d5f07211e984489027d57c49ae16db66c7f2 (commit) from 4d0b63baf69b75acb12e8eb54f06c876c79f532e (commit)
Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below.
- Log ----------------------------------------------------------------- commit d823d5f07211e984489027d57c49ae16db66c7f2 Author: Arne Fitzenreiter arne_f@ipfire.org Date: Sat Oct 27 09:55:19 2018 +0200
hostapd: add switch to disable neigborhood scan
this may violate regulatory rules because 40Mhz channels should disabled if there are other networks but nearly every commercial router ignore this.
Signed-off-by: Arne Fitzenreiter arne_f@ipfire.org
-----------------------------------------------------------------------
Summary of changes: html/cgi-bin/wlanap.cgi | 20 +++++++++ langs/de/cgi-bin/de.pl | 2 + langs/en/cgi-bin/en.pl | 2 + lfs/hostapd | 2 + src/patches/hostapd/hostapd-2.6-noscan.patch | 62 ++++++++++++++++++++++++++++ 5 files changed, 88 insertions(+) create mode 100644 src/patches/hostapd/hostapd-2.6-noscan.patch
Difference in files: diff --git a/html/cgi-bin/wlanap.cgi b/html/cgi-bin/wlanap.cgi index 0abbf6d6e..72c9a1298 100644 --- a/html/cgi-bin/wlanap.cgi +++ b/html/cgi-bin/wlanap.cgi @@ -74,6 +74,7 @@ $wlanapsettings{'DEBUG'} = '4'; $wlanapsettings{'DRIVER'} = 'NL80211'; $wlanapsettings{'HTCAPS'} = ''; $wlanapsettings{'VHTCAPS'} = ''; +$wlanapsettings{'NOSCAN'} = 'off';
&General::readhash("/var/ipfire/wlanap/settings", %wlanapsettings); &Header::getcgihash(%wlanapsettings); @@ -247,6 +248,10 @@ $checked{'HIDESSID'}{'off'} = ''; $checked{'HIDESSID'}{'on'} = ''; $checked{'HIDESSID'}{$wlanapsettings{'HIDESSID'}} = "checked='checked'";
+$checked{'NOSCAN'}{'off'} = ''; +$checked{'NOSCAN'}{'on'} = ''; +$checked{'NOSCAN'}{$wlanapsettings{'NOSCAN'}} = "checked='checked'"; + $selected{'ENC'}{$wlanapsettings{'ENC'}} = "selected='selected'"; $selected{'CHANNEL'}{$wlanapsettings{'CHANNEL'}} = "selected='selected'"; $selected{'COUNTRY'}{$wlanapsettings{'COUNTRY'}} = "selected='selected'"; @@ -415,6 +420,7 @@ END ; } print<<END +<tr><td width='25%' class='base'>$Lang::tr{'wlanap neighbor scan'}: </td><td class='base' >on <input type='radio' name='NOSCAN' value='off' $checked{'NOSCAN'}{'off'} /> | <input type='radio' name='NOSCAN' value='on' $checked{'NOSCAN'}{'on'} /> off</td><td class='base' colspan='2'>$Lang::tr{'wlanap neighbor scan warning'}</td></tr> <tr><td colspan='4'><br></td></tr> <tr><td width='25%' class='base'>$Lang::tr{'wlanap encryption'}: </td><td class='base' colspan='3'> <select name='ENC'> @@ -626,6 +632,20 @@ END
}
+ if ( $wlanapsettings{'NOSCAN'} eq 'on' ){ + print CONFIGFILE <<END +noscan=1 +END +; + + }else{ + print CONFIGFILE <<END +noscan=0 +END +; + + } + if ( $wlanapsettings{'ENC'} eq 'wpa1'){ print CONFIGFILE <<END ######################### wpa hostapd configuration ############################ diff --git a/langs/de/cgi-bin/de.pl b/langs/de/cgi-bin/de.pl index c8d4c65e7..42eb14103 100644 --- a/langs/de/cgi-bin/de.pl +++ b/langs/de/cgi-bin/de.pl @@ -2802,6 +2802,8 @@ 'wlanap invalid wpa' => 'Ungültige Länge in WPA-Passphrase. Muss zwischen 8 und 63 Zeichen lang sein.', 'wlanap link dhcp' => 'Wireless Lan DHCP-Einstellungen', 'wlanap link wireless' => 'Wireless Lan Clients freischalten', +'wlanap neighbor scan' => 'Nachbarschaftsscan', +'wlanap neighbor scan warning' => 'Warnung! Deaktivierung kann gegen Funkregeln verstoßen.', 'wlanap no interface' => 'Ausgewähltes Interface ist keine WLAN-Karte!', 'wlanap none' => 'keine', 'wlanap notifications' => 'Hinweise', diff --git a/langs/en/cgi-bin/en.pl b/langs/en/cgi-bin/en.pl index b563e5685..e9356407a 100644 --- a/langs/en/cgi-bin/en.pl +++ b/langs/en/cgi-bin/en.pl @@ -2847,6 +2847,8 @@ 'wlanap invalid wpa' => 'Invalid length in WPA Passphrase. Must be between 8 and 63 characters.', 'wlanap link dhcp' => 'Wireless lan DHCP configuration', 'wlanap link wireless' => 'Activate wireless lan clients', +'wlanap neighbor scan' => 'Neighborhood scan', +'wlanap neighbor scan warning' => 'Warning! Disabling may violate regulatory rules!', 'wlanap no interface' => 'Selected interface is not a wirless lan card!', 'wlanap none' => 'none', 'wlanap notifications' => 'Notifications', diff --git a/lfs/hostapd b/lfs/hostapd index 5a1180d03..a8302ccdd 100644 --- a/lfs/hostapd +++ b/lfs/hostapd @@ -88,6 +88,8 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) cd $(DIR_APP) && patch -p1 < $(DIR_SRC)/src/patches/wpa_supplicant/rebased-v2.6-0008-FT-Do-not-allow-multiple-Reassociation-Response-fram.patch
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/hostapd-2.3_increase_EAPOL-timeouts.patch + cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/hostapd/hostapd-2.6-noscan.patch + cd $(DIR_APP)/hostapd && cp $(DIR_SRC)/config/hostapd/config ./.config cd $(DIR_APP)/hostapd && sed -e "s@/usr/local@/usr@g" -i Makefile cd $(DIR_APP)/hostapd && make $(MAKETUNING) $(EXTRA_MAKE) diff --git a/src/patches/hostapd/hostapd-2.6-noscan.patch b/src/patches/hostapd/hostapd-2.6-noscan.patch new file mode 100644 index 000000000..8009fa04b --- /dev/null +++ b/src/patches/hostapd/hostapd-2.6-noscan.patch @@ -0,0 +1,62 @@ +diff -Naur hostapd-2.6.org/hostapd/config_file.c hostapd-2.6/hostapd/config_file.c +--- hostapd-2.6.org/hostapd/config_file.c 2016-10-02 20:51:11.000000000 +0200 ++++ hostapd-2.6/hostapd/config_file.c 2018-10-26 09:16:34.393456086 +0200 +@@ -2863,6 +2863,10 @@ + } + #endif /* CONFIG_IEEE80211W */ + #ifdef CONFIG_IEEE80211N ++ } else if (os_strcmp(buf, "noscan") == 0) { ++ conf->noscan = atoi(pos); ++ } else if (os_strcmp(buf, "ht_coex") == 0) { ++ conf->no_ht_coex = !atoi(pos); + } else if (os_strcmp(buf, "ieee80211n") == 0) { + conf->ieee80211n = atoi(pos); + } else if (os_strcmp(buf, "ht_capab") == 0) { +diff -Naur hostapd-2.6.org/src/ap/ap_config.h hostapd-2.6/src/ap/ap_config.h +--- hostapd-2.6.org/src/ap/ap_config.h 2016-10-02 20:51:11.000000000 +0200 ++++ hostapd-2.6/src/ap/ap_config.h 2018-10-26 09:16:34.393456086 +0200 +@@ -664,6 +664,8 @@ + + int ht_op_mode_fixed; + u16 ht_capab; ++ int noscan; ++ int no_ht_coex; + int ieee80211n; + int secondary_channel; + int no_pri_sec_switch; +diff -Naur hostapd-2.6.org/src/ap/hw_features.c hostapd-2.6/src/ap/hw_features.c +--- hostapd-2.6.org/src/ap/hw_features.c 2016-10-02 20:51:11.000000000 +0200 ++++ hostapd-2.6/src/ap/hw_features.c 2018-10-26 09:16:34.393456086 +0200 +@@ -474,7 +474,8 @@ + int ret; + + /* Check that HT40 is used and PRI / SEC switch is allowed */ +- if (!iface->conf->secondary_channel || iface->conf->no_pri_sec_switch) ++ if (!iface->conf->secondary_channel || iface->conf->no_pri_sec_switch || ++ iface->conf->noscan) + return 0; + + hostapd_set_state(iface, HAPD_IFACE_HT_SCAN); +diff -Naur hostapd-2.6.org/src/ap/ieee802_11_ht.c hostapd-2.6/src/ap/ieee802_11_ht.c +--- hostapd-2.6.org/src/ap/ieee802_11_ht.c 2016-10-02 20:51:11.000000000 +0200 ++++ hostapd-2.6/src/ap/ieee802_11_ht.c 2018-10-26 09:17:42.976793198 +0200 +@@ -244,6 +244,9 @@ + if (!(iface->conf->ht_capab & HT_CAP_INFO_SUPP_CHANNEL_WIDTH_SET)) + return; + ++ if (iface->conf->noscan || iface->conf->no_ht_coex) ++ return; ++ + if (len < IEEE80211_HDRLEN + 2 + sizeof(*bc_ie)) + return; + +@@ -368,6 +371,9 @@ + if (iface->current_mode->mode != HOSTAPD_MODE_IEEE80211G) + return; + ++ if (iface->conf->noscan || iface->conf->no_ht_coex) ++ return; ++ + wpa_printf(MSG_INFO, "HT: Forty MHz Intolerant is set by STA " MACSTR + " in Association Request", MAC2STR(sta->addr)); +
hooks/post-receive -- IPFire 2.x development tree