Compare commits
10 Commits
fix/makero
...
fix/mypost
Author | SHA1 | Date | |
---|---|---|---|
6e0969ca21 | |||
99a04964c7 | |||
bb06e4479e | |||
a087fedb68 | |||
51920d7e58 | |||
ce87bdceac | |||
a3b09614f6 | |||
9f475a70f7 | |||
8fd5c23330 | |||
82715fac09 |
@ -1,20 +1,21 @@
|
||||
#!/bin/sh
|
||||
# Put the version, svn revision #, and build date into the Version function in Version.pm
|
||||
|
||||
if [ -z "$1" ]
|
||||
if [ -z "$2" ]
|
||||
then
|
||||
echo "modifyUtils: Error: must specify the xCAT version as an argument" >&2
|
||||
exit
|
||||
fi
|
||||
|
||||
VER=$1
|
||||
GITREF="git commit $2, "
|
||||
|
||||
BUILDDATE=`date`
|
||||
#echo ". '(built $BUILDDATE)'"
|
||||
|
||||
if [ "$(uname)" = "AIX" ]
|
||||
then
|
||||
sed -e s/"#XCATVERSIONSUBHERE"/". '$VER'"/ -e s/"#XCATSVNBUILDSUBHERE"/". ' (built $BUILDDATE)'"/ xCAT/Version.pm >xCAT/Version.pm.new
|
||||
sed -e s/"#XCATVERSIONSUBHERE"/". '$VER'"/ -e s/"#XCATSVNBUILDSUBHERE"/". ' (${GITREF}built $BUILDDATE)'"/ xCAT/Version.pm >xCAT/Version.pm.new
|
||||
mv xCAT/Version.pm.new xCAT/Version.pm
|
||||
else
|
||||
if [ -f "/etc/debian_version" ];then
|
||||
@ -22,5 +23,5 @@ else
|
||||
else
|
||||
FILENAME="xCAT/Version.pm"
|
||||
fi
|
||||
sed -i -e s/"#XCATVERSIONSUBHERE"/". '$VER'"/ -e s/"#XCATSVNBUILDSUBHERE"/". ' (built $BUILDDATE)'"/ $FILENAME
|
||||
sed -i -e s/"#XCATVERSIONSUBHERE"/". '$VER'"/ -e s/"#XCATSVNBUILDSUBHERE"/". ' (${GITREF}built $BUILDDATE)'"/ $FILENAME
|
||||
fi
|
||||
|
4
perl-xCAT/perl-xCAT.spec
Normal file → Executable file
4
perl-xCAT/perl-xCAT.spec
Normal file → Executable file
@ -23,6 +23,8 @@ Provides: perl-xCAT = %{epoch}:%{version}
|
||||
Provides perl xCAT libraries for core functionality. Required for all xCAT installations.
|
||||
Includes xCAT::Table, xCAT::NodeRange, among others.
|
||||
|
||||
%define gitinfo %(git log -n 1 | head -n 1 | cut -f 2 -d ' ')
|
||||
|
||||
%define zvm %(if [ "$zvm" = "1" ];then echo 1; else echo 0; fi)
|
||||
%define fsm %(if [ "$fsm" = "1" ];then echo 1; else echo 0; fi)
|
||||
|
||||
@ -36,7 +38,7 @@ Includes xCAT::Table, xCAT::NodeRange, among others.
|
||||
%if %fsm
|
||||
%else
|
||||
# Modify the Version() function in xCAT/Utils.pm to automatically have the correct version
|
||||
./modifyUtils %{version}
|
||||
./modifyUtils %{version} %{gitinfo}
|
||||
|
||||
# Build the pod version of the man pages for each DB table. It puts them in the man5 and man7 subdirs.
|
||||
# Then convert the pods to man pages and html pages.
|
||||
|
@ -2405,7 +2405,7 @@ sub getFreeRepoSpace {
|
||||
if ($master eq $ip) {
|
||||
# If the master IP and node IP match, then it is the management node
|
||||
my $out = `$sudo /bin/df -h /install | sed 1d`;
|
||||
$out =~ s/\h+/ /g;
|
||||
# causing problems on other platforms $out =~ s/\h+/ /g;
|
||||
my @results = split(' ', $out);
|
||||
if ( $results[3] eq "0" ) {
|
||||
$results[3] = "0M";
|
||||
|
@ -1394,7 +1394,7 @@ sub collect_all_attribs_for_tables_in_template
|
||||
$::GLOBAL_TAB_HASH{$tabname}{$node}{$attrib} = $ent->{$node}->[0]->{$attrib};
|
||||
|
||||
#for noderes.xcatmaster
|
||||
if ($tabname =~ /^noderes$/ && $attrib =~ /^xcatmaster$/ && ! exists($::GLOBAL_TAB_HASH{noderes}{$node}{xcatmaster}))
|
||||
if ($tabname =~ /^noderes$/ && $attrib =~ /^xcatmaster$/ && $::GLOBAL_TAB_HASH{noderes}{$node}{xcatmaster} == "")
|
||||
{
|
||||
my $value;
|
||||
$value = xCAT::NetworkUtils->my_ip_facing($node);
|
||||
|
@ -326,7 +326,9 @@ sub setdestiny {
|
||||
noupdateinitrd=>$noupdateinitrd,
|
||||
ignorekernelchk=>$ignorekernelchk,}, \&relay_response);
|
||||
if ($errored) {
|
||||
$callback->({error=>"Some nodes failed to set up $state resources, aborting"});
|
||||
my @myself = xCAT::NetworkUtils->determinehostname();
|
||||
my $myname = $myself[(scalar @myself)-1];
|
||||
$callback->({error=>"Some nodes failed to set up $state resources on server $myname, aborting"});
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -881,8 +881,8 @@ sub check_options
|
||||
xCAT::MsgUtils->message("I", $rsp, $callback, 0);
|
||||
return 0;
|
||||
}
|
||||
# if not help, dhcpd needs to be running
|
||||
if (!($opt->{h})) {
|
||||
# if not help and not -n, dhcpd needs to be running
|
||||
if (!($opt->{h})&& (!($opt->{n}))) {
|
||||
if (xCAT::Utils->isLinux()) {
|
||||
my @output = xCAT::Utils->runcmd("service dhcpd status", -1);
|
||||
if ($::RUNCMD_RC != 0) { # not running
|
||||
|
@ -449,7 +449,7 @@ sub process_makeroutes {
|
||||
delete_route($callback, $route_hash->{net}, $route_hash->{mask}, $gw_ip, $gw_name, $route_hash->{ifname});
|
||||
}
|
||||
else {
|
||||
set_route($callback, $route_hash->{net}, $route_hash->{mask}, $gw_ip, $gw_name, $route_hash->{ifname});
|
||||
set_route($callback, $route_hash->{net}, $route_hash->{mask}, $gw_ip, $gw_name,$route_hash->{ifname});
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -526,7 +526,6 @@ sub route_exists {
|
||||
my $mask = shift;
|
||||
my $gw_ip = shift;
|
||||
my $gw=shift;
|
||||
my $ifname = shift;
|
||||
|
||||
my $islinux=xCAT::Utils->isLinux();
|
||||
|
||||
@ -558,8 +557,7 @@ sub route_exists {
|
||||
my $net1=$a[0];
|
||||
my $mask1=$a[2];
|
||||
my $gw1=$a[1];
|
||||
my $ifname1=$a[7];
|
||||
if (($net1 eq $net) && ($mask1 eq $mask) && (($gw1 eq $gw) || ($gw1 eq $gw_ip) || ($ifname1 eq $ifname))) {
|
||||
if (($net1 eq $net) && ($mask1 eq $mask) && (($gw1 eq $gw) || ($gw1 eq $gw_ip))) {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
@ -604,27 +602,19 @@ sub set_route {
|
||||
#print "set_route get called\n";
|
||||
|
||||
my $result;
|
||||
if (!route_exists($net, $mask, $gw_ip, $gw, $ifname)) {
|
||||
if (!route_exists($net, $mask, $gw_ip, $gw)) {
|
||||
#set temporay route
|
||||
my $cmd;
|
||||
# ipv6 network
|
||||
if ($net =~ /:/) {
|
||||
if (xCAT::Utils->isLinux()) {
|
||||
if ( $gw_ip == "" || $gw_ip == "::" ) {
|
||||
$cmd="ip -6 route add $net/$mask dev $ifname";
|
||||
} else {
|
||||
$cmd="ip -6 route add $net/$mask via $gw_ip";
|
||||
}
|
||||
$cmd="ip -6 route add $net/$mask via $gw_ip";
|
||||
} else {
|
||||
# AIX TODO
|
||||
}
|
||||
} else {
|
||||
if (xCAT::Utils->isLinux()) {
|
||||
if ( $gw_ip == "" || $gw_ip == "0.0.0.0" ) {
|
||||
$cmd="route add -net $net netmask $mask dev $ifname";
|
||||
} else {
|
||||
$cmd="route add -net $net netmask $mask gw $gw_ip";
|
||||
}
|
||||
$cmd="route add -net $net netmask $mask gw $gw_ip";
|
||||
} else {
|
||||
$cmd="route add -net $net -netmask $mask $gw_ip";
|
||||
}
|
||||
@ -686,26 +676,18 @@ sub delete_route {
|
||||
#print "delete_route get called\n";
|
||||
|
||||
my $result;
|
||||
if (route_exists($net, $mask, $gw_ip, $gw, $ifname)) {
|
||||
if (route_exists($net, $mask, $gw_ip, $gw)) {
|
||||
#delete route temporarily
|
||||
my $cmd;
|
||||
if ($net =~ /:/) {
|
||||
if (xCAT::Utils->isLinux()) {
|
||||
if ( $gw_ip == "" || $gw_ip == "::" ) {
|
||||
$cmd = "ip -6 route delete $net/$mask dev $ifname";
|
||||
} else {
|
||||
$cmd = "ip -6 route delete $net/$mask via $gw_ip";
|
||||
}
|
||||
$cmd = "ip -6 route delete $net/$mask via $gw_ip";
|
||||
} else {
|
||||
# AIX TODO
|
||||
}
|
||||
} else {
|
||||
if (xCAT::Utils->isLinux()) {
|
||||
if ( $gw_ip == "" || $gw_ip == "0.0.0.0" ) {
|
||||
$cmd="route delete -net $net netmask $mask dev $ifname";
|
||||
} else {
|
||||
$cmd="route delete -net $net netmask $mask gw $gw_ip";
|
||||
}
|
||||
$cmd="route delete -net $net netmask $mask gw $gw_ip";
|
||||
} else {
|
||||
$cmd="route delete -net $net -netmask $mask $gw_ip";
|
||||
}
|
||||
@ -845,22 +827,14 @@ sub addPersistentRoute_Sles {
|
||||
#print "old output=" . join("\n", @output) . "\n";
|
||||
my $hasConfiged=0;
|
||||
if (@output && (@output > 0)) {
|
||||
$hasConfiged=checkConfig_Sles($net, $mask, $gw_ip, $gw, $ifname, \@output);
|
||||
$hasConfiged=checkConfig_Sles($net, $mask, $gw_ip, $gw, \@output);
|
||||
}
|
||||
#print "hasConfiged=$hasConfiged\n";
|
||||
my $new_config;
|
||||
if ($net =~ /:/) {
|
||||
if ( $gw_ip == "" || $gw_ip == "::" ) {
|
||||
$new_config = "$net/$mask :: - $ifname\n";
|
||||
} else {
|
||||
$new_config = "$net/$mask $gw_ip - -\n";
|
||||
}
|
||||
$new_config = "$net/$mask $gw_ip - -\n";
|
||||
} else {
|
||||
if ( $gw_ip == "" || $gw_ip == "0.0.0.0" ) {
|
||||
$new_config="$net 0.0.0.0 $mask $ifname\n";
|
||||
} else {
|
||||
$new_config="$net $gw_ip $mask $ifname\n";
|
||||
}
|
||||
$new_config="$net $gw_ip $mask $ifname\n";
|
||||
}
|
||||
if (!$hasConfiged) {
|
||||
push(@output, $new_config);
|
||||
@ -898,7 +872,7 @@ sub deletePersistentRoute_Sles {
|
||||
my @new_output=();
|
||||
my $bigfound=0;
|
||||
foreach my $tmp_conf (@output) {
|
||||
my $found = checkConfig_Sles($net, $mask, $gw_ip, $gw, $ifname, [$tmp_conf]);
|
||||
my $found = checkConfig_Sles($net, $mask, $gw_ip, $gw, [$tmp_conf]);
|
||||
if (!$found) {
|
||||
push(@new_output, $tmp_conf);
|
||||
} else {
|
||||
@ -935,18 +909,13 @@ sub checkConfig_Sles {
|
||||
my $mask = shift;
|
||||
my $gw_ip = shift;
|
||||
my $gw=shift;
|
||||
my $ifname=shift;
|
||||
my $output=shift;
|
||||
|
||||
# Format:
|
||||
# DESTINATION GATEWAY NETMASK INTERFACE
|
||||
# DESTINATION/PREFIXLEN GATEWAY - INTERFACE
|
||||
|
||||
# ipv4 format: 192.168.0.0 207.68.156.51 255.255.0.0 eth1
|
||||
# ipv6 format: fd59::/64 fd57:faaf:e1ab:336:21a:64ff:fe01:1 - -
|
||||
foreach my $line (@$output) {
|
||||
my @a=split(' ', $line);
|
||||
my ($net1,$mask1,$gw1,$ifname1);
|
||||
my ($net1,$mask1,$gw1);
|
||||
if ($net =~ /:/) {
|
||||
if (@a>0) {
|
||||
my $ipv6net = $a[0];
|
||||
@ -956,10 +925,6 @@ sub checkConfig_Sles {
|
||||
$gw1=$a[1];
|
||||
if ($gw1 eq '-') { $gw1=$gw_ip; }
|
||||
}
|
||||
if (@a>3) {
|
||||
$ifname1=$a[3];
|
||||
if ($ifname1 eq '-') { $ifname1=$ifname;}
|
||||
}
|
||||
|
||||
} else {
|
||||
if (@a>0) {
|
||||
@ -974,14 +939,10 @@ sub checkConfig_Sles {
|
||||
$mask1=$a[2];
|
||||
if ($mask1 eq '-') { $mask1=$mask;}
|
||||
}
|
||||
if (@a>3) {
|
||||
$ifname1=$a[3];
|
||||
if ($ifname1 eq '-') { $ifname1=$ifname;}
|
||||
}
|
||||
}
|
||||
|
||||
#print "net=$net1,$net mask=$mask1,$mask gw=$gw1,$gw_ip ifname=$ifname1\n";
|
||||
if (($net1 && $net1 eq $net) && ($mask1 && $mask1 eq $mask) && (($gw1 && $gw1 eq $gw) || ($gw1 && $gw1 eq $gw_ip) || ($ifname1 && $ifname1 eq $ifname))) {
|
||||
#print "net=$net1,$net mask=$mask1,$mask gw=$gw1,$gw_ip\n";
|
||||
if (($net1 && $net1 eq $net) && ($mask1 && $mask1 eq $mask) && (($gw1 && $gw1 eq $gw) || ($gw1 && $gw1 eq $gw_ip))) {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
@ -1011,7 +972,7 @@ sub addPersistentRoute_RH {
|
||||
#print "old output=" . join("\n", @output) . "\n";
|
||||
my $hasConfiged=0;
|
||||
if (@output && (@output > 0)) {
|
||||
$hasConfiged=checkConfig_RH($net, $mask, $gw_ip, $gw, $ifname, \@output);
|
||||
$hasConfiged=checkConfig_RH($net, $mask, $gw_ip, $gw, \@output);
|
||||
}
|
||||
#print "hasConfiged=$hasConfiged\n";
|
||||
my $new_config;
|
||||
@ -1026,11 +987,7 @@ sub addPersistentRoute_RH {
|
||||
|
||||
$new_config="$ifname $net/$mask $gw_ip";
|
||||
} else {
|
||||
if ( $gw_ip == "" || $gw_ip == "0.0.0.0" ) {
|
||||
$new_config="any net $net netmask $mask dev $ifname\n";
|
||||
} else {
|
||||
$new_config="any net $net netmask $mask gw $gw_ip\n";
|
||||
}
|
||||
$new_config="any net $net netmask $mask gw $gw_ip $ifname\n";
|
||||
}
|
||||
if (!$hasConfiged) {
|
||||
push(@output, $new_config);
|
||||
@ -1074,7 +1031,7 @@ sub deletePersistentRoute_RH {
|
||||
my @new_output=();
|
||||
my $bigfound=0;
|
||||
foreach my $tmp_conf (@output) {
|
||||
my $found = checkConfig_RH($net, $mask, $gw_ip, $gw, $ifname, [$tmp_conf]);
|
||||
my $found = checkConfig_RH($net, $mask, $gw_ip, $gw, [$tmp_conf]);
|
||||
if (!$found) {
|
||||
push(@new_output, $tmp_conf);
|
||||
} else {
|
||||
@ -1108,16 +1065,14 @@ sub checkConfig_RH {
|
||||
my $mask = shift;
|
||||
my $gw_ip = shift;
|
||||
my $gw=shift;
|
||||
my $ifname=shift;
|
||||
my $output=shift;
|
||||
|
||||
foreach my $line (@$output) {
|
||||
my @a=split(' ', $line);
|
||||
#The format is: any net 172.16.0.0 netmask 255.240.0.0 gw 192.168.0.1 eth0
|
||||
# ipv6 format: eth1 fd60::/64 fd57::214:5eff:fe15:1
|
||||
my ($net1,$mask1,$gw1,$ifname1);
|
||||
my ($net1,$mask1,$gw1);
|
||||
if ($net =~ /:/) {
|
||||
$ifname1 = $a[0];
|
||||
if (@a>1) {
|
||||
my $ipv6net = $a[1];
|
||||
($net1,$mask1) = split("/",$ipv6net);
|
||||
@ -1135,18 +1090,13 @@ sub checkConfig_RH {
|
||||
if ($mask1 eq '-') { $mask1=$mask;}
|
||||
}
|
||||
if (@a>6) {
|
||||
if ( $a[5] eq 'dev' ) {
|
||||
$ifname1=$a[6];
|
||||
if ($ifname1 eq '-') { $ifname1=$ifname;}
|
||||
} else {
|
||||
$gw1=$a[6];
|
||||
if ($gw1 eq '-') { $gw1=$gw_ip; }
|
||||
}
|
||||
$gw1=$a[6];
|
||||
if ($gw1 eq '-') { $gw1=$gw_ip; }
|
||||
}
|
||||
}
|
||||
|
||||
#print "net=$net1,$net mask=$mask1,$mask gw=$gw1,$gw_ip ifname=$ifname1,ifname\n";
|
||||
if (($net1 && $net1 eq $net) && ($mask1 && $mask1 eq $mask) && (($gw1 && $gw1 eq $gw) || ($gw1 && $gw1 eq $gw_ip) || ($ifname1 && $ifname1 eq $ifname))) {
|
||||
#print "net=$net1,$net mask=$mask1,$mask gw=$gw1,$gw_ip\n";
|
||||
if (($net1 && $net1 eq $net) && ($mask1 && $mask1 eq $mask) && (($gw1 && $gw1 eq $gw) || ($gw1 && $gw1 eq $gw_ip))) {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
@ -1170,21 +1120,12 @@ sub addPersistentRoute_Debian{
|
||||
|
||||
#ipv6
|
||||
if ( $net =~ /:/){
|
||||
if ( $gw_ip == "" || $gw_ip == "::" ) {
|
||||
$cmd = "grep \"$net/$mask dev $ifname\" $conf_file";
|
||||
$route_conf = " up route -A inet6 add $net/$mask dev $ifname \n down route -A inet6 del $net/$mask dev $ifname \n";
|
||||
} else {
|
||||
$cmd = "grep \"$net/$mask gw $gw_ip\" $conf_file";
|
||||
$route_conf = " up route -A inet6 add $net/$mask gw $gw_ip \n down route -A inet6 del $net/$mask gw $gw_ip \n";
|
||||
}
|
||||
$cmd = "grep \"$net/$mask gw $gw_ip\" $conf_file";
|
||||
$route_conf = " up route -A inet6 add $net/$mask gw $gw_ip \n down route -A inet6 del $net/$mask gw $gw_ip \n";
|
||||
}
|
||||
else { #ipv4
|
||||
$cmd = "grep \"-net $net netmask $mask gw $gw_ip\" $conf_file";
|
||||
if ( $gw_ip == "" || $gw_ip == "0.0.0.0" ) {
|
||||
$route_conf = " up route add -net $net netmask $mask dev $ifname \n down route del -net $net netmask $mask dev $ifname \n";
|
||||
} else {
|
||||
$route_conf = " up route add -net $net netmask $mask gw $gw_ip \n down route del -net $net netmask $mask gw $gw_ip\n";
|
||||
}
|
||||
$route_conf = " up route add -net $net netmask $mask gw $gw_ip \n down route del -net $net netmask $mask gw $gw_ip \n";
|
||||
}
|
||||
|
||||
#fine the corresponding config in the config file
|
||||
@ -1242,18 +1183,10 @@ sub deletePersistentRoute_Debian{
|
||||
preParse_Debian();
|
||||
#ipv6
|
||||
if ( $net =~ /:/){
|
||||
if ( $gw_ip == "" || $gw_ip == "::" ) {
|
||||
$match = "$net/$mask dev $ifname";
|
||||
} else {
|
||||
$match = "$net/$mask gw $gw_ip";
|
||||
}
|
||||
$match = "$net/$mask gw $gw_ip";
|
||||
}
|
||||
else {
|
||||
if ( $gw_ip == "" || $gw_ip == "0.0.0.0" ) {
|
||||
$match = "net $net netmask $mask dev $ifname";
|
||||
} else {
|
||||
$match = "net $net netmask $mask gw $gw_ip";
|
||||
}
|
||||
$match = "net $net netmask $mask gw $gw_ip";
|
||||
}
|
||||
|
||||
open(FH, "<", $conf_file);
|
||||
|
@ -323,35 +323,42 @@ sleep 0.05; #up to 50 ms outage possible
|
||||
my $conn;
|
||||
next unless $conn = $socket->accept;
|
||||
|
||||
my @clients;
|
||||
if ($inet6support) {
|
||||
@clients = gethostbyaddr($conn->peeraddr,AF_INET6);
|
||||
unless (@clients) { @clients = gethostbyaddr($conn->peeraddr,AF_INET); }
|
||||
} else {
|
||||
@clients = gethostbyaddr($conn->peeraddr,AF_INET);
|
||||
}
|
||||
my $client_name;
|
||||
my $client_aliases;
|
||||
my @clients;
|
||||
if ($inet6support) {
|
||||
($client_name,$client_aliases) = gethostbyaddr($conn->peeraddr,AF_INET6);
|
||||
unless ($client_name) { ($client_name,$client_aliases) = gethostbyaddr($conn->peeraddr,AF_INET); }
|
||||
} else {
|
||||
($client_name,$client_aliases) = gethostbyaddr($conn->peeraddr,AF_INET);
|
||||
}
|
||||
|
||||
$clients[0] = $client_name;
|
||||
if ($client_aliases) {
|
||||
push @clients, split(/\s+/,$client_aliases);
|
||||
}
|
||||
|
||||
my $validclient=0;
|
||||
my $node;
|
||||
my $domain;
|
||||
|
||||
my $nd = xCAT::NetworkUtils->getNodeDomains(\@clients);
|
||||
my %nodedomains = %{$nd};
|
||||
|
||||
foreach my $client (@clients) {
|
||||
$domain = $nodedomains{$client};
|
||||
my @ndn = ($client);
|
||||
my $nd = xCAT::NetworkUtils->getNodeDomains(\@ndn);
|
||||
my %nodedomains = %{$nd};
|
||||
$domain = $nodedomains{$client};
|
||||
$client =~ s/\..*//;
|
||||
if ($domain) {
|
||||
$client =~ s/\.$domain//;
|
||||
} else {
|
||||
$client =~ s/\..*//;
|
||||
if ($domain) {
|
||||
$client =~ s/\.$domain//;
|
||||
} else {
|
||||
$client =~ s/\..*//;
|
||||
}
|
||||
#ensure this is coming from a node IP at least
|
||||
($node) = noderange($client);
|
||||
if ($node) { #Means the source isn't valid
|
||||
$validclient=1;
|
||||
last;
|
||||
}
|
||||
}
|
||||
#ensure this is coming from a node IP at least
|
||||
($node) = noderange($client);
|
||||
if ($node) { #Means the source isn't valid
|
||||
$validclient=1;
|
||||
last;
|
||||
}
|
||||
}
|
||||
|
||||
unless ($validclient) {
|
||||
|
@ -107,8 +107,7 @@ route_exists()
|
||||
net1=`echo $x|cut -d',' -f1`
|
||||
gw1=`echo $x|cut -d',' -f2`
|
||||
mask1=`echo $x|cut -d',' -f3`
|
||||
ifname1=`echo $x|cut -d',' -f8`
|
||||
if [ "$net" = "$net1" ] && [ "$mask" = "$mask1" ] && [ "$gw" = "$gw1" ] && [ "$ifname" = "$ifname1" ]; then
|
||||
if [ "$net" = "$net1" ] && [ "$mask" = "$mask1" ] && [ "$gw" = "$gw1" ]; then
|
||||
ret=1
|
||||
break
|
||||
fi
|
||||
@ -175,21 +174,11 @@ add_persistent_route()
|
||||
filename="/etc/sysconfig/network/routes";
|
||||
if echo $net | grep : 2>&1 1>/dev/null
|
||||
then
|
||||
if [ $gw_ip = "" -o $gw_ip = "::" ] ; then
|
||||
route="$net/$mask :: - $ifname"
|
||||
route1="$net\/$mask :: - $ifname";
|
||||
else
|
||||
route="$net/$mask $gw - -"
|
||||
route1="$net\/$mask $gw - -";
|
||||
fi
|
||||
route="$net/$mask $gw - -"
|
||||
route1="$net\/$mask $gw - -";
|
||||
else
|
||||
if [ $gw_ip = "" -o $gw_ip = "0.0.0.0" ] ; then
|
||||
route="$net 0.0.0.0 $mask $ifname";
|
||||
route1="$net 0.0.0.0 $mask $ifname";
|
||||
else
|
||||
route="$net $gw $mask $ifname";
|
||||
route1="$net $gw $mask $ifname";
|
||||
fi
|
||||
route="$net $gw $mask $ifname";
|
||||
route1="$net $gw $mask $ifname";
|
||||
fi
|
||||
if [ -f $filename ]; then
|
||||
grep "$route" $filename 2>&1 1>/dev/null
|
||||
@ -232,18 +221,10 @@ add_persistent_route()
|
||||
echo $net | grep : 2>&1 1>/dev/null
|
||||
#ipv6
|
||||
if [ $? -eq 0 ];then
|
||||
if [ "$gw" = "" -o "$gw" = "::" ] ; then
|
||||
matchstr="$net/$mask dev $ifname"
|
||||
else
|
||||
matchstr="$net/$mask gw $gw"
|
||||
fi
|
||||
matchstr="$net/$mask gw $gw"
|
||||
v6flag=1
|
||||
else
|
||||
if [ "$gw" = "" -o "$gw" = "0.0.0.0" ] ; then
|
||||
matchstr="net $net netmask $mask dev $ifname"
|
||||
else
|
||||
matchstr="net $net netmask $mask gw $gw"
|
||||
fi
|
||||
matchstr="net $net netmask $mask gw $gw"
|
||||
fi
|
||||
|
||||
grep "$matchstr" $filename 2>&1 1>/dev/null
|
||||
@ -256,21 +237,11 @@ add_persistent_route()
|
||||
if [ $? -eq 0 -a $foundflag -eq 1 ];then
|
||||
foundflag=0
|
||||
if [ $v6flag -eq 1 ];then
|
||||
if [ "$gw" = "" -o "$gw" = "::" ] ; then
|
||||
echo " up route -A inet6 add $net/$mask dev $ifname" >> $tempfile
|
||||
echo " down route -A inet6 del $net/$mask dev $ifname" >> $tempfile
|
||||
else
|
||||
echo " up route -A inet6 add $net/$mask gw $gw" >> $tempfile
|
||||
echo " down route -A inet6 del $net/$mask gw $gw" >> $tempfile
|
||||
fi
|
||||
echo " up route -A inet6 add $net/$mask gw $gw" >> $tempfile
|
||||
echo " down route -A inet6 del $net/$mask gw $gw" >> $tempfile
|
||||
else
|
||||
if [ "$gw" = "" -o "$gw" = "0.0.0.0" ] ; then
|
||||
echo " up route add -net $net netmask $mask dev $ifname" >> $tempfile
|
||||
echo " down route del -net $net netmask $mask dev $ifname" >> $tempfile
|
||||
else
|
||||
echo " up route add -net $net netmask $mask gw $gw" >> $tempfile
|
||||
echo " down route del -net $net netmask $mask gw $gw" >> $tempfile
|
||||
fi
|
||||
echo " up route add -net $net netmask $mask gw $gw" >> $tempfile
|
||||
echo " down route del -net $net netmask $mask gw $gw" >> $tempfile
|
||||
fi
|
||||
fi
|
||||
echo $LINE | grep "iface $ifname " 2>&1 1>/dev/null
|
||||
@ -284,21 +255,11 @@ add_persistent_route()
|
||||
#the insert place is the last line of the config file
|
||||
if [ $foundflag -eq 1 ];then
|
||||
if [ $v6flag -eq 1 ];then
|
||||
if [ "$gw" = "" -o "$gw" = "::" ] ; then
|
||||
echo " up route -A inet6 add $net/$mask dev $ifname" >> $tempfile
|
||||
echo " down route -A inet6 del $net/$mask dev $ifname" >> $tempfile
|
||||
else
|
||||
echo " up route -A inet6 add $net/$mask gw $gw" >> $tempfile
|
||||
echo " down route -A inet6 del $net/$mask gw $gw" >> $tempfile
|
||||
fi
|
||||
echo " up route -A inet6 add $net/$mask gw $gw" >> $tempfile
|
||||
echo " down route -A inet6 del $net/$mask gw $gw" >> $tempfile
|
||||
else
|
||||
if [ "$gw" = "" -o "$gw" = "0.0.0.0" ] ; then
|
||||
echo " up route add -net $net netmask $mask dev $ifname" >> $tempfile
|
||||
echo " down route del -net $net netmask $mask dev $ifname" >> $tempfile
|
||||
else
|
||||
echo " up route add -net $net netmask $mask gw $gw" >> $tempfile
|
||||
echo " down route del -net $net netmask $mask gw $gw" >> $tempfile
|
||||
fi
|
||||
echo " up route add -net $net netmask $mask gw $gw" >> $tempfile
|
||||
echo " down route del -net $net netmask $mask gw $gw" >> $tempfile
|
||||
fi
|
||||
fi
|
||||
mv -f $tempfile $filename
|
||||
@ -312,22 +273,14 @@ add_persistent_route()
|
||||
# ipv6 net
|
||||
if echo $net | grep : 2>&1 1>/dev/null
|
||||
then
|
||||
if [ "$gw" = "" ] ; then
|
||||
$gw = "::";
|
||||
fi
|
||||
filename="/etc/sysconfig/static-routes-ipv6";
|
||||
route="$ifname $net/$mask $gw";
|
||||
# $net/mask does not work with sed cmd
|
||||
route1="$ifname $net\/$mask $gw";
|
||||
else
|
||||
filename="/etc/sysconfig/static-routes";
|
||||
if [ "$gw" = "" -o "$gw" = "0.0.0.0" ] ; then
|
||||
route="any net $net netmask $mask dev $ifname";
|
||||
route1="any net $net netmask $mask dev $ifname";
|
||||
else
|
||||
route="any net $net netmask $mask gw $gw $ifname";
|
||||
route1="any net $net netmask $mask gw $gw $ifname";
|
||||
fi
|
||||
route="any net $net netmask $mask gw $gw $ifname";
|
||||
route1="any net $net netmask $mask gw $gw $ifname";
|
||||
fi
|
||||
if [ -f $filename ]; then
|
||||
grep "$route" $filename 2>&1 1>/dev/null
|
||||
@ -387,23 +340,15 @@ rm_persistent_route()
|
||||
# ipv6 net
|
||||
if echo $net | grep : 2>&1 1>/dev/null
|
||||
then
|
||||
if [ $gw = "" -o $gw = "::" ] ; then
|
||||
route="$net/$mask :: - $ifname";
|
||||
route1="$net\/$mask :: - $ifname";
|
||||
else
|
||||
route="$net/$mask $gw - -";
|
||||
route1="$net\/$mask $gw - -";
|
||||
fi
|
||||
route="$net/$mask $gw - -";
|
||||
route1="$net\/$mask $gw - -";
|
||||
else
|
||||
if [ $gw = "" ] ; then
|
||||
$gw = "0.0.0.0";
|
||||
fi
|
||||
if [ -n "$ifname" ]; then
|
||||
route="$net $gw $mask $ifname";
|
||||
route1="$net $gw $mask $ifname";
|
||||
else
|
||||
route="$net $gw $mask -";
|
||||
route1="$net $gw $mask -";
|
||||
route="$net $gw $mask";
|
||||
route1="$net $gw $mask";
|
||||
fi
|
||||
fi
|
||||
if [ -f $filename ]; then
|
||||
@ -431,18 +376,10 @@ rm_persistent_route()
|
||||
echo $net | grep : 2>&1 1>/dev/null
|
||||
#ipv6
|
||||
if [ $? -eq 0 ];then
|
||||
if [ $gw = "" -o $gw = "::" ] ; then
|
||||
matchstr="$net/$mask dev $ifname"
|
||||
else
|
||||
matchstr="$net/$mask gw $gw"
|
||||
fi
|
||||
matchstr="$net/$mask gw $gw"
|
||||
v6flag=1
|
||||
else
|
||||
if [ $gw = "" -o $gw = "0.0.0.0" ] ; then
|
||||
matchstr="net $net netmask $mask dev $ifname"
|
||||
else
|
||||
matchstr="net $net netmask $mask gw $gw"
|
||||
fi
|
||||
matchstr="net $net netmask $mask gw $gw"
|
||||
fi
|
||||
|
||||
grep "$matchstr" $filename
|
||||
@ -460,22 +397,12 @@ rm_persistent_route()
|
||||
then
|
||||
filename="/etc/sysconfig/static-routes-ipv6";
|
||||
# $net/$mask does not work with sed
|
||||
if [ "$gw" = "" -o "$gw" = "::" ] ; then
|
||||
route="$ifname $net\/$mask ::"
|
||||
route1="$ifname $net/$mask ::"
|
||||
else
|
||||
route="$ifname $net\/$mask $gw"
|
||||
route1="$ifname $net/$mask $gw"
|
||||
fi
|
||||
route="$ifname $net\/$mask $gw"
|
||||
route1="$ifname $net/$mask $gw"
|
||||
else
|
||||
filename="/etc/sysconfig/static-routes";
|
||||
if [ "$gw" = "" -o "$gw" = "0.0.0.0" ] ; then
|
||||
route="any net $net netmask $mask dev $ifname";
|
||||
route1="any net $net netmask $mask dev $ifname";
|
||||
else
|
||||
route="any net $net netmask $mask gw $gw $ifname";
|
||||
route1="any net $net netmask $mask gw $gw $ifname";
|
||||
fi
|
||||
route="any net $net netmask $mask gw $gw $ifname";
|
||||
route1="any net $net netmask $mask gw $gw $ifname";
|
||||
fi
|
||||
if [ -f $filename ]; then
|
||||
grep "$route" $filename 2>&1 1>/dev/null
|
||||
@ -504,22 +431,14 @@ if [ "$op" = "add" ]; then
|
||||
if echo $net | grep : 2>&1 1>/dev/null
|
||||
then
|
||||
if [ "$(uname -s)" = "Linux" ]; then
|
||||
if [ "$gw" = "" -o "$gw" = "::" ] ; then
|
||||
cmd="ip -6 route add $net/$mask dev $ifname"
|
||||
else
|
||||
cmd="ip -6 route add $net/$mask via $gw"
|
||||
fi
|
||||
cmd="ip -6 route add $net/$mask via $gw"
|
||||
else
|
||||
# AIX TODO
|
||||
cmd="ip -6 route add $net/$mask via $gw"
|
||||
fi
|
||||
else
|
||||
if [ "$(uname -s)" = "Linux" ]; then
|
||||
if [ "$gw" = "" -o "$gw" = "0.0.0.0" ] ; then
|
||||
cmd="route add -net $net netmask $mask dev $ifname"
|
||||
else
|
||||
cmd="route add -net $net netmask $mask gw $gw"
|
||||
fi
|
||||
cmd="route add -net $net netmask $mask gw $gw"
|
||||
else
|
||||
cmd="route add -net $net -netmask $mask $gw"
|
||||
fi
|
||||
@ -553,22 +472,14 @@ elif [ "$op" = "delete" ]; then
|
||||
if echo $net | grep : 2>&1 1>/dev/null
|
||||
then
|
||||
if [ "$(uname -s)" = "Linux" ]; then
|
||||
if [ "$gw" = "" -o "$gw" = "::" ] ; then
|
||||
cmd="ip -6 route delete $net/$mask dev $ifname"
|
||||
else
|
||||
cmd="ip -6 route delete $net/$mask via $gw"
|
||||
fi
|
||||
cmd="ip -6 route delete $net/$mask via $gw"
|
||||
else
|
||||
# AIX TODO
|
||||
cmd="ip -6 route delete $net/$mask via $gw"
|
||||
fi
|
||||
else
|
||||
if [ "$(uname -s)" = "Linux" ]; then
|
||||
if [ "$gw" = "" -o "$gw" = "0.0.0.0" ] ; then
|
||||
cmd="route delete -net $net netmask $mask dev $ifname"
|
||||
else
|
||||
cmd="route delete -net $net netmask $mask gw $gw"
|
||||
fi
|
||||
cmd="route delete -net $net netmask $mask gw $gw"
|
||||
else
|
||||
cmd="route delete -net $net -netmask $mask $gw"
|
||||
fi
|
||||
|
Reference in New Issue
Block a user