mirror of
https://gitlab.isc.org/isc-projects/dhcp
synced 2025-08-22 09:57:20 +00:00
-n [master]
fixes in openwrt script from the lwds-lite lab as well as some cosmetic changes and updating other scripts to use two double quotes instead of two single quotes for empty zone ids. [rt29843]
This commit is contained in:
parent
3cb6f9bb3d
commit
f6dc164f6b
3
RELNOTES
3
RELNOTES
@ -111,6 +111,9 @@ work on other platforms. Please report any problems and suggested fixes to
|
|||||||
the release tarballs. To generate this documentation, please use
|
the release tarballs. To generate this documentation, please use
|
||||||
make devel command in doc directory. [ISC-Bugs #32767]
|
make devel command in doc directory. [ISC-Bugs #32767]
|
||||||
|
|
||||||
|
- Update client script for use with openwrt.
|
||||||
|
[ISC-Bugs #29843]
|
||||||
|
|
||||||
Changes since 4.2.4
|
Changes since 4.2.4
|
||||||
|
|
||||||
- Correct code to calculate timing values in client to compare
|
- Correct code to calculate timing values in client to compare
|
||||||
|
@ -29,7 +29,7 @@ make_resolv_conf() {
|
|||||||
case $nameserver in
|
case $nameserver in
|
||||||
fe80:*) zone_id="%$interface";;
|
fe80:*) zone_id="%$interface";;
|
||||||
FE80:*) zone_id="%$interface";;
|
FE80:*) zone_id="%$interface";;
|
||||||
*) zone_id='';;
|
*) zone_id="";;
|
||||||
esac
|
esac
|
||||||
echo nameserver ${nameserver}$zone_id >> /etc/resolv.conf.dhclient6
|
echo nameserver ${nameserver}$zone_id >> /etc/resolv.conf.dhclient6
|
||||||
done
|
done
|
||||||
|
@ -64,7 +64,7 @@ make_resolv_conf() {
|
|||||||
case $nameserver in
|
case $nameserver in
|
||||||
fe80:*) zone_id="%$interface";;
|
fe80:*) zone_id="%$interface";;
|
||||||
FE80:*) zone_id="%$interface";;
|
FE80:*) zone_id="%$interface";;
|
||||||
*) zone_id='';;
|
*) zone_id="";;
|
||||||
esac
|
esac
|
||||||
( echo nameserver ${nameserver}$zone_id >> /etc/resolv.conf.dhclient6 )
|
( echo nameserver ${nameserver}$zone_id >> /etc/resolv.conf.dhclient6 )
|
||||||
exit_status=$?
|
exit_status=$?
|
||||||
|
@ -34,7 +34,7 @@ make_resolv_conf() {
|
|||||||
case $nameserver in
|
case $nameserver in
|
||||||
fe80:*) zone_id="%$interface";;
|
fe80:*) zone_id="%$interface";;
|
||||||
FE80:*) zone_id="%$interface";;
|
FE80:*) zone_id="%$interface";;
|
||||||
*) zone_id='';;
|
*) zone_id="";;
|
||||||
esac
|
esac
|
||||||
( echo nameserver ${nameserver}$zone_id >> /etc/resolv.conf.dhclient6 )
|
( echo nameserver ${nameserver}$zone_id >> /etc/resolv.conf.dhclient6 )
|
||||||
exit_status=$?
|
exit_status=$?
|
||||||
|
@ -29,7 +29,7 @@ make_resolv_conf() {
|
|||||||
case $nameserver in
|
case $nameserver in
|
||||||
fe80:*) zone_id="%$interface";;
|
fe80:*) zone_id="%$interface";;
|
||||||
FE80:*) zone_id="%$interface";;
|
FE80:*) zone_id="%$interface";;
|
||||||
*) zone_id='';;
|
*) zone_id="";;
|
||||||
esac
|
esac
|
||||||
echo nameserver ${nameserver}$zone_id >> /etc/resolv.conf.dhclient6
|
echo nameserver ${nameserver}$zone_id >> /etc/resolv.conf.dhclient6
|
||||||
done
|
done
|
||||||
|
@ -29,7 +29,7 @@ make_resolv_conf() {
|
|||||||
case $nameserver in
|
case $nameserver in
|
||||||
fe80:*) zone_id="%$interface";;
|
fe80:*) zone_id="%$interface";;
|
||||||
FE80:*) zone_id="%$interface";;
|
FE80:*) zone_id="%$interface";;
|
||||||
*) zone_id='';;
|
*) zone_id="";;
|
||||||
esac
|
esac
|
||||||
echo nameserver ${nameserver}$zone_id >> /etc/resolv.conf.dhclient6
|
echo nameserver ${nameserver}$zone_id >> /etc/resolv.conf.dhclient6
|
||||||
done
|
done
|
||||||
|
@ -1,5 +1,8 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
|
# 'ip' just looks too weird. /sbin/ip looks less weird.
|
||||||
|
ip=/usr/sbin/ip
|
||||||
|
|
||||||
make_resolv_conf() {
|
make_resolv_conf() {
|
||||||
if [ x"$new_domain_name_servers" != x ]; then
|
if [ x"$new_domain_name_servers" != x ]; then
|
||||||
cat /dev/null > /etc/resolv.conf.dhclient
|
cat /dev/null > /etc/resolv.conf.dhclient
|
||||||
@ -30,7 +33,7 @@ make_resolv_conf() {
|
|||||||
case $nameserver in
|
case $nameserver in
|
||||||
fe80:*) zone_id="%$interface";;
|
fe80:*) zone_id="%$interface";;
|
||||||
FE80:*) zone_id="%$interface";;
|
FE80:*) zone_id="%$interface";;
|
||||||
*) zone_id='';;
|
*) zone_id="";;
|
||||||
esac
|
esac
|
||||||
echo nameserver ${nameserver}$zone_id >> /etc/resolv.conf.dhclient6
|
echo nameserver ${nameserver}$zone_id >> /etc/resolv.conf.dhclient6
|
||||||
done
|
done
|
||||||
@ -73,9 +76,9 @@ fi
|
|||||||
if [ x$alias_subnet_mask != x ]; then
|
if [ x$alias_subnet_mask != x ]; then
|
||||||
alias_subnet_arg="netmask $alias_subnet_mask"
|
alias_subnet_arg="netmask $alias_subnet_mask"
|
||||||
fi
|
fi
|
||||||
if [ x$new_interface_mtu != x ]; then
|
if [ x$new_interface_mtu != x ]; then
|
||||||
mtu_arg="mtu $new_interface_mtu"
|
mtu_arg="mtu $new_interface_mtu"
|
||||||
fi
|
fi
|
||||||
if [ x$IF_METRIC != x ]; then
|
if [ x$IF_METRIC != x ]; then
|
||||||
metric_arg="metric $IF_METRIC"
|
metric_arg="metric $IF_METRIC"
|
||||||
fi
|
fi
|
||||||
@ -118,7 +121,8 @@ if [ x$reason = xBOUND ] || [ x$reason = xRENEW ] || \
|
|||||||
# Possible new alias. Remove old alias.
|
# Possible new alias. Remove old alias.
|
||||||
ifconfig $interface:0- 0.0.0.0
|
ifconfig $interface:0- 0.0.0.0
|
||||||
fi
|
fi
|
||||||
if [ x$old_ip_address != x ] && [ x$old_ip_address != x$new_ip_address ]; then
|
if [ x$old_ip_address != x ] && \
|
||||||
|
[ x$old_ip_address != x$new_ip_address ]; then
|
||||||
# IP address changed. Bringing down the interface will delete all routes,
|
# IP address changed. Bringing down the interface will delete all routes,
|
||||||
# and clear the ARP cache.
|
# and clear the ARP cache.
|
||||||
ifconfig $interface 0.0.0.0 down
|
ifconfig $interface 0.0.0.0 down
|
||||||
@ -128,12 +132,12 @@ if [ x$reason = xBOUND ] || [ x$reason = xRENEW ] || \
|
|||||||
[ x$reason = xBOUND ] || [ x$reason = xREBOOT ]; then
|
[ x$reason = xBOUND ] || [ x$reason = xREBOOT ]; then
|
||||||
|
|
||||||
ifconfig $interface $new_ip_address $new_subnet_arg \
|
ifconfig $interface $new_ip_address $new_subnet_arg \
|
||||||
$new_broadcast_arg $mtu_arg $metric_arg
|
$new_broadcast_arg $mtu_arg
|
||||||
for router in $new_routers; do
|
for router in $new_routers; do
|
||||||
if [ "x$new_subnet_mask" = "x255.255.255.255" ] ; then
|
if [ "x$new_subnet_mask" = "x255.255.255.255" ] ; then
|
||||||
route add -host $router dev $interface
|
route add -host $router dev $interface
|
||||||
fi
|
fi
|
||||||
route add default gw $router
|
route add default gw $router $metric_arg dev $interface
|
||||||
done
|
done
|
||||||
else
|
else
|
||||||
# we haven't changed the address, have we changed other options
|
# we haven't changed the address, have we changed other options
|
||||||
@ -142,13 +146,13 @@ if [ x$reason = xBOUND ] || [ x$reason = xRENEW ] || \
|
|||||||
# if we've changed routers delete the old and add the new.
|
# if we've changed routers delete the old and add the new.
|
||||||
$LOGGER "New Routers: $new_routers"
|
$LOGGER "New Routers: $new_routers"
|
||||||
for router in $old_routers; do
|
for router in $old_routers; do
|
||||||
route delete default $router
|
route del default gw $router
|
||||||
done
|
done
|
||||||
for router in $new_routers; do
|
for router in $new_routers; do
|
||||||
if [ "x$new_subnet_mask" = "x255.255.255.255" ] ; then
|
if [ "x$new_subnet_mask" = "x255.255.255.255" ] ; then
|
||||||
route add -host $router dev $interface
|
route add -host $router dev $interface
|
||||||
fi
|
fi
|
||||||
route add default gw $router
|
route add default gw $router $metric_arg dev $interface
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
@ -184,7 +188,7 @@ if [ x$reason = xTIMEOUT ]; then
|
|||||||
ifconfig $interface:0- 0.0.0.0
|
ifconfig $interface:0- 0.0.0.0
|
||||||
fi
|
fi
|
||||||
ifconfig $interface $new_ip_address $new_subnet_arg \
|
ifconfig $interface $new_ip_address $new_subnet_arg \
|
||||||
$new_broadcast_arg $mtu_arg $metric_arg
|
$new_broadcast_arg $mtu_arg
|
||||||
set $new_routers
|
set $new_routers
|
||||||
if ping -q -c 1 $1; then
|
if ping -q -c 1 $1; then
|
||||||
if [ x$new_ip_address != x$alias_ip_address ] && \
|
if [ x$new_ip_address != x$alias_ip_address ] && \
|
||||||
@ -196,7 +200,7 @@ if [ x$reason = xTIMEOUT ]; then
|
|||||||
if [ "x$new_subnet_mask" = "x255.255.255.255" ] ; then
|
if [ "x$new_subnet_mask" = "x255.255.255.255" ] ; then
|
||||||
route add -host $router dev $interface
|
route add -host $router dev $interface
|
||||||
fi
|
fi
|
||||||
route add default gw $router
|
route add default gw $router $metric_arg dev $interface
|
||||||
done
|
done
|
||||||
make_resolv_conf
|
make_resolv_conf
|
||||||
exit_with_hooks 0
|
exit_with_hooks 0
|
||||||
@ -211,10 +215,10 @@ fi
|
|||||||
|
|
||||||
if [ x$reason = xPREINIT6 ]; then
|
if [ x$reason = xPREINIT6 ]; then
|
||||||
# Ensure interface is up.
|
# Ensure interface is up.
|
||||||
ifconfig ${interface} up
|
${ip} link set ${interface} up
|
||||||
|
|
||||||
# Remove any stale addresses from aborted clients.
|
# Remove any stale addresses from aborted clients.
|
||||||
ip -f inet6 addr flush dev ${interface} scope global
|
${ip} -f inet6 addr flush dev ${interface} scope global permanent
|
||||||
|
|
||||||
exit_with_hooks 0
|
exit_with_hooks 0
|
||||||
fi
|
fi
|
||||||
@ -230,7 +234,8 @@ if [ x$reason = xBOUND6 ]; then
|
|||||||
exit_with_hooks 2;
|
exit_with_hooks 2;
|
||||||
fi
|
fi
|
||||||
|
|
||||||
ifconfig ${interface} inet6 ${new_ip6_address}/${new_ip6_prefixlen} alias
|
${ip} -f inet6 addr add ${new_ip6_address}/${new_ip6_prefixlen} \
|
||||||
|
dev ${interface} scope global
|
||||||
|
|
||||||
# Check for nameserver options.
|
# Check for nameserver options.
|
||||||
make_resolv_conf
|
make_resolv_conf
|
||||||
@ -243,7 +248,8 @@ if [ x$reason = xRENEW6 ] || [ x$reason = xREBIND6 ]; then
|
|||||||
exit_with_hooks 2;
|
exit_with_hooks 2;
|
||||||
fi
|
fi
|
||||||
|
|
||||||
ifconfig ${interface} inet6 ${new_ip6_address}/${new_ip6_prefixlen} alias
|
${ip} -f inet6 addr add ${new_ip6_address}/${new_ip6_prefixlen} \
|
||||||
|
dev ${interface} scope global
|
||||||
|
|
||||||
# Make sure nothing has moved around on us.
|
# Make sure nothing has moved around on us.
|
||||||
|
|
||||||
@ -257,11 +263,12 @@ if [ x$reason = xRENEW6 ] || [ x$reason = xREBIND6 ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
if [ x$reason = xDEPREF6 ]; then
|
if [ x$reason = xDEPREF6 ]; then
|
||||||
if [ x${new_ip6_address} = x ] ; then
|
if [ x${new_ip6_prefixlen} = x ] ; then
|
||||||
exit_with_hooks 2;
|
exit_with_hooks 2;
|
||||||
fi
|
fi
|
||||||
|
|
||||||
ifconfig ${interface} inet6 ${new_ip6_address} deprecated
|
${ip} -f inet6 addr change ${new_ip6_address}/${new_ip6_prefixlen} \
|
||||||
|
dev ${interface} scope global preferred_lft 0
|
||||||
|
|
||||||
exit_with_hooks 0
|
exit_with_hooks 0
|
||||||
fi
|
fi
|
||||||
@ -271,7 +278,8 @@ if [ x$reason = xEXPIRE6 -o x$reason = xRELEASE6 -o x$reason = xSTOP6 ]; then
|
|||||||
exit_with_hooks 2;
|
exit_with_hooks 2;
|
||||||
fi
|
fi
|
||||||
|
|
||||||
ifconfig ${interface} inet6 ${old_ip6_address}/${old_ip6_prefixlen} -alias
|
${ip} -f inet6 addr del ${old_ip6_address}/${old_ip6_prefixlen} \
|
||||||
|
dev ${interface}
|
||||||
|
|
||||||
exit_with_hooks 0
|
exit_with_hooks 0
|
||||||
fi
|
fi
|
||||||
|
Loading…
x
Reference in New Issue
Block a user