rpms/dhcp/devel dhcp-3.0.5-fix-warnings.patch, 1.3, 1.4 dhcp-3.0.5-libdhcp4client.patch, 1.8, 1.9 dhcp.spec, 1.136, 1.137

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Sun Feb 4 19:34:55 UTC 2007


Author: dcantrel

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

Modified Files:
	dhcp-3.0.5-fix-warnings.patch dhcp-3.0.5-libdhcp4client.patch 
	dhcp.spec 
Log Message:
* Sun Feb 04 2007 David Cantrell <dcantrell at redhat.com> - 12:3.0.5-16
- Disable xen-checksums patch for now as it breaks dhclient (#227266)
- Updated fix-warnings patch


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.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- dhcp-3.0.5-fix-warnings.patch	14 Nov 2006 03:48:34 -0000	1.3
+++ dhcp-3.0.5-fix-warnings.patch	4 Feb 2007 19:34:53 -0000	1.4
@@ -1,5 +1,5 @@
---- dhcp-3.0.5/client/clparse.c.warnings	2006-11-13 18:29:06.000000000 -0500
-+++ dhcp-3.0.5/client/clparse.c	2006-11-13 18:29:17.000000000 -0500
+--- dhcp-3.0.5/client/clparse.c.warnings	2007-02-04 12:29:12.000000000 -0500
++++ dhcp-3.0.5/client/clparse.c	2007-02-04 12:29:12.000000000 -0500
 @@ -39,8 +39,6 @@
  
  #include "dhcpd.h"
@@ -55,8 +55,169 @@
  	parse_warn (cfile, "allow/deny/ignore not permitted here.");
  	skip_to_semi (cfile);
  	return 0;
+--- dhcp-3.0.5/client/dhclient.c.warnings	2007-02-04 12:29:12.000000000 -0500
++++ dhcp-3.0.5/client/dhclient.c	2007-02-04 12:35:31.000000000 -0500
+@@ -105,7 +105,6 @@
+ 	omapi_object_t *listener;
+ 	isc_result_t result;
+ 	int persist = 0;
+-	int omapi_port;
+ 	int no_dhclient_conf = 0;
+ 	int no_dhclient_db = 0;
+ 	int no_dhclient_pid = 0;
+@@ -1091,7 +1090,6 @@
+ 			picked = lp;
+ 			picked -> next = (struct client_lease *)0;
+ 		} else {
+-		      freeit:
+ 			destroy_client_lease (lp);
+ 		}
+ 	}
+@@ -1149,7 +1147,6 @@
+ 	struct client_lease *lease;
+ 	struct option_cache *oc;
+ 	struct data_string ds;
+-	int i;
+ 	
+ 	/* If we're not receptive to an offer right now, or if the offer
+ 	   has an unrecognizable transaction id, then just drop it. */
+@@ -1301,8 +1298,6 @@
+ void bind_lease (client)
+ 	struct client_state *client;
+ {
+-	struct interface_info *ip = client -> interface;
+-
+ 	/* Remember the medium. */
+ 	client -> new -> medium = client -> medium;
+ 
+@@ -1368,7 +1363,6 @@
+ 	void *cpp;
+ {
+ 	struct client_state *client = cpp;
+-	int i;
+ 	struct option_cache *oc;
+ 	struct data_string ds;
+ 
+@@ -1411,7 +1405,6 @@
+ 	void *cpp;
+ {
+ 	struct client_state *client = cpp;
+-	int i;
+ 
+ 	/* Cancel all timeouts. */
+ 	cancel_timeout (state_selecting, client);
+@@ -1524,8 +1517,6 @@
+ 	int i;
+ 	int stop_selecting;
+ 	const char *name = packet -> packet_type ? "DHCPOFFER" : "BOOTREPLY";
+-	struct iaddrlist *ap;
+-	struct option_cache *oc;
+ 	char obuf [1024];
+ 	
+ #ifdef DEBUG_PACKET
+@@ -2344,7 +2335,6 @@
+ 	struct client_lease *lease;
+ {
+ 	unsigned char discover = DHCPDISCOVER;
+-	int i;
+ 	struct option_state *options = (struct option_state *)0;
+ 
+ 	memset (&client -> packet, 0, sizeof (client -> packet));
+@@ -2409,9 +2399,6 @@
+ 	struct client_lease *lease;
+ {
+ 	unsigned char request = DHCPREQUEST;
+-	int i, j;
+-	unsigned char *tmp, *digest;
+-	unsigned char *old_digest_loc;
+ 	struct option_cache *oc;
+ 
+ 	memset (&client -> packet, 0, sizeof (client -> packet));
+@@ -2500,7 +2487,6 @@
+ 	struct client_lease *lease;
+ {
+ 	unsigned char decline = DHCPDECLINE;
+-	int i;
+ 	struct option_cache *oc;
+ 
+ 	struct option_state *options = (struct option_state *)0;
+@@ -2557,7 +2543,6 @@
+ 	struct client_lease *lease;
+ {
+ 	unsigned char request = DHCPRELEASE;
+-	int i;
+ 	struct option_cache *oc;
+ 
+ 	struct option_state *options = (struct option_state *)0;
+@@ -2614,8 +2599,6 @@
+ void destroy_client_lease (lease)
+ 	struct client_lease *lease;
+ {
+-	int i;
+-
+ 	if (lease -> server_name)
+ 		dfree (lease -> server_name, MDL);
+ 	if (lease -> filename)
+@@ -2678,8 +2661,6 @@
+ {
+ 	const char *name, *dot;
+ 	struct data_string ds;
+-	int status;
+-	struct client_state *client;
+ 
+ 	memset (&ds, 0, sizeof ds);
+ 
+@@ -2710,9 +2691,7 @@
+ 	int i;
+ 	struct tm *t;
+ 	static int leases_written;
+-	struct option_cache *oc;
+ 	struct data_string ds;
+-	pair *hash;
+ 	int errors = 0;
+ 	char *s;
+ 
+@@ -2992,8 +2971,6 @@
+ 	int i;
+ 	struct data_string data;
+ 	struct option_cache *oc;
+-	pair *hash;
+-	char *s, *t;
+ 	struct envadd_state es;
+ 
+ 	es.client = client;
+@@ -3071,11 +3048,9 @@
+ int script_go (client)
+ 	struct client_state *client;
+ {
+-	int rval;
+ 	char *scriptName;
+ 	char *argv [2];
+ 	char **envp;
+-	char *epp [3];
+ 	char reason [] = "REASON=NBI";
+ 	static char client_path [] = CLIENT_PATH;
+ 	int i;
+@@ -3153,7 +3128,7 @@
+ {
+ 	char spbuf [1024];
+ 	char *s;
+-	unsigned len, i;
++	unsigned len;
+ 	struct string_list *val;
+ 	va_list list;
+ 
+@@ -3588,7 +3563,7 @@
+ 
+ isc_result_t client_dns_update (struct client_state *client, int addp, int ttl)
+ {
+-	struct data_string ddns_fqdn, ddns_fwd_name,
++	struct data_string ddns_fwd_name,
+ 	       ddns_dhcid, client_identifier;
+ 	struct option_cache *oc;
+ 	int ignorep;
 --- 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-13 18:29:17.000000000 -0500
++++ dhcp-3.0.5/common/icmp.c	2007-02-04 12:29:12.000000000 -0500
 @@ -61,11 +61,7 @@
  {
  	struct protoent *proto;
@@ -77,8 +238,8 @@
  	u_int8_t *icbuf;
  	ia = (struct iaddr *)buf;
  	ia->len = ntohl(ia->len);
---- dhcp-3.0.5/common/parse.c.warnings	2006-11-13 18:29:06.000000000 -0500
-+++ dhcp-3.0.5/common/parse.c	2006-11-13 18:29:17.000000000 -0500
+--- dhcp-3.0.5/common/parse.c.warnings	2007-02-04 12:29:12.000000000 -0500
++++ dhcp-3.0.5/common/parse.c	2007-02-04 12:29:12.000000000 -0500
 @@ -311,9 +311,6 @@
  	struct parse *cfile;
  	struct iaddr *addr;
@@ -199,7 +360,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-13 18:29:17.000000000 -0500
++++ dhcp-3.0.5/common/socket.c	2007-02-04 12:29:12.000000000 -0500
 @@ -55,8 +55,6 @@
  # endif
  #endif
@@ -210,7 +371,7 @@
     is not required for packet-filter APIs. */
  
 --- 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-13 18:29:18.000000000 -0500
++++ dhcp-3.0.5/common/memory.c	2007-02-04 12:29:12.000000000 -0500
 @@ -84,8 +84,7 @@
  
  isc_result_t supersede_group (struct group_object *group, int writep)
@@ -230,7 +391,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-13 18:29:18.000000000 -0500
++++ dhcp-3.0.5/common/print.c	2007-02-04 12:29:12.000000000 -0500
 @@ -1043,7 +1043,6 @@
  			       const char *suffix, ...)
  {
@@ -247,8 +408,8 @@
  	char obuf [3];
  
  	/* See if this is just ASCII. */
---- dhcp-3.0.5/common/options.c.warnings	2006-11-13 18:29:06.000000000 -0500
-+++ dhcp-3.0.5/common/options.c	2006-11-13 18:29:18.000000000 -0500
+--- dhcp-3.0.5/common/options.c.warnings	2007-02-04 12:29:12.000000000 -0500
++++ dhcp-3.0.5/common/options.c	2007-02-04 12:29:12.000000000 -0500
 @@ -43,16 +43,11 @@
  
  struct option *vendor_cfg_option;
@@ -367,7 +528,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-13 18:29:18.000000000 -0500
++++ dhcp-3.0.5/common/inet.c	2007-02-04 12:29:12.000000000 -0500
 @@ -124,7 +124,7 @@
  	struct iaddr subnet;
  	struct iaddr mask;
@@ -378,7 +539,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-13 18:29:18.000000000 -0500
++++ dhcp-3.0.5/common/tree.c	2007-02-04 12:29:12.000000000 -0500
 @@ -249,8 +249,6 @@
  	struct expression *expr;
  	int limit;
@@ -452,7 +613,7 @@
  
  	if (!ptr || !*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-13 18:29:19.000000000 -0500
++++ dhcp-3.0.5/common/dns.c	2007-02-04 12:29:12.000000000 -0500
 @@ -127,7 +127,6 @@
  isc_result_t find_tsig_key (ns_tsig_key **key, const char *zname,
  			    struct dns_zone *zone)
@@ -488,7 +649,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-13 18:29:19.000000000 -0500
++++ dhcp-3.0.5/common/resolv.c	2007-02-04 12:29:12.000000000 -0500
 @@ -50,10 +50,8 @@
  	struct parse *cfile;
  	const char *val;
@@ -518,7 +679,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-13 18:29:19.000000000 -0500
++++ dhcp-3.0.5/common/execute.c	2007-02-04 12:29:12.000000000 -0500
 @@ -54,8 +54,6 @@
  	struct executable_statement *r, *e, *next;
  	int rc;
@@ -574,7 +735,7 @@
  	for (foo = stmt; foo; foo = foo -> next) {
  	    if ((*callback) (foo, vp, condp) != 0)
 --- 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-13 18:29:20.000000000 -0500
++++ dhcp-3.0.5/common/comapi.c	2007-02-04 12:29:12.000000000 -0500
 @@ -143,7 +143,6 @@
  {
  	struct group_object *group;
@@ -707,8 +868,148 @@
  	/* Can't look up shared_networks yet. */
  
  	/* If we get to here without finding a shared_network, no valid key was
+--- dhcp-3.0.5/common/lpf.c.warnings	2004-11-24 12:39:15.000000000 -0500
++++ dhcp-3.0.5/common/lpf.c	2007-02-04 12:30:45.000000000 -0500
+@@ -69,8 +69,6 @@
+ 	struct interface_info *info;
+ {
+ 	int sock;
+-	char filename[50];
+-	int b;
+ 	struct sockaddr sa;
+ 
+ 	/* Make an LPF socket. */
+@@ -334,7 +332,6 @@
+ 	struct sockaddr_in *from;
+ 	struct hardware *hfrom;
+ {
+-	int nread;
+ 	int length = 0;
+ 	int offset = 0;
+ 	unsigned char ibuf [1536];
+--- dhcp-3.0.5/common/alloc.c.warnings	2007-02-04 12:29:12.000000000 -0500
++++ dhcp-3.0.5/common/alloc.c	2007-02-04 12:31:41.000000000 -0500
+@@ -48,7 +48,6 @@
+ 	const char *file;
+ 	int line;
+ {
+-	int size;
+ 	struct option_chain_head *h;
+ 
+ 	if (!ptr) {
+@@ -109,7 +108,6 @@
+ 	const char *file;
+ 	int line;
+ {
+-	int i;
+ 	struct option_chain_head *option_chain_head;
+ 	pair car, cdr;
+ 
+@@ -161,7 +159,6 @@
+ 	const char *file;
+ 	int line;
+ {
+-	int size;
+ 	struct group *g;
+ 
+ 	if (!ptr) {
+@@ -222,7 +219,6 @@
+ 	const char *file;
+ 	int line;
+ {
+-	int i;
+ 	struct group *group;
+ 
+ 	if (!ptr || !*ptr) {
+@@ -745,8 +741,6 @@
+ 	const char *file;
+ 	int line;
+ {
+-	struct buffer *bp;
+-
+ 	if (!ptr) {
+ 		log_error ("%s(%d): null pointer", file, line);
+ #if defined (POINTER_DEBUG)
+@@ -834,8 +828,6 @@
+ 	const char *file;
+ 	int line;
+ {
+-	struct dns_host_entry *bp;
+-
+ 	if (!ptr || !*ptr) {
+ 		log_error ("%s(%d): null pointer", file, line);
+ #if defined (POINTER_DEBUG)
+@@ -1037,7 +1029,6 @@
+ 	const char *file;
+ 	int line;
+ {
+-	int size;
+ 	struct packet *p;
+ 
+ 	if (!ptr) {
+@@ -1157,7 +1148,6 @@
+ 	const char *file;
+ 	int line;
+ {
+-	int size;
+ 	struct dns_zone *d;
+ 
+ 	if (!ptr) {
+--- dhcp-3.0.5/common/discover.c.warnings	2007-02-04 12:29:12.000000000 -0500
++++ dhcp-3.0.5/common/discover.c	2007-02-04 12:32:42.000000000 -0500
+@@ -124,16 +124,14 @@
+ void discover_interfaces (state)
+ 	int state;
+ {
+-	struct interface_info *tmp, *ip;
++	struct interface_info *tmp;
+ 	struct interface_info *last, *next;
+ 	char buf [2048];
+ 	struct ifconf ic;
+ 	struct ifreq ifr;
+ 	int i;
+ 	int sock;
+-	int address_count = 0;
+ 	struct subnet *subnet;
+-	struct shared_network *share;
+ 	struct sockaddr_in foo;
+ 	int ir;
+ 	struct ifreq *tif;
+@@ -435,7 +433,6 @@
+ 	for (tmp = interfaces; tmp; tmp = tmp -> next) {
+ 		struct ifreq ifr;
+ 		struct sockaddr sa;
+-		int b, sk;
+ 		
+ 		if (!tmp -> ifp) {
+ 			/* Make up an ifreq structure. */
+@@ -815,7 +812,6 @@
+ {
+ 	struct interface_info *interface;
+ 	isc_result_t status;
+-	int foo;
+ 
+ 	if (h -> type != dhcp_type_interface)
+ 		return ISC_R_INVALIDARG;
+@@ -858,7 +854,6 @@
+ 					 const char *file, int line)
+ {
+ 	struct interface_info *interface;
+-	isc_result_t status;
+ 
+ 	if (h -> type != dhcp_type_interface)
+ 		return ISC_R_INVALIDARG;
+@@ -888,8 +883,6 @@
+ 					    const char *name, va_list ap)
+ {
+ 	struct interface_info *ip, *interface;
+-	struct client_config *config;
+-	struct client_state *client;
+ 	isc_result_t status;
+ 
+ 	if (h -> type != dhcp_type_interface)
 --- 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-13 18:29:20.000000000 -0500
++++ dhcp-3.0.5/dhcpctl/dhcpctl.c	2007-02-04 12:29:12.000000000 -0500
 @@ -101,7 +101,6 @@
  				dhcpctl_handle authinfo)
  {
@@ -757,8 +1058,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-13 18:29:06.000000000 -0500
-+++ dhcp-3.0.5/dhcpctl/callback.c	2006-11-13 18:29:20.000000000 -0500
+--- dhcp-3.0.5/dhcpctl/callback.c.warnings	2007-02-04 12:29:12.000000000 -0500
++++ dhcp-3.0.5/dhcpctl/callback.c	2007-02-04 12:29:12.000000000 -0500
 @@ -59,7 +59,6 @@
  {
  	dhcpctl_callback_object_t *callback;
@@ -776,8 +1077,8 @@
  	if (p -> type != dhcpctl_callback_type)
  		return ISC_R_INVALIDARG;
  
---- dhcp-3.0.5/dhcpctl/remote.c.warnings	2006-11-13 18:29:06.000000000 -0500
-+++ dhcp-3.0.5/dhcpctl/remote.c	2006-11-13 18:29:20.000000000 -0500
+--- dhcp-3.0.5/dhcpctl/remote.c.warnings	2007-02-04 12:29:12.000000000 -0500
++++ dhcp-3.0.5/dhcpctl/remote.c	2007-02-04 12:29:12.000000000 -0500
 @@ -354,8 +354,6 @@
  					  omapi_object_t *id,
  					  omapi_object_t *p)
@@ -788,7 +1089,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-13 18:29:20.000000000 -0500
++++ dhcp-3.0.5/dhcpctl/omshell.c	2007-02-04 12:29:12.000000000 -0500
 @@ -82,11 +82,9 @@
  	dhcpctl_handle connection;
  	dhcpctl_handle authenticator;
@@ -811,7 +1112,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-13 18:29:20.000000000 -0500
++++ dhcp-3.0.5/dhcpctl/cltest.c	2007-02-04 12:29:12.000000000 -0500
 @@ -60,9 +60,8 @@
  	isc_result_t status, waitstatus;
  	dhcpctl_handle authenticator;
@@ -825,7 +1126,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-13 18:29:20.000000000 -0500
++++ dhcp-3.0.5/dst/prandom.c	2007-02-04 12:29:12.000000000 -0500
 @@ -335,7 +335,7 @@
  		cnt += do_time(work);
  	}
@@ -835,8 +1136,8 @@
  	pclose(pipe);
  	return (cnt);		/* read how many bytes where read in */
  }
---- dhcp-3.0.5/minires/res_mkupdate.c.warnings	2006-11-13 18:29:06.000000000 -0500
-+++ dhcp-3.0.5/minires/res_mkupdate.c	2006-11-13 18:29:20.000000000 -0500
+--- dhcp-3.0.5/minires/res_mkupdate.c.warnings	2007-02-04 12:29:12.000000000 -0500
++++ dhcp-3.0.5/minires/res_mkupdate.c	2007-02-04 12:29:12.000000000 -0500
 @@ -112,7 +112,7 @@
  	u_int16_t rtype, rclass;
  	u_int32_t n1, rttl;
@@ -846,9 +1147,9 @@
  	int keylen;
  	unsigned buflen = *blp;
  	u_char *buf = (unsigned char *)bp;
---- dhcp-3.0.5/minires/res_update.c.warnings	2006-11-13 18:29:06.000000000 -0500
-+++ dhcp-3.0.5/minires/res_update.c	2006-11-13 18:29:20.000000000 -0500
-@@ -106,7 +106,7 @@
+--- dhcp-3.0.5/minires/res_update.c.warnings	2007-02-04 12:29:12.000000000 -0500
++++ dhcp-3.0.5/minires/res_update.c	2007-02-04 12:29:12.000000000 -0500
+@@ -88,7 +88,7 @@
  	double answer[PACKETSZ / sizeof (double)];
  	double packet[2*PACKETSZ / sizeof (double)];
  	struct zonegrp *zptr, tgrp;
@@ -857,8 +1158,8 @@
  	unsigned n;
  	unsigned rval;
  	struct sockaddr_in nsaddrs[MAXNS];
---- dhcp-3.0.5/omapip/protocol.c.warnings	2006-11-13 18:29:06.000000000 -0500
-+++ dhcp-3.0.5/omapip/protocol.c	2006-11-13 18:29:20.000000000 -0500
+--- dhcp-3.0.5/omapip/protocol.c.warnings	2007-02-04 12:29:12.000000000 -0500
++++ dhcp-3.0.5/omapip/protocol.c	2007-02-04 12:29:12.000000000 -0500
 @@ -161,7 +161,6 @@
  	omapi_remote_auth_t *ra;
  	omapi_value_t *signature;
@@ -886,7 +1187,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-13 18:29:20.000000000 -0500
++++ dhcp-3.0.5/omapip/buffer.c	2007-02-04 12:29:12.000000000 -0500
 @@ -438,7 +438,6 @@
  	int bytes_written;
  	unsigned first_byte;
@@ -911,8 +1212,8 @@
  
  	inbuf = htons (value);
  	
---- dhcp-3.0.5/omapip/connection.c.warnings	2006-11-13 18:29:06.000000000 -0500
-+++ dhcp-3.0.5/omapip/connection.c	2006-11-13 18:29:21.000000000 -0500
+--- dhcp-3.0.5/omapip/connection.c.warnings	2007-02-04 12:29:12.000000000 -0500
++++ dhcp-3.0.5/omapip/connection.c	2007-02-04 12:29:12.000000000 -0500
 @@ -111,10 +111,6 @@
  	omapi_connection_object_t *obj;
  	int flag;
@@ -934,7 +1235,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-13 18:29:21.000000000 -0500
++++ dhcp-3.0.5/omapip/listener.c	2007-02-04 12:29:12.000000000 -0500
 @@ -68,12 +68,9 @@
  				omapi_addr_t *addr,
  				int max)
@@ -975,7 +1276,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-13 18:29:21.000000000 -0500
++++ dhcp-3.0.5/omapip/generic.c	2007-02-04 12:29:12.000000000 -0500
 @@ -292,7 +292,6 @@
  isc_result_t omapi_generic_clear_flags (omapi_object_t *o)
  {
@@ -985,7 +1286,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-13 18:29:21.000000000 -0500
++++ dhcp-3.0.5/omapip/support.c	2007-02-04 12:29:12.000000000 -0500
 @@ -53,7 +53,6 @@
  
  omapi_object_type_t *omapi_object_types;
@@ -1047,7 +1348,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-13 18:29:21.000000000 -0500
++++ dhcp-3.0.5/omapip/handle.c	2007-02-04 12:29:12.000000000 -0500
 @@ -76,7 +76,6 @@
  
  isc_result_t omapi_object_handle (omapi_handle_t *h, omapi_object_t *o)
@@ -1064,8 +1365,8 @@
  	omapi_handle_t h;
  
  	if (handle -> type == omapi_datatype_int)
---- dhcp-3.0.5/omapip/message.c.warnings	2006-11-13 18:29:06.000000000 -0500
-+++ dhcp-3.0.5/omapip/message.c	2006-11-13 18:29:21.000000000 -0500
+--- dhcp-3.0.5/omapip/message.c.warnings	2007-02-04 12:29:12.000000000 -0500
++++ dhcp-3.0.5/omapip/message.c	2007-02-04 12:29:12.000000000 -0500
 @@ -209,8 +209,6 @@
  isc_result_t omapi_message_destroy (omapi_object_t *h,
  				    const char *file, int line)
@@ -1085,7 +1386,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-13 18:29:21.000000000 -0500
++++ dhcp-3.0.5/omapip/convert.c	2007-02-04 12:29:12.000000000 -0500
 @@ -165,7 +165,7 @@
  	u_int32_t number;
  	static char h2a [] = "0123456789abcdef";
@@ -1096,7 +1397,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-13 18:29:21.000000000 -0500
++++ dhcp-3.0.5/omapip/hash.c	2007-02-04 12:29:12.000000000 -0500
 @@ -81,8 +81,6 @@
  	const char *file;
  	int line;
@@ -1115,7 +1416,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-13 18:29:21.000000000 -0500
++++ dhcp-3.0.5/omapip/array.c	2007-02-04 12:29:12.000000000 -0500
 @@ -46,7 +46,6 @@
  				   omapi_array_deref_t deref,
  				   const char *file, int line)
@@ -1133,7 +1434,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-13 18:29:21.000000000 -0500
++++ dhcp-3.0.5/omapip/trace.c	2007-02-04 12:29:12.000000000 -0500
 @@ -312,7 +312,7 @@
  				   void (*stop_tracing) (trace_type_t *),
  				   const char *file, int line)
@@ -1160,7 +1461,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-13 18:29:21.000000000 -0500
++++ dhcp-3.0.5/omapip/mrtrace.c	2007-02-04 12:29:12.000000000 -0500
 @@ -85,7 +85,6 @@
  	unsigned buflen = 0;
  	char *buf = (char *)0;
@@ -1177,8 +1478,18 @@
  		status = trace_get_packet (&trace_mr_randomid, &buflen, &buf);
  		if (status != ISC_R_SUCCESS) {
  			log_error ("trace_mr_statp: no statp packet found.");
+--- dhcp-3.0.5/omapip/alloc.c.warnings	2006-02-22 17:43:27.000000000 -0500
++++ dhcp-3.0.5/omapip/alloc.c	2007-02-04 12:33:09.000000000 -0500
+@@ -66,7 +66,6 @@
+ {
+ 	unsigned char *foo;
+ 	unsigned len;
+-	int i;
+ 	VOIDPTR *bar;
+ #if defined (DEBUG_MEMORY_LEAKAGE) || defined (DEBUG_MALLOC_POOL) || \
+ 		defined (DEBUG_MEMORY_LEAKAGE_ON_EXIT)
 --- 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-13 18:29:21.000000000 -0500
++++ dhcp-3.0.5/relay/dhcrelay.c	2007-02-04 12:29:12.000000000 -0500
 @@ -734,7 +734,7 @@
  	unsigned length;
  	struct in_addr giaddr;
@@ -1188,8 +1499,8 @@
  	unsigned optlen;
  	u_int8_t *op, *nextop, *sp, *max, *end_pad = NULL;
  
---- dhcp-3.0.5/server/dhcpd.c.warnings	2006-11-13 18:29:06.000000000 -0500
-+++ dhcp-3.0.5/server/dhcpd.c	2006-11-13 18:29:21.000000000 -0500
+--- dhcp-3.0.5/server/dhcpd.c.warnings	2007-02-04 12:29:12.000000000 -0500
++++ dhcp-3.0.5/server/dhcpd.c	2007-02-04 12:29:12.000000000 -0500
 @@ -215,9 +215,6 @@
  	struct interface_info *ip;
  	struct parse *parse;
@@ -1208,8 +1519,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-13 18:29:06.000000000 -0500
-+++ dhcp-3.0.5/server/dhcp.c	2006-11-13 18:29:21.000000000 -0500
+--- dhcp-3.0.5/server/dhcp.c.warnings	2007-02-04 12:29:12.000000000 -0500
++++ dhcp-3.0.5/server/dhcp.c	2007-02-04 12:29:12.000000000 -0500
 @@ -388,7 +388,6 @@
  	int ours = 0;
  	struct option_cache *oc;
@@ -1280,8 +1591,8 @@
  	struct hardware h;
  
  	/* Quick check to see if the peer has leases. */
---- dhcp-3.0.5/server/confpars.c.warnings	2006-11-13 18:29:06.000000000 -0500
-+++ dhcp-3.0.5/server/confpars.c	2006-11-13 18:29:21.000000000 -0500
+--- dhcp-3.0.5/server/confpars.c.warnings	2007-02-04 12:29:12.000000000 -0500
++++ dhcp-3.0.5/server/confpars.c	2007-02-04 12:29:12.000000000 -0500
 @@ -329,15 +329,12 @@
  	enum dhcp_token token;
  	const char *val;
@@ -1358,7 +1669,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-13 18:29:21.000000000 -0500
++++ dhcp-3.0.5/server/db.c	2007-02-04 12:29:12.000000000 -0500
 @@ -56,7 +56,6 @@
  	struct tm *t;
  	char tbuf [64];
@@ -1393,7 +1704,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-13 18:29:21.000000000 -0500
++++ dhcp-3.0.5/server/failover.c	2007-02-04 12:29:12.000000000 -0500
 @@ -57,7 +57,6 @@
  {
  	dhcp_failover_state_t *state;
@@ -1530,7 +1841,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-13 18:29:21.000000000 -0500
++++ dhcp-3.0.5/server/omapi.c	2007-02-04 12:29:12.000000000 -0500
 @@ -208,7 +208,6 @@
  {
  	struct lease *lease;
@@ -1650,7 +1961,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-13 18:29:21.000000000 -0500
++++ dhcp-3.0.5/server/mdb.c	2007-02-04 12:29:12.000000000 -0500
 @@ -238,7 +238,6 @@
  	struct host_decl *hp = (struct host_decl *)0;
  	struct host_decl *np = (struct host_decl *)0;
@@ -1722,7 +2033,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-13 18:29:21.000000000 -0500
++++ dhcp-3.0.5/server/ddns.c	2007-02-04 12:29:12.000000000 -0500
 @@ -224,7 +224,6 @@
  	struct data_string ddns_fwd_name;
  	struct data_string ddns_rev_name;

dhcp-3.0.5-libdhcp4client.patch:
 Makefile.dist                    |    2 
 client/dhclient.c                |  278 +++++++++++++++++++++++++++++++++++++--
 common/alloc.c                   |    4 
 common/discover.c                |   17 +-
 common/lpf.c                     |    1 
 configure                        |    2 
 dst/hmac_link.c                  |   32 ++++
 dst/md5_dgst.c                   |    5 
 libdhcp4client/Makefile.dist     |  127 +++++++++++++++++
 libdhcp4client/dhcp4client.h     |   24 +++
 libdhcp4client/libdhcp_control.h |  102 ++++++++++++++
 minires/ns_date.c                |    1 
 minires/ns_name.c                |    8 +
 minires/ns_parse.c               |    5 
 minires/ns_samedomain.c          |    4 
 minires/ns_sign.c                |    1 
 minires/ns_verify.c              |    2 
 minires/res_comp.c               |    3 
 minires/res_findzonecut.c        |    1 
 minires/res_init.c               |    1 
 minires/res_mkquery.c            |    1 
 minires/res_mkupdate.c           |    8 +
 minires/res_send.c               |    5 
 minires/res_sendsigned.c         |    1 
 omapip/alloc.c                   |   42 +++++
 omapip/dispatch.c                |    2 
 omapip/errwarn.c                 |   50 ++++++-
 27 files changed, 700 insertions(+), 29 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.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- dhcp-3.0.5-libdhcp4client.patch	2 Feb 2007 20:41:01 -0000	1.8
+++ dhcp-3.0.5-libdhcp4client.patch	4 Feb 2007 19:34:53 -0000	1.9
@@ -1,5 +1,5 @@
---- dhcp-3.0.5/client/dhclient.c.libdhcp4client	2007-02-02 15:27:55.000000000 -0500
-+++ dhcp-3.0.5/client/dhclient.c	2007-02-02 15:29:15.000000000 -0500
+--- dhcp-3.0.5/client/dhclient.c.libdhcp4client	2007-02-04 14:25:27.000000000 -0500
++++ dhcp-3.0.5/client/dhclient.c	2007-02-04 14:29:41.000000000 -0500
 @@ -78,7 +78,9 @@
  int extended_option_environment = 0;
  #endif
@@ -11,7 +11,7 @@
  static void usage PROTO ((void));
  
  void do_release(struct client_state *);
-@@ -89,10 +91,58 @@
+@@ -89,10 +91,57 @@
  
  extern u_int32_t default_requested_options[];
  
@@ -54,7 +54,6 @@
 +}
 +
 +extern void omapi_free_all_pointers(void);
-+__attribute__ ((visibility("default")))
 +int dhcpv4_client
 +(libdhcp_ctl, argc, argv, envp)
 +LIBDHCP_Control *libdhcp_ctl;
@@ -71,15 +70,7 @@
  	int i;
  	struct servent *ent;
  	struct interface_info *ip;
-@@ -105,7 +155,6 @@
- 	omapi_object_t *listener;
- 	isc_result_t result;
- 	int persist = 0;
--	int omapi_port;
- 	int no_dhclient_conf = 0;
- 	int no_dhclient_db = 0;
- 	int no_dhclient_pid = 0;
-@@ -119,7 +168,7 @@
+@@ -118,7 +167,7 @@
  	int timeout_arg = 0;
  	char *arg_conf = 0L;
  	int arg_conf_len=0;
@@ -88,7 +79,7 @@
  	/* Make sure we have stdin, stdout and stderr. */
  	i = open ("/dev/null", O_RDWR);
  	if (i == 0)
-@@ -140,7 +189,7 @@
+@@ -139,7 +188,7 @@
  #if !(defined (DEBUG) || defined (SYSLOG_4_2) || defined (__CYGWIN32__))
  	setlogmask (LOG_UPTO (LOG_INFO));
  #endif	
@@ -97,7 +88,7 @@
  	/* Set up the OMAPI. */
  	status = omapi_init ();
  	if (status != ISC_R_SUCCESS)
-@@ -469,9 +518,12 @@
+@@ -468,9 +517,12 @@
  		log_fatal("dhclient(%u) is already running - exiting. ", dhcpid);
  		return(1);
  	    }	    
@@ -112,7 +103,7 @@
  	if (!quiet) {
  		log_info ("%s %s", message, DHCP_VERSION);
  		log_info (copyright);
-@@ -480,7 +532,7 @@
+@@ -479,7 +531,7 @@
  		log_info ("%s", "");
  	} else
  		log_perror = 0;
@@ -121,7 +112,7 @@
  	/* If we're given a relay agent address to insert, for testing
  	   purposes, figure out what it is. */
  	if (relay) {
-@@ -767,12 +819,18 @@
+@@ -766,12 +818,18 @@
  		arg_conf_len = 0L;
  	}
  		
@@ -141,7 +132,7 @@
  	/* XXX */
  /* 	config_counter(&snd_counter, &rcv_counter); */
  
-@@ -790,7 +848,7 @@
+@@ -789,7 +847,7 @@
  		if (!persist) {
  			/* Nothing more to do. */
  			log_info ("No broadcast interfaces found - exiting.");
@@ -150,7 +141,7 @@
  		}
  	} else if (!release_mode) {
  		/* Call the script with the list of interfaces. */
-@@ -885,7 +943,7 @@
+@@ -884,7 +942,7 @@
  	dmalloc_longterm = dmalloc_outstanding;
  	dmalloc_outstanding = 0;
  #endif
@@ -159,7 +150,7 @@
  	/* If we're not supposed to wait before getting the address,
  	   don't. */
  	if (nowait)
-@@ -898,7 +956,125 @@
+@@ -897,7 +955,125 @@
  
  	/* Start dispatching packets and timeouts... */
  	dispatch ();
@@ -172,7 +163,7 @@
 +	       libdhcp_control->now = 0;
 +	}
 +	libdhcp_dispatch();
-+
+ 
 +	/* libdhcp is finished with us. */
 +
 +	/* close all file descriptors:  */
@@ -198,7 +189,7 @@
 +
 +	/* Free ALL allocated memory: */
 +	omapi_free_all_pointers();
- 
++
 +	/* Re-Initialize globals: */
 +	client_env = 0;
 +	client_env_count = 0;
@@ -285,56 +276,28 @@
  	/*NOTREACHED*/
  	return 0;
  }
-@@ -1091,7 +1267,6 @@
- 			picked = lp;
- 			picked -> next = (struct client_lease *)0;
- 		} else {
--		      freeit:
- 			destroy_client_lease (lp);
- 		}
- 	}
-@@ -1149,7 +1324,6 @@
- 	struct client_lease *lease;
- 	struct option_cache *oc;
- 	struct data_string ds;
--	int i;
- 	
- 	/* If we're not receptive to an offer right now, or if the offer
- 	   has an unrecognizable transaction id, then just drop it. */
-@@ -1294,15 +1468,30 @@
- 	client -> new -> rebind += cur_time;
+@@ -1292,7 +1468,20 @@
  	if (client -> new -> rebind < cur_time)
  		client -> new -> rebind = TIME_MAX;
+ 
 +#ifdef LIBDHCP
-+	/* We need the server's siaddr for the 'bootServer'
-+         * pump option 
-+	 */
-+	u_int32_t set_siaddr = 0;	
-+
-+	set_siaddr = client -> packet.siaddr.s_addr ;
-+	     
-+	client->packet.siaddr.s_addr = packet->raw->siaddr.s_addr ;
++    /* We need the server's siaddr for the 'bootServer'
++     * pump option 
++     */
++    u_int32_t set_siaddr = 0;  
++    set_siaddr = client -> packet.siaddr.s_addr;
++    client->packet.siaddr.s_addr = packet->raw->siaddr.s_addr;
 +#endif
- 
- 	bind_lease (client);
 +
+ 	bind_lease (client);
 +
 +#ifdef LIBDHCP
-+
-+	client -> packet.siaddr.s_addr = set_siaddr ;
++    client->packet.siaddr.s_addr = set_siaddr;
 +#endif
-+	
  }
  
  void bind_lease (client)
- 	struct client_state *client;
- {
--	struct interface_info *ip = client -> interface;
--
- 	/* Remember the medium. */
- 	client -> new -> medium = client -> medium;
- 
-@@ -1333,6 +1522,9 @@
+@@ -1328,6 +1517,9 @@
  		return;
  	}
  
@@ -344,23 +307,7 @@
  	/* Write out the new lease. */
  	write_client_lease (client, client -> new, 0, 0);
  
-@@ -1368,7 +1560,6 @@
- 	void *cpp;
- {
- 	struct client_state *client = cpp;
--	int i;
- 	struct option_cache *oc;
- 	struct data_string ds;
- 
-@@ -1411,7 +1602,6 @@
- 	void *cpp;
- {
- 	struct client_state *client = cpp;
--	int i;
- 
- 	/* Cancel all timeouts. */
- 	cancel_timeout (state_selecting, client);
-@@ -1434,13 +1624,13 @@
+@@ -1427,13 +1619,13 @@
  {
  	return 0;
  }
@@ -376,16 +323,7 @@
  int write_host (host)
  	struct host_decl *host;
  {
-@@ -1524,8 +1714,6 @@
- 	int i;
- 	int stop_selecting;
- 	const char *name = packet -> packet_type ? "DHCPOFFER" : "BOOTREPLY";
--	struct iaddrlist *ap;
--	struct option_cache *oc;
- 	char obuf [1024];
- 	
- #ifdef DEBUG_PACKET
-@@ -2013,6 +2201,10 @@
+@@ -2004,6 +2196,10 @@
  	   tell the shell script that we failed to allocate an address,
  	   and try again later. */
  	if (onetry) {
@@ -396,50 +334,7 @@
  		if (!quiet)
  			log_info ("Unable to obtain a lease on first try.%s",
  				  "  Exiting.");
-@@ -2344,7 +2536,6 @@
- 	struct client_lease *lease;
- {
- 	unsigned char discover = DHCPDISCOVER;
--	int i;
- 	struct option_state *options = (struct option_state *)0;
- 
- 	memset (&client -> packet, 0, sizeof (client -> packet));
-@@ -2409,9 +2600,6 @@
- 	struct client_lease *lease;
- {
- 	unsigned char request = DHCPREQUEST;
--	int i, j;
--	unsigned char *tmp, *digest;
--	unsigned char *old_digest_loc;
- 	struct option_cache *oc;
- 
- 	memset (&client -> packet, 0, sizeof (client -> packet));
-@@ -2500,7 +2688,6 @@
- 	struct client_lease *lease;
- {
- 	unsigned char decline = DHCPDECLINE;
--	int i;
- 	struct option_cache *oc;
- 
- 	struct option_state *options = (struct option_state *)0;
-@@ -2557,7 +2744,6 @@
- 	struct client_lease *lease;
- {
- 	unsigned char request = DHCPRELEASE;
--	int i;
- 	struct option_cache *oc;
- 
- 	struct option_state *options = (struct option_state *)0;
-@@ -2614,8 +2800,6 @@
- void destroy_client_lease (lease)
- 	struct client_lease *lease;
- {
--	int i;
--
- 	if (lease -> server_name)
- 		dfree (lease -> server_name, MDL);
- 	if (lease -> filename)
-@@ -2624,7 +2808,9 @@
+@@ -2607,7 +2803,9 @@
  	free_client_lease (lease, MDL);
  }
  
@@ -449,99 +344,62 @@
  
  void rewrite_client_leases ()
  {
-@@ -2678,8 +2864,6 @@
- {
- 	const char *name, *dot;
- 	struct data_string ds;
--	int status;
--	struct client_state *client;
- 
- 	memset (&ds, 0, sizeof ds);
- 
-@@ -2710,9 +2894,7 @@
- 	int i;
- 	struct tm *t;
- 	static int leases_written;
--	struct option_cache *oc;
- 	struct data_string ds;
--	pair *hash;
- 	int errors = 0;
- 	char *s;
- 
-@@ -2992,8 +3174,6 @@
- 	int i;
- 	struct data_string data;
- 	struct option_cache *oc;
--	pair *hash;
--	char *s, *t;
- 	struct envadd_state es;
- 
- 	es.client = client;
-@@ -3071,16 +3251,60 @@
+@@ -3048,6 +3246,54 @@
  int script_go (client)
  	struct client_state *client;
  {
--	int rval;
++#ifdef LIBDHCP
 +    struct string_list *sp;
 +
-+#ifdef LIBDHCP
-+    if ( libdhcp_control && libdhcp_control->callback )
-+    {
-+	char *reason="";
-+	for (sp = client->env; sp; sp = sp -> next) 
-+	    if( strncmp(sp->string, "reason=", 7) == 0 )
-+	    {
-+		reason = sp->string + 7;
-+		break;
-+	    }
-+	(*libdhcp_control->callback) 
-+	(   libdhcp_control, 
-+	     (strcmp(reason,"NBI")==0)
-+	     ? DHC4_NBI
-+	     :(strcmp(reason,"PREINIT")==0)
-+	      ? DHC4_PREINIT
-+	      :(strcmp(reason,"BOUND")==0)
-+	       ? DHC4_BOUND
-+	       :(strcmp(reason,"RENEW")==0)
-+	        ? DHC4_RENEW
-+	        :(strcmp(reason,"REBOOT")==0)
-+	         ? DHC4_REBOOT
-+	         :(strcmp(reason,"REBIND")==0)
-+	          ? DHC4_REBIND
-+	          :(strcmp(reason,"STOP")==0)
-+	           ? DHC4_STOP
-+	           :(strcmp(reason,"MEDIUM")==0)
-+	            ? DHC4_MEDIUM
-+	            :(strcmp(reason,"TIMEOUT")==0)
-+	             ? DHC4_TIMEOUT
-+	             :(strcmp(reason,"FAIL")==0)
-+	              ? DHC4_FAIL
-+	              :(strcmp(reason,"EXPIRE")==0)
-+	               ? DHC4_EXPIRE
-+	               :(strcmp(reason,"RELEASE")==0)
-+			? DHC4_RELEASE
-+	                : DHC4_NBI,	                
-+	    client
-+	);
-+	if ( libdhcp_control->decline )
-+	    return 1;
++    if (libdhcp_control && libdhcp_control->callback) {
++        int dhcmsg;
++        char *reason="";
++
++        for (sp = client->env; sp; sp = sp->next) 
++            if (strncmp(sp->string, "reason=", 7) == 0) {
++                reason = sp->string + 7;
++                break;
++            }
++
++       if (strcmp(reason,"NBI") == 0)
++            dhcmsg = DHC4_NBI;
++       else if (strcmp(reason,"PREINIT") == 0)
++            dhcmsg = DHC4_PREINIT;
++       else if (strcmp(reason,"BOUND") == 0)
++            dhcmsg = DHC4_BOUND;
++       else if (strcmp(reason,"RENEW") == 0)
++            dhcmsg = DHC4_RENEW;
++       else if (strcmp(reason,"REBOOT") == 0)
++            dhcmsg = DHC4_REBOOT;
++       else if (strcmp(reason,"REBIND") == 0)
++            dhcmsg = DHC4_REBIND;
++       else if (strcmp(reason,"STOP") == 0)
++            dhcmsg = DHC4_STOP;
++       else if (strcmp(reason,"MEDIUM") == 0)
++            dhcmsg = DHC4_MEDIUM;
++       else if (strcmp(reason,"TIMEOUT") == 0)
++            dhcmsg = DHC4_TIMEOUT;
++       else if (strcmp(reason,"FAIL") == 0)
++            dhcmsg = DHC4_FAIL;
++       else if (strcmp(reason,"EXPIRE") == 0)
++            dhcmsg = DHC4_EXPIRE;
++       else if (strcmp(reason,"RELEASE") == 0)
++            dhcmsg = DHC4_RELEASE;
++       else
++            dhcmsg = DHC4_NBI;
++
++       (*libdhcp_control->callback) (libdhcp_control, dhcmsg, client);
++
++       if (libdhcp_control->decline)
++           return 1;
 +    }
++
 +    return 0;
 +#else
  	char *scriptName;
  	char *argv [2];
  	char **envp;
--	char *epp [3];
- 	char reason [] = "REASON=NBI";
- 	static char client_path [] = CLIENT_PATH;
- 	int i;
--	struct string_list *sp, *next;
- 	int pid, wpid, wstatus;
-+	struct string_list *next;
- 
- 	if (client)
- 		scriptName = client -> config -> script_name;
-@@ -3146,6 +3370,7 @@
+@@ -3121,6 +3367,7 @@
  	GET_TIME (&cur_time);
  	return (WIFEXITED (wstatus) ?
  		WEXITSTATUS (wstatus) : -WTERMSIG (wstatus));
@@ -549,16 +407,7 @@
  }
  
  void client_envadd (struct client_state *client,
-@@ -3153,7 +3378,7 @@
- {
- 	char spbuf [1024];
- 	char *s;
--	unsigned len, i;
-+	unsigned len;
- 	struct string_list *val;
- 	va_list list;
- 
-@@ -3236,6 +3461,9 @@
+@@ -3211,6 +3458,9 @@
  
  	/* Don't become a daemon if the user requested otherwise. */
  	if (no_daemon) {
@@ -568,7 +417,7 @@
  		write_client_pid_file ();
  		return;
  	}
-@@ -3244,7 +3472,9 @@
+@@ -3219,7 +3469,9 @@
  	if (state)
  		return;
  	state = 1;
@@ -579,144 +428,30 @@
  	/* Stop logging to stderr... */
  	log_perror = 0;
  
-@@ -3588,7 +3818,7 @@
- 
- isc_result_t client_dns_update (struct client_state *client, int addp, int ttl)
- {
--	struct data_string ddns_fqdn, ddns_fwd_name,
-+	struct data_string ddns_fwd_name,
- 	       ddns_dhcid, client_identifier;
- 	struct option_cache *oc;
- 	int ignorep;
---- dhcp-3.0.5/common/alloc.c.libdhcp4client	2007-02-02 15:27:55.000000000 -0500
-+++ dhcp-3.0.5/common/alloc.c	2007-02-02 15:27:55.000000000 -0500
-@@ -48,7 +48,6 @@
- 	const char *file;
- 	int line;
- {
--	int size;
- 	struct option_chain_head *h;
- 
- 	if (!ptr) {
-@@ -109,7 +108,6 @@
- 	const char *file;
- 	int line;
- {
--	int i;
- 	struct option_chain_head *option_chain_head;
- 	pair car, cdr;
- 
-@@ -161,7 +159,6 @@
- 	const char *file;
- 	int line;
- {
--	int size;
- 	struct group *g;
- 
- 	if (!ptr) {
-@@ -222,7 +219,6 @@
- 	const char *file;
- 	int line;
- {
--	int i;
- 	struct group *group;
- 
- 	if (!ptr || !*ptr) {
-@@ -745,8 +741,6 @@
- 	const char *file;
- 	int line;
- {
--	struct buffer *bp;
--
- 	if (!ptr) {
- 		log_error ("%s(%d): null pointer", file, line);
- #if defined (POINTER_DEBUG)
-@@ -834,8 +828,6 @@
- 	const char *file;
- 	int line;
- {
--	struct dns_host_entry *bp;
--
- 	if (!ptr || !*ptr) {
- 		log_error ("%s(%d): null pointer", file, line);
- #if defined (POINTER_DEBUG)
-@@ -1016,9 +1008,11 @@
- 	rc_register (file, line, ptr, bp, bp -> refcnt, 0, RC_MISC);
- 	return 1;
- }
--
-+#ifdef LIBDHCP
-+struct packet *free_packets;
-+#else
- static struct packet *free_packets;
--
-+#endif
- #if defined (DEBUG_MEMORY_LEAKAGE) || \
- 		defined (DEBUG_MEMORY_LEAKAGE_ON_EXIT)
- void relinquish_free_packets ()
-@@ -1037,7 +1031,6 @@
- 	const char *file;
- 	int line;
- {
--	int size;
- 	struct packet *p;
- 
- 	if (!ptr) {
-@@ -1157,7 +1150,6 @@
- 	const char *file;
- 	int line;
- {
--	int size;
- 	struct dns_zone *d;
- 
- 	if (!ptr) {
---- dhcp-3.0.5/common/discover.c.libdhcp4client	2007-02-02 15:27:55.000000000 -0500
-+++ dhcp-3.0.5/common/discover.c	2007-02-02 15:27:55.000000000 -0500
-@@ -120,28 +120,30 @@
-    For each interface that's of type INET and not the loopback interface,
+--- dhcp-3.0.5/common/discover.c.libdhcp4client	2007-02-04 14:25:27.000000000 -0500
++++ dhcp-3.0.5/common/discover.c	2007-02-04 14:27:16.000000000 -0500
+@@ -121,6 +121,10 @@
     register that interface with the network I/O software, figure out what
     subnet it's on, and add it to the list of interfaces. */
--
+ 
 +#ifdef LIBDHCP
 +int have_setup_fallback = 0;
 +#endif
++
  void discover_interfaces (state)
  	int state;
  {
--	struct interface_info *tmp, *ip;
-+	struct interface_info *tmp;
- 	struct interface_info *last, *next;
- 	char buf [2048];
- 	struct ifconf ic;
- 	struct ifreq ifr;
- 	int i;
- 	int sock;
--	int address_count = 0;
- 	struct subnet *subnet;
--	struct shared_network *share;
- 	struct sockaddr_in foo;
- 	int ir;
- 	struct ifreq *tif;
- #ifdef ALIAS_NAMES_PERMUTED
+@@ -139,7 +143,9 @@
  	char *s;
  #endif
--	isc_result_t status;
+ 	isc_result_t status;
 +#ifndef LIBDHCP
  	static int setup_fallback = 0;
 +#endif
-+	isc_result_t status;
  	int wifcount = 0;
  
  	/* Create an unbound datagram socket to do the SIOCGIFADDR ioctl on. */
-@@ -435,7 +437,6 @@
- 	for (tmp = interfaces; tmp; tmp = tmp -> next) {
- 		struct ifreq ifr;
- 		struct sockaddr sa;
--		int b, sk;
- 		
- 		if (!tmp -> ifp) {
- 			/* Make up an ifreq structure. */
-@@ -694,12 +695,17 @@
+@@ -691,12 +697,17 @@
  		log_info ("%s", "");
  		log_fatal ("Not configured to listen on any interfaces!");
  	}
@@ -736,43 +471,18 @@
  #if defined (HAVE_SETFD)
  	if (fallback_interface) {
  	    if (fcntl (fallback_interface -> rfdesc, F_SETFD, 1) < 0)
-@@ -815,7 +821,6 @@
- {
- 	struct interface_info *interface;
- 	isc_result_t status;
--	int foo;
- 
- 	if (h -> type != dhcp_type_interface)
- 		return ISC_R_INVALIDARG;
-@@ -858,7 +863,6 @@
- 					 const char *file, int line)
+@@ -811,7 +822,7 @@
+ 					omapi_typed_data_t *value)
  {
  	struct interface_info *interface;
 -	isc_result_t status;
++    isc_result_t status;
  
  	if (h -> type != dhcp_type_interface)
  		return ISC_R_INVALIDARG;
-@@ -888,8 +892,6 @@
- 					    const char *name, va_list ap)
- {
- 	struct interface_info *ip, *interface;
--	struct client_config *config;
--	struct client_state *client;
- 	isc_result_t status;
- 
- 	if (h -> type != dhcp_type_interface)
---- dhcp-3.0.5/common/lpf.c.libdhcp4client	2007-02-02 15:27:55.000000000 -0500
-+++ dhcp-3.0.5/common/lpf.c	2007-02-02 15:27:55.000000000 -0500
-@@ -89,8 +89,6 @@
- 		struct sockaddr common;
- 	} sa;
- 	struct ifreq ifr;
--	char filename[50];
--	int b;
- 
- 	/* Make an LPF socket. */
- 	if ((sock = socket(PF_PACKET, SOCK_RAW,
-@@ -249,6 +247,7 @@
+--- dhcp-3.0.5/common/lpf.c.libdhcp4client	2007-02-04 14:25:27.000000000 -0500
++++ dhcp-3.0.5/common/lpf.c	2007-02-04 14:25:28.000000000 -0500
+@@ -246,6 +246,7 @@
  	struct interface_info *info;
  {
  	struct sock_fprog p;
@@ -780,55 +490,22 @@
  
  	/* Set up the bpf filter program structure.    This is defined in
  	   bpf.c */
-@@ -358,7 +357,6 @@
- 	struct sockaddr_in *from;
- 	struct hardware *hfrom;
- {
--	int nread;
- 	int length = 0;
- 	int offset = 0;
- 	int nocsum = 0;
---- dhcp-3.0.5/common/options.c.libdhcp4client	2007-02-02 15:27:55.000000000 -0500
-+++ dhcp-3.0.5/common/options.c	2007-02-02 15:28:51.000000000 -0500
-@@ -2153,6 +2153,7 @@
+--- dhcp-3.0.5/common/alloc.c.libdhcp4client	2007-02-04 14:25:27.000000000 -0500
++++ dhcp-3.0.5/common/alloc.c	2007-02-04 14:25:28.000000000 -0500
+@@ -1009,7 +1009,11 @@
  	return 1;
  }
  
-+__attribute__ ((visibility("default")))
- void option_space_foreach (struct packet *packet, struct lease *lease,
- 			   struct client_state *client_state,
- 			   struct option_state *in_options,
---- dhcp-3.0.5/common/dispatch.c.libdhcp4client	2007-02-02 15:27:55.000000000 -0500
-+++ dhcp-3.0.5/common/dispatch.c	2007-02-02 15:29:44.000000000 -0500
-@@ -358,6 +358,7 @@
- #endif
- }
- 
-+__attribute__ ((visibility("default")))
- void relinquish_timeouts ()
- {
- #ifdef LIBDHCP
---- dhcp-3.0.5/common/tree.c.libdhcp4client	2007-02-02 15:27:55.000000000 -0500
-+++ dhcp-3.0.5/common/tree.c	2007-02-02 15:30:49.000000000 -0500
-@@ -40,7 +40,7 @@
- #include "dhcpd.h"
- #include <omapip/omapip_p.h>
- 
--struct binding_scope *global_scope;
-+struct binding_scope __attribute__ ((visibility("default"))) *global_scope;
++#ifdef LIBDHCP
++struct packet *free_packets;
++#else
+ static struct packet *free_packets;
++#endif
  
- static int do_host_lookup PROTO ((struct data_string *,
- 				  struct dns_host_entry *));
-@@ -2615,6 +2615,7 @@
-    result of that evaluation.   There should never be both an expression
-    and a valid data_string. */
- 
-+__attribute__ ((visibility("default")))
- int evaluate_option_cache (result, packet, lease, client_state,
- 			   in_options, cfg_options, scope, oc, file, line)
- 	struct data_string *result;
---- dhcp-3.0.5/dst/hmac_link.c.libdhcp4client	2007-02-02 15:27:55.000000000 -0500
-+++ dhcp-3.0.5/dst/hmac_link.c	2007-02-02 15:27:55.000000000 -0500
+ #if defined (DEBUG_MEMORY_LEAKAGE) || \
+ 		defined (DEBUG_MEMORY_LEAKAGE_ON_EXIT)
+--- dhcp-3.0.5/dst/hmac_link.c.libdhcp4client	2007-02-04 14:25:27.000000000 -0500
++++ dhcp-3.0.5/dst/hmac_link.c	2007-02-04 14:25:28.000000000 -0500
 @@ -38,6 +38,10 @@
  
  #include "dst_internal.h"
@@ -916,18 +593,389 @@
  		return (0);
  	memset(dst_t_func[KEY_HMAC_MD5], 0, sizeof(struct dst_func));
 --- dhcp-3.0.5/dst/md5_dgst.c.libdhcp4client	2004-06-14 14:50:06.000000000 -0400
-+++ dhcp-3.0.5/dst/md5_dgst.c	2007-02-02 15:27:55.000000000 -0500
++++ dhcp-3.0.5/dst/md5_dgst.c	2007-02-04 14:25:28.000000000 -0500
 @@ -65,7 +65,7 @@
  
  #ifdef USE_MD5 /* Added by ogud at tis.com 1998/1/26 */
  
 -const char *MD5_version="MD5 part of SSLeay 0.8.1 19-Jul-1997";
-+const char *MD5_version ="MD5 part of SSLeay 0.8.1 19-Jul-1997";
++const char *MD5_version __attribute__((visibility ("hidden"))) ="MD5 part of SSLeay 0.8.1 19-Jul-1997";
  
  /* Implemented from RFC1321 The MD5 Message-Digest Algorithm
   */
---- dhcp-3.0.5/omapip/alloc.c.libdhcp4client	2006-02-22 17:43:27.000000000 -0500
-+++ dhcp-3.0.5/omapip/alloc.c	2007-02-02 15:27:55.000000000 -0500
+@@ -81,6 +81,7 @@
+ static void md5_block();
+ #endif
+ 
++__attribute__((visibility ("hidden")))
+ void MD5_Init(c)
+ MD5_CTX *c;
+ 	{
+@@ -93,6 +94,7 @@
+ 	c->num=0;
+ 	}
+ 
++__attribute__((visibility ("hidden")))
+ void MD5_Update(c, data, len)
+ MD5_CTX *c;
+ const register unsigned char *data;
+@@ -298,6 +300,7 @@
+ 	c->D+=D&0xffffffffL;
+ 	}
+ 
++__attribute__((visibility ("hidden")))
+ void MD5_Final(md, c)
+ unsigned char *md;
+ MD5_CTX *c;
+--- dhcp-3.0.5/minires/ns_date.c.libdhcp4client	2004-06-10 13:59:40.000000000 -0400
++++ dhcp-3.0.5/minires/ns_date.c	2007-02-04 14:25:28.000000000 -0500
+@@ -56,6 +56,7 @@
+    1 January 1970 (GMT assumed).  Format is yyyymmddhhmmss, all
+    digits required, no spaces allowed.  */
+ 
++__attribute__((visibility ("hidden")))
+ u_int32_t
+ ns_datetosecs(const char *cp, int *errp) {
+ 	struct tm time;
+--- dhcp-3.0.5/minires/ns_verify.c.libdhcp4client	2004-06-10 13:59:42.000000000 -0400
++++ dhcp-3.0.5/minires/ns_verify.c	2007-02-04 14:25:28.000000000 -0500
+@@ -61,6 +61,7 @@
+ 
+ /* Public. */
+ 
++__attribute__((visibility ("hidden")))
+ u_char *
+ ns_find_tsig(u_char *msg, u_char *eom) {
+ 	HEADER *hp = (HEADER *)msg;
+@@ -137,6 +138,7 @@
+  *	- TSIG verification succeeds, error set to BADSIG (ns_r_badsig)
+  *	- TSIG verification succeeds, error set to BADTIME (ns_r_badtime)
+  */
++__attribute__((visibility ("hidden")))
+ isc_result_t
+ ns_verify(u_char *msg, unsigned *msglen, void *k,
+ 	  const u_char *querysig, unsigned querysiglen,
+--- dhcp-3.0.5/minires/ns_parse.c.libdhcp4client	2004-06-10 13:59:40.000000000 -0400
++++ dhcp-3.0.5/minires/ns_parse.c	2007-02-04 14:25:28.000000000 -0500
+@@ -47,7 +47,7 @@
+ /* Public. */
+ 
+ /* These need to be in the same order as the nres.h:ns_flag enum. */
+-struct _ns_flagdata _ns_flagdata[16] = {
++struct _ns_flagdata _ns_flagdata[16] __attribute__((visibility ("hidden"))) = {
+ 	{ 0x8000, 15 },		/* qr. */
+ 	{ 0x7800, 11 },		/* opcode. */
+ 	{ 0x0400, 10 },		/* aa. */
+@@ -66,6 +66,7 @@
+ 	{ 0x0000, 0 },		/* expansion (6/6). */
+ };
+ 
++__attribute__((visibility ("hidden")))
+ isc_result_t
+ ns_skiprr(const u_char *ptr, const u_char *eom, ns_sect section, int count,
+ 	  int *rc) {
+@@ -94,6 +95,7 @@
+ 	return ISC_R_SUCCESS;
+ }
+ 
++__attribute__((visibility ("hidden")))
+ isc_result_t
+ ns_initparse(const u_char *msg, unsigned msglen, ns_msg *handle) {
+ 	const u_char *eom = msg + msglen;
+@@ -136,6 +138,7 @@
+ 	return ISC_R_SUCCESS;
+ }
+ 
++__attribute__((visibility ("hidden")))
+ isc_result_t
+ ns_parserr(ns_msg *handle, ns_sect section, int rrnum, ns_rr *rr) {
+ 	int b;
+--- dhcp-3.0.5/minires/ns_samedomain.c.libdhcp4client	2004-06-10 13:59:41.000000000 -0400
++++ dhcp-3.0.5/minires/ns_samedomain.c	2007-02-04 14:25:28.000000000 -0500
+@@ -53,6 +53,7 @@
+  *	but NOT in "bar.top"
+  */
+ 
++__attribute__((visibility ("hidden")))
+ int
+ ns_samedomain(const char *a, const char *b) {
+ 	size_t la, lb;
+@@ -152,6 +153,7 @@
+  * ns_subdomain(a, b)
+  *	is "a" a subdomain of "b"?
+  */
++__attribute__((visibility ("hidden")))
+ int
+ ns_subdomain(const char *a, const char *b) {
+ 	return (ns_samename(a, b) != 1 && ns_samedomain(a, b));
+@@ -169,6 +171,7 @@
+  *	foo\\. -> foo\\.
+  */
+ 
++__attribute__((visibility ("hidden")))
+ isc_result_t
+ ns_makecanon(const char *src, char *dst, size_t dstsize) {
+ 	size_t n = strlen(src);
+@@ -198,6 +201,7 @@
+  *	1 if names are the same
+  */
+ 
++__attribute__((visibility ("hidden")))
+ int
+ ns_samename(const char *a, const char *b) {
+ 	char ta[NS_MAXDNAME], tb[NS_MAXDNAME];
+--- dhcp-3.0.5/minires/ns_name.c.libdhcp4client	2007-02-04 14:25:27.000000000 -0500
++++ dhcp-3.0.5/minires/ns_name.c	2007-02-04 14:25:28.000000000 -0500
+@@ -60,6 +60,7 @@
+  *	The root is returned as "."
+  *	All other domains are returned in non absolute form
+  */
++__attribute__((visibility ("hidden")))
+ int
+ ns_name_ntop(const u_char *src, char *dst, size_t dstsiz) {
+ 	const u_char *cp;
+@@ -146,6 +147,7 @@
+  *	Enforces label and domain length limits.
+  */
+ 
++__attribute__((visibility ("hidden")))
+ int
+ ns_name_pton(const char *src, u_char *dst, size_t dstsiz) {
+ 	u_char *label, *bp, *eom;
+@@ -255,6 +257,7 @@
+  *	Enforces label and domain length limits.
+  */
+ 
++__attribute__((visibility ("hidden")))
+ int
+ ns_name_ntol(const u_char *src, u_char *dst, size_t dstsiz) {
+ 	const u_char *cp;
+@@ -299,6 +302,7 @@
+  * return:
+  *	-1 if it fails, or consumed octets if it succeeds.
+  */
++__attribute__((visibility ("hidden")))
+ int
+ ns_name_unpack(const u_char *msg, const u_char *eom, const u_char *src,
+ 	       u_char *dst, size_t dstsiz)
+@@ -387,6 +391,7 @@
+  *	try to compress names. If 'lastdnptr' is NULL, we don't update the
+  *	list.
+  */
++__attribute__((visibility ("hidden")))
+ int
+ ns_name_pack(const u_char *src, u_char *dst, unsigned dstsiz,
+ 	     const u_char **dnptrs, const u_char **lastdnptr)
+@@ -479,6 +484,7 @@
+  * note:
+  *	Root domain returns as "." not "".
+  */
++__attribute__((visibility ("hidden")))
+ int
+ ns_name_uncompress(const u_char *msg, const u_char *eom, const u_char *src,
+ 		   char *dst, size_t dstsiz)
+@@ -507,6 +513,7 @@
+  *	If 'dnptr' is NULL, we don't try to compress names. If 'lastdnptr'
+  *	is NULL, we don't update the list.
+  */
++__attribute__((visibility ("hidden")))
+ int
+ ns_name_compress(const char *src, u_char *dst, size_t dstsiz,
+ 		 const u_char **dnptrs, const u_char **lastdnptr)
+@@ -524,6 +531,7 @@
+  * return:
+  *	0 on success, -1 (with errno set) on failure.
+  */
++__attribute__((visibility ("hidden")))
+ int
+ ns_name_skip(const u_char **ptrptr, const u_char *eom) {
+ 	const u_char *cp;
+--- dhcp-3.0.5/minires/ns_sign.c.libdhcp4client	2004-06-10 13:59:42.000000000 -0400
++++ dhcp-3.0.5/minires/ns_sign.c	2007-02-04 14:25:28.000000000 -0500
+@@ -78,6 +78,7 @@
+  *	- bad key / sign failed (-BADKEY)
+  *	- not enough space (NS_TSIG_ERROR_NO_SPACE)
+  */
++__attribute__((visibility ("hidden")))
+ isc_result_t
+ ns_sign(u_char *msg, unsigned *msglen, unsigned msgsize, int error, void *k,
+ 	const u_char *querysig, unsigned querysiglen, u_char *sig,
+--- dhcp-3.0.5/minires/res_comp.c.libdhcp4client	2007-02-04 14:25:27.000000000 -0500
++++ dhcp-3.0.5/minires/res_comp.c	2007-02-04 14:25:28.000000000 -0500
+@@ -103,6 +103,7 @@
+  * 'exp_dn' is a pointer to a buffer of size 'length' for the result.
+  * Return size of compressed name or -1 if there was an error.
+  */
++__attribute__((visibility ("hidden")))
+ int
+ dn_expand(const u_char *msg, const u_char *eom, const u_char *src,
+ 	  char *dst, unsigned dstsiz)
+@@ -119,6 +120,7 @@
+  * Return the size of the compressed name or -1.
+  * 'length' is the size of the array pointed to by 'comp_dn'.
+  */
++__attribute__((visibility ("hidden")))
+ int
+ dn_comp(const char *src, u_char *dst, unsigned dstsiz,
+ 	u_char **dnptrs, u_char **lastdnptr)
+@@ -131,6 +133,7 @@
+ /*
+  * Skip over a compressed domain name. Return the size or -1.
+  */
++__attribute__((visibility ("hidden")))
+ int
+ dn_skipname(const u_char *ptr, const u_char *eom) {
+ 	const u_char *saveptr = ptr;
+--- dhcp-3.0.5/minires/res_mkupdate.c.libdhcp4client	2007-02-04 14:25:27.000000000 -0500
++++ dhcp-3.0.5/minires/res_mkupdate.c	2007-02-04 14:25:28.000000000 -0500
+@@ -936,6 +936,7 @@
+ 
+ static struct valuelist *servicelist, *protolist;
+ 
++__attribute__((visibility ("hidden")))
+ void
+ res_buildservicelist() {
+ 	struct servent *sp;
+@@ -968,6 +969,7 @@
+ 	endservent();
+ }
+ 
++__attribute__((visibility ("hidden")))
+ void
+ res_destroyservicelist() {
+ 	struct valuelist *slp, *slp_next;
+@@ -981,6 +983,7 @@
+ 	servicelist = (struct valuelist *)0;
+ }
+ 
++__attribute__((visibility ("hidden")))
+ void
+ res_buildprotolist() {
+ 	struct protoent *pp;
+@@ -1010,6 +1013,7 @@
+ 	endprotoent();
+ }
+ 
++__attribute__((visibility ("hidden")))
+ void
+ res_destroyprotolist() {
+ 	struct valuelist *plp, *plp_next;
+@@ -1047,6 +1051,7 @@
+ /*
+  * Convert service name or (ascii) number to int.
+  */
++__attribute__((visibility ("hidden")))
+ int
+ res_servicenumber(const char *p) {
+ 	if (servicelist == (struct valuelist *)0)
+@@ -1057,6 +1062,7 @@
+ /*
+  * Convert protocol name or (ascii) number to int.
+  */
++__attribute__((visibility ("hidden")))
+ int
+ res_protocolnumber(const char *p) {
+ 	if (protolist == (struct valuelist *)0)
+@@ -1115,6 +1121,7 @@
+ 	return (0);
+ }
+ 
++__attribute__((visibility ("hidden")))
+ const char *
+ res_protocolname(int num) {
+ 	static char number[8];
+@@ -1130,6 +1137,7 @@
+ 	return (pp->p_name);
+ }
+ 
++__attribute__((visibility ("hidden")))
+ const char *
+ res_servicename(u_int16_t port, const char *proto) {	/* Host byte order. */
+ 	static char number[8];
+--- dhcp-3.0.5/minires/res_findzonecut.c.libdhcp4client	2004-06-10 13:59:43.000000000 -0400
++++ dhcp-3.0.5/minires/res_findzonecut.c	2007-02-04 14:25:28.000000000 -0500
+@@ -139,6 +139,7 @@
+  *	keep going.  for the NS and A queries this means we just give up.
+  */
+ 
++__attribute__((visibility ("hidden")))
+ isc_result_t
+ res_findzonecut(res_state statp, const char *dname, ns_class class, int opts,
+ 		char *zname, size_t zsize, struct in_addr *addrs, int naddrs,
+--- dhcp-3.0.5/minires/res_send.c.libdhcp4client	2004-06-10 13:59:44.000000000 -0400
++++ dhcp-3.0.5/minires/res_send.c	2007-02-04 14:25:28.000000000 -0500
+@@ -128,6 +128,7 @@
+  * author:
+  *	paul vixie, 29may94
+  */
++__attribute__((visibility ("hidden")))
+ int
+ res_ourserver_p(const res_state statp, const struct sockaddr_in *inp) {
+ 	struct sockaddr_in ina;
+@@ -158,6 +159,7 @@
+  * author:
+  *	paul vixie, 29may94
+  */
++__attribute__((visibility ("hidden")))
+ int
+ res_nameinquery(const char *name, int type, int class,
+ 		const u_char *buf, const u_char *eom)
+@@ -195,6 +197,7 @@
+  * author:
+  *	paul vixie, 29may94
+  */
++__attribute__((visibility ("hidden")))
+ int
+ res_queriesmatch(const u_char *buf1, const u_char *eom1,
+ 		 const u_char *buf2, const u_char *eom2)
+@@ -233,6 +236,7 @@
+ 	return (1);
+ }
+ 
++__attribute__((visibility ("hidden")))
+ isc_result_t
+ res_nsend(res_state statp,
+ 	  double *buf, unsigned buflen,
+@@ -832,6 +836,7 @@
+  *
+  * This routine is not expected to be user visible.
+  */
++__attribute__((visibility ("hidden")))
+ void
+ res_nclose(res_state statp) {
+ 	if (statp->_sock >= 0) {
+--- dhcp-3.0.5/minires/res_mkquery.c.libdhcp4client	2004-06-10 13:59:43.000000000 -0400
++++ dhcp-3.0.5/minires/res_mkquery.c	2007-02-04 14:25:28.000000000 -0500
+@@ -96,6 +96,7 @@
+  * Form all types of queries.
+  * Returns the size of the result or -1.
+  */
++__attribute__((visibility ("hidden")))
+ isc_result_t
+ res_nmkquery(res_state statp,
+ 	     int op,			/* opcode of query */
+--- dhcp-3.0.5/minires/res_sendsigned.c.libdhcp4client	2004-06-10 13:59:44.000000000 -0400
++++ dhcp-3.0.5/minires/res_sendsigned.c	2007-02-04 14:25:28.000000000 -0500
+@@ -41,6 +41,7 @@
+ #include <isc-dhcp/dst.h>
+ 
+ /* res_nsendsigned */
++__attribute__((visibility ("hidden")))
+ isc_result_t
+ res_nsendsigned(res_state statp,
+ 		double *msg, unsigned msglen, ns_tsig_key *key,
+--- dhcp-3.0.5/minires/res_init.c.libdhcp4client	2007-02-04 14:25:27.000000000 -0500
++++ dhcp-3.0.5/minires/res_init.c	2007-02-04 14:25:28.000000000 -0500
+@@ -484,6 +484,7 @@
+ }
+ #endif
+ 
++__attribute__((visibility ("hidden")))
+ u_int
+ res_randomid(void) {
+ 	struct timeval now;
+--- dhcp-3.0.5/omapip/alloc.c.libdhcp4client	2007-02-04 14:25:27.000000000 -0500
++++ dhcp-3.0.5/omapip/alloc.c	2007-02-04 14:25:28.000000000 -0500
 @@ -40,6 +40,41 @@
  
  #include <omapip/omapip_p.h>
@@ -970,15 +1018,7 @@
  #if defined (DEBUG_MEMORY_LEAKAGE) || defined (DEBUG_MALLOC_POOL) || \
  		defined (DEBUG_MEMORY_LEAKAGE_ON_EXIT)
  struct dmalloc_preamble *dmalloc_list;
-@@ -66,7 +101,6 @@
- {
- 	unsigned char *foo;
- 	unsigned len;
--	int i;
- 	VOIDPTR *bar;
- #if defined (DEBUG_MEMORY_LEAKAGE) || defined (DEBUG_MALLOC_POOL) || \
- 		defined (DEBUG_MEMORY_LEAKAGE_ON_EXIT)
-@@ -78,7 +112,9 @@
+@@ -77,7 +112,9 @@
  		return (VOIDPTR)0;
  
  	foo = malloc(len);
@@ -989,7 +1029,7 @@
  	if (!foo)
  		return (VOIDPTR)0;
  	bar = (VOIDPTR)(foo + DMDOFFSET);
-@@ -200,6 +236,9 @@
+@@ -199,6 +236,9 @@
  		     0, (unsigned char *)ptr + DMDOFFSET, 0, 1, RC_MALLOC);
  #endif
  	free (ptr);
@@ -999,8 +1039,8 @@
  }
  
  #if defined (DEBUG_MEMORY_LEAKAGE) || defined (DEBUG_MALLOC_POOL) || \
---- dhcp-3.0.5/omapip/dispatch.c.libdhcp4client	2007-02-02 15:27:55.000000000 -0500
-+++ dhcp-3.0.5/omapip/dispatch.c	2007-02-02 15:27:55.000000000 -0500
+--- dhcp-3.0.5/omapip/dispatch.c.libdhcp4client	2007-02-04 14:25:27.000000000 -0500
++++ dhcp-3.0.5/omapip/dispatch.c	2007-02-04 14:25:28.000000000 -0500
 @@ -34,7 +34,7 @@
  
  #include <omapip/omapip_p.h>
@@ -1010,8 +1050,8 @@
  TIME cur_time;
  
  OMAPI_OBJECT_ALLOC (omapi_io,
---- dhcp-3.0.5/omapip/errwarn.c.libdhcp4client	2007-02-02 15:27:55.000000000 -0500
-+++ dhcp-3.0.5/omapip/errwarn.c	2007-02-02 15:27:55.000000000 -0500
+--- dhcp-3.0.5/omapip/errwarn.c.libdhcp4client	2007-02-04 14:25:27.000000000 -0500
++++ dhcp-3.0.5/omapip/errwarn.c	2007-02-04 14:25:28.000000000 -0500
 @@ -39,6 +39,11 @@
  #include <omapip/omapip_p.h>
  #include <errno.h>
@@ -1134,7 +1174,7 @@
  }
  
 --- dhcp-3.0.5/configure.libdhcp4client	2004-09-10 17:02:30.000000000 -0400
-+++ dhcp-3.0.5/configure	2007-02-02 15:27:55.000000000 -0500
++++ dhcp-3.0.5/configure	2007-02-04 14:25:28.000000000 -0500
 @@ -246,7 +246,7 @@
  fi
  
@@ -1144,9 +1184,9 @@
  fi
  
  for foo in $dirs; do
---- /dev/null	2007-02-02 08:56:33.488585704 -0500
-+++ dhcp-3.0.5/libdhcp4client/Makefile.dist	2007-02-02 15:27:55.000000000 -0500
-@@ -0,0 +1,128 @@
+--- /dev/null	2007-02-03 10:31:46.831575569 -0500
++++ dhcp-3.0.5/libdhcp4client/Makefile.dist	2007-02-04 14:25:28.000000000 -0500
+@@ -0,0 +1,127 @@
 +# Makefile.dist for libdhcp4client
 +#
 +# We get the libdhcp4client library from the patched ISC source code.  We
@@ -1198,8 +1238,7 @@
 +
 +INCLUDES = -I$(TOP) -I$(TOP)/includes -I$(TOP)/dst -I.
 +CFLAGS   = $(DEBUG) $(PREDEFINES) $(INCLUDES) $(COPTS) \
-+           -DCLIENT_PATH=${CLIENT_PATH} -DLIBDHCP -DUSE_MD5 \
-+           -fvisibility=hidden
++           -DCLIENT_PATH=${CLIENT_PATH} -DLIBDHCP -DUSE_MD5
 +
 +all: $(PROGS)
 +
@@ -1275,8 +1314,8 @@
 +	$(CC) -shared -o $@ -Wl,-soname,$@ $(OBJS) `$(AR) t libres.a | grep -v res_query.o`
 +
 +# Dependencies (semi-automatically-generated)
---- /dev/null	2007-02-02 08:56:33.488585704 -0500
-+++ dhcp-3.0.5/libdhcp4client/dhcp4client.h	2007-02-02 15:27:55.000000000 -0500
+--- /dev/null	2007-02-03 10:31:46.831575569 -0500
++++ dhcp-3.0.5/libdhcp4client/dhcp4client.h	2007-02-04 14:25:28.000000000 -0500
 @@ -0,0 +1,24 @@
 +/* dhcp4client.h
 + *
@@ -1302,8 +1341,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	2007-02-02 08:56:33.488585704 -0500
-+++ dhcp-3.0.5/libdhcp4client/libdhcp_control.h	2007-02-02 15:27:55.000000000 -0500
+--- /dev/null	2007-02-03 10:31:46.831575569 -0500
++++ dhcp-3.0.5/libdhcp4client/libdhcp_control.h	2007-02-04 14:25:28.000000000 -0500
 @@ -0,0 +1,102 @@
 +/* libdhcp_control.h
 + *
@@ -1408,7 +1447,7 @@
 +
 +#endif
 --- dhcp-3.0.5/Makefile.dist.libdhcp4client	2004-06-10 13:59:10.000000000 -0400
-+++ dhcp-3.0.5/Makefile.dist	2007-02-02 15:27:55.000000000 -0500
++++ dhcp-3.0.5/Makefile.dist	2007-02-04 14:25:28.000000000 -0500
 @@ -22,7 +22,7 @@
  #   http://www.isc.org/
  


Index: dhcp.spec
===================================================================
RCS file: /cvs/dist/rpms/dhcp/devel/dhcp.spec,v
retrieving revision 1.136
retrieving revision 1.137
diff -u -r1.136 -r1.137
--- dhcp.spec	4 Feb 2007 18:51:19 -0000	1.136
+++ dhcp.spec	4 Feb 2007 19:34:53 -0000	1.137
@@ -8,7 +8,7 @@
 Summary: DHCP (Dynamic Host Configuration Protocol) server and relay agent.
 Name:    dhcp
 Version: 3.0.5
-Release: 15%{?dist}
+Release: 16%{?dist}
 Epoch:   12
 License: distributable
 Group:   System Environment/Daemons
@@ -144,7 +144,7 @@
 %patch12 -p1 -b .warnings
 
 # Fix Xen host networking problems (partial checksums)
-%patch13 -p1 -b .xen
+#%patch13 -p1 -b .xen
 
 # Add support for dhcpd.conf data in LDAP
 %patch14 -p1 -b .ldapconf
@@ -354,6 +354,10 @@
 %{_libdir}/libdhcp4client.so
 
 %changelog
+* Sun Feb 04 2007 David Cantrell <dcantrell at redhat.com> - 12:3.0.5-16
+- Disable xen-checksums patch for now as it breaks dhclient (#227266)
+- Updated fix-warnings patch
+
 * Sun Feb 04 2007 David Woodhouse <dwmw2 at redhat.com> - 12:3.0.5-15
 - Fix broken file reading due to LDAP patch
 




More information about the fedora-cvs-commits mailing list