X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=html%2Fcgi-bin%2Fwlanap.cgi;h=fd7e9a679873031c6387e396f10d6f2446c68b70;hb=13cbb92ad415680c9501b896cd858d3ec6de5074;hp=50806ac787b219685e682cd1d01d8aaeb1b50dab;hpb=513c321ebedcf0865863b95ccd453f155f7703ed;p=people%2Fpmueller%2Fipfire-2.x.git diff --git a/html/cgi-bin/wlanap.cgi b/html/cgi-bin/wlanap.cgi index 50806ac787..fd7e9a6798 100644 --- a/html/cgi-bin/wlanap.cgi +++ b/html/cgi-bin/wlanap.cgi @@ -65,14 +65,18 @@ $wlanapsettings{'SSID'} = 'IPFire'; $wlanapsettings{'HIDESSID'} = 'off'; $wlanapsettings{'ENC'} = 'wpa2'; # none / wpa1 /wpa2 $wlanapsettings{'TXPOWER'} = 'auto'; -$wlanapsettings{'CHANNEL'} = '05'; +$wlanapsettings{'CHANNEL'} = '6'; $wlanapsettings{'COUNTRY'} = '00'; $wlanapsettings{'HW_MODE'} = 'g'; $wlanapsettings{'PWD'} = 'IPFire-2.x'; $wlanapsettings{'SYSLOGLEVEL'} = '0'; $wlanapsettings{'DEBUG'} = '4'; -$wlanapsettings{'DRIVER'} = 'MADWIFI'; +$wlanapsettings{'DRIVER'} = 'NL80211'; $wlanapsettings{'HTCAPS'} = ''; +$wlanapsettings{'VHTCAPS'} = ''; +$wlanapsettings{'NOSCAN'} = 'off'; +$wlanapsettings{'CLIENTISOLATION'} = 'off'; +$wlanapsettings{'IEEE80211W'} = 'off'; &General::readhash("/var/ipfire/wlanap/settings", \%wlanapsettings); &Header::getcgihash(\%wlanapsettings); @@ -126,7 +130,7 @@ if ( $wlanapsettings{'ACTION'} eq "$Lang::tr{'wlanap del interface'}" ){ if ( $wlanapsettings{'ACTION'} eq "$Lang::tr{'save'}" ){ # verify WPA Passphrase - only with enabled enc - if (($wlanapsettings{'ENC'} eq "wpa1") || ($wlanapsettings{'ENC'} eq "wpa2") || ($wlanapsettings{'ENC'} eq "wpa1+2")){ + if ($wlanapsettings{'ENC'} ne "none") { # must be 8 .. 63 characters if ( (length($wlanapsettings{'PWD'}) < 8) || (length($wlanapsettings{'PWD'}) > 63)){ $errormessage .= "$Lang::tr{'wlanap invalid wpa'}
"; @@ -154,7 +158,7 @@ if ( $wlanapsettings{'ACTION'} eq "$Lang::tr{'save'}" ){ $memory=0; } -&Header::openpage('', 1, '', ''); +&Header::openpage($Lang::tr{'wlanap configuration'}, 1, '', ''); &Header::openbigbox('100%', 'left', '', $errormessage); if ( $errormessage ){ @@ -246,6 +250,19 @@ $checked{'HIDESSID'}{'off'} = ''; $checked{'HIDESSID'}{'on'} = ''; $checked{'HIDESSID'}{$wlanapsettings{'HIDESSID'}} = "checked='checked'"; +$checked{'NOSCAN'}{'off'} = ''; +$checked{'NOSCAN'}{'on'} = ''; +$checked{'NOSCAN'}{$wlanapsettings{'NOSCAN'}} = "checked='checked'"; + +$checked{'CLIENTISOLATION'}{'off'} = ''; +$checked{'CLIENTISOLATION'}{'on'} = ''; +$checked{'CLIENTISOLATION'}{$wlanapsettings{'CLIENTISOLATION'}} = "checked='checked'"; + +$selected{'IEEE80211W'}{'off'} = ''; +$selected{'IEEE80211W'}{'optional'} = ''; +$selected{'IEEE80211W'}{'on'} = ''; +$selected{'IEEE80211W'}{$wlanapsettings{'IEEE80211W'}} = "selected"; + $selected{'ENC'}{$wlanapsettings{'ENC'}} = "selected='selected'"; $selected{'CHANNEL'}{$wlanapsettings{'CHANNEL'}} = "selected='selected'"; $selected{'COUNTRY'}{$wlanapsettings{'COUNTRY'}} = "selected='selected'"; @@ -259,22 +276,22 @@ 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`; chomp $wiphy; -@channellist_cmd = `iw phy phy$wiphy info | grep " MHz \\\[" | grep -v "(disabled)" | grep -v "no IBSS" | grep -v "passive scanning" 2>/dev/null`; +@channellist_cmd = `iw phy phy$wiphy info | grep " MHz \\\[" | grep -v "(disabled)" | grep -v "no IBSS" | grep -v "no IR" | grep -v "passive scanning" 2>/dev/null`; # get available channels my @temp; foreach (@channellist_cmd){ $_ =~ /(.*) \[(\d+)(.*)\]/; $channel = $2;chomp $channel; -if ( $channel =~ /\d+/ ){push(@temp,$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 @@ -283,15 +300,15 @@ my @temp; foreach (@channellist_cmd){ $_ =~ /(.*)Channel (\d+)(.*):/; $channel = $2;chomp $channel; -if ( $channel =~ /\d+/ ){push(@temp,$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`; # get available country codes -my @temp; +my @temp = "00"; foreach (@countrylist_cmd){ $_ =~ /country (.*):/; $country = $1;chomp $country; @@ -306,15 +323,6 @@ if ( $wlanapsettings{'DRIVER'} eq 'NL80211' ){ } # get available power -my @temp; -foreach (@txpower_cmd){ -$_ =~ /(\s)(\d+)(\s)dBm(\s)(.*)(\W)(\d+)(.*)/; -$txpower = $7;chomp $txpower; -if ( $txpower =~ /\d+/ ){push(@temp,$txpower."mW");} -} -my @txpower = @temp; -push(@txpower,"auto"); - $selected{'SYSLOGLEVEL'}{$wlanapsettings{'SYSLOGLEVEL'}} = "selected='selected'"; $selected{'DEBUG'}{$wlanapsettings{'DEBUG'}} = "selected='selected'"; @@ -332,7 +340,7 @@ if ( $wlan_card_status ne '' ){ print "$Lang::tr{'wlanap wlan card'} ($wlanapsettings{'DRIVER'})"; print $wlan_card_status eq 'up' ? $status_started : $status_stopped; print""; - print "$Lang::tr{'wlanap access point'}"; + print "$Lang::tr{'wlanap'}"; print $wlan_ap_status eq 'up' ? $status_started : $status_stopped; if ( ($memory != 0) && (@pid[0] ne "///") ){ print "@pid[0]"; @@ -377,11 +385,10 @@ print < $Lang::tr{'wlanap wlan settings'}
-SSID:  +$Lang::tr{'wlanap ssid'}:  -SSID Broadcast: 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'}:  END @@ -410,7 +418,13 @@ if ( scalar @channellist > 0 ){ END ; foreach $channel (@channellist){ - print ""; + print ""; } print "" } else { @@ -422,35 +436,36 @@ END ; } print<$Lang::tr{'wlanap neighbor scan'}: $Lang::tr{'on'} | $Lang::tr{'off'}$Lang::tr{'wlanap neighbor scan warning'}
$Lang::tr{'wlanap encryption'}:  Passphrase:  + + $Lang::tr{'wlanap management frame protection'}:  + + + +
END ; print <HT Caps:  -Tx Power:  -END -; - -if ( $wlanapsettings{'DRIVER'} eq 'MADWIFI' ){ - print ""; -} else { - print "" -} -print <VHT Caps:  +Tx Power:  Loglevel (hostapd):