diff options
Diffstat (limited to 'sysconfig')
-rwxr-xr-x | sysconfig/network-scripts/ifup-ipv6 | 16 | ||||
-rwxr-xr-x | sysconfig/network-scripts/ifup-sit | 10 | ||||
-rwxr-xr-x | sysconfig/network-scripts/init.ipv6-global | 6 | ||||
-rw-r--r-- | sysconfig/network-scripts/network-functions-ipv6 | 22 |
4 files changed, 36 insertions, 18 deletions
diff --git a/sysconfig/network-scripts/ifup-ipv6 b/sysconfig/network-scripts/ifup-ipv6 index 8762129f..8a960f69 100755 --- a/sysconfig/network-scripts/ifup-ipv6 +++ b/sysconfig/network-scripts/ifup-ipv6 @@ -4,14 +4,14 @@ # # # Taken from: -# (P) & (C) 2000-2005 by Peter Bieringer <pb@bieringer.de> +# (P) & (C) 2000-2006 by Peter Bieringer <pb@bieringer.de> # # You will find more information on the initscripts-ipv6 homepage at # http://www.deepspace6.net/projects/initscripts-ipv6.html # # RHL integration assistance by Pekka Savola <pekkas@netcore.fi> # -# Version 2005-09-22 +# Version: 2006-07-20 # # Note: if called (like normally) by /etc/sysconfig/network-scripts/ifup # exit codes aren't handled by "ifup" @@ -88,7 +88,7 @@ if [ $? != 0 -a $? != 11 ]; then fi # Setup IPv6 address on specified interface -if ! [ -z "$IPV6ADDR" ]; then +if [ -n "$IPV6ADDR" ]; then ipv6_add_addr_on_device $DEVICE $IPV6ADDR || exit 1 fi @@ -159,7 +159,7 @@ fi # Setup additional static IPv6 routes on specified interface, if given if [ -f /etc/sysconfig/static-routes-ipv6 ]; then - LC_ALL=C grep -w "^$DEVICE" /etc/sysconfig/static-routes-ipv6 2>/dev/null | while read device args; do + LC_ALL=C grep -w "^$DEVICE" /etc/sysconfig/static-routes-ipv6 | while read device args; do ipv6_add_route $args $DEVICE done fi @@ -212,7 +212,7 @@ if [ "$IPV6TO4INIT" = "yes" ]; then if [ -z "$IPV6TO4_RELAY" ]; then IPV6TO4_RELAY="192.88.99.1" fi - + # Check/generate relay address ipv6to4_relay="`ipv6_create_6to4_relay_address $IPV6TO4_RELAY`" if [ $? -ne 0 ]; then @@ -235,7 +235,7 @@ if [ "$IPV6TO4INIT" = "yes" ]; then if [ -n "$IPV6TO4_MTU" ]; then if [ $IPV6TO4_MTU -gt $tunnelmtu ]; then echo $"Warning: configured MTU '$IPV6TO4_MTU' for 6to4 exceeds maximum limit of '$tunnelmtu', ignored" - else + else tunnelmtu=$IPV6TO4_MTU fi fi @@ -255,7 +255,7 @@ if [ "$IPV6TO4INIT" = "yes" ]; then # Add static routes if [ -f /etc/sysconfig/static-routes-ipv6 ]; then - LC_ALL=C grep -w "^tun6to4" /etc/sysconfig/static-routes-ipv6 2>/dev/null | while read device network gateway; do + LC_ALL=C grep -w "^tun6to4" /etc/sysconfig/static-routes-ipv6 | while read device network gateway; do if [ -z "$network" ]; then continue fi @@ -264,7 +264,7 @@ if [ "$IPV6TO4INIT" = "yes" ]; then fi ipv6_add_route $network $gateway tun6to4 done - fi + fi # Setup additional static IPv6 routes (newer config style) if [ -f "/etc/sysconfig/network-scripts/route6-tun6to4" ]; then diff --git a/sysconfig/network-scripts/ifup-sit b/sysconfig/network-scripts/ifup-sit index 4fa78eb5..d884f026 100755 --- a/sysconfig/network-scripts/ifup-sit +++ b/sysconfig/network-scripts/ifup-sit @@ -11,7 +11,7 @@ # # RHL integration assistance by Pekka Savola <pekkas@netcore.fi> # -# Version 2003-09-08 +# Version: 2003-09-08 # # Uses following information from /etc/sysconfig/network: # NETWORKING_IPV6=yes|no: controls IPv6 initialization (global setting) @@ -100,10 +100,10 @@ fi if [ -n "$IPV6_DEFAULTDEV" -o -n "$IPV6_DEFAULTGW" ]; then ipv6_set_default_route "$IPV6_DEFAULTGW" "$IPV6_DEFAULTDEV" "$DEVICE" fi - -# Setup additional static IPv6 routes on specified interface, if given + +# Setup additional static IPv6 routes on specified interface, if given if [ -f /etc/sysconfig/static-routes-ipv6 ]; then - LC_ALL=C grep -w "^$DEVICE" /etc/sysconfig/static-routes-ipv6 2>/dev/null | while read device ipv6route args; do + LC_ALL=C grep -w "^$DEVICE" /etc/sysconfig/static-routes-ipv6 | while read device ipv6route args; do ipv6_add_route $ipv6route :: $DEVICE done fi @@ -111,6 +111,6 @@ fi # Setup additional static IPv6 routes (newer config style) if [ -f "/etc/sysconfig/network-scripts/route6-$REALDEVICE" ]; then cat "/etc/sysconfig/network-scripts/route6-$REALDEVICE" | sed 's/#.*//g' | grep -v '^[[:space:]]*$' | while read line; do - ipv6_exec_ip -6 route add $line + ipv6_exec_ip -6 route add $line done fi diff --git a/sysconfig/network-scripts/init.ipv6-global b/sysconfig/network-scripts/init.ipv6-global index 48187fc5..faec4d18 100755 --- a/sysconfig/network-scripts/init.ipv6-global +++ b/sysconfig/network-scripts/init.ipv6-global @@ -11,7 +11,7 @@ # # RHL integration assistance by Pekka Savola <pekkas@netcore.fi> # -# Version 2005-01-04 +# Version: 2005-01-04 # # Calling parameters: # $1: action (currently supported: start|stop|showsysctl) @@ -157,7 +157,7 @@ case $ACTION in echo "Usage: $0 $1 {pre|post}" ;; - esac + esac ;; restart|reload) @@ -180,5 +180,5 @@ case $ACTION in *) echo $"Usage: $0 {start|stop|reload|restart|showsysctl}" exit 1 - ;; + ;; esac diff --git a/sysconfig/network-scripts/network-functions-ipv6 b/sysconfig/network-scripts/network-functions-ipv6 index 5800274c..5b4e0f29 100644 --- a/sysconfig/network-scripts/network-functions-ipv6 +++ b/sysconfig/network-scripts/network-functions-ipv6 @@ -137,6 +137,11 @@ ipv6_log() { fi ;; 'syslog') + # note: logger resides in /usr/bin, but not used by default + if ! [ -x logger ]; then + echo $"ERROR: [ipv6_log] Syslog is chosen, but binary 'logger' doesn't exist or isn't executable" >/dev/stderr + return 3 + fi if [ -z "$txt_name" ]; then logger -p $facility.$priority $message else @@ -185,6 +190,16 @@ ipv6_test() { return 2 fi + if ! [ -x /sbin/ip ]; then + ipv6_log $"Utility 'ip' (package: iproute) doesn't exist or isn't executable - stop" crit $fn + return 2 + fi + + if ! [ -x /sbin/sysctl ]; then + ipv6_log $"Utility 'sysctl' (package: procps) doesn't exist or isn't executable - stop" crit $fn + return 2 + fi + return 0 } @@ -194,6 +209,7 @@ ipv6_test() { getversion_ipv6_functions() { local version_ipv6_functions="`cat /etc/sysconfig/network-scripts/network-functions-ipv6 | LC_ALL=C grep "^# Version:" | awk '{ print $3 }' | sed 's/-//g' | sed 's/[A-Za-z]*$//g'`" echo $version_ipv6_functions + return 0 } @@ -202,6 +218,8 @@ getversion_ipv6_functions() { # $*: <arguments...> # return code: result of execution ipv6_exec_ifconfig() { + local fn="ipv6_exec_ifconfig" + local options=$* LC_ALL=C /sbin/ifconfig $options @@ -614,7 +632,7 @@ ipv6_cleanup_6to4_device() { ipv6_del_addr_on_device ${dev} ${addr} done - # Get all IPv6 routes through given interface via a given gateway and remove them + # Get all IPv6 routes through given interface related to 6to4 and remove them ipv6_exec_ip -6 route show dev $device | LC_ALL=C grep "^2002:" | while read ipv6net dummy; do ipv6_del_route $ipv6net :: $device done @@ -698,7 +716,7 @@ ipv6_test_ipv6_addr_valid() { local address_implicit="`echo $testipv6addr_valid | awk -F/ '{ print $1 }'`" # Test for a valid format - if ! echo "$address_implicit" | LC_ALL=C egrep -q '^[[:xdigit:]:.]*$'; then + if ! echo "$address_implicit" | LC_ALL=C egrep -q '^[[:xdigit:]]|[:\.]*$'; then if [ "$modequiet" != "quiet" ]; then ipv6_log $"Given IPv6 address '$testipv6addr_valid' is not valid" err $fn fi |