From owner-p4-projects@FreeBSD.ORG Thu Dec 2 23:38:27 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EA10A16A4D0; Thu, 2 Dec 2004 23:38:26 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id ABE8C16A4CE for ; Thu, 2 Dec 2004 23:38:26 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9196543D4C for ; Thu, 2 Dec 2004 23:38:26 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id iB2NcQlQ014647 for ; Thu, 2 Dec 2004 23:38:26 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id iB2NcQ7p014643 for perforce@freebsd.org; Thu, 2 Dec 2004 23:38:26 GMT (envelope-from sam@freebsd.org) Date: Thu, 2 Dec 2004 23:38:26 GMT Message-Id: <200412022338.iB2NcQ7p014643@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Subject: PERFORCE change 66286 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Dec 2004 23:38:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=66286 Change 66286 by sam@sam_ebb on 2004/12/02 23:37:30 o more cleanups to be compatible with old script o define common stuff with shell variables o announce settings per old script Affected files ... .. //depot/projects/wifi/sbin/dhclient/dhclient-script#5 edit Differences ... ==== //depot/projects/wifi/sbin/dhclient/dhclient-script#5 (text+ko) ==== @@ -21,6 +21,9 @@ NETSTAT=/usr/bin/netstat GREP=/usr/bin/grep AWK=/usr/bin/awk +HOSTNAME=/bin/hostname + +LOCALHOST=127.0.0.1 if [ -x /usr/bin/logger ]; then LOGGER="/usr/bin/logger -s -p user.notice -t dhclient" @@ -35,20 +38,23 @@ check_hostname() { current_hostname=`$HOSTNAME` if [ -z "$current_hostname" ]; then - $LOGGER "New Hostname: $new_host_name" + $LOGGER "New Hostname ($interface): $new_host_name" $HOSTNAME $new_host_name elif [ "$current_hostname" = "$old_host_name" -a \ "$new_host_name" != "$old_host_name" ]; then - $LOGGER "New Hostname: $new_host_name" + $LOGGER "New Hostname ($interface): $new_host_name" $HOSTNAME $new_host_name fi } +arp_flush() { + arp -an -i $interface | \ + sed -n -e 's/^.*(\(.*\)) at .*$/arp -d \1/p' | \ + sh >/dev/null 2>&1 +} + delete_old_address() { - if [ -n "$old_ip_address" ]; then - ifconfig $interface inet -alias $old_ip_address $medium - route delete "$old_ip_address" 127.0.0.1 >/dev/null 2>&1 - fi + ifconfig $interface inet -alias $old_ip_address $medium } add_new_address() { @@ -58,14 +64,16 @@ broadcast $new_broadcast_address \ $medium - # XXX Original TIMEOUT code did not do this unless $new_routers was set? - route add $new_ip_address 127.0.0.1 >/dev/null 2>&1 + $LOGGER "New IP Address ($interface): $new_ip_address" + $LOGGER "New Subnet Mask ($interface): $new_subnet_mask" + $LOGGER "New Broadcast Address ($interface): $new_broadcast_address" + $LOGGER "New Routers ($interface): $new_routers" } delete_old_alias() { if [ -n "$alias_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 + route delete $alias_ip_address $LOCALHOST > /dev/null 2>&1 fi } @@ -73,11 +81,12 @@ if [ -n "$alias_ip_address" ]; then ifconfig $interface inet alias $alias_ip_address netmask \ $alias_subnet_mask - route add $alias_ip_address 127.0.0.1 + route add $alias_ip_address $LOCALHOST fi } delete_old_routes() { + route delete "$old_ip_address" $LOCALHOST >/dev/null 2>&1 for router in $old_routers; do if [ $if_defaultroute = x -o $if_defaultroute = $interface ]; then route delete default $route >/dev/null 2>&1 @@ -92,12 +101,11 @@ done fi - arp -an -i $interface | \ - sed -n -e 's/^.*(\(.*\)) at .*$/arp -d \1/p' | \ - sh >/dev/null 2>&1 + arp_flush } add_new_routes() { + route add $new_ip_address $LOCALHOST >/dev/null 2>&1 for router in $new_routers; do if [ "$new_ip_address" = "$router" ]; then route add default -iface $router >/dev/null 2>&1 @@ -110,6 +118,7 @@ done if [ -n "$new_static_routes" ]; then + $LOGGER "New Static Routes ($interface): $new_static_routes" set $new_static_routes while [ $# -gt 1 ]; do route add $1 $2 @@ -166,14 +175,6 @@ # Start of active code. # -if [ -n "$new_network_number" ]; then - $LOGGER "New Network Number: $new_network_number" -fi - -if [ -n "$new_broadcast_address" ]; then - $LOGGER "New Broadcast Address: $new_broadcast_address" -fi - if [ -x $NETSTAT ]; then if_defaulroute=`$NETSTAT -rn | $GREP "^default" | $AWK '{print $6}'` else @@ -237,6 +238,7 @@ add_new_address sleep 1 if [ -n "$new_routers" ]; then + $LOGGER "New Routers ($interface): $new_routers" set "$new_routers" if ping -q -c 1 -w 1 "$1"; then if [ "$new_ip_address" != "$alias_ip_address" ]; then @@ -249,8 +251,6 @@ fi fi ifconfig $interface inet -alias $new_ip_address $medium - # XXX Why not a delete_old_address as before all other invocations of - # delete_old_routes? delete_old_routes exit 1 ;;