- Fixed a compilation problems on platforms that define a value for FDDI,
which conflicts with a dhcp configuration syntax token by the same name.
+- The dhclient-script was updated to create a host route for the default
+ gateway if the supplied subnet mask for an IPv4 address was a /32. This
+ allows the client to work in 'captive' network environments, where the
+ operator does not want clients to crosstalk directly.
+
Changes since 4.0.0b3
- The reverse dns name for PTR updates on IPv6 addresses has been fixed to
#!/bin/sh
#
-# $Id: freebsd,v 1.20 2007/11/30 21:28:29 fdupont Exp $
+# $Id: freebsd,v 1.21 2008/01/16 23:02:10 dhankins Exp $
#
# $FreeBSD$
fi
route add $new_ip_address 127.1 >/dev/null 2>&1
for router in $new_routers; do
+ # If the subnet is captive, eg the netmask is /32 but the default
+ # gateway is (obviously) outside of this, then we need to produce a
+ # host route to reach the gateway.
+ if [ "x$new_subnet_mask" = "x255.255.255.255" ] ; then
+ route add -host $router -interface $interface
+ fi
route add default $router >/dev/null 2>&1
done
if [ -n "$new_static_routes" ]; then
fi
route add $new_ip_address 127.1 >/dev/null 2>&1
for router in $new_routers; do
+ if [ "x$new_subnet_mask" = "x255.255.255.255" ] ; then
+ route add -host $router -interface $interface
+ fi
route add default $router >/dev/null 2>&1
done
set -- $new_static_routes
route add -net $new_network_number $new_subnet_arg dev $interface
fi
for router in $new_routers; do
+ if [ "x$new_subnet_mask" = "x255.255.255.255" ] ; then
+ route add -host $router dev $interface
+ fi
route add default gw $router
done
fi
route add -net $new_network_number
fi
for router in $new_routers; do
+ if [ "x$new_subnet_mask" = "x255.255.255.255" ] ; then
+ route add -host $router dev $interface
+ fi
route add default gw $router
done
make_resolv_conf