[dhcp] Removed upstream-merged IFNAMSIZ.patch
Jiří Popelka
jpopelka at fedoraproject.org
Fri Jul 1 14:07:30 UTC 2011
commit 030991fd0d068a6a92f713442d22e1ed8b8df4b7
Author: Jiri Popelka <jpopelka at redhat.com>
Date: Fri Jun 17 14:38:34 2011 +0200
Removed upstream-merged IFNAMSIZ.patch
Polished patches according to results from static analysis of code.
dhcp-4.2.0-IFNAMSIZ.patch | 12 ----
...ndDecline.patch => dhcp-4.2.1-sendDecline.patch | 24 ++++----
...checksum.patch => dhcp-4.2.1-xen-checksum.patch | 59 ++++++++++----------
dhcp.spec | 27 ++++-----
4 files changed, 54 insertions(+), 68 deletions(-)
---
diff --git a/dhcp-4.2.0-sendDecline.patch b/dhcp-4.2.1-sendDecline.patch
similarity index 89%
rename from dhcp-4.2.0-sendDecline.patch
rename to dhcp-4.2.1-sendDecline.patch
index 5f04b6b..b2fa4af 100644
--- a/dhcp-4.2.0-sendDecline.patch
+++ b/dhcp-4.2.1-sendDecline.patch
@@ -1,6 +1,6 @@
-diff -up dhcp-4.2.0/client/dhc6.c.sendDecline dhcp-4.2.0/client/dhc6.c
---- dhcp-4.2.0/client/dhc6.c.sendDecline 2009-11-20 02:48:58.000000000 +0100
-+++ dhcp-4.2.0/client/dhc6.c 2010-07-21 16:18:51.000000000 +0200
+diff -up dhcp-4.2.1-P1/client/dhc6.c.sendDecline dhcp-4.2.1-P1/client/dhc6.c
+--- dhcp-4.2.1-P1/client/dhc6.c.sendDecline 2010-09-10 22:27:11.000000000 +0200
++++ dhcp-4.2.1-P1/client/dhc6.c 2011-06-17 14:19:48.992099868 +0200
@@ -95,6 +95,8 @@ void do_select6(void *input);
void do_refresh6(void *input);
static void do_release6(void *input);
@@ -10,7 +10,7 @@ diff -up dhcp-4.2.0/client/dhc6.c.sendDecline dhcp-4.2.0/client/dhc6.c
static void start_informed(struct client_state *client);
void informed_handler(struct packet *packet, struct client_state *client);
void bound_handler(struct packet *packet, struct client_state *client);
-@@ -2140,6 +2142,7 @@ start_release6(struct client_state *clie
+@@ -2075,6 +2077,7 @@ start_release6(struct client_state *clie
cancel_timeout(do_select6, client);
cancel_timeout(do_refresh6, client);
cancel_timeout(do_release6, client);
@@ -18,7 +18,7 @@ diff -up dhcp-4.2.0/client/dhc6.c.sendDecline dhcp-4.2.0/client/dhc6.c
client->state = S_STOPPED;
/*
-@@ -2790,6 +2793,7 @@ dhc6_check_reply(struct client_state *cl
+@@ -2708,6 +2711,7 @@ dhc6_check_reply(struct client_state *cl
break;
case S_STOPPED:
@@ -26,7 +26,7 @@ diff -up dhcp-4.2.0/client/dhc6.c.sendDecline dhcp-4.2.0/client/dhc6.c
action = dhc6_stop_action;
break;
-@@ -2891,6 +2895,7 @@ dhc6_check_reply(struct client_state *cl
+@@ -2809,6 +2813,7 @@ dhc6_check_reply(struct client_state *cl
break;
case S_STOPPED:
@@ -34,7 +34,7 @@ diff -up dhcp-4.2.0/client/dhc6.c.sendDecline dhcp-4.2.0/client/dhc6.c
/* Nothing critical to do at this stage. */
break;
-@@ -3933,17 +3938,23 @@ reply_handler(struct packet *packet, str
+@@ -3799,17 +3804,23 @@ reply_handler(struct packet *packet, str
cancel_timeout(do_select6, client);
cancel_timeout(do_refresh6, client);
cancel_timeout(do_release6, client);
@@ -66,7 +66,7 @@ diff -up dhcp-4.2.0/client/dhc6.c.sendDecline dhcp-4.2.0/client/dhc6.c
return;
}
-@@ -4470,7 +4481,11 @@ start_bound(struct client_state *client)
+@@ -4336,7 +4347,11 @@ start_bound(struct client_state *client)
oldia, oldaddr);
dhc6_marshall_values("new_", client, lease, ia, addr);
@@ -79,7 +79,7 @@ diff -up dhcp-4.2.0/client/dhc6.c.sendDecline dhcp-4.2.0/client/dhc6.c
}
/* XXX: maybe we should loop on the old values instead? */
-@@ -4516,6 +4531,151 @@ start_bound(struct client_state *client)
+@@ -4382,6 +4397,149 @@ start_bound(struct client_state *client)
dhc6_check_times(client);
}
@@ -220,10 +220,8 @@ diff -up dhcp-4.2.0/client/dhc6.c.sendDecline dhcp-4.2.0/client/dhc6.c
+ return;
+
+decline_done:
-+ if (client->active_lease != NULL) {
-+ dhc6_lease_destroy(&client->active_lease, MDL);
-+ client->active_lease = NULL;
-+ }
++ dhc6_lease_destroy(&client->active_lease, MDL);
++ client->active_lease = NULL;
+ start_init6(client);
+ return;
+}
diff --git a/dhcp-4.2.0-xen-checksum.patch b/dhcp-4.2.1-xen-checksum.patch
similarity index 77%
rename from dhcp-4.2.0-xen-checksum.patch
rename to dhcp-4.2.1-xen-checksum.patch
index 2e2dc8d..65ffca9 100644
--- a/dhcp-4.2.0-xen-checksum.patch
+++ b/dhcp-4.2.1-xen-checksum.patch
@@ -1,6 +1,6 @@
-diff -up dhcp-4.2.0/common/bpf.c.xen dhcp-4.2.0/common/bpf.c
---- dhcp-4.2.0/common/bpf.c.xen 2009-11-20 02:48:59.000000000 +0100
-+++ dhcp-4.2.0/common/bpf.c 2010-07-21 13:51:24.000000000 +0200
+diff -up dhcp-4.2.1-P1/common/bpf.c.xen dhcp-4.2.1-P1/common/bpf.c
+--- dhcp-4.2.1-P1/common/bpf.c.xen 2009-11-20 02:48:59.000000000 +0100
++++ dhcp-4.2.1-P1/common/bpf.c 2011-06-17 13:33:18.398055078 +0200
@@ -485,7 +485,7 @@ ssize_t receive_packet (interface, buf,
offset = decode_udp_ip_header (interface,
interface -> rbuf,
@@ -10,10 +10,10 @@ diff -up dhcp-4.2.0/common/bpf.c.xen dhcp-4.2.0/common/bpf.c
/* If the IP or UDP checksum was bad, skip the packet... */
if (offset < 0) {
-diff -up dhcp-4.2.0/common/dlpi.c.xen dhcp-4.2.0/common/dlpi.c
---- dhcp-4.2.0/common/dlpi.c.xen 2009-11-20 02:49:00.000000000 +0100
-+++ dhcp-4.2.0/common/dlpi.c 2010-07-21 13:51:24.000000000 +0200
-@@ -694,7 +694,7 @@ ssize_t receive_packet (interface, buf,
+diff -up dhcp-4.2.1-P1/common/dlpi.c.xen dhcp-4.2.1-P1/common/dlpi.c
+--- dhcp-4.2.1-P1/common/dlpi.c.xen 2011-02-18 20:16:04.000000000 +0100
++++ dhcp-4.2.1-P1/common/dlpi.c 2011-06-17 13:33:18.398055078 +0200
+@@ -695,7 +695,7 @@ ssize_t receive_packet (interface, buf,
length -= offset;
#endif
offset = decode_udp_ip_header (interface, dbuf, bufix,
@@ -22,9 +22,9 @@ diff -up dhcp-4.2.0/common/dlpi.c.xen dhcp-4.2.0/common/dlpi.c
/*
* If the IP or UDP checksum was bad, skip the packet...
-diff -up dhcp-4.2.0/common/lpf.c.xen dhcp-4.2.0/common/lpf.c
---- dhcp-4.2.0/common/lpf.c.xen 2009-07-23 20:52:19.000000000 +0200
-+++ dhcp-4.2.0/common/lpf.c 2010-07-21 13:51:24.000000000 +0200
+diff -up dhcp-4.2.1-P1/common/lpf.c.xen dhcp-4.2.1-P1/common/lpf.c
+--- dhcp-4.2.1-P1/common/lpf.c.xen 2009-07-23 20:52:19.000000000 +0200
++++ dhcp-4.2.1-P1/common/lpf.c 2011-06-17 13:37:31.611730430 +0200
@@ -29,18 +29,33 @@
#include "dhcpd.h"
#if defined (USE_LPF_SEND) || defined (USE_LPF_RECEIVE)
@@ -76,12 +76,13 @@ diff -up dhcp-4.2.0/common/lpf.c.xen dhcp-4.2.0/common/lpf.c
htons((short)ETH_P_ALL))) < 0) {
if (errno == ENOPROTOOPT || errno == EPROTONOSUPPORT ||
errno == ESOCKTNOSUPPORT || errno == EPFNOSUPPORT ||
-@@ -84,11 +103,16 @@ int if_register_lpf (info)
+@@ -84,11 +103,17 @@ int if_register_lpf (info)
log_fatal ("Open a socket for LPF: %m");
}
+ memset (&ifr, 0, sizeof ifr);
+ strncpy (ifr.ifr_name, (const char *)info -> ifp, sizeof ifr.ifr_name);
++ ifr.ifr_name[IFNAMSIZ-1] = '\0';
+ if (ioctl (sock, SIOCGIFINDEX, &ifr))
+ log_fatal ("Failed to get interface index: %m");
+
@@ -96,7 +97,7 @@ diff -up dhcp-4.2.0/common/lpf.c.xen dhcp-4.2.0/common/lpf.c
if (errno == ENOPROTOOPT || errno == EPROTONOSUPPORT ||
errno == ESOCKTNOSUPPORT || errno == EPFNOSUPPORT ||
errno == EAFNOSUPPORT || errno == EINVAL) {
-@@ -170,9 +194,18 @@ static void lpf_gen_filter_setup (struct
+@@ -170,9 +195,18 @@ static void lpf_gen_filter_setup (struct
void if_register_receive (info)
struct interface_info *info;
{
@@ -115,7 +116,7 @@ diff -up dhcp-4.2.0/common/lpf.c.xen dhcp-4.2.0/common/lpf.c
#if defined (HAVE_TR_SUPPORT)
if (info -> hw_address.hbuf [0] == HTYPE_IEEE802)
lpf_tr_filter_setup (info);
-@@ -294,7 +327,6 @@ ssize_t send_packet (interface, packet,
+@@ -294,7 +328,6 @@ ssize_t send_packet (interface, packet,
double hh [16];
double ih [1536 / sizeof (double)];
unsigned char *buf = (unsigned char *)ih;
@@ -123,7 +124,7 @@ diff -up dhcp-4.2.0/common/lpf.c.xen dhcp-4.2.0/common/lpf.c
int result;
int fudge;
-@@ -315,15 +347,7 @@ ssize_t send_packet (interface, packet,
+@@ -315,15 +348,7 @@ ssize_t send_packet (interface, packet,
(unsigned char *)raw, len);
memcpy (buf + ibufp, raw, len);
@@ -140,7 +141,7 @@ diff -up dhcp-4.2.0/common/lpf.c.xen dhcp-4.2.0/common/lpf.c
if (result < 0)
log_error ("send_packet: %m");
return result;
-@@ -340,14 +364,35 @@ ssize_t receive_packet (interface, buf,
+@@ -340,14 +365,35 @@ ssize_t receive_packet (interface, buf,
{
int length = 0;
int offset = 0;
@@ -177,7 +178,7 @@ diff -up dhcp-4.2.0/common/lpf.c.xen dhcp-4.2.0/common/lpf.c
bufix = 0;
/* Decode the physical header... */
offset = decode_hw_header (interface, ibuf, bufix, hfrom);
-@@ -364,7 +409,7 @@ ssize_t receive_packet (interface, buf,
+@@ -364,7 +410,7 @@ ssize_t receive_packet (interface, buf,
/* Decode the IP and UDP headers... */
offset = decode_udp_ip_header (interface, ibuf, bufix, from,
@@ -186,9 +187,9 @@ diff -up dhcp-4.2.0/common/lpf.c.xen dhcp-4.2.0/common/lpf.c
/* If the IP or UDP checksum was bad, skip the packet... */
if (offset < 0)
-diff -up dhcp-4.2.0/common/nit.c.xen dhcp-4.2.0/common/nit.c
---- dhcp-4.2.0/common/nit.c.xen 2009-11-20 02:49:01.000000000 +0100
-+++ dhcp-4.2.0/common/nit.c 2010-07-21 13:51:24.000000000 +0200
+diff -up dhcp-4.2.1-P1/common/nit.c.xen dhcp-4.2.1-P1/common/nit.c
+--- dhcp-4.2.1-P1/common/nit.c.xen 2009-11-20 02:49:01.000000000 +0100
++++ dhcp-4.2.1-P1/common/nit.c 2011-06-17 13:33:18.414054663 +0200
@@ -369,7 +369,7 @@ ssize_t receive_packet (interface, buf,
/* Decode the IP and UDP headers... */
@@ -198,9 +199,9 @@ diff -up dhcp-4.2.0/common/nit.c.xen dhcp-4.2.0/common/nit.c
/* If the IP or UDP checksum was bad, skip the packet... */
if (offset < 0)
-diff -up dhcp-4.2.0/common/packet.c.xen dhcp-4.2.0/common/packet.c
---- dhcp-4.2.0/common/packet.c.xen 2009-07-23 20:52:20.000000000 +0200
-+++ dhcp-4.2.0/common/packet.c 2010-07-21 13:51:24.000000000 +0200
+diff -up dhcp-4.2.1-P1/common/packet.c.xen dhcp-4.2.1-P1/common/packet.c
+--- dhcp-4.2.1-P1/common/packet.c.xen 2009-07-23 20:52:20.000000000 +0200
++++ dhcp-4.2.1-P1/common/packet.c 2011-06-17 13:33:18.414054663 +0200
@@ -211,7 +211,7 @@ ssize_t
decode_udp_ip_header(struct interface_info *interface,
unsigned char *buf, unsigned bufix,
@@ -219,9 +220,9 @@ diff -up dhcp-4.2.0/common/packet.c.xen dhcp-4.2.0/common/packet.c
udp_packets_bad_checksum++;
if (udp_packets_seen > 4 &&
(udp_packets_seen / udp_packets_bad_checksum) < 2) {
-diff -up dhcp-4.2.0/common/upf.c.xen dhcp-4.2.0/common/upf.c
---- dhcp-4.2.0/common/upf.c.xen 2009-11-20 02:49:01.000000000 +0100
-+++ dhcp-4.2.0/common/upf.c 2010-07-21 13:51:24.000000000 +0200
+diff -up dhcp-4.2.1-P1/common/upf.c.xen dhcp-4.2.1-P1/common/upf.c
+--- dhcp-4.2.1-P1/common/upf.c.xen 2009-11-20 02:49:01.000000000 +0100
++++ dhcp-4.2.1-P1/common/upf.c 2011-06-17 13:33:18.418054566 +0200
@@ -320,7 +320,7 @@ ssize_t receive_packet (interface, buf,
/* Decode the IP and UDP headers... */
@@ -231,10 +232,10 @@ diff -up dhcp-4.2.0/common/upf.c.xen dhcp-4.2.0/common/upf.c
/* If the IP or UDP checksum was bad, skip the packet... */
if (offset < 0)
-diff -up dhcp-4.2.0/includes/dhcpd.h.xen dhcp-4.2.0/includes/dhcpd.h
---- dhcp-4.2.0/includes/dhcpd.h.xen 2010-07-21 13:38:31.000000000 +0200
-+++ dhcp-4.2.0/includes/dhcpd.h 2010-07-21 13:51:24.000000000 +0200
-@@ -2773,7 +2773,7 @@ ssize_t decode_hw_header PROTO ((struct
+diff -up dhcp-4.2.1-P1/includes/dhcpd.h.xen dhcp-4.2.1-P1/includes/dhcpd.h
+--- dhcp-4.2.1-P1/includes/dhcpd.h.xen 2011-06-17 13:33:18.382055486 +0200
++++ dhcp-4.2.1-P1/includes/dhcpd.h 2011-06-17 13:33:18.420054516 +0200
+@@ -2776,7 +2776,7 @@ ssize_t decode_hw_header PROTO ((struct
unsigned, struct hardware *));
ssize_t decode_udp_ip_header PROTO ((struct interface_info *, unsigned char *,
unsigned, struct sockaddr_in *,
diff --git a/dhcp.spec b/dhcp.spec
index bf5245b..5b2dbe9 100644
--- a/dhcp.spec
+++ b/dhcp.spec
@@ -16,7 +16,7 @@
Summary: Dynamic host configuration protocol software
Name: dhcp
Version: 4.2.1
-Release: 11.%{patchver}%{?dist}
+Release: 12.%{patchver}%{?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.
@@ -45,20 +45,19 @@ Patch3: dhcp-4.2.0-dhclient-decline-backoff.patch
Patch4: dhcp-4.2.0-unicast-bootp.patch
Patch6: dhcp-4.2.0-dhclient-usage.patch
Patch7: dhcp-4.2.0-default-requested-options.patch
-Patch8: dhcp-4.2.0-xen-checksum.patch
+Patch8: dhcp-4.2.1-xen-checksum.patch
Patch10: dhcp-4.2.1-manpages.patch
Patch11: dhcp-4.2.0-paths.patch
Patch12: dhcp-4.2.0-CLOEXEC.patch
Patch13: dhcp-4.2.0-inherit-leases.patch
Patch14: dhcp-4.2.0-garbage-chars.patch
Patch15: dhcp-4.2.0-missing-ipv6-not-fatal.patch
-Patch16: dhcp-4.2.0-IFNAMSIZ.patch
Patch17: dhcp-4.2.0-add_timeout_when_NULL.patch
Patch18: dhcp-4.2.1-64_bit_lease_parse.patch
Patch19: dhcp-4.2.1-capability.patch
Patch20: dhcp-4.2.0-logpid.patch
Patch21: dhcp-4.2.0-UseMulticast.patch
-Patch22: dhcp-4.2.0-sendDecline.patch
+Patch22: dhcp-4.2.1-sendDecline.patch
Patch23: dhcp-4.2.1-retransmission.patch
Patch24: dhcp-4.2.0-initialization-delay.patch
Patch25: dhcp-4.2.0-rfc3442-classless-static-routes.patch
@@ -244,10 +243,6 @@ rm bind/bind.tar.gz
# (Submitted to dhcp-bugs at isc.org - [ISC-Bugs #19367])
%patch15 -p1 -b .noipv6
-# Read only up to IFNAMSIZ characters for the interface name in dhcpd (#441524)
-# (Submitted to dhcp-bugs at isc.org - [ISC-Bugs #19617])
-%patch16 -p1 -b .ifnamsiz
-
# Handle cases in add_timeout() where the function is called with a NULL
# value for the 'when' parameter
# (Submitted to dhcp-bugs at isc.org - [ISC-Bugs #19867])
@@ -393,17 +388,17 @@ CFLAGS="%{optflags} -fno-strict-aliasing -D_GNU_SOURCE" \
%{__mv} %{buildroot}%{_sbindir}/dhclient %{buildroot}/sbin/dhclient
%{__install} -p -m 0755 client/scripts/linux %{buildroot}/sbin/dhclient-script
-# Install init scripts
+# Install legacy SysV initscripts
%{__mkdir} -p %{buildroot}%{_initddir}
%{__install} -p -m 0755 %{SOURCE1} %{buildroot}%{_initddir}/dhcpd
%{__install} -p -m 0755 %{SOURCE2} %{buildroot}%{_initddir}/dhcpd6
%{__install} -p -m 0755 %{SOURCE3} %{buildroot}%{_initddir}/dhcrelay
-# install systemd initscripts
-mkdir -p %{buildroot}/lib/systemd/system/
-install -m 644 %{SOURCE9} %{buildroot}/lib/systemd/system/dhcpd.service
-install -m 644 %{SOURCE10} %{buildroot}/lib/systemd/system/dhcpd6.service
-install -m 644 %{SOURCE11} %{buildroot}/lib/systemd/system/dhcrelay.service
+# Install systemd unit files
+mkdir -p %{buildroot}%{_unitdir}
+install -m 644 %{SOURCE9} %{buildroot}%{_unitdir}
+install -m 644 %{SOURCE10} %{buildroot}%{_unitdir}
+install -m 644 %{SOURCE11} %{buildroot}%{_unitdir}
# Start empty lease databases
%{__mkdir} -p %{buildroot}%{_localstatedir}/lib/dhcpd/
@@ -656,6 +651,10 @@ fi
%{_initddir}/dhcrelay
%changelog
+* Fri Jun 17 2011 Jiri Popelka <jpopelka at redhat.com> - 12:4.2.1-12.P1
+- Removed upstream-merged IFNAMSIZ.patch
+- Polished patches according to results from static analysis of code.
+
* Thu Jun 16 2011 Jiri Popelka <jpopelka at redhat.com> - 12:4.2.1-11.P1
- Add triggerpostun scriptlet tied to dhcp-sysvinit
- Make it possible to build without downstream patches (Kamil Dudka)
More information about the scm-commits
mailing list