summaryrefslogtreecommitdiffstats
path: root/lib/network/connection/wireless.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/network/connection/wireless.pm')
-rw-r--r--lib/network/connection/wireless.pm14
1 files changed, 9 insertions, 5 deletions
diff --git a/lib/network/connection/wireless.pm b/lib/network/connection/wireless.pm
index 0ca26dd..97c9975 100644
--- a/lib/network/connection/wireless.pm
+++ b/lib/network/connection/wireless.pm
@@ -360,8 +360,15 @@ sub check_device {
sub load_interface_settings {
my ($self) = @_;
- $self->SUPER::load_interface_settings;
+ $self->network::connection::load_interface_settings;
$self->{hide_passwords} = 1;
+ # override ifcfg with network-specific settings if available
+ my $network = $self->get_selected_network;
+ $self->{ifcfg}= $network ?
+ get_network_ifcfg($network->{ap}) || get_network_ifcfg($network->{essid}) :
+ $self->{ifcfg};
+
+ $self->SUPER::map_ifcfg2config_settings;
}
sub get_networks {
@@ -401,11 +408,8 @@ sub get_network_ifcfg {
sub guess_network_access_settings {
my ($self) = @_;
- my $ifcfg;
my $network = $self->get_selected_network;
- $ifcfg = $network ?
- get_network_ifcfg($network->{ap}) || get_network_ifcfg($network->{essid}) :
- $self->{ifcfg};
+ my $ifcfg = $self->{ifcfg};
$ifcfg ||= {};
$self->{access}{network}{bssid} = $network && $network->{hidden} && $network->{ap};