summaryrefslogtreecommitdiff
path: root/client/scripts
diff options
context:
space:
mode:
authorTed Lemon <source@isc.org>1999-02-25 23:30:43 +0000
committerTed Lemon <source@isc.org>1999-02-25 23:30:43 +0000
commit74f45f9642639bf4dfc7a28595363055d4c1b955 (patch)
tree84218f8405c4619b257b60a5bd5941090d9af0fa /client/scripts
parentce53cc84e93fb0cdb4d6fa912577ea45074ea0f7 (diff)
downloadisc-dhcp-74f45f9642639bf4dfc7a28595363055d4c1b955.tar.gz
Sync with 2.0b1pl16. Fix some pool allocation problems.
Diffstat (limited to 'client/scripts')
-rwxr-xr-xclient/scripts/solaris59
1 files changed, 30 insertions, 29 deletions
diff --git a/client/scripts/solaris b/client/scripts/solaris
index 0f5a253a..52a1885c 100755
--- a/client/scripts/solaris
+++ b/client/scripts/solaris
@@ -16,31 +16,32 @@ if [ x$alias_subnet_mask != x ]; then
alias_subnet_arg="netmask $alias_subnet_mask"
fi
-# For Solaris, ifconfig lives in /sbin
-OS=`uname -r`
-if [ $OS = "5.5.1" ]; then
- PATH=/sbin:$PATH
-fi
+ifconfig=/sbin/ifconfig
+
+release=`uname -r`
+release=`expr $release : '\(.*\)\..*'`
+relmajor=`echo $release |sed -e 's/^\([^\.]*\)\..*$/\1/'`
+relminor=`echo $release |sed -e 's/^.*\.\([^\.]*\)$/\1/'`
if [ x$reason = xMEDIUM ]; then
- ifconfig $interface $medium
- ifconfig $interface inet -alias 0.0.0.0 $medium >/dev/null 2>&1
- ifconfig $interface
+ $ifconfig $interface $medium
+ $ifconfig $interface
sleep 1
exit 0
fi
if [ x$reason = xPREINIT ]; then
if [ x$alias_ip_address != x ]; then
- ifconfig $interface inet -alias $alias_ip_address > /dev/null 2>&1
+ $ifconfig ${interface}:1 0 down > /dev/null 2>&1
route delete $alias_ip_address 127.0.0.1 > /dev/null 2>&1
fi
- if [ $OS = "5.5.1" ]; then
+ if [ $relmajor -gt 5 ] || ( [ $relmajor -eq 5 ] && [ $relminor -ge 5 ] )
+ then
# Turn the interface on
- ifconfig $interface plumb
- ifconfig $interface inet 10.0.0.1 up
+ $ifconfig $interface plumb
+ $ifconfig $interface up
else
- ifconfig $interface inet 0.0.0.0 netmask 0.0.0.0 \
+ $ifconfig $interface inet 0.0.0.0 netmask 0.0.0.0 \
broadcast 255.255.255.255 up
fi
exit 0
@@ -54,11 +55,11 @@ if [ x$reason = xBOUND ] || [ x$reason = xRENEW ] || \
[ x$reason = xREBIND ] || [ x$reason = xREBOOT ]; then
if [ x$old_ip_address != x ] && [ x$alias_ip_address != x ] && \
[ x$alias_ip_address != x$old_ip_address ]; then
- ifconfig $interface inet -alias $alias_ip_address > /dev/null 2>&1
+ $ifconfig ${interface}:1 inet 0 down > /dev/null 2>&1
route delete $alias_ip_address 127.0.0.1 > /dev/null 2>&1
fi
if [ x$old_ip_address != x ] && [ x$old_ip_address != x$new_ip_address ]; then
- ifconfig $interface inet -alias $old_ip_address $medium
+ $ifconfig ${interface} inet 0 down
route delete $old_ip_address 127.1 >/dev/null 2>&1
for router in $old_routers; do
route delete default $router >/dev/null 2>&1
@@ -67,7 +68,7 @@ if [ x$reason = xBOUND ] || [ x$reason = xRENEW ] || \
fi
if [ x$old_ip_address = x ] || [ x$old_ip_address != x$new_ip_address ] || \
[ x$reason = xBOUND ] || [ x$reason = xREBOOT ]; then
- ifconfig $interface inet $new_ip_address $new_netmask_arg \
+ $ifconfig $interface inet $new_ip_address $new_netmask_arg \
$new_broadcast_arg $medium
route add $new_ip_address 127.1 1 >/dev/null 2>&1
for router in $new_routers; do
@@ -76,8 +77,8 @@ if [ x$reason = xBOUND ] || [ x$reason = xRENEW ] || \
fi
if [ x$new_ip_address != x$alias_ip_address ] && [ x$alias_ip_address != x ];
then
- ifconfig $interface inet alias $alias_ip_address $alias_subnet_arg
- route add $alias_ip_address 127.0.0.1 1 > /dev/null 2>&1
+ $ifconfig ${interface}:1 inet $alias_ip_address $alias_subnet_arg
+ route add $alias_ip_address 127.0.0.1 1
fi
echo search $new_domain_name >/etc/resolv.conf
for nameserver in $new_domain_name_servers; do
@@ -88,39 +89,39 @@ fi
if [ x$reason = xEXPIRE ] || [ x$reason = xFAIL ]; then
if [ x$alias_ip_address != x ]; then
- ifconfig $interface inet -alias $alias_ip_address > /dev/null 2>&1
+ $ifconfig ${interface}:1 0 down > /dev/null 2>&1
route delete $alias_ip_address 127.0.0.1 > /dev/null 2>&1
fi
if [ x$old_ip_address != x ]; then
- ifconfig $interface inet -alias $old_ip_address $medium
+ $ifconfig $interface inet 0 down
route delete $old_ip_address 127.1 >/dev/null 2>&1
for router in $old_routers; do
route delete default $router >/dev/null 2>&1
done
- arp -n -a | sed -n -e 's/^.*(\(.*\)) at .*$/arp -n -d \1/p'i \
+ arp -n -a | sed -n -e 's/^.*(\(.*\)) at .*$/arp -n -d \1/p' \
|sh >/dev/null 2>&1
fi
if [ x$alias_ip_address != x ]; then
- ifconfig $interface inet alias $alias_ip_address $alias_subnet_arg
- route add $alias_ip_address 127.0.0.1 1 >/dev/null 2>&1
+ $ifconfig ${interface}:1 inet $alias_ip_address $alias_subnet_arg
+ route add $alias_ip_address 127.0.0.1 1
fi
exit 0
fi
if [ x$reason = xTIMEOUT ]; then
if [ x$alias_ip_address != x ]; then
- ifconfig $interface inet -alias $alias_ip_address > /dev/null 2>&1
+ $ifconfig ${interface}:1 0 down > /dev/null 2>&1
route delete $alias_ip_address 127.0.0.1 > /dev/null 2>&1
fi
- ifconfig $interface inet $new_ip_address $new_netmask_arg \
+ $ifconfig $interface inet $new_ip_address $new_netmask_arg \
$new_broadcast_arg $medium
sleep 1
set $new_routers
- if ping -c 1 -w 1 $1; then
+ if ping -s -n -I 1 $1 64 1; then
if [ x$new_ip_address != x$alias_ip_address ] && \
[ x$alias_ip_address != x ]; then
- ifconfig $interface inet alias $alias_ip_address $alias_subnet_arg
- route add $alias_ip_address 127.0.0.1 1 > /dev/null 2>&1
+ $ifconfig ${interface}:1 inet $alias_ip_address $alias_subnet_arg
+ route add $alias_ip_address 127.0.0.1 1
fi
route add $new_ip_address 127.1 1 >/dev/null 2>&1
for router in $new_routers; do
@@ -136,7 +137,7 @@ if [ x$reason = xTIMEOUT ]; then
fi
exit 0
fi
- ifconfig $interface inet -alias $new_ip_address $medium
+ $ifconfig $interface inet 0 down
for router in $old_routers; do
route delete default $router >/dev/null 2>&1
done