summaryrefslogtreecommitdiffstats
path: root/perl-install/network/monitor.pm
diff options
context:
space:
mode:
authorOlivier Blin <oblin@mandriva.org>2005-08-30 16:54:21 +0000
committerOlivier Blin <oblin@mandriva.org>2005-08-30 16:54:21 +0000
commit237a287656548315efbbc4e0161cf6edee005c26 (patch)
tree691e3d77c464ffdc086f9cd0924f72ab2732c80f /perl-install/network/monitor.pm
parent9478e0e4744c1fd4cc5e2d5bab82b124191b93fd (diff)
downloaddrakx-237a287656548315efbbc4e0161cf6edee005c26.tar
drakx-237a287656548315efbbc4e0161cf6edee005c26.tar.gz
drakx-237a287656548315efbbc4e0161cf6edee005c26.tar.bz2
drakx-237a287656548315efbbc4e0161cf6edee005c26.tar.xz
drakx-237a287656548315efbbc4e0161cf6edee005c26.zip
- configure wpa_supplicant correctly for shared or passwordless connections
- split write_interface_setttings out of network::network::write_interface_conf - wpa_supplicant may list some networks twice, handle it - rewrite drakroam to use wpa_supplicant
Diffstat (limited to 'perl-install/network/monitor.pm')
-rw-r--r--perl-install/network/monitor.pm8
1 files changed, 6 insertions, 2 deletions
diff --git a/perl-install/network/monitor.pm b/perl-install/network/monitor.pm
index eea814bc8..38912af97 100644
--- a/perl-install/network/monitor.pm
+++ b/perl-install/network/monitor.pm
@@ -21,8 +21,12 @@ sub list_wireless {
my %networks;
#- bssid / frequency / signal level / flags / ssid
while ($results =~ /^((?:[0-9a-f]{2}:){5}[0-9a-f]{2})\t(\d+)\t(\d+)\t(.*?)\t(.*)$/mg) {
- $networks{$1} = { frequency => $2, signal_level => $3, flags => $4, ssid => $5 };
- $networks{$1}{approx_level} = 20 + min(80, int($3/20)*20);
+ # wpa_supplicant may list the network two times, use ||=
+ $networks{$1}{frequency} ||= $2;
+ $networks{$1}{signal_level} ||= $3;
+ $networks{$1}{flags} ||= $4;
+ $networks{$1}{ssid} ||= $5 if $5 ne '<hidden>';
+ $networks{$1}{approx_level} ||= 20 + min(80, int($3/20)*20);
}
my $list;
eval { $list = $o->call_method('ListNetworks') };