[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