[dhcp/f17] 4.2.5

Jiří Popelka jpopelka at fedoraproject.org
Thu Jan 10 10:05:21 UTC 2013


commit 89cb0c46868536a912b665a1889231eb197716b5
Author: Jiri Popelka <jpopelka at redhat.com>
Date:   Thu Jan 10 10:45:29 2013 +0100

    4.2.5
    
    - don't build libdst, it hasn't been used since 4.2.0 (#849166)

 .gitignore                                         |    1 +
 dhcp-4.2.2-CLOEXEC.patch                           |   60 -------
 dhcp-4.2.2-sharedlib.patch                         |  119 --------------
 ....4-P1-dhclient6-leases_semicolon_expected.patch |   41 -----
 dhcp-4.2.4-P1-remove-dst.patch                     |   46 ++++++
 dhcp-4.2.4-PPP.patch => dhcp-4.2.5-PPP.patch       |    2 +-
 dhcp-4.2.4-lpf-ib.patch => dhcp-4.2.5-lpf-ib.patch |    6 +-
 ...2.1-manpages.patch => dhcp-4.2.5-manpages.patch |   50 +++---
 ...move-bind.patch => dhcp-4.2.5-remove-bind.patch |   87 ++++++----
 ...hcp-4.2.5-rfc3442-classless-static-routes.patch |   92 ++++++------
 ...5-rfc5970-dhcpv6-options-for-network-boot.patch |   28 ++--
 ...ndDecline.patch => dhcp-4.2.5-sendDecline.patch |   22 ++--
 dhcp-4.2.5-sharedlib.patch                         |  120 ++++++++++++++
 ...4-systemtap.patch => dhcp-4.2.5-systemtap.patch |  168 +++++++++++---------
 dhcp.spec                                          |   74 +++++----
 sources                                            |    2 +-
 16 files changed, 448 insertions(+), 470 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 9c1b03b..d8077e0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -15,3 +15,4 @@
 /dhcp-4.2.4.tar.gz
 /dhcp-4.2.4-P1.tar.gz
 /dhcp-4.2.4-P2.tar.gz
+/dhcp-4.2.5.tar.gz
diff --git a/dhcp-4.2.2-CLOEXEC.patch b/dhcp-4.2.2-CLOEXEC.patch
index b07e2ff..1198f77 100644
--- a/dhcp-4.2.2-CLOEXEC.patch
+++ b/dhcp-4.2.2-CLOEXEC.patch
@@ -202,66 +202,6 @@ diff -up dhcp-4.2.2b1/common/upf.c.cloexec dhcp-4.2.2b1/common/upf.c
  		if (sock < 0) {
  			if (errno == EBUSY) {
  				continue;
-diff -up dhcp-4.2.2b1/dst/dst_api.c.cloexec dhcp-4.2.2b1/dst/dst_api.c
---- dhcp-4.2.2b1/dst/dst_api.c.cloexec	2009-10-29 01:46:48.000000000 +0100
-+++ dhcp-4.2.2b1/dst/dst_api.c	2011-07-01 14:13:31.035887670 +0200
-@@ -437,7 +437,7 @@ dst_s_write_private_key(const DST_KEY *k
- 			     PRIVATE_KEY, PATH_MAX);
- 
- 	/* Do not overwrite an existing file */
--	if ((fp = dst_s_fopen(file, "w", 0600)) != NULL) {
-+	if ((fp = dst_s_fopen(file, "we", 0600)) != NULL) {
- 		int nn;
- 		if ((nn = fwrite(encoded_block, 1, len, fp)) != len) {
- 			EREPORT(("dst_write_private_key(): Write failure on %s %d != %d errno=%d\n",
-@@ -494,7 +494,7 @@ dst_s_read_public_key(const char *in_nam
- 	 * flags, proto, alg stored as decimal (or hex numbers FIXME).
- 	 * (FIXME: handle parentheses for line continuation.)
- 	 */
--	if ((fp = dst_s_fopen(name, "r", 0)) == NULL) {
-+	if ((fp = dst_s_fopen(name, "re", 0)) == NULL) {
- 		EREPORT(("dst_read_public_key(): Public Key not found %s\n",
- 			 name));
- 		return (NULL);
-@@ -620,7 +620,7 @@ dst_s_write_public_key(const DST_KEY *ke
- 		return (0);
- 	}
- 	/* create public key file */
--	if ((fp = dst_s_fopen(filename, "w+", 0644)) == NULL) {
-+	if ((fp = dst_s_fopen(filename, "w+e", 0644)) == NULL) {
- 		EREPORT(("DST_write_public_key: open of file:%s failed (errno=%d)\n",
- 			 filename, errno));
- 		return (0);
-@@ -854,7 +854,7 @@ dst_s_read_private_key_file(char *name, 
- 		return (0);
- 	}
- 	/* first check if we can find the key file */
--	if ((fp = dst_s_fopen(filename, "r", 0)) == NULL) {
-+	if ((fp = dst_s_fopen(filename, "re", 0)) == NULL) {
- 		EREPORT(("dst_s_read_private_key_file: Could not open file %s in directory %s\n",
- 			 filename, dst_path[0] ? dst_path :
- 			 (char *) getcwd(NULL, PATH_MAX - 1)));
-diff -up dhcp-4.2.2b1/dst/prandom.c.cloexec dhcp-4.2.2b1/dst/prandom.c
---- dhcp-4.2.2b1/dst/prandom.c.cloexec	2009-11-20 02:49:01.000000000 +0100
-+++ dhcp-4.2.2b1/dst/prandom.c	2011-07-01 14:13:31.035887670 +0200
-@@ -269,7 +269,7 @@ get_dev_random(u_char *output, unsigned 
- 
- 	s = stat("/dev/random", &st);
- 	if (s == 0 && S_ISCHR(st.st_mode)) {
--		if ((fd = open("/dev/random", O_RDONLY | O_NONBLOCK)) != -1) {
-+		if ((fd = open("/dev/random", O_RDONLY | O_NONBLOCK | O_CLOEXEC)) != -1) {
- 			if ((n = read(fd, output, size)) < 0)
- 				n = 0;
- 			close(fd);
-@@ -480,7 +480,7 @@ digest_file(dst_work *work) 
- 		work->file_digest = dst_free_key(work->file_digest);
- 		return (0);
- 	}
--	if ((fp = fopen(name, "r")) == NULL) 
-+	if ((fp = fopen(name, "re")) == NULL) 
- 		return (0);
- 	for (no = 0; (i = fread(buf, sizeof(*buf), sizeof(buf), fp)) > 0; 
- 	     no += i) 
 diff -up dhcp-4.2.2b1/omapip/trace.c.cloexec dhcp-4.2.2b1/omapip/trace.c
 --- dhcp-4.2.2b1/omapip/trace.c.cloexec	2010-05-27 02:34:57.000000000 +0200
 +++ dhcp-4.2.2b1/omapip/trace.c	2011-07-01 14:13:31.036887669 +0200
diff --git a/dhcp-4.2.4-P1-remove-dst.patch b/dhcp-4.2.4-P1-remove-dst.patch
new file mode 100644
index 0000000..6b8dbb0
--- /dev/null
+++ b/dhcp-4.2.4-P1-remove-dst.patch
@@ -0,0 +1,46 @@
+diff -up dhcp-4.2.4-P1/configure.ac.remove-dst dhcp-4.2.4-P1/configure.ac
+--- dhcp-4.2.4-P1/configure.ac.remove-dst	2012-08-17 15:24:29.066454140 +0200
++++ dhcp-4.2.4-P1/configure.ac	2012-08-17 15:24:29.071454073 +0200
+@@ -608,7 +608,6 @@ AC_OUTPUT([
+   common/Makefile
+   common/tests/Makefile
+   dhcpctl/Makefile
+-  dst/Makefile
+   includes/Makefile
+   omapip/Makefile
+   relay/Makefile
+diff -up dhcp-4.2.4-P1/includes/Makefile.am.remove-dst dhcp-4.2.4-P1/includes/Makefile.am
+--- dhcp-4.2.4-P1/includes/Makefile.am.remove-dst	2012-07-13 08:17:54.000000000 +0200
++++ dhcp-4.2.4-P1/includes/Makefile.am	2012-08-17 15:25:08.253922458 +0200
+@@ -1,7 +1,6 @@
+ nobase_include_HEADERS = omapip/alloc.h omapip/buffer.h omapip/convert.h \
+ 			 omapip/hash.h omapip/isclib.h omapip/omapip.h \
+-			 omapip/omapip_p.h omapip/result.h omapip/trace.h \
+-			 isc-dhcp/dst.h
++			 omapip/omapip_p.h omapip/result.h omapip/trace.h
+ 
+ EXTRA_DIST = cdefs.h ctrace.h dhcp.h dhcp6.h dhcpd.h dhctoken.h failover.h \
+ 	     heap.h inet.h minires.h osdep.h site.h statement.h tree.h \
+diff -up dhcp-4.2.4-P1/Makefile.am.remove-dst dhcp-4.2.4-P1/Makefile.am
+--- dhcp-4.2.4-P1/Makefile.am.remove-dst	2012-08-17 15:24:29.067454126 +0200
++++ dhcp-4.2.4-P1/Makefile.am	2012-08-17 15:24:29.071454073 +0200
+@@ -27,7 +27,7 @@ else
+ SUBDIRS = 
+ endif
+ 
+-SUBDIRS += includes tests common dst omapip client dhcpctl relay server
++SUBDIRS += includes tests common omapip client dhcpctl relay server
+ 
+ nobase_include_HEADERS = dhcpctl/dhcpctl.h
+ 
+diff -up dhcp-4.2.4-P1/server/ddns.c.remove-dst dhcp-4.2.4-P1/server/ddns.c
+--- dhcp-4.2.4-P1/server/ddns.c.remove-dst	2012-07-13 08:18:05.000000000 +0200
++++ dhcp-4.2.4-P1/server/ddns.c	2012-08-17 15:24:29.072454060 +0200
+@@ -34,7 +34,6 @@
+  */
+ 
+ #include "dhcpd.h"
+-#include "dst/md5.h"
+ #include <dns/result.h>
+ 
+ #ifdef NSUPDATE
diff --git a/dhcp-4.2.4-PPP.patch b/dhcp-4.2.5-PPP.patch
similarity index 99%
rename from dhcp-4.2.4-PPP.patch
rename to dhcp-4.2.5-PPP.patch
index edb11bf..1bc1e3f 100644
--- a/dhcp-4.2.4-PPP.patch
+++ b/dhcp-4.2.5-PPP.patch
@@ -90,7 +90,7 @@ diff -up dhcp-4.2.4b1/common/lpf.c.PPP dhcp-4.2.4b1/common/lpf.c
 +++ dhcp-4.2.4b1/common/lpf.c	2012-04-16 17:37:23.256618582 +0200
 @@ -503,6 +503,22 @@ get_hw_addr(const char *name, struct har
  			hw->hbuf[0] = HTYPE_FDDI;
- 			memcpy(&hw->hbuf[1], sa->sa_data, 16);
+ 			memcpy(&hw->hbuf[1], sa->sa_data, 6);
  			break;
 +#if defined(ARPHRD_PPP)
 +		case ARPHRD_PPP:
diff --git a/dhcp-4.2.4-lpf-ib.patch b/dhcp-4.2.5-lpf-ib.patch
similarity index 99%
rename from dhcp-4.2.4-lpf-ib.patch
rename to dhcp-4.2.5-lpf-ib.patch
index 17b850b..a136c6c 100644
--- a/dhcp-4.2.4-lpf-ib.patch
+++ b/dhcp-4.2.5-lpf-ib.patch
@@ -458,10 +458,10 @@ diff -up dhcp-4.2.4-P2/common/lpf.c.lpf-ib dhcp-4.2.4-P2/common/lpf.c
 +			memcpy(&hw->hbuf[1], sll->sll_addr, 6);
  			break;
  		case ARPHRD_FDDI:
- 			hw->hlen = 17;
+ 			hw->hlen = 7;
  			hw->hbuf[0] = HTYPE_FDDI;
--			memcpy(&hw->hbuf[1], sa->sa_data, 16);
-+			memcpy(&hw->hbuf[1], sll->sll_addr, 16);
+-			memcpy(&hw->hbuf[1], sa->sa_data, 6);
++			memcpy(&hw->hbuf[1], sll->sll_addr, 6);
 +			break;
 +		case ARPHRD_INFINIBAND:
 +			/* For Infiniband, save the broadcast address and store
diff --git a/dhcp-4.2.1-manpages.patch b/dhcp-4.2.5-manpages.patch
similarity index 76%
rename from dhcp-4.2.1-manpages.patch
rename to dhcp-4.2.5-manpages.patch
index e02f304..fb931bc 100644
--- a/dhcp-4.2.1-manpages.patch
+++ b/dhcp-4.2.5-manpages.patch
@@ -1,9 +1,9 @@
-diff -up dhcp-4.2.1b1/client/dhclient.conf.5.man dhcp-4.2.1b1/client/dhclient.conf.5
---- dhcp-4.2.1b1/client/dhclient.conf.5.man	2010-09-15 01:03:56.000000000 +0200
-+++ dhcp-4.2.1b1/client/dhclient.conf.5	2011-01-27 18:22:56.000000000 +0100
-@@ -186,7 +186,8 @@ responding to the client send the client
- options.   Only the option names should be specified in the request
- statement - not option parameters.   By default, the DHCPv4 client
+diff -up dhcp-4.2.5b1/client/dhclient.conf.5.man dhcp-4.2.5b1/client/dhclient.conf.5
+--- dhcp-4.2.5b1/client/dhclient.conf.5.man	2012-12-05 02:17:38.000000000 +0100
++++ dhcp-4.2.5b1/client/dhclient.conf.5	2012-12-17 12:49:52.818451301 +0100
+@@ -202,7 +202,8 @@ responding to the client send the client
+ options.  Only the option names should be specified in the request
+ statement - not option parameters.  By default, the DHCPv4 client
  requests the subnet-mask, broadcast-address, time-offset, routers,
 -domain-name, domain-name-servers and host-name options while the DHCPv6
 +domain-search, domain-name, domain-name-servers, host-name, nis-domain,
@@ -11,7 +11,7 @@ diff -up dhcp-4.2.1b1/client/dhclient.conf.5.man dhcp-4.2.1b1/client/dhclient.co
  client requests the dhcp6 name-servers and domain-search options.  Note
  that if you enter a \'request\' statement, you over-ride these defaults
  and these options will not be requested.
-@@ -672,6 +673,17 @@ know the DHCP service(s) anycast MAC add
+@@ -688,6 +689,17 @@ know the DHCP service(s) anycast MAC add
  client.  The \fIlink-type\fR and \fImac-address\fR parameters are configured
  in a similar manner to the \fBhardware\fR statement.
  .PP
@@ -28,8 +28,8 @@ diff -up dhcp-4.2.1b1/client/dhclient.conf.5.man dhcp-4.2.1b1/client/dhclient.co
 +.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
-@@ -697,7 +709,7 @@ interface "ep0" {
+ 1.3.  The laptop has an IP alias of 192.5.5.213, and has one
+@@ -713,7 +725,7 @@ interface "ep0" {
      supersede domain-search "fugue.com", "rc.vix.com", "home.vix.com";
      prepend domain-name-servers 127.0.0.1;
      request subnet-mask, broadcast-address, time-offset, routers,
@@ -38,10 +38,10 @@ diff -up dhcp-4.2.1b1/client/dhclient.conf.5.man dhcp-4.2.1b1/client/dhclient.co
      require subnet-mask, domain-name-servers;
      script "CLIENTBINDIR/dhclient-script";
      media "media 10baseT/UTP", "media 10base2/BNC";
-diff -up dhcp-4.2.1b1/client/dhclient-script.8.man dhcp-4.2.1b1/client/dhclient-script.8
---- dhcp-4.2.1b1/client/dhclient-script.8.man	2010-07-06 21:03:11.000000000 +0200
-+++ dhcp-4.2.1b1/client/dhclient-script.8	2011-01-27 18:24:44.000000000 +0100
-@@ -47,7 +47,7 @@ customizations are needed, they should b
+diff -up dhcp-4.2.5b1/client/dhclient-script.8.man dhcp-4.2.5b1/client/dhclient-script.8
+--- dhcp-4.2.5b1/client/dhclient-script.8.man	2012-12-05 02:17:38.000000000 +0100
++++ dhcp-4.2.5b1/client/dhclient-script.8	2012-12-17 12:47:48.410130998 +0100
+@@ -48,7 +48,7 @@ customizations are needed, they should b
  exit hooks provided (see HOOKS for details).   These hooks will allow the
  user to override the default behaviour of the client in creating a
  .B /etc/resolv.conf
@@ -50,7 +50,7 @@ diff -up dhcp-4.2.1b1/client/dhclient-script.8.man dhcp-4.2.1b1/client/dhclient-
  .PP
  No standard client script exists for some operating systems, even though
  the actual client may work, so a pioneering user may well need to create
-@@ -91,6 +91,26 @@ present.   The
+@@ -92,6 +92,26 @@ present.   The
  .B ETCDIR/dhclient-exit-hooks
  script can modify the valid of exit_status to change the exit status
  of dhclient-script.
@@ -77,10 +77,10 @@ diff -up dhcp-4.2.1b1/client/dhclient-script.8.man dhcp-4.2.1b1/client/dhclient-
  .SH OPERATION
  When dhclient needs to invoke the client configuration script, it
  defines a set of variables in the environment, and then invokes
-diff -up dhcp-4.2.1b1/common/dhcp-options.5.man dhcp-4.2.1b1/common/dhcp-options.5
---- dhcp-4.2.1b1/common/dhcp-options.5.man	2010-07-13 22:56:56.000000000 +0200
-+++ dhcp-4.2.1b1/common/dhcp-options.5	2011-01-27 18:25:57.000000000 +0100
-@@ -913,6 +913,21 @@ classless IP routing - it does not inclu
+diff -up dhcp-4.2.5b1/common/dhcp-options.5.man dhcp-4.2.5b1/common/dhcp-options.5
+--- dhcp-4.2.5b1/common/dhcp-options.5.man	2012-12-05 02:17:38.000000000 +0100
++++ dhcp-4.2.5b1/common/dhcp-options.5	2012-12-17 12:47:48.411130985 +0100
+@@ -914,6 +914,21 @@ classless IP routing - it does not inclu
  classless IP routing is now the most widely deployed routing standard,
  this option is virtually useless, and is not implemented by any of the
  popular DHCP clients, for example the Microsoft DHCP client.
@@ -102,9 +102,9 @@ diff -up dhcp-4.2.1b1/common/dhcp-options.5.man dhcp-4.2.1b1/common/dhcp-options
  .RE
  .PP
  .nf
-diff -up dhcp-4.2.1b1/server/dhcpd.conf.5.man dhcp-4.2.1b1/server/dhcpd.conf.5
---- dhcp-4.2.1b1/server/dhcpd.conf.5.man	2010-07-06 21:03:12.000000000 +0200
-+++ dhcp-4.2.1b1/server/dhcpd.conf.5	2011-01-27 18:29:12.000000000 +0100
+diff -up dhcp-4.2.5b1/server/dhcpd.conf.5.man dhcp-4.2.5b1/server/dhcpd.conf.5
+--- dhcp-4.2.5b1/server/dhcpd.conf.5.man	2012-12-05 02:17:39.000000000 +0100
++++ dhcp-4.2.5b1/server/dhcpd.conf.5	2012-12-17 12:50:52.117650542 +0100
 @@ -519,6 +519,9 @@ pool {
  };
  .fi
@@ -127,7 +127,7 @@ diff -up dhcp-4.2.1b1/server/dhcpd.conf.5.man dhcp-4.2.1b1/server/dhcpd.conf.5
    max-response-delay 60;
    max-unacked-updates 10;
    mclt 3600;
-@@ -1305,7 +1308,7 @@ the zone containing PTR records - for IS
+@@ -1318,7 +1321,7 @@ the zone containing PTR records - for IS
  .PP
  .nf
  key DHCP_UPDATER {
@@ -136,7 +136,7 @@ diff -up dhcp-4.2.1b1/server/dhcpd.conf.5.man dhcp-4.2.1b1/server/dhcpd.conf.5
    secret pRP5FapFoJ95JEL06sv4PQ==;
  };
  
-@@ -1328,7 +1331,7 @@ dhcpd.conf file:
+@@ -1341,7 +1344,7 @@ dhcpd.conf file:
  .PP
  .nf
  key DHCP_UPDATER {
@@ -145,10 +145,10 @@ diff -up dhcp-4.2.1b1/server/dhcpd.conf.5.man dhcp-4.2.1b1/server/dhcpd.conf.5
    secret pRP5FapFoJ95JEL06sv4PQ==;
  };
  
-@@ -2540,7 +2543,8 @@ statement
+@@ -2555,7 +2558,8 @@ statement
  The \fInext-server\fR statement is used to specify the host address of
  the server from which the initial boot file (specified in the
- \fIfilename\fR statement) is to be loaded.   \fIServer-name\fR should
+ \fIfilename\fR statement) is to be loaded.  \fIServer-name\fR should
 -be a numeric IP address or a domain name.
 +be a numeric IP address or a domain name.  If no \fInext-server\fR statement
 +applies to a given client, the address 0.0.0.0 is used.
diff --git a/dhcp-4.2.2-remove-bind.patch b/dhcp-4.2.5-remove-bind.patch
similarity index 51%
rename from dhcp-4.2.2-remove-bind.patch
rename to dhcp-4.2.5-remove-bind.patch
index 6297772..d3ef6b7 100644
--- a/dhcp-4.2.2-remove-bind.patch
+++ b/dhcp-4.2.5-remove-bind.patch
@@ -1,7 +1,7 @@
-diff -up dhcp-4.2.2/client/Makefile.am.rh637017 dhcp-4.2.2/client/Makefile.am
---- dhcp-4.2.2/client/Makefile.am.rh637017	2010-09-15 00:32:36.000000000 +0200
-+++ dhcp-4.2.2/client/Makefile.am	2011-08-11 17:28:58.923897561 +0200
-@@ -5,7 +5,7 @@ dhclient_SOURCES = clparse.c dhclient.c 
+diff -up dhcp-4.2.5b1/client/Makefile.am.remove-bind dhcp-4.2.5b1/client/Makefile.am
+--- dhcp-4.2.5b1/client/Makefile.am.remove-bind	2012-12-05 02:17:38.000000000 +0100
++++ dhcp-4.2.5b1/client/Makefile.am	2012-12-17 16:20:58.692538252 +0100
+@@ -5,7 +5,7 @@ dhclient_SOURCES = clparse.c dhclient.c
  		   scripts/netbsd scripts/nextstep scripts/openbsd \
  		   scripts/solaris scripts/openwrt
  dhclient_LDADD = ../common/libdhcp.a ../omapip/libomapi.a \
@@ -10,22 +10,24 @@ diff -up dhcp-4.2.2/client/Makefile.am.rh637017 dhcp-4.2.2/client/Makefile.am
  man_MANS = dhclient.8 dhclient-script.8 dhclient.conf.5 dhclient.leases.5
  EXTRA_DIST = $(man_MANS)
  
-diff -up dhcp-4.2.2/common/tests/Makefile.am.rh637017 dhcp-4.2.2/common/tests/Makefile.am
---- dhcp-4.2.2/common/tests/Makefile.am.rh637017	2009-10-28 05:12:30.000000000 +0100
-+++ dhcp-4.2.2/common/tests/Makefile.am	2011-08-11 17:33:45.258637236 +0200
-@@ -6,6 +6,5 @@ TESTS = test_alloc
- 
- test_alloc_SOURCES = test_alloc.c
- test_alloc_LDADD = ../libdhcp.a ../../tests/libt_api.a \
+diff -up dhcp-4.2.5b1/common/tests/Makefile.am.remove-bind dhcp-4.2.5b1/common/tests/Makefile.am
+--- dhcp-4.2.5b1/common/tests/Makefile.am.remove-bind	2012-12-05 02:17:38.000000000 +0100
++++ dhcp-4.2.5b1/common/tests/Makefile.am	2012-12-17 16:20:58.693538239 +0100
+@@ -13,8 +13,8 @@ ATF_TESTS += alloc_unittest
+ alloc_unittest_SOURCES = test_alloc.c $(top_srcdir)/tests/t_api_dhcp.c
+ alloc_unittest_LDADD = $(ATF_LDFLAGS)
+ alloc_unittest_LDADD += ../libdhcp.a  \
 -	../../omapip/libomapi.a ../../bind/lib/libdns.a \
 -        ../../bind/lib/libisc.a
--
 +	../../omapip/libomapi.a \
 +	 $(BIND9_LIBDIR) -ldns-export -lisc-export
-diff -up dhcp-4.2.2/configure.ac.rh637017 dhcp-4.2.2/configure.ac
---- dhcp-4.2.2/configure.ac.rh637017	2011-07-20 02:32:18.000000000 +0200
-+++ dhcp-4.2.2/configure.ac	2011-08-11 17:28:58.924897535 +0200
-@@ -512,20 +512,37 @@ AC_CHECK_MEMBER(struct msghdr.msg_contro
+ 
+ check: $(ATF_TESTS)
+ 	atf-run | atf-report
+diff -up dhcp-4.2.5b1/configure.ac.remove-bind dhcp-4.2.5b1/configure.ac
+--- dhcp-4.2.5b1/configure.ac.remove-bind	2012-12-05 02:18:44.000000000 +0100
++++ dhcp-4.2.5b1/configure.ac	2012-12-17 16:20:58.693538239 +0100
+@@ -581,20 +581,37 @@ AC_CHECK_MEMBER(struct msghdr.msg_contro
  libbind=
  AC_ARG_WITH(libbind,
  	AC_HELP_STRING([--with-libbind=PATH],
@@ -68,7 +70,7 @@ diff -up dhcp-4.2.2/configure.ac.rh637017 dhcp-4.2.2/configure.ac
  
  # OpenLDAP support.
  AC_ARG_WITH(ldap,
-@@ -562,7 +579,7 @@ fi
+@@ -631,7 +648,7 @@ fi
  CFLAGS="$CFLAGS $STD_CWARNINGS"
  
  # Try to add the bind include directory
@@ -77,9 +79,9 @@ diff -up dhcp-4.2.2/configure.ac.rh637017 dhcp-4.2.2/configure.ac
  
  AC_C_FLEXIBLE_ARRAY_MEMBER
  
-diff -up dhcp-4.2.2/dhcpctl/Makefile.am.rh637017 dhcp-4.2.2/dhcpctl/Makefile.am
---- dhcp-4.2.2/dhcpctl/Makefile.am.rh637017	2009-10-28 05:12:30.000000000 +0100
-+++ dhcp-4.2.2/dhcpctl/Makefile.am	2011-08-11 17:28:58.924897535 +0200
+diff -up dhcp-4.2.5b1/dhcpctl/Makefile.am.remove-bind dhcp-4.2.5b1/dhcpctl/Makefile.am
+--- dhcp-4.2.5b1/dhcpctl/Makefile.am.remove-bind	2012-12-05 02:17:39.000000000 +0100
++++ dhcp-4.2.5b1/dhcpctl/Makefile.am	2012-12-17 16:20:58.693538239 +0100
 @@ -6,10 +6,10 @@ EXTRA_DIST = $(man_MANS)
  
  omshell_SOURCES = omshell.c
@@ -94,12 +96,12 @@ diff -up dhcp-4.2.2/dhcpctl/Makefile.am.rh637017 dhcp-4.2.2/dhcpctl/Makefile.am
 -	       ../bind/lib/libdns.a ../bind/lib/libisc.a
 \ No newline at end of file
 +	       $(BIND9_LIBDIR) -ldns-export -lisc-export
-diff -up dhcp-4.2.2/Makefile.am.rh637017 dhcp-4.2.2/Makefile.am
---- dhcp-4.2.2/Makefile.am.rh637017	2010-03-25 00:30:38.000000000 +0100
-+++ dhcp-4.2.2/Makefile.am	2011-08-11 17:28:58.925897509 +0200
-@@ -21,7 +21,13 @@ EXTRA_DIST = RELNOTES LICENSE \
- 	     util/bindvar.sh \
- 	     bind/Makefile bind/bind.tar.gz bind/version.tmp 
+diff -up dhcp-4.2.5b1/Makefile.am.remove-bind dhcp-4.2.5b1/Makefile.am
+--- dhcp-4.2.5b1/Makefile.am.remove-bind	2012-12-05 02:17:38.000000000 +0100
++++ dhcp-4.2.5b1/Makefile.am	2012-12-17 16:20:58.693538239 +0100
+@@ -22,7 +22,13 @@ EXTRA_DIST = RELNOTES LICENSE \
+ 	     bind/Makefile bind/bind.tar.gz bind/version.tmp \
+ 	     common/tests/Atffile server/tests/Atffile
  
 -SUBDIRS = bind includes tests common dst omapip client dhcpctl relay server
 +if BUNDLED_BIND
@@ -112,9 +114,9 @@ diff -up dhcp-4.2.2/Makefile.am.rh637017 dhcp-4.2.2/Makefile.am
  
  nobase_include_HEADERS = dhcpctl/dhcpctl.h
  
-diff -up dhcp-4.2.2/omapip/Makefile.am.rh637017 dhcp-4.2.2/omapip/Makefile.am
---- dhcp-4.2.2/omapip/Makefile.am.rh637017	2010-02-12 01:13:54.000000000 +0100
-+++ dhcp-4.2.2/omapip/Makefile.am	2011-08-11 17:28:58.939897149 +0200
+diff -up dhcp-4.2.5b1/omapip/Makefile.am.remove-bind dhcp-4.2.5b1/omapip/Makefile.am
+--- dhcp-4.2.5b1/omapip/Makefile.am.remove-bind	2012-12-05 02:17:39.000000000 +0100
++++ dhcp-4.2.5b1/omapip/Makefile.am	2012-12-17 16:20:58.693538239 +0100
 @@ -10,5 +10,5 @@ man_MANS = omapi.3
  EXTRA_DIST = $(man_MANS)
  
@@ -122,9 +124,9 @@ diff -up dhcp-4.2.2/omapip/Makefile.am.rh637017 dhcp-4.2.2/omapip/Makefile.am
 -svtest_LDADD = libomapi.a ../bind/lib/libdns.a ../bind/lib/libisc.a
 +svtest_LDADD = libomapi.a $(BIND9_LIBDIR) -ldns-export -lisc-export
  
-diff -up dhcp-4.2.2/relay/Makefile.am.rh637017 dhcp-4.2.2/relay/Makefile.am
---- dhcp-4.2.2/relay/Makefile.am.rh637017	2009-10-28 05:12:30.000000000 +0100
-+++ dhcp-4.2.2/relay/Makefile.am	2011-08-11 17:28:58.940897123 +0200
+diff -up dhcp-4.2.5b1/relay/Makefile.am.remove-bind dhcp-4.2.5b1/relay/Makefile.am
+--- dhcp-4.2.5b1/relay/Makefile.am.remove-bind	2012-12-05 02:17:39.000000000 +0100
++++ dhcp-4.2.5b1/relay/Makefile.am	2012-12-17 16:20:58.694538225 +0100
 @@ -3,7 +3,7 @@ AM_CPPFLAGS = -DLOCALSTATEDIR='"@localst
  sbin_PROGRAMS = dhcrelay
  dhcrelay_SOURCES = dhcrelay.c
@@ -134,10 +136,10 @@ diff -up dhcp-4.2.2/relay/Makefile.am.rh637017 dhcp-4.2.2/relay/Makefile.am
  man_MANS = dhcrelay.8
  EXTRA_DIST = $(man_MANS)
  
-diff -up dhcp-4.2.2/server/Makefile.am.rh637017 dhcp-4.2.2/server/Makefile.am
---- dhcp-4.2.2/server/Makefile.am.rh637017	2010-03-24 22:49:47.000000000 +0100
-+++ dhcp-4.2.2/server/Makefile.am	2011-08-11 17:28:58.944897021 +0200
-@@ -8,8 +8,7 @@ dhcpd_SOURCES = dhcpd.c dhcp.c bootp.c c
+diff -up dhcp-4.2.5b1/server/Makefile.am.remove-bind dhcp-4.2.5b1/server/Makefile.am
+--- dhcp-4.2.5b1/server/Makefile.am.remove-bind	2012-12-05 02:17:39.000000000 +0100
++++ dhcp-4.2.5b1/server/Makefile.am	2012-12-17 16:20:58.694538225 +0100
+@@ -14,8 +14,7 @@ dhcpd_SOURCES = dhcpd.c dhcp.c bootp.c c
  
  dhcpd_CFLAGS = $(LDAP_CFLAGS)
  dhcpd_LDADD = ../common/libdhcp.a ../omapip/libomapi.a \
@@ -147,3 +149,16 @@ diff -up dhcp-4.2.2/server/Makefile.am.rh637017 dhcp-4.2.2/server/Makefile.am
  
  man_MANS = dhcpd.8 dhcpd.conf.5 dhcpd.leases.5
  EXTRA_DIST = $(man_MANS)
+diff -up dhcp-4.2.5b1/server/tests/Makefile.am.remove-bind dhcp-4.2.5b1/server/tests/Makefile.am
+--- dhcp-4.2.5b1/server/tests/Makefile.am.remove-bind	2012-12-05 02:17:39.000000000 +0100
++++ dhcp-4.2.5b1/server/tests/Makefile.am	2012-12-17 16:26:01.093346768 +0100
+@@ -18,8 +18,7 @@ DHCPSRC = ../dhcp.c ../bootp.c ../confpa
+           ../ldap.c ../ldap_casa.c ../dhcpd.c
+ 
+ DHCPLIBS = $(top_builddir)/common/libdhcp.a $(top_builddir)/omapip/libomapi.a    \
+-          $(top_builddir)/dhcpctl/libdhcpctl.a $(top_builddir)/bind/lib/libdns.a \
+-          $(top_builddir)/bind/lib/libisc.a
++          $(top_builddir)/dhcpctl/libdhcpctl.a $(BIND9_LIBDIR) -ldns-export -lisc-export
+ 
+ ATF_TESTS =
+ TESTS = 
diff --git a/dhcp-4.2.4-rfc3442-classless-static-routes.patch b/dhcp-4.2.5-rfc3442-classless-static-routes.patch
similarity index 79%
rename from dhcp-4.2.4-rfc3442-classless-static-routes.patch
rename to dhcp-4.2.5-rfc3442-classless-static-routes.patch
index a2fe219..62a2b69 100644
--- a/dhcp-4.2.4-rfc3442-classless-static-routes.patch
+++ b/dhcp-4.2.5-rfc3442-classless-static-routes.patch
@@ -1,6 +1,6 @@
-diff -up dhcp-4.2.4b1/client/clparse.c.rfc3442 dhcp-4.2.4b1/client/clparse.c
---- dhcp-4.2.4b1/client/clparse.c.rfc3442	2012-04-16 17:34:27.546079944 +0200
-+++ dhcp-4.2.4b1/client/clparse.c	2012-04-16 17:34:27.605079118 +0200
+diff -up dhcp-4.2.5b1/client/clparse.c.rfc3442 dhcp-4.2.5b1/client/clparse.c
+--- dhcp-4.2.5b1/client/clparse.c.rfc3442	2012-12-17 13:23:34.387564654 +0100
++++ dhcp-4.2.5b1/client/clparse.c	2012-12-17 13:23:34.437563996 +0100
 @@ -37,7 +37,7 @@
  
  struct client_config top_level_config;
@@ -35,10 +35,10 @@ diff -up dhcp-4.2.4b1/client/clparse.c.rfc3442 dhcp-4.2.4b1/client/clparse.c
  	for (code = 0 ; code < NUM_DEFAULT_REQUESTED_OPTS ; code++) {
  		if (default_requested_options[code] == NULL)
  			log_fatal("Unable to find option definition for "
-diff -up dhcp-4.2.4b1/common/dhcp-options.5.rfc3442 dhcp-4.2.4b1/common/dhcp-options.5
---- dhcp-4.2.4b1/common/dhcp-options.5.rfc3442	2012-04-16 17:34:27.537080070 +0200
-+++ dhcp-4.2.4b1/common/dhcp-options.5	2012-04-16 17:34:27.606079104 +0200
-@@ -115,6 +115,26 @@ hexadecimal, separated by colons.   For
+diff -up dhcp-4.2.5b1/common/dhcp-options.5.rfc3442 dhcp-4.2.5b1/common/dhcp-options.5
+--- dhcp-4.2.5b1/common/dhcp-options.5.rfc3442	2012-12-17 13:23:34.376564797 +0100
++++ dhcp-4.2.5b1/common/dhcp-options.5	2012-12-17 13:25:18.435141385 +0100
+@@ -116,6 +116,26 @@ hexadecimal, separated by colons.  For e
  or
    option dhcp-client-identifier 43:4c:49:45:54:2d:46:4f:4f;
  .fi
@@ -64,8 +64,8 @@ diff -up dhcp-4.2.4b1/common/dhcp-options.5.rfc3442 dhcp-4.2.4b1/common/dhcp-opt
 +.fi
  .SH SETTING OPTION VALUES USING EXPRESSIONS
  Sometimes it's helpful to be able to set the value of a DHCP option
- based on some value that the client has sent.   To do this, you can
-@@ -931,6 +951,29 @@ dhclient-script will create routes:
+ based on some value that the client has sent.  To do this, you can
+@@ -932,6 +952,29 @@ dhclient-script will create routes:
  .RE
  .PP
  .nf
@@ -95,9 +95,9 @@ diff -up dhcp-4.2.4b1/common/dhcp-options.5.rfc3442 dhcp-4.2.4b1/common/dhcp-opt
  .B option \fBstreettalk-directory-assistance-server\fR \fIip-address\fR
                                             [\fB,\fR \fIip-address\fR...]\fB;\fR
  .fi
-diff -up dhcp-4.2.4b1/common/inet.c.rfc3442 dhcp-4.2.4b1/common/inet.c
---- dhcp-4.2.4b1/common/inet.c.rfc3442	2011-05-11 02:47:22.000000000 +0200
-+++ dhcp-4.2.4b1/common/inet.c	2012-04-16 17:34:27.607079090 +0200
+diff -up dhcp-4.2.5b1/common/inet.c.rfc3442 dhcp-4.2.5b1/common/inet.c
+--- dhcp-4.2.5b1/common/inet.c.rfc3442	2012-12-05 02:17:38.000000000 +0100
++++ dhcp-4.2.5b1/common/inet.c	2012-12-17 13:23:34.440563957 +0100
 @@ -528,6 +528,60 @@ free_iaddrcidrnetlist(struct iaddrcidrne
  	return ISC_R_SUCCESS;
  }
@@ -159,10 +159,10 @@ diff -up dhcp-4.2.4b1/common/inet.c.rfc3442 dhcp-4.2.4b1/common/inet.c
  /* piaddr() turns an iaddr structure into a printable address. */
  /* XXX: should use a const pointer rather than passing the structure */
  const char *
-diff -up dhcp-4.2.4b1/common/options.c.rfc3442 dhcp-4.2.4b1/common/options.c
---- dhcp-4.2.4b1/common/options.c.rfc3442	2012-03-20 01:31:53.000000000 +0100
-+++ dhcp-4.2.4b1/common/options.c	2012-04-16 17:34:27.608079076 +0200
-@@ -706,7 +706,11 @@ cons_options(struct packet *inpacket, st
+diff -up dhcp-4.2.5b1/common/options.c.rfc3442 dhcp-4.2.5b1/common/options.c
+--- dhcp-4.2.5b1/common/options.c.rfc3442	2012-12-05 02:17:38.000000000 +0100
++++ dhcp-4.2.5b1/common/options.c	2012-12-17 13:29:38.961536040 +0100
+@@ -713,7 +713,11 @@ cons_options(struct packet *inpacket, st
  		 * packet.
  		 */
  		priority_list[priority_len++] = DHO_SUBNET_MASK;
@@ -175,15 +175,15 @@ diff -up dhcp-4.2.4b1/common/options.c.rfc3442 dhcp-4.2.4b1/common/options.c
  		priority_list[priority_len++] = DHO_DOMAIN_NAME_SERVERS;
  		priority_list[priority_len++] = DHO_HOST_NAME;
  		priority_list[priority_len++] = DHO_FQDN;
-@@ -1683,6 +1687,7 @@ const char *pretty_print_option (option,
- 	const unsigned char *dp = data;
- 	char comma;
+@@ -1694,6 +1698,7 @@ const char *pretty_print_option (option,
  	unsigned long tval;
-+        unsigned int octets = 0;
+ 	isc_boolean_t a_array = ISC_FALSE;
+ 	int len_used;
++	unsigned int octets = 0;
  
  	if (emit_commas)
  		comma = ',';
-@@ -1691,6 +1696,7 @@ const char *pretty_print_option (option,
+@@ -1702,6 +1707,7 @@ const char *pretty_print_option (option,
  
  	memset (enumbuf, 0, sizeof enumbuf);
  
@@ -191,7 +191,7 @@ diff -up dhcp-4.2.4b1/common/options.c.rfc3442 dhcp-4.2.4b1/common/options.c
  	/* Figure out the size of the data. */
  	for (l = i = 0; option -> format [i]; i++, l++) {
  		if (l >= sizeof(fmtbuf) - 1)
-@@ -1840,6 +1846,33 @@ const char *pretty_print_option (option,
+@@ -1876,6 +1882,33 @@ const char *pretty_print_option (option,
  	if (numhunk < 0)
  		numhunk = 1;
  
@@ -224,8 +224,8 @@ diff -up dhcp-4.2.4b1/common/options.c.rfc3442 dhcp-4.2.4b1/common/options.c
 +
  	/* Cycle through the array (or hunk) printing the data. */
  	for (i = 0; i < numhunk; i++) {
- 		for (j = 0; j < numelem; j++) {
-@@ -1978,6 +2011,20 @@ const char *pretty_print_option (option,
+ 		if ((a_array == ISC_TRUE) && (i != 0) && (numelem > 0)) {
+@@ -2031,6 +2064,20 @@ const char *pretty_print_option (option,
  				strcpy(op, piaddr(iaddr));
  				dp += 4;
  				break;
@@ -246,9 +246,9 @@ diff -up dhcp-4.2.4b1/common/options.c.rfc3442 dhcp-4.2.4b1/common/options.c
  			      case '6':
  				iaddr.len = 16;
  				memcpy(iaddr.iabuf, dp, 16);
-diff -up dhcp-4.2.4b1/common/parse.c.rfc3442 dhcp-4.2.4b1/common/parse.c
---- dhcp-4.2.4b1/common/parse.c.rfc3442	2012-04-16 17:34:27.577079510 +0200
-+++ dhcp-4.2.4b1/common/parse.c	2012-04-16 17:34:27.610079048 +0200
+diff -up dhcp-4.2.5b1/common/parse.c.rfc3442 dhcp-4.2.5b1/common/parse.c
+--- dhcp-4.2.5b1/common/parse.c.rfc3442	2012-12-17 13:23:34.408564378 +0100
++++ dhcp-4.2.5b1/common/parse.c	2012-12-17 13:23:34.444563905 +0100
 @@ -341,6 +341,39 @@ int parse_ip_addr (cfile, addr)
  }	
  
@@ -289,7 +289,7 @@ diff -up dhcp-4.2.4b1/common/parse.c.rfc3442 dhcp-4.2.4b1/common/parse.c
   * Return true if every character in the string is hexadecimal.
   */
  static int
-@@ -704,8 +737,10 @@ unsigned char *parse_numeric_aggregate (
+@@ -719,8 +752,10 @@ unsigned char *parse_numeric_aggregate (
  		if (count) {
  			token = peek_token (&val, (unsigned *)0, cfile);
  			if (token != separator) {
@@ -301,7 +301,7 @@ diff -up dhcp-4.2.4b1/common/parse.c.rfc3442 dhcp-4.2.4b1/common/parse.c
  				if (token != RBRACE && token != LBRACE)
  					token = next_token (&val,
  							    (unsigned *)0,
-@@ -1628,6 +1663,9 @@ int parse_option_code_definition (cfile,
+@@ -1660,6 +1695,9 @@ int parse_option_code_definition (cfile,
  	      case IP_ADDRESS:
  		type = 'I';
  		break;
@@ -311,7 +311,7 @@ diff -up dhcp-4.2.4b1/common/parse.c.rfc3442 dhcp-4.2.4b1/common/parse.c
  	      case IP6_ADDRESS:
  		type = '6';
  		break;
-@@ -5375,6 +5413,15 @@ int parse_option_token (rv, cfile, fmt,
+@@ -5418,6 +5456,15 @@ int parse_option_token (rv, cfile, fmt,
  		}
  		break;
  
@@ -327,7 +327,7 @@ diff -up dhcp-4.2.4b1/common/parse.c.rfc3442 dhcp-4.2.4b1/common/parse.c
  	      case '6': /* IPv6 address. */
  		if (!parse_ip6_addr(cfile, &addr)) {
  			return 0;
-@@ -5635,6 +5682,13 @@ int parse_option_decl (oc, cfile)
+@@ -5695,6 +5742,13 @@ int parse_option_decl (oc, cfile)
  					goto exit;
  				len = ip_addr.len;
  				dp = ip_addr.iabuf;
@@ -341,9 +341,9 @@ diff -up dhcp-4.2.4b1/common/parse.c.rfc3442 dhcp-4.2.4b1/common/parse.c
  
  			      alloc:
  				if (hunkix + len > sizeof hunkbuf) {
-diff -up dhcp-4.2.4b1/common/tables.c.rfc3442 dhcp-4.2.4b1/common/tables.c
---- dhcp-4.2.4b1/common/tables.c.rfc3442	2012-04-16 17:34:27.566079664 +0200
-+++ dhcp-4.2.4b1/common/tables.c	2012-04-16 17:34:27.611079034 +0200
+diff -up dhcp-4.2.5b1/common/tables.c.rfc3442 dhcp-4.2.5b1/common/tables.c
+--- dhcp-4.2.5b1/common/tables.c.rfc3442	2012-12-17 13:23:34.398564508 +0100
++++ dhcp-4.2.5b1/common/tables.c	2012-12-17 13:23:34.445563891 +0100
 @@ -52,6 +52,7 @@ HASH_FUNCTIONS (option_code, const unsig
     Format codes:
  
@@ -352,7 +352,7 @@ diff -up dhcp-4.2.4b1/common/tables.c.rfc3442 dhcp-4.2.4b1/common/tables.c
     6 - IPv6 address
     l - 32-bit signed integer
     L - 32-bit unsigned integer
-@@ -209,6 +210,7 @@ static struct option dhcp_options[] = {
+@@ -210,6 +211,7 @@ static struct option dhcp_options[] = {
  	{ "default-url", "t",			&dhcp_universe, 114, 1 },
  	{ "subnet-selection", "I",		&dhcp_universe, 118, 1 },
  	{ "domain-search", "D",		&dhcp_universe, 119, 1 },
@@ -360,10 +360,10 @@ diff -up dhcp-4.2.4b1/common/tables.c.rfc3442 dhcp-4.2.4b1/common/tables.c
  	{ "vivco", "Evendor-class.",		&dhcp_universe, 124, 1 },
  	{ "vivso", "Evendor.",			&dhcp_universe, 125, 1 },
  #if 0
-diff -up dhcp-4.2.4b1/includes/dhcpd.h.rfc3442 dhcp-4.2.4b1/includes/dhcpd.h
---- dhcp-4.2.4b1/includes/dhcpd.h.rfc3442	2012-04-16 17:34:27.543079986 +0200
-+++ dhcp-4.2.4b1/includes/dhcpd.h	2012-04-16 17:34:27.613079006 +0200
-@@ -2666,6 +2666,7 @@ isc_result_t range2cidr(struct iaddrcidr
+diff -up dhcp-4.2.5b1/includes/dhcpd.h.rfc3442 dhcp-4.2.5b1/includes/dhcpd.h
+--- dhcp-4.2.5b1/includes/dhcpd.h.rfc3442	2012-12-17 13:23:34.382564719 +0100
++++ dhcp-4.2.5b1/includes/dhcpd.h	2012-12-17 13:23:34.446563877 +0100
+@@ -2678,6 +2678,7 @@ isc_result_t range2cidr(struct iaddrcidr
  			const struct iaddr *lo, const struct iaddr *hi);
  isc_result_t free_iaddrcidrnetlist(struct iaddrcidrnetlist **result);
  const char *piaddr (struct iaddr);
@@ -371,7 +371,7 @@ diff -up dhcp-4.2.4b1/includes/dhcpd.h.rfc3442 dhcp-4.2.4b1/includes/dhcpd.h
  char *piaddrmask(struct iaddr *, struct iaddr *);
  char *piaddrcidr(const struct iaddr *, unsigned int);
  u_int16_t validate_port(char *);
-@@ -2873,6 +2874,7 @@ void parse_client_lease_declaration (str
+@@ -2887,6 +2888,7 @@ void parse_client_lease_declaration (str
  int parse_option_decl (struct option_cache **, struct parse *);
  void parse_string_list (struct parse *, struct string_list **, int);
  int parse_ip_addr (struct parse *, struct iaddr *);
@@ -379,9 +379,9 @@ diff -up dhcp-4.2.4b1/includes/dhcpd.h.rfc3442 dhcp-4.2.4b1/includes/dhcpd.h
  int parse_ip_addr_with_subnet(struct parse *, struct iaddrmatch *);
  void parse_reject_statement (struct parse *, struct client_config *);
  
-diff -up dhcp-4.2.4b1/includes/dhcp.h.rfc3442 dhcp-4.2.4b1/includes/dhcp.h
---- dhcp-4.2.4b1/includes/dhcp.h.rfc3442	2012-02-16 22:09:14.000000000 +0100
-+++ dhcp-4.2.4b1/includes/dhcp.h	2012-04-16 17:34:27.613079006 +0200
+diff -up dhcp-4.2.5b1/includes/dhcp.h.rfc3442 dhcp-4.2.5b1/includes/dhcp.h
+--- dhcp-4.2.5b1/includes/dhcp.h.rfc3442	2012-10-23 21:02:13.000000000 +0200
++++ dhcp-4.2.5b1/includes/dhcp.h	2012-12-17 13:23:34.446563877 +0100
 @@ -163,6 +163,7 @@ struct dhcp_packet {
  #define DHO_ASSOCIATED_IP			92
  #define DHO_SUBNET_SELECTION			118 /* RFC3011! */
@@ -390,9 +390,9 @@ diff -up dhcp-4.2.4b1/includes/dhcp.h.rfc3442 dhcp-4.2.4b1/includes/dhcp.h
  #define DHO_VIVCO_SUBOPTIONS			124
  #define DHO_VIVSO_SUBOPTIONS			125
  
-diff -up dhcp-4.2.4b1/includes/dhctoken.h.rfc3442 dhcp-4.2.4b1/includes/dhctoken.h
---- dhcp-4.2.4b1/includes/dhctoken.h.rfc3442	2012-04-16 17:34:27.000000000 +0200
-+++ dhcp-4.2.4b1/includes/dhctoken.h	2012-04-16 17:35:15.028414805 +0200
+diff -up dhcp-4.2.5b1/includes/dhctoken.h.rfc3442 dhcp-4.2.5b1/includes/dhctoken.h
+--- dhcp-4.2.5b1/includes/dhctoken.h.rfc3442	2012-12-17 13:23:34.348565167 +0100
++++ dhcp-4.2.5b1/includes/dhctoken.h	2012-12-17 13:23:34.446563877 +0100
 @@ -365,7 +365,8 @@ enum dhcp_token {
  	PRIMARY6 = 666,
  	SECONDARY6 = 667,
diff --git a/dhcp-4.2.3-P2-rfc5970-dhcpv6-options-for-network-boot.patch b/dhcp-4.2.5-rfc5970-dhcpv6-options-for-network-boot.patch
similarity index 72%
rename from dhcp-4.2.3-P2-rfc5970-dhcpv6-options-for-network-boot.patch
rename to dhcp-4.2.5-rfc5970-dhcpv6-options-for-network-boot.patch
index 3bcb5da..3b844e0 100644
--- a/dhcp-4.2.3-P2-rfc5970-dhcpv6-options-for-network-boot.patch
+++ b/dhcp-4.2.5-rfc5970-dhcpv6-options-for-network-boot.patch
@@ -1,7 +1,7 @@
-diff -up dhcp-4.2.3-P2/common/dhcp-options.5.rfc5970 dhcp-4.2.3-P2/common/dhcp-options.5
---- dhcp-4.2.3-P2/common/dhcp-options.5.rfc5970	2012-03-21 19:39:47.572002389 +0100
-+++ dhcp-4.2.3-P2/common/dhcp-options.5	2012-03-21 19:39:47.670001164 +0100
-@@ -1770,7 +1770,48 @@ The \fBlq-relay-data\fR option is used i
+diff -up dhcp-4.2.5b1/common/dhcp-options.5.rfc5970 dhcp-4.2.5b1/common/dhcp-options.5
+--- dhcp-4.2.5b1/common/dhcp-options.5.rfc5970	2012-12-17 13:43:44.000000000 +0100
++++ dhcp-4.2.5b1/common/dhcp-options.5	2012-12-17 13:45:18.777638579 +0100
+@@ -1771,7 +1771,48 @@ The \fBlq-relay-data\fR option is used i
  The \fBlq-client-link\fR option is used internally by for lease query.
  .RE
  .PP
@@ -16,7 +16,7 @@ diff -up dhcp-4.2.3-P2/common/dhcp-options.5.rfc5970 dhcp-4.2.3-P2/common/dhcp-o
 +boot file.  Used primarily for UEFI network booting, it contains an RFC3986
 +compliant URI which the client may use to boot an operating system.  This option
 +is defined in RFC5970
-+.RE
+ .RE
 +.PP
 +
 +.B option
@@ -31,7 +31,7 @@ diff -up dhcp-4.2.3-P2/common/dhcp-options.5.rfc5970 dhcp-4.2.3-P2/common/dhcp-o
 +the requesting client.  These values corespond to the values available to the
 +dhcpv4 option architecture-type, as defined in RFC4578, section 2.1.
 +This option is defined in RFC5970
- .RE
++ .RE
 +.PP
 +
 +.B option
@@ -49,11 +49,11 @@ diff -up dhcp-4.2.3-P2/common/dhcp-options.5.rfc5970 dhcp-4.2.3-P2/common/dhcp-o
 +.PP
  .SH DEFINING NEW OPTIONS
  The Internet Systems Consortium DHCP client and server provide the
- capability to define new options.   Each DHCP option has a name, a
-diff -up dhcp-4.2.3-P2/common/tables.c.rfc5970 dhcp-4.2.3-P2/common/tables.c
---- dhcp-4.2.3-P2/common/tables.c.rfc5970	2012-03-21 19:39:47.577002328 +0100
-+++ dhcp-4.2.3-P2/common/tables.c	2012-03-21 19:39:47.670001164 +0100
-@@ -461,6 +461,18 @@ static struct option dhcpv6_options[] =
+ capability to define new options.  Each DHCP option has a name, a
+diff -up dhcp-4.2.5b1/common/tables.c.rfc5970 dhcp-4.2.5b1/common/tables.c
+--- dhcp-4.2.5b1/common/tables.c.rfc5970	2012-12-17 13:43:44.204939024 +0100
++++ dhcp-4.2.5b1/common/tables.c	2012-12-17 13:43:44.286937948 +0100
+@@ -463,6 +463,18 @@ static struct option dhcpv6_options[] =
  	{ "lq-relay-data", "6X",		&dhcpv6_universe, 47, 1 },
  	{ "lq-client-link", "6A",		&dhcpv6_universe, 48, 1 },
  
@@ -72,9 +72,9 @@ diff -up dhcp-4.2.3-P2/common/tables.c.rfc5970 dhcp-4.2.3-P2/common/tables.c
  	{ NULL, NULL, NULL, 0, 0 }
  };
  
-diff -up dhcp-4.2.3-P2/includes/dhcp6.h.rfc5970 dhcp-4.2.3-P2/includes/dhcp6.h
---- dhcp-4.2.3-P2/includes/dhcp6.h.rfc5970	2010-02-17 21:33:55.000000000 +0100
-+++ dhcp-4.2.3-P2/includes/dhcp6.h	2012-03-21 19:39:47.671001151 +0100
+diff -up dhcp-4.2.5b1/includes/dhcp6.h.rfc5970 dhcp-4.2.5b1/includes/dhcp6.h
+--- dhcp-4.2.5b1/includes/dhcp6.h.rfc5970	2012-12-04 20:45:42.000000000 +0100
++++ dhcp-4.2.5b1/includes/dhcp6.h	2012-12-17 13:43:44.286937948 +0100
 @@ -75,6 +75,11 @@
  #define D6O_CLT_TIME				46 /* RFC5007 */
  #define D6O_LQ_RELAY_DATA			47 /* RFC5007 */
diff --git a/dhcp-4.2.1-sendDecline.patch b/dhcp-4.2.5-sendDecline.patch
similarity index 89%
rename from dhcp-4.2.1-sendDecline.patch
rename to dhcp-4.2.5-sendDecline.patch
index b2fa4af..0853730 100644
--- a/dhcp-4.2.1-sendDecline.patch
+++ b/dhcp-4.2.5-sendDecline.patch
@@ -1,7 +1,7 @@
-diff -up dhcp-4.2.1-P1/client/dhc6.c.sendDecline dhcp-4.2.1-P1/client/dhc6.c
---- dhcp-4.2.1-P1/client/dhc6.c.sendDecline	2010-09-10 22:27:11.000000000 +0200
-+++ dhcp-4.2.1-P1/client/dhc6.c	2011-06-17 14:19:48.992099868 +0200
-@@ -95,6 +95,8 @@ void do_select6(void *input);
+diff -up dhcp-4.2.5b1/client/dhc6.c.sendDecline dhcp-4.2.5b1/client/dhc6.c
+--- dhcp-4.2.5b1/client/dhc6.c.sendDecline	2012-12-05 02:17:38.000000000 +0100
++++ dhcp-4.2.5b1/client/dhc6.c	2012-12-17 13:21:16.922444939 +0100
+@@ -96,6 +96,8 @@ void do_select6(void *input);
  void do_refresh6(void *input);
  static void do_release6(void *input);
  static void start_bound(struct client_state *client);
@@ -10,7 +10,7 @@ diff -up dhcp-4.2.1-P1/client/dhc6.c.sendDecline dhcp-4.2.1-P1/client/dhc6.c
  static void start_informed(struct client_state *client);
  void informed_handler(struct packet *packet, struct client_state *client);
  void bound_handler(struct packet *packet, struct client_state *client);
-@@ -2075,6 +2077,7 @@ start_release6(struct client_state *clie
+@@ -2080,6 +2082,7 @@ start_release6(struct client_state *clie
  	cancel_timeout(do_select6, client);
  	cancel_timeout(do_refresh6, client);
  	cancel_timeout(do_release6, client);
@@ -18,7 +18,7 @@ diff -up dhcp-4.2.1-P1/client/dhc6.c.sendDecline dhcp-4.2.1-P1/client/dhc6.c
  	client->state = S_STOPPED;
  
  	/*
-@@ -2708,6 +2711,7 @@ dhc6_check_reply(struct client_state *cl
+@@ -2713,6 +2716,7 @@ dhc6_check_reply(struct client_state *cl
  		break;
  
  	      case S_STOPPED:
@@ -26,7 +26,7 @@ diff -up dhcp-4.2.1-P1/client/dhc6.c.sendDecline dhcp-4.2.1-P1/client/dhc6.c
  		action = dhc6_stop_action;
  		break;
  
-@@ -2809,6 +2813,7 @@ dhc6_check_reply(struct client_state *cl
+@@ -2814,6 +2818,7 @@ dhc6_check_reply(struct client_state *cl
  		break;
  
  	      case S_STOPPED:
@@ -34,7 +34,7 @@ diff -up dhcp-4.2.1-P1/client/dhc6.c.sendDecline dhcp-4.2.1-P1/client/dhc6.c
  		/* Nothing critical to do at this stage. */
  		break;
  
-@@ -3799,17 +3804,23 @@ reply_handler(struct packet *packet, str
+@@ -3804,17 +3809,23 @@ reply_handler(struct packet *packet, str
  	cancel_timeout(do_select6, client);
  	cancel_timeout(do_refresh6, client);
  	cancel_timeout(do_release6, client);
@@ -66,9 +66,9 @@ diff -up dhcp-4.2.1-P1/client/dhc6.c.sendDecline dhcp-4.2.1-P1/client/dhc6.c
  		return;
  	}
  
-@@ -4336,7 +4347,11 @@ start_bound(struct client_state *client)
- 						     oldia, oldaddr);
+@@ -4342,7 +4353,11 @@ start_bound(struct client_state *client)
  			dhc6_marshall_values("new_", client, lease, ia, addr);
+ 			script_write_requested6(client);
  
 -			script_go(client);
 +			// when script returns 3, DAD failed
@@ -79,7 +79,7 @@ diff -up dhcp-4.2.1-P1/client/dhc6.c.sendDecline dhcp-4.2.1-P1/client/dhc6.c
  		}
  
  		/* XXX: maybe we should loop on the old values instead? */
-@@ -4382,6 +4397,149 @@ start_bound(struct client_state *client)
+@@ -4390,6 +4405,149 @@ start_bound(struct client_state *client)
  	dhc6_check_times(client);
  }
  
diff --git a/dhcp-4.2.5-sharedlib.patch b/dhcp-4.2.5-sharedlib.patch
new file mode 100644
index 0000000..d543ab7
--- /dev/null
+++ b/dhcp-4.2.5-sharedlib.patch
@@ -0,0 +1,120 @@
+diff -up dhcp-4.2.5b1/client/Makefile.am.sharedlib dhcp-4.2.5b1/client/Makefile.am
+--- dhcp-4.2.5b1/client/Makefile.am.sharedlib	2012-12-17 16:26:53.350623790 +0100
++++ dhcp-4.2.5b1/client/Makefile.am	2012-12-17 16:26:53.384623342 +0100
+@@ -4,7 +4,7 @@ dhclient_SOURCES = clparse.c dhclient.c
+ 		   scripts/bsdos scripts/freebsd scripts/linux scripts/macos \
+ 		   scripts/netbsd scripts/nextstep scripts/openbsd \
+ 		   scripts/solaris scripts/openwrt
+-dhclient_LDADD = ../common/libdhcp.a ../omapip/libomapi.a \
++dhclient_LDADD = ../common/libdhcp.a ../omapip/libomapi.la \
+ 		 $(BIND9_LIBDIR) -ldns-export -lisc-export $(CAPNG_LDADD)
+ man_MANS = dhclient.8 dhclient-script.8 dhclient.conf.5 dhclient.leases.5
+ EXTRA_DIST = $(man_MANS)
+diff -up dhcp-4.2.5b1/common/tests/Makefile.am.sharedlib dhcp-4.2.5b1/common/tests/Makefile.am
+--- dhcp-4.2.5b1/common/tests/Makefile.am.sharedlib	2012-12-17 16:26:53.271624835 +0100
++++ dhcp-4.2.5b1/common/tests/Makefile.am	2012-12-17 16:26:53.384623342 +0100
+@@ -13,7 +13,7 @@ ATF_TESTS += alloc_unittest
+ alloc_unittest_SOURCES = test_alloc.c $(top_srcdir)/tests/t_api_dhcp.c
+ alloc_unittest_LDADD = $(ATF_LDFLAGS)
+ alloc_unittest_LDADD += ../libdhcp.a  \
+-	../../omapip/libomapi.a \
++	../../omapip/libomapi.la \
+ 	 $(BIND9_LIBDIR) -ldns-export -lisc-export
+ 
+ check: $(ATF_TESTS)
+diff -up dhcp-4.2.5b1/configure.ac.sharedlib dhcp-4.2.5b1/configure.ac
+--- dhcp-4.2.5b1/configure.ac.sharedlib	2012-12-17 16:26:53.350623790 +0100
++++ dhcp-4.2.5b1/configure.ac	2012-12-17 16:26:53.384623342 +0100
+@@ -37,7 +37,8 @@ fi
+ # Use this to define _GNU_SOURCE to pull in the IPv6 Advanced Socket API.
+ AC_USE_SYSTEM_EXTENSIONS
+ 
+-AC_PROG_RANLIB
++# Use libtool to simplify building of shared libraries
++AC_PROG_LIBTOOL
+ AC_CONFIG_HEADERS([includes/config.h])
+ 
+ # we sometimes need to know byte order for building packets
+diff -up dhcp-4.2.5b1/dhcpctl/Makefile.am.sharedlib dhcp-4.2.5b1/dhcpctl/Makefile.am
+--- dhcp-4.2.5b1/dhcpctl/Makefile.am.sharedlib	2012-12-17 16:26:53.271624835 +0100
++++ dhcp-4.2.5b1/dhcpctl/Makefile.am	2012-12-17 16:26:53.385623329 +0100
+@@ -1,15 +1,15 @@
+ bin_PROGRAMS = omshell
+-lib_LIBRARIES = libdhcpctl.a
++lib_LTLIBRARIES = libdhcpctl.la
+ noinst_PROGRAMS = cltest
+ man_MANS = omshell.1 dhcpctl.3
+ EXTRA_DIST = $(man_MANS)
+ 
+ omshell_SOURCES = omshell.c
+-omshell_LDADD = libdhcpctl.a ../common/libdhcp.a ../omapip/libomapi.a \
++omshell_LDADD = libdhcpctl.la ../common/libdhcp.a ../omapip/libomapi.la \
+ 	        $(BIND9_LIBDIR) -ldns-export -lisc-export
+ 
+-libdhcpctl_a_SOURCES = dhcpctl.c callback.c remote.c
++libdhcpctl_la_SOURCES = dhcpctl.c callback.c remote.c
+ 
+ cltest_SOURCES = cltest.c
+-cltest_LDADD = libdhcpctl.a ../common/libdhcp.a ../omapip/libomapi.a \
++cltest_LDADD = libdhcpctl.la ../common/libdhcp.a ../omapip/libomapi.la \
+ 	       $(BIND9_LIBDIR) -ldns-export -lisc-export
+diff -up dhcp-4.2.5b1/omapip/Makefile.am.sharedlib dhcp-4.2.5b1/omapip/Makefile.am
+--- dhcp-4.2.5b1/omapip/Makefile.am.sharedlib	2012-12-17 16:26:53.272624822 +0100
++++ dhcp-4.2.5b1/omapip/Makefile.am	2012-12-17 16:26:53.385623329 +0100
+@@ -1,7 +1,7 @@
+-lib_LIBRARIES = libomapi.a
++lib_LTLIBRARIES = libomapi.la
+ noinst_PROGRAMS = svtest
+ 
+-libomapi_a_SOURCES = protocol.c buffer.c alloc.c result.c connection.c \
++libomapi_la_SOURCES = protocol.c buffer.c alloc.c result.c connection.c \
+ 		     errwarn.c listener.c dispatch.c generic.c support.c \
+ 		     handle.c message.c convert.c hash.c auth.c inet_addr.c \
+ 		     array.c trace.c toisc.c iscprint.c isclib.c
+@@ -10,5 +10,5 @@ man_MANS = omapi.3
+ EXTRA_DIST = $(man_MANS)
+ 
+ svtest_SOURCES = test.c
+-svtest_LDADD = libomapi.a $(BIND9_LIBDIR) -ldns-export -lisc-export
++svtest_LDADD = libomapi.la $(BIND9_LIBDIR) -ldns-export -lisc-export
+ 
+diff -up dhcp-4.2.5b1/relay/Makefile.am.sharedlib dhcp-4.2.5b1/relay/Makefile.am
+--- dhcp-4.2.5b1/relay/Makefile.am.sharedlib	2012-12-17 16:26:53.351623777 +0100
++++ dhcp-4.2.5b1/relay/Makefile.am	2012-12-17 16:26:53.385623329 +0100
+@@ -2,7 +2,7 @@ AM_CPPFLAGS = -DLOCALSTATEDIR='"@localst
+ 
+ sbin_PROGRAMS = dhcrelay
+ dhcrelay_SOURCES = dhcrelay.c
+-dhcrelay_LDADD = ../common/libdhcp.a ../omapip/libomapi.a \
++dhcrelay_LDADD = ../common/libdhcp.a ../omapip/libomapi.la \
+ 		 $(BIND9_LIBDIR) -ldns-export -lisc-export $(CAPNG_LDADD)
+ man_MANS = dhcrelay.8
+ EXTRA_DIST = $(man_MANS)
+diff -up dhcp-4.2.5b1/server/Makefile.am.sharedlib dhcp-4.2.5b1/server/Makefile.am
+--- dhcp-4.2.5b1/server/Makefile.am.sharedlib	2012-12-17 16:26:53.272624822 +0100
++++ dhcp-4.2.5b1/server/Makefile.am	2012-12-17 16:26:53.385623329 +0100
+@@ -13,8 +13,8 @@ dhcpd_SOURCES = dhcpd.c dhcp.c bootp.c c
+ 		dhcpv6.c mdb6.c ldap.c ldap_casa.c
+ 
+ dhcpd_CFLAGS = $(LDAP_CFLAGS)
+-dhcpd_LDADD = ../common/libdhcp.a ../omapip/libomapi.a \
+-	      ../dhcpctl/libdhcpctl.a $(BIND9_LIBDIR) -ldns-export -lisc-export
++dhcpd_LDADD = ../common/libdhcp.a ../omapip/libomapi.la \
++	      ../dhcpctl/libdhcpctl.la $(BIND9_LIBDIR) -ldns-export -lisc-export
+ 
+ man_MANS = dhcpd.8 dhcpd.conf.5 dhcpd.leases.5
+ EXTRA_DIST = $(man_MANS)
+diff -up dhcp-4.2.5b1/server/tests/Makefile.am.sharedlib dhcp-4.2.5b1/server/tests/Makefile.am
+--- dhcp-4.2.5b1/server/tests/Makefile.am.sharedlib	2012-12-17 16:26:53.000000000 +0100
++++ dhcp-4.2.5b1/server/tests/Makefile.am	2012-12-17 16:28:25.898349545 +0100
+@@ -17,8 +17,8 @@ DHCPSRC = ../dhcp.c ../bootp.c ../confpa
+           ../ddns.c ../dhcpleasequery.c ../dhcpv6.c ../mdb6.c        \
+           ../ldap.c ../ldap_casa.c ../dhcpd.c
+ 
+-DHCPLIBS = $(top_builddir)/common/libdhcp.a $(top_builddir)/omapip/libomapi.a    \
+-          $(top_builddir)/dhcpctl/libdhcpctl.a $(BIND9_LIBDIR) -ldns-export -lisc-export
++DHCPLIBS = $(top_builddir)/common/libdhcp.a $(top_builddir)/omapip/libomapi.la    \
++          $(top_builddir)/dhcpctl/libdhcpctl.la $(BIND9_LIBDIR) -ldns-export -lisc-export
+ 
+ ATF_TESTS =
+ TESTS = 
diff --git a/dhcp-4.2.4-systemtap.patch b/dhcp-4.2.5-systemtap.patch
similarity index 77%
rename from dhcp-4.2.4-systemtap.patch
rename to dhcp-4.2.5-systemtap.patch
index bba60b1..ad774ad 100644
--- a/dhcp-4.2.4-systemtap.patch
+++ b/dhcp-4.2.5-systemtap.patch
@@ -1,7 +1,7 @@
-diff -up dhcp-4.2.4b1/configure.ac.systemtap dhcp-4.2.4b1/configure.ac
---- dhcp-4.2.4b1/configure.ac.systemtap	2012-04-16 17:46:10.913227143 +0200
-+++ dhcp-4.2.4b1/configure.ac	2012-04-16 17:46:10.947226667 +0200
-@@ -504,6 +504,35 @@ else
+diff -up dhcp-4.2.5b1/configure.ac.systemtap dhcp-4.2.5b1/configure.ac
+--- dhcp-4.2.5b1/configure.ac.systemtap	2012-12-17 16:56:40.563881316 +0100
++++ dhcp-4.2.5b1/configure.ac	2012-12-17 16:56:40.597880870 +0100
+@@ -554,6 +554,35 @@ else
      AC_MSG_RESULT(no)
  fi
  
@@ -37,29 +37,29 @@ diff -up dhcp-4.2.4b1/configure.ac.systemtap dhcp-4.2.4b1/configure.ac
  # Solaris needs some libraries for functions
  AC_SEARCH_LIBS(socket, [socket])
  AC_SEARCH_LIBS(inet_ntoa, [nsl])
-@@ -650,6 +679,7 @@ AC_OUTPUT([
-   relay/Makefile
-   server/Makefile
+@@ -701,6 +730,7 @@ AC_OUTPUT([
    tests/Makefile
+   server/tests/Makefile
+   doc/devel/doxyfile
 +  tapset/Makefile
  ])
  
  sh util/bindvar.sh
-diff -up dhcp-4.2.4b1/Makefile.am.systemtap dhcp-4.2.4b1/Makefile.am
---- dhcp-4.2.4b1/Makefile.am.systemtap	2012-04-16 17:46:10.791228851 +0200
-+++ dhcp-4.2.4b1/Makefile.am	2012-04-16 17:46:10.947226667 +0200
-@@ -29,5 +29,8 @@ endif
+diff -up dhcp-4.2.5b1/Makefile.am.systemtap dhcp-4.2.5b1/Makefile.am
+--- dhcp-4.2.5b1/Makefile.am.systemtap	2012-12-17 16:56:40.461882654 +0100
++++ dhcp-4.2.5b1/Makefile.am	2012-12-17 16:56:40.597880870 +0100
+@@ -30,5 +30,8 @@ endif
  
- SUBDIRS += includes tests common dst omapip client dhcpctl relay server
+ SUBDIRS += includes tests common omapip client dhcpctl relay server
  
 +SUBDIRS += tapset
 +#DIST_SUBDIRS = $(SUBDIRS)
 +
  nobase_include_HEADERS = dhcpctl/dhcpctl.h
  
-diff -up dhcp-4.2.4b1/server/dhcp.c.systemtap dhcp-4.2.4b1/server/dhcp.c
---- dhcp-4.2.4b1/server/dhcp.c.systemtap	2012-04-16 17:46:10.816228501 +0200
-+++ dhcp-4.2.4b1/server/dhcp.c	2012-04-16 17:48:11.528537555 +0200
+diff -up dhcp-4.2.5b1/server/dhcp.c.systemtap dhcp-4.2.5b1/server/dhcp.c
+--- dhcp-4.2.5b1/server/dhcp.c.systemtap	2012-12-17 16:56:40.483882364 +0100
++++ dhcp-4.2.5b1/server/dhcp.c	2012-12-17 16:56:40.599880842 +0100
 @@ -36,7 +36,7 @@
  #include <errno.h>
  #include <limits.h>
@@ -96,7 +96,7 @@ diff -up dhcp-4.2.4b1/server/dhcp.c.systemtap dhcp-4.2.4b1/server/dhcp.c
  	oc = lookup_option (&dhcp_universe, packet -> options,
  			    DHO_DHCP_REQUESTED_ADDRESS);
  	memset (&data, 0, sizeof data);
-@@ -677,6 +683,9 @@ void dhcprequest (packet, ms_nulltp, ip_
+@@ -700,6 +706,9 @@ void dhcprequest (packet, ms_nulltp, ip_
  		log_info ("%s: unknown lease %s.", msgbuf, piaddr (cip));
  
        out:
@@ -106,7 +106,7 @@ diff -up dhcp-4.2.4b1/server/dhcp.c.systemtap dhcp-4.2.4b1/server/dhcp.c
  	if (subnet)
  		subnet_dereference (&subnet, MDL);
  	if (lease)
-@@ -695,6 +704,7 @@ void dhcprelease (packet, ms_nulltp)
+@@ -718,6 +727,7 @@ void dhcprelease (packet, ms_nulltp)
  	const char *s;
  	char msgbuf [1024], cstr[16]; /* XXX */
  
@@ -114,7 +114,7 @@ diff -up dhcp-4.2.4b1/server/dhcp.c.systemtap dhcp-4.2.4b1/server/dhcp.c
  
  	/* DHCPRELEASE must not specify address in requested-address
  	   option, but old protocol specs weren't explicit about this,
-@@ -819,6 +829,8 @@ void dhcprelease (packet, ms_nulltp)
+@@ -842,6 +852,8 @@ void dhcprelease (packet, ms_nulltp)
  #endif
  	if (lease)
  		lease_dereference (&lease, MDL);
@@ -123,7 +123,7 @@ diff -up dhcp-4.2.4b1/server/dhcp.c.systemtap dhcp-4.2.4b1/server/dhcp.c
  }
  
  void dhcpdecline (packet, ms_nulltp)
-@@ -836,6 +848,8 @@ void dhcpdecline (packet, ms_nulltp)
+@@ -859,6 +871,8 @@ void dhcpdecline (packet, ms_nulltp)
  	struct option_cache *oc;
  	struct data_string data;
  
@@ -132,7 +132,7 @@ diff -up dhcp-4.2.4b1/server/dhcp.c.systemtap dhcp-4.2.4b1/server/dhcp.c
  	/* DHCPDECLINE must specify address. */
  	if (!(oc = lookup_option (&dhcp_universe, packet -> options,
  				  DHO_DHCP_REQUESTED_ADDRESS)))
-@@ -947,6 +961,8 @@ void dhcpdecline (packet, ms_nulltp)
+@@ -970,6 +984,8 @@ void dhcpdecline (packet, ms_nulltp)
  		option_state_dereference (&options, MDL);
  	if (lease)
  		lease_dereference (&lease, MDL);
@@ -141,7 +141,7 @@ diff -up dhcp-4.2.4b1/server/dhcp.c.systemtap dhcp-4.2.4b1/server/dhcp.c
  }
  
  void dhcpinform (packet, ms_nulltp)
-@@ -970,6 +986,8 @@ void dhcpinform (packet, ms_nulltp)
+@@ -993,6 +1009,8 @@ void dhcpinform (packet, ms_nulltp)
  	struct interface_info *interface;
  	int result;
  
@@ -150,7 +150,7 @@ diff -up dhcp-4.2.4b1/server/dhcp.c.systemtap dhcp-4.2.4b1/server/dhcp.c
  	/* The client should set ciaddr to its IP address, but apparently
  	   it's common for clients not to do this, so we'll use their IP
  	   source address if they didn't set ciaddr. */
-@@ -1327,6 +1345,8 @@ void dhcpinform (packet, ms_nulltp)
+@@ -1350,6 +1368,8 @@ void dhcpinform (packet, ms_nulltp)
  
  	if (subnet)
  		subnet_dereference (&subnet, MDL);
@@ -159,7 +159,7 @@ diff -up dhcp-4.2.4b1/server/dhcp.c.systemtap dhcp-4.2.4b1/server/dhcp.c
  }
  
  void nak_lease (packet, cip)
-@@ -1343,6 +1363,8 @@ void nak_lease (packet, cip)
+@@ -1366,6 +1386,8 @@ void nak_lease (packet, cip)
  	struct option_state *options = (struct option_state *)0;
  	struct option_cache *oc = (struct option_cache *)0;
  
@@ -168,7 +168,7 @@ diff -up dhcp-4.2.4b1/server/dhcp.c.systemtap dhcp-4.2.4b1/server/dhcp.c
  	option_state_allocate (&options, MDL);
  	memset (&outgoing, 0, sizeof outgoing);
  	memset (&raw, 0, sizeof raw);
-@@ -1494,6 +1516,7 @@ void nak_lease (packet, cip)
+@@ -1532,6 +1554,7 @@ void nak_lease (packet, cip)
                             packet->interface->name);
          }
  
@@ -176,7 +176,7 @@ diff -up dhcp-4.2.4b1/server/dhcp.c.systemtap dhcp-4.2.4b1/server/dhcp.c
  }
  
  void ack_lease (packet, lease, offer, when, msg, ms_nulltp, hp)
-@@ -1535,6 +1558,8 @@ void ack_lease (packet, lease, offer, wh
+@@ -1573,6 +1596,8 @@ void ack_lease (packet, lease, offer, wh
  	if (lease -> state)
  		return;
  
@@ -185,7 +185,7 @@ diff -up dhcp-4.2.4b1/server/dhcp.c.systemtap dhcp-4.2.4b1/server/dhcp.c
  	/* Save original cltt for comparison later. */
  	lease_cltt = lease->cltt;
  
-@@ -2897,6 +2922,8 @@ void ack_lease (packet, lease, offer, wh
+@@ -2936,6 +2961,8 @@ void ack_lease (packet, lease, offer, wh
  #endif
  			dhcp_reply(lease);
  	}
@@ -194,7 +194,7 @@ diff -up dhcp-4.2.4b1/server/dhcp.c.systemtap dhcp-4.2.4b1/server/dhcp.c
  }
  
  /*
-@@ -3049,6 +3076,8 @@ void dhcp_reply (lease)
+@@ -3088,6 +3115,8 @@ void dhcp_reply (lease)
  	if (!state)
  		log_fatal ("dhcp_reply was supplied lease with no state!");
  
@@ -203,7 +203,7 @@ diff -up dhcp-4.2.4b1/server/dhcp.c.systemtap dhcp-4.2.4b1/server/dhcp.c
  	/* Compose a response for the client... */
  	memset (&raw, 0, sizeof raw);
  	memset (&d1, 0, sizeof d1);
-@@ -3270,6 +3299,8 @@ void dhcp_reply (lease)
+@@ -3309,6 +3338,8 @@ void dhcp_reply (lease)
  
  	free_lease_state (state, MDL);
  	lease -> state = (struct lease_state *)0;
@@ -212,7 +212,7 @@ diff -up dhcp-4.2.4b1/server/dhcp.c.systemtap dhcp-4.2.4b1/server/dhcp.c
  }
  
  int find_lease (struct lease **lp,
-@@ -3292,6 +3323,8 @@ int find_lease (struct lease **lp,
+@@ -3331,6 +3362,8 @@ int find_lease (struct lease **lp,
  	struct data_string client_identifier;
  	struct hardware h;
  
@@ -221,7 +221,7 @@ diff -up dhcp-4.2.4b1/server/dhcp.c.systemtap dhcp-4.2.4b1/server/dhcp.c
  #if defined(FAILOVER_PROTOCOL)
  	/* Quick check to see if the peer has leases. */
  	if (peer_has_leases) {
-@@ -4019,6 +4052,9 @@ int find_lease (struct lease **lp,
+@@ -4058,6 +4091,9 @@ int find_lease (struct lease **lp,
  #if defined (DEBUG_FIND_LEASE)
  	log_info ("Not returning a lease.");
  #endif
@@ -231,19 +231,19 @@ diff -up dhcp-4.2.4b1/server/dhcp.c.systemtap dhcp-4.2.4b1/server/dhcp.c
  	return 0;
  }
  
-diff -up dhcp-4.2.4b1/server/dhcpd.c.systemtap dhcp-4.2.4b1/server/dhcpd.c
---- dhcp-4.2.4b1/server/dhcpd.c.systemtap	2012-04-16 17:46:10.928226933 +0200
-+++ dhcp-4.2.4b1/server/dhcpd.c	2012-04-16 17:46:10.951226611 +0200
+diff -up dhcp-4.2.5b1/server/dhcpd.c.systemtap dhcp-4.2.5b1/server/dhcpd.c
+--- dhcp-4.2.5b1/server/dhcpd.c.systemtap	2012-12-17 16:56:40.578881119 +0100
++++ dhcp-4.2.5b1/server/dhcpd.c	2012-12-17 16:56:40.599880842 +0100
 @@ -58,6 +58,8 @@ static const char url [] =
  #  undef group
  #endif /* PARANOIA */
  
 +#include "trace.h"
 +
+ #ifndef UNIT_TEST
  static void usage(void);
- 
- struct iaddr server_identifier;
-@@ -859,6 +861,7 @@ main(int argc, char **argv) {
+ #endif
+@@ -865,6 +867,7 @@ main(int argc, char **argv) {
  	omapi_set_int_value ((omapi_object_t *)dhcp_control_object,
  			     (omapi_object_t *)0, "state", server_running);
  
@@ -251,9 +251,9 @@ diff -up dhcp-4.2.4b1/server/dhcpd.c.systemtap dhcp-4.2.4b1/server/dhcpd.c
  	/* Receive packets and dispatch them... */
  	dispatch ();
  
-diff -up dhcp-4.2.4b1/server/dhcpv6.c.systemtap dhcp-4.2.4b1/server/dhcpv6.c
---- dhcp-4.2.4b1/server/dhcpv6.c.systemtap	2012-04-16 17:46:10.925226975 +0200
-+++ dhcp-4.2.4b1/server/dhcpv6.c	2012-04-16 17:46:10.953226583 +0200
+diff -up dhcp-4.2.5b1/server/dhcpv6.c.systemtap dhcp-4.2.5b1/server/dhcpv6.c
+--- dhcp-4.2.5b1/server/dhcpv6.c.systemtap	2012-12-17 16:56:40.571881210 +0100
++++ dhcp-4.2.5b1/server/dhcpv6.c	2012-12-17 16:56:40.601880816 +0100
 @@ -15,6 +15,7 @@
   */
  
@@ -262,7 +262,7 @@ diff -up dhcp-4.2.4b1/server/dhcpv6.c.systemtap dhcp-4.2.4b1/server/dhcpv6.c
  
  #ifdef DHCPv6
  
-@@ -4198,6 +4199,8 @@ static void
+@@ -4212,6 +4213,8 @@ static void
  dhcpv6_solicit(struct data_string *reply_ret, struct packet *packet) {
  	struct data_string client_id;
  
@@ -271,7 +271,7 @@ diff -up dhcp-4.2.4b1/server/dhcpv6.c.systemtap dhcp-4.2.4b1/server/dhcpv6.c
  	/* 
  	 * Validate our input.
  	 */
-@@ -4211,6 +4214,8 @@ dhcpv6_solicit(struct data_string *reply
+@@ -4225,6 +4228,8 @@ dhcpv6_solicit(struct data_string *reply
  	 * Clean up.
  	 */
  	data_string_forget(&client_id, MDL);
@@ -280,7 +280,7 @@ diff -up dhcp-4.2.4b1/server/dhcpv6.c.systemtap dhcp-4.2.4b1/server/dhcpv6.c
  }
  
  /*
-@@ -4224,6 +4229,8 @@ dhcpv6_request(struct data_string *reply
+@@ -4238,6 +4243,8 @@ dhcpv6_request(struct data_string *reply
  	struct data_string client_id;
  	struct data_string server_id;
  
@@ -289,7 +289,7 @@ diff -up dhcp-4.2.4b1/server/dhcpv6.c.systemtap dhcp-4.2.4b1/server/dhcpv6.c
  	/*
  	 * Validate our input.
  	 */
-@@ -4241,6 +4248,8 @@ dhcpv6_request(struct data_string *reply
+@@ -4255,6 +4262,8 @@ dhcpv6_request(struct data_string *reply
  	 */
  	data_string_forget(&client_id, MDL);
  	data_string_forget(&server_id, MDL);
@@ -298,7 +298,7 @@ diff -up dhcp-4.2.4b1/server/dhcpv6.c.systemtap dhcp-4.2.4b1/server/dhcpv6.c
  }
  
  /* Find a DHCPv6 packet's shared network from hints in the packet.
-@@ -4353,6 +4362,8 @@ dhcpv6_confirm(struct data_string *reply
+@@ -4367,6 +4376,8 @@ dhcpv6_confirm(struct data_string *reply
  	struct dhcpv6_packet *reply = (struct dhcpv6_packet *)reply_data;
  	int reply_ofs = (int)(offsetof(struct dhcpv6_packet, options));
  
@@ -307,7 +307,7 @@ diff -up dhcp-4.2.4b1/server/dhcpv6.c.systemtap dhcp-4.2.4b1/server/dhcpv6.c
  	/* 
  	 * Basic client message validation.
  	 */
-@@ -4539,6 +4550,8 @@ exit:
+@@ -4553,6 +4564,8 @@ exit:
  		option_state_dereference(&cli_enc_opt_state, MDL);
  	if (opt_state != NULL)
  		option_state_dereference(&opt_state, MDL);
@@ -316,7 +316,7 @@ diff -up dhcp-4.2.4b1/server/dhcpv6.c.systemtap dhcp-4.2.4b1/server/dhcpv6.c
  }
  
  /*
-@@ -4553,6 +4566,8 @@ dhcpv6_renew(struct data_string *reply,
+@@ -4567,6 +4580,8 @@ dhcpv6_renew(struct data_string *reply,
  	struct data_string client_id;
  	struct data_string server_id;
  
@@ -325,7 +325,7 @@ diff -up dhcp-4.2.4b1/server/dhcpv6.c.systemtap dhcp-4.2.4b1/server/dhcpv6.c
  	/* 
  	 * Validate the request.
  	 */
-@@ -4570,6 +4585,8 @@ dhcpv6_renew(struct data_string *reply,
+@@ -4584,6 +4599,8 @@ dhcpv6_renew(struct data_string *reply,
  	 */
  	data_string_forget(&server_id, MDL);
  	data_string_forget(&client_id, MDL);
@@ -334,7 +334,7 @@ diff -up dhcp-4.2.4b1/server/dhcpv6.c.systemtap dhcp-4.2.4b1/server/dhcpv6.c
  }
  
  /*
-@@ -4583,6 +4600,8 @@ static void
+@@ -4597,6 +4614,8 @@ static void
  dhcpv6_rebind(struct data_string *reply, struct packet *packet) {
  	struct data_string client_id;
  
@@ -343,7 +343,7 @@ diff -up dhcp-4.2.4b1/server/dhcpv6.c.systemtap dhcp-4.2.4b1/server/dhcpv6.c
  	if (!valid_client_msg(packet, &client_id)) {
  		return;
  	}
-@@ -4590,6 +4609,8 @@ dhcpv6_rebind(struct data_string *reply,
+@@ -4604,6 +4623,8 @@ dhcpv6_rebind(struct data_string *reply,
  	lease_to_client(reply, packet, &client_id, NULL);
  
  	data_string_forget(&client_id, MDL);
@@ -352,7 +352,7 @@ diff -up dhcp-4.2.4b1/server/dhcpv6.c.systemtap dhcp-4.2.4b1/server/dhcpv6.c
  }
  
  static void
-@@ -5034,6 +5055,8 @@ dhcpv6_decline(struct data_string *reply
+@@ -5048,6 +5069,8 @@ dhcpv6_decline(struct data_string *reply
  	struct data_string client_id;
  	struct data_string server_id;
  
@@ -361,7 +361,7 @@ diff -up dhcp-4.2.4b1/server/dhcpv6.c.systemtap dhcp-4.2.4b1/server/dhcpv6.c
  	/* 
  	 * Validate our input.
  	 */
-@@ -5054,6 +5077,8 @@ dhcpv6_decline(struct data_string *reply
+@@ -5068,6 +5091,8 @@ dhcpv6_decline(struct data_string *reply
  
  	data_string_forget(&server_id, MDL);
  	data_string_forget(&client_id, MDL);
@@ -370,7 +370,7 @@ diff -up dhcp-4.2.4b1/server/dhcpv6.c.systemtap dhcp-4.2.4b1/server/dhcpv6.c
  }
  
  static void
-@@ -5502,6 +5527,8 @@ dhcpv6_release(struct data_string *reply
+@@ -5516,6 +5541,8 @@ dhcpv6_release(struct data_string *reply
  	struct data_string client_id;
  	struct data_string server_id;
  
@@ -379,7 +379,7 @@ diff -up dhcp-4.2.4b1/server/dhcpv6.c.systemtap dhcp-4.2.4b1/server/dhcpv6.c
  	/* 
  	 * Validate our input.
  	 */
-@@ -5523,6 +5550,8 @@ dhcpv6_release(struct data_string *reply
+@@ -5537,6 +5564,8 @@ dhcpv6_release(struct data_string *reply
  
  	data_string_forget(&server_id, MDL);
  	data_string_forget(&client_id, MDL);
@@ -388,7 +388,7 @@ diff -up dhcp-4.2.4b1/server/dhcpv6.c.systemtap dhcp-4.2.4b1/server/dhcpv6.c
  }
  
  /*
-@@ -5535,6 +5564,8 @@ dhcpv6_information_request(struct data_s
+@@ -5549,6 +5578,8 @@ dhcpv6_information_request(struct data_s
  	struct data_string client_id;
  	struct data_string server_id;
  
@@ -397,7 +397,7 @@ diff -up dhcp-4.2.4b1/server/dhcpv6.c.systemtap dhcp-4.2.4b1/server/dhcpv6.c
  	/*
  	 * Validate our input.
  	 */
-@@ -5566,6 +5597,8 @@ dhcpv6_information_request(struct data_s
+@@ -5580,6 +5611,8 @@ dhcpv6_information_request(struct data_s
  		data_string_forget(&client_id, MDL);
  	}
  	data_string_forget(&server_id, MDL);
@@ -406,7 +406,7 @@ diff -up dhcp-4.2.4b1/server/dhcpv6.c.systemtap dhcp-4.2.4b1/server/dhcpv6.c
  }
  
  /* 
-@@ -5594,6 +5627,8 @@ dhcpv6_relay_forw(struct data_string *re
+@@ -5608,6 +5641,8 @@ dhcpv6_relay_forw(struct data_string *re
  	struct dhcpv6_relay_packet *reply;
  	int reply_ofs;
  
@@ -415,7 +415,7 @@ diff -up dhcp-4.2.4b1/server/dhcpv6.c.systemtap dhcp-4.2.4b1/server/dhcpv6.c
  	/* 
  	 * Initialize variables for early exit.
  	 */
-@@ -5853,6 +5888,8 @@ exit:
+@@ -5867,6 +5902,8 @@ exit:
  	if (enc_packet != NULL) {
  		packet_dereference(&enc_packet, MDL);
  	}
@@ -424,9 +424,9 @@ diff -up dhcp-4.2.4b1/server/dhcpv6.c.systemtap dhcp-4.2.4b1/server/dhcpv6.c
  }
  
  static void
-diff -up dhcp-4.2.4b1/server/failover.c.systemtap dhcp-4.2.4b1/server/failover.c
---- dhcp-4.2.4b1/server/failover.c.systemtap	2012-03-19 23:29:49.000000000 +0100
-+++ dhcp-4.2.4b1/server/failover.c	2012-04-16 17:46:10.955226555 +0200
+diff -up dhcp-4.2.5b1/server/failover.c.systemtap dhcp-4.2.5b1/server/failover.c
+--- dhcp-4.2.5b1/server/failover.c.systemtap	2012-12-05 02:17:39.000000000 +0100
++++ dhcp-4.2.5b1/server/failover.c	2012-12-17 16:56:40.603880790 +0100
 @@ -36,6 +36,8 @@
  #include "dhcpd.h"
  #include <omapip/omapip_p.h>
@@ -472,10 +472,10 @@ diff -up dhcp-4.2.4b1/server/failover.c.systemtap dhcp-4.2.4b1/server/failover.c
  	return leases_queued;
  }
  
-diff -up dhcp-4.2.4b1/server/Makefile.am.systemtap dhcp-4.2.4b1/server/Makefile.am
---- dhcp-4.2.4b1/server/Makefile.am.systemtap	2012-04-16 17:46:10.914227129 +0200
-+++ dhcp-4.2.4b1/server/Makefile.am	2012-04-16 17:46:10.956226541 +0200
-@@ -4,7 +4,7 @@ dist_sysconf_DATA = dhcpd.conf
+diff -up dhcp-4.2.5b1/server/Makefile.am.systemtap dhcp-4.2.5b1/server/Makefile.am
+--- dhcp-4.2.5b1/server/Makefile.am.systemtap	2012-12-17 16:56:40.563881316 +0100
++++ dhcp-4.2.5b1/server/Makefile.am	2012-12-17 16:56:40.603880790 +0100
+@@ -10,7 +10,7 @@ dist_sysconf_DATA = dhcpd.conf.example
  sbin_PROGRAMS = dhcpd
  dhcpd_SOURCES = dhcpd.c dhcp.c bootp.c confpars.c db.c class.c failover.c \
  		omapi.c mdb.c stables.c salloc.c ddns.c dhcpleasequery.c \
@@ -484,7 +484,7 @@ diff -up dhcp-4.2.4b1/server/Makefile.am.systemtap dhcp-4.2.4b1/server/Makefile.
  
  dhcpd_CFLAGS = $(LDAP_CFLAGS)
  dhcpd_LDADD = ../common/libdhcp.a ../omapip/libomapi.la \
-@@ -13,3 +13,13 @@ dhcpd_LDADD = ../common/libdhcp.a ../oma
+@@ -19,3 +19,13 @@ dhcpd_LDADD = ../common/libdhcp.a ../oma
  man_MANS = dhcpd.8 dhcpd.conf.5 dhcpd.leases.5
  EXTRA_DIST = $(man_MANS)
  
@@ -498,9 +498,9 @@ diff -up dhcp-4.2.4b1/server/Makefile.am.systemtap dhcp-4.2.4b1/server/Makefile.
 +
 +dhcpd_LDADD += probes.o
 +endif
-diff -up dhcp-4.2.4b1/server/probes.d.systemtap dhcp-4.2.4b1/server/probes.d
---- dhcp-4.2.4b1/server/probes.d.systemtap	2012-04-16 17:46:10.956226541 +0200
-+++ dhcp-4.2.4b1/server/probes.d	2012-04-16 17:46:10.956226541 +0200
+diff -up dhcp-4.2.5b1/server/probes.d.systemtap dhcp-4.2.5b1/server/probes.d
+--- dhcp-4.2.5b1/server/probes.d.systemtap	2012-12-17 16:56:40.603880790 +0100
++++ dhcp-4.2.5b1/server/probes.d	2012-12-17 16:56:40.603880790 +0100
 @@ -0,0 +1,43 @@
 +provider dhcpd {
 +	 probe main();
@@ -545,9 +545,23 @@ diff -up dhcp-4.2.4b1/server/probes.d.systemtap dhcp-4.2.4b1/server/probes.d
 +	 probe failover_set_state_start(int, int) /* state, new_state */
 +	 probe failover_set_state_done()
 +};
-diff -up dhcp-4.2.4b1/server/trace.h.systemtap dhcp-4.2.4b1/server/trace.h
---- dhcp-4.2.4b1/server/trace.h.systemtap	2012-04-16 17:46:10.956226541 +0200
-+++ dhcp-4.2.4b1/server/trace.h	2012-04-16 17:46:10.956226541 +0200
+diff -up dhcp-4.2.5b1/server/tests/Makefile.am.systemtap dhcp-4.2.5b1/server/tests/Makefile.am
+--- dhcp-4.2.5b1/server/tests/Makefile.am.systemtap	2012-12-17 16:56:40.564881302 +0100
++++ dhcp-4.2.5b1/server/tests/Makefile.am	2012-12-17 16:56:57.505650518 +0100
+@@ -20,6 +20,10 @@ DHCPSRC = ../dhcp.c ../bootp.c ../confpa
+ DHCPLIBS = $(top_builddir)/common/libdhcp.a $(top_builddir)/omapip/libomapi.la    \
+           $(top_builddir)/dhcpctl/libdhcpctl.la $(BIND9_LIBDIR) -ldns-export -lisc-export
+ 
++if ENABLE_SYSTEMTAP
++DHCPLIBS += ../probes.o
++endif
++
+ ATF_TESTS =
+ TESTS = 
+ if HAVE_ATF
+diff -up dhcp-4.2.5b1/server/trace.h.systemtap dhcp-4.2.5b1/server/trace.h
+--- dhcp-4.2.5b1/server/trace.h.systemtap	2012-12-17 16:56:40.604880777 +0100
++++ dhcp-4.2.5b1/server/trace.h	2012-12-17 16:56:40.604880777 +0100
 @@ -0,0 +1,11 @@
 +// trace.h
 +
@@ -560,9 +574,9 @@ diff -up dhcp-4.2.4b1/server/trace.h.systemtap dhcp-4.2.4b1/server/trace.h
 +// Wrap the probe to allow it to be removed when no systemtap available
 +#define TRACE(probe)
 +#endif
-diff -up dhcp-4.2.4b1/tapset/dhcpd.stp.systemtap dhcp-4.2.4b1/tapset/dhcpd.stp
---- dhcp-4.2.4b1/tapset/dhcpd.stp.systemtap	2012-04-16 17:46:10.957226527 +0200
-+++ dhcp-4.2.4b1/tapset/dhcpd.stp	2012-04-16 17:46:10.957226527 +0200
+diff -up dhcp-4.2.5b1/tapset/dhcpd.stp.systemtap dhcp-4.2.5b1/tapset/dhcpd.stp
+--- dhcp-4.2.5b1/tapset/dhcpd.stp.systemtap	2012-12-17 16:56:40.604880777 +0100
++++ dhcp-4.2.5b1/tapset/dhcpd.stp	2012-12-17 16:56:40.604880777 +0100
 @@ -0,0 +1,212 @@
 +/* dhcpd tapset
 +   Copyright (C) 2011, Red Hat Inc.
@@ -776,9 +790,9 @@ diff -up dhcp-4.2.4b1/tapset/dhcpd.stp.systemtap dhcp-4.2.4b1/tapset/dhcpd.stp
 +{
 +  probestr = sprintf("%s", $$name);
 +}
-diff -up dhcp-4.2.4b1/tapset/Makefile.am.systemtap dhcp-4.2.4b1/tapset/Makefile.am
---- dhcp-4.2.4b1/tapset/Makefile.am.systemtap	2012-04-16 17:46:10.957226527 +0200
-+++ dhcp-4.2.4b1/tapset/Makefile.am	2012-04-16 17:46:10.957226527 +0200
+diff -up dhcp-4.2.5b1/tapset/Makefile.am.systemtap dhcp-4.2.5b1/tapset/Makefile.am
+--- dhcp-4.2.5b1/tapset/Makefile.am.systemtap	2012-12-17 16:56:40.604880777 +0100
++++ dhcp-4.2.5b1/tapset/Makefile.am	2012-12-17 16:56:40.604880777 +0100
 @@ -0,0 +1,26 @@
 +# Makefile.am for dhcp/tapset
 +# Jiri Popelka
diff --git a/dhcp.spec b/dhcp.spec
index aa44e50..ef7acbc 100644
--- a/dhcp.spec
+++ b/dhcp.spec
@@ -8,17 +8,17 @@
 %global dhcpconfdir %{_sysconfdir}/dhcp
 
 
-%global patchver P2
+#%%global patchver P2
 #%%global prever rc2
 
-%global VERSION %{version}-%{patchver}
+#%%global VERSION %{version}-%{patchver}
 #%%global VERSION %{version}%{prever}
-#%%global VERSION %{version}
+%global VERSION %{version}
 
 Summary:  Dynamic host configuration protocol software
 Name:     dhcp
-Version:  4.2.4
-Release:  19.%{patchver}%{?dist}
+Version:  4.2.5
+Release:  1%{?dist}
 # NEVER CHANGE THE EPOCH on this package.  The previous maintainer (prior to
 # dcantrell maintaining the package) made incorrect use of the epoch and
 # that's why it is at 12 now.  It should have never been used, but it was.
@@ -37,7 +37,6 @@ Source6:  dhcpd.service
 Source7:  dhcpd6.service
 Source8:  dhcrelay.service
 
-
 Patch0:   dhcp-4.2.0-errwarn-message.patch
 Patch1:   dhcp-4.2.4-dhclient-options.patch
 Patch2:   dhcp-4.2.0-release-by-ifup.patch
@@ -45,7 +44,7 @@ Patch3:   dhcp-4.2.0-dhclient-decline-backoff.patch
 Patch4:   dhcp-4.2.4-unicast-bootp.patch
 Patch7:   dhcp-4.2.0-default-requested-options.patch
 Patch8:   dhcp-4.2.2-xen-checksum.patch
-Patch10:  dhcp-4.2.1-manpages.patch
+Patch10:  dhcp-4.2.5-manpages.patch
 Patch11:  dhcp-4.2.4-paths.patch
 Patch12:  dhcp-4.2.2-CLOEXEC.patch
 Patch14:  dhcp-4.2.0-garbage-chars.patch
@@ -55,25 +54,25 @@ Patch18:  dhcp-4.2.4-64_bit_lease_parse.patch
 Patch19:  dhcp-4.2.2-capability.patch
 Patch20:  dhcp-4.2.0-logpid.patch
 Patch21:  dhcp-4.2.4-UseMulticast.patch
-Patch22:  dhcp-4.2.1-sendDecline.patch
+Patch22:  dhcp-4.2.5-sendDecline.patch
 Patch23:  dhcp-4.2.1-retransmission.patch
-Patch25:  dhcp-4.2.4-rfc3442-classless-static-routes.patch
+Patch25:  dhcp-4.2.5-rfc3442-classless-static-routes.patch
 Patch27:  dhcp-4.2.0-honor-expired.patch
-Patch29:  dhcp-4.2.2-remove-bind.patch
-Patch30:  dhcp-4.2.2-sharedlib.patch
-Patch31:  dhcp-4.2.4-PPP.patch
+Patch28:  dhcp-4.2.5-remove-bind.patch
+Patch29:  dhcp-4.2.4-P1-remove-dst.patch
+Patch30:  dhcp-4.2.5-sharedlib.patch
+Patch31:  dhcp-4.2.5-PPP.patch
 Patch32:  dhcp-4.2.3-paranoia.patch
-Patch33:  dhcp-4.2.4-lpf-ib.patch
+Patch33:  dhcp-4.2.5-lpf-ib.patch
 Patch34:  dhcp-4.2.4-improved-xid.patch
 Patch35:  dhcp-4.2.2-gpxe-cid.patch
-Patch36:  dhcp-4.2.4-systemtap.patch
+Patch36:  dhcp-4.2.5-systemtap.patch
 Patch37:  dhcp-4.2.3-dhclient-decline-onetry.patch
 Patch38:  dhcp-4.2.3-P2-log_perror.patch
 Patch39:  dhcp-4.2.4-getifaddrs.patch
 Patch40:  dhcp-4.2.4-send_release.patch
-Patch41:  dhcp-4.2.3-P2-rfc5970-dhcpv6-options-for-network-boot.patch
+Patch41:  dhcp-4.2.5-rfc5970-dhcpv6-options-for-network-boot.patch
 Patch42:  dhcp-4.2.4-failOverPeer.patch 
-Patch43:  dhcp-4.2.4-P1-dhclient6-leases_semicolon_expected.patch
 Patch44:  dhcp-4.2.4-P1-interval.patch
 Patch45:  dhcp-4.2.4-P2-conflex-do-forward-updates.patch
 
@@ -170,8 +169,16 @@ libdhcpctl and libomapi static libraries are also included in this package.
 # Remove bundled BIND source
 rm bind/bind.tar.gz
 
+# Remove libdst
+rm -rf dst/
+rm -rf includes/isc-dhcp
+
 # Fire away bundled BIND source.
-%patch29 -p1 -b .remove-bind %{?_rawbuild}
+%patch28 -p1 -b .remove-bind %{?_rawbuild}
+
+# Fire away libdst
+# (Submitted to dhcp-bugs at isc.org - [ISC-Bugs #30692])
+%patch29 -p1 -b .remove-dst %{?_rawbuild}
 
 # Replace the standard ISC warning message about requesting help with an
 # explanation that this is a patched build of ISC DHCP and bugs should be
@@ -266,8 +273,8 @@ rm bind/bind.tar.gz
 # DHCPv6 over PPP support (#626514)
 %patch31 -p1 -b .PPP
 
-# Write PID file BEFORE changing of the effective user/group ID.
-# (Submitted to dhcp-bugs at isc.org - [ISC-Bugs #25806])
+# dhcpd: BEFORE changing of the effective user/group ID:
+#  - write PID file (Submitted to dhcp-bugs at isc.org - [ISC-Bugs #25806])
 %patch32 -p1 -b .paranoia
 
 # IPoIB support (#660681)
@@ -303,17 +310,13 @@ rm bind/bind.tar.gz
 # (Submitted to dhcp-bugs at isc.org - [ISC-Bugs #30402])
 %patch42 -p1 -b .failOverPeer
 
-# Dhclient does not correctly parse zero-length options in dhclient6.leases (#633318)
-# (Submitted to dhcp-bugs at isc.org - [ISC-Bugs #27314])
-%patch43 -p1 -b .dhclient6-leases_semicolon
-
 # isc_time_nowplusinterval() is not safe with 64-bit time_t (#662254, #789601)
 # (Submitted to dhcp-bugs at isc.org - [ISC-Bugs #28038])
 %patch44 -p1 -b .interval
 
 # do-forward-updates statement wasn't recognized (#863646)
 # (Submitted to dhcp-bugs at isc.org - [ISC-Bugs #31328])
-%patch45 -p1 -b .forward-updates.patch
+%patch45 -p1 -b .forward-updates
 
 pushd contrib
 %{__chmod} -x 3.0b1-lease-convert dhclient-tz-exithook.sh ldap/dhcpd-conf-to-ldap
@@ -371,9 +374,9 @@ CFLAGS="%{optflags} -fno-strict-aliasing" \
 %install
 %{__make} install DESTDIR=%{buildroot}
 
-# Remove files we don't want
-%{__rm} -f %{buildroot}%{_sysconfdir}/dhclient.conf
-%{__rm} -f %{buildroot}%{_sysconfdir}/dhcpd.conf
+# We don't want example conf files in /etc
+%{__rm} -f %{buildroot}%{_sysconfdir}/dhclient.conf.example
+%{__rm} -f %{buildroot}%{_sysconfdir}/dhcpd.conf.example
 
 # dhclient-script
 %{__mkdir} -p %{buildroot}%{_sbindir}
@@ -428,10 +431,8 @@ DHCPDARGS=""
 EOF
 
 # Copy sample conf files into position (called by doc macro)
-%{__cp} -p client/dhclient.conf dhclient.conf.sample
-%{__cp} -p server/dhcpd.conf dhcpd.conf.sample
-%{__cp} -p doc/examples/dhclient-dhcpv6.conf dhclient6.conf.sample
-%{__cp} -p doc/examples/dhcpd-dhcpv6.conf dhcpd6.conf.sample
+%{__cp} -p doc/examples/dhclient-dhcpv6.conf client/dhclient6.conf.example
+%{__cp} -p doc/examples/dhcpd-dhcpv6.conf server/dhcpd6.conf.example
 
 # Install default (empty) dhcpd.conf:
 %{__mkdir} -p %{buildroot}%{dhcpconfdir}
@@ -513,7 +514,7 @@ fi
 
 
 %files
-%doc dhcpd.conf.sample dhcpd6.conf.sample
+%doc server/dhcpd.conf.example server/dhcpd6.conf.example
 %doc contrib/*
 %attr(0750,root,root) %dir %{dhcpconfdir}
 %attr(0755,dhcpd,dhcpd) %dir %{_localstatedir}/lib/dhcpd
@@ -544,7 +545,7 @@ fi
 %endif
 
 %files -n dhclient
-%doc dhclient.conf.sample dhclient6.conf.sample README.dhclient.d
+%doc client/dhclient.conf.example client/dhclient6.conf.example README.dhclient.d
 %attr(0750,root,root) %dir %{dhcpconfdir}
 %dir %{dhcpconfdir}/dhclient.d
 %dir %{_localstatedir}/lib/dhclient
@@ -567,21 +568,22 @@ fi
 %files libs
 %{_libdir}/libdhcpctl.so.*
 %{_libdir}/libomapi.so.*
-%{_libdir}/libdst.so.*
 
 %files devel
 %doc doc/IANA-arp-parameters doc/api+protocol
 %{_includedir}/dhcpctl
-%{_includedir}/isc-dhcp
 %{_includedir}/omapip
 %{_libdir}/libdhcpctl.so
 %{_libdir}/libomapi.so
-%{_libdir}/libdst.so
 %attr(0644,root,root) %{_mandir}/man3/dhcpctl.3.gz
 %attr(0644,root,root) %{_mandir}/man3/omapi.3.gz
 
 
 %changelog
+* Thu Jan 10 2013 Jiri Popelka <jpopelka at redhat.com> - 12:4.2.5-1
+- 4.2.5
+- don't build libdst, it hasn't been used since 4.2.0 (#849166)
+
 * Fri Nov 30 2012 Jiri Popelka <jpopelka at redhat.com> - 12:4.2.4-19.P2
 - fix two resource leaks in lpf-ib.patch
 
diff --git a/sources b/sources
index 3b72467..e7cd8d9 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-fe36056f2d274fa4b82a5422f192e65f  dhcp-4.2.4-P2.tar.gz
+6489e919ac093d17249270ee9be1020e  dhcp-4.2.5.tar.gz


More information about the scm-commits mailing list