rpms/dhcp/devel dhcp-3.0.5-extended-new-option-info.patch, NONE, 1.1 dhcp-3.0.5-version.patch, NONE, 1.1 dhcp-3.0.5-Makefile.patch, 1.1, 1.2 dhcp-3.0.5-client.patch, 1.1, 1.2 dhcp-3.0.5-common.patch, 1.1, 1.2 dhcp-3.0.5-dhcpctl.patch, 1.1, 1.2 dhcp-3.0.5-dst.patch, 1.1, 1.2 dhcp-3.0.5-fix-warnings.patch, 1.1, 1.2 dhcp-3.0.5-includes.patch, 1.1, 1.2 dhcp-3.0.5-libdhcp4client.patch, 1.1, 1.2 dhcp-3.0.5-minires.patch, 1.1, 1.2 dhcp-3.0.5-omapip.patch, 1.1, 1.2 dhcp-3.0.5-server.patch, 1.1, 1.2 dhcp-3.0.5-timeouts.patch, 1.1, 1.2 dhcp.spec, 1.121, 1.122 dhcp-3.0.5-mkdep.patch, 1.1, NONE dhcp-3.0.5-relay.patch, 1.1, NONE

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Fri Nov 10 17:02:33 UTC 2006


Author: dcantrel

Update of /cvs/dist/rpms/dhcp/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv536

Modified Files:
	dhcp-3.0.5-Makefile.patch dhcp-3.0.5-client.patch 
	dhcp-3.0.5-common.patch dhcp-3.0.5-dhcpctl.patch 
	dhcp-3.0.5-dst.patch dhcp-3.0.5-fix-warnings.patch 
	dhcp-3.0.5-includes.patch dhcp-3.0.5-libdhcp4client.patch 
	dhcp-3.0.5-minires.patch dhcp-3.0.5-omapip.patch 
	dhcp-3.0.5-server.patch dhcp-3.0.5-timeouts.patch dhcp.spec 
Added Files:
	dhcp-3.0.5-extended-new-option-info.patch 
	dhcp-3.0.5-version.patch 
Removed Files:
	dhcp-3.0.5-mkdep.patch dhcp-3.0.5-relay.patch 
Log Message:
- Change the way libdhcp4client is compiled (patch main source, create new
  Makefile rather than copy and patch code after main patches)
- Fix up problems generating compiler warnings
- Use 'gcc' for making dependencies
- Pass -fPIC instead of -fpie/-fPIE in compiler flags
- Combine the extended new option info changes in to one patch file (makes
  it easier for outside projects that want to use dhcdbd and NetworkManager)


dhcp-3.0.5-extended-new-option-info.patch:
 client/dhclient.8 |    8 +++++++
 client/dhclient.c |   60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 common/parse.c    |    4 +++
 common/tables.c   |   32 ++++++++++++++++++++++++++++
 includes/dhcpd.h  |    7 ++++++
 5 files changed, 111 insertions(+)

--- NEW FILE dhcp-3.0.5-extended-new-option-info.patch ---
--- dhcp-3.0.5/client/dhclient.c.enoi	2006-08-22 11:13:57.000000000 -0400
+++ dhcp-3.0.5/client/dhclient.c	2006-11-10 11:00:51.000000000 -0500
@@ -74,6 +74,9 @@
 int onetry=0;
 int quiet=0;
 int nowait=0;
+#ifdef EXTENDED_NEW_OPTION_INFO
+int extended_option_environment = 0;
+#endif
 
 static void usage PROTO ((void));
 
@@ -204,6 +207,11 @@
 		} else if (!strcmp (argv [i], "--version")) {
 			log_info ("isc-dhclient-%s", DHCP_VERSION);
 			exit (0);
+#ifdef EXTENDED_NEW_OPTION_INFO
+		} else if (!strcmp (argv [i], "-x")) {
+			extended_option_environment = 1;
+			new_option_info_tree = GENERATE_NEW_OPTION_INFO;
+#endif
  		} else if (argv [i][0] == '-') {
  		    usage ();
 		} else {
@@ -476,7 +484,11 @@
 	log_info (arr);
 	log_info (url);
 
+#ifdef EXTENDED_NEW_OPTION_INFO
+	log_error ("Usage: dhclient [-1dqr] [-nwx] [-p <port>] %s",
+#else
 	log_error ("Usage: dhclient [-1dqr] [-nw] [-p <port>] %s",
+#endif
 		   "[-s server]");
 	log_error ("                [-cf config-file] [-lf lease-file]%s",
 		   "[-pf pid-file] [-e VAR=val]");
@@ -2449,6 +2461,25 @@
 	const char *prefix;
 };
 
+#ifdef EXTENDED_NEW_OPTION_INFO
+static
+void build_universe_info_envvar
+(	struct option_cache *oc,
+	struct packet *p, struct lease *l,
+	struct client_state *client,
+	struct option_state *in_o,
+	struct option_state *cf_o,
+	struct binding_scope **scope,
+	struct universe *u, void *es
+)
+{
+	char info_name[512], info_data[512];
+	snprintf(info_name, 512, "%s._universe_.", oc->option->universe->name);
+	snprintf(info_data, 512, "%u:%s", oc->option->code,oc->option->format);
+	client_envadd( client, info_name, oc->option->name, info_data );
+}
+#endif
+
 void client_option_envadd (struct option_cache *oc,
 			   struct packet *packet, struct lease *lease,
 			   struct client_state *client_state,
@@ -2465,6 +2496,28 @@
 				   in_options, cfg_options, scope, oc, MDL)) {
 		if (data.len) {
 			char name [256];
+#ifdef EXTENDED_NEW_OPTION_INFO
+			if (extended_option_environment) {
+				if ((oc->option->universe != &dhcp_universe)
+					&& (oc->option->universe->index > fqdn_universe.index)
+					&& (es->universe !=  oc->option->universe)) {
+					es->universe = oc->option->universe;
+					(*(es->universe->foreach)) ((struct packet *)0,
+											    (struct lease *)0, 
+					                            client_state, 
+					                            in_options, cfg_options,
+					                            scope, es->universe, es,  
+					                            build_universe_info_envvar);
+				} else {
+					if (lookup_new_option_info(oc->option) != NULL) {
+						build_universe_info_envvar(oc, packet, lease,
+						                           client_state, in_options,
+						                           cfg_options, scope,
+						                           oc->option->universe, es);
+					}
+				}
+			}
+#endif
 			if (dhcp_option_ev_name (name, sizeof name,
 						 oc -> option)) {
 				client_envadd (es -> client, es -> prefix,
@@ -2704,7 +2757,14 @@
 			s = option -> name;
 			if (j + 1 == buflen)
 				return 0;
+#ifdef EXTENDED_NEW_OPTION_INFO
+			if (!extended_option_environment)
+				buf[j++] = '_';
+			else
+				buf[j++] = '.';
+#else
 			buf [j++] = '_';
+#endif
 		}
 		++i;
 	} while (i != 2);
--- dhcp-3.0.5/client/dhclient.8.enoi	2005-09-14 12:03:33.000000000 -0400
+++ dhcp-3.0.5/client/dhclient.8	2006-11-10 11:05:25.000000000 -0500
@@ -82,6 +82,9 @@
 .B -w
 ]
 [
+.B -x
+]
+[
 .I if0
 [
 .I ...ifN
@@ -265,6 +268,11 @@
 supplying the
 .B -nw
 flag.
+.PP
+The -x argument enables extended option information to be created in the
+-s dhclient-script environment, which would allow applications running
+in that environment to handle options they do not know about in advance -
+this is a Red Hat extension to support dhcdbd and NetworkManager.
 .SH CONFIGURATION
 The syntax of the dhclient.conf(5) file is discussed separately.
 .SH OMAPI
--- dhcp-3.0.5/common/parse.c.enoi	2006-02-22 17:43:27.000000000 -0500
+++ dhcp-3.0.5/common/parse.c	2006-11-10 11:00:51.000000000 -0500
@@ -1271,6 +1271,10 @@
 	option_hash_add (option -> universe -> hash,
 			 (const char *)option -> name,
 			 0, option, MDL);
+#ifdef EXTENDED_NEW_OPTION_INFO
+	if (new_option_info_tree != NULL)
+		add_new_option_info(option);
+#endif
 	return 1;
 }
 
--- dhcp-3.0.5/common/tables.c.enoi	2006-02-22 17:43:27.000000000 -0500
+++ dhcp-3.0.5/common/tables.c	2006-11-10 11:00:51.000000000 -0500
@@ -1250,3 +1250,35 @@
 			   fqdn_universe.name, 0,
 			   &fqdn_universe, MDL);
 }
+
+#ifdef EXTENDED_NEW_OPTION_INFO
+#include <search.h>
+
+void *new_option_info_tree = NULL;
+
+static int new_option_info_comparator(const void * p1, const void * p2) {
+	uint32_t ocode1 = (((const struct option*)p1)->universe->index << 8)
+	                   | (((const struct option*)p1)->code),
+	         ocode2 = (((const struct option*)p2)->universe->index << 8)
+	                   | (((const struct option*)p2)->code);
+
+	return((ocode1 == ocode2) ? 0 : ((ocode1 > ocode2) ? 1 : -1));
+}
+
+void *add_new_option_info(struct option * option) {
+	if (option->universe->index >= fqdn_universe.index)
+		return NULL;
+
+	if (new_option_info_tree == GENERATE_NEW_OPTION_INFO)
+		new_option_info_tree = NULL;
+
+    return tsearch(option, &(new_option_info_tree), new_option_info_comparator);
+}
+
+void *lookup_new_option_info(struct option * option) {
+	if (new_option_info_tree == GENERATE_NEW_OPTION_INFO)
+		return NULL;
+
+	return tfind(option, &(new_option_info_tree), new_option_info_comparator);
+}
+#endif
--- dhcp-3.0.5/includes/dhcpd.h.enoi	2006-05-17 16:16:59.000000000 -0400
+++ dhcp-3.0.5/includes/dhcpd.h	2006-11-10 11:00:51.000000000 -0500
@@ -1811,6 +1811,13 @@
 void initialize_common_option_spaces PROTO ((void));
 struct universe *config_universe;
 
+#ifdef EXTENDED_NEW_OPTION_INFO
+#define GENERATE_NEW_OPTION_INFO ((void*)1)
+extern void *new_option_info_tree;
+extern void *add_new_option_info(struct option *);
+extern void *lookup_new_option_info(struct option *);
+#endif
+
 /* stables.c */
 #if defined (FAILOVER_PROTOCOL)
 extern failover_option_t null_failover_option;

dhcp-3.0.5-version.patch:
 version.h |    2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)

--- NEW FILE dhcp-3.0.5-version.patch ---
--- dhcp-3.0.5/includes/version.h.version	2006-10-26 18:19:38.000000000 -0400
+++ dhcp-3.0.5/includes/version.h	2006-11-10 11:16:04.000000000 -0500
@@ -1,3 +1,3 @@
 /* Current version of ISC DHCP Distribution. */
 
-#define DHCP_VERSION	"V3.0.5"
+#define DHCP_VERSION	"V3.0.5-RedHat"

dhcp-3.0.5-Makefile.patch:
 Makefile              |    8 ++++----
 Makefile.conf         |    2 +-
 client/Makefile.dist  |    2 +-
 dhcpctl/Makefile.dist |    4 ++--
 dst/Makefile.dist     |    7 ++++++-
 minires/Makefile.dist |   14 ++------------
 relay/Makefile.dist   |    2 +-
 server/Makefile.dist  |    2 +-
 8 files changed, 18 insertions(+), 23 deletions(-)

Index: dhcp-3.0.5-Makefile.patch
===================================================================
RCS file: /cvs/dist/rpms/dhcp/devel/dhcp-3.0.5-Makefile.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- dhcp-3.0.5-Makefile.patch	7 Nov 2006 15:49:44 -0000	1.1
+++ dhcp-3.0.5-Makefile.patch	10 Nov 2006 17:02:31 -0000	1.2
@@ -1,5 +1,105 @@
+--- dhcp-3.0.5/client/Makefile.dist.Makefile	2004-06-10 13:59:11.000000000 -0400
++++ dhcp-3.0.5/client/Makefile.dist	2006-11-10 11:10:13.000000000 -0500
+@@ -128,6 +128,6 @@
+ 
+ 
+ dhclient:	$(OBJS) $(DHCPLIB)
+-	$(CC) $(LFLAGS) -o $(PROG) $(OBJS) $(DHCPLIB) $(LIBS)
++	$(CC) $(LFLAGS) -pie $(RPM_OPT_FLAGS) -Wl,-z,relro,-z,now,-z,noexecstack,-z,nodlopen -o $(PROG) $(OBJS) $(DHCPLIB) $(LIBS)
+ 
+ # Dependencies (semi-automatically-generated)
+--- dhcp-3.0.5/dhcpctl/Makefile.dist.Makefile	2005-03-03 11:55:23.000000000 -0500
++++ dhcp-3.0.5/dhcpctl/Makefile.dist	2006-11-10 11:11:16.000000000 -0500
+@@ -37,10 +37,10 @@
+ all:	libdhcpctl.a omshell cltest $(CATMANPAGES)
+ 
+ omshell:	omshell.o $(DHCPCTLLIBS)
+-	$(CC) $(DEBUG) $(LFLAGS) -o omshell omshell.o $(DHCPCTLLIBS) $(LIBS)
++	$(CC) $(DEBUG) $(LFLAGS) -pie $(RPM_OPT_FLAGS) -Wl,-z,relro,-z,now,-z,noexecstack,-z,nodlopen -o omshell omshell.o $(DHCPCTLLIBS) $(LIBS)
+ 
+ cltest:	cltest.o $(DHCPCTLLIBS)
+-	$(CC) $(DEBUG) $(LFLAGS) -o cltest cltest.o $(DHCPCTLLIBS) $(LIBS)
++	$(CC) $(DEBUG) $(LFLAGS) -pie $(RPM_OPT_FLAGS) -Wl,-z,relro,-z,now,-z,noexecstack,-z,nodlopen -o cltest cltest.o $(DHCPCTLLIBS) $(LIBS)
+ 
+ libdhcpctl.a:	$(OBJ)
+ 	rm -f libdhcpctl.a
+--- dhcp-3.0.5/dst/Makefile.dist.Makefile	2004-06-10 13:59:28.000000000 -0400
++++ dhcp-3.0.5/dst/Makefile.dist	2006-11-10 11:11:42.000000000 -0500
+@@ -30,7 +30,12 @@
+ 
+ all:	libdst.a
+ 
+-install:
++install: all
++	if [ ! -d $(DESTDIR)$(LIBDIR) ]; then \
++		mkdir $(DESTDIR)$(LIBDIR); chmod 755 $(DESTDIR)$(LIBDIR); \
++	fi
++	$(INSTALL) libdst.a $(DESTDIR)$(LIBDIR)
++	$(CHMOD) 644 $(DESTDIR)$(LIBDIR)/libdst.a
+ 
+ libdst.a:	$(OBJ)
+ 	rm -f dst.a
+--- dhcp-3.0.5/minires/Makefile.dist.Makefile	2004-06-10 13:59:40.000000000 -0400
++++ dhcp-3.0.5/minires/Makefile.dist	2006-11-10 11:14:00.000000000 -0500
+@@ -21,9 +21,6 @@
+ #   <info at isc.org>
+ #   http://www.isc.org/
+ 
+-CATMANPAGES = dhcpctl.cat3
+-SEDMANPAGES = dhcpctl.man3
+-MAN    = dhcpctl.3
+ SRC    = res_mkupdate.c res_init.c res_update.c res_send.c res_comp.c \
+ 	 res_sendsigned.c res_findzonecut.c res_query.c res_mkquery.c \
+ 	 ns_date.c ns_parse.c ns_sign.c ns_name.c ns_samedomain.c ns_verify.c
+@@ -50,24 +47,17 @@
+ 	-rm -f $(OBJ) libres.a
+ 
+ realclean: clean
+-	-rm -f *~ $(CATMANPAGES) $(SEDMANPAGES)
++	-rm -f *~
+ 
+ distclean: realclean
+ 	-rm -f Makefile
+ 
+ links:
+-	@for foo in $(SRC) $(MAN) $(HDRS); do \
++	@for foo in $(SRC) $(HDRS); do \
+ 	  if [ ! -b $$foo ]; then \
+ 	    rm -f $$foo; \
+ 	  fi; \
+ 	  ln -s $(TOP)/minires/$$foo $$foo; \
+ 	done
+ 
+-dhcpctl.cat3:	dhcpctl.man3
+-	nroff -man dhcpctl.man3 >dhcpctl.cat3
+-
+-dhcpctl.man3:	dhcpctl.3
+-	sed -e "s#ETCDIR#$(ETC)#g" -e "s#DBDIR#$(VARDB)#g" \
+-		-e "s#RUNDIR#$(VARRUN)#g" < dhcpctl.3 >dhcpctl.man3
+-
+ # Dependencies (semi-automatically-generated)
+--- dhcp-3.0.5/relay/Makefile.dist.Makefile	2004-06-10 13:59:50.000000000 -0400
++++ dhcp-3.0.5/relay/Makefile.dist	2006-11-10 11:13:30.000000000 -0500
+@@ -83,6 +83,6 @@
+ 		-e "s#RUNDIR#$(VARRUN)#" < dhcrelay.8 >dhcrelay.man8
+ 
+ dhcrelay:	dhcrelay.o $(DHCPLIB)
+-	$(CC) $(LFLAGS) -o $(PROG) dhcrelay.o $(DHCPLIB) $(LIBS)
++	$(CC) $(LFLAGS) -pie $(RPM_OPT_FLAGS) -Wl,-z,relro,-z,now,-z,nodlopen,-z,noexecstack -o $(PROG) dhcrelay.o $(DHCPLIB) $(LIBS)
+ 
+ # Dependencies (semi-automatically-generated)
+--- dhcp-3.0.5/server/Makefile.dist.Makefile	2004-06-10 13:59:50.000000000 -0400
++++ dhcp-3.0.5/server/Makefile.dist	2006-11-10 11:14:27.000000000 -0500
+@@ -103,6 +103,6 @@
+ 		-e "s#RUNDIR#$(VARRUN)#g" < dhcpd.leases.5 >dhcpd.leases.man5
+ 
+ dhcpd:	$(OBJS) $(COBJ) $(DHCPLIB)
+-	$(CC) $(LFLAGS) -o dhcpd $(OBJS) $(DHCPLIB) $(LIBS)
++	$(CC) $(LFLAGS) -pie $(RPM_OPT_FLAGS) -Wl,-z,relro,-z,now,-z,noexecstack,-z,nodlopen -o dhcpd $(OBJS) $(DHCPLIB) $(LIBS)
+ 
+ # Dependencies (semi-automatically-generated)
 --- dhcp-3.0.5/Makefile.Makefile	2004-06-10 13:59:10.000000000 -0400
-+++ dhcp-3.0.5/Makefile	2006-11-07 10:30:45.000000000 -0500
++++ dhcp-3.0.5/Makefile	2006-11-10 11:09:32.000000000 -0500
 @@ -33,7 +33,7 @@
  	 if [ ! -d work.$$sysname ]; then \
  	   echo No build directory for $$sysname - please run ./configure.; \
@@ -35,3 +135,14 @@
 +	   (cd work.$$sysname; $(MAKE) links); \
  	fi
  
+--- dhcp-3.0.5/Makefile.conf.Makefile	2005-06-16 15:39:35.000000000 -0400
++++ dhcp-3.0.5/Makefile.conf	2006-11-10 11:12:43.000000000 -0500
+@@ -49,7 +49,7 @@
+ DEBUG = -g
+ #WARNERR = -Werror
+ RANLIB = ranlib
+-MKDEP = mkdep
++MKDEP = $(CC)
+ CLIENT_PATH = '"PATH=/usr/ucb:/usr/bin:/usr/sbin:/bin:/sbin"'
+ 
+ BINDLIB = ../minires/libres.a

dhcp-3.0.5-client.patch:
 clparse.c         |   14 +
 dhclient-script.8 |   23 ++
 dhclient.8        |  123 +++++++++++
 dhclient.c        |  525 ++++++++++++++++++++++++++++++++++++++++++++++----
 dhclient.conf.5   |   15 +
 scripts/linux     |  564 +++++++++++++++++++++++++++++++++++++++++++++---------
 6 files changed, 1134 insertions(+), 130 deletions(-)

Index: dhcp-3.0.5-client.patch
===================================================================
RCS file: /cvs/dist/rpms/dhcp/devel/dhcp-3.0.5-client.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- dhcp-3.0.5-client.patch	7 Nov 2006 15:49:44 -0000	1.1
+++ dhcp-3.0.5-client.patch	10 Nov 2006 17:02:31 -0000	1.2
@@ -1,5 +1,5 @@
 --- dhcp-3.0.5/client/scripts/linux.client	2002-11-14 20:09:09.000000000 -0500
-+++ dhcp-3.0.5/client/scripts/linux	2006-11-07 10:32:51.000000000 -0500
++++ dhcp-3.0.5/client/scripts/linux	2006-11-10 11:21:41.000000000 -0500
 @@ -19,16 +19,54 @@
  # address if it is not supplied. This might be much more easily done
  # by the dhclient C code, and passed on.
@@ -620,18 +620,8 @@
  fi
 -
  exit_with_hooks 0
---- dhcp-3.0.5/client/Makefile.dist.client	2004-06-10 13:59:11.000000000 -0400
-+++ dhcp-3.0.5/client/Makefile.dist	2006-11-07 10:32:20.000000000 -0500
-@@ -128,6 +128,6 @@
- 
- 
- dhclient:	$(OBJS) $(DHCPLIB)
--	$(CC) $(LFLAGS) -o $(PROG) $(OBJS) $(DHCPLIB) $(LIBS)
-+	$(CC) $(LFLAGS) -pie $(RPM_OPT_FLAGS) -Wl,-z,relro,-z,now,-z,noexecstack,-z,nodlopen -o $(PROG) $(OBJS) $(DHCPLIB) $(LIBS)
- 
- # Dependencies (semi-automatically-generated)
 --- dhcp-3.0.5/client/clparse.c.client	2006-02-22 17:43:27.000000000 -0500
-+++ dhcp-3.0.5/client/clparse.c	2006-11-07 10:32:25.000000000 -0500
++++ dhcp-3.0.5/client/clparse.c	2006-11-10 11:21:26.000000000 -0500
 @@ -51,6 +51,9 @@
  	DHO_DOMAIN_NAME,
  	DHO_DOMAIN_NAME_SERVERS,
@@ -675,7 +665,7 @@
  		lose = 0;
  		stmt = (struct executable_statement *)0;
 --- dhcp-3.0.5/client/dhclient-script.8.client	2005-09-28 15:17:08.000000000 -0400
-+++ dhcp-3.0.5/client/dhclient-script.8	2006-11-07 10:32:29.000000000 -0500
++++ dhcp-3.0.5/client/dhclient-script.8	2006-11-10 11:21:32.000000000 -0500
 @@ -47,7 +47,7 @@
  exit hooks provided (see HOOKS for details).   These hooks will allow the
  user to override the default behaviour of the client in creating a
@@ -713,22 +703,47 @@
  .SH OPERATION
  When dhclient needs to invoke the client configuration script, it
  defines a set of variables in the environment, and then invokes
---- dhcp-3.0.5/client/dhclient.8.client	2005-09-14 12:03:33.000000000 -0400
-+++ dhcp-3.0.5/client/dhclient.8	2006-11-07 10:32:37.000000000 -0500
-@@ -82,6 +82,34 @@
- .B -w
+--- dhcp-3.0.5/client/dhclient.conf.5.client	2005-06-16 15:40:13.000000000 -0400
++++ dhcp-3.0.5/client/dhclient.conf.5	2006-11-10 11:21:37.000000000 -0500
+@@ -185,7 +185,8 @@
+ options.   Only the option names should be specified in the request
+ statement - not option parameters.   By default, the DHCP server
+ requests the subnet-mask, broadcast-address, time-offset, routers,
+-domain-name, domain-name-servers and host-name options. 
++domain-name, domain-name-servers, host-name, nis-domain, nis-servers,
++and ntp-servers options.
+ .PP
+ In some cases, it may be desirable to send no parameter request list
+ at all.   To do this, simply write the request statement but specify
+@@ -581,6 +582,18 @@
+ Whenever the client tries to renew the lease, it will use that same
+ media type.   The lease must expire before the client will go back to
+ cycling through media types.
++.PP
++ \fBbootp-broadcast-always;\fR
++.PP
++The 
++.B bootp-broadcast-always
++statement instructs dhclient to always set the bootp broadcast flag in
++request packets, so that servers will always broadcast replies.
++This is equivalent to supplying the dhclient -B argument, and has
++the same effect as specifying 'always-broadcast' in the server's dhcpd.conf.
++This option is provided as a Red Hat extension to enable dhclient to work
++on IBM zSeries z/OS Linux guests .
++.PP
+ .SH SAMPLE
+ The following configuration file is used on a laptop running NetBSD
+ 1.3.   The laptop has an IP alias of 192.5.5.213, and has one
+--- dhcp-3.0.5/client/dhclient.8.client	2006-11-10 11:17:00.000000000 -0500
++++ dhcp-3.0.5/client/dhclient.8	2006-11-10 11:26:53.000000000 -0500
+@@ -85,6 +85,28 @@
+ .B -x
  ]
  [
-+.B -x
-+]
-+[
 +.B -I
 +.I dhcp-client-identifier
 +]
 +[
-+.B -B
-+]
-+[
 +.B -H
 +.I host-name
 +.R |
@@ -750,15 +765,10 @@
  .I if0
  [
  .I ...ifN
-@@ -265,6 +293,112 @@
- supplying the
- .B -nw
- flag.
-+.PP
-+The -x argument enables eXtended option information to be created in the
-+-s dhclient-script environment, which would allow applications running 
-+in that environment to handle options they do not know about in advance -
-+this is a Red Hat extension to support dhcdbd and NetworkManager.
+@@ -273,6 +295,107 @@
+ -s dhclient-script environment, which would allow applications running
+ in that environment to handle options they do not know about in advance -
+ this is a Red Hat extension to support dhcdbd and NetworkManager.
 +.PP
 +The -I <id> argument allows you to specify the dhcp-client-identifier string, <id>,
 +to be sent to the dhcp server on the command line. It is equivalent to the
@@ -863,24 +873,12 @@
  .SH CONFIGURATION
  The syntax of the dhclient.conf(5) file is discussed separately.
  .SH OMAPI
---- dhcp-3.0.5/client/dhclient.c.client	2006-08-22 11:13:57.000000000 -0400
-+++ dhcp-3.0.5/client/dhclient.c	2006-11-07 10:32:39.000000000 -0500
-@@ -34,7 +34,7 @@
- static char ocopyright[] =
- "$Id$ Copyright (c) 2004-2006 Internet Systems Consortium.  All rights reserved.\n";
- #endif /* not lint */
--
-+ 
- #include "dhcpd.h"
- #include "version.h"
- 
-@@ -74,11 +74,21 @@
- int onetry=0;
- int quiet=0;
- int nowait=0;
-+#ifdef EXTENDED_NEW_OPTION_INFO
-+int extended_option_environment = 0;
-+#endif
+--- dhcp-3.0.5/client/dhclient.c.client	2006-11-10 11:17:00.000000000 -0500
++++ dhcp-3.0.5/client/dhclient.c	2006-11-10 11:45:20.000000000 -0500
+@@ -77,11 +77,18 @@
+ #ifdef EXTENDED_NEW_OPTION_INFO
+ int extended_option_environment = 0;
+ #endif
 +int bootp_broadcast_always = 0;
  
  static void usage PROTO ((void));
@@ -896,7 +894,7 @@
  int main (argc, argv, envp)
  	int argc;
  	char **argv, **envp;
-@@ -101,6 +111,14 @@
+@@ -104,6 +111,14 @@
  	int no_dhclient_pid = 0;
  	int no_dhclient_script = 0;
  	char *s;
@@ -911,7 +909,7 @@
  
  	/* Make sure we have stdin, stdout and stderr. */
  	i = open ("/dev/null", O_RDWR);
-@@ -142,45 +160,60 @@
+@@ -145,45 +160,60 @@
  			release_mode = 1;
  			no_daemon = 1;
  		} else if (!strcmp (argv [i], "-p")) {
@@ -980,7 +978,7 @@
  			relay = argv [i];
  		} else if (!strcmp (argv [i], "-nw")) {
  			nowait = 1;
-@@ -192,8 +225,10 @@
+@@ -195,8 +225,10 @@
  			persist = 1;
  		} else if (!strcmp (argv [i], "-e")) {
  			struct string_list *tmp;
@@ -992,111 +990,99 @@
  			tmp = dmalloc (strlen (argv [i]) + sizeof *tmp, MDL);
  			if (!tmp)
  				log_fatal ("No memory for %s", argv [i]);
-@@ -204,8 +239,102 @@
- 		} else if (!strcmp (argv [i], "--version")) {
- 			log_info ("isc-dhclient-%s", DHCP_VERSION);
- 			exit (0);
-+#ifdef EXTENDED_NEW_OPTION_INFO
-+		} else if (!strcmp (argv [i], "-x")) {
-+		    extended_option_environment = 1;
-+		    new_option_info_tree = GENERATE_NEW_OPTION_INFO;
-+#endif
+@@ -212,8 +244,91 @@
+ 			extended_option_environment = 1;
+ 			new_option_info_tree = GENERATE_NEW_OPTION_INFO;
+ #endif
 +		} else if (!strcmp (argv [i], "-I")) {
 +			if ((++i == argc) || (argv[i] == 0L) || (*(argv[i])=='\0')) {
 +				usage ();
 +				return EXIT_FAILURE;
 +			}
-+			if (strlen(argv[i]) >= DHCP_OPTION_LEN)
-+			{
-+				log_error("-I option dhcp-client-identifier string \"%s\" is too long -"
-+					  "maximum length is: %d",  argv[i], DHCP_OPTION_LEN-1);
++
++			if (strlen(argv[i]) >= DHCP_OPTION_LEN) {
++				log_error("-I option dhcp-client-identifier string \"%s\" is too long - maximum length is: %d",  argv[i], DHCP_OPTION_LEN-1);
 +				exit(1);
 +			}
-+			dhcp_client_identifier_arg = argv[i];
 +
++			dhcp_client_identifier_arg = argv[i];
 +		} else if (!strcmp (argv [i], "-B")) {
 +			bootp_broadcast_always = 1;
 +		} else if (!strcmp (argv [i], "-H")) {
-+            if ((++i == argc) || (argv[i] == 0L) || (*(argv[i])=='\0')) {
-+			    usage ();
-+			    return EXIT_FAILURE;
-+            }
-+ 			if (strlen(argv[i]) >= DHCP_OPTION_LEN)
-+			{
-+				log_error("-H option host-name string \"%s\" is too long -"
-+					  "maximum length is: %d",  argv[i], DHCP_OPTION_LEN-1);
-+				exit(1);
++			if ((++i == argc) || (argv[i] == 0L) || (*(argv[i])=='\0')) {
++				usage ();
++				return EXIT_FAILURE;
 +			}
-+			if ( dhcp_host_name_arg != 0L )
-+			{
-+				log_error("Only one -H <host-name> argument can be specified");
++
++			if (strlen(argv[i]) >= DHCP_OPTION_LEN) {
++				log_error("-H option host-name string \"%s\" is too long - maximum length is: %d",  argv[i], DHCP_OPTION_LEN-1);
 +				exit(1);
 +			}
-+			if ( dhcp_fqdn_arg != 0L )
-+			{
++
++			if (dhcp_host_name_arg != NULL) {
 +				log_error("The -H <host-name> and -F <fqdn> arguments are mutually exclusive");
 +				exit(1);
 +			}
++
 +			dhcp_host_name_arg = argv[i];
 +		} else if (!strcmp (argv [i], "-F")) {
-+            if ((++i == argc) || (argv[i] == 0L) || (*(argv[i])=='\0')) {
++			if ((++i == argc) || (argv[i] == 0L) || (*(argv[i])=='\0')) {
 +				usage ();
 +				return EXIT_FAILURE;
-+            }
-+			if (strlen(argv[i]) >= DHCP_OPTION_LEN)
-+			{
-+				log_error("-F option fqdn.fqdn string \"%s\" is too long -"
-+					  "maximum length is: %d",  argv[i], DHCP_OPTION_LEN-1);
++			}
++
++			if (strlen(argv[i]) >= DHCP_OPTION_LEN) {
++				log_error("-F option fqdn.fqdn string \"%s\" is too long - maximum length is: %d",  argv[i], DHCP_OPTION_LEN-1);
 +				exit(1);
 +			}
-+			if ( dhcp_fqdn_arg != 0L )
-+			{
++
++			if (dhcp_fqdn_arg != NULL) {
 +				log_error("Only one -F <fqdn> argument can be specified");
 +				exit(1);
 +			}
-+			if ( dhcp_host_name_arg != 0L )
-+			{
++
++			if (dhcp_host_name_arg != NULL) {
 +				log_error("The -F <fqdn> and -H <host-name> arguments are mutually exclusive");
 +				exit(1);
 +			}
++
 +			dhcp_fqdn_arg = argv[i];
++		} else if (!strcmp (argv [i], "-T")) {
++			if ((++i == argc) || (argv[i] == 0L) || (*(argv[i])=='\0')) {
++				usage ();
++				return EXIT_FAILURE;
++			}
 +
-+ 		} else if (!strcmp (argv [i], "-T")) {
-+            if ((++i == argc) || (argv[i] == 0L) || (*(argv[i])=='\0')) {
-+                usage ();
-+                return EXIT_FAILURE;
-+            }
-+			if ((timeout_arg = atoi(argv[i])) <= 0 )
-+			{
++			if ((timeout_arg = atoi(argv[i])) <= 0) {
 +				log_error("-T timeout option must be > 0 - bad value: %s",argv[i]);
 +				exit(1);
-+			}			
-+ 		} else if (!strcmp (argv [i], "-V")) {
-+            if ((++i == argc) || (argv[i] == 0L) || (*(argv[i])=='\0')) {
++			}
++		} else if (!strcmp (argv [i], "-V")) {
++			if ((++i == argc) || (argv[i] == 0L) || (*(argv[i])=='\0')) {
 +				usage ();
-+                return EXIT_FAILURE;
-+            }
-+			if (strlen(argv[i]) >= DHCP_OPTION_LEN)
-+			{
-+				log_error("-V option vendor-class-identifier string \"%s\" is too long -"
-+					  "maximum length is: %d",  argv[i], DHCP_OPTION_LEN-1);
++				return EXIT_FAILURE;
++			}
++
++			if (strlen(argv[i]) >= DHCP_OPTION_LEN) {
++				log_error("-V option vendor-class-identifier string \"%s\" is too long - maximum length is: %d",  argv[i], DHCP_OPTION_LEN-1);
 +				exit(1);
 +			}
++
 +			dhcp_vendor_class_identifier_arg = argv[i];
 +		} else if (!strcmp (argv [i], "-R")) {
 +			if ((++i == argc) || (argv[i] == 0L) || (*(argv[i])=='\0')) {
 +				usage ();
-+                return EXIT_FAILURE;
-+            }
++				return EXIT_FAILURE;
++			}
++
 +			dhclient_request_options=argv[i];
   		} else if (argv [i][0] == '-') {
-- 		    usage ();
-+            usage ();
-+            return EXIT_FAILURE;
+  		    usage ();
++ 		    return EXIT_FAILURE;
  		} else {
   		    struct interface_info *tmp = (struct interface_info *)0;
  		    status = interface_allocate (&tmp, MDL);
-@@ -240,6 +369,7 @@
+@@ -248,6 +363,7 @@
  		path_dhclient_script = s;
  	}
  
@@ -1104,7 +1090,7 @@
  	/* first kill of any currently running client */
  	if (release_mode) {
  		FILE *pidfd;
-@@ -259,8 +389,94 @@
+@@ -267,8 +383,94 @@
  				}
  			}
  			fclose(pidfd);
@@ -1201,7 +1187,7 @@
  
  	if (!quiet) {
  		log_info ("%s %s", message, DHCP_VERSION);
-@@ -340,6 +556,223 @@
+@@ -348,6 +550,223 @@
  	/* Parse the dhclient.conf file. */
  	read_client_conf ();
  
@@ -1425,7 +1411,7 @@
  	/* Parse the lease database. */
  	read_client_leases ();
  
-@@ -377,6 +810,16 @@
+@@ -385,6 +804,16 @@
  				continue;
  			script_init (ip -> client,
  				     "PREINIT", (struct string_list *)0);
@@ -1442,7 +1428,7 @@
  			if (ip -> client -> alias)
  				script_write_params (ip -> client, "alias_",
  						     ip -> client -> alias);
-@@ -415,10 +858,7 @@
+@@ -423,10 +852,7 @@
  				do_release (client);
  			else {
  				client -> state = S_INIT;
@@ -1454,7 +1440,7 @@
  			}
  		}
  	}
-@@ -471,16 +911,28 @@
+@@ -479,20 +905,27 @@
  
  static void usage ()
  {
@@ -1462,38 +1448,37 @@
 -	log_info (copyright);
 -	log_info (arr);
 -	log_info (url);
--
--	log_error ("Usage: dhclient [-1dqr] [-nw] [-p <port>] %s",
--		   "[-s server]");
--	log_error ("                [-cf config-file] [-lf lease-file]%s",
--		   "[-pf pid-file] [-e VAR=val]");
--	log_fatal ("                [-sf script-file] [interface]");
 +	printf ("%s %s\n", message, DHCP_VERSION);
 +	printf (copyright);
-+    printf ("\n");
++	printf ("\n");
 +	printf (arr);
-+    printf ("\n");
++	printf ("\n");
 +	printf (url);
-+    printf ("\n");
-+
-+#ifdef EXTENDED_NEW_OPTION_INFO
++	printf ("\n");
+ 
+ #ifdef EXTENDED_NEW_OPTION_INFO
+-	log_error ("Usage: dhclient [-1dqr] [-nwx] [-p <port>] %s",
 +	printf ("Usage: dhclient [-1dqr] [-nwx] [-p <port>] %s",
-+#else
+ #else
+-	log_error ("Usage: dhclient [-1dqr] [-nw] [-p <port>] %s",
 +	printf ("Usage: dhclient [-1dqr] [-nw] [-p <port>] %s",
-+#endif
-+		   "[-s server]\n");
-+	printf ("                [-cf config-file] [-lf lease-file]%s\n",
-+		   "[-pf pid-file] [-e VAR=val]\n");
+ #endif
+-		   "[-s server]");
+-	log_error ("                [-cf config-file] [-lf lease-file]%s",
+-		   "[-pf pid-file] [-e VAR=val]");
+-	log_fatal ("                [-sf script-file] [interface]");
++		"[-s server]");
++	printf ("                [-cf config-file] [-lf lease-file]%s",
++		"[-pf pid-file] [-e VAR=val]");
 +	printf ("                [ -I <dhcp-client-identifier> ] [-B]\n");
 +	printf ("                [ -H <host-name> | -F <fqdn.fqdn> ] [ -T <timeout> ]\n");
 +	printf ("                [ -V <vendor-class-identifier> ]\n");
 +	printf ("                [ -R <request option list> ]\n");
-+	printf ("                [ -sf script-file] [interface]\n");
-+
++	printf ("                [-sf script-file] [interface]");
  }
  
  isc_result_t find_class (struct class **c,
-@@ -587,6 +1039,7 @@
+@@ -599,6 +1032,7 @@
  	void *cpp;
  {
  	struct client_state *client = cpp;
@@ -1501,7 +1486,7 @@
  
  	ASSERT_STATE(state, S_INIT);
  
-@@ -599,9 +1052,20 @@
+@@ -611,9 +1045,20 @@
  	client -> first_sending = cur_time;
  	client -> interval = client -> config -> initial_interval;
  
@@ -1525,7 +1510,7 @@
  }
  
  /* state_selecting is called when one or more DHCPOFFER packets have been
-@@ -681,7 +1145,6 @@
+@@ -693,7 +1138,6 @@
  	/* Add an immediate timeout to send the first DHCPREQUEST packet. */
  	send_request (client);
  }  
@@ -1533,7 +1518,7 @@
  /* state_requesting is called when we receive a DHCPACK message after
     having sent out one or more DHCPREQUEST packets. */
  
-@@ -872,6 +1335,7 @@
+@@ -884,6 +1328,7 @@
  		send_decline (client);
  		destroy_client_lease (client -> new);
  		client -> new = (struct client_lease *)0;
@@ -1541,7 +1526,7 @@
  		state_init (client);
  		return;
  	}
-@@ -1383,6 +1847,7 @@
+@@ -1395,6 +1840,7 @@
  
  	/* If we're past the panic timeout, call the script and tell it
  	   we haven't found anything for this interface yet. */
@@ -1549,7 +1534,7 @@
  	if (interval > client -> config -> timeout) {
  		state_panic (client);
  		return;
-@@ -1922,8 +2387,9 @@
+@@ -1934,8 +2380,9 @@
  	client -> packet.xid = random ();
  	client -> packet.secs = 0; /* filled in by send_discover. */
  
@@ -1561,7 +1546,7 @@
  	else
  		client -> packet.flags = htons (BOOTP_BROADCAST);
  
-@@ -2009,8 +2475,9 @@
+@@ -2021,8 +2468,9 @@
  	} else {
  		memset (&client -> packet.ciaddr, 0,
  			sizeof client -> packet.ciaddr);
@@ -1573,7 +1558,7 @@
  		else
  			client -> packet.flags = htons (BOOTP_BROADCAST);
  	}
-@@ -2069,8 +2536,9 @@
+@@ -2081,8 +2529,9 @@
  	client -> packet.hops = 0;
  	client -> packet.xid = client -> xid;
  	client -> packet.secs = 0; /* Filled in by send_request. */
@@ -1585,68 +1570,15 @@
  	else
  		client -> packet.flags = htons (BOOTP_BROADCAST);
  
-@@ -2447,8 +2915,28 @@
+@@ -2459,6 +2908,7 @@
  struct envadd_state {
  	struct client_state *client;
  	const char *prefix;
-+        struct universe *universe;
++	struct universe *universe;
  };
  
-+#ifdef EXTENDED_NEW_OPTION_INFO			
-+static 
-+void build_universe_info_envvar
-+(      struct option_cache *oc,
-+       struct packet *p, struct lease *l,
-+       struct client_state *client,
-+       struct option_state *in_o,
-+       struct option_state *cf_o,
-+       struct binding_scope **scope,
-+       struct universe *u, void *es	          
-+)
-+{
-+    char info_name[512], info_data[512];
-+    snprintf(info_name, 512, "%s._universe_.", oc->option->universe->name);
-+    snprintf(info_data, 512, "%u:%s", oc->option->code,oc->option->format);
-+    client_envadd( client, info_name, oc->option->name, info_data );
-+}
-+#endif
-+
- void client_option_envadd (struct option_cache *oc,
- 			   struct packet *packet, struct lease *lease,
- 			   struct client_state *client_state,
-@@ -2465,6 +2953,31 @@
- 				   in_options, cfg_options, scope, oc, MDL)) {
- 		if (data.len) {
- 			char name [256];
-+#ifdef EXTENDED_NEW_OPTION_INFO			
-+			if (  extended_option_environment )
-+			{
-+				if(  ( oc->option->universe != &dhcp_universe )
-+				   &&( oc->option->universe->index > fqdn_universe.index )
-+				   &&( es->universe !=  oc->option->universe )
-+			          )
-+				{
-+					es->universe = oc->option->universe;
-+					(*(es->universe->foreach))
-+					     (  (struct packet *)0, (struct lease *)0, 
-+						client_state, 
-+						in_options, cfg_options, 
-+						scope, es->universe, es, 
-+						build_universe_info_envvar
-+					     );
-+				}else
-+				if ( lookup_new_option_info(oc->option) != 0L )			   
-+					build_universe_info_envvar
-+					      ( oc, packet, lease, client_state, 
-+						in_options, cfg_options, scope,
-+						oc->option->universe, es 
-+					      );
-+			}
-+#endif
- 			if (dhcp_option_ev_name (name, sizeof name,
- 						 oc -> option)) {
- 				client_envadd (es -> client, es -> prefix,
-@@ -2493,6 +3006,7 @@
+ #ifdef EXTENDED_NEW_OPTION_INFO
+@@ -2546,6 +2996,7 @@
  
  	es.client = client;
  	es.prefix = prefix;
@@ -1654,7 +1586,7 @@
  
  	client_envadd (client,
  		       prefix, "ip_address", "%s", piaddr (lease -> address));
-@@ -2621,6 +3135,8 @@
+@@ -2674,6 +3125,8 @@
  			wstatus = 0;
  		}
  	} else {
@@ -1663,22 +1595,7 @@
  		execve (scriptName, argv, envp);
  		log_error ("execve (%s, ...): %m", scriptName);
  		exit (0);
-@@ -2704,7 +3220,14 @@
- 			s = option -> name;
- 			if (j + 1 == buflen)
- 				return 0;
-+#ifdef EXTENDED_NEW_OPTION_INFO
-+			if ( ! extended_option_environment )
-+			    buf [j++] = '_';
-+			else
-+			    buf [j++] = '.';
-+#else
- 			buf [j++] = '_';
-+#endif
- 		}
- 		++i;
- 	} while (i != 2);
-@@ -2805,7 +3328,9 @@
+@@ -2865,7 +3318,9 @@
  			      case S_INIT:
  			      case S_REBINDING:
  			      case S_STOPPED:
@@ -1688,34 +1605,3 @@
  			}
  			client -> state = S_INIT;
  			state_reboot (client);
---- dhcp-3.0.5/client/dhclient.conf.5.client	2005-06-16 15:40:13.000000000 -0400
-+++ dhcp-3.0.5/client/dhclient.conf.5	2006-11-07 10:32:44.000000000 -0500
-@@ -185,7 +185,8 @@
- options.   Only the option names should be specified in the request
- statement - not option parameters.   By default, the DHCP server
- requests the subnet-mask, broadcast-address, time-offset, routers,
--domain-name, domain-name-servers and host-name options. 
-+domain-name, domain-name-servers, host-name, nis-domain, nis-servers,
-+and ntp-servers options.
- .PP
- In some cases, it may be desirable to send no parameter request list
- at all.   To do this, simply write the request statement but specify
-@@ -581,6 +582,18 @@
- Whenever the client tries to renew the lease, it will use that same
- media type.   The lease must expire before the client will go back to
- cycling through media types.
-+.PP
-+ \fBbootp-broadcast-always;\fR
-+.PP
-+The 
-+.B bootp-broadcast-always
-+statement instructs dhclient to always set the bootp broadcast flag in
-+request packets, so that servers will always broadcast replies.
-+This is equivalent to supplying the dhclient -B argument, and has
-+the same effect as specifying 'always-broadcast' in the server's dhcpd.conf.
-+This option is provided as a Red Hat extension to enable dhclient to work
-+on IBM zSeries z/OS Linux guests .
-+.PP
- .SH SAMPLE
- The following configuration file is used on a laptop running NetBSD
- 1.3.   The laptop has an IP alias of 192.5.5.213, and has one

dhcp-3.0.5-common.patch:
 alloc.c        |    2 +-
 conflex.c      |    2 ++
 dhcp-options.5 |   18 ++++++++++++++++++
 discover.c     |    2 +-
 options.c      |   18 +++++++++---------
 packet.c       |    5 +++--
 parse.c        |   13 +++++++------
 7 files changed, 41 insertions(+), 19 deletions(-)

Index: dhcp-3.0.5-common.patch
===================================================================
RCS file: /cvs/dist/rpms/dhcp/devel/dhcp-3.0.5-common.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- dhcp-3.0.5-common.patch	7 Nov 2006 15:49:44 -0000	1.1
+++ dhcp-3.0.5-common.patch	10 Nov 2006 17:02:31 -0000	1.2
@@ -1,5 +1,29 @@
+--- dhcp-3.0.5/common/parse.c.common	2006-11-10 11:46:25.000000000 -0500
++++ dhcp-3.0.5/common/parse.c	2006-11-10 11:47:43.000000000 -0500
+@@ -4842,14 +4842,15 @@
+ #endif
+ 
+ 	if (log_perror) {
+-		write (STDERR_FILENO, mbuf, strlen (mbuf));
+-		write (STDERR_FILENO, "\n", 1);
+-		write (STDERR_FILENO, cfile -> token_line,
++		int r;
++		r = write (STDERR_FILENO, mbuf, strlen (mbuf));
++		r = write (STDERR_FILENO, "\n", 1);
++		r = write (STDERR_FILENO, cfile -> token_line,
+ 		       strlen (cfile -> token_line));
+-		write (STDERR_FILENO, "\n", 1);
++		r = write (STDERR_FILENO, "\n", 1);
+ 		if (cfile -> lexchar < 81)
+-			write (STDERR_FILENO, lexbuf, lix);
+-		write (STDERR_FILENO, "^\n", 2);
++			r = write (STDERR_FILENO, lexbuf, lix);
++		r = write (STDERR_FILENO, "^\n", 2);
+ 	}
+ 
+ 	cfile -> warnings_occurred = 1;
 --- dhcp-3.0.5/common/alloc.c.common	2006-02-22 17:43:27.000000000 -0500
-+++ dhcp-3.0.5/common/alloc.c	2006-11-07 10:33:56.000000000 -0500
++++ dhcp-3.0.5/common/alloc.c	2006-11-10 11:47:55.000000000 -0500
 @@ -146,7 +146,7 @@
  	for (car = option_chain_head -> first; car; car = cdr) {
  		cdr = car -> cdr;
@@ -10,7 +34,7 @@
  		dfree (car, MDL);
  		car = cdr;
 --- dhcp-3.0.5/common/conflex.c.common	2006-02-22 17:43:27.000000000 -0500
-+++ dhcp-3.0.5/common/conflex.c	2006-11-07 10:34:00.000000000 -0500
++++ dhcp-3.0.5/common/conflex.c	2006-11-10 11:47:58.000000000 -0500
 @@ -605,6 +605,8 @@
  			return BALANCE;
  		if (!strcasecmp (atom + 1, "ound"))
@@ -21,7 +45,7 @@
  	      case 'c':
  		if (!strcasecmp (atom + 1, "ase"))
 --- dhcp-3.0.5/common/dhcp-options.5.common	2006-04-26 11:12:43.000000000 -0400
-+++ dhcp-3.0.5/common/dhcp-options.5	2006-11-07 10:34:04.000000000 -0500
++++ dhcp-3.0.5/common/dhcp-options.5	2006-11-10 11:48:01.000000000 -0500
 @@ -834,6 +834,24 @@
  classless IP routing is now the most widely deployed routing standard,
  this option is virtually useless, and is not implemented by any of the
@@ -48,7 +72,7 @@
  .PP
  .nf
 --- dhcp-3.0.5/common/discover.c.common	2006-02-22 17:43:27.000000000 -0500
-+++ dhcp-3.0.5/common/discover.c	2006-11-07 10:34:10.000000000 -0500
++++ dhcp-3.0.5/common/discover.c	2006-11-10 11:48:05.000000000 -0500
 @@ -878,7 +878,7 @@
  		interface -> client = (struct client_state *)0;
  
@@ -59,7 +83,7 @@
  
  	return ISC_R_SUCCESS;
 --- dhcp-3.0.5/common/options.c.common	2006-02-22 17:43:27.000000000 -0500
-+++ dhcp-3.0.5/common/options.c	2006-11-07 10:34:14.000000000 -0500
++++ dhcp-3.0.5/common/options.c	2006-11-10 11:48:08.000000000 -0500
 @@ -1733,9 +1733,9 @@
  		   in its place. */
  		if (bptr) {
@@ -130,7 +154,7 @@
  			dfree (*tail, MDL);
  			(*tail) = tmp;
 --- dhcp-3.0.5/common/packet.c.common	2005-03-03 11:55:23.000000000 -0500
-+++ dhcp-3.0.5/common/packet.c	2006-11-07 10:34:18.000000000 -0500
++++ dhcp-3.0.5/common/packet.c	2006-11-10 11:48:11.000000000 -0500
 @@ -140,6 +140,7 @@
  	struct ip ip;
  	struct udphdr udp;
@@ -157,81 +181,3 @@
  
  #ifdef USERLAND_FILTER
    /* Is it a UDP packet? */
---- dhcp-3.0.5/common/parse.c.common	2006-02-22 17:43:27.000000000 -0500
-+++ dhcp-3.0.5/common/parse.c	2006-11-07 10:34:20.000000000 -0500
-@@ -1271,6 +1271,10 @@
- 	option_hash_add (option -> universe -> hash,
- 			 (const char *)option -> name,
- 			 0, option, MDL);
-+#ifdef EXTENDED_NEW_OPTION_INFO
-+	if ( new_option_info_tree != 0L )
-+		add_new_option_info( option );
-+#endif
- 	return 1;
- }
- 
-@@ -4838,14 +4842,15 @@
- #endif
- 
- 	if (log_perror) {
--		write (STDERR_FILENO, mbuf, strlen (mbuf));
--		write (STDERR_FILENO, "\n", 1);
--		write (STDERR_FILENO, cfile -> token_line,
-+		int r;
-+		r = write (STDERR_FILENO, mbuf, strlen (mbuf));
-+		r = write (STDERR_FILENO, "\n", 1);
-+		r = write (STDERR_FILENO, cfile -> token_line,
- 		       strlen (cfile -> token_line));
--		write (STDERR_FILENO, "\n", 1);
-+		r = write (STDERR_FILENO, "\n", 1);
- 		if (cfile -> lexchar < 81)
--			write (STDERR_FILENO, lexbuf, lix);
--		write (STDERR_FILENO, "^\n", 2);
-+			r = write (STDERR_FILENO, lexbuf, lix);
-+		r = write (STDERR_FILENO, "^\n", 2);
- 	}
- 
- 	cfile -> warnings_occurred = 1;
---- dhcp-3.0.5/common/tables.c.common	2006-02-22 17:43:27.000000000 -0500
-+++ dhcp-3.0.5/common/tables.c	2006-11-07 10:34:23.000000000 -0500
-@@ -1250,3 +1250,40 @@
- 			   fqdn_universe.name, 0,
- 			   &fqdn_universe, MDL);
- }
-+
-+#ifdef EXTENDED_NEW_OPTION_INFO
-+#include <search.h>
-+
-+void *new_option_info_tree = 0L;
-+
-+static int  new_option_info_comparator( const void* p1, const void *p2 )
-+{
-+	uint32_t ocode1 =  (((const struct option*)p1)->universe->index << 8)
-+		          |(((const struct option*)p1)->code),
-+		 ocode2 =  (((const struct option*)p2)->universe->index << 8)
-+	                  |(((const struct option*)p2)->code);
-+	return( (ocode1 == ocode2) 
-+		? 0 
-+		:( ( ocode1 > ocode2 )
-+		   ?  1
-+		   : -1
-+	         )
-+	      );
-+}
-+
-+void *add_new_option_info( struct option *option )
-+{
-+	if ( option->universe->index >= fqdn_universe.index )
-+		return 0L;
-+	if ( new_option_info_tree == GENERATE_NEW_OPTION_INFO )
-+		new_option_info_tree = (void*)0L;
-+	return tsearch( option, &(new_option_info_tree), new_option_info_comparator );
-+}
-+
-+void *lookup_new_option_info( struct option *option )
-+{
-+	if ( new_option_info_tree == GENERATE_NEW_OPTION_INFO )
-+		return 0L;
-+	return tfind( option, &(new_option_info_tree), new_option_info_comparator );
-+}
-+#endif

dhcp-3.0.5-dhcpctl.patch:
 callback.c |    2 +-
 dhcpctl.3  |    5 +++--
 remote.c   |   12 ++++++------
 3 files changed, 10 insertions(+), 9 deletions(-)

Index: dhcp-3.0.5-dhcpctl.patch
===================================================================
RCS file: /cvs/dist/rpms/dhcp/devel/dhcp-3.0.5-dhcpctl.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- dhcp-3.0.5-dhcpctl.patch	7 Nov 2006 15:49:44 -0000	1.1
+++ dhcp-3.0.5-dhcpctl.patch	10 Nov 2006 17:02:31 -0000	1.2
@@ -1,20 +1,5 @@
---- dhcp-3.0.5/dhcpctl/Makefile.dist.dhcpctl	2005-03-03 11:55:23.000000000 -0500
-+++ dhcp-3.0.5/dhcpctl/Makefile.dist	2006-11-07 10:35:06.000000000 -0500
-@@ -37,10 +37,10 @@
- all:	libdhcpctl.a omshell cltest $(CATMANPAGES)
- 
- omshell:	omshell.o $(DHCPCTLLIBS)
--	$(CC) $(DEBUG) $(LFLAGS) -o omshell omshell.o $(DHCPCTLLIBS) $(LIBS)
-+	$(CC) $(DEBUG) $(LFLAGS) -pie $(RPM_OPT_FLAGS) -Wl,-z,relro,-z,now,-z,noexecstack,-z,nodlopen -o omshell omshell.o $(DHCPCTLLIBS) $(LIBS)
- 
- cltest:	cltest.o $(DHCPCTLLIBS)
--	$(CC) $(DEBUG) $(LFLAGS) -o cltest cltest.o $(DHCPCTLLIBS) $(LIBS)
-+	$(CC) $(DEBUG) $(LFLAGS) -pie $(RPM_OPT_FLAGS) -Wl,-z,relro,-z,now,-z,noexecstack,-z,nodlopen -o cltest cltest.o $(DHCPCTLLIBS) $(LIBS)
- 
- libdhcpctl.a:	$(OBJ)
- 	rm -f libdhcpctl.a
 --- dhcp-3.0.5/dhcpctl/callback.c.dhcpctl	2004-06-10 13:59:23.000000000 -0400
-+++ dhcp-3.0.5/dhcpctl/callback.c	2006-11-07 10:35:09.000000000 -0500
++++ dhcp-3.0.5/dhcpctl/callback.c	2006-11-10 11:50:05.000000000 -0500
 @@ -150,7 +150,7 @@
  		return ISC_R_INVALIDARG;
  	p = (dhcpctl_callback_object_t *)h;
@@ -25,7 +10,7 @@
  	return ISC_R_SUCCESS;
  }
 --- dhcp-3.0.5/dhcpctl/dhcpctl.3.dhcpctl	2004-09-24 17:08:38.000000000 -0400
-+++ dhcp-3.0.5/dhcpctl/dhcpctl.3	2006-11-07 10:35:13.000000000 -0500
++++ dhcp-3.0.5/dhcpctl/dhcpctl.3	2006-11-10 11:50:08.000000000 -0500
 @@ -43,7 +43,8 @@
  .\"
  .\"
@@ -46,7 +31,7 @@
  int main (int argc, char **argv) {
  	dhcpctl_data_string ipaddrstring = NULL;
 --- dhcp-3.0.5/dhcpctl/remote.c.dhcpctl	2004-06-10 13:59:24.000000000 -0400
-+++ dhcp-3.0.5/dhcpctl/remote.c	2006-11-07 10:35:15.000000000 -0500
++++ dhcp-3.0.5/dhcpctl/remote.c	2006-11-10 11:50:10.000000000 -0500
 @@ -122,7 +122,7 @@
  	isc_result_t status;
  

dhcp-3.0.5-dst.patch:
 dst_api.c |   12 +++++++++---
 1 files changed, 9 insertions(+), 3 deletions(-)

Index: dhcp-3.0.5-dst.patch
===================================================================
RCS file: /cvs/dist/rpms/dhcp/devel/dhcp-3.0.5-dst.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- dhcp-3.0.5-dst.patch	7 Nov 2006 15:49:44 -0000	1.1
+++ dhcp-3.0.5-dst.patch	10 Nov 2006 17:02:31 -0000	1.2
@@ -1,21 +1,5 @@
---- dhcp-3.0.5/dst/Makefile.dist.dst	2004-06-10 13:59:28.000000000 -0400
-+++ dhcp-3.0.5/dst/Makefile.dist	2006-11-07 10:36:05.000000000 -0500
-@@ -30,7 +30,12 @@
- 
- all:	libdst.a
- 
--install:
-+install: all
-+	if [ ! -d $(DESTDIR)$(LIBDIR) ]; then \
-+		mkdir $(DESTDIR)$(LIBDIR); chmod 755 $(DESTDIR)$(LIBDIR); \
-+	fi
-+	$(INSTALL) libdst.a $(DESTDIR)$(LIBDIR)
-+	$(CHMOD) 644 $(DESTDIR)$(LIBDIR)/libdst.a
- 
- libdst.a:	$(OBJ)
- 	rm -f dst.a
 --- dhcp-3.0.5/dst/dst_api.c.dst	2001-02-22 02:22:08.000000000 -0500
-+++ dhcp-3.0.5/dst/dst_api.c	2006-11-07 10:36:08.000000000 -0500
++++ dhcp-3.0.5/dst/dst_api.c	2006-11-10 11:51:20.000000000 -0500
 @@ -542,8 +542,14 @@
  			 ,name));
  		return (NULL);

dhcp-3.0.5-fix-warnings.patch:
 client/clparse.c       |   15 +--------------
 client/dhclient.c      |   29 ++---------------------------
 common/alloc.c         |   10 ----------
 common/comapi.c        |   26 ++------------------------
 common/discover.c      |    9 +--------
 common/dns.c           |    5 -----
 common/execute.c       |   10 ----------
 common/icmp.c          |    5 -----
 common/inet.c          |    2 +-
 common/lpf.c           |    3 ---
 common/memory.c        |    4 +---
 common/options.c       |   21 +--------------------
 common/parse.c         |   27 +++------------------------
 common/print.c         |    2 --
 common/resolv.c        |    5 -----
 common/socket.c        |    2 --
 common/tree.c          |   17 +++--------------
 dhcpctl/callback.c     |    3 ---
 dhcpctl/cltest.c       |    5 ++---
 dhcpctl/dhcpctl.c      |    6 ------
 dhcpctl/omshell.c      |    5 +----
 dhcpctl/remote.c       |    2 --
 dst/prandom.c          |    2 +-
 minires/res_mkupdate.c |    2 +-
 minires/res_update.c   |    2 +-
 omapip/alloc.c         |    1 -
 omapip/array.c         |    2 --
 omapip/buffer.c        |    3 ---
 omapip/connection.c    |    6 ------
 omapip/convert.c       |    2 +-
 omapip/generic.c       |    1 -
 omapip/handle.c        |    2 --
 omapip/hash.c          |    3 ---
 omapip/listener.c      |    8 --------
 omapip/message.c       |    4 ----
 omapip/mrtrace.c       |    2 --
 omapip/protocol.c      |    5 -----
 omapip/support.c       |   11 -----------
 omapip/trace.c         |    4 +---
 relay/dhcrelay.c       |    2 +-
 server/confpars.c      |   14 +-------------
 server/db.c            |    5 -----
 server/ddns.c          |    2 --
 server/dhcp.c          |   15 ++-------------
 server/dhcpd.c         |    4 ----
 server/failover.c      |   21 +--------------------
 server/mdb.c           |   10 +---------
 server/omapi.c         |   26 +-------------------------
 48 files changed, 30 insertions(+), 342 deletions(-)

Index: dhcp-3.0.5-fix-warnings.patch
===================================================================
RCS file: /cvs/dist/rpms/dhcp/devel/dhcp-3.0.5-fix-warnings.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- dhcp-3.0.5-fix-warnings.patch	9 Nov 2006 21:09:46 -0000	1.1
+++ dhcp-3.0.5-fix-warnings.patch	10 Nov 2006 17:02:31 -0000	1.2
@@ -1,5 +1,5 @@
---- dhcp-3.0.5/client/dhclient.c.warnings	2006-11-09 15:07:59.000000000 -0500
-+++ dhcp-3.0.5/client/dhclient.c	2006-11-09 15:07:59.000000000 -0500
+--- dhcp-3.0.5/client/dhclient.c.warnings	2006-11-10 12:00:10.000000000 -0500
++++ dhcp-3.0.5/client/dhclient.c	2006-11-10 12:00:26.000000000 -0500
 @@ -98,8 +98,6 @@
  {
      struct timeval tv={0,0}, *tvp;
@@ -17,7 +17,7 @@
  	int no_dhclient_conf = 0;
  	int no_dhclient_db = 0;
  	int no_dhclient_pid = 0;
-@@ -1276,7 +1273,6 @@
+@@ -1269,7 +1266,6 @@
  			picked = lp;
  			picked -> next = (struct client_lease *)0;
  		} else {
@@ -25,7 +25,7 @@
  			destroy_client_lease (lp);
  		}
  	}
-@@ -1334,7 +1330,6 @@
+@@ -1327,7 +1323,6 @@
  	struct client_lease *lease;
  	struct option_cache *oc;
  	struct data_string ds;
@@ -33,7 +33,7 @@
  	
  	/* If we're not receptive to an offer right now, or if the offer
  	   has an unrecognizable transaction id, then just drop it. */
-@@ -1503,8 +1498,6 @@
+@@ -1496,8 +1491,6 @@
  void bind_lease (client)
  	struct client_state *client;
  {
@@ -42,7 +42,7 @@
  	/* Remember the medium. */
  	client -> new -> medium = client -> medium;
  
-@@ -1573,7 +1566,6 @@
+@@ -1566,7 +1559,6 @@
  	void *cpp;
  {
  	struct client_state *client = cpp;
@@ -50,7 +50,7 @@
  	struct option_cache *oc;
  	struct data_string ds;
  
-@@ -1616,7 +1608,6 @@
+@@ -1609,7 +1601,6 @@
  	void *cpp;
  {
  	struct client_state *client = cpp;
@@ -58,7 +58,7 @@
  
  	/* Cancel all timeouts. */
  	cancel_timeout (state_selecting, client);
-@@ -1729,8 +1720,6 @@
+@@ -1722,8 +1713,6 @@
  	int i;
  	int stop_selecting;
  	const char *name = packet -> packet_type ? "DHCPOFFER" : "BOOTREPLY";
@@ -67,7 +67,7 @@
  	char obuf [1024];
  	
  #ifdef DEBUG_PACKET
-@@ -2553,7 +2542,6 @@
+@@ -2546,7 +2535,6 @@
  	struct client_lease *lease;
  {
  	unsigned char discover = DHCPDISCOVER;
@@ -75,7 +75,7 @@
  	struct option_state *options = (struct option_state *)0;
  
  	memset (&client -> packet, 0, sizeof (client -> packet));
-@@ -2618,9 +2606,6 @@
+@@ -2611,9 +2599,6 @@
  	struct client_lease *lease;
  {
  	unsigned char request = DHCPREQUEST;
@@ -85,7 +85,7 @@
  	struct option_cache *oc;
  
  	memset (&client -> packet, 0, sizeof (client -> packet));
-@@ -2709,7 +2694,6 @@
+@@ -2702,7 +2687,6 @@
  	struct client_lease *lease;
  {
  	unsigned char decline = DHCPDECLINE;
@@ -93,7 +93,7 @@
  	struct option_cache *oc;
  
  	struct option_state *options = (struct option_state *)0;
-@@ -2766,7 +2750,6 @@
+@@ -2759,7 +2743,6 @@
  	struct client_lease *lease;
  {
  	unsigned char request = DHCPRELEASE;
@@ -101,7 +101,7 @@
  	struct option_cache *oc;
  
  	struct option_state *options = (struct option_state *)0;
-@@ -2823,8 +2806,6 @@
+@@ -2816,8 +2799,6 @@
  void destroy_client_lease (lease)
  	struct client_lease *lease;
  {
@@ -110,7 +110,7 @@
  	if (lease -> server_name)
  		dfree (lease -> server_name, MDL);
  	if (lease -> filename)
-@@ -2889,8 +2870,6 @@
+@@ -2882,8 +2863,6 @@
  {
  	const char *name, *dot;
  	struct data_string ds;
@@ -119,7 +119,7 @@
  
  	memset (&ds, 0, sizeof ds);
  
-@@ -2921,9 +2900,7 @@
+@@ -2914,9 +2893,7 @@
  	int i;
  	struct tm *t;
  	static int leases_written;
@@ -129,7 +129,7 @@
  	int errors = 0;
  	char *s;
  
-@@ -3204,8 +3181,6 @@
+@@ -3194,8 +3171,6 @@
  	int i;
  	struct data_string data;
  	struct option_cache *oc;
@@ -138,7 +138,7 @@
  	struct envadd_state es;
  
  	es.client = client;
-@@ -3410,7 +3385,7 @@
+@@ -3400,7 +3375,7 @@
  {
  	char spbuf [1024];
  	char *s;
@@ -147,7 +147,7 @@
  	struct string_list *val;
  	va_list list;
  
-@@ -3850,7 +3825,7 @@
+@@ -3840,7 +3815,7 @@
  
  isc_result_t client_dns_update (struct client_state *client, int addp, int ttl)
  {
@@ -156,8 +156,8 @@
  	       ddns_dhcid, client_identifier;
  	struct option_cache *oc;
  	int ignorep;
---- dhcp-3.0.5/client/clparse.c.warnings	2006-11-09 15:07:59.000000000 -0500
-+++ dhcp-3.0.5/client/clparse.c	2006-11-09 15:07:59.000000000 -0500
+--- dhcp-3.0.5/client/clparse.c.warnings	2006-11-10 12:00:10.000000000 -0500
++++ dhcp-3.0.5/client/clparse.c	2006-11-10 12:00:26.000000000 -0500
 @@ -39,8 +39,6 @@
  
  #include "dhcpd.h"
@@ -214,7 +214,7 @@
  	skip_to_semi (cfile);
  	return 0;
 --- dhcp-3.0.5/common/icmp.c.warnings	2004-06-10 13:59:18.000000000 -0400
-+++ dhcp-3.0.5/common/icmp.c	2006-11-09 15:07:59.000000000 -0500
++++ dhcp-3.0.5/common/icmp.c	2006-11-10 12:00:26.000000000 -0500
 @@ -61,11 +61,7 @@
  {
  	struct protoent *proto;
@@ -235,8 +235,8 @@
  	u_int8_t *icbuf;
  	ia = (struct iaddr *)buf;
  	ia->len = ntohl(ia->len);
---- dhcp-3.0.5/common/parse.c.warnings	2006-11-09 15:07:59.000000000 -0500
-+++ dhcp-3.0.5/common/parse.c	2006-11-09 15:07:59.000000000 -0500
+--- dhcp-3.0.5/common/parse.c.warnings	2006-11-10 12:00:10.000000000 -0500
++++ dhcp-3.0.5/common/parse.c	2006-11-10 12:00:26.000000000 -0500
 @@ -311,9 +311,6 @@
  	struct parse *cfile;
  	struct iaddr *addr;
@@ -357,7 +357,7 @@
  	}
  	lexbuf [lix] = 0;
 --- dhcp-3.0.5/common/socket.c.warnings	2004-06-10 13:59:21.000000000 -0400
-+++ dhcp-3.0.5/common/socket.c	2006-11-09 15:07:59.000000000 -0500
++++ dhcp-3.0.5/common/socket.c	2006-11-10 12:00:26.000000000 -0500
 @@ -55,8 +55,6 @@
  # endif
  #endif
@@ -367,8 +367,8 @@
  /* Reinitializes the specified interface after an address change.   This
     is not required for packet-filter APIs. */
  
---- dhcp-3.0.5/common/lpf.c.warnings	2006-11-09 15:07:59.000000000 -0500
-+++ dhcp-3.0.5/common/lpf.c	2006-11-09 15:07:59.000000000 -0500
+--- dhcp-3.0.5/common/lpf.c.warnings	2006-11-10 12:00:10.000000000 -0500
++++ dhcp-3.0.5/common/lpf.c	2006-11-10 12:00:26.000000000 -0500
 @@ -69,8 +69,6 @@
  	struct interface_info *info;
  {
@@ -387,7 +387,7 @@
  	int offset = 0;
  	unsigned char ibuf [1536];
 --- dhcp-3.0.5/common/memory.c.warnings	2004-06-10 13:59:19.000000000 -0400
-+++ dhcp-3.0.5/common/memory.c	2006-11-09 15:07:59.000000000 -0500
++++ dhcp-3.0.5/common/memory.c	2006-11-10 12:00:26.000000000 -0500
 @@ -84,8 +84,7 @@
  
  isc_result_t supersede_group (struct group_object *group, int writep)
@@ -407,7 +407,7 @@
  
  	/* Normally gp should contain the null pointer, but for convenience
 --- dhcp-3.0.5/common/print.c.warnings	2006-02-22 17:43:27.000000000 -0500
-+++ dhcp-3.0.5/common/print.c	2006-11-09 15:07:59.000000000 -0500
++++ dhcp-3.0.5/common/print.c	2006-11-10 12:00:26.000000000 -0500
 @@ -1043,7 +1043,6 @@
  			       const char *suffix, ...)
  {
@@ -424,8 +424,8 @@
  	char obuf [3];
  
  	/* See if this is just ASCII. */
---- dhcp-3.0.5/common/options.c.warnings	2006-11-09 15:07:59.000000000 -0500
-+++ dhcp-3.0.5/common/options.c	2006-11-09 15:07:59.000000000 -0500
+--- dhcp-3.0.5/common/options.c.warnings	2006-11-10 12:00:10.000000000 -0500
++++ dhcp-3.0.5/common/options.c	2006-11-10 12:00:26.000000000 -0500
 @@ -43,16 +43,11 @@
  
  struct option *vendor_cfg_option;
@@ -544,7 +544,7 @@
  	struct packet *decoded_packet;
  #if defined (DEBUG_MEMORY_LEAKAGE)
 --- dhcp-3.0.5/common/inet.c.warnings	2005-03-03 11:55:22.000000000 -0500
-+++ dhcp-3.0.5/common/inet.c	2006-11-09 15:07:59.000000000 -0500
++++ dhcp-3.0.5/common/inet.c	2006-11-10 12:00:26.000000000 -0500
 @@ -124,7 +124,7 @@
  	struct iaddr subnet;
  	struct iaddr mask;
@@ -555,7 +555,7 @@
  
  	if (subnet.len > sizeof(subnet.iabuf))
 --- dhcp-3.0.5/common/tree.c.warnings	2006-07-17 11:34:44.000000000 -0400
-+++ dhcp-3.0.5/common/tree.c	2006-11-09 15:07:59.000000000 -0500
++++ dhcp-3.0.5/common/tree.c	2006-11-10 12:00:26.000000000 -0500
 @@ -249,8 +249,6 @@
  	struct expression *expr;
  	int limit;
@@ -628,8 +628,8 @@
  	struct binding_scope *binding_scope;
  
  	if (!ptr || !*ptr) {
---- dhcp-3.0.5/common/alloc.c.warnings	2006-11-09 15:07:59.000000000 -0500
-+++ dhcp-3.0.5/common/alloc.c	2006-11-09 15:07:59.000000000 -0500
+--- dhcp-3.0.5/common/alloc.c.warnings	2006-11-10 12:00:10.000000000 -0500
++++ dhcp-3.0.5/common/alloc.c	2006-11-10 12:00:26.000000000 -0500
 @@ -48,7 +48,6 @@
  	const char *file;
  	int line;
@@ -697,7 +697,7 @@
  
  	if (!ptr) {
 --- dhcp-3.0.5/common/dns.c.warnings	2006-02-22 17:43:27.000000000 -0500
-+++ dhcp-3.0.5/common/dns.c	2006-11-09 15:07:59.000000000 -0500
++++ dhcp-3.0.5/common/dns.c	2006-11-10 12:00:26.000000000 -0500
 @@ -127,7 +127,6 @@
  isc_result_t find_tsig_key (ns_tsig_key **key, const char *zname,
  			    struct dns_zone *zone)
@@ -733,7 +733,7 @@
  
  	if (zname [ix - 1] == '.')
 --- dhcp-3.0.5/common/resolv.c.warnings	2005-10-27 11:56:26.000000000 -0400
-+++ dhcp-3.0.5/common/resolv.c	2006-11-09 15:07:59.000000000 -0500
++++ dhcp-3.0.5/common/resolv.c	2006-11-10 12:00:26.000000000 -0500
 @@ -50,10 +50,8 @@
  	struct parse *cfile;
  	const char *val;
@@ -763,7 +763,7 @@
  			
  			read_resolv_conf (rcdate);
 --- dhcp-3.0.5/common/execute.c.warnings	2006-02-22 17:43:27.000000000 -0500
-+++ dhcp-3.0.5/common/execute.c	2006-11-09 15:07:59.000000000 -0500
++++ dhcp-3.0.5/common/execute.c	2006-11-10 12:00:26.000000000 -0500
 @@ -54,8 +54,6 @@
  	struct executable_statement *r, *e, *next;
  	int rc;
@@ -818,8 +818,8 @@
  
  	for (foo = stmt; foo; foo = foo -> next) {
  	    if ((*callback) (foo, vp, condp) != 0)
---- dhcp-3.0.5/common/discover.c.warnings	2006-11-09 15:07:59.000000000 -0500
-+++ dhcp-3.0.5/common/discover.c	2006-11-09 15:07:59.000000000 -0500
+--- dhcp-3.0.5/common/discover.c.warnings	2006-11-10 12:00:10.000000000 -0500
++++ dhcp-3.0.5/common/discover.c	2006-11-10 12:00:26.000000000 -0500
 @@ -126,16 +126,14 @@
  void discover_interfaces (state)
  	int state;
@@ -872,7 +872,7 @@
  
  	if (h -> type != dhcp_type_interface)
 --- dhcp-3.0.5/common/comapi.c.warnings	2006-02-22 17:43:27.000000000 -0500
-+++ dhcp-3.0.5/common/comapi.c	2006-11-09 15:07:59.000000000 -0500
++++ dhcp-3.0.5/common/comapi.c	2006-11-10 12:00:26.000000000 -0500
 @@ -143,7 +143,6 @@
  {
  	struct group_object *group;
@@ -1006,7 +1006,7 @@
  
  	/* If we get to here without finding a shared_network, no valid key was
 --- dhcp-3.0.5/dhcpctl/dhcpctl.c.warnings	2004-06-10 13:59:24.000000000 -0400
-+++ dhcp-3.0.5/dhcpctl/dhcpctl.c	2006-11-09 15:07:59.000000000 -0500
++++ dhcp-3.0.5/dhcpctl/dhcpctl.c	2006-11-10 12:00:26.000000000 -0500
 @@ -101,7 +101,6 @@
  				dhcpctl_handle authinfo)
  {
@@ -1055,8 +1055,8 @@
  
  	status = omapi_data_string_new (&name, strlen (value_name), MDL);
  	if (status != ISC_R_SUCCESS)
---- dhcp-3.0.5/dhcpctl/callback.c.warnings	2006-11-09 15:07:59.000000000 -0500
-+++ dhcp-3.0.5/dhcpctl/callback.c	2006-11-09 15:07:59.000000000 -0500
+--- dhcp-3.0.5/dhcpctl/callback.c.warnings	2006-11-10 12:00:10.000000000 -0500
++++ dhcp-3.0.5/dhcpctl/callback.c	2006-11-10 12:00:26.000000000 -0500
 @@ -59,7 +59,6 @@
  {
  	dhcpctl_callback_object_t *callback;
@@ -1074,8 +1074,8 @@
  	if (p -> type != dhcpctl_callback_type)
  		return ISC_R_INVALIDARG;
  
---- dhcp-3.0.5/dhcpctl/remote.c.warnings	2006-11-09 15:07:59.000000000 -0500
-+++ dhcp-3.0.5/dhcpctl/remote.c	2006-11-09 15:07:59.000000000 -0500
+--- dhcp-3.0.5/dhcpctl/remote.c.warnings	2006-11-10 12:00:10.000000000 -0500
++++ dhcp-3.0.5/dhcpctl/remote.c	2006-11-10 12:00:26.000000000 -0500
 @@ -354,8 +354,6 @@
  					  omapi_object_t *id,
  					  omapi_object_t *p)
@@ -1086,7 +1086,7 @@
  		return ISC_R_INVALIDARG;
  
 --- dhcp-3.0.5/dhcpctl/omshell.c.warnings	2005-10-27 11:56:26.000000000 -0400
-+++ dhcp-3.0.5/dhcpctl/omshell.c	2006-11-09 15:07:59.000000000 -0500
++++ dhcp-3.0.5/dhcpctl/omshell.c	2006-11-10 12:00:26.000000000 -0500
 @@ -82,11 +82,9 @@
  	dhcpctl_handle connection;
  	dhcpctl_handle authenticator;
@@ -1109,7 +1109,7 @@
  					parse_warn (cfile,
  						    "dotted octet > 255: %s",
 --- dhcp-3.0.5/dhcpctl/cltest.c.warnings	2004-06-10 13:59:23.000000000 -0400
-+++ dhcp-3.0.5/dhcpctl/cltest.c	2006-11-09 15:07:59.000000000 -0500
++++ dhcp-3.0.5/dhcpctl/cltest.c	2006-11-10 12:00:26.000000000 -0500
 @@ -60,9 +60,8 @@
  	isc_result_t status, waitstatus;
  	dhcpctl_handle authenticator;
@@ -1123,7 +1123,7 @@
  	int mode = undefined;
  	const char *interface = 0;
 --- dhcp-3.0.5/dst/prandom.c.warnings	2001-02-22 02:22:09.000000000 -0500
-+++ dhcp-3.0.5/dst/prandom.c	2006-11-09 15:07:59.000000000 -0500
++++ dhcp-3.0.5/dst/prandom.c	2006-11-10 12:00:26.000000000 -0500
 @@ -335,7 +335,7 @@
  		cnt += do_time(work);
  	}
@@ -1134,7 +1134,7 @@
  	return (cnt);		/* read how many bytes where read in */
  }
 --- dhcp-3.0.5/minires/res_mkupdate.c.warnings	2004-06-10 13:59:43.000000000 -0400
-+++ dhcp-3.0.5/minires/res_mkupdate.c	2006-11-09 15:07:59.000000000 -0500
++++ dhcp-3.0.5/minires/res_mkupdate.c	2006-11-10 12:00:26.000000000 -0500
 @@ -108,7 +108,7 @@
  	u_int16_t rtype, rclass;
  	u_int32_t n1, rttl;
@@ -1144,8 +1144,8 @@
  	int keylen;
  	unsigned buflen = *blp;
  	u_char *buf = (unsigned char *)bp;
---- dhcp-3.0.5/minires/res_update.c.warnings	2006-11-09 15:07:59.000000000 -0500
-+++ dhcp-3.0.5/minires/res_update.c	2006-11-09 15:07:59.000000000 -0500
+--- dhcp-3.0.5/minires/res_update.c.warnings	2006-11-10 12:00:10.000000000 -0500
++++ dhcp-3.0.5/minires/res_update.c	2006-11-10 12:00:26.000000000 -0500
 @@ -88,7 +88,7 @@
  	double answer[PACKETSZ / sizeof (double)];
  	double packet[2*PACKETSZ / sizeof (double)];
@@ -1155,8 +1155,8 @@
  	unsigned n;
  	unsigned rval;
  	struct sockaddr_in nsaddrs[MAXNS];
---- dhcp-3.0.5/omapip/protocol.c.warnings	2006-11-09 15:07:59.000000000 -0500
-+++ dhcp-3.0.5/omapip/protocol.c	2006-11-09 15:07:59.000000000 -0500
+--- dhcp-3.0.5/omapip/protocol.c.warnings	2006-11-10 12:00:10.000000000 -0500
++++ dhcp-3.0.5/omapip/protocol.c	2006-11-10 12:00:26.000000000 -0500
 @@ -161,7 +161,6 @@
  	omapi_remote_auth_t *ra;
  	omapi_value_t *signature;
@@ -1184,7 +1184,7 @@
  		return ISC_R_INVALIDARG;
  
 --- dhcp-3.0.5/omapip/buffer.c.warnings	2005-10-06 15:05:46.000000000 -0400
-+++ dhcp-3.0.5/omapip/buffer.c	2006-11-09 15:07:59.000000000 -0500
++++ dhcp-3.0.5/omapip/buffer.c	2006-11-10 12:00:26.000000000 -0500
 @@ -438,7 +438,6 @@
  	int bytes_written;
  	unsigned first_byte;
@@ -1209,8 +1209,8 @@
  
  	inbuf = htons (value);
  	
---- dhcp-3.0.5/omapip/alloc.c.warnings	2006-11-09 15:07:59.000000000 -0500
-+++ dhcp-3.0.5/omapip/alloc.c	2006-11-09 15:07:59.000000000 -0500
+--- dhcp-3.0.5/omapip/alloc.c.warnings	2006-11-10 12:00:10.000000000 -0500
++++ dhcp-3.0.5/omapip/alloc.c	2006-11-10 12:00:26.000000000 -0500
 @@ -101,7 +101,6 @@
  {
  	unsigned char *foo;
@@ -1219,8 +1219,8 @@
  	VOIDPTR *bar;
  #if defined (DEBUG_MEMORY_LEAKAGE) || defined (DEBUG_MALLOC_POOL) || \
  		defined (DEBUG_MEMORY_LEAKAGE_ON_EXIT)
---- dhcp-3.0.5/omapip/connection.c.warnings	2006-11-09 15:07:59.000000000 -0500
-+++ dhcp-3.0.5/omapip/connection.c	2006-11-09 15:07:59.000000000 -0500
+--- dhcp-3.0.5/omapip/connection.c.warnings	2006-11-10 12:00:10.000000000 -0500
++++ dhcp-3.0.5/omapip/connection.c	2006-11-10 12:00:26.000000000 -0500
 @@ -111,10 +111,6 @@
  	omapi_connection_object_t *obj;
  	int flag;
@@ -1242,7 +1242,7 @@
  		return ISC_R_INVALIDARG;
  
 --- dhcp-3.0.5/omapip/listener.c.warnings	2004-06-10 13:59:48.000000000 -0400
-+++ dhcp-3.0.5/omapip/listener.c	2006-11-09 15:07:59.000000000 -0500
++++ dhcp-3.0.5/omapip/listener.c	2006-11-10 12:00:26.000000000 -0500
 @@ -68,12 +68,9 @@
  				omapi_addr_t *addr,
  				int max)
@@ -1283,7 +1283,7 @@
  		return ISC_R_INVALIDARG;
  
 --- dhcp-3.0.5/omapip/generic.c.warnings	2006-02-22 17:43:27.000000000 -0500
-+++ dhcp-3.0.5/omapip/generic.c	2006-11-09 15:07:59.000000000 -0500
++++ dhcp-3.0.5/omapip/generic.c	2006-11-10 12:00:26.000000000 -0500
 @@ -292,7 +292,6 @@
  isc_result_t omapi_generic_clear_flags (omapi_object_t *o)
  {
@@ -1293,7 +1293,7 @@
  
  	if (o -> type != omapi_type_generic)
 --- dhcp-3.0.5/omapip/support.c.warnings	2006-02-22 17:43:27.000000000 -0500
-+++ dhcp-3.0.5/omapip/support.c	2006-11-09 15:07:59.000000000 -0500
++++ dhcp-3.0.5/omapip/support.c	2006-11-10 12:00:26.000000000 -0500
 @@ -53,7 +53,6 @@
  
  omapi_object_type_t *omapi_object_types;
@@ -1355,7 +1355,7 @@
  	status = omapi_data_string_new (&n, strlen (name), MDL);
  	if (status != ISC_R_SUCCESS)
 --- dhcp-3.0.5/omapip/handle.c.warnings	2006-02-22 17:43:27.000000000 -0500
-+++ dhcp-3.0.5/omapip/handle.c	2006-11-09 15:07:59.000000000 -0500
++++ dhcp-3.0.5/omapip/handle.c	2006-11-10 12:00:26.000000000 -0500
 @@ -76,7 +76,6 @@
  
  isc_result_t omapi_object_handle (omapi_handle_t *h, omapi_object_t *o)
@@ -1372,8 +1372,8 @@
  	omapi_handle_t h;
  
  	if (handle -> type == omapi_datatype_int)
---- dhcp-3.0.5/omapip/message.c.warnings	2006-11-09 15:07:59.000000000 -0500
-+++ dhcp-3.0.5/omapip/message.c	2006-11-09 15:07:59.000000000 -0500
+--- dhcp-3.0.5/omapip/message.c.warnings	2006-11-10 12:00:10.000000000 -0500
++++ dhcp-3.0.5/omapip/message.c	2006-11-10 12:00:26.000000000 -0500
 @@ -209,8 +209,6 @@
  isc_result_t omapi_message_destroy (omapi_object_t *h,
  				    const char *file, int line)
@@ -1393,7 +1393,7 @@
  		return ISC_R_INVALIDARG;
  
 --- dhcp-3.0.5/omapip/convert.c.warnings	2004-11-24 12:39:17.000000000 -0500
-+++ dhcp-3.0.5/omapip/convert.c	2006-11-09 15:07:59.000000000 -0500
++++ dhcp-3.0.5/omapip/convert.c	2006-11-10 12:00:26.000000000 -0500
 @@ -165,7 +165,7 @@
  	u_int32_t number;
  	static char h2a [] = "0123456789abcdef";
@@ -1404,7 +1404,7 @@
  	if (base > 16)
  		return 0;
 --- dhcp-3.0.5/omapip/hash.c.warnings	2006-02-22 17:43:27.000000000 -0500
-+++ dhcp-3.0.5/omapip/hash.c	2006-11-09 15:07:59.000000000 -0500
++++ dhcp-3.0.5/omapip/hash.c	2006-11-10 12:00:26.000000000 -0500
 @@ -81,8 +81,6 @@
  	const char *file;
  	int line;
@@ -1423,7 +1423,7 @@
  	for (hp = free_hash_buckets; hp; hp = hp -> next) {
  		if (hp == ptr) {
 --- dhcp-3.0.5/omapip/array.c.warnings	2006-02-22 17:43:27.000000000 -0500
-+++ dhcp-3.0.5/omapip/array.c	2006-11-09 15:07:59.000000000 -0500
++++ dhcp-3.0.5/omapip/array.c	2006-11-10 12:00:26.000000000 -0500
 @@ -46,7 +46,6 @@
  				   omapi_array_deref_t deref,
  				   const char *file, int line)
@@ -1441,7 +1441,7 @@
  	int i;
  
 --- dhcp-3.0.5/omapip/trace.c.warnings	2006-02-22 17:43:27.000000000 -0500
-+++ dhcp-3.0.5/omapip/trace.c	2006-11-09 15:07:59.000000000 -0500
++++ dhcp-3.0.5/omapip/trace.c	2006-11-10 12:00:26.000000000 -0500
 @@ -312,7 +312,7 @@
  				   void (*stop_tracing) (trace_type_t *),
  				   const char *file, int line)
@@ -1468,7 +1468,7 @@
  	trace_type_t *ttp;
  	
 --- dhcp-3.0.5/omapip/mrtrace.c.warnings	2004-09-30 16:23:07.000000000 -0400
-+++ dhcp-3.0.5/omapip/mrtrace.c	2006-11-09 15:07:59.000000000 -0500
++++ dhcp-3.0.5/omapip/mrtrace.c	2006-11-10 12:00:26.000000000 -0500
 @@ -85,7 +85,6 @@
  	unsigned buflen = 0;
  	char *buf = (char *)0;
@@ -1486,7 +1486,7 @@
  		if (status != ISC_R_SUCCESS) {
  			log_error ("trace_mr_statp: no statp packet found.");
 --- dhcp-3.0.5/relay/dhcrelay.c.warnings	2006-04-27 17:38:30.000000000 -0400
-+++ dhcp-3.0.5/relay/dhcrelay.c	2006-11-09 15:07:59.000000000 -0500
++++ dhcp-3.0.5/relay/dhcrelay.c	2006-11-10 12:00:26.000000000 -0500
 @@ -734,7 +734,7 @@
  	unsigned length;
  	struct in_addr giaddr;
@@ -1496,8 +1496,8 @@
  	unsigned optlen;
  	u_int8_t *op, *nextop, *sp, *max, *end_pad = NULL;
  
---- dhcp-3.0.5/server/dhcpd.c.warnings	2006-11-09 15:07:59.000000000 -0500
-+++ dhcp-3.0.5/server/dhcpd.c	2006-11-09 15:07:59.000000000 -0500
+--- dhcp-3.0.5/server/dhcpd.c.warnings	2006-11-10 12:00:10.000000000 -0500
++++ dhcp-3.0.5/server/dhcpd.c	2006-11-10 12:00:26.000000000 -0500
 @@ -215,9 +215,6 @@
  	struct interface_info *ip;
  	struct parse *parse;
@@ -1516,8 +1516,8 @@
  		status = shared_network_allocate (&ip -> shared_network, MDL);
  		if (status != ISC_R_SUCCESS)
  			log_fatal ("No memory for shared subnet: %s",
---- dhcp-3.0.5/server/dhcp.c.warnings	2006-11-09 15:07:59.000000000 -0500
-+++ dhcp-3.0.5/server/dhcp.c	2006-11-09 15:07:59.000000000 -0500
+--- dhcp-3.0.5/server/dhcp.c.warnings	2006-11-10 12:00:10.000000000 -0500
++++ dhcp-3.0.5/server/dhcp.c	2006-11-10 12:00:26.000000000 -0500
 @@ -388,7 +388,6 @@
  	int ours = 0;
  	struct option_cache *oc;
@@ -1588,8 +1588,8 @@
  	struct hardware h;
  
  	/* Quick check to see if the peer has leases. */
---- dhcp-3.0.5/server/confpars.c.warnings	2006-11-09 15:07:59.000000000 -0500
-+++ dhcp-3.0.5/server/confpars.c	2006-11-09 15:07:59.000000000 -0500
+--- dhcp-3.0.5/server/confpars.c.warnings	2006-11-10 12:00:10.000000000 -0500
++++ dhcp-3.0.5/server/confpars.c	2006-11-10 12:00:26.000000000 -0500
 @@ -329,15 +329,12 @@
  	enum dhcp_token token;
  	const char *val;
@@ -1666,7 +1666,7 @@
  	isc_result_t status;
  
 --- dhcp-3.0.5/server/db.c.warnings	2006-07-19 12:45:30.000000000 -0400
-+++ dhcp-3.0.5/server/db.c	2006-11-09 15:07:59.000000000 -0500
++++ dhcp-3.0.5/server/db.c	2006-11-10 12:00:26.000000000 -0500
 @@ -56,7 +56,6 @@
  	struct tm *t;
  	char tbuf [64];
@@ -1701,7 +1701,7 @@
  	for (lp = collections; lp; lp = lp -> next) {
  	    for (cp = lp -> classes; cp; cp = cp -> nic) {
 --- dhcp-3.0.5/server/failover.c.warnings	2006-09-22 12:29:44.000000000 -0400
-+++ dhcp-3.0.5/server/failover.c	2006-11-09 15:07:59.000000000 -0500
++++ dhcp-3.0.5/server/failover.c	2006-11-10 12:00:26.000000000 -0500
 @@ -57,7 +57,6 @@
  {
  	dhcp_failover_state_t *state;
@@ -1838,7 +1838,7 @@
  	char obuf [64];
  	unsigned obufix = 0;
 --- dhcp-3.0.5/server/omapi.c.warnings	2006-02-22 17:43:27.000000000 -0500
-+++ dhcp-3.0.5/server/omapi.c	2006-11-09 15:07:59.000000000 -0500
++++ dhcp-3.0.5/server/omapi.c	2006-11-10 12:00:26.000000000 -0500
 @@ -208,7 +208,6 @@
  {
  	struct lease *lease;
@@ -1958,7 +1958,7 @@
  
  	/* If we get to here without finding a subclass, no valid key was
 --- dhcp-3.0.5/server/mdb.c.warnings	2006-07-18 14:16:25.000000000 -0400
-+++ dhcp-3.0.5/server/mdb.c	2006-11-09 15:07:59.000000000 -0500
++++ dhcp-3.0.5/server/mdb.c	2006-11-10 12:00:26.000000000 -0500
 @@ -238,7 +238,6 @@
  	struct host_decl *hp = (struct host_decl *)0;
  	struct host_decl *np = (struct host_decl *)0;
@@ -2030,7 +2030,7 @@
  	struct lease *l;
  	struct lease **lptr [5];
 --- dhcp-3.0.5/server/ddns.c.warnings	2005-03-03 11:55:24.000000000 -0500
-+++ dhcp-3.0.5/server/ddns.c	2006-11-09 15:07:59.000000000 -0500
++++ dhcp-3.0.5/server/ddns.c	2006-11-10 12:00:26.000000000 -0500
 @@ -224,7 +224,6 @@
  	struct data_string ddns_fwd_name;
  	struct data_string ddns_rev_name;

dhcp-3.0.5-includes.patch:
 dhcpd.h         |   12 +++++++++++-
 dhctoken.h      |    3 ++-
 omapip/omapip.h |    4 ++--
 3 files changed, 15 insertions(+), 4 deletions(-)

Index: dhcp-3.0.5-includes.patch
===================================================================
RCS file: /cvs/dist/rpms/dhcp/devel/dhcp-3.0.5-includes.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- dhcp-3.0.5-includes.patch	7 Nov 2006 15:49:44 -0000	1.1
+++ dhcp-3.0.5-includes.patch	10 Nov 2006 17:02:31 -0000	1.2
@@ -1,5 +1,5 @@
 --- dhcp-3.0.5/includes/omapip/omapip.h.includes	2004-06-10 13:59:39.000000000 -0400
-+++ dhcp-3.0.5/includes/omapip/omapip.h	2006-11-07 10:37:44.000000000 -0500
++++ dhcp-3.0.5/includes/omapip/omapip.h	2006-11-10 11:52:28.000000000 -0500
 @@ -251,12 +251,12 @@
  		     omapi_array_foreach_index++) {			      \
  			if ((array) -> data [omapi_array_foreach_index]) {    \
@@ -15,20 +15,8 @@
  			}						      \
  		}							      \
  	}
---- dhcp-3.0.5/includes/dhctoken.h.includes	2005-09-22 12:19:57.000000000 -0400
-+++ dhcp-3.0.5/includes/dhctoken.h	2006-11-07 10:37:40.000000000 -0500
-@@ -309,7 +309,8 @@
- 	DOMAIN_NAME = 613,
- 	DO_FORWARD_UPDATE = 614,
- 	KNOWN_CLIENTS = 615,
--	ATSFP = 616
-+	ATSFP = 616,
-+	BOOTP_BROADCAST_ALWAYS=617
- };
- 
- #define is_identifier(x)	((x) >= FIRST_TOKEN &&	\
---- dhcp-3.0.5/includes/dhcpd.h.includes	2006-05-17 16:16:59.000000000 -0400
-+++ dhcp-3.0.5/includes/dhcpd.h	2006-11-07 10:40:17.000000000 -0500
+--- dhcp-3.0.5/includes/dhcpd.h.includes	2006-11-10 11:52:08.000000000 -0500
++++ dhcp-3.0.5/includes/dhcpd.h	2006-11-10 11:52:21.000000000 -0500
 @@ -667,7 +667,8 @@
  	S_BOUND = 5,
  	S_RENEWING = 6,
@@ -48,9 +36,9 @@
  };
  
  /* Per-interface state used in the dhcp client... */
-@@ -1811,6 +1814,13 @@
- void initialize_common_option_spaces PROTO ((void));
- struct universe *config_universe;
+@@ -1818,6 +1821,13 @@
+ extern void *lookup_new_option_info(struct option *);
+ #endif
  
 +#ifdef EXTENDED_NEW_OPTION_INFO
 +#define GENERATE_NEW_OPTION_INFO ((void*)1)
@@ -62,10 +50,15 @@
  /* stables.c */
  #if defined (FAILOVER_PROTOCOL)
  extern failover_option_t null_failover_option;
---- dhcp-3.0.5/includes/version.h.includes	2006-10-26 18:19:38.000000000 -0400
-+++ dhcp-3.0.5/includes/version.h	2006-11-07 10:40:41.000000000 -0500
-@@ -1,3 +1,3 @@
- /* Current version of ISC DHCP Distribution. */
+--- dhcp-3.0.5/includes/dhctoken.h.includes	2005-09-22 12:19:57.000000000 -0400
++++ dhcp-3.0.5/includes/dhctoken.h	2006-11-10 11:52:25.000000000 -0500
+@@ -309,7 +309,8 @@
+ 	DOMAIN_NAME = 613,
+ 	DO_FORWARD_UPDATE = 614,
+ 	KNOWN_CLIENTS = 615,
+-	ATSFP = 616
++	ATSFP = 616,
++	BOOTP_BROADCAST_ALWAYS=617
+ };
  
--#define DHCP_VERSION	"V3.0.5"
-+#define DHCP_VERSION	"V3.0.5-RedHat"
+ #define is_identifier(x)	((x) >= FIRST_TOKEN &&	\

dhcp-3.0.5-libdhcp4client.patch:
 Makefile.dist                    |    2 
 client/dhclient.c                |  284 ++++++++++++++++++++++++++++++++++++---
 common/alloc.c                   |    6 
 common/discover.c                |   17 +-
 common/lpf.c                     |    1 
 configure                        |    2 
 dst/hmac_link.c                  |   32 +++-
 libdhcp4client/Makefile.dist     |   86 +++++++++++
 libdhcp4client/dhcp4client.h     |   24 +++
 libdhcp4client/libdhcp_control.h |  102 ++++++++++++++
 omapip/alloc.c                   |   42 +++++
 omapip/dispatch.c                |    2 
 omapip/errwarn.c                 |   50 ++++++
 13 files changed, 617 insertions(+), 33 deletions(-)

Index: dhcp-3.0.5-libdhcp4client.patch
===================================================================
RCS file: /cvs/dist/rpms/dhcp/devel/dhcp-3.0.5-libdhcp4client.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- dhcp-3.0.5-libdhcp4client.patch	9 Nov 2006 21:09:46 -0000	1.1
+++ dhcp-3.0.5-libdhcp4client.patch	10 Nov 2006 17:02:31 -0000	1.2
@@ -1,5 +1,5 @@
---- dhcp-3.0.5/client/dhclient.c.libdhcp4client	2006-11-09 16:02:36.000000000 -0500
-+++ dhcp-3.0.5/client/dhclient.c	2006-11-09 16:02:36.000000000 -0500
+--- dhcp-3.0.5/client/dhclient.c.libdhcp4client	2006-11-10 11:58:18.000000000 -0500
++++ dhcp-3.0.5/client/dhclient.c	2006-11-10 11:58:30.000000000 -0500
 @@ -78,7 +78,9 @@
  int extended_option_environment = 0;
  #endif
@@ -90,7 +90,7 @@
  	/* Set up the OMAPI. */
  	status = omapi_init ();
  	if (status != ISC_R_SUCCESS)
-@@ -475,9 +526,12 @@
+@@ -469,9 +520,12 @@
  		log_fatal("dhclient(%u) is already running - exiting. ", dhcpid);
  		return(1);
  	    }	    
@@ -105,7 +105,7 @@
  	if (!quiet) {
  		log_info ("%s %s", message, DHCP_VERSION);
  		log_info (copyright);
-@@ -486,7 +540,7 @@
+@@ -480,7 +534,7 @@
  		log_info ("%s", "");
  	} else
  		log_perror = 0;
@@ -114,7 +114,7 @@
  	/* If we're given a relay agent address to insert, for testing
  	   purposes, figure out what it is. */
  	if (relay) {
-@@ -773,12 +827,18 @@
+@@ -767,12 +821,18 @@
  		arg_conf_len = 0L;
  	}
  		
@@ -134,7 +134,7 @@
  	/* XXX */
  /* 	config_counter(&snd_counter, &rcv_counter); */
  
-@@ -796,7 +856,7 @@
+@@ -790,7 +850,7 @@
  		if (!persist) {
  			/* Nothing more to do. */
  			log_info ("No broadcast interfaces found - exiting.");
@@ -143,7 +143,7 @@
  		}
  	} else if (!release_mode) {
  		/* Call the script with the list of interfaces. */
-@@ -891,7 +951,7 @@
+@@ -885,7 +945,7 @@
  	dmalloc_longterm = dmalloc_outstanding;
  	dmalloc_outstanding = 0;
  #endif
@@ -152,7 +152,7 @@
  	/* If we're not supposed to wait before getting the address,
  	   don't. */
  	if (nowait)
-@@ -904,7 +964,123 @@
+@@ -898,7 +958,123 @@
  
  	/* Start dispatching packets and timeouts... */
  	dispatch ();
@@ -276,7 +276,7 @@
  	/*NOTREACHED*/
  	return 0;
  }
-@@ -1301,8 +1477,25 @@
+@@ -1294,8 +1470,25 @@
  	client -> new -> rebind += cur_time;
  	if (client -> new -> rebind < cur_time)
  		client -> new -> rebind = TIME_MAX;
@@ -302,7 +302,7 @@
  }
  
  void bind_lease (client)
-@@ -1340,6 +1533,9 @@
+@@ -1333,6 +1526,9 @@
  		return;
  	}
  
@@ -312,7 +312,7 @@
  	/* Write out the new lease. */
  	write_client_lease (client, client -> new, 0, 0);
  
-@@ -1441,13 +1637,13 @@
+@@ -1434,13 +1630,13 @@
  {
  	return 0;
  }
@@ -328,7 +328,7 @@
  int write_host (host)
  	struct host_decl *host;
  {
-@@ -2020,6 +2216,10 @@
+@@ -2013,6 +2209,10 @@
  	   tell the shell script that we failed to allocate an address,
  	   and try again later. */
  	if (onetry) {
@@ -339,7 +339,7 @@
  		if (!quiet)
  			log_info ("Unable to obtain a lease on first try.%s",
  				  "  Exiting.");
-@@ -2631,7 +2831,9 @@
+@@ -2624,7 +2824,9 @@
  	free_client_lease (lease, MDL);
  }
  
@@ -349,7 +349,7 @@
  
  void rewrite_client_leases ()
  {
-@@ -3079,16 +3281,60 @@
+@@ -3069,16 +3271,60 @@
  int script_go (client)
  	struct client_state *client;
  {
@@ -413,7 +413,7 @@
  
  	if (client)
  		scriptName = client -> config -> script_name;
-@@ -3154,6 +3400,7 @@
+@@ -3144,6 +3390,7 @@
  	GET_TIME (&cur_time);
  	return (WIFEXITED (wstatus) ?
  		WEXITSTATUS (wstatus) : -WTERMSIG (wstatus));
@@ -421,7 +421,7 @@
  }
  
  void client_envadd (struct client_state *client,
-@@ -3244,6 +3491,9 @@
+@@ -3234,6 +3481,9 @@
  
  	/* Don't become a daemon if the user requested otherwise. */
  	if (no_daemon) {
@@ -431,7 +431,7 @@
  		write_client_pid_file ();
  		return;
  	}
-@@ -3252,7 +3502,9 @@
+@@ -3242,7 +3492,9 @@
  	if (state)
  		return;
  	state = 1;
@@ -442,8 +442,8 @@
  	/* Stop logging to stderr... */
  	log_perror = 0;
  
---- dhcp-3.0.5/common/alloc.c.libdhcp4client	2006-11-09 16:02:36.000000000 -0500
-+++ dhcp-3.0.5/common/alloc.c	2006-11-09 16:02:36.000000000 -0500
+--- dhcp-3.0.5/common/alloc.c.libdhcp4client	2006-11-10 11:58:18.000000000 -0500
++++ dhcp-3.0.5/common/alloc.c	2006-11-10 11:58:30.000000000 -0500
 @@ -1016,9 +1016,11 @@
  	rc_register (file, line, ptr, bp, bp -> refcnt, 0, RC_MISC);
  	return 1;
@@ -458,8 +458,8 @@
  #if defined (DEBUG_MEMORY_LEAKAGE) || \
  		defined (DEBUG_MEMORY_LEAKAGE_ON_EXIT)
  void relinquish_free_packets ()
---- dhcp-3.0.5/common/discover.c.libdhcp4client	2006-11-09 16:02:36.000000000 -0500
-+++ dhcp-3.0.5/common/discover.c	2006-11-09 16:02:36.000000000 -0500
+--- dhcp-3.0.5/common/discover.c.libdhcp4client	2006-11-10 11:58:18.000000000 -0500
++++ dhcp-3.0.5/common/discover.c	2006-11-10 11:58:30.000000000 -0500
 @@ -120,7 +120,9 @@
     For each interface that's of type INET and not the loopback interface,
     register that interface with the network I/O software, figure out what
@@ -504,7 +504,7 @@
  	if (fallback_interface) {
  	    if (fcntl (fallback_interface -> rfdesc, F_SETFD, 1) < 0)
 --- dhcp-3.0.5/common/lpf.c.libdhcp4client	2004-11-24 12:39:15.000000000 -0500
-+++ dhcp-3.0.5/common/lpf.c	2006-11-09 16:02:36.000000000 -0500
++++ dhcp-3.0.5/common/lpf.c	2006-11-10 11:58:30.000000000 -0500
 @@ -216,6 +216,7 @@
  	struct interface_info *info;
  {
@@ -514,7 +514,7 @@
  	/* Set up the bpf filter program structure.    This is defined in
  	   bpf.c */
 --- dhcp-3.0.5/dst/hmac_link.c.libdhcp4client	2001-02-22 02:22:08.000000000 -0500
-+++ dhcp-3.0.5/dst/hmac_link.c	2006-11-09 16:02:36.000000000 -0500
++++ dhcp-3.0.5/dst/hmac_link.c	2006-11-10 11:58:30.000000000 -0500
 @@ -38,6 +38,10 @@
  
  #include "dst_internal.h"
@@ -602,7 +602,7 @@
  		return (0);
  	memset(dst_t_func[KEY_HMAC_MD5], 0, sizeof(struct dst_func));
 --- dhcp-3.0.5/omapip/alloc.c.libdhcp4client	2006-02-22 17:43:27.000000000 -0500
-+++ dhcp-3.0.5/omapip/alloc.c	2006-11-09 16:02:36.000000000 -0500
++++ dhcp-3.0.5/omapip/alloc.c	2006-11-10 11:58:30.000000000 -0500
 @@ -40,6 +40,41 @@
  
  #include <omapip/omapip_p.h>
@@ -666,8 +666,8 @@
  }
  
  #if defined (DEBUG_MEMORY_LEAKAGE) || defined (DEBUG_MALLOC_POOL) || \
---- dhcp-3.0.5/omapip/dispatch.c.libdhcp4client	2006-11-09 16:02:36.000000000 -0500
-+++ dhcp-3.0.5/omapip/dispatch.c	2006-11-09 16:02:36.000000000 -0500
+--- dhcp-3.0.5/omapip/dispatch.c.libdhcp4client	2006-11-10 11:58:18.000000000 -0500
++++ dhcp-3.0.5/omapip/dispatch.c	2006-11-10 11:58:30.000000000 -0500
 @@ -34,7 +34,7 @@
  
  #include <omapip/omapip_p.h>
@@ -677,8 +677,8 @@
  TIME cur_time;
  
  OMAPI_OBJECT_ALLOC (omapi_io,
---- dhcp-3.0.5/omapip/errwarn.c.libdhcp4client	2006-11-09 16:02:36.000000000 -0500
-+++ dhcp-3.0.5/omapip/errwarn.c	2006-11-09 16:02:36.000000000 -0500
+--- dhcp-3.0.5/omapip/errwarn.c.libdhcp4client	2006-11-10 11:58:18.000000000 -0500
++++ dhcp-3.0.5/omapip/errwarn.c	2006-11-10 11:58:30.000000000 -0500
 @@ -39,6 +39,11 @@
  #include <omapip/omapip_p.h>
  #include <errno.h>
@@ -801,7 +801,7 @@
  }
  
 --- dhcp-3.0.5/configure.libdhcp4client	2004-09-10 17:02:30.000000000 -0400
-+++ dhcp-3.0.5/configure	2006-11-09 16:02:36.000000000 -0500
++++ dhcp-3.0.5/configure	2006-11-10 11:58:30.000000000 -0500
 @@ -246,7 +246,7 @@
  fi
  
@@ -811,8 +811,8 @@
  fi
  
  for foo in $dirs; do
---- /dev/null	2006-11-09 08:39:48.641391297 -0500
-+++ dhcp-3.0.5/libdhcp4client/Makefile.dist	2006-11-09 16:03:42.000000000 -0500
+--- /dev/null	2006-11-10 10:29:00.408684247 -0500
++++ dhcp-3.0.5/libdhcp4client/Makefile.dist	2006-11-10 11:58:30.000000000 -0500
 @@ -0,0 +1,86 @@
 +# Makefile.dist for libdhcp4client
 +#
@@ -900,8 +900,8 @@
 +	$(CC) -shared -o $@ -Wl,-soname,$@ $^
 +
 +# Dependencies (semi-automatically-generated)
---- /dev/null	2006-11-09 08:39:48.641391297 -0500
-+++ dhcp-3.0.5/libdhcp4client/dhcp4client.h	2006-11-09 16:02:36.000000000 -0500
+--- /dev/null	2006-11-10 10:29:00.408684247 -0500
++++ dhcp-3.0.5/libdhcp4client/dhcp4client.h	2006-11-10 11:58:30.000000000 -0500
 @@ -0,0 +1,24 @@
 +/* dhcp4client.h
 + *
@@ -927,8 +927,8 @@
 +extern int dhcpv4_client( struct libdhcp_control_s *dhc_ctl, int argc, char **argv, char **envp);
 +    /* The ISC IPv4 DHCP client main() function .
 +     */
---- /dev/null	2006-11-09 08:39:48.641391297 -0500
-+++ dhcp-3.0.5/libdhcp4client/libdhcp_control.h	2006-11-09 16:02:36.000000000 -0500
+--- /dev/null	2006-11-10 10:29:00.408684247 -0500
++++ dhcp-3.0.5/libdhcp4client/libdhcp_control.h	2006-11-10 11:58:30.000000000 -0500
 @@ -0,0 +1,102 @@
 +/* libdhcp_control.h
 + *
@@ -1033,7 +1033,7 @@
 +
 +#endif
 --- dhcp-3.0.5/Makefile.dist.libdhcp4client	2004-06-10 13:59:10.000000000 -0400
-+++ dhcp-3.0.5/Makefile.dist	2006-11-09 16:02:36.000000000 -0500
++++ dhcp-3.0.5/Makefile.dist	2006-11-10 11:58:30.000000000 -0500
 @@ -22,7 +22,7 @@
  #   http://www.isc.org/
  

dhcp-3.0.5-minires.patch:
 ns_name.c    |    5 +++++
 res_update.c |    2 +-
 2 files changed, 6 insertions(+), 1 deletion(-)

Index: dhcp-3.0.5-minires.patch
===================================================================
RCS file: /cvs/dist/rpms/dhcp/devel/dhcp-3.0.5-minires.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- dhcp-3.0.5-minires.patch	7 Nov 2006 15:49:44 -0000	1.1
+++ dhcp-3.0.5-minires.patch	10 Nov 2006 17:02:31 -0000	1.2
@@ -1,44 +1,5 @@
---- dhcp-3.0.5/minires/Makefile.dist.minires	2004-06-10 13:59:40.000000000 -0400
-+++ dhcp-3.0.5/minires/Makefile.dist	2006-11-07 10:41:36.000000000 -0500
-@@ -21,9 +21,6 @@
- #   <info at isc.org>
- #   http://www.isc.org/
- 
--CATMANPAGES = dhcpctl.cat3
--SEDMANPAGES = dhcpctl.man3
--MAN    = dhcpctl.3
- SRC    = res_mkupdate.c res_init.c res_update.c res_send.c res_comp.c \
- 	 res_sendsigned.c res_findzonecut.c res_query.c res_mkquery.c \
- 	 ns_date.c ns_parse.c ns_sign.c ns_name.c ns_samedomain.c ns_verify.c
-@@ -50,24 +47,17 @@
- 	-rm -f $(OBJ) libres.a
- 
- realclean: clean
--	-rm -f *~ $(CATMANPAGES) $(SEDMANPAGES)
-+	-rm -f *~
- 
- distclean: realclean
- 	-rm -f Makefile
- 
- links:
--	@for foo in $(SRC) $(MAN) $(HDRS); do \
-+	@for foo in $(SRC) $(HDRS); do \
- 	  if [ ! -b $$foo ]; then \
- 	    rm -f $$foo; \
- 	  fi; \
- 	  ln -s $(TOP)/minires/$$foo $$foo; \
- 	done
- 
--dhcpctl.cat3:	dhcpctl.man3
--	nroff -man dhcpctl.man3 >dhcpctl.cat3
--
--dhcpctl.man3:	dhcpctl.3
--	sed -e "s#ETCDIR#$(ETC)#g" -e "s#DBDIR#$(VARDB)#g" \
--		-e "s#RUNDIR#$(VARRUN)#g" < dhcpctl.3 >dhcpctl.man3
--
- # Dependencies (semi-automatically-generated)
 --- dhcp-3.0.5/minires/ns_name.c.minires	2004-06-10 13:59:40.000000000 -0400
-+++ dhcp-3.0.5/minires/ns_name.c	2006-11-07 10:41:39.000000000 -0500
++++ dhcp-3.0.5/minires/ns_name.c	2006-11-10 11:55:34.000000000 -0500
 @@ -71,6 +71,11 @@
  	dn = dst;
  	eom = dst + dstsiz;
@@ -52,7 +13,7 @@
  		if ((n & NS_CMPRSFLGS) != 0) {
  			/* Some kind of compression pointer. */
 --- dhcp-3.0.5/minires/res_update.c.minires	2004-06-10 13:59:44.000000000 -0400
-+++ dhcp-3.0.5/minires/res_update.c	2006-11-07 10:41:42.000000000 -0500
++++ dhcp-3.0.5/minires/res_update.c	2006-11-10 11:55:37.000000000 -0500
 @@ -172,7 +172,7 @@
  	if (rcode != ISC_R_SUCCESS)
  		goto undone;

dhcp-3.0.5-omapip.patch:
 connection.c |    2 +-
 dispatch.c   |    4 ++--
 errwarn.c    |   31 ++++++++++++++++++++++---------
 message.c    |   34 +++++++++++++++++-----------------
 protocol.c   |    8 ++++----
 5 files changed, 46 insertions(+), 33 deletions(-)

Index: dhcp-3.0.5-omapip.patch
===================================================================
RCS file: /cvs/dist/rpms/dhcp/devel/dhcp-3.0.5-omapip.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- dhcp-3.0.5-omapip.patch	7 Nov 2006 15:49:44 -0000	1.1
+++ dhcp-3.0.5-omapip.patch	10 Nov 2006 17:02:31 -0000	1.2
@@ -1,5 +1,5 @@
 --- dhcp-3.0.5/omapip/connection.c.omapip	2004-11-24 12:39:17.000000000 -0500
-+++ dhcp-3.0.5/omapip/connection.c	2006-11-07 10:42:23.000000000 -0500
++++ dhcp-3.0.5/omapip/connection.c	2006-11-10 11:54:45.000000000 -0500
 @@ -174,7 +174,7 @@
  			
  			if (bind (obj -> socket, (struct sockaddr *)&local_sin,
@@ -10,7 +10,7 @@
  				if (errno == EADDRINUSE)
  					return ISC_R_ADDRINUSE;
 --- dhcp-3.0.5/omapip/dispatch.c.omapip	2004-11-24 12:39:17.000000000 -0500
-+++ dhcp-3.0.5/omapip/dispatch.c	2006-11-07 10:42:26.000000000 -0500
++++ dhcp-3.0.5/omapip/dispatch.c	2006-11-10 11:54:45.000000000 -0500
 @@ -139,7 +139,7 @@
  
  isc_result_t omapi_dispatch (struct timeval *t)
@@ -30,7 +30,7 @@
  							 "ready");
  				}
 --- dhcp-3.0.5/omapip/errwarn.c.omapip	2004-09-30 16:38:32.000000000 -0400
-+++ dhcp-3.0.5/omapip/errwarn.c	2006-11-07 10:42:29.000000000 -0500
++++ dhcp-3.0.5/omapip/errwarn.c	2006-11-10 11:54:45.000000000 -0500
 @@ -45,6 +45,8 @@
  int log_perror = 1;
  #endif
@@ -108,7 +108,7 @@
  
    return 0;
 --- dhcp-3.0.5/omapip/message.c.omapip	2004-11-24 12:39:17.000000000 -0500
-+++ dhcp-3.0.5/omapip/message.c	2006-11-07 10:42:32.000000000 -0500
++++ dhcp-3.0.5/omapip/message.c	2006-11-10 11:54:45.000000000 -0500
 @@ -58,7 +58,7 @@
  	}
  	status = omapi_object_reference (&m -> inner, g, file, line);
@@ -195,7 +195,7 @@
  }
  
 --- dhcp-3.0.5/omapip/protocol.c.omapip	2006-02-22 17:43:27.000000000 -0500
-+++ dhcp-3.0.5/omapip/protocol.c	2006-11-07 10:42:35.000000000 -0500
++++ dhcp-3.0.5/omapip/protocol.c	2006-11-10 11:54:45.000000000 -0500
 @@ -498,7 +498,7 @@
  		}
  		previous_outstanding = dmalloc_outstanding;

dhcp-3.0.5-server.patch:
 bootp.c      |   13 ++++++++++++-
 confpars.c   |   13 ++++++++++---
 dhcp.c       |   38 ++++++++++++++++++++++++++++++--------
 dhcpd.c      |    6 ++++--
 dhcpd.conf.5 |   18 +++++++-----------
 5 files changed, 63 insertions(+), 25 deletions(-)

Index: dhcp-3.0.5-server.patch
===================================================================
RCS file: /cvs/dist/rpms/dhcp/devel/dhcp-3.0.5-server.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- dhcp-3.0.5-server.patch	7 Nov 2006 15:49:44 -0000	1.1
+++ dhcp-3.0.5-server.patch	10 Nov 2006 17:02:31 -0000	1.2
@@ -1,15 +1,5 @@
---- dhcp-3.0.5/server/Makefile.dist.server	2004-06-10 13:59:50.000000000 -0400
-+++ dhcp-3.0.5/server/Makefile.dist	2006-11-07 10:43:54.000000000 -0500
-@@ -103,6 +103,6 @@
- 		-e "s#RUNDIR#$(VARRUN)#g" < dhcpd.leases.5 >dhcpd.leases.man5
- 
- dhcpd:	$(OBJS) $(COBJ) $(DHCPLIB)
--	$(CC) $(LFLAGS) -o dhcpd $(OBJS) $(DHCPLIB) $(LIBS)
-+	$(CC) $(LFLAGS) -pie $(RPM_OPT_FLAGS) -Wl,-z,relro,-z,now,-z,noexecstack,-z,nodlopen -o dhcpd $(OBJS) $(DHCPLIB) $(LIBS)
- 
- # Dependencies (semi-automatically-generated)
 --- dhcp-3.0.5/server/bootp.c.server	2005-05-18 15:54:17.000000000 -0400
-+++ dhcp-3.0.5/server/bootp.c	2006-11-07 10:43:58.000000000 -0500
++++ dhcp-3.0.5/server/bootp.c	2006-11-10 11:56:36.000000000 -0500
 @@ -62,6 +62,7 @@
  	char msgbuf [1024];
  	int ignorep;
@@ -45,7 +35,7 @@
  	/* If it comes from a client that already knows its address
  	   and is not requesting a broadcast response, and we can
 --- dhcp-3.0.5/server/confpars.c.server	2006-07-20 12:02:52.000000000 -0400
-+++ dhcp-3.0.5/server/confpars.c	2006-11-07 10:44:01.000000000 -0500
++++ dhcp-3.0.5/server/confpars.c	2006-11-10 11:56:38.000000000 -0500
 @@ -992,10 +992,17 @@
  		parse_warn (cfile, "peer address may not be omitted");
  
@@ -76,7 +66,7 @@
  			    option_cache_dereference (&oc, MDL);
  			}
 --- dhcp-3.0.5/server/dhcp.c.server	2006-08-22 13:15:56.000000000 -0400
-+++ dhcp-3.0.5/server/dhcp.c	2006-11-07 10:44:04.000000000 -0500
++++ dhcp-3.0.5/server/dhcp.c	2006-11-10 11:56:41.000000000 -0500
 @@ -3828,6 +3828,7 @@
  	struct data_string data;
  	struct subnet *subnet = (struct subnet *)0;
@@ -144,7 +134,7 @@
  
  	/* Otherwise, fail. */
 --- dhcp-3.0.5/server/dhcpd.c.server	2006-07-17 11:23:44.000000000 -0400
-+++ dhcp-3.0.5/server/dhcpd.c	2006-11-07 10:44:08.000000000 -0500
++++ dhcp-3.0.5/server/dhcpd.c	2006-11-10 11:56:44.000000000 -0500
 @@ -551,7 +551,8 @@
  				if ((i = open (path_dhcpd_pid,
  					O_WRONLY | O_CREAT, 0644)) >= 0) {
@@ -166,7 +156,7 @@
  			pidfilewritten = 1;
  		}
 --- dhcp-3.0.5/server/dhcpd.conf.5.server	2006-07-09 11:02:24.000000000 -0400
-+++ dhcp-3.0.5/server/dhcpd.conf.5	2006-11-07 10:44:11.000000000 -0500
++++ dhcp-3.0.5/server/dhcpd.conf.5	2006-11-10 11:56:46.000000000 -0500
 @@ -531,9 +531,9 @@
  failover peer "foo" {
    primary;

dhcp-3.0.5-timeouts.patch:
 client/dhclient.c |    2 
 common/dispatch.c |  169 +++++++++++++++++++++++++++++++++++++++++++++++++++---
 includes/dhcpd.h  |    9 --
 3 files changed, 164 insertions(+), 16 deletions(-)

Index: dhcp-3.0.5-timeouts.patch
===================================================================
RCS file: /cvs/dist/rpms/dhcp/devel/dhcp-3.0.5-timeouts.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- dhcp-3.0.5-timeouts.patch	9 Nov 2006 21:09:46 -0000	1.1
+++ dhcp-3.0.5-timeouts.patch	10 Nov 2006 17:02:31 -0000	1.2
@@ -1,6 +1,6 @@
---- dhcp-3.0.5/client/dhclient.c.timeouts	2006-11-09 09:50:49.000000000 -0500
-+++ dhcp-3.0.5/client/dhclient.c	2006-11-09 09:52:15.000000000 -0500
-@@ -1041,7 +1041,9 @@
+--- dhcp-3.0.5/client/dhclient.c.timeouts	2006-11-10 11:59:31.000000000 -0500
++++ dhcp-3.0.5/client/dhclient.c	2006-11-10 11:59:42.000000000 -0500
+@@ -1035,7 +1035,9 @@
  extern int have_setup_fallback;
          have_setup_fallback=0;
  	quiet_interface_discovery=1;
@@ -11,7 +11,7 @@
  	interface_vector = 0L;
  	interface_count =0;
 --- dhcp-3.0.5/common/dispatch.c.timeouts	2006-02-22 17:43:27.000000000 -0500
-+++ dhcp-3.0.5/common/dispatch.c	2006-11-09 10:21:02.000000000 -0500
++++ dhcp-3.0.5/common/dispatch.c	2006-11-10 11:59:42.000000000 -0500
 @@ -39,8 +39,24 @@
  
  #include "dhcpd.h"
@@ -292,8 +292,8 @@
 -}
  #endif
 +}
---- dhcp-3.0.5/includes/dhcpd.h.timeouts	2006-11-09 09:50:49.000000000 -0500
-+++ dhcp-3.0.5/includes/dhcpd.h	2006-11-09 09:51:20.000000000 -0500
+--- dhcp-3.0.5/includes/dhcpd.h.timeouts	2006-11-10 11:59:31.000000000 -0500
++++ dhcp-3.0.5/includes/dhcpd.h	2006-11-10 11:59:42.000000000 -0500
 @@ -817,14 +817,6 @@
  
  typedef void (*tvref_t)(void *, void *, const char *, int);


Index: dhcp.spec
===================================================================
RCS file: /cvs/dist/rpms/dhcp/devel/dhcp.spec,v
retrieving revision 1.121
retrieving revision 1.122
diff -u -r1.121 -r1.122
--- dhcp.spec	9 Nov 2006 21:09:46 -0000	1.121
+++ dhcp.spec	10 Nov 2006 17:02:31 -0000	1.122
@@ -21,19 +21,19 @@
 Source5: libdhcp4client.pc
 Source6: dhcptables.pl
 
-Patch0:  dhcp-3.0.5-Makefile.patch
-Patch1:  dhcp-3.0.5-client.patch
-Patch2:  dhcp-3.0.5-common.patch
-Patch3:  dhcp-3.0.5-dhcpctl.patch
-Patch4:  dhcp-3.0.5-dst.patch
-Patch5:  dhcp-3.0.5-includes.patch
-Patch6:  dhcp-3.0.5-minires.patch
-Patch7:  dhcp-3.0.5-omapip.patch
-Patch8:  dhcp-3.0.5-relay.patch
-Patch9:  dhcp-3.0.5-server.patch
-Patch10: dhcp-3.0.5-libdhcp4client.patch
-Patch11: dhcp-3.0.5-timeouts.patch
-Patch12: dhcp-3.0.5-mkdep.patch
+Patch0:  dhcp-3.0.5-extended-new-option-info.patch
+Patch1:  dhcp-3.0.5-Makefile.patch
+Patch2:  dhcp-3.0.5-version.patch
+Patch3:  dhcp-3.0.5-client.patch
+Patch4:  dhcp-3.0.5-common.patch
+Patch5:  dhcp-3.0.5-dhcpctl.patch
+Patch6:  dhcp-3.0.5-dst.patch
+Patch7:  dhcp-3.0.5-includes.patch
+Patch8:  dhcp-3.0.5-omapip.patch
+Patch9:  dhcp-3.0.5-minires.patch
+Patch10: dhcp-3.0.5-server.patch
+Patch11: dhcp-3.0.5-libdhcp4client.patch
+Patch12: dhcp-3.0.5-timeouts.patch
 Patch13: dhcp-3.0.5-fix-warnings.patch
 
 BuildRoot: %{_tmppath}/%{name}-%{version}-root
@@ -99,19 +99,19 @@
 
 %prep
 %setup -q
-%patch0 -p1 -b .Makefile
-%patch1 -p1 -b .client
-%patch2 -p1 -b .common
-%patch3 -p1 -b .dhcpctl
-%patch4 -p1 -b .dst
-%patch5 -p1 -b .includes
-%patch6 -p1 -b .minires
-%patch7 -p1 -b .omapip
-%patch8 -p1 -b .relay
-%patch9 -p1 -b .server
-%patch10 -p1 -b .libdhcp4client
-%patch11 -p1 -b .timeouts
-%patch12 -p1 -b .mkdep
+%patch0 -p1 -b .enoi
+%patch1 -p1 -b .Makefile
+%patch2 -p1 -b .version
+%patch3 -p1 -b .client
+%patch4 -p1 -b .common
+%patch5 -p1 -b .dhcpctl
+%patch6 -p1 -b .dst
+%patch7 -p1 -b .includes
+%patch8 -p1 -b .omapip
+%patch9 -p1 -b .minires
+%patch10 -p1 -b .server
+%patch11 -p1 -b .libdhcp4client
+%patch12 -p1 -b .timeouts
 %patch13 -p1 -b .warnings
 
 %build
@@ -130,7 +130,7 @@
 #define _PATH_DHCLIENT_DB "%{_localstatedir}/lib/dhclient/dhclient.leases"
 EOF
 
-RPM_OPT_FLAGS="$RPM_OPT_FLAGS -Werror -Dlint -DEXTENDED_NEW_OPTION_INFO"
+RPM_OPT_FLAGS="$RPM_OPT_FLAGS -fPIC -Werror -Dlint -DEXTENDED_NEW_OPTION_INFO"
 
 # DO NOT use the %%configure macro because this configure script is not autognu
 CC="%{__cc}" ./configure \
@@ -318,11 +318,14 @@
 %{_libdir}/libdhcp4client.so
 
 %changelog
-* Thu Nov 09 2006 David Cantrell <dcantrell at redhat.com> - 12:3.0.5-2
+* Fri Nov 10 2006 David Cantrell <dcantrell at redhat.com> - 12:3.0.5-2
 - Change the way libdhcp4client is compiled (patch main source, create new
   Makefile rather than copy and patch code after main patches)
 - Fix up problems generating compiler warnings
 - Use 'gcc' for making dependencies
+- Pass -fPIC instead of -fpie/-fPIE in compiler flags
+- Combine the extended new option info changes in to one patch file (makes
+  it easier for outside projects that want to use dhcdbd and NetworkManager)
 
 * Tue Nov 07 2006 David Cantrell <dcantrell at redhat.com> - 12:3.0.5-1
 - Upgrade to ISC dhcp-3.0.5


--- dhcp-3.0.5-mkdep.patch DELETED ---


--- dhcp-3.0.5-relay.patch DELETED ---




More information about the fedora-cvs-commits mailing list