turn on using of DUID with DHCPv4 clients (#560361,c#40)
remove default /etc/dhcp/dhclient.conf
This commit is contained in:
parent
3e1d3e1b16
commit
30308a134f
78
dhcp-duidv4.patch
Normal file
78
dhcp-duidv4.patch
Normal file
@ -0,0 +1,78 @@
|
|||||||
|
diff -up dhcp-4.3.0/client/dhclient.8.duidv4 dhcp-4.3.0/client/dhclient.8
|
||||||
|
--- dhcp-4.3.0/client/dhclient.8.duidv4 2014-02-17 16:57:43.000000000 +0100
|
||||||
|
+++ dhcp-4.3.0/client/dhclient.8 2014-02-17 17:15:25.366604705 +0100
|
||||||
|
@@ -454,6 +454,9 @@ used to construct a RFC4361 style client
|
||||||
|
in the client's messages. This client id can be overridden by
|
||||||
|
setting a client id in the configuration file. Overridding the
|
||||||
|
client id in this fashion is discouraged.
|
||||||
|
+This option is turned on by default, if you want to redefine or turn off
|
||||||
|
+sending of client id, use send dhcp-client-identifier = "better identifier"
|
||||||
|
+or send dhcp-client-identifier = "" in /etc/dhcp/dhclient.conf.
|
||||||
|
.TP
|
||||||
|
.BI \-I
|
||||||
|
Use the standard DDNS scheme from RFCs 4701 & 4702.
|
||||||
|
diff -up dhcp-4.3.0/client/dhclient.c.duidv4 dhcp-4.3.0/client/dhclient.c
|
||||||
|
--- dhcp-4.3.0/client/dhclient.c.duidv4 2014-02-17 16:57:43.000000000 +0100
|
||||||
|
+++ dhcp-4.3.0/client/dhclient.c 2014-02-17 17:07:24.503358565 +0100
|
||||||
|
@@ -72,7 +72,7 @@ struct sockaddr_in sockaddr_broadcast;
|
||||||
|
struct in_addr giaddr;
|
||||||
|
struct data_string default_duid;
|
||||||
|
int duid_type = 0;
|
||||||
|
-int duid_v4 = 0;
|
||||||
|
+int duid_v4 = 1;
|
||||||
|
int std_dhcid = 0;
|
||||||
|
|
||||||
|
/* ASSERT_STATE() does nothing now; it used to be
|
||||||
|
@@ -1270,7 +1270,7 @@ static void setup_ib_interface(struct in
|
||||||
|
}
|
||||||
|
|
||||||
|
/* No client ID specified */
|
||||||
|
- log_fatal("dhcp-client-identifier must be specified for InfiniBand");
|
||||||
|
+ //log_fatal("dhcp-client-identifier must be specified for InfiniBand");
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Individual States:
|
||||||
|
@@ -3314,6 +3314,7 @@ form_duid(struct data_string *duid, cons
|
||||||
|
{
|
||||||
|
struct interface_info *ip;
|
||||||
|
int len;
|
||||||
|
+ unsigned hlen;
|
||||||
|
|
||||||
|
/* For now, just use the first interface on the list. */
|
||||||
|
ip = interfaces;
|
||||||
|
@@ -3337,6 +3338,11 @@ form_duid(struct data_string *duid, cons
|
||||||
|
if (duid_type == 0)
|
||||||
|
duid_type = stateless ? DUID_LL : DUID_LLT;
|
||||||
|
|
||||||
|
+ if (ip->hw_address.hbuf[0] == HTYPE_INFINIBAND)
|
||||||
|
+ hlen = 9;
|
||||||
|
+ else
|
||||||
|
+ hlen = ip->hw_address.hlen;
|
||||||
|
+
|
||||||
|
/*
|
||||||
|
* 2 bytes for the 'duid type' field.
|
||||||
|
* 2 bytes for the 'htype' field.
|
||||||
|
@@ -3344,7 +3350,7 @@ form_duid(struct data_string *duid, cons
|
||||||
|
* enough bytes for the hardware address (note that hw_address has
|
||||||
|
* the 'htype' on byte zero).
|
||||||
|
*/
|
||||||
|
- len = 4 + (ip->hw_address.hlen - 1);
|
||||||
|
+ len = 4 + (hlen - 1);
|
||||||
|
if (duid_type == DUID_LLT)
|
||||||
|
len += 4;
|
||||||
|
if (!buffer_allocate(&duid->buffer, len, MDL))
|
||||||
|
@@ -3358,12 +3364,12 @@ form_duid(struct data_string *duid, cons
|
||||||
|
putUShort(duid->buffer->data + 2, ip->hw_address.hbuf[0]);
|
||||||
|
putULong(duid->buffer->data + 4, cur_time - DUID_TIME_EPOCH);
|
||||||
|
memcpy(duid->buffer->data + 8, ip->hw_address.hbuf + 1,
|
||||||
|
- ip->hw_address.hlen - 1);
|
||||||
|
+ hlen - 1);
|
||||||
|
} else {
|
||||||
|
putUShort(duid->buffer->data, DUID_LL);
|
||||||
|
putUShort(duid->buffer->data + 2, ip->hw_address.hbuf[0]);
|
||||||
|
memcpy(duid->buffer->data + 4, ip->hw_address.hbuf + 1,
|
||||||
|
- ip->hw_address.hlen - 1);
|
||||||
|
+ hlen - 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
return ISC_R_SUCCESS;
|
29
dhcp.spec
29
dhcp.spec
@ -18,7 +18,7 @@
|
|||||||
Summary: Dynamic host configuration protocol software
|
Summary: Dynamic host configuration protocol software
|
||||||
Name: dhcp
|
Name: dhcp
|
||||||
Version: 4.3.0
|
Version: 4.3.0
|
||||||
Release: 1%{?dist}
|
Release: 2%{?dist}
|
||||||
# NEVER CHANGE THE EPOCH on this package. The previous maintainer (prior to
|
# NEVER CHANGE THE EPOCH on this package. The previous maintainer (prior to
|
||||||
# dcantrell maintaining the package) made incorrect use of the epoch and
|
# 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.
|
# that's why it is at 12 now. It should have never been used, but it was.
|
||||||
@ -77,6 +77,7 @@ Patch37: dhcp-range6.patch
|
|||||||
Patch38: dhcp-next-server.patch
|
Patch38: dhcp-next-server.patch
|
||||||
Patch39: dhcp-no-subnet-error2info.patch
|
Patch39: dhcp-no-subnet-error2info.patch
|
||||||
Patch40: dhcp-ffff-checksum.patch
|
Patch40: dhcp-ffff-checksum.patch
|
||||||
|
Patch41: dhcp-duidv4.patch
|
||||||
|
|
||||||
|
|
||||||
BuildRequires: autoconf
|
BuildRequires: autoconf
|
||||||
@ -287,7 +288,7 @@ rm -rf includes/isc-dhcp
|
|||||||
# (Submitted to dhcp-bugs@isc.org - [ISC-Bugs #24249])
|
# (Submitted to dhcp-bugs@isc.org - [ISC-Bugs #24249])
|
||||||
%patch25 -p1 -b .lpf-ib
|
%patch25 -p1 -b .lpf-ib
|
||||||
%patch26 -p1 -b .improved-xid
|
%patch26 -p1 -b .improved-xid
|
||||||
%patch27 -p1 -b .gpxe-cid
|
#%%patch27 -p1 -b .gpxe-cid
|
||||||
|
|
||||||
# http://sourceware.org/systemtap/wiki/SystemTap
|
# http://sourceware.org/systemtap/wiki/SystemTap
|
||||||
%patch28 -p1 -b .systemtap
|
%patch28 -p1 -b .systemtap
|
||||||
@ -340,6 +341,9 @@ rm -rf includes/isc-dhcp
|
|||||||
# (Submitted to dhcp-bugs@isc.org - [ISC-Bugs #25587])
|
# (Submitted to dhcp-bugs@isc.org - [ISC-Bugs #25587])
|
||||||
%patch40 -p1 -b .ffff
|
%patch40 -p1 -b .ffff
|
||||||
|
|
||||||
|
# Turn on using of DUID with DHCPv4 clients (#560361,c#40)
|
||||||
|
%patch41 -p1 -b .duidv4
|
||||||
|
|
||||||
# Update paths in all man pages
|
# Update paths in all man pages
|
||||||
for page in client/dhclient.conf.5 client/dhclient.leases.5 \
|
for page in client/dhclient.conf.5 client/dhclient.leases.5 \
|
||||||
client/dhclient-script.8 client/dhclient.8 ; do
|
client/dhclient-script.8 client/dhclient.8 ; do
|
||||||
@ -476,22 +480,6 @@ EOF
|
|||||||
#
|
#
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
# Install default dhclient.conf:
|
|
||||||
%{__mkdir} -p %{buildroot}%{dhcpconfdir}
|
|
||||||
%{__cat} << EOF > %{buildroot}%{dhcpconfdir}/dhclient.conf
|
|
||||||
#
|
|
||||||
# DHCP Client Configuration file.
|
|
||||||
# see /usr/share/doc/dhclient/dhclient.conf.example
|
|
||||||
# see dhclient.conf(5) man page
|
|
||||||
#
|
|
||||||
# Send client identifier as "hardware-type.link-layer address" (e.g. "1.c2.23.7d.c3.52.2c")
|
|
||||||
# Required in environments where a bridge might be clobbering the forwarded
|
|
||||||
# packet's MAC address (common in Wifi, Docsis, or ADSL bridging scenarios)
|
|
||||||
# see dhcp-options(5) man page for 'dhcp-client-identifier'
|
|
||||||
# see dhcp-eval(5) man page for 'hardware'
|
|
||||||
send dhcp-client-identifier = hardware;
|
|
||||||
EOF
|
|
||||||
|
|
||||||
# Install dhcp.schema for LDAP configuration
|
# Install dhcp.schema for LDAP configuration
|
||||||
%{__mkdir} -p %{buildroot}%{_sysconfdir}/openldap/schema
|
%{__mkdir} -p %{buildroot}%{_sysconfdir}/openldap/schema
|
||||||
%{__install} -p -m 0644 -D contrib/ldap/dhcp.schema \
|
%{__install} -p -m 0644 -D contrib/ldap/dhcp.schema \
|
||||||
@ -592,7 +580,6 @@ done
|
|||||||
%files -n dhclient
|
%files -n dhclient
|
||||||
%doc client/dhclient.conf.example client/dhclient6.conf.example README.dhclient.d
|
%doc client/dhclient.conf.example client/dhclient6.conf.example README.dhclient.d
|
||||||
%attr(0750,root,root) %dir %{dhcpconfdir}
|
%attr(0750,root,root) %dir %{dhcpconfdir}
|
||||||
%config(noreplace) %{dhcpconfdir}/dhclient.conf
|
|
||||||
%dir %{dhcpconfdir}/dhclient.d
|
%dir %{dhcpconfdir}/dhclient.d
|
||||||
%dir %{_localstatedir}/lib/dhclient
|
%dir %{_localstatedir}/lib/dhclient
|
||||||
%dir %{_sysconfdir}/NetworkManager
|
%dir %{_sysconfdir}/NetworkManager
|
||||||
@ -626,6 +613,10 @@ done
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Feb 17 2014 Jiri Popelka <jpopelka@redhat.com> - 12:4.3.0-2
|
||||||
|
- turn on using of DUID with DHCPv4 clients (#560361,c#40)
|
||||||
|
- remove default /etc/dhcp/dhclient.conf
|
||||||
|
|
||||||
* Tue Feb 04 2014 Jiri Popelka <jpopelka@redhat.com> - 12:4.3.0-1
|
* Tue Feb 04 2014 Jiri Popelka <jpopelka@redhat.com> - 12:4.3.0-1
|
||||||
- 4.3.0
|
- 4.3.0
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user