rpms/dhcp/devel dhcp-4.0.0-ldap-configuration.patch, 1.5, 1.6 dhcp-4.0.0-libdhcp4client.patch, 1.5, 1.6 dhcp.spec, 1.198, 1.199 dhcp-4.0.0-parser.patch, 1.2, NONE

David Cantrell (dcantrel) fedora-extras-commits at redhat.com
Wed Jan 23 04:10:16 UTC 2008


Author: dcantrel

Update of /cvs/pkgs/rpms/dhcp/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv9339

Modified Files:
	dhcp-4.0.0-ldap-configuration.patch 
	dhcp-4.0.0-libdhcp4client.patch dhcp.spec 
Removed Files:
	dhcp-4.0.0-parser.patch 
Log Message:
* Tue Jan 22 2008 David Cantrell <dcantrell at redhat.com> - 12:4.0.0-6
- read_function() comes from the LDAP patch, so fix it there
- Init new struct universe structs in libdhcp4client so we don't crash on
  multiple DHCP attempts (#428203)


dhcp-4.0.0-ldap-configuration.patch:

Index: dhcp-4.0.0-ldap-configuration.patch
===================================================================
RCS file: /cvs/pkgs/rpms/dhcp/devel/dhcp-4.0.0-ldap-configuration.patch,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- dhcp-4.0.0-ldap-configuration.patch	14 Jan 2008 21:05:18 -0000	1.5
+++ dhcp-4.0.0-ldap-configuration.patch	23 Jan 2008 04:10:09 -0000	1.6
@@ -1,6 +1,6 @@
 diff -up dhcp-4.0.0/server/Makefile.am.ldap dhcp-4.0.0/server/Makefile.am
 --- dhcp-4.0.0/server/Makefile.am.ldap	2007-05-29 06:32:11.000000000 -1000
-+++ dhcp-4.0.0/server/Makefile.am	2008-01-14 10:42:59.000000000 -1000
++++ dhcp-4.0.0/server/Makefile.am	2008-01-22 15:09:56.000000000 -1000
 @@ -4,12 +4,10 @@ dist_sysconf_DATA = dhcpd.conf
  sbin_PROGRAMS = dhcpd
  dhcpd_SOURCES = dhcpd.c dhcp.c bootp.c confpars.c db.c class.c failover.c \
@@ -19,7 +19,7 @@
  EXTRA_DIST = $(man_MANS)
 diff -up dhcp-4.0.0/server/mdb.c.ldap dhcp-4.0.0/server/mdb.c
 --- dhcp-4.0.0/server/mdb.c.ldap	2007-11-30 11:51:43.000000000 -1000
-+++ dhcp-4.0.0/server/mdb.c	2008-01-14 10:42:59.000000000 -1000
++++ dhcp-4.0.0/server/mdb.c	2008-01-22 15:09:56.000000000 -1000
 @@ -600,6 +600,12 @@ int find_hosts_by_haddr (struct host_dec
  			 const char *file, int line)
  {
@@ -34,8 +34,8 @@
  	h.hlen = hlen + 1;
  	h.hbuf [0] = htype;
 diff -up /dev/null dhcp-4.0.0/server/ldap_casa.c
---- /dev/null	2008-01-11 10:40:59.147013395 -1000
-+++ dhcp-4.0.0/server/ldap_casa.c	2008-01-14 10:42:59.000000000 -1000
+--- /dev/null	2008-01-19 23:52:35.158021373 -1000
++++ dhcp-4.0.0/server/ldap_casa.c	2008-01-22 15:09:56.000000000 -1000
 @@ -0,0 +1,138 @@
 +/* ldap_casa.c
 +   
@@ -177,7 +177,7 @@
 +
 diff -up dhcp-4.0.0/server/dhcpd.c.ldap dhcp-4.0.0/server/dhcpd.c
 --- dhcp-4.0.0/server/dhcpd.c.ldap	2007-11-30 11:51:43.000000000 -1000
-+++ dhcp-4.0.0/server/dhcpd.c	2008-01-14 10:42:59.000000000 -1000
++++ dhcp-4.0.0/server/dhcpd.c	2008-01-22 15:09:56.000000000 -1000
 @@ -505,6 +505,14 @@ main(int argc, char **argv) {
  	/* Add the ddns update style enumeration prior to parsing. */
  	add_enumeration (&ddns_styles);
@@ -194,8 +194,8 @@
  	if (!group_allocate (&root_group, MDL))
  		log_fatal ("Can't allocate root group!");
 diff -up /dev/null dhcp-4.0.0/server/ldap.c
---- /dev/null	2008-01-11 10:40:59.147013395 -1000
-+++ dhcp-4.0.0/server/ldap.c	2008-01-14 10:42:59.000000000 -1000
+--- /dev/null	2008-01-19 23:52:35.158021373 -1000
++++ dhcp-4.0.0/server/ldap.c	2008-01-22 15:09:56.000000000 -1000
 @@ -0,0 +1,2004 @@
 +/* ldap.c
 +
@@ -2203,7 +2203,7 @@
 +#endif
 diff -up dhcp-4.0.0/server/confpars.c.ldap dhcp-4.0.0/server/confpars.c
 --- dhcp-4.0.0/server/confpars.c.ldap	2007-11-30 11:51:43.000000000 -1000
-+++ dhcp-4.0.0/server/confpars.c	2008-01-14 10:42:59.000000000 -1000
++++ dhcp-4.0.0/server/confpars.c	2008-01-22 15:09:56.000000000 -1000
 @@ -60,7 +60,17 @@ void parse_trace_setup ()
  
  isc_result_t readconf ()
@@ -2225,7 +2225,7 @@
  isc_result_t read_conf_file (const char *filename, struct group *group,
 diff -up dhcp-4.0.0/server/class.c.ldap dhcp-4.0.0/server/class.c
 --- dhcp-4.0.0/server/class.c.ldap	2007-09-05 07:32:10.000000000 -1000
-+++ dhcp-4.0.0/server/class.c	2008-01-14 10:42:59.000000000 -1000
++++ dhcp-4.0.0/server/class.c	2008-01-22 15:09:56.000000000 -1000
 @@ -84,6 +84,7 @@ int check_collection (packet, lease, col
  	int matched = 0;
  	int status;
@@ -2255,7 +2255,7 @@
  					      print_hex_1 (data.len,
 diff -up dhcp-4.0.0/server/stables.c.ldap dhcp-4.0.0/server/stables.c
 --- dhcp-4.0.0/server/stables.c.ldap	2007-11-20 08:34:37.000000000 -1000
-+++ dhcp-4.0.0/server/stables.c	2008-01-14 10:45:48.000000000 -1000
++++ dhcp-4.0.0/server/stables.c	2008-01-22 15:09:56.000000000 -1000
 @@ -238,9 +238,107 @@ static struct option server_options[] = 
  	{ "dhcpv6-lease-file-name", "t",	&server_universe,  54, 1 },
  	{ "dhcpv6-pid-file-name", "t",		&server_universe,  55, 1 },
@@ -2366,7 +2366,7 @@
  	{ "ad-hoc", 1 },
 diff -up dhcp-4.0.0/dst/Makefile.am.ldap dhcp-4.0.0/dst/Makefile.am
 --- dhcp-4.0.0/dst/Makefile.am.ldap	2007-05-29 06:32:10.000000000 -1000
-+++ dhcp-4.0.0/dst/Makefile.am	2008-01-14 10:42:59.000000000 -1000
++++ dhcp-4.0.0/dst/Makefile.am	2008-01-22 15:09:56.000000000 -1000
 @@ -2,7 +2,12 @@ AM_CPPFLAGS = -DMINIRES_LIB -DHMAC_MD5
  
  lib_LIBRARIES = libdst.a
@@ -2382,7 +2382,7 @@
  EXTRA_DIST = dst_internal.h md5.h md5_locl.h
 diff -up dhcp-4.0.0/common/print.c.ldap dhcp-4.0.0/common/print.c
 --- dhcp-4.0.0/common/print.c.ldap	2007-10-01 04:47:35.000000000 -1000
-+++ dhcp-4.0.0/common/print.c	2008-01-14 10:42:59.000000000 -1000
++++ dhcp-4.0.0/common/print.c	2008-01-22 15:09:56.000000000 -1000
 @@ -163,9 +163,9 @@ char *print_base64 (const unsigned char 
  }
  
@@ -2398,7 +2398,7 @@
  	char *s;
 diff -up dhcp-4.0.0/common/conflex.c.ldap dhcp-4.0.0/common/conflex.c
 --- dhcp-4.0.0/common/conflex.c.ldap	2007-10-31 09:13:33.000000000 -1000
-+++ dhcp-4.0.0/common/conflex.c	2008-01-14 10:42:59.000000000 -1000
++++ dhcp-4.0.0/common/conflex.c	2008-01-22 15:10:31.000000000 -1000
 @@ -43,6 +43,7 @@ static enum dhcp_token read_string PROTO
  static enum dhcp_token read_number PROTO ((int, struct parse *));
  static enum dhcp_token read_num_or_name PROTO ((int, struct parse *));
@@ -2435,7 +2435,7 @@
  		c = cfile->inbuf [cfile->bufix];
  		cfile->bufix++;
  	}
-@@ -1415,3 +1424,23 @@ intern(char *atom, enum dhcp_token dfv) 
+@@ -1415,3 +1424,25 @@ intern(char *atom, enum dhcp_token dfv) 
  	}
  	return dfv;
  }
@@ -2445,23 +2445,25 @@
 +{
 +	int c;
 +
-+	cfile -> buflen = read (cfile -> file, cfile -> inbuf, cfile -> bufsiz);
-+	if (cfile -> buflen == 0) {
++	ssize_t n = read (cfile -> file, cfile -> inbuf, cfile -> bufsiz);
++	if (n == 0) {
 +		c = EOF;
 +		cfile -> bufix = 0;
-+	} else if (cfile -> buflen < 0) {
++		cfile -> buflen = 0;
++	} else if (n < 0) {
 +		c = EOF;
 +		cfile -> bufix = cfile -> buflen = 0;
 +	} else {
 +		c = cfile -> inbuf [0];
 +		cfile -> bufix = 1;
++		cfile -> buflen = n;
 +	}
 +
 +	return c;
 +}
 diff -up dhcp-4.0.0/includes/dhcpd.h.ldap dhcp-4.0.0/includes/dhcpd.h
 --- dhcp-4.0.0/includes/dhcpd.h.ldap	2007-12-08 09:36:00.000000000 -1000
-+++ dhcp-4.0.0/includes/dhcpd.h	2008-01-14 10:42:59.000000000 -1000
++++ dhcp-4.0.0/includes/dhcpd.h	2008-01-22 15:09:56.000000000 -1000
 @@ -101,6 +101,11 @@ typedef time_t TIME;
  #include <isc-dhcp/result.h>
  #include <omapip/omapip_p.h>
@@ -2578,7 +2580,7 @@
  HASH_FUNCTIONS_DECL(ia_na, unsigned char *, struct ia_na, ia_na_hash_t);
 diff -up dhcp-4.0.0/includes/site.h.ldap dhcp-4.0.0/includes/site.h
 --- dhcp-4.0.0/includes/site.h.ldap	2006-07-31 12:19:51.000000000 -1000
-+++ dhcp-4.0.0/includes/site.h	2008-01-14 10:42:59.000000000 -1000
++++ dhcp-4.0.0/includes/site.h	2008-01-22 15:09:56.000000000 -1000
 @@ -183,3 +183,13 @@
     traces. */
  
@@ -2594,8 +2596,8 @@
 +
 +#define USE_SSL
 diff -up /dev/null dhcp-4.0.0/includes/ldap_casa.h
---- /dev/null	2008-01-11 10:40:59.147013395 -1000
-+++ dhcp-4.0.0/includes/ldap_casa.h	2008-01-14 10:42:59.000000000 -1000
+--- /dev/null	2008-01-19 23:52:35.158021373 -1000
++++ dhcp-4.0.0/includes/ldap_casa.h	2008-01-22 15:09:56.000000000 -1000
 @@ -0,0 +1,83 @@
 +/* ldap_casa.h
 +   

dhcp-4.0.0-libdhcp4client.patch:

Index: dhcp-4.0.0-libdhcp4client.patch
===================================================================
RCS file: /cvs/pkgs/rpms/dhcp/devel/dhcp-4.0.0-libdhcp4client.patch,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- dhcp-4.0.0-libdhcp4client.patch	15 Jan 2008 00:46:50 -0000	1.5
+++ dhcp-4.0.0-libdhcp4client.patch	23 Jan 2008 04:10:09 -0000	1.6
@@ -1,6 +1,6 @@
 diff -up dhcp-4.0.0/configure.ac.libdhcp4client dhcp-4.0.0/configure.ac
 --- dhcp-4.0.0/configure.ac.libdhcp4client	2007-12-14 08:24:56.000000000 -1000
-+++ dhcp-4.0.0/configure.ac	2008-01-14 13:03:05.000000000 -1000
++++ dhcp-4.0.0/configure.ac	2008-01-22 17:04:28.000000000 -1000
 @@ -1,5 +1,32 @@
  AC_INIT([DHCP], [4.0.0], [dhcp-users at isc.org])
  
@@ -46,7 +46,7 @@
  # we sometimes need to know byte order for building packets
 diff -up dhcp-4.0.0/omapip/Makefile.am.libdhcp4client dhcp-4.0.0/omapip/Makefile.am
 --- dhcp-4.0.0/omapip/Makefile.am.libdhcp4client	2007-05-29 06:32:11.000000000 -1000
-+++ dhcp-4.0.0/omapip/Makefile.am	2008-01-14 13:03:05.000000000 -1000
++++ dhcp-4.0.0/omapip/Makefile.am	2008-01-22 17:04:28.000000000 -1000
 @@ -1,10 +1,18 @@
  lib_LIBRARIES = libomapi.a
 +noinst_LIBRARIES = libomapiLIBDHCP.a
@@ -68,7 +68,7 @@
  
 diff -up dhcp-4.0.0/omapip/dispatch.c.libdhcp4client dhcp-4.0.0/omapip/dispatch.c
 --- dhcp-4.0.0/omapip/dispatch.c.libdhcp4client	2007-11-30 11:51:43.000000000 -1000
-+++ dhcp-4.0.0/omapip/dispatch.c	2008-01-14 13:03:05.000000000 -1000
++++ dhcp-4.0.0/omapip/dispatch.c	2008-01-22 17:04:28.000000000 -1000
 @@ -37,7 +37,7 @@
  #include <omapip/omapip_p.h>
  #include <sys/time.h>
@@ -79,8 +79,8 @@
  
  OMAPI_OBJECT_ALLOC (omapi_io,
 diff -up dhcp-4.0.0/omapip/errwarn.c.libdhcp4client dhcp-4.0.0/omapip/errwarn.c
---- dhcp-4.0.0/omapip/errwarn.c.libdhcp4client	2008-01-14 13:03:05.000000000 -1000
-+++ dhcp-4.0.0/omapip/errwarn.c	2008-01-14 13:03:05.000000000 -1000
+--- dhcp-4.0.0/omapip/errwarn.c.libdhcp4client	2008-01-22 17:04:28.000000000 -1000
++++ dhcp-4.0.0/omapip/errwarn.c	2008-01-22 17:04:28.000000000 -1000
 @@ -37,6 +37,11 @@
  #include <errno.h>
  #include <syslog.h>
@@ -200,7 +200,7 @@
  
 diff -up dhcp-4.0.0/omapip/alloc.c.libdhcp4client dhcp-4.0.0/omapip/alloc.c
 --- dhcp-4.0.0/omapip/alloc.c.libdhcp4client	2007-07-12 20:43:42.000000000 -1000
-+++ dhcp-4.0.0/omapip/alloc.c	2008-01-14 13:03:05.000000000 -1000
++++ dhcp-4.0.0/omapip/alloc.c	2008-01-22 17:04:28.000000000 -1000
 @@ -37,6 +37,33 @@
  
  #include <omapip/omapip_p.h>
@@ -257,8 +257,8 @@
  
  #if defined (DEBUG_MEMORY_LEAKAGE) || defined (DEBUG_MALLOC_POOL) || \
 diff -up dhcp-4.0.0/dst/Makefile.am.libdhcp4client dhcp-4.0.0/dst/Makefile.am
---- dhcp-4.0.0/dst/Makefile.am.libdhcp4client	2008-01-14 13:03:05.000000000 -1000
-+++ dhcp-4.0.0/dst/Makefile.am	2008-01-14 13:03:05.000000000 -1000
+--- dhcp-4.0.0/dst/Makefile.am.libdhcp4client	2008-01-22 17:04:28.000000000 -1000
++++ dhcp-4.0.0/dst/Makefile.am	2008-01-22 17:04:28.000000000 -1000
 @@ -2,7 +2,7 @@ AM_CPPFLAGS = -DMINIRES_LIB -DHMAC_MD5
  
  lib_LIBRARIES = libdst.a
@@ -279,7 +279,7 @@
  EXTRA_DIST = dst_internal.h md5.h md5_locl.h
 diff -up dhcp-4.0.0/dst/hmac_link.c.libdhcp4client dhcp-4.0.0/dst/hmac_link.c
 --- dhcp-4.0.0/dst/hmac_link.c.libdhcp4client	2007-12-05 14:50:22.000000000 -1000
-+++ dhcp-4.0.0/dst/hmac_link.c	2008-01-14 13:03:05.000000000 -1000
++++ dhcp-4.0.0/dst/hmac_link.c	2008-01-22 17:04:28.000000000 -1000
 @@ -39,6 +39,10 @@ static const char rcsid[] = "$Header: /p
  
  #include "dst_internal.h"
@@ -367,7 +367,7 @@
  	memset(dst_t_func[KEY_HMAC_MD5], 0, sizeof(struct dst_func));
 diff -up dhcp-4.0.0/common/Makefile.am.libdhcp4client dhcp-4.0.0/common/Makefile.am
 --- dhcp-4.0.0/common/Makefile.am.libdhcp4client	2007-11-16 01:04:11.000000000 -1000
-+++ dhcp-4.0.0/common/Makefile.am	2008-01-14 13:03:05.000000000 -1000
++++ dhcp-4.0.0/common/Makefile.am	2008-01-22 17:04:28.000000000 -1000
 @@ -1,11 +1,17 @@
  AM_CPPFLAGS = -I.. -DLOCALSTATEDIR='"@localstatedir@"'
  
@@ -389,7 +389,7 @@
  
 diff -up dhcp-4.0.0/common/discover.c.libdhcp4client dhcp-4.0.0/common/discover.c
 --- dhcp-4.0.0/common/discover.c.libdhcp4client	2007-10-05 12:29:51.000000000 -1000
-+++ dhcp-4.0.0/common/discover.c	2008-01-14 13:03:05.000000000 -1000
++++ dhcp-4.0.0/common/discover.c	2008-01-22 17:04:28.000000000 -1000
 @@ -883,6 +883,10 @@ add_ipv6_addr_to_interface(struct interf
     register that interface with the network I/O software, figure out what
     subnet it's on, and add it to the list of interfaces. */
@@ -431,7 +431,7 @@
  	if (fallback_interface) {
 diff -up dhcp-4.0.0/common/tree.c.libdhcp4client dhcp-4.0.0/common/tree.c
 --- dhcp-4.0.0/common/tree.c.libdhcp4client	2007-08-22 03:41:37.000000000 -1000
-+++ dhcp-4.0.0/common/tree.c	2008-01-14 13:03:05.000000000 -1000
++++ dhcp-4.0.0/common/tree.c	2008-01-22 17:04:28.000000000 -1000
 @@ -41,7 +41,7 @@
  # include <regex.h>
  #endif
@@ -451,7 +451,7 @@
  	struct data_string *result;
 diff -up dhcp-4.0.0/common/options.c.libdhcp4client dhcp-4.0.0/common/options.c
 --- dhcp-4.0.0/common/options.c.libdhcp4client	2007-11-30 11:51:43.000000000 -1000
-+++ dhcp-4.0.0/common/options.c	2008-01-14 13:03:05.000000000 -1000
++++ dhcp-4.0.0/common/options.c	2008-01-22 17:04:28.000000000 -1000
 @@ -3392,6 +3392,7 @@ fqdn6_universe_decode(struct option_stat
  	return 0;
  }
@@ -461,8 +461,8 @@
  			   struct client_state *client_state,
  			   struct option_state *in_options,
 diff -up dhcp-4.0.0/common/dispatch.c.libdhcp4client dhcp-4.0.0/common/dispatch.c
---- dhcp-4.0.0/common/dispatch.c.libdhcp4client	2008-01-14 13:03:05.000000000 -1000
-+++ dhcp-4.0.0/common/dispatch.c	2008-01-14 13:03:05.000000000 -1000
+--- dhcp-4.0.0/common/dispatch.c.libdhcp4client	2008-01-22 17:04:28.000000000 -1000
++++ dhcp-4.0.0/common/dispatch.c	2008-01-22 17:04:28.000000000 -1000
 @@ -34,8 +34,24 @@
  
  #include "dhcpd.h"
@@ -734,7 +734,7 @@
  }
 diff -up dhcp-4.0.0/common/alloc.c.libdhcp4client dhcp-4.0.0/common/alloc.c
 --- dhcp-4.0.0/common/alloc.c.libdhcp4client	2007-10-23 14:54:11.000000000 -1000
-+++ dhcp-4.0.0/common/alloc.c	2008-01-14 13:03:05.000000000 -1000
++++ dhcp-4.0.0/common/alloc.c	2008-01-22 17:04:28.000000000 -1000
 @@ -1004,7 +1004,11 @@ int executable_statement_reference (ptr,
  	return 1;
  }
@@ -748,8 +748,8 @@
  #if defined (DEBUG_MEMORY_LEAKAGE) || \
  		defined (DEBUG_MEMORY_LEAKAGE_ON_EXIT)
 diff -up dhcp-4.0.0/includes/dhcpd.h.libdhcp4client dhcp-4.0.0/includes/dhcpd.h
---- dhcp-4.0.0/includes/dhcpd.h.libdhcp4client	2008-01-14 13:03:05.000000000 -1000
-+++ dhcp-4.0.0/includes/dhcpd.h	2008-01-14 13:03:05.000000000 -1000
+--- dhcp-4.0.0/includes/dhcpd.h.libdhcp4client	2008-01-22 17:04:28.000000000 -1000
++++ dhcp-4.0.0/includes/dhcpd.h	2008-01-22 17:05:02.000000000 -1000
 @@ -1199,14 +1199,6 @@ struct hardware_link {
  
  typedef void (*tvref_t)(void *, void *, const char *, int);
@@ -781,9 +781,20 @@
  extern omapi_object_type_t *dhcp_type_interface;
  #if defined (TRACING)
  extern trace_type_t *interface_trace;
+@@ -2392,6 +2382,10 @@ extern struct universe dhcpv6_universe;
+ extern struct universe nwip_universe;
+ extern struct universe fqdn_universe;
+ extern struct universe vsio_universe;
++extern struct universe vendor_class_universe;
++extern struct universe vendor_universe;
++extern struct universe isc_universe;
++extern struct universe isc6_universe;
+ extern int dhcp_option_default_priority_list [];
+ extern int dhcp_option_default_priority_list_count;
+ extern const char *hardware_types [256];
 diff -up dhcp-4.0.0/client/Makefile.am.libdhcp4client dhcp-4.0.0/client/Makefile.am
 --- dhcp-4.0.0/client/Makefile.am.libdhcp4client	2007-12-12 09:23:42.000000000 -1000
-+++ dhcp-4.0.0/client/Makefile.am	2008-01-14 13:03:24.000000000 -1000
++++ dhcp-4.0.0/client/Makefile.am	2008-01-22 17:04:28.000000000 -1000
 @@ -1,10 +1,18 @@
  dist_sysconf_DATA = dhclient.conf
  sbin_PROGRAMS = dhclient
@@ -804,8 +815,8 @@
  EXTRA_DIST = $(man_MANS)
  
 diff -up dhcp-4.0.0/client/dhclient.c.libdhcp4client dhcp-4.0.0/client/dhclient.c
---- dhcp-4.0.0/client/dhclient.c.libdhcp4client	2008-01-14 13:03:05.000000000 -1000
-+++ dhcp-4.0.0/client/dhclient.c	2008-01-14 13:03:05.000000000 -1000
+--- dhcp-4.0.0/client/dhclient.c.libdhcp4client	2008-01-22 17:04:28.000000000 -1000
++++ dhcp-4.0.0/client/dhclient.c	2008-01-22 17:05:47.000000000 -1000
 @@ -83,14 +83,50 @@ int nowait=0;
  char *mockup_relay = NULL;
  int bootp_broadcast_always = 0;
@@ -931,7 +942,7 @@
  	/* If we're not supposed to wait before getting the address,
  	   don't. */
  	if (nowait)
-@@ -875,6 +925,126 @@ main(int argc, char **argv) {
+@@ -875,6 +925,132 @@ main(int argc, char **argv) {
  
  	/* Start dispatching packets and timeouts... */
  	dispatch ();
@@ -1027,8 +1038,14 @@
 +	dhcp_type_shared_network = NULL;
 +	dhcp_type_control = NULL;
 +	memset(&dhcp_universe, '\0', sizeof(struct universe));
++	memset(&dhcpv6_universe, '\0', sizeof(struct universe));
 +	memset(&nwip_universe, '\0', sizeof(struct universe));
 +	memset(&fqdn_universe, '\0', sizeof(struct universe));
++	memset(&vendor_class_universe, '\0', sizeof(struct universe));
++	memset(&vendor_universe, '\0', sizeof(struct universe));
++	memset(&vsio_universe, '\0', sizeof(struct universe));
++	memset(&isc_universe, '\0', sizeof(struct universe));
++	memset(&isc6_universe, '\0', sizeof(struct universe));
 +	universe_hash = 0;
 +	universes = 0;
 +	universe_count = 0;
@@ -1058,7 +1075,7 @@
  
  	/*NOTREACHED*/
  	return 0;
-@@ -1270,7 +1440,20 @@ void dhcpack (packet)
+@@ -1270,7 +1446,20 @@ void dhcpack (packet)
  	if (client -> new -> rebind < cur_time)
  		client -> new -> rebind = TIME_MAX;
  
@@ -1079,7 +1096,7 @@
  }
  
  void bind_lease (client)
-@@ -1306,6 +1489,9 @@ void bind_lease (client)
+@@ -1306,6 +1495,9 @@ void bind_lease (client)
  		return;
  	}
  
@@ -1089,7 +1106,7 @@
  	/* Write out the new lease. */
  	write_client_lease (client, client -> new, 0, 0);
  
-@@ -1398,10 +1584,12 @@ void state_stop (cpp)
+@@ -1398,10 +1590,12 @@ void state_stop (cpp)
  	}
  }  
  
@@ -1102,7 +1119,7 @@
  
  int write_lease (lease)
  	struct lease *lease;
-@@ -2074,6 +2262,10 @@ void state_panic (cpp)
+@@ -2074,6 +2268,10 @@ void state_panic (cpp)
  	   tell the shell script that we failed to allocate an address,
  	   and try again later. */
  	if (onetry) {
@@ -1113,7 +1130,7 @@
  		if (!quiet)
  			log_info ("Unable to obtain a lease on first try.%s",
  				  "  Exiting.");
-@@ -2691,7 +2883,9 @@ void destroy_client_lease (lease)
+@@ -2691,7 +2889,9 @@ void destroy_client_lease (lease)
  	free_client_lease (lease, MDL);
  }
  
@@ -1123,7 +1140,7 @@
  int leases_written = 0;
  
  void rewrite_client_leases ()
-@@ -3218,6 +3412,54 @@ void script_write_params (client, prefix
+@@ -3218,6 +3418,54 @@ void script_write_params (client, prefix
  int script_go (client)
  	struct client_state *client;
  {
@@ -1178,7 +1195,7 @@
  	char *scriptName;
  	char *argv [2];
  	char **envp;
-@@ -3294,6 +3536,7 @@ int script_go (client)
+@@ -3294,6 +3542,7 @@ int script_go (client)
  	time(&cur_time);
  	return (WIFEXITED (wstatus) ?
  		WEXITSTATUS (wstatus) : -WTERMSIG (wstatus));
@@ -1186,7 +1203,7 @@
  }
  
  void client_envadd (struct client_state *client,
-@@ -3376,6 +3619,9 @@ void go_daemon ()
+@@ -3376,6 +3625,9 @@ void go_daemon ()
  
  	/* Don't become a daemon if the user requested otherwise. */
  	if (no_daemon) {
@@ -1196,7 +1213,7 @@
  		write_client_pid_file ();
  		return;
  	}
-@@ -3385,6 +3631,10 @@ void go_daemon ()
+@@ -3385,6 +3637,10 @@ void go_daemon ()
  		return;
  	state = 1;
  


Index: dhcp.spec
===================================================================
RCS file: /cvs/pkgs/rpms/dhcp/devel/dhcp.spec,v
retrieving revision 1.198
retrieving revision 1.199
diff -u -r1.198 -r1.199
--- dhcp.spec	17 Jan 2008 22:54:44 -0000	1.198
+++ dhcp.spec	23 Jan 2008 04:10:09 -0000	1.199
@@ -4,10 +4,11 @@
 Summary:  DHCP (Dynamic Host Configuration Protocol) server and relay agent
 Name:     dhcp
 Version:  4.0.0
-Release:  5%{?dist}
-# NEVER CHANGE THE EPOCH on this package.  The previous maintainer made
-# incorrect use of the epoch and that's why it is at 12 now.  It should have
-# never been used, but it was.  So we are stuck with it.
+Release:  6%{?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.
+# So we are stuck with it.
 Epoch:    12
 License:  ISC
 Group:    System Environment/Daemons
@@ -42,7 +43,6 @@
 Patch14:  %{name}-4.0.0-manpages.patch
 Patch15:  %{name}-4.0.0-paths.patch
 Patch16:  %{name}-4.0.0-libdhcp4client.patch
-Patch17:  %{name}-4.0.0-parser.patch
 
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 BuildRequires: autoconf
@@ -189,9 +189,6 @@
 # Add the libdhcp4client target (library version of dhclient)
 %patch16 -p1
 
-# Fix parsing errors
-%patch17 -p1
-
 # Copy in documentation and example scripts for LDAP patch to dhcpd
 %{__install} -p -m 0644 %{SOURCE5} .
 %{__install} -p -m 0644 %{SOURCE6} doc/
@@ -404,6 +401,11 @@
 %{_libdir}/libdhcp4client.so
 
 %changelog
+* Tue Jan 22 2008 David Cantrell <dcantrell at redhat.com> - 12:4.0.0-6
+- read_function() comes from the LDAP patch, so fix it there
+- Init new struct universe structs in libdhcp4client so we don't crash on
+  multiple DHCP attempts (#428203)
+
 * Thu Jan 17 2008 David Cantrell <dcantrell at redhat.com> - 12:4.0.0-5
 - Patch read_function() to handle size_t from read() correctly (#429207)
 


--- dhcp-4.0.0-parser.patch DELETED ---




More information about the fedora-extras-commits mailing list