From: Arne Fitzenreiter <git@ipfire.org>
To: ipfire-scm@lists.ipfire.org
Subject: [git.ipfire.org] IPFire 2.x development tree branch, next, updated. d823d5f07211e984489027d57c49ae16db66c7f2
Date: Sat, 27 Oct 2018 15:47:59 +0100 [thread overview]
Message-ID: <20181027144759.9A7C11081BB0@git01.ipfire.org> (raw)
[-- Attachment #1: Type: text/plain, Size: 8304 bytes --]
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(a)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(a)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(a)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
reply other threads:[~2018-10-27 14:47 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20181027144759.9A7C11081BB0@git01.ipfire.org \
--to=git@ipfire.org \
--cc=ipfire-scm@lists.ipfire.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox