[dhcp] dhclient-script: it's OK if the arping reply comes from our system (#1116004)
Jiří Popelka
jpopelka at fedoraproject.org
Mon Aug 11 17:04:27 UTC 2014
commit 3c1fe8380f56cb17766560722f581fa34ae82097
Author: Jiri Popelka <jpopelka at redhat.com>
Date: Tue Aug 5 16:23:26 2014 +0200
dhclient-script: it's OK if the arping reply comes from our system (#1116004)
dhclient-script | 13 ++++++++++---
dhcp.spec | 7 +++++--
2 files changed, 15 insertions(+), 5 deletions(-)
---
diff --git a/dhclient-script b/dhclient-script
index 364bd94..4d9e6fb 100644
--- a/dhclient-script
+++ b/dhclient-script
@@ -720,9 +720,16 @@ case "${reason}" in
if arping -D -q -c2 -I ${interface} ${new_ip_address}; then
dhconfig
exit_with_hooks 0
- else
- # DAD failed, i.e. address is already in use
- exit_with_hooks 1
+ else # DAD failed, i.e. address is already in use
+ ARP_REPLY=$(arping -D -c2 -I ${interface} ${new_ip_address} | grep reply | awk '{print toupper($5)}' | cut -d "[" -f2 | cut -d "]" -f1)
+ OUR_MACS=$(ip link show | grep link | awk '{print toupper($2)}' | uniq)
+ if [[ "${OUR_MACS}" = *"${ARP_REPLY}"* ]]; then
+ # the reply can come from our system, that's OK (#1116004#c33)
+ dhconfig
+ exit_with_hooks 0
+ else
+ exit_with_hooks 1
+ fi
fi
;;
diff --git a/dhcp.spec b/dhcp.spec
index 52dcc9c..6a0e888 100644
--- a/dhcp.spec
+++ b/dhcp.spec
@@ -18,7 +18,7 @@
Summary: Dynamic host configuration protocol software
Name: dhcp
Version: 4.3.1
-Release: 0.6.%{prever}%{?dist}
+Release: 0.7.%{prever}%{?dist}
# NEVER CHANGE THE EPOCH on this package. The previous maintainer (prior to
# dcantrell maintaining the package) made incorrect use of the epoch and
# that's why it is at 12 now. It should have never been used, but it was.
@@ -153,7 +153,7 @@ Summary: Provides the ISC DHCP client daemon and dhclient-script
Provides: dhclient = %{epoch}:%{version}-%{release}
Obsoletes: dhclient < 12:4.3.1-0.6.b1
# dhclient-script requires:
-Requires: coreutils grep hostname initscripts iproute iputils sed
+Requires: coreutils grep hostname initscripts iproute iputils sed gawk
Requires: %{name}-common = %{epoch}:%{version}-%{release}
Requires: %{name}-libs%{?_isa} = %{epoch}:%{version}-%{release}
@@ -650,6 +650,9 @@ done
%doc doc/html/
%changelog
+* Tue Aug 05 2014 Jiri Popelka <jpopelka at redhat.com> - 12:4.3.1-0.7.b1
+- dhclient-script: it's OK if the arping reply comes from our system (#1116004)
+
* Tue Aug 05 2014 Jiri Popelka <jpopelka at redhat.com> - 12:4.3.1-0.6.b1
- subpackage dhclient -> dhcp-client
More information about the scm-commits
mailing list