summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--usr.sbin/dhcp/dhclient/scripts/dhclient-script192
1 files changed, 107 insertions, 85 deletions
diff --git a/usr.sbin/dhcp/dhclient/scripts/dhclient-script b/usr.sbin/dhcp/dhclient/scripts/dhclient-script
index 6b0e83d874b..fa8b2e21bf5 100644
--- a/usr.sbin/dhcp/dhclient/scripts/dhclient-script
+++ b/usr.sbin/dhcp/dhclient/scripts/dhclient-script
@@ -1,100 +1,109 @@
#!/bin/sh
#
-# $OpenBSD: dhclient-script,v 1.5 2000/04/20 08:14:21 angelos Exp $
+# $OpenBSD: dhclient-script,v 1.6 2000/06/25 08:41:12 dugsong Exp $
#
-if [ x$new_network_number != x ]; then
- echo New Network Number: $new_network_number
+if [ "x$new_network_number" != "x" ]; then
+ echo "New Network Number: $new_network_number"
fi
-if [ x$new_broadcast_address != x ]; then
- echo New Broadcast Address: $new_broadcast_address
+if [ "x$new_broadcast_address" != "x" ]; then
+ echo "New Broadcast Address: $new_broadcast_address"
new_broadcast_arg="broadcast $new_broadcast_address"
fi
-if [ x$old_broadcast_address != x ]; then
+if [ "x$old_broadcast_address" != "x" ]; then
old_broadcast_arg="broadcast $old_broadcast_address"
fi
-if [ x$new_subnet_mask != x ]; then
+if [ "x$new_subnet_mask" != "x" ]; then
new_netmask_arg="netmask $new_subnet_mask"
fi
-if [ x$old_subnet_mask != x ]; then
+if [ "x$old_subnet_mask" != "x" ]; then
old_netmask_arg="netmask $old_subnet_mask"
fi
-if [ x$alias_subnet_mask != x ]; then
+if [ "x$alias_subnet_mask" != "x" ]; then
alias_subnet_arg="netmask $alias_subnet_mask"
fi
-if [ x$reason = xMEDIUM ]; then
- ifconfig $interface $medium
- ifconfig $interface inet -alias 0.0.0.0 $medium >/dev/null 2>&1
+if [ "x$reason" = "xMEDIUM" ]; then
+ ifconfig "$interface" "$medium"
+ ifconfig "$interface" inet -alias 0.0.0.0 "$medium" >/dev/null 2>&1
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
- route delete $alias_ip_address 127.0.0.1 > /dev/null 2>&1
+if [ "x$reason" = "xPREINIT" ]; then
+ if [ "x$alias_ip_address" != "x" ]; then
+ ifconfig "$interface" inet -alias "$alias_ip_address" > /dev/null 2>&1
+ route delete "$alias_ip_address" 127.0.0.1 > /dev/null 2>&1
fi
- 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
exit 0
fi
-if [ x$reason = xARPCHECK ] || [ x$reason = xARPSEND ]; then
+if [ "x$reason" = "xARPCHECK" ] || [ "x$reason" = "xARPSEND" ]; then
exit 0;
fi
-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
- route delete $alias_ip_address 127.0.0.1 > /dev/null 2>&1
+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
+ 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
- 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
+ if [ "x$old_ip_address" != "x" ] && [ "x$old_ip_address" != "x$new_ip_address" ]; then
+ if [ "x$medium" != "x" ]; then
+ ifconfig "$interface" inet -alias "$old_ip_address" "$medium"
+ else
+ ifconfig "$interface" inet -alias "$old_ip_address"
+ fi
+ 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
if [ "$old_static_routes" != "" ]; then
set $old_static_routes
while [ $# -gt 1 ]; do
- route delete $1 $2
+ route delete "$1" "$2"
shift; shift
done
fi
arp -n -a | sed -n -e 's/^.*(\(.*\)) at .*$/arp -n -d \1/p' |sh
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 \
- $new_broadcast_arg $medium
- route add $new_ip_address 127.1 >/dev/null 2>&1
- for router in $new_routers; do
- route add default $router >/dev/null 2>&1
+ if [ "x$old_ip_address" = "x" ] || [ "x$old_ip_address" != "x$new_ip_address" ] || \
+ [ "x$reason" = "xBOUND" ] || [ "x$reason" = "xREBOOT" ]; then
+ if [ "x$medium" != "x" ]; then
+ ifconfig "$interface" inet "$new_ip_address" $new_netmask_arg \
+ $new_broadcast_arg "$medium"
+ else
+ ifconfig "$interface" inet "$new_ip_address" $new_netmask_arg \
+ $new_broadcast_arg
+ fi
+ route add "$new_ip_address" 127.1 >/dev/null 2>&1
+ for router in "$new_routers"; do
+ route add default "$router" >/dev/null 2>&1
done
if [ "$new_static_routes" != "" ]; then
- set $new_static_routes
+ set "$new_static_routes"
while [ $# -gt 1 ]; do
- route add $1 $2
+ route add "$1" "$2"
shift; shift
done
fi
fi
- if [ x$new_ip_address != x$alias_ip_address ] && [ x$alias_ip_address != x ];
+ 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
+ ifconfig "$interface" inet alias "$alias_ip_address" $alias_subnet_arg
+ route add "$alias_ip_address" 127.0.0.1
fi
- if [ x$new_domain_name != x ];
+ if [ "x$new_domain_name" != "x" ];
then
if [ -n "$new_domain_name_servers" ];
then
- echo search $new_domain_name >/etc/resolv.conf
- for nameserver in $new_domain_name_servers; do
- echo nameserver $nameserver >>/etc/resolv.conf
+ echo "search $new_domain_name" >/etc/resolv.conf
+ for nameserver in "$new_domain_name_servers"; do
+ echo "nameserver $nameserver" >>/etc/resolv.conf
done
if [ -f /etc/resolv.conf.tail ]; then
cat /etc/resolv.conf.tail >>/etc/resolv.conf
@@ -104,66 +113,75 @@ if [ x$reason = xBOUND ] || [ x$reason = xRENEW ] || \
fi
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
- route delete $alias_ip_address 127.0.0.1 > /dev/null 2>&1
+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
+ 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
- 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
+ if [ "x$old_ip_address" != "x" ]; then
+ if [ "x$medium" != "x" ]; then
+ ifconfig "$interface" inet -alias "$old_ip_address" "$medium"
+ else
+ ifconfig "$interface" inet -alias "$old_ip_address"
+ fi
+ 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
if [ "$old_static_routes" != "" ]; then
- set $old_static_routes
+ set "$old_static_routes"
while [ $# -gt 1 ]; do
- route delete $1 $2
+ route delete "$1" "$2"
shift; shift
done
fi
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
+ 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
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
- route delete $alias_ip_address 127.0.0.1 > /dev/null 2>&1
+if [ "x$reason" = "xTIMEOUT" ]; then
+ if [ "x$alias_ip_address" != "x" ]; then
+ ifconfig "$interface" inet -alias "$alias_ip_address" > /dev/null 2>&1
+ route delete "$alias_ip_address" 127.0.0.1 > /dev/null 2>&1
+ fi
+ if [ "x$medium" != "x" ]; then
+ ifconfig "$interface" inet "$new_ip_address" $new_netmask_arg \
+ $new_broadcast_arg "$medium"
+ else
+ ifconfig "$interface" inet "$new_ip_address" $new_netmask_arg \
+ $new_broadcast_arg
fi
- ifconfig $interface inet $new_ip_address $new_netmask_arg \
- $new_broadcast_arg $medium
sleep 1
if [ "$new_routers" != "" ]; then
- set $new_routers
- if ping -q -c 1 -w 1 $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
+ set "$new_routers"
+ if ping -q -c 1 -w 1 "$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
fi
- route add $new_ip_address 127.1 >/dev/null 2>&1
- for router in $new_routers; do
- route add default $router >/dev/null 2>&1
+ route add "$new_ip_address" 127.1 >/dev/null 2>&1
+ for router in "$new_routers"; do
+ route add default "$router" >/dev/null 2>&1
done
if [ "$new_static_routes" != "" ]; then
- set $new_static_routes
+ set "$new_static_routes"
while [ $# -gt 1 ]; do
- route add $1 $2
+ route add "$1" "$2"
shift; shift
done
fi
if [ "$new_domain_name" != "" ]; then
if [ -n "$new_domain_name_servers" ]; then
- echo search $new_domain_name >/etc/resolv.conf.std
- for nameserver in $new_domain_name_servers; do
- echo nameserver $nameserver >>/etc/resolv.conf.std
+ echo "search $new_domain_name" >/etc/resolv.conf.std
+ for nameserver in "$new_domain_name_servers"; do
+ echo "nameserver $nameserver" >>/etc/resolv.conf.std
done
if [ -f /etc/resolv.conf.tail ]; then
cat /etc/resolv.conf.tail >>/etc/resolv.conf.std
@@ -177,14 +195,18 @@ if [ x$reason = xTIMEOUT ]; then
fi
fi
fi
- ifconfig $interface inet -alias $new_ip_address $medium
- for router in $old_routers; do
- route delete default $router >/dev/null 2>&1
+ if [ "x$medium" != "x" ]; then
+ ifconfig "$interface" inet -alias "$new_ip_address" "$medium"
+ else
+ ifconfig "$interface" inet -alias "$new_ip_address"
+ fi
+ for router in "$old_routers"; do
+ route delete default "$router" >/dev/null 2>&1
done
if [ "$old_static_routes" != "" ]; then
- set $old_static_routes
+ set "$old_static_routes"
while [ $# -gt 1 ]; do
- route delete $1 $2
+ route delete "$1" "$2"
shift; shift
done
fi