diff options
Diffstat (limited to 'perl-install/network')
-rw-r--r-- | perl-install/network/netconnect.pm | 38 | ||||
-rw-r--r-- | perl-install/network/network.pm | 43 |
2 files changed, 42 insertions, 39 deletions
diff --git a/perl-install/network/netconnect.pm b/perl-install/network/netconnect.pm index c2c87866f..58f1d502f 100644 --- a/perl-install/network/netconnect.pm +++ b/perl-install/network/netconnect.pm @@ -1524,47 +1524,9 @@ sub main { } } -sub set_profile { - my ($netcnx) = @_; - system('/sbin/set-netprofile', $netcnx->{PROFILE}); - log::explanations(qq(Switching to "$netcnx->{PROFILE}" profile)); -} - -sub save_profile { - my ($netcnx) = @_; - system('/sbin/save-netprofile', $netcnx->{PROFILE}); - log::explanations(qq(Saving "$netcnx->{PROFILE}" profile)); -} - -sub del_profile { - my ($profile) = @_; - return if !$profile || $profile eq "default"; - rm_rf("$::prefix/etc/netprofile/profiles/$profile"); - log::explanations(qq(Deleting "$profile" profile)); -} - -sub add_profile { - my ($netcnx, $profile) = @_; - return if !$profile || $profile eq "default" || member($profile, get_profiles()); - system('/sbin/clone-netprofile', $netcnx->{PROFILE}, $profile); - log::explanations(qq("Creating "$profile" profile)); -} - -sub get_profiles() { - map { if_(m!([^/]*)/$!, $1) } glob("$::prefix/etc/netprofile/profiles/*/"); -} - sub read_net_conf { my ($netcnx, $netc, $intf) = @_; - my $current = { getVarsFromSh("$::prefix/etc/netprofile/current") }; - - $netcnx->{PROFILE} = $current->{PROFILE} || 'default'; network::network::read_all_conf($::prefix, $netc, $intf, $netcnx); - - foreach ('NET_DEVICE', 'NET_INTERFACE') { - $netc->{$_} = $netcnx->{$_} if $netcnx->{$_}; - } - $netcnx->{$netcnx->{type}} ||= {} if $netcnx->{type}; } sub start_internet { diff --git a/perl-install/network/network.pm b/perl-install/network/network.pm index 5f90dcdaa..2bccad7df 100644 --- a/perl-install/network/network.pm +++ b/perl-install/network/network.pm @@ -140,7 +140,7 @@ sub write_interface_conf { defined($intf->{METRIC}) or $intf->{METRIC} = network::tools::get_default_metric(network::tools::get_interface_type($intf)), $intf->{BOOTPROTO} =~ s/dhcp.*/dhcp/; - setVarsInSh($file, $intf, qw(DEVICE BOOTPROTO IPADDR NETMASK NETWORK BROADCAST ONBOOT HWADDR METRIC MII_NOT_SUPPORTED TYPE USERCTL ATM_ADDR), + setVarsInSh($file, $intf, qw(DEVICE BOOTPROTO IPADDR NETMASK NETWORK BROADCAST ONBOOT HWADDR METRIC MII_NOT_SUPPORTED TYPE USERCTL ATM_ADDR ETHTOOL_OPTS), qw(WIRELESS_MODE WIRELESS_ESSID WIRELESS_NWID WIRELESS_FREQ WIRELESS_SENS WIRELESS_RATE WIRELESS_ENC_KEY WIRELESS_RTS WIRELESS_FRAG WIRELESS_IWCONFIG WIRELESS_IWSPY WIRELESS_IWPRIV WIRELESS_WPA_DRIVER), qw(DVB_ADAPTER_ID DVB_NETWORK_DEMUX DVB_NETWORK_PID), if_($intf->{BOOTPROTO} eq "dhcp", qw(DHCP_CLIENT DHCP_HOSTNAME NEEDHOSTNAME PEERDNS PEERYP PEERNTPD DHCP_TIMEOUT)), @@ -291,6 +291,45 @@ sub gateway { join(".", @masked); } + +sub netprofile_set { + my ($netc, $profile) = @_; + $netc->{PROFILE} = $profile; + system('/sbin/set-netprofile', $netc->{PROFILE}); + log::explanations(qq(Switching to "$netc->{PROFILE}" profile)); +} + +sub netprofile_save { + my ($netc) = @_; + system('/sbin/save-netprofile', $netc->{PROFILE}); + log::explanations(qq(Saving "$netc->{PROFILE}" profile)); +} + +sub netprofile_delete { + my ($profile) = @_; + return if !$profile || $profile eq "default"; + rm_rf("$::prefix/etc/netprofile/profiles/$profile"); + log::explanations(qq(Deleting "$profile" profile)); +} + +sub netprofile_add { + my ($netc, $profile) = @_; + return if !$profile || $profile eq "default" || member($profile, netprofile_list()); + system('/sbin/clone-netprofile', $netc->{PROFILE}, $profile); + log::explanations(qq("Creating "$profile" profile)); +} + +sub netprofile_list() { + map { if_(m!([^/]*)/$!, $1) } glob("$::prefix/etc/netprofile/profiles/*/"); +} + +sub netprofile_read { + my ($netc) = @_; + my $config = { getVarsFromSh("$::prefix/etc/netprofile/current") }; + $netc->{PROFILE} = $config->{PROFILE} || 'default'; +} + + sub miscellaneous_choose { my ($in, $u) = @_; @@ -398,6 +437,7 @@ sub read_all_conf { add2hash($netc, read_conf("$::prefix/etc/sysconfig/network")) if -r "$::prefix/etc/sysconfig/network"; add2hash($netc, read_resolv_conf()); add2hash($netc, read_tmdns_conf()); + foreach (all("$::prefix/etc/sysconfig/network-scripts")) { my ($device) = /^ifcfg-([A-Za-z0-9.:_-]+)$/; next if $device =~ /.rpmnew$|.rpmsave$/; @@ -407,6 +447,7 @@ sub read_all_conf { $intf->{DEVICE} ||= $device; } } + netprofile_read($netc); if (my $default_intf = network::tools::get_default_gateway_interface($netc, $intf)) { $netcnx->{type} ||= network::tools::get_interface_type($intf->{$default_intf}); } |