X-Git-Url: http://git.ipfire.org/?p=ipfire-2.x.git;a=blobdiff_plain;f=html%2Fcgi-bin%2Fwlanap.cgi;h=04b2a94911ae4093171fbefc9aeb8364f38a391f;hp=abee0c3cbb156697177802ef221a4940d7854c56;hb=20c7552e0d1453e90cd069a83c712ff29fb1cbc7;hpb=9cf253e150078852877f5ee530aeb3408fa4216b diff --git a/html/cgi-bin/wlanap.cgi b/html/cgi-bin/wlanap.cgi index abee0c3cbb..04b2a94911 100644 --- a/html/cgi-bin/wlanap.cgi +++ b/html/cgi-bin/wlanap.cgi @@ -76,6 +76,7 @@ $wlanapsettings{'HTCAPS'} = ''; $wlanapsettings{'VHTCAPS'} = ''; $wlanapsettings{'NOSCAN'} = 'off'; $wlanapsettings{'CLIENTISOLATION'} = 'off'; +$wlanapsettings{'IEEE80211W'} = 'off'; &General::readhash("/var/ipfire/wlanap/settings", \%wlanapsettings); &Header::getcgihash(\%wlanapsettings); @@ -257,6 +258,10 @@ $checked{'CLIENTISOLATION'}{'off'} = ''; $checked{'CLIENTISOLATION'}{'on'} = ''; $checked{'CLIENTISOLATION'}{$wlanapsettings{'CLIENTISOLATION'}} = "checked='checked'"; +$checked{'IEEE80211W'}{'off'} = ''; +$checked{'IEEE80211W'}{'on'} = ''; +$checked{'IEEE80211W'}{$wlanapsettings{'IEEE80211W'}} = "checked='checked'"; + $selected{'ENC'}{$wlanapsettings{'ENC'}} = "selected='selected'"; $selected{'CHANNEL'}{$wlanapsettings{'CHANNEL'}} = "selected='selected'"; $selected{'COUNTRY'}{$wlanapsettings{'COUNTRY'}} = "selected='selected'"; @@ -270,7 +275,7 @@ if ( -d '/sys/class/net/mon.'.$wlanapsettings{'INTERFACE'} ) { } my @channellist_cmd; -my @channellist; +my @channellist = (0); if ( $wlanapsettings{'DRIVER'} eq 'NL80211' ){ my $wiphy = `iw dev $wlanapsettings{'INTERFACE'} info | grep wiphy | cut -d" " -f2`; @@ -285,7 +290,7 @@ $_ =~ /(.*) \[(\d+)(.*)\]/; $channel = $2;chomp $channel; if ( $channel =~ /\d+/ ){push(@temp,$channel + 0);} } -@channellist = @temp; +push(@channellist, @temp); } else { @channellist_cmd = `iwlist $monwlaninterface channel|tail -n +2 2>/dev/null`; # get available channels @@ -296,7 +301,7 @@ $_ =~ /(.*)Channel (\d+)(.*):/; $channel = $2;chomp $channel; if ( $channel =~ /\d+/ ){push(@temp,$channel + 0);} } -@channellist = @temp; +push(@channellist, @temp); } my @countrylist_cmd = `regdbdump /usr/lib/crda/regulatory.bin 2>/dev/null`; @@ -379,12 +384,10 @@ print < $Lang::tr{'wlanap wlan settings'}
-SSID:  +$Lang::tr{'wlanap ssid'}:  -SSID Broadcast: on | off -Client Isolation: on | off - - +$Lang::tr{'wlanap broadcast ssid'}: $Lang::tr{'on'} | $Lang::tr{'off'} +$Lang::tr{'wlanap client isolation'}: $Lang::tr{'on'} | $Lang::tr{'off'} $Lang::tr{'wlanap country'}:  " } else { @@ -437,6 +446,17 @@ print< Passphrase:  + + $Lang::tr{'wlanap management frame protection'}:  + + | + + +
END ; @@ -600,6 +620,7 @@ ieee80211n=1 wmm_enabled=1 ht_capab=$wlanapsettings{'HTCAPS'} vht_capab=$wlanapsettings{'VHTCAPS'} +vht_oper_chwidth=1 END ; @@ -616,7 +637,6 @@ logger_syslog=-1 logger_syslog_level=$wlanapsettings{'SYSLOGLEVEL'} logger_stdout=-1 logger_stdout_level=$wlanapsettings{'DEBUG'} -dump_file=/tmp/hostapd.dump auth_algs=1 ctrl_interface=/var/run/hostapd ctrl_interface_group=0 @@ -661,6 +681,13 @@ END } + # Management Frame Protection (802.11w) + if ($wlanapsettings{'IEEE80211W'} eq "on") { + print CONFIGFILE "ieee80211w=2\n"; + } else { + print CONFIGFILE "ieee80211w=0\n"; + } + if ( $wlanapsettings{'ENC'} eq 'wpa1'){ print CONFIGFILE <