[pkg-dhcp-devel] Bug#521024: isc-dhcp-client: patch fixing the issue
Peter Marschall
peter at adpm.de
Fri Aug 26 16:11:20 UTC 2011
Package: isc-dhcp-client
Version: 4.1.1-P1-17
Followup-For: Bug #521024
The attached patch should fix the issue.
-- System Information:
Debian Release: wheezy/sid
APT prefers testing
APT policy: (990, 'testing'), (500, 'unstable'), (500, 'stable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Kernel: Linux 3.0.0-1-amd64 (SMP w/4 CPU cores)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages isc-dhcp-client depends on:
ii debianutils 4.0.2 Miscellaneous utilities specific t
ii iproute 20110629-1 networking and traffic control too
ii isc-dhcp-common 4.1.1-P1-17 common files used by all the isc-d
ii libc6 2.13-16 Embedded GNU C Library: Shared lib
isc-dhcp-client recommends no packages.
Versions of packages isc-dhcp-client suggests:
pn avahi-autoipd <none> (no description available)
pn resolvconf <none> (no description available)
-- Configuration Files:
/etc/dhcp/dhclient.conf changed [not included]
-- no debconf information
-- debsums errors found:
debsums: changed file /sbin/dhclient-script (from isc-dhcp-client package)
-------------- next part --------------
>From 475102d0cdf0972e4a5c4b7825312371a0c3c626 Mon Sep 17 00:00:00 2001
From: Peter Marschall <peter at adpm.de>
Date: Fri, 24 Jun 2011 09:29:29 +0200
Subject: [PATCH] rfc3442-classless-routes.*: take care of link-local routes
According to RFC 3442, the router address 0.0.0.0 in the DHCP
parameter for the classless routes indicates a link-local route.
Do not add a gateway for this type of routes.
---
debian/rfc3442-classless-routes.kfreebsd | 11 +++++++++--
debian/rfc3442-classless-routes.linux | 8 +++++++-
2 files changed, 16 insertions(+), 3 deletions(-)
diff --git a/debian/rfc3442-classless-routes.kfreebsd b/debian/rfc3442-classless-routes.kfreebsd
index 6e14946..985f8af 100644
--- a/debian/rfc3442-classless-routes.kfreebsd
+++ b/debian/rfc3442-classless-routes.kfreebsd
@@ -16,6 +16,7 @@ if [ "$RUN" = "yes" ]; then
while [ $# -gt 0 ]; do
net_length=$1
+ via_arg="-interface ${interface}"
case $net_length in
32|31|30|29|28|27|26|25)
@@ -48,10 +49,16 @@ if [ "$RUN" = "yes" ]; then
;;
esac
+ # take care of link-local routes
+ if [ "${gateway}" != '0.0.0.0' ]; then
+ via_arg="gw ${gateway}"
+ fi
+
+ # set route (distinguish between host & net routes)
if [ "$net_length" -eq 32 ]; then
- /sbin/route add -host "${net_address}" gw "${gateway}"
+ /sbin/route add -host "${net_address}" "${via_arg}"
else
- /sbin/route add -net "${net_address}/${net_length}" gw "${gateway}"
+ /sbin/route add -net "${net_address}/${net_length}" "${via_arg}"
fi
done
fi
diff --git a/debian/rfc3442-classless-routes.linux b/debian/rfc3442-classless-routes.linux
index 18ce0c3..462fb46 100644
--- a/debian/rfc3442-classless-routes.linux
+++ b/debian/rfc3442-classless-routes.linux
@@ -16,6 +16,7 @@ if [ "$RUN" = "yes" ]; then
while [ $# -gt 0 ]; do
net_length=$1
+ via_arg=''
case $net_length in
32|31|30|29|28|27|26|25)
@@ -48,9 +49,14 @@ if [ "$RUN" = "yes" ]; then
;;
esac
+ # take care of link-local routes
+ if [ "${gateway}" != '0.0.0.0' ]; then
+ via_arg="via ${gateway}"
+ fi
+
# set route (ip detects host routes automatically)
ip -4 route add "${net_address}/${net_length}" \
- via "${gateway}" dev "${interface}" >/dev/null 2>&1
+ ${via_arg} dev "${interface}" >/dev/null 2>&1
done
fi
fi
--
1.7.5.4
More information about the pkg-dhcp-devel
mailing list