Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Handle case where devices directory doesn't exist, due to remove of N…
…etwork Manager
  • Loading branch information
jcameron committed Feb 21, 2015
1 parent dbd29ec commit 14af860
Showing 1 changed file with 13 additions and 9 deletions.
22 changes: 13 additions & 9 deletions net/redhat-linux-lib.pl
Expand Up @@ -11,6 +11,7 @@
$net_scripts_dir = "/etc/sysconfig/network-scripts";
$devices_dir = "/etc/sysconfig/networking/devices";
}
$route_files_dir = -d $devices_dir ? $devices_dir : $net_scripts_dir;
$network_config = "/etc/sysconfig/network";
$static_route_config = "/etc/sysconfig/static-routes";
$sysctl_config = "/etc/sysctl.conf";
Expand Down Expand Up @@ -577,13 +578,13 @@ sub routing_input
else {
# get static routes from per-interface files
local $f;
opendir(DIR, &translate_filename($devices_dir));
opendir(DIR, &translate_filename($route_files_dir));
while($f = readdir(DIR)) {
if ($f =~ /^([a-z]+\d*(\.\d+)?(:\d+)?)\.route$/ ||
$f =~ /^route\-([a-z]+\d*(\.\d+)?(:\d+)?)$/) {
local $dev = $1;
local (%rfile, $i);
&read_env_file("$devices_dir/$f", \%rfile);
&read_env_file("$route_files_dir/$f", \%rfile);
for($i=0; defined($rfile{"ADDRESS$i"}); $i++) {
if ($rfile{"GATEWAY$i"}) {
push(@st, [ $dev, $rfile{"ADDRESS$i"},
Expand Down Expand Up @@ -735,7 +736,7 @@ sub parse_routing
else {
# Write to one file per interface (delete old, then save new/updated)
local $f;
opendir(DIR, &translate_filename($devices_dir));
opendir(DIR, &translate_filename($route_files_dir));
while($f = readdir(DIR)) {
if (($f =~ /^([a-z]+\d*(\.\d+)?(:\d+)?)\.route$/ ||
$f =~ /^route\-([a-z]+\d*(\.\d+)?(:\d+)?)$/) && !$st{$1}) {
Expand All @@ -752,12 +753,15 @@ sub parse_routing
$rfile{"NETMASK$i"} = $st{$dev}->[$i]->[1];
$rfile{"GATEWAY$i"} = $st{$dev}->[$i]->[2];
}
&lock_file("$devices_dir/$f");
&write_env_file("$devices_dir/$f", \%rfile);
&unlock_file("$devices_dir/$f");
&lock_file("$net_scripts_dir/$f");
&link_file("$devices_dir/$f", "$net_scripts_dir/$f");
&unlock_file("$net_scripts_dir/$f");
&lock_file("$route_files_dir/$f");
&write_env_file("$route_files_dir/$f", \%rfile);
&unlock_file("$route_files_dir/$f");
if ($route_files_dir ne $net_scripts_dir) {
&lock_file("$net_scripts_dir/$f");
&link_file("$route_files_dir/$f",
"$net_scripts_dir/$f");
&unlock_file("$net_scripts_dir/$f");
}
}
}
&write_env_file($network_config, \%conf);
Expand Down

0 comments on commit 14af860

Please sign in to comment.