From 9568cf36204b99ca15efff2523370ab6cee2eb98 Mon Sep 17 00:00:00 2001 From: Jiri Popelka Date: Sun, 8 Feb 2015 18:31:39 +0100 Subject: [PATCH] 4.3.2b1 --- dhcp-CLOEXEC.patch | 139 ++++++++++---------- dhcp-IPoIB-log-id.patch | 66 +++++----- dhcp-bind996.patch | 59 --------- dhcp-dhc6-life.patch | 37 ------ dhcp-ffff-checksum.patch | 11 -- dhcp-getifaddrs.patch | 14 +-- dhcp-ldapgssapi.patch | 52 ++++---- dhcp-lpf-ib.patch | 120 +++++++++--------- dhcp-range6.patch | 40 ------ dhcp-relay-hop-limit.patch | 39 ------ dhcp-remove-bind.patch | 61 ++++----- dhcp-sharedlib.patch | 57 ++++----- dhcp-skip-vlan.patch | 16 --- dhcp-systemtap.patch | 166 ++++++++++++------------ dhcp-xen-checksum.patch | 251 ------------------------------------- dhcp.spec | 71 +++-------- 16 files changed, 355 insertions(+), 844 deletions(-) delete mode 100644 dhcp-bind996.patch delete mode 100644 dhcp-dhc6-life.patch delete mode 100644 dhcp-ffff-checksum.patch delete mode 100644 dhcp-range6.patch delete mode 100644 dhcp-relay-hop-limit.patch delete mode 100644 dhcp-skip-vlan.patch delete mode 100644 dhcp-xen-checksum.patch diff --git a/dhcp-CLOEXEC.patch b/dhcp-CLOEXEC.patch index 722865e..7045559 100644 --- a/dhcp-CLOEXEC.patch +++ b/dhcp-CLOEXEC.patch @@ -1,7 +1,7 @@ -diff -up dhcp-4.3.0a1/client/clparse.c.cloexec dhcp-4.3.0a1/client/clparse.c ---- dhcp-4.3.0a1/client/clparse.c.cloexec 2013-12-19 15:34:41.638886256 +0100 -+++ dhcp-4.3.0a1/client/clparse.c 2013-12-19 15:34:41.657885985 +0100 -@@ -253,7 +253,7 @@ int read_client_conf_file (const char *n +diff -up dhcp-4.3.2b1/client/clparse.c.LzrZDt dhcp-4.3.2b1/client/clparse.c +--- dhcp-4.3.2b1/client/clparse.c.LzrZDt 2015-02-08 15:22:43.305597445 +0100 ++++ dhcp-4.3.2b1/client/clparse.c 2015-02-08 15:22:43.381596392 +0100 +@@ -247,7 +247,7 @@ int read_client_conf_file (const char *n int token; isc_result_t status; @@ -10,7 +10,7 @@ diff -up dhcp-4.3.0a1/client/clparse.c.cloexec dhcp-4.3.0a1/client/clparse.c return uerr2isc (errno); cfile = NULL; -@@ -290,7 +290,7 @@ void read_client_leases () +@@ -323,7 +323,7 @@ void read_client_leases () /* Open the lease file. If we can't open it, just return - we can safely trust the server to remember our state. */ @@ -19,10 +19,10 @@ diff -up dhcp-4.3.0a1/client/clparse.c.cloexec dhcp-4.3.0a1/client/clparse.c return; cfile = NULL; -diff -up dhcp-4.3.0a1/client/dhclient.c.cloexec dhcp-4.3.0a1/client/dhclient.c ---- dhcp-4.3.0a1/client/dhclient.c.cloexec 2013-12-19 15:34:41.629886384 +0100 -+++ dhcp-4.3.0a1/client/dhclient.c 2013-12-19 15:36:41.608180467 +0100 -@@ -148,11 +148,11 @@ main(int argc, char **argv) { +diff -up dhcp-4.3.2b1/client/dhclient.c.LzrZDt dhcp-4.3.2b1/client/dhclient.c +--- dhcp-4.3.2b1/client/dhclient.c.LzrZDt 2015-02-08 15:22:43.259598082 +0100 ++++ dhcp-4.3.2b1/client/dhclient.c 2015-02-08 15:22:43.383596364 +0100 +@@ -150,11 +150,11 @@ main(int argc, char **argv) { /* Make sure that file descriptors 0 (stdin), 1, (stdout), and 2 (stderr) are open. To do this, we assume that when we open a file the lowest available file descriptor is used. */ @@ -37,7 +37,7 @@ diff -up dhcp-4.3.0a1/client/dhclient.c.cloexec dhcp-4.3.0a1/client/dhclient.c if (fd == 2) log_perror = 0; /* No sense logging to /dev/null. */ else if (fd != -1) -@@ -504,7 +504,7 @@ main(int argc, char **argv) { +@@ -516,7 +516,7 @@ main(int argc, char **argv) { long temp; int e; @@ -46,7 +46,7 @@ diff -up dhcp-4.3.0a1/client/dhclient.c.cloexec dhcp-4.3.0a1/client/dhclient.c e = fscanf(pidfd, "%ld\n", &temp); oldpid = (pid_t)temp; -@@ -554,7 +554,7 @@ main(int argc, char **argv) { +@@ -571,7 +571,7 @@ main(int argc, char **argv) { strncpy(new_path_dhclient_pid, path_dhclient_pid, pfx); sprintf(new_path_dhclient_pid + pfx, "-%s.pid", ip->name); @@ -55,7 +55,7 @@ diff -up dhcp-4.3.0a1/client/dhclient.c.cloexec dhcp-4.3.0a1/client/dhclient.c e = fscanf(pidfd, "%ld\n", &temp); oldpid = (pid_t)temp; -@@ -579,7 +579,7 @@ main(int argc, char **argv) { +@@ -596,7 +596,7 @@ main(int argc, char **argv) { int dhc_running = 0; char procfn[256] = ""; @@ -64,7 +64,7 @@ diff -up dhcp-4.3.0a1/client/dhclient.c.cloexec dhcp-4.3.0a1/client/dhclient.c if ((fscanf(pidfp, "%ld", &temp)==1) && ((dhcpid=(pid_t)temp) > 0)) { snprintf(procfn,256,"/proc/%u",dhcpid); dhc_running = (access(procfn, F_OK) == 0); -@@ -3077,7 +3077,7 @@ void rewrite_client_leases () +@@ -3119,7 +3119,7 @@ void rewrite_client_leases () if (leaseFile != NULL) fclose (leaseFile); @@ -73,7 +73,7 @@ diff -up dhcp-4.3.0a1/client/dhclient.c.cloexec dhcp-4.3.0a1/client/dhclient.c if (leaseFile == NULL) { log_error ("can't create %s: %m", path_dhclient_db); return; -@@ -3261,7 +3261,7 @@ write_duid(struct data_string *duid) +@@ -3312,7 +3312,7 @@ write_duid(struct data_string *duid) return DHCP_R_INVALIDARG; if (leaseFile == NULL) { /* XXX? */ @@ -82,7 +82,7 @@ diff -up dhcp-4.3.0a1/client/dhclient.c.cloexec dhcp-4.3.0a1/client/dhclient.c if (leaseFile == NULL) { log_error("can't create %s: %m", path_dhclient_db); return ISC_R_IOERROR; -@@ -3441,7 +3441,7 @@ int write_client_lease (client, lease, r +@@ -3492,7 +3492,7 @@ int write_client_lease (client, lease, r return 1; if (leaseFile == NULL) { /* XXX */ @@ -91,7 +91,7 @@ diff -up dhcp-4.3.0a1/client/dhclient.c.cloexec dhcp-4.3.0a1/client/dhclient.c if (leaseFile == NULL) { log_error ("can't create %s: %m", path_dhclient_db); return 0; -@@ -3952,9 +3952,9 @@ void go_daemon () +@@ -4010,9 +4010,9 @@ void go_daemon () (void) close(2); /* Reopen them on /dev/null. */ @@ -104,7 +104,7 @@ diff -up dhcp-4.3.0a1/client/dhclient.c.cloexec dhcp-4.3.0a1/client/dhclient.c write_client_pid_file (); -@@ -3971,14 +3971,14 @@ void write_client_pid_file () +@@ -4029,14 +4029,14 @@ void write_client_pid_file () return; } @@ -121,9 +121,9 @@ diff -up dhcp-4.3.0a1/client/dhclient.c.cloexec dhcp-4.3.0a1/client/dhclient.c if (!pf) { close(pfdesc); log_error ("Can't fdopen %s: %m", path_dhclient_pid); -diff -up dhcp-4.3.0a1/common/bpf.c.cloexec dhcp-4.3.0a1/common/bpf.c ---- dhcp-4.3.0a1/common/bpf.c.cloexec 2013-12-19 15:34:41.640886227 +0100 -+++ dhcp-4.3.0a1/common/bpf.c 2013-12-19 15:34:41.661885928 +0100 +diff -up dhcp-4.3.2b1/common/bpf.c.LzrZDt dhcp-4.3.2b1/common/bpf.c +--- dhcp-4.3.2b1/common/bpf.c.LzrZDt 2015-01-29 14:52:57.000000000 +0100 ++++ dhcp-4.3.2b1/common/bpf.c 2015-02-08 15:22:43.383596364 +0100 @@ -95,7 +95,7 @@ int if_register_bpf (info) for (b = 0; 1; b++) { /* %Audit% 31 bytes max. %2004.06.17,Safe% */ @@ -133,9 +133,9 @@ diff -up dhcp-4.3.0a1/common/bpf.c.cloexec dhcp-4.3.0a1/common/bpf.c if (sock < 0) { if (errno == EBUSY) { continue; -diff -up dhcp-4.3.0a1/common/dlpi.c.cloexec dhcp-4.3.0a1/common/dlpi.c ---- dhcp-4.3.0a1/common/dlpi.c.cloexec 2013-12-19 15:34:41.641886213 +0100 -+++ dhcp-4.3.0a1/common/dlpi.c 2013-12-19 15:34:41.662885914 +0100 +diff -up dhcp-4.3.2b1/common/dlpi.c.LzrZDt dhcp-4.3.2b1/common/dlpi.c +--- dhcp-4.3.2b1/common/dlpi.c.LzrZDt 2015-01-29 14:52:57.000000000 +0100 ++++ dhcp-4.3.2b1/common/dlpi.c 2015-02-08 15:22:43.383596364 +0100 @@ -804,7 +804,7 @@ dlpiopen(const char *ifname) { } *dp = '\0'; @@ -145,10 +145,10 @@ diff -up dhcp-4.3.0a1/common/dlpi.c.cloexec dhcp-4.3.0a1/common/dlpi.c } /* -diff -up dhcp-4.3.0a1/common/nit.c.cloexec dhcp-4.3.0a1/common/nit.c ---- dhcp-4.3.0a1/common/nit.c.cloexec 2013-12-19 15:34:41.642886199 +0100 -+++ dhcp-4.3.0a1/common/nit.c 2013-12-19 15:34:41.662885914 +0100 -@@ -81,7 +81,7 @@ int if_register_nit (info) +diff -up dhcp-4.3.2b1/common/nit.c.LzrZDt dhcp-4.3.2b1/common/nit.c +--- dhcp-4.3.2b1/common/nit.c.LzrZDt 2015-01-29 14:52:57.000000000 +0100 ++++ dhcp-4.3.2b1/common/nit.c 2015-02-08 15:22:43.384596350 +0100 +@@ -75,7 +75,7 @@ int if_register_nit (info) struct strioctl sio; /* Open a NIT device */ @@ -157,10 +157,10 @@ diff -up dhcp-4.3.0a1/common/nit.c.cloexec dhcp-4.3.0a1/common/nit.c if (sock < 0) log_fatal ("Can't open NIT device for %s: %m", info -> name); -diff -up dhcp-4.3.0a1/common/resolv.c.cloexec dhcp-4.3.0a1/common/resolv.c ---- dhcp-4.3.0a1/common/resolv.c.cloexec 2013-12-11 01:25:12.000000000 +0100 -+++ dhcp-4.3.0a1/common/resolv.c 2013-12-19 15:34:41.663885900 +0100 -@@ -50,7 +50,7 @@ void read_resolv_conf (parse_time) +diff -up dhcp-4.3.2b1/common/resolv.c.LzrZDt dhcp-4.3.2b1/common/resolv.c +--- dhcp-4.3.2b1/common/resolv.c.LzrZDt 2015-01-29 14:52:57.000000000 +0100 ++++ dhcp-4.3.2b1/common/resolv.c 2015-02-08 15:22:43.384596350 +0100 +@@ -44,7 +44,7 @@ void read_resolv_conf (parse_time) struct domain_search_list *dp, *dl, *nd; isc_result_t status; @@ -169,10 +169,10 @@ diff -up dhcp-4.3.0a1/common/resolv.c.cloexec dhcp-4.3.0a1/common/resolv.c log_error ("Can't open %s: %m", path_resolv_conf); return; } -diff -up dhcp-4.3.0a1/common/upf.c.cloexec dhcp-4.3.0a1/common/upf.c ---- dhcp-4.3.0a1/common/upf.c.cloexec 2013-12-19 15:34:41.642886199 +0100 -+++ dhcp-4.3.0a1/common/upf.c 2013-12-19 15:34:41.663885900 +0100 -@@ -77,7 +77,7 @@ int if_register_upf (info) +diff -up dhcp-4.3.2b1/common/upf.c.LzrZDt dhcp-4.3.2b1/common/upf.c +--- dhcp-4.3.2b1/common/upf.c.LzrZDt 2015-01-29 14:52:57.000000000 +0100 ++++ dhcp-4.3.2b1/common/upf.c 2015-02-08 15:22:43.384596350 +0100 +@@ -71,7 +71,7 @@ int if_register_upf (info) /* %Audit% Cannot exceed 36 bytes. %2004.06.17,Safe% */ sprintf(filename, "/dev/pf/pfilt%d", b); @@ -181,10 +181,10 @@ diff -up dhcp-4.3.0a1/common/upf.c.cloexec dhcp-4.3.0a1/common/upf.c if (sock < 0) { if (errno == EBUSY) { continue; -diff -up dhcp-4.3.0a1/omapip/trace.c.cloexec dhcp-4.3.0a1/omapip/trace.c ---- dhcp-4.3.0a1/omapip/trace.c.cloexec 2013-12-11 01:01:03.000000000 +0100 -+++ dhcp-4.3.0a1/omapip/trace.c 2013-12-19 15:34:41.663885900 +0100 -@@ -142,10 +142,10 @@ isc_result_t trace_begin (const char *fi +diff -up dhcp-4.3.2b1/omapip/trace.c.LzrZDt dhcp-4.3.2b1/omapip/trace.c +--- dhcp-4.3.2b1/omapip/trace.c.LzrZDt 2015-01-29 14:52:57.000000000 +0100 ++++ dhcp-4.3.2b1/omapip/trace.c 2015-02-08 15:22:43.384596350 +0100 +@@ -138,10 +138,10 @@ isc_result_t trace_begin (const char *fi return DHCP_R_INVALIDARG; } @@ -197,7 +197,7 @@ diff -up dhcp-4.3.0a1/omapip/trace.c.cloexec dhcp-4.3.0a1/omapip/trace.c 0600); } -@@ -433,7 +433,7 @@ void trace_file_replay (const char *file +@@ -429,7 +429,7 @@ void trace_file_replay (const char *file isc_result_t result; int len; @@ -206,10 +206,10 @@ diff -up dhcp-4.3.0a1/omapip/trace.c.cloexec dhcp-4.3.0a1/omapip/trace.c if (!traceinfile) { log_error("Can't open tracefile %s: %m", filename); return; -diff -up dhcp-4.3.0a1/relay/dhcrelay.c.cloexec dhcp-4.3.0a1/relay/dhcrelay.c ---- dhcp-4.3.0a1/relay/dhcrelay.c.cloexec 2013-12-13 22:26:21.000000000 +0100 -+++ dhcp-4.3.0a1/relay/dhcrelay.c 2013-12-19 15:34:41.664885886 +0100 -@@ -193,11 +193,11 @@ main(int argc, char **argv) { +diff -up dhcp-4.3.2b1/relay/dhcrelay.c.LzrZDt dhcp-4.3.2b1/relay/dhcrelay.c +--- dhcp-4.3.2b1/relay/dhcrelay.c.LzrZDt 2015-01-29 15:12:13.000000000 +0100 ++++ dhcp-4.3.2b1/relay/dhcrelay.c 2015-02-08 15:22:43.385596336 +0100 +@@ -187,11 +187,11 @@ main(int argc, char **argv) { /* Make sure that file descriptors 0(stdin), 1,(stdout), and 2(stderr) are open. To do this, we assume that when we open a file the lowest available file descriptor is used. */ @@ -224,7 +224,7 @@ diff -up dhcp-4.3.0a1/relay/dhcrelay.c.cloexec dhcp-4.3.0a1/relay/dhcrelay.c if (fd == 2) log_perror = 0; /* No sense logging to /dev/null. */ else if (fd != -1) -@@ -564,13 +564,13 @@ main(int argc, char **argv) { +@@ -558,13 +558,13 @@ main(int argc, char **argv) { if (no_pid_file == ISC_FALSE) { pfdesc = open(path_dhcrelay_pid, @@ -240,10 +240,10 @@ diff -up dhcp-4.3.0a1/relay/dhcrelay.c.cloexec dhcp-4.3.0a1/relay/dhcrelay.c if (!pf) log_error("Can't fdopen %s: %m", path_dhcrelay_pid); -diff -up dhcp-4.3.0a1/server/confpars.c.cloexec dhcp-4.3.0a1/server/confpars.c ---- dhcp-4.3.0a1/server/confpars.c.cloexec 2013-12-11 01:25:12.000000000 +0100 -+++ dhcp-4.3.0a1/server/confpars.c 2013-12-19 15:34:41.665885871 +0100 -@@ -117,7 +117,7 @@ isc_result_t read_conf_file (const char +diff -up dhcp-4.3.2b1/server/confpars.c.LzrZDt dhcp-4.3.2b1/server/confpars.c +--- dhcp-4.3.2b1/server/confpars.c.LzrZDt 2015-01-29 14:52:57.000000000 +0100 ++++ dhcp-4.3.2b1/server/confpars.c 2015-02-08 15:22:43.386596322 +0100 +@@ -111,7 +111,7 @@ isc_result_t read_conf_file (const char } #endif @@ -252,10 +252,10 @@ diff -up dhcp-4.3.0a1/server/confpars.c.cloexec dhcp-4.3.0a1/server/confpars.c if (leasep) { log_error ("Can't open lease database %s: %m --", path_dhcpd_db); -diff -up dhcp-4.3.0a1/server/db.c.cloexec dhcp-4.3.0a1/server/db.c ---- dhcp-4.3.0a1/server/db.c.cloexec 2013-12-11 01:25:12.000000000 +0100 -+++ dhcp-4.3.0a1/server/db.c 2013-12-19 15:34:41.666885857 +0100 -@@ -1081,7 +1081,7 @@ void db_startup (testp) +diff -up dhcp-4.3.2b1/server/db.c.LzrZDt dhcp-4.3.2b1/server/db.c +--- dhcp-4.3.2b1/server/db.c.LzrZDt 2015-01-29 14:52:57.000000000 +0100 ++++ dhcp-4.3.2b1/server/db.c 2015-02-08 15:22:43.387596309 +0100 +@@ -1075,7 +1075,7 @@ void db_startup (testp) } #endif if (!testp) { @@ -264,7 +264,7 @@ diff -up dhcp-4.3.0a1/server/db.c.cloexec dhcp-4.3.0a1/server/db.c if (!db_file) log_fatal ("Can't open %s for append.", path_dhcpd_db); expire_all_pools (); -@@ -1129,12 +1129,12 @@ int new_lease_file () +@@ -1123,12 +1123,12 @@ int new_lease_file () path_dhcpd_db, (int)t) >= sizeof newfname) log_fatal("new_lease_file: lease file path too long"); @@ -279,10 +279,10 @@ diff -up dhcp-4.3.0a1/server/db.c.cloexec dhcp-4.3.0a1/server/db.c log_error("Can't fdopen new lease file: %m"); close(db_fd); goto fdfail; -diff -up dhcp-4.3.0a1/server/dhcpd.c.cloexec dhcp-4.3.0a1/server/dhcpd.c ---- dhcp-4.3.0a1/server/dhcpd.c.cloexec 2013-12-13 22:26:01.000000000 +0100 -+++ dhcp-4.3.0a1/server/dhcpd.c 2013-12-19 15:37:17.258674472 +0100 -@@ -193,11 +193,11 @@ main(int argc, char **argv) { +diff -up dhcp-4.3.2b1/server/dhcpd.c.LzrZDt dhcp-4.3.2b1/server/dhcpd.c +--- dhcp-4.3.2b1/server/dhcpd.c.LzrZDt 2015-01-29 14:52:57.000000000 +0100 ++++ dhcp-4.3.2b1/server/dhcpd.c 2015-02-08 15:24:12.505358479 +0100 +@@ -188,11 +188,11 @@ main(int argc, char **argv) { /* Make sure that file descriptors 0 (stdin), 1, (stdout), and 2 (stderr) are open. To do this, we assume that when we open a file the lowest available file descriptor is used. */ @@ -297,25 +297,16 @@ diff -up dhcp-4.3.0a1/server/dhcpd.c.cloexec dhcp-4.3.0a1/server/dhcpd.c if (fd == 2) log_perror = 0; /* No sense logging to /dev/null. */ else if (fd != -1) -@@ -716,7 +716,7 @@ main(int argc, char **argv) { +@@ -735,7 +735,7 @@ main(int argc, char **argv) { + * appropriate. */ if (no_pid_file == ISC_FALSE) { - /*Read previous pid file. */ -- if ((i = open (path_dhcpd_pid, O_RDONLY)) >= 0) { -+ if ((i = open (path_dhcpd_pid, O_RDONLY | O_CLOEXEC)) >= 0) { - status = read(i, pbuf, (sizeof pbuf) - 1); - close (i); - if (status > 0) { -@@ -735,7 +735,7 @@ main(int argc, char **argv) { - } - - /* Write new pid file. */ - i = open(path_dhcpd_pid, O_WRONLY|O_CREAT|O_TRUNC, 0644); + i = open(path_dhcpd_pid, O_WRONLY|O_CREAT|O_TRUNC|O_CLOEXEC, 0644); if (i >= 0) { sprintf(pbuf, "%d\n", (int) getpid()); - IGNORE_RET (write(i, pbuf, strlen(pbuf))); -@@ -763,9 +763,9 @@ main(int argc, char **argv) { + IGNORE_RET(write(i, pbuf, strlen(pbuf))); +@@ -779,9 +779,9 @@ main(int argc, char **argv) { (void) close(2); /* Reopen them on /dev/null. */ @@ -328,9 +319,9 @@ diff -up dhcp-4.3.0a1/server/dhcpd.c.cloexec dhcp-4.3.0a1/server/dhcpd.c log_perror = 0; /* No sense logging to /dev/null. */ IGNORE_RET (chdir("/")); -diff -up dhcp-4.3.0a1/server/ldap.c.cloexec dhcp-4.3.0a1/server/ldap.c ---- dhcp-4.3.0a1/server/ldap.c.cloexec 2013-12-11 01:25:12.000000000 +0100 -+++ dhcp-4.3.0a1/server/ldap.c 2013-12-19 15:34:41.667885843 +0100 +diff -up dhcp-4.3.2b1/server/ldap.c.LzrZDt dhcp-4.3.2b1/server/ldap.c +--- dhcp-4.3.2b1/server/ldap.c.LzrZDt 2015-01-29 14:52:57.000000000 +0100 ++++ dhcp-4.3.2b1/server/ldap.c 2015-02-08 15:22:43.388596295 +0100 @@ -684,7 +684,7 @@ ldap_start (void) if (ldap_debug_file != NULL && ldap_debug_fd == -1) diff --git a/dhcp-IPoIB-log-id.patch b/dhcp-IPoIB-log-id.patch index 3cf52f8..407d50f 100644 --- a/dhcp-IPoIB-log-id.patch +++ b/dhcp-IPoIB-log-id.patch @@ -1,7 +1,7 @@ -diff -up dhcp-4.3.0/common/lpf.c.IPoIB-log-id dhcp-4.3.0/common/lpf.c ---- dhcp-4.3.0/common/lpf.c.IPoIB-log-id 2014-02-18 15:52:12.292569480 +0100 -+++ dhcp-4.3.0/common/lpf.c 2014-02-18 15:52:12.297569411 +0100 -@@ -164,6 +164,8 @@ int if_register_lpf (info) +diff -up dhcp-4.3.2b1/common/lpf.c.IPoIB-log-id dhcp-4.3.2b1/common/lpf.c +--- dhcp-4.3.2b1/common/lpf.c.IPoIB-log-id 2015-02-08 17:37:47.055023959 +0100 ++++ dhcp-4.3.2b1/common/lpf.c 2015-02-08 17:41:21.294972666 +0100 +@@ -152,6 +152,8 @@ int if_register_lpf (info) void if_register_send (info) struct interface_info *info; { @@ -10,7 +10,7 @@ diff -up dhcp-4.3.0/common/lpf.c.IPoIB-log-id dhcp-4.3.0/common/lpf.c /* If we're using the lpf API for sending and receiving, we don't need to register this interface twice. */ #ifndef USE_LPF_RECEIVE -@@ -171,11 +173,15 @@ void if_register_send (info) +@@ -159,11 +161,15 @@ void if_register_send (info) #else info -> wfdesc = info -> rfdesc; #endif @@ -27,7 +27,7 @@ diff -up dhcp-4.3.0/common/lpf.c.IPoIB-log-id dhcp-4.3.0/common/lpf.c &info -> hw_address.hbuf [1]), (info -> shared_network ? "/" : ""), (info -> shared_network ? -@@ -185,6 +191,10 @@ void if_register_send (info) +@@ -173,6 +179,10 @@ void if_register_send (info) void if_deregister_send (info) struct interface_info *info; { @@ -38,7 +38,7 @@ diff -up dhcp-4.3.0/common/lpf.c.IPoIB-log-id dhcp-4.3.0/common/lpf.c /* don't need to close twice if we are using lpf for sending and receiving */ #ifndef USE_LPF_RECEIVE -@@ -197,7 +207,7 @@ void if_deregister_send (info) +@@ -185,7 +195,7 @@ void if_deregister_send (info) log_info ("Disabling output on LPF/%s/%s%s%s", info -> name, print_hw_addr (info -> hw_address.hbuf [0], @@ -47,27 +47,27 @@ diff -up dhcp-4.3.0/common/lpf.c.IPoIB-log-id dhcp-4.3.0/common/lpf.c &info -> hw_address.hbuf [1]), (info -> shared_network ? "/" : ""), (info -> shared_network ? -@@ -224,7 +234,7 @@ static void lpf_gen_filter_setup (struct +@@ -212,6 +222,8 @@ static void lpf_gen_filter_setup (struct void if_register_receive (info) struct interface_info *info; { -- int val; -+ int val, hlen; - ++ int hlen; ++ /* Open a LPF device and hang it on this interface... */ info -> rfdesc = if_register_lpf (info); -@@ -236,7 +246,9 @@ void if_register_receive (info) - if (errno != ENOPROTOOPT) + +@@ -225,7 +237,9 @@ void if_register_receive (info) log_fatal ("Failed to set auxiliary packet data: %m"); + } } - } + hlen = info -> hw_address.hlen; + } else + hlen = 9; + } + #endif - #if defined (HAVE_TR_SUPPORT) - if (info -> hw_address.hbuf [0] == HTYPE_IEEE802) -@@ -249,7 +261,7 @@ void if_register_receive (info) +@@ -241,7 +255,7 @@ void if_register_receive (info) log_info ("Listening on LPF/%s/%s%s%s", info -> name, print_hw_addr (info -> hw_address.hbuf [0], @@ -76,7 +76,7 @@ diff -up dhcp-4.3.0/common/lpf.c.IPoIB-log-id dhcp-4.3.0/common/lpf.c &info -> hw_address.hbuf [1]), (info -> shared_network ? "/" : ""), (info -> shared_network ? -@@ -259,6 +271,10 @@ void if_register_receive (info) +@@ -251,6 +265,10 @@ void if_register_receive (info) void if_deregister_receive (info) struct interface_info *info; { @@ -87,7 +87,7 @@ diff -up dhcp-4.3.0/common/lpf.c.IPoIB-log-id dhcp-4.3.0/common/lpf.c /* for LPF this is simple, packet filters are removed when sockets are closed */ close (info -> rfdesc); -@@ -267,7 +283,7 @@ void if_deregister_receive (info) +@@ -259,7 +277,7 @@ void if_deregister_receive (info) log_info ("Disabling input on LPF/%s/%s%s%s", info -> name, print_hw_addr (info -> hw_address.hbuf [0], @@ -96,10 +96,10 @@ diff -up dhcp-4.3.0/common/lpf.c.IPoIB-log-id dhcp-4.3.0/common/lpf.c &info -> hw_address.hbuf [1]), (info -> shared_network ? "/" : ""), (info -> shared_network ? -diff -up dhcp-4.3.0/server/dhcp.c.IPoIB-log-id dhcp-4.3.0/server/dhcp.c ---- dhcp-4.3.0/server/dhcp.c.IPoIB-log-id 2014-02-18 15:52:12.204570695 +0100 -+++ dhcp-4.3.0/server/dhcp.c 2014-02-18 15:52:12.299569383 +0100 -@@ -74,6 +74,42 @@ const int dhcp_type_name_max = ((sizeof +diff -up dhcp-4.3.2b1/server/dhcp.c.IPoIB-log-id dhcp-4.3.2b1/server/dhcp.c +--- dhcp-4.3.2b1/server/dhcp.c.IPoIB-log-id 2015-02-08 17:37:46.980025024 +0100 ++++ dhcp-4.3.2b1/server/dhcp.c 2015-02-08 17:37:47.061023874 +0100 +@@ -77,6 +77,42 @@ const int dhcp_type_name_max = ((sizeof # define send_packet trace_packet_send #endif @@ -142,7 +142,7 @@ diff -up dhcp-4.3.0/server/dhcp.c.IPoIB-log-id dhcp-4.3.0/server/dhcp.c void dhcp (struct packet *packet) { int ms_nulltp = 0; -@@ -102,9 +138,7 @@ dhcp (struct packet *packet) { +@@ -105,9 +141,7 @@ dhcp (struct packet *packet) { log_info("%s from %s via %s: %s", s, (packet->raw->htype @@ -153,7 +153,7 @@ diff -up dhcp-4.3.0/server/dhcp.c.IPoIB-log-id dhcp-4.3.0/server/dhcp.c : ""), packet->raw->giaddr.s_addr ? inet_ntoa(packet->raw->giaddr) -@@ -286,9 +320,7 @@ void dhcpdiscover (packet, ms_nulltp) +@@ -289,9 +323,7 @@ void dhcpdiscover (packet, ms_nulltp) */ snprintf (msgbuf, sizeof msgbuf, "DHCPDISCOVER from %s %s%s%svia %s", (packet -> raw -> htype @@ -164,7 +164,7 @@ diff -up dhcp-4.3.0/server/dhcp.c.IPoIB-log-id dhcp-4.3.0/server/dhcp.c : (lease ? print_hex_1(lease->uid_len, lease->uid, 60) : "")), -@@ -478,9 +510,7 @@ void dhcprequest (packet, ms_nulltp, ip_ +@@ -481,9 +513,7 @@ void dhcprequest (packet, ms_nulltp, ip_ "DHCPREQUEST for %s%s from %s %s%s%svia %s", piaddr (cip), smbuf, (packet -> raw -> htype @@ -175,7 +175,7 @@ diff -up dhcp-4.3.0/server/dhcp.c.IPoIB-log-id dhcp-4.3.0/server/dhcp.c : (lease ? print_hex_1(lease->uid_len, lease->uid, 60) : "")), -@@ -719,9 +749,7 @@ void dhcprelease (packet, ms_nulltp) +@@ -724,9 +754,7 @@ void dhcprelease (packet, ms_nulltp) if ((oc = lookup_option (&dhcp_universe, packet -> options, DHO_DHCP_REQUESTED_ADDRESS))) { log_info ("DHCPRELEASE from %s specified requested-address.", @@ -186,7 +186,7 @@ diff -up dhcp-4.3.0/server/dhcp.c.IPoIB-log-id dhcp-4.3.0/server/dhcp.c } oc = lookup_option (&dhcp_universe, packet -> options, -@@ -795,9 +823,7 @@ void dhcprelease (packet, ms_nulltp) +@@ -800,9 +828,7 @@ void dhcprelease (packet, ms_nulltp) "DHCPRELEASE of %s from %s %s%s%svia %s (%sfound)", cstr, (packet -> raw -> htype @@ -197,7 +197,7 @@ diff -up dhcp-4.3.0/server/dhcp.c.IPoIB-log-id dhcp-4.3.0/server/dhcp.c : (lease ? print_hex_1(lease->uid_len, lease->uid, 60) : "")), -@@ -886,9 +912,7 @@ void dhcpdecline (packet, ms_nulltp) +@@ -891,9 +917,7 @@ void dhcpdecline (packet, ms_nulltp) "DHCPDECLINE of %s from %s %s%s%svia %s", piaddr (cip), (packet -> raw -> htype @@ -208,7 +208,7 @@ diff -up dhcp-4.3.0/server/dhcp.c.IPoIB-log-id dhcp-4.3.0/server/dhcp.c : (lease ? print_hex_1(lease->uid_len, lease->uid, 60) : "")), -@@ -1541,8 +1565,7 @@ void dhcpinform (packet, ms_nulltp) +@@ -1544,8 +1568,7 @@ void dhcpinform (packet, ms_nulltp) /* Report what we're sending. */ snprintf(msgbuf, sizeof msgbuf, "DHCPACK to %s (%s) via", piaddr(cip), (packet->raw->htype && packet->raw->hlen) ? @@ -218,7 +218,7 @@ diff -up dhcp-4.3.0/server/dhcp.c.IPoIB-log-id dhcp-4.3.0/server/dhcp.c ""); log_info("%s %s", msgbuf, gip.len ? piaddr(gip) : packet->interface->name); -@@ -1682,9 +1705,7 @@ void nak_lease (packet, cip) +@@ -1711,9 +1734,7 @@ void nak_lease (packet, cip, network_gro /* Report what we're sending... */ log_info ("DHCPNAK on %s to %s via %s", piaddr (*cip), @@ -229,7 +229,7 @@ diff -up dhcp-4.3.0/server/dhcp.c.IPoIB-log-id dhcp-4.3.0/server/dhcp.c packet -> raw -> giaddr.s_addr ? inet_ntoa (packet -> raw -> giaddr) : packet -> interface -> name); -@@ -3468,7 +3489,7 @@ void dhcp_reply (lease) +@@ -3617,7 +3638,7 @@ void dhcp_reply (lease) ? (state -> offer == DHCPACK ? "DHCPACK" : "DHCPOFFER") : "BOOTREPLY"), piaddr (lease -> ip_addr), @@ -238,7 +238,7 @@ diff -up dhcp-4.3.0/server/dhcp.c.IPoIB-log-id dhcp-4.3.0/server/dhcp.c ? print_hw_addr (lease -> hardware_addr.hbuf [0], lease -> hardware_addr.hlen - 1, &lease -> hardware_addr.hbuf [1]) -@@ -4022,10 +4043,7 @@ int find_lease (struct lease **lp, +@@ -4171,10 +4192,7 @@ int find_lease (struct lease **lp, if (uid_lease) { if (uid_lease->binding_state == FTS_ACTIVE) { log_error ("client %s has duplicate%s on %s", @@ -250,7 +250,7 @@ diff -up dhcp-4.3.0/server/dhcp.c.IPoIB-log-id dhcp-4.3.0/server/dhcp.c " leases", (ip_lease -> subnet -> shared_network -> name)); -@@ -4192,9 +4210,7 @@ int find_lease (struct lease **lp, +@@ -4341,9 +4359,7 @@ int find_lease (struct lease **lp, log_error("uid lease %s for client %s is duplicate " "on %s", piaddr(uid_lease->ip_addr), diff --git a/dhcp-bind996.patch b/dhcp-bind996.patch deleted file mode 100644 index e931b7a..0000000 --- a/dhcp-bind996.patch +++ /dev/null @@ -1,59 +0,0 @@ -From 1dceab6c75ce7bad309da9114d9e7f518291a955 Mon Sep 17 00:00:00 2001 -From: Shawn Routhier -Date: Wed, 10 Sep 2014 20:26:40 -0700 -Subject: [PATCH] [master] Remove unneeded defines for errors - -As part of 4.2.0 we renamed a number of errors but continued -to include the old ones in case somebody was building something -using our libraries. This #ifdefs them and by defaults removes them -from the compile. ---- -diff --git a/includes/omapip/result.h b/includes/omapip/result.h -index 3e4cf6a..ae5f7d6 100644 ---- a/includes/omapip/result.h -+++ b/includes/omapip/result.h -@@ -80,13 +80,13 @@ - - // Included for historical reasons, these should be removed as - // soon as reasonable -+#ifdef INCLUDE_OLD_DHCP_ISC_ERROR_CODES - #define ISC_R_HOSTUNKNOWN DHCP_R_HOSTUNKNOWN - #define ISC_R_VERSIONMISMATCH DHCP_R_VERSIONMISMATCH - #define ISC_R_PROTOCOLERROR DHCP_R_PROTOCOLERROR - #define ISC_R_INVALIDARG DHCP_R_INVALIDARG - #define ISC_R_NOTYET DHCP_R_NOTYET - #define ISC_R_UNCHANGED DHCP_R_UNCHANGED --#define ISC_R_MULTIPLE DHCP_R_MULTIPLE - #define ISC_R_KEYCONFLICT DHCP_R_KEYCONFLICT - #define ISC_R_BADPARSE DHCP_R_BADPARSE - #define ISC_R_NOKEYS DHCP_R_NOKEYS -@@ -113,6 +113,7 @@ - #define ISC_R_NOT_EQUAL DHCP_R_NOT_EQUAL - #define ISC_R_CONNRESET DHCP_R_CONNRESET - #define ISC_R_UNKNOWNATTRIBUTE DHCP_R_UNKNOWNATTRIBUTE -+#endif - - isc_result_t - dhcp_result_register(void); -diff --git a/includes/site.h b/includes/site.h -index d87b309..19a2e11 100644 ---- a/includes/site.h -+++ b/includes/site.h -@@ -304,6 +304,14 @@ - removal of this define. Use at your own risk. */ - /* #define ENABLE_GENTLE_SHUTDOWN */ - -+/* Include old error codes. This is provided in case you -+ are building an external program similar to omshell for -+ which you need the ISC_R_* error codes. You should switch -+ to DHCP_R_* error codes for those that have been defined -+ (see includes/omapip/result.h). The extra defines and -+ this option will be removed at some time. */ -+/* #define INCLUDE_OLD_DHCP_ISC_ERROR_CODES */ -+ - /* Include definitions for various options. In general these - should be left as is, but if you have already defined one - of these and prefer your definition you can comment the --- -2.1.0 - diff --git a/dhcp-dhc6-life.patch b/dhcp-dhc6-life.patch deleted file mode 100644 index 49b3a5b..0000000 --- a/dhcp-dhc6-life.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 4d5514f9579197a4200a52332a9047da1424b3ee Mon Sep 17 00:00:00 2001 -From: Jiri Popelka -Date: Thu, 4 Sep 2014 16:03:38 +0200 -Subject: [PATCH] [dhclient -6] fix lease time exporting - -addr->preferred_life and addr->max_life are u_int32_t -so casting them to (int) causes problems with big values, -for example with 'infinity' (0xffffffff), which is -then represented as '-1' in dhclient-script. - -Signed-off-by: Jiri Popelka ---- - client/dhc6.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/client/dhc6.c b/client/dhc6.c -index c724b58..04a8fa0 100644 ---- a/client/dhc6.c -+++ b/client/dhc6.c -@@ -3862,10 +3862,10 @@ dhc6_marshall_values(const char *prefix, struct client_state *client, - } - client_envadd(client, prefix, "life_starts", "%d", - (int)(addr->starts)); -- client_envadd(client, prefix, "preferred_life", "%d", -- (int)(addr->preferred_life)); -- client_envadd(client, prefix, "max_life", "%d", -- (int)(addr->max_life)); -+ client_envadd(client, prefix, "preferred_life", "%u", -+ addr->preferred_life); -+ client_envadd(client, prefix, "max_life", "%u", -+ addr->max_life); - } - - /* ia fields. */ --- -2.1.0 - diff --git a/dhcp-ffff-checksum.patch b/dhcp-ffff-checksum.patch deleted file mode 100644 index 96bc46c..0000000 --- a/dhcp-ffff-checksum.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up dhcp-4.3.0a1/common/packet.c.ffff dhcp-4.3.0a1/common/packet.c ---- dhcp-4.3.0a1/common/packet.c.ffff 2013-12-20 13:59:42.947165977 +0100 -+++ dhcp-4.3.0a1/common/packet.c 2013-12-20 13:59:43.137163326 +0100 -@@ -326,6 +326,7 @@ decode_udp_ip_header(struct interface_in - len = ulen - sizeof(udp); - - usum = udp.uh_sum; -+ if (usum == 0xffff) usum = 0; - udp.uh_sum = 0; - - /* XXX: We have to pass &udp, because we have to zero the checksum diff --git a/dhcp-getifaddrs.patch b/dhcp-getifaddrs.patch index 685e52a..be78182 100644 --- a/dhcp-getifaddrs.patch +++ b/dhcp-getifaddrs.patch @@ -1,6 +1,6 @@ -diff -up dhcp-4.3.1b1/common/discover.c.AyFwkY dhcp-4.3.1b1/common/discover.c ---- dhcp-4.3.1b1/common/discover.c.AyFwkY 2014-07-02 19:58:38.000000000 +0200 -+++ dhcp-4.3.1b1/common/discover.c 2014-07-10 17:58:21.588696480 +0200 +diff -up dhcp-4.3.2b1/common/discover.c.getifaddrs dhcp-4.3.2b1/common/discover.c +--- dhcp-4.3.2b1/common/discover.c.getifaddrs 2015-01-29 14:52:57.000000000 +0100 ++++ dhcp-4.3.2b1/common/discover.c 2015-02-08 17:48:39.435651386 +0100 @@ -373,391 +373,13 @@ end_iface_scan(struct iface_conf_list *i ifaces->sock = -1; } @@ -179,7 +179,7 @@ diff -up dhcp-4.3.1b1/common/discover.c.AyFwkY dhcp-4.3.1b1/common/discover.c - log_error("Interface name '%s' too long", name); - return 0; - } -- strcpy(info->name, name); +- strncpy(info->name, name, sizeof(info->name) - 1); - -#ifdef ALIAS_NAMED_PERMUTED - /* interface aliases look like "eth0:1" or "wlan1:3" */ @@ -196,7 +196,7 @@ diff -up dhcp-4.3.1b1/common/discover.c.AyFwkY dhcp-4.3.1b1/common/discover.c -#endif - - memset(&tmp, 0, sizeof(tmp)); -- strcpy(tmp.ifr_name, name); +- strncpy(tmp.ifr_name, name, sizeof(tmp.ifr_name) - 1); - if (ioctl(ifaces->sock, SIOCGIFADDR, &tmp) < 0) { - if (errno == EADDRNOTAVAIL) { - continue; @@ -209,7 +209,7 @@ diff -up dhcp-4.3.1b1/common/discover.c.AyFwkY dhcp-4.3.1b1/common/discover.c - memcpy(&info->addr, &tmp.ifr_addr, sizeof(tmp.ifr_addr)); - - memset(&tmp, 0, sizeof(tmp)); -- strcpy(tmp.ifr_name, name); +- strncpy(tmp.ifr_name, name, sizeof(tmp.ifr_name) - 1); - if (ioctl(ifaces->sock, SIOCGIFFLAGS, &tmp) < 0) { - log_error("Error getting interface flags for '%s'; %m", - name); @@ -390,7 +390,7 @@ diff -up dhcp-4.3.1b1/common/discover.c.AyFwkY dhcp-4.3.1b1/common/discover.c * ----------- * - * FreeBSD, NetBSD, OpenBSD, and OS X all have the getifaddrs() -+ * FreeBSD, NetBSD, OpenBSD, OS X and Linux all have the getifaddrs() ++ * FreeBSD, NetBSD, OpenBSD, OS X and Linux all have the getifaddrs() * function. * * The getifaddrs() man page describes the use. diff --git a/dhcp-ldapgssapi.patch b/dhcp-ldapgssapi.patch index 8ada002..70a4e76 100644 --- a/dhcp-ldapgssapi.patch +++ b/dhcp-ldapgssapi.patch @@ -1,6 +1,6 @@ -diff -up dhcp-4.3.1/configure.ac.ldapgssapi dhcp-4.3.1/configure.ac ---- dhcp-4.3.1/configure.ac.ldapgssapi 2014-11-04 16:08:35.017148053 +0100 -+++ dhcp-4.3.1/configure.ac 2014-11-04 16:21:09.696504777 +0100 +diff -up dhcp-4.3.2b1/configure.ac.ldapgssapi dhcp-4.3.2b1/configure.ac +--- dhcp-4.3.2b1/configure.ac.ldapgssapi 2015-02-08 18:01:27.962621131 +0100 ++++ dhcp-4.3.2b1/configure.ac 2015-02-08 18:01:27.966621074 +0100 @@ -671,19 +671,40 @@ AC_ARG_WITH(ldapcrypto, [ldapcrypto=$withval], [ldapcrypto=no]) @@ -47,9 +47,9 @@ diff -up dhcp-4.3.1/configure.ac.ldapgssapi dhcp-4.3.1/configure.ac fi fi -diff -up dhcp-4.3.1/includes/dhcpd.h.ldapgssapi dhcp-4.3.1/includes/dhcpd.h ---- dhcp-4.3.1/includes/dhcpd.h.ldapgssapi 2014-11-04 16:08:34.952148968 +0100 -+++ dhcp-4.3.1/includes/dhcpd.h 2014-11-04 16:26:14.597202025 +0100 +diff -up dhcp-4.3.2b1/includes/dhcpd.h.ldapgssapi dhcp-4.3.2b1/includes/dhcpd.h +--- dhcp-4.3.2b1/includes/dhcpd.h.ldapgssapi 2015-02-08 18:01:27.924621669 +0100 ++++ dhcp-4.3.2b1/includes/dhcpd.h 2015-02-08 18:03:03.145273551 +0100 @@ -103,7 +103,14 @@ typedef time_t TIME; #if defined(LDAP_CONFIGURATION) # include @@ -66,23 +66,23 @@ diff -up dhcp-4.3.1/includes/dhcpd.h.ldapgssapi dhcp-4.3.1/includes/dhcpd.h #if !defined (BYTE_NAME_HASH_SIZE) # define BYTE_NAME_HASH_SIZE 401 /* Default would be ridiculous. */ -@@ -733,6 +740,13 @@ struct lease_state { - #define SV_LOG_THRESHOLD_LOW 83 - #define SV_LOG_THRESHOLD_HIGH 84 +@@ -743,6 +750,13 @@ struct lease_state { + #define SV_SERVER_ID_CHECK 86 + #define SV_PREFIX_LEN_MODE 87 +#if defined(LDAP_CONFIGURATION) +#if defined (LDAP_USE_GSSAPI) -+# define SV_LDAP_GSSAPI_KEYTAB 85 -+# define SV_LDAP_GSSAPI_PRINCIPAL 86 ++# define SV_LDAP_GSSAPI_KEYTAB 88 ++# define SV_LDAP_GSSAPI_PRINCIPAL 89 +#endif +#endif + #if !defined (DEFAULT_PING_TIMEOUT) # define DEFAULT_PING_TIMEOUT 1 #endif -diff -up dhcp-4.3.1/server/krb_helper.c.ldapgssapi dhcp-4.3.1/server/krb_helper.c ---- dhcp-4.3.1/server/krb_helper.c.ldapgssapi 2014-11-04 16:08:35.018148039 +0100 -+++ dhcp-4.3.1/server/krb_helper.c 2014-11-04 16:08:35.018148039 +0100 +diff -up dhcp-4.3.2b1/server/krb_helper.c.ldapgssapi dhcp-4.3.2b1/server/krb_helper.c +--- dhcp-4.3.2b1/server/krb_helper.c.ldapgssapi 2015-02-08 18:01:27.967621060 +0100 ++++ dhcp-4.3.2b1/server/krb_helper.c 2015-02-08 18:01:27.967621060 +0100 @@ -0,0 +1,220 @@ +/* krb_helper.c + @@ -304,9 +304,9 @@ diff -up dhcp-4.3.1/server/krb_helper.c.ldapgssapi dhcp-4.3.1/server/krb_helper. + +#endif + -diff -up dhcp-4.3.1/server/krb_helper.h.ldapgssapi dhcp-4.3.1/server/krb_helper.h ---- dhcp-4.3.1/server/krb_helper.h.ldapgssapi 2014-11-04 16:08:35.019148025 +0100 -+++ dhcp-4.3.1/server/krb_helper.h 2014-11-04 16:08:35.018148039 +0100 +diff -up dhcp-4.3.2b1/server/krb_helper.h.ldapgssapi dhcp-4.3.2b1/server/krb_helper.h +--- dhcp-4.3.2b1/server/krb_helper.h.ldapgssapi 2015-02-08 18:01:27.968621046 +0100 ++++ dhcp-4.3.2b1/server/krb_helper.h 2015-02-08 18:01:27.967621060 +0100 @@ -0,0 +1,40 @@ +/* krb_helper.h + @@ -348,9 +348,9 @@ diff -up dhcp-4.3.1/server/krb_helper.h.ldapgssapi dhcp-4.3.1/server/krb_helper. + */ + +isc_result_t krb5_get_tgt(const char *, const char *); -diff -up dhcp-4.3.1/server/ldap.c.ldapgssapi dhcp-4.3.1/server/ldap.c ---- dhcp-4.3.1/server/ldap.c.ldapgssapi 2014-11-04 16:08:34.989148447 +0100 -+++ dhcp-4.3.1/server/ldap.c 2014-11-04 16:08:35.019148025 +0100 +diff -up dhcp-4.3.2b1/server/ldap.c.ldapgssapi dhcp-4.3.2b1/server/ldap.c +--- dhcp-4.3.2b1/server/ldap.c.ldapgssapi 2015-02-08 18:01:27.955621230 +0100 ++++ dhcp-4.3.2b1/server/ldap.c 2015-02-08 18:01:27.968621046 +0100 @@ -39,10 +39,16 @@ #include "dhcpd.h" @@ -592,9 +592,9 @@ diff -up dhcp-4.3.1/server/ldap.c.ldapgssapi dhcp-4.3.1/server/ldap.c } #if defined (DEBUG_LDAP) -diff -up dhcp-4.3.1/server/Makefile.am.ldapgssapi dhcp-4.3.1/server/Makefile.am ---- dhcp-4.3.1/server/Makefile.am.ldapgssapi 2014-11-04 16:08:35.019148025 +0100 -+++ dhcp-4.3.1/server/Makefile.am 2014-11-04 16:37:24.616639706 +0100 +diff -up dhcp-4.3.2b1/server/Makefile.am.ldapgssapi dhcp-4.3.2b1/server/Makefile.am +--- dhcp-4.3.2b1/server/Makefile.am.ldapgssapi 2015-02-08 18:01:27.943621400 +0100 ++++ dhcp-4.3.2b1/server/Makefile.am 2015-02-08 18:01:27.968621046 +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 \ @@ -604,9 +604,9 @@ diff -up dhcp-4.3.1/server/Makefile.am.ldapgssapi dhcp-4.3.1/server/Makefile.am dhcpd_CFLAGS = $(LDAP_CFLAGS) dhcpd_LDADD = ../common/libdhcp.a ../omapip/libomapi.la ../dhcpctl/libdhcpctl.la \ -diff -up dhcp-4.3.1/server/stables.c.ldapgssapi dhcp-4.3.1/server/stables.c ---- dhcp-4.3.1/server/stables.c.ldapgssapi 2014-11-04 16:08:35.020148010 +0100 -+++ dhcp-4.3.1/server/stables.c 2014-11-04 16:42:09.109552243 +0100 +diff -up dhcp-4.3.2b1/server/stables.c.ldapgssapi dhcp-4.3.2b1/server/stables.c +--- dhcp-4.3.2b1/server/stables.c.ldapgssapi 2015-01-29 14:52:57.000000000 +0100 ++++ dhcp-4.3.2b1/server/stables.c 2015-02-08 18:01:27.969621032 +0100 @@ -259,6 +259,10 @@ static struct option server_options[] = { "ldap-tls-ciphers", "t", &server_universe, 76, 1 }, { "ldap-tls-randfile", "t", &server_universe, 77, 1 }, diff --git a/dhcp-lpf-ib.patch b/dhcp-lpf-ib.patch index 8e094d6..b5487e0 100644 --- a/dhcp-lpf-ib.patch +++ b/dhcp-lpf-ib.patch @@ -1,6 +1,6 @@ -diff -up dhcp-4.3.1b1/client/dhclient.c.bmgpWV dhcp-4.3.1b1/client/dhclient.c ---- dhcp-4.3.1b1/client/dhclient.c.bmgpWV 2014-07-10 17:50:26.922402550 +0200 -+++ dhcp-4.3.1b1/client/dhclient.c 2014-07-10 17:53:43.629623477 +0200 +diff -up dhcp-4.3.2b1/client/dhclient.c.lpf-ib dhcp-4.3.2b1/client/dhclient.c +--- dhcp-4.3.2b1/client/dhclient.c.lpf-ib 2015-02-08 17:19:42.107405843 +0100 ++++ dhcp-4.3.2b1/client/dhclient.c 2015-02-08 17:19:42.116405716 +0100 @@ -114,6 +114,8 @@ static int check_domain_name_list(const static int check_option_values(struct universe *universe, unsigned int opt, const char *ptr, size_t len); @@ -54,9 +54,9 @@ diff -up dhcp-4.3.1b1/client/dhclient.c.bmgpWV dhcp-4.3.1b1/client/dhclient.c /* Individual States: * * Each routine is called from the dhclient_state_machine() in one of -diff -up dhcp-4.3.1b1/common/bpf.c.bmgpWV dhcp-4.3.1b1/common/bpf.c ---- dhcp-4.3.1b1/common/bpf.c.bmgpWV 2014-07-10 17:48:03.797424616 +0200 -+++ dhcp-4.3.1b1/common/bpf.c 2014-07-10 17:52:57.705272295 +0200 +diff -up dhcp-4.3.2b1/common/bpf.c.lpf-ib dhcp-4.3.2b1/common/bpf.c +--- dhcp-4.3.2b1/common/bpf.c.lpf-ib 2015-02-08 17:19:42.101405928 +0100 ++++ dhcp-4.3.2b1/common/bpf.c 2015-02-08 17:19:42.116405716 +0100 @@ -199,11 +199,44 @@ struct bpf_insn dhcp_bpf_filter [] = { BPF_STMT(BPF_RET+BPF_K, 0), }; @@ -102,12 +102,12 @@ diff -up dhcp-4.3.1b1/common/bpf.c.bmgpWV dhcp-4.3.1b1/common/bpf.c #if defined (HAVE_TR_SUPPORT) struct bpf_insn dhcp_bpf_tr_filter [] = { /* accept all token ring packets due to variable length header */ -diff -up dhcp-4.3.1b1/common/lpf.c.bmgpWV dhcp-4.3.1b1/common/lpf.c ---- dhcp-4.3.1b1/common/lpf.c.bmgpWV 2014-07-10 17:48:03.797424616 +0200 -+++ dhcp-4.3.1b1/common/lpf.c 2014-07-10 17:52:57.706272281 +0200 -@@ -46,6 +46,17 @@ - #if defined (USE_LPF_RECEIVE) || defined (USE_LPF_HWADDR) +diff -up dhcp-4.3.2b1/common/lpf.c.lpf-ib dhcp-4.3.2b1/common/lpf.c +--- dhcp-4.3.2b1/common/lpf.c.lpf-ib 2015-02-08 17:19:42.101405928 +0100 ++++ dhcp-4.3.2b1/common/lpf.c 2015-02-08 17:36:15.072329845 +0100 +@@ -47,6 +47,17 @@ #include + #include #include +#include + @@ -123,18 +123,14 @@ diff -up dhcp-4.3.1b1/common/lpf.c.bmgpWV dhcp-4.3.1b1/common/lpf.c #endif #if defined (USE_LPF_SEND) || defined (USE_LPF_RECEIVE) -@@ -92,10 +103,21 @@ int if_register_lpf (info) +@@ -80,10 +91,20 @@ int if_register_lpf (info) struct sockaddr common; - } sa; + } sa; struct ifreq ifr; + int type; + int protocol; - - /* Make an LPF socket. */ -- if ((sock = socket(PF_PACKET, SOCK_RAW, -- htons((short)ETH_P_ALL))) < 0) { -+ get_hw_addr(info); + ++ get_hw_addr(info); + if (info->hw_address.hbuf[0] == HTYPE_INFINIBAND) { + type = SOCK_DGRAM; + protocol = ETHERTYPE_IP; @@ -142,12 +138,15 @@ diff -up dhcp-4.3.1b1/common/lpf.c.bmgpWV dhcp-4.3.1b1/common/lpf.c + type = SOCK_RAW; + protocol = ETH_P_ALL; + } -+ + + /* Make an LPF socket. */ +- if ((sock = socket(PF_PACKET, SOCK_RAW, +- htons((short)ETH_P_ALL))) < 0) { + if ((sock = socket(PF_PACKET, type, htons((short)protocol))) < 0) { if (errno == ENOPROTOOPT || errno == EPROTONOSUPPORT || errno == ESOCKTNOSUPPORT || errno == EPFNOSUPPORT || errno == EAFNOSUPPORT || errno == EINVAL) { -@@ -118,6 +140,7 @@ int if_register_lpf (info) +@@ -106,6 +127,7 @@ int if_register_lpf (info) /* Bind to the interface name */ memset (&sa, 0, sizeof sa); sa.ll.sll_family = AF_PACKET; @@ -155,8 +154,8 @@ diff -up dhcp-4.3.1b1/common/lpf.c.bmgpWV dhcp-4.3.1b1/common/lpf.c sa.ll.sll_ifindex = ifr.ifr_ifindex; if (bind (sock, &sa.common, sizeof sa)) { if (errno == ENOPROTOOPT || errno == EPROTONOSUPPORT || -@@ -133,8 +156,6 @@ int if_register_lpf (info) - log_fatal ("Bind socket to interface: %m"); +@@ -122,8 +144,6 @@ int if_register_lpf (info) + } - get_hw_addr(info->name, &info->hw_address); @@ -164,7 +163,7 @@ diff -up dhcp-4.3.1b1/common/lpf.c.bmgpWV dhcp-4.3.1b1/common/lpf.c return sock; } #endif /* USE_LPF_SEND || USE_LPF_RECEIVE */ -@@ -189,6 +210,8 @@ void if_deregister_send (info) +@@ -178,6 +198,8 @@ void if_deregister_send (info) in bpf includes... */ extern struct sock_filter dhcp_bpf_filter []; extern int dhcp_bpf_filter_len; @@ -173,26 +172,25 @@ diff -up dhcp-4.3.1b1/common/lpf.c.bmgpWV dhcp-4.3.1b1/common/lpf.c #if defined (HAVE_TR_SUPPORT) extern struct sock_filter dhcp_bpf_tr_filter []; -@@ -206,11 +229,13 @@ void if_register_receive (info) - /* Open a LPF device and hang it on this interface... */ - info -> rfdesc = if_register_lpf (info); - -- val = 1; -- if (setsockopt (info -> rfdesc, SOL_PACKET, PACKET_AUXDATA, &val, -- sizeof val) < 0) { -- if (errno != ENOPROTOOPT) +@@ -196,11 +218,12 @@ void if_register_receive (info) + #ifdef PACKET_AUXDATA + { + int val = 1; +- +- if (setsockopt(info->rfdesc, SOL_PACKET, PACKET_AUXDATA, +- &val, sizeof(val)) < 0) { +- if (errno != ENOPROTOOPT) { - log_fatal ("Failed to set auxiliary packet data: %m"); + if (info->hw_address.hbuf[0] != HTYPE_INFINIBAND) { -+ val = 1; -+ if (setsockopt (info -> rfdesc, SOL_PACKET, PACKET_AUXDATA, -+ &val, sizeof val) < 0) { -+ if (errno != ENOPROTOOPT) ++ if (setsockopt(info->rfdesc, SOL_PACKET, PACKET_AUXDATA, ++ &val, sizeof(val)) < 0) { ++ if (errno != ENOPROTOOPT) { + log_fatal ("Failed to set auxiliary packet data: %m"); -+ } ++ } + } } - - #if defined (HAVE_TR_SUPPORT) -@@ -256,15 +281,28 @@ static void lpf_gen_filter_setup (info) + } +@@ -250,15 +273,28 @@ static void lpf_gen_filter_setup (info) memset(&p, 0, sizeof(p)); @@ -230,7 +228,7 @@ diff -up dhcp-4.3.1b1/common/lpf.c.bmgpWV dhcp-4.3.1b1/common/lpf.c if (setsockopt (info -> rfdesc, SOL_SOCKET, SO_ATTACH_FILTER, &p, sizeof p) < 0) { -@@ -321,6 +359,54 @@ static void lpf_tr_filter_setup (info) +@@ -315,6 +351,54 @@ static void lpf_tr_filter_setup (info) #endif /* USE_LPF_RECEIVE */ #ifdef USE_LPF_SEND @@ -285,7 +283,7 @@ diff -up dhcp-4.3.1b1/common/lpf.c.bmgpWV dhcp-4.3.1b1/common/lpf.c ssize_t send_packet (interface, packet, raw, len, from, to, hto) struct interface_info *interface; struct packet *packet; -@@ -341,6 +427,11 @@ ssize_t send_packet (interface, packet, +@@ -335,6 +419,11 @@ ssize_t send_packet (interface, packet, return send_fallback (interface, packet, raw, len, from, to, hto); @@ -297,7 +295,7 @@ diff -up dhcp-4.3.1b1/common/lpf.c.bmgpWV dhcp-4.3.1b1/common/lpf.c if (hto == NULL && interface->anycast_mac_addr.hlen) hto = &interface->anycast_mac_addr; -@@ -362,6 +453,42 @@ ssize_t send_packet (interface, packet, +@@ -355,6 +444,42 @@ ssize_t send_packet (interface, packet, #endif /* USE_LPF_SEND */ #ifdef USE_LPF_RECEIVE @@ -340,18 +338,18 @@ diff -up dhcp-4.3.1b1/common/lpf.c.bmgpWV dhcp-4.3.1b1/common/lpf.c ssize_t receive_packet (interface, buf, len, from, hfrom) struct interface_info *interface; unsigned char *buf; -@@ -388,6 +515,10 @@ ssize_t receive_packet (interface, buf, +@@ -380,6 +505,10 @@ ssize_t receive_packet (interface, buf, + .msg_controllen = sizeof(cmsgbuf), }; - struct cmsghdr *cmsg; + if (interface->hw_address.hbuf[0] == HTYPE_INFINIBAND) { + return receive_packet_ib(interface, buf, len, from, hfrom); + } + - length = recvmsg (interface -> rfdesc, &msg, 0); + length = recvmsg (interface->rfdesc, &msg, 0); if (length <= 0) return length; -@@ -469,11 +600,33 @@ void maybe_setup_fallback () +@@ -489,11 +618,33 @@ void maybe_setup_fallback () #endif #if defined (USE_LPF_RECEIVE) || defined (USE_LPF_HWADDR) @@ -388,7 +386,7 @@ diff -up dhcp-4.3.1b1/common/lpf.c.bmgpWV dhcp-4.3.1b1/common/lpf.c if (strlen(name) >= sizeof(tmp.ifr_name)) { log_fatal("Device name too long: \"%s\"", name); -@@ -487,16 +640,62 @@ get_hw_addr(const char *name, struct har +@@ -507,16 +658,62 @@ get_hw_addr(const char *name, struct har memset(&tmp, 0, sizeof(tmp)); strcpy(tmp.ifr_name, name); if (ioctl(sock, SIOCGIFHWADDR, &tmp) < 0) { @@ -454,7 +452,7 @@ diff -up dhcp-4.3.1b1/common/lpf.c.bmgpWV dhcp-4.3.1b1/common/lpf.c break; case ARPHRD_IEEE802: #ifdef ARPHRD_IEEE802_TR -@@ -504,18 +703,48 @@ get_hw_addr(const char *name, struct har +@@ -524,18 +721,48 @@ get_hw_addr(const char *name, struct har #endif /* ARPHRD_IEEE802_TR */ hw->hlen = 7; hw->hbuf[0] = HTYPE_IEEE802; @@ -507,7 +505,7 @@ diff -up dhcp-4.3.1b1/common/lpf.c.bmgpWV dhcp-4.3.1b1/common/lpf.c hw->hlen = 0; hw->hbuf[0] = HTYPE_RESERVED; /* 0xdeadbeef should never occur on the wire, -@@ -528,10 +757,13 @@ get_hw_addr(const char *name, struct har +@@ -548,10 +775,13 @@ get_hw_addr(const char *name, struct har break; #endif default: @@ -524,10 +522,10 @@ diff -up dhcp-4.3.1b1/common/lpf.c.bmgpWV dhcp-4.3.1b1/common/lpf.c + freeifaddrs(ifaddrs); } #endif -diff -up dhcp-4.3.1b1/common/socket.c.bmgpWV dhcp-4.3.1b1/common/socket.c ---- dhcp-4.3.1b1/common/socket.c.bmgpWV 2014-07-02 19:58:38.000000000 +0200 -+++ dhcp-4.3.1b1/common/socket.c 2014-07-10 17:52:57.706272281 +0200 -@@ -322,7 +322,7 @@ void if_register_send (info) +diff -up dhcp-4.3.2b1/common/socket.c.lpf-ib dhcp-4.3.2b1/common/socket.c +--- dhcp-4.3.2b1/common/socket.c.lpf-ib 2015-01-29 14:52:57.000000000 +0100 ++++ dhcp-4.3.2b1/common/socket.c 2015-02-08 17:19:42.118405688 +0100 +@@ -328,7 +328,7 @@ void if_register_send (info) info->wfdesc = if_register_socket(info, AF_INET, 0, NULL); /* If this is a normal IPv4 address, get the hardware address. */ if (strcmp(info->name, "fallback") != 0) @@ -536,7 +534,7 @@ diff -up dhcp-4.3.1b1/common/socket.c.bmgpWV dhcp-4.3.1b1/common/socket.c #if defined (USE_SOCKET_FALLBACK) /* Fallback only registers for send, but may need to receive as well. */ -@@ -385,7 +385,7 @@ void if_register_receive (info) +@@ -391,7 +391,7 @@ void if_register_receive (info) #endif /* IP_PKTINFO... */ /* If this is a normal IPv4 address, get the hardware address. */ if (strcmp(info->name, "fallback") != 0) @@ -545,7 +543,7 @@ diff -up dhcp-4.3.1b1/common/socket.c.bmgpWV dhcp-4.3.1b1/common/socket.c if (!quiet_interface_discovery) log_info ("Listening on Socket/%s%s%s", -@@ -499,7 +499,7 @@ if_register6(struct interface_info *info +@@ -505,7 +505,7 @@ if_register6(struct interface_info *info if (req_multi) if_register_multicast(info); @@ -554,7 +552,7 @@ diff -up dhcp-4.3.1b1/common/socket.c.bmgpWV dhcp-4.3.1b1/common/socket.c if (!quiet_interface_discovery) { if (info->shared_network != NULL) { -@@ -555,7 +555,7 @@ if_register_linklocal6(struct interface_ +@@ -561,7 +561,7 @@ if_register_linklocal6(struct interface_ info->rfdesc = sock; info->wfdesc = sock; @@ -563,10 +561,10 @@ diff -up dhcp-4.3.1b1/common/socket.c.bmgpWV dhcp-4.3.1b1/common/socket.c if (!quiet_interface_discovery) { if (info->shared_network != NULL) { -diff -up dhcp-4.3.1b1/includes/dhcpd.h.bmgpWV dhcp-4.3.1b1/includes/dhcpd.h ---- dhcp-4.3.1b1/includes/dhcpd.h.bmgpWV 2014-07-10 17:50:26.923402536 +0200 -+++ dhcp-4.3.1b1/includes/dhcpd.h 2014-07-10 17:52:57.707272266 +0200 -@@ -1248,6 +1248,7 @@ struct interface_info { +diff -up dhcp-4.3.2b1/includes/dhcpd.h.lpf-ib dhcp-4.3.2b1/includes/dhcpd.h +--- dhcp-4.3.2b1/includes/dhcpd.h.lpf-ib 2015-02-08 17:19:42.108405829 +0100 ++++ dhcp-4.3.2b1/includes/dhcpd.h 2015-02-08 17:19:42.119405674 +0100 +@@ -1264,6 +1264,7 @@ struct interface_info { struct shared_network *shared_network; /* Networks connected to this interface. */ struct hardware hw_address; /* Its physical address. */ @@ -574,7 +572,7 @@ diff -up dhcp-4.3.1b1/includes/dhcpd.h.bmgpWV dhcp-4.3.1b1/includes/dhcpd.h struct in_addr *addresses; /* Addresses associated with this * interface. */ -@@ -2439,7 +2440,7 @@ void print_dns_status (int, struct dhcp_ +@@ -2475,7 +2476,7 @@ void print_dns_status (int, struct dhcp_ #endif const char *print_time(TIME); diff --git a/dhcp-range6.patch b/dhcp-range6.patch deleted file mode 100644 index 5712435..0000000 --- a/dhcp-range6.patch +++ /dev/null @@ -1,40 +0,0 @@ -diff -up dhcp-4.3.0a1/server/confpars.c.range6 dhcp-4.3.0a1/server/confpars.c ---- dhcp-4.3.0a1/server/confpars.c.range6 2013-12-20 13:53:44.899161427 +0100 -+++ dhcp-4.3.0a1/server/confpars.c 2013-12-20 13:56:31.595835977 +0100 -@@ -3925,6 +3925,18 @@ add_ipv6_pond_to_network(struct group *g - return; - } - -+static void -+check_addr_in_subnet(struct subnet *subnet, struct iaddr *addr) { -+ char lowbuf [INET6_ADDRSTRLEN], netbuf [INET6_ADDRSTRLEN]; -+ -+ if (!addr_eq(subnet->net, subnet_number(*addr, subnet->netmask))) { -+ strncpy(lowbuf, piaddr(*addr), INET6_ADDRSTRLEN); -+ strncpy(netbuf, piaddr(subnet->net), INET6_ADDRSTRLEN); -+ log_fatal("bad range6, address %s not in subnet6 %s/%d", -+ lowbuf, netbuf, subnet->prefix_len); -+ } -+ -+} - - /* address-range6-declaration :== ip-address6 ip-address6 SEMI - | ip-address6 SLASH number SEMI -@@ -3967,6 +3979,8 @@ parse_address_range6(struct parse *cfile - memset(&net, 0, sizeof(net)); - net.cidrnet.lo_addr = lo; - -+ check_addr_in_subnet(group->subnet, &lo); -+ - /* - * See if we we're using range or CIDR notation or TEMPORARY - */ -@@ -4036,6 +4050,8 @@ parse_address_range6(struct parse *cfile - return; - } - -+ check_addr_in_subnet(group->subnet, &hi); -+ - /* - * Convert our range to a set of CIDR networks. - */ diff --git a/dhcp-relay-hop-limit.patch b/dhcp-relay-hop-limit.patch deleted file mode 100644 index abc4fbf..0000000 --- a/dhcp-relay-hop-limit.patch +++ /dev/null @@ -1,39 +0,0 @@ -From f3d697a84e90f31a86874e334240ee1360a2fbf8 Mon Sep 17 00:00:00 2001 -From: Jiri Popelka -Date: Thu, 9 Oct 2014 18:57:22 +0200 -Subject: [PATCH] Work-around for hop-limit set to 1 - ---- - common/socket.c | 16 +++++++++++++++- - 1 file changed, 15 insertions(+), 1 deletion(-) - -diff --git a/common/socket.c b/common/socket.c -index b8b44a6..93406ef 100644 ---- a/common/socket.c -+++ b/common/socket.c -@@ -301,7 +301,21 @@ if_register_socket(struct interface_info *info, int family, - } - - if ((family == AF_INET6) && -- ((info->flags & INTERFACE_UPSTREAM) != 0)) { -+ /* -+ * rfc3315 says that: "If relay agent relays messages to -+ * All_DHCP_Servers multicast address or other multicast addresses, -+ * it sets the Hop Limit field to 32." -+ * -+ * Because we use the same socket for all (upper/lower) -+ * interfaces, the hop limit is the same for both/all. -+ * There should be INTERFACE_UPSTREAM in the below condition, but -+ * problem is when the interface which registers the socket is -+ * lower interface, in that case the hop limit was not set -+ * (i.e. set to 1) for both. -+ * Because rfc doesn't say anything about hop limit for lower, -+ * it'd be lesser evil to have 32 in both cases. -+ */ -+ ((info->flags & INTERFACE_STREAMS) != 0)) { - int hop_limit = 32; - if (setsockopt(sock, IPPROTO_IPV6, IPV6_MULTICAST_HOPS, - &hop_limit, sizeof(int)) < 0) { --- -2.1.0 - diff --git a/dhcp-remove-bind.patch b/dhcp-remove-bind.patch index 5ab0338..40e6321 100644 --- a/dhcp-remove-bind.patch +++ b/dhcp-remove-bind.patch @@ -1,6 +1,6 @@ -diff -up dhcp-4.3.1b1/client/Makefile.am.brGmwh dhcp-4.3.1b1/client/Makefile.am ---- dhcp-4.3.1b1/client/Makefile.am.brGmwh 2014-07-02 19:58:38.000000000 +0200 -+++ dhcp-4.3.1b1/client/Makefile.am 2014-07-10 17:36:30.484250976 +0200 +diff -up dhcp-4.3.2b1/client/Makefile.am.SRPsDM dhcp-4.3.2b1/client/Makefile.am +--- dhcp-4.3.2b1/client/Makefile.am.SRPsDM 2015-01-29 14:52:57.000000000 +0100 ++++ dhcp-4.3.2b1/client/Makefile.am 2015-02-08 15:13:29.091275576 +0100 @@ -10,8 +10,8 @@ dhclient_SOURCES = clparse.c dhclient.c scripts/bsdos scripts/freebsd scripts/linux scripts/macos \ scripts/netbsd scripts/nextstep scripts/openbsd \ @@ -12,10 +12,10 @@ diff -up dhcp-4.3.1b1/client/Makefile.am.brGmwh dhcp-4.3.1b1/client/Makefile.am man_MANS = dhclient.8 dhclient-script.8 dhclient.conf.5 dhclient.leases.5 EXTRA_DIST = $(man_MANS) -diff -up dhcp-4.3.1b1/common/tests/Makefile.am.brGmwh dhcp-4.3.1b1/common/tests/Makefile.am ---- dhcp-4.3.1b1/common/tests/Makefile.am.brGmwh 2014-07-10 17:36:30.485250962 +0200 -+++ dhcp-4.3.1b1/common/tests/Makefile.am 2014-07-10 17:38:04.010924566 +0200 -@@ -13,21 +13,20 @@ ATF_TESTS += alloc_unittest dns_unittest +diff -up dhcp-4.3.2b1/common/tests/Makefile.am.SRPsDM dhcp-4.3.2b1/common/tests/Makefile.am +--- dhcp-4.3.2b1/common/tests/Makefile.am.SRPsDM 2015-02-08 15:13:29.092275562 +0100 ++++ dhcp-4.3.2b1/common/tests/Makefile.am 2015-02-08 15:14:29.583437471 +0100 +@@ -13,14 +13,14 @@ ATF_TESTS += alloc_unittest dns_unittest alloc_unittest_SOURCES = test_alloc.c $(top_srcdir)/tests/t_api_dhcp.c alloc_unittest_LDADD = $(ATF_LDFLAGS) alloc_unittest_LDADD += ../libdhcp.a \ @@ -34,7 +34,10 @@ diff -up dhcp-4.3.1b1/common/tests/Makefile.am.brGmwh dhcp-4.3.1b1/common/tests/ misc_unittest_SOURCES = misc_unittest.c $(top_srcdir)/tests/t_api_dhcp.c misc_unittest_LDADD = $(ATF_LDFLAGS) - misc_unittest_LDADD += ../libdhcp.a \ +@@ -31,9 +31,8 @@ misc_unittest_LDADD += ../libdhcp.a \ + ns_name_unittest_SOURCES = ns_name_test.c $(top_srcdir)/tests/t_api_dhcp.c + ns_name_unittest_LDADD = $(ATF_LDFLAGS) + ns_name_unittest_LDADD += ../libdhcp.a \ - ../../omapip/libomapi.a ../../bind/lib/libirs.a \ - ../../bind/lib/libdns.a ../../bind/lib/libisccfg.a ../../bind/lib/libisc.a - @@ -43,9 +46,9 @@ diff -up dhcp-4.3.1b1/common/tests/Makefile.am.brGmwh dhcp-4.3.1b1/common/tests/ check: $(ATF_TESTS) atf-run | atf-report -diff -up dhcp-4.3.1b1/configure.ac.brGmwh dhcp-4.3.1b1/configure.ac ---- dhcp-4.3.1b1/configure.ac.brGmwh 2014-07-02 20:01:26.000000000 +0200 -+++ dhcp-4.3.1b1/configure.ac 2014-07-10 17:36:30.485250962 +0200 +diff -up dhcp-4.3.2b1/configure.ac.SRPsDM dhcp-4.3.2b1/configure.ac +--- dhcp-4.3.2b1/configure.ac.SRPsDM 2015-01-29 14:59:59.000000000 +0100 ++++ dhcp-4.3.2b1/configure.ac 2015-02-08 15:13:29.092275562 +0100 @@ -562,20 +562,37 @@ AC_CHECK_MEMBER(struct msghdr.msg_contro libbind= @@ -98,9 +101,9 @@ diff -up dhcp-4.3.1b1/configure.ac.brGmwh dhcp-4.3.1b1/configure.ac case "$host" in *-darwin*) -diff -up dhcp-4.3.1b1/dhcpctl/Makefile.am.brGmwh dhcp-4.3.1b1/dhcpctl/Makefile.am ---- dhcp-4.3.1b1/dhcpctl/Makefile.am.brGmwh 2014-07-02 19:58:38.000000000 +0200 -+++ dhcp-4.3.1b1/dhcpctl/Makefile.am 2014-07-10 17:36:30.485250962 +0200 +diff -up dhcp-4.3.2b1/dhcpctl/Makefile.am.SRPsDM dhcp-4.3.2b1/dhcpctl/Makefile.am +--- dhcp-4.3.2b1/dhcpctl/Makefile.am.SRPsDM 2015-01-29 14:52:57.000000000 +0100 ++++ dhcp-4.3.2b1/dhcpctl/Makefile.am 2015-02-08 15:13:29.092275562 +0100 @@ -6,12 +6,9 @@ EXTRA_DIST = $(man_MANS) omshell_SOURCES = omshell.c @@ -116,9 +119,9 @@ diff -up dhcp-4.3.1b1/dhcpctl/Makefile.am.brGmwh dhcp-4.3.1b1/dhcpctl/Makefile.a - ../bind/lib/libirs.a ../bind/lib/libdns.a \ - ../bind/lib/libisccfg.a ../bind/lib/libisc.a + $(BIND9_LIBDIR) -lirs -ldns -lisccfg -lisc -diff -up dhcp-4.3.1b1/Makefile.am.brGmwh dhcp-4.3.1b1/Makefile.am ---- dhcp-4.3.1b1/Makefile.am.brGmwh 2014-07-02 19:58:38.000000000 +0200 -+++ dhcp-4.3.1b1/Makefile.am 2014-07-10 17:36:30.484250976 +0200 +diff -up dhcp-4.3.2b1/Makefile.am.SRPsDM dhcp-4.3.2b1/Makefile.am +--- dhcp-4.3.2b1/Makefile.am.SRPsDM 2015-01-29 14:52:57.000000000 +0100 ++++ dhcp-4.3.2b1/Makefile.am 2015-02-08 15:13:29.092275562 +0100 @@ -25,7 +25,13 @@ EXTRA_DIST = RELNOTES LICENSE \ bind/Makefile bind/bind.tar.gz bind/version.tmp \ common/tests/Atffile server/tests/Atffile @@ -134,9 +137,9 @@ diff -up dhcp-4.3.1b1/Makefile.am.brGmwh dhcp-4.3.1b1/Makefile.am nobase_include_HEADERS = dhcpctl/dhcpctl.h -diff -up dhcp-4.3.1b1/omapip/Makefile.am.brGmwh dhcp-4.3.1b1/omapip/Makefile.am ---- dhcp-4.3.1b1/omapip/Makefile.am.brGmwh 2014-07-02 19:58:39.000000000 +0200 -+++ dhcp-4.3.1b1/omapip/Makefile.am 2014-07-10 17:36:30.486250948 +0200 +diff -up dhcp-4.3.2b1/omapip/Makefile.am.SRPsDM dhcp-4.3.2b1/omapip/Makefile.am +--- dhcp-4.3.2b1/omapip/Makefile.am.SRPsDM 2015-01-29 14:52:57.000000000 +0100 ++++ dhcp-4.3.2b1/omapip/Makefile.am 2015-02-08 15:13:29.093275549 +0100 @@ -10,6 +10,5 @@ man_MANS = omapi.3 EXTRA_DIST = $(man_MANS) @@ -146,9 +149,9 @@ diff -up dhcp-4.3.1b1/omapip/Makefile.am.brGmwh dhcp-4.3.1b1/omapip/Makefile.am - +svtest_LDADD = libomapi.a \ + $(BIND9_LIBDIR) -lirs -ldns -lisccfg -lisc -diff -up dhcp-4.3.1b1/relay/Makefile.am.brGmwh dhcp-4.3.1b1/relay/Makefile.am ---- dhcp-4.3.1b1/relay/Makefile.am.brGmwh 2014-07-02 19:58:39.000000000 +0200 -+++ dhcp-4.3.1b1/relay/Makefile.am 2014-07-10 17:36:30.486250948 +0200 +diff -up dhcp-4.3.2b1/relay/Makefile.am.SRPsDM dhcp-4.3.2b1/relay/Makefile.am +--- dhcp-4.3.2b1/relay/Makefile.am.SRPsDM 2015-01-29 14:52:57.000000000 +0100 ++++ dhcp-4.3.2b1/relay/Makefile.am 2015-02-08 15:13:29.093275549 +0100 @@ -3,8 +3,7 @@ AM_CPPFLAGS = -DLOCALSTATEDIR='"@localst sbin_PROGRAMS = dhcrelay dhcrelay_SOURCES = dhcrelay.c @@ -159,9 +162,9 @@ diff -up dhcp-4.3.1b1/relay/Makefile.am.brGmwh dhcp-4.3.1b1/relay/Makefile.am man_MANS = dhcrelay.8 EXTRA_DIST = $(man_MANS) -diff -up dhcp-4.3.1b1/server/Makefile.am.brGmwh dhcp-4.3.1b1/server/Makefile.am ---- dhcp-4.3.1b1/server/Makefile.am.brGmwh 2014-07-02 19:58:39.000000000 +0200 -+++ dhcp-4.3.1b1/server/Makefile.am 2014-07-10 17:36:30.486250948 +0200 +diff -up dhcp-4.3.2b1/server/Makefile.am.SRPsDM dhcp-4.3.2b1/server/Makefile.am +--- dhcp-4.3.2b1/server/Makefile.am.SRPsDM 2015-01-29 14:52:57.000000000 +0100 ++++ dhcp-4.3.2b1/server/Makefile.am 2015-02-08 15:13:29.093275549 +0100 @@ -13,10 +13,8 @@ dhcpd_SOURCES = dhcpd.c dhcp.c bootp.c c dhcpv6.c mdb6.c ldap.c ldap_casa.c @@ -175,9 +178,9 @@ diff -up dhcp-4.3.1b1/server/Makefile.am.brGmwh dhcp-4.3.1b1/server/Makefile.am man_MANS = dhcpd.8 dhcpd.conf.5 dhcpd.leases.5 EXTRA_DIST = $(man_MANS) -diff -up dhcp-4.3.1b1/server/tests/Makefile.am.brGmwh dhcp-4.3.1b1/server/tests/Makefile.am ---- dhcp-4.3.1b1/server/tests/Makefile.am.brGmwh 2014-07-02 19:58:40.000000000 +0200 -+++ dhcp-4.3.1b1/server/tests/Makefile.am 2014-07-10 17:36:30.486250948 +0200 +diff -up dhcp-4.3.2b1/server/tests/Makefile.am.SRPsDM dhcp-4.3.2b1/server/tests/Makefile.am +--- dhcp-4.3.2b1/server/tests/Makefile.am.SRPsDM 2015-01-29 14:52:57.000000000 +0100 ++++ dhcp-4.3.2b1/server/tests/Makefile.am 2015-02-08 15:13:29.093275549 +0100 @@ -18,9 +18,8 @@ DHCPSRC = ../dhcp.c ../bootp.c ../confpa ../ldap.c ../ldap_casa.c ../dhcpd.c diff --git a/dhcp-sharedlib.patch b/dhcp-sharedlib.patch index 12b4647..02914bf 100644 --- a/dhcp-sharedlib.patch +++ b/dhcp-sharedlib.patch @@ -1,6 +1,6 @@ -diff -up dhcp-4.3.1b1/client/Makefile.am.uCWMBl dhcp-4.3.1b1/client/Makefile.am ---- dhcp-4.3.1b1/client/Makefile.am.uCWMBl 2014-07-10 17:36:30.484250976 +0200 -+++ dhcp-4.3.1b1/client/Makefile.am 2014-07-10 17:38:10.778828583 +0200 +diff -up dhcp-4.3.2b1/client/Makefile.am.SfzxjY dhcp-4.3.2b1/client/Makefile.am +--- dhcp-4.3.2b1/client/Makefile.am.SfzxjY 2015-02-08 15:13:29.091275576 +0100 ++++ dhcp-4.3.2b1/client/Makefile.am 2015-02-08 15:14:40.970279718 +0100 @@ -10,7 +10,7 @@ dhclient_SOURCES = clparse.c dhclient.c scripts/bsdos scripts/freebsd scripts/linux scripts/macos \ scripts/netbsd scripts/nextstep scripts/openbsd \ @@ -10,10 +10,10 @@ diff -up dhcp-4.3.1b1/client/Makefile.am.uCWMBl dhcp-4.3.1b1/client/Makefile.am $(BIND9_LIBDIR) -lirs -ldns -lisccfg -lisc man_MANS = dhclient.8 dhclient-script.8 dhclient.conf.5 dhclient.leases.5 EXTRA_DIST = $(man_MANS) -diff -up dhcp-4.3.1b1/common/tests/Makefile.am.uCWMBl dhcp-4.3.1b1/common/tests/Makefile.am ---- dhcp-4.3.1b1/common/tests/Makefile.am.uCWMBl 2014-07-10 17:38:10.779828569 +0200 -+++ dhcp-4.3.1b1/common/tests/Makefile.am 2014-07-10 17:38:21.355678580 +0200 -@@ -13,19 +13,19 @@ ATF_TESTS += alloc_unittest dns_unittest +diff -up dhcp-4.3.2b1/common/tests/Makefile.am.SfzxjY dhcp-4.3.2b1/common/tests/Makefile.am +--- dhcp-4.3.2b1/common/tests/Makefile.am.SfzxjY 2015-02-08 15:14:40.971279704 +0100 ++++ dhcp-4.3.2b1/common/tests/Makefile.am 2015-02-08 15:15:10.455871224 +0100 +@@ -13,12 +13,12 @@ ATF_TESTS += alloc_unittest dns_unittest alloc_unittest_SOURCES = test_alloc.c $(top_srcdir)/tests/t_api_dhcp.c alloc_unittest_LDADD = $(ATF_LDFLAGS) alloc_unittest_LDADD += ../libdhcp.a \ @@ -28,17 +28,18 @@ diff -up dhcp-4.3.1b1/common/tests/Makefile.am.uCWMBl dhcp-4.3.1b1/common/tests/ ../../omapip/libomapi.a \ $(BIND9_LIBDIR) -lirs -ldns -lisccfg -lisc - misc_unittest_SOURCES = misc_unittest.c $(top_srcdir)/tests/t_api_dhcp.c - misc_unittest_LDADD = $(ATF_LDFLAGS) - misc_unittest_LDADD += ../libdhcp.a \ +@@ -31,7 +31,7 @@ misc_unittest_LDADD += ../libdhcp.a \ + ns_name_unittest_SOURCES = ns_name_test.c $(top_srcdir)/tests/t_api_dhcp.c + ns_name_unittest_LDADD = $(ATF_LDFLAGS) + ns_name_unittest_LDADD += ../libdhcp.a \ - ../../omapip/libomapi.a \ + ../../omapip/libomapi.la \ $(BIND9_LIBDIR) -lirs -ldns -lisccfg -lisc check: $(ATF_TESTS) atf-run | atf-report -diff -up dhcp-4.3.1b1/configure.ac.uCWMBl dhcp-4.3.1b1/configure.ac ---- dhcp-4.3.1b1/configure.ac.uCWMBl 2014-07-10 17:38:10.766828753 +0200 -+++ dhcp-4.3.1b1/configure.ac 2014-07-10 17:38:10.779828569 +0200 +diff -up dhcp-4.3.2b1/configure.ac.SfzxjY dhcp-4.3.2b1/configure.ac +--- dhcp-4.3.2b1/configure.ac.SfzxjY 2015-02-08 15:14:40.951279981 +0100 ++++ dhcp-4.3.2b1/configure.ac 2015-02-08 15:14:40.971279704 +0100 @@ -39,7 +39,8 @@ fi # Use this to define _GNU_SOURCE to pull in the IPv6 Advanced Socket API. AC_USE_SYSTEM_EXTENSIONS @@ -49,9 +50,9 @@ diff -up dhcp-4.3.1b1/configure.ac.uCWMBl dhcp-4.3.1b1/configure.ac AC_CONFIG_HEADERS([includes/config.h]) # we sometimes need to know byte order for building packets -diff -up dhcp-4.3.1b1/dhcpctl/Makefile.am.uCWMBl dhcp-4.3.1b1/dhcpctl/Makefile.am ---- dhcp-4.3.1b1/dhcpctl/Makefile.am.uCWMBl 2014-07-10 17:36:30.485250962 +0200 -+++ dhcp-4.3.1b1/dhcpctl/Makefile.am 2014-07-10 17:38:10.780828554 +0200 +diff -up dhcp-4.3.2b1/dhcpctl/Makefile.am.SfzxjY dhcp-4.3.2b1/dhcpctl/Makefile.am +--- dhcp-4.3.2b1/dhcpctl/Makefile.am.SfzxjY 2015-02-08 15:13:29.092275562 +0100 ++++ dhcp-4.3.2b1/dhcpctl/Makefile.am 2015-02-08 15:14:40.971279704 +0100 @@ -1,14 +1,14 @@ bin_PROGRAMS = omshell -lib_LIBRARIES = libdhcpctl.a @@ -71,9 +72,9 @@ diff -up dhcp-4.3.1b1/dhcpctl/Makefile.am.uCWMBl dhcp-4.3.1b1/dhcpctl/Makefile.a -cltest_LDADD = libdhcpctl.a ../common/libdhcp.a ../omapip/libomapi.a \ +cltest_LDADD = libdhcpctl.la ../common/libdhcp.a ../omapip/libomapi.la \ $(BIND9_LIBDIR) -lirs -ldns -lisccfg -lisc -diff -up dhcp-4.3.1b1/omapip/Makefile.am.uCWMBl dhcp-4.3.1b1/omapip/Makefile.am ---- dhcp-4.3.1b1/omapip/Makefile.am.uCWMBl 2014-07-10 17:36:30.486250948 +0200 -+++ dhcp-4.3.1b1/omapip/Makefile.am 2014-07-10 17:38:10.780828554 +0200 +diff -up dhcp-4.3.2b1/omapip/Makefile.am.SfzxjY dhcp-4.3.2b1/omapip/Makefile.am +--- dhcp-4.3.2b1/omapip/Makefile.am.SfzxjY 2015-02-08 15:13:29.093275549 +0100 ++++ dhcp-4.3.2b1/omapip/Makefile.am 2015-02-08 15:14:40.972279690 +0100 @@ -1,7 +1,7 @@ -lib_LIBRARIES = libomapi.a +lib_LTLIBRARIES = libomapi.la @@ -91,9 +92,9 @@ diff -up dhcp-4.3.1b1/omapip/Makefile.am.uCWMBl dhcp-4.3.1b1/omapip/Makefile.am -svtest_LDADD = libomapi.a \ +svtest_LDADD = libomapi.la \ $(BIND9_LIBDIR) -lirs -ldns -lisccfg -lisc -diff -up dhcp-4.3.1b1/relay/Makefile.am.uCWMBl dhcp-4.3.1b1/relay/Makefile.am ---- dhcp-4.3.1b1/relay/Makefile.am.uCWMBl 2014-07-10 17:36:30.486250948 +0200 -+++ dhcp-4.3.1b1/relay/Makefile.am 2014-07-10 17:38:10.780828554 +0200 +diff -up dhcp-4.3.2b1/relay/Makefile.am.SfzxjY dhcp-4.3.2b1/relay/Makefile.am +--- dhcp-4.3.2b1/relay/Makefile.am.SfzxjY 2015-02-08 15:13:29.093275549 +0100 ++++ dhcp-4.3.2b1/relay/Makefile.am 2015-02-08 15:14:40.972279690 +0100 @@ -2,7 +2,7 @@ AM_CPPFLAGS = -DLOCALSTATEDIR='"@localst sbin_PROGRAMS = dhcrelay @@ -103,9 +104,9 @@ diff -up dhcp-4.3.1b1/relay/Makefile.am.uCWMBl dhcp-4.3.1b1/relay/Makefile.am $(BIND9_LIBDIR) -lirs -ldns -lisccfg -lisc man_MANS = dhcrelay.8 EXTRA_DIST = $(man_MANS) -diff -up dhcp-4.3.1b1/server/Makefile.am.uCWMBl dhcp-4.3.1b1/server/Makefile.am ---- dhcp-4.3.1b1/server/Makefile.am.uCWMBl 2014-07-10 17:36:30.486250948 +0200 -+++ dhcp-4.3.1b1/server/Makefile.am 2014-07-10 17:38:10.780828554 +0200 +diff -up dhcp-4.3.2b1/server/Makefile.am.SfzxjY dhcp-4.3.2b1/server/Makefile.am +--- dhcp-4.3.2b1/server/Makefile.am.SfzxjY 2015-02-08 15:13:29.093275549 +0100 ++++ dhcp-4.3.2b1/server/Makefile.am 2015-02-08 15:14:40.972279690 +0100 @@ -13,7 +13,7 @@ dhcpd_SOURCES = dhcpd.c dhcp.c bootp.c c dhcpv6.c mdb6.c ldap.c ldap_casa.c @@ -115,9 +116,9 @@ diff -up dhcp-4.3.1b1/server/Makefile.am.uCWMBl dhcp-4.3.1b1/server/Makefile.am $(BIND9_LIBDIR) -lirs -ldns -lisccfg -lisc man_MANS = dhcpd.8 dhcpd.conf.5 dhcpd.leases.5 EXTRA_DIST = $(man_MANS) -diff -up dhcp-4.3.1b1/server/tests/Makefile.am.uCWMBl dhcp-4.3.1b1/server/tests/Makefile.am ---- dhcp-4.3.1b1/server/tests/Makefile.am.uCWMBl 2014-07-10 17:36:30.486250948 +0200 -+++ dhcp-4.3.1b1/server/tests/Makefile.am 2014-07-10 17:38:10.780828554 +0200 +diff -up dhcp-4.3.2b1/server/tests/Makefile.am.SfzxjY dhcp-4.3.2b1/server/tests/Makefile.am +--- dhcp-4.3.2b1/server/tests/Makefile.am.SfzxjY 2015-02-08 15:13:29.093275549 +0100 ++++ dhcp-4.3.2b1/server/tests/Makefile.am 2015-02-08 15:14:40.972279690 +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 diff --git a/dhcp-skip-vlan.patch b/dhcp-skip-vlan.patch deleted file mode 100644 index caf6f4c..0000000 --- a/dhcp-skip-vlan.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff -up dhcp-4.3.1/common/lpf.c.vlan dhcp-4.3.1/common/lpf.c ---- dhcp-4.3.1/common/lpf.c.vlan 2014-10-08 19:06:17.963118201 +0200 -+++ dhcp-4.3.1/common/lpf.c 2014-10-08 19:07:17.086276536 +0200 -@@ -543,6 +543,12 @@ ssize_t receive_packet (interface, buf, - if (cmsg->cmsg_level == SOL_PACKET && - cmsg->cmsg_type == PACKET_AUXDATA) { - struct tpacket_auxdata *aux = (void *)CMSG_DATA(cmsg); -+ /* if listening on plain interface we can see vlan traffic as well. -+ skip vlan traffic if tagged. If we are listening on vlan interfaces -+ as well we will see the traffic again but without the tag -+ */ -+ if (aux->tp_vlan_tci != 0) -+ return 0; - nocsum = aux->tp_status & TP_STATUS_CSUMNOTREADY; - } - } diff --git a/dhcp-systemtap.patch b/dhcp-systemtap.patch index fb01076..8e186f2 100644 --- a/dhcp-systemtap.patch +++ b/dhcp-systemtap.patch @@ -1,6 +1,6 @@ -diff -up dhcp-4.3.1b1/configure.ac.systemtap dhcp-4.3.1b1/configure.ac ---- dhcp-4.3.1b1/configure.ac.systemtap 2014-07-10 18:31:05.966880404 +0200 -+++ dhcp-4.3.1b1/configure.ac 2014-07-10 18:31:06.027879541 +0200 +diff -up dhcp-4.3.2b1/configure.ac.systemtap dhcp-4.3.2b1/configure.ac +--- dhcp-4.3.2b1/configure.ac.systemtap 2015-02-08 17:42:45.701754886 +0100 ++++ dhcp-4.3.2b1/configure.ac 2015-02-08 17:42:45.768753919 +0100 @@ -534,6 +534,35 @@ else AC_MSG_RESULT(no) fi @@ -45,9 +45,9 @@ diff -up dhcp-4.3.1b1/configure.ac.systemtap dhcp-4.3.1b1/configure.ac ]) AC_OUTPUT -diff -up dhcp-4.3.1b1/Makefile.am.systemtap dhcp-4.3.1b1/Makefile.am ---- dhcp-4.3.1b1/Makefile.am.systemtap 2014-07-10 18:31:05.891881465 +0200 -+++ dhcp-4.3.1b1/Makefile.am 2014-07-10 18:31:06.027879541 +0200 +diff -up dhcp-4.3.2b1/Makefile.am.systemtap dhcp-4.3.2b1/Makefile.am +--- dhcp-4.3.2b1/Makefile.am.systemtap 2015-02-08 17:42:45.632755881 +0100 ++++ dhcp-4.3.2b1/Makefile.am 2015-02-08 17:42:45.769753905 +0100 @@ -33,5 +33,8 @@ endif SUBDIRS += includes tests common omapip client dhcpctl relay server @@ -57,9 +57,9 @@ diff -up dhcp-4.3.1b1/Makefile.am.systemtap dhcp-4.3.1b1/Makefile.am + nobase_include_HEADERS = dhcpctl/dhcpctl.h -diff -up dhcp-4.3.1b1/server/dhcp.c.systemtap dhcp-4.3.1b1/server/dhcp.c ---- dhcp-4.3.1b1/server/dhcp.c.systemtap 2014-07-10 18:31:06.016879697 +0200 -+++ dhcp-4.3.1b1/server/dhcp.c 2014-07-10 18:36:07.392617942 +0200 +diff -up dhcp-4.3.2b1/server/dhcp.c.systemtap dhcp-4.3.2b1/server/dhcp.c +--- dhcp-4.3.2b1/server/dhcp.c.systemtap 2015-02-08 17:42:45.750754179 +0100 ++++ dhcp-4.3.2b1/server/dhcp.c 2015-02-08 17:46:12.956764712 +0100 @@ -30,7 +30,7 @@ #include #include @@ -69,7 +69,7 @@ diff -up dhcp-4.3.1b1/server/dhcp.c.systemtap dhcp-4.3.1b1/server/dhcp.c static void commit_leases_ackout(void *foo); static void maybe_return_agent_options(struct packet *packet, struct option_state *options); -@@ -303,6 +303,8 @@ void dhcpdiscover (packet, ms_nulltp) +@@ -306,6 +306,8 @@ void dhcpdiscover (packet, ms_nulltp) dhcp_failover_state_t *peer; #endif @@ -78,7 +78,7 @@ diff -up dhcp-4.3.1b1/server/dhcp.c.systemtap dhcp-4.3.1b1/server/dhcp.c find_lease (&lease, packet, packet -> shared_network, 0, &peer_has_leases, (struct lease *)0, MDL); -@@ -425,6 +427,8 @@ void dhcpdiscover (packet, ms_nulltp) +@@ -428,6 +430,8 @@ void dhcpdiscover (packet, ms_nulltp) out: if (lease) lease_dereference (&lease, MDL); @@ -87,7 +87,7 @@ diff -up dhcp-4.3.1b1/server/dhcp.c.systemtap dhcp-4.3.1b1/server/dhcp.c } void dhcprequest (packet, ms_nulltp, ip_lease) -@@ -447,6 +451,8 @@ void dhcprequest (packet, ms_nulltp, ip_ +@@ -450,6 +454,8 @@ void dhcprequest (packet, ms_nulltp, ip_ #endif int have_requested_addr = 0; @@ -96,7 +96,7 @@ diff -up dhcp-4.3.1b1/server/dhcp.c.systemtap dhcp-4.3.1b1/server/dhcp.c oc = lookup_option (&dhcp_universe, packet -> options, DHO_DHCP_REQUESTED_ADDRESS); memset (&data, 0, sizeof data); -@@ -724,6 +730,9 @@ void dhcprequest (packet, ms_nulltp, ip_ +@@ -729,6 +735,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.3.1b1/server/dhcp.c.systemtap dhcp-4.3.1b1/server/dhcp.c if (subnet) subnet_dereference (&subnet, MDL); if (lease) -@@ -742,6 +751,7 @@ void dhcprelease (packet, ms_nulltp) +@@ -747,6 +756,7 @@ void dhcprelease (packet, ms_nulltp) const char *s; char msgbuf [1024], cstr[16]; /* XXX */ @@ -114,7 +114,7 @@ diff -up dhcp-4.3.1b1/server/dhcp.c.systemtap dhcp-4.3.1b1/server/dhcp.c /* DHCPRELEASE must not specify address in requested-address option, but old protocol specs weren't explicit about this, -@@ -862,6 +872,8 @@ void dhcprelease (packet, ms_nulltp) +@@ -867,6 +877,8 @@ void dhcprelease (packet, ms_nulltp) #endif if (lease) lease_dereference (&lease, MDL); @@ -123,7 +123,7 @@ diff -up dhcp-4.3.1b1/server/dhcp.c.systemtap dhcp-4.3.1b1/server/dhcp.c } void dhcpdecline (packet, ms_nulltp) -@@ -879,6 +891,8 @@ void dhcpdecline (packet, ms_nulltp) +@@ -884,6 +896,8 @@ void dhcpdecline (packet, ms_nulltp) struct option_cache *oc; struct data_string data; @@ -132,7 +132,7 @@ diff -up dhcp-4.3.1b1/server/dhcp.c.systemtap dhcp-4.3.1b1/server/dhcp.c /* DHCPDECLINE must specify address. */ if (!(oc = lookup_option (&dhcp_universe, packet -> options, DHO_DHCP_REQUESTED_ADDRESS))) -@@ -985,6 +999,8 @@ void dhcpdecline (packet, ms_nulltp) +@@ -990,6 +1004,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.3.1b1/server/dhcp.c.systemtap dhcp-4.3.1b1/server/dhcp.c } void dhcpinform (packet, ms_nulltp) -@@ -1012,6 +1028,8 @@ void dhcpinform (packet, ms_nulltp) +@@ -1017,6 +1033,8 @@ void dhcpinform (packet, ms_nulltp) int h_w_fixed_addr = 0; #endif @@ -150,7 +150,7 @@ diff -up dhcp-4.3.1b1/server/dhcp.c.systemtap dhcp-4.3.1b1/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. */ -@@ -1584,6 +1602,8 @@ void dhcpinform (packet, ms_nulltp) +@@ -1587,6 +1605,8 @@ void dhcpinform (packet, ms_nulltp) if (subnet) subnet_dereference (&subnet, MDL); @@ -158,25 +158,27 @@ diff -up dhcp-4.3.1b1/server/dhcp.c.systemtap dhcp-4.3.1b1/server/dhcp.c + TRACE(DHCPD_INFORM_DONE()); } - void nak_lease (packet, cip) -@@ -1600,6 +1620,8 @@ void nak_lease (packet, cip) - struct option_state *options = (struct option_state *)0; + /*! +@@ -1617,6 +1637,8 @@ void nak_lease (packet, cip, network_gro struct option_cache *oc = (struct option_cache *)0; + struct option_state *eval_options = NULL; + TRACE(DHCPD_NAK_LEASE_START()); + option_state_allocate (&options, MDL); memset (&outgoing, 0, sizeof outgoing); memset (&raw, 0, sizeof raw); -@@ -1764,6 +1786,7 @@ void nak_lease (packet, cip) +@@ -1792,7 +1814,8 @@ void nak_lease (packet, cip, network_gro + "interface.", MDL, outgoing.packet_length, packet->interface->name); } - -+ TRACE(DHCPD_NAK_LEASE_DONE()); +- ++ ++ TRACE(DHCPD_NAK_LEASE_DONE()); } - void check_pool_threshold (packet, lease, state) -@@ -1899,6 +1922,8 @@ void ack_lease (packet, lease, offer, wh + /*! +@@ -1997,6 +2020,8 @@ void ack_lease (packet, lease, offer, wh if (lease -> state) return; @@ -185,7 +187,7 @@ diff -up dhcp-4.3.1b1/server/dhcp.c.systemtap dhcp-4.3.1b1/server/dhcp.c /* Save original cltt for comparison later. */ lease_cltt = lease->cltt; -@@ -3340,6 +3365,8 @@ void ack_lease (packet, lease, offer, wh +@@ -3389,6 +3414,8 @@ void ack_lease (packet, lease, offer, wh #endif dhcp_reply(lease); } @@ -194,7 +196,7 @@ diff -up dhcp-4.3.1b1/server/dhcp.c.systemtap dhcp-4.3.1b1/server/dhcp.c } /* -@@ -3492,6 +3519,8 @@ void dhcp_reply (lease) +@@ -3541,6 +3568,8 @@ void dhcp_reply (lease) if (!state) log_fatal ("dhcp_reply was supplied lease with no state!"); @@ -203,7 +205,7 @@ diff -up dhcp-4.3.1b1/server/dhcp.c.systemtap dhcp-4.3.1b1/server/dhcp.c /* Compose a response for the client... */ memset (&raw, 0, sizeof raw); memset (&d1, 0, sizeof d1); -@@ -3713,6 +3742,8 @@ void dhcp_reply (lease) +@@ -3762,6 +3791,8 @@ void dhcp_reply (lease) free_lease_state (state, MDL); lease -> state = (struct lease_state *)0; @@ -212,7 +214,7 @@ diff -up dhcp-4.3.1b1/server/dhcp.c.systemtap dhcp-4.3.1b1/server/dhcp.c } int find_lease (struct lease **lp, -@@ -3735,6 +3766,8 @@ int find_lease (struct lease **lp, +@@ -3784,6 +3815,8 @@ int find_lease (struct lease **lp, struct data_string client_identifier; struct hardware h; @@ -221,7 +223,7 @@ diff -up dhcp-4.3.1b1/server/dhcp.c.systemtap dhcp-4.3.1b1/server/dhcp.c #if defined(FAILOVER_PROTOCOL) /* Quick check to see if the peer has leases. */ if (peer_has_leases) { -@@ -4457,6 +4490,9 @@ int find_lease (struct lease **lp, +@@ -4506,6 +4539,9 @@ int find_lease (struct lease **lp, #if defined (DEBUG_FIND_LEASE) log_info ("Not returning a lease."); #endif @@ -231,9 +233,9 @@ diff -up dhcp-4.3.1b1/server/dhcp.c.systemtap dhcp-4.3.1b1/server/dhcp.c return 0; } -diff -up dhcp-4.3.1b1/server/dhcpd.c.systemtap dhcp-4.3.1b1/server/dhcpd.c ---- dhcp-4.3.1b1/server/dhcpd.c.systemtap 2014-07-10 18:31:06.006879838 +0200 -+++ dhcp-4.3.1b1/server/dhcpd.c 2014-07-10 18:31:06.030879499 +0200 +diff -up dhcp-4.3.2b1/server/dhcpd.c.systemtap dhcp-4.3.2b1/server/dhcpd.c +--- dhcp-4.3.2b1/server/dhcpd.c.systemtap 2015-02-08 17:42:45.740754323 +0100 ++++ dhcp-4.3.2b1/server/dhcpd.c 2015-02-08 17:42:45.772753862 +0100 @@ -52,6 +52,8 @@ static const char url [] = # undef group #endif /* PARANOIA */ @@ -243,7 +245,7 @@ diff -up dhcp-4.3.1b1/server/dhcpd.c.systemtap dhcp-4.3.1b1/server/dhcpd.c #ifndef UNIT_TEST static void usage(void); #endif -@@ -801,6 +803,8 @@ main(int argc, char **argv) { +@@ -812,6 +814,8 @@ main(int argc, char **argv) { /* Log that we are about to start working */ log_info("Server starting service."); @@ -252,9 +254,9 @@ diff -up dhcp-4.3.1b1/server/dhcpd.c.systemtap dhcp-4.3.1b1/server/dhcpd.c /* * Receive packets and dispatch them... * dispatch() will never return. -diff -up dhcp-4.3.1b1/server/dhcpv6.c.systemtap dhcp-4.3.1b1/server/dhcpv6.c ---- dhcp-4.3.1b1/server/dhcpv6.c.systemtap 2014-07-10 18:31:05.998879951 +0200 -+++ dhcp-4.3.1b1/server/dhcpv6.c 2014-07-10 18:31:06.032879471 +0200 +diff -up dhcp-4.3.2b1/server/dhcpv6.c.systemtap dhcp-4.3.2b1/server/dhcpv6.c +--- dhcp-4.3.2b1/server/dhcpv6.c.systemtap 2015-02-08 17:42:45.730754468 +0100 ++++ dhcp-4.3.2b1/server/dhcpv6.c 2015-02-08 17:42:45.774753833 +0100 @@ -17,6 +17,7 @@ /*! \file server/dhcpv6.c */ @@ -263,7 +265,7 @@ diff -up dhcp-4.3.1b1/server/dhcpv6.c.systemtap dhcp-4.3.1b1/server/dhcpv6.c #ifdef DHCPv6 -@@ -4829,6 +4830,8 @@ static void +@@ -4999,6 +5000,8 @@ static void dhcpv6_solicit(struct data_string *reply_ret, struct packet *packet) { struct data_string client_id; @@ -272,7 +274,7 @@ diff -up dhcp-4.3.1b1/server/dhcpv6.c.systemtap dhcp-4.3.1b1/server/dhcpv6.c /* * Validate our input. */ -@@ -4842,6 +4845,8 @@ dhcpv6_solicit(struct data_string *reply +@@ -5012,6 +5015,8 @@ dhcpv6_solicit(struct data_string *reply * Clean up. */ data_string_forget(&client_id, MDL); @@ -281,7 +283,7 @@ diff -up dhcp-4.3.1b1/server/dhcpv6.c.systemtap dhcp-4.3.1b1/server/dhcpv6.c } /* -@@ -4855,6 +4860,8 @@ dhcpv6_request(struct data_string *reply +@@ -5025,6 +5030,8 @@ dhcpv6_request(struct data_string *reply struct data_string client_id; struct data_string server_id; @@ -290,7 +292,7 @@ diff -up dhcp-4.3.1b1/server/dhcpv6.c.systemtap dhcp-4.3.1b1/server/dhcpv6.c /* * Validate our input. */ -@@ -4872,6 +4879,8 @@ dhcpv6_request(struct data_string *reply +@@ -5042,6 +5049,8 @@ dhcpv6_request(struct data_string *reply */ data_string_forget(&client_id, MDL); data_string_forget(&server_id, MDL); @@ -299,7 +301,7 @@ diff -up dhcp-4.3.1b1/server/dhcpv6.c.systemtap dhcp-4.3.1b1/server/dhcpv6.c } /* Find a DHCPv6 packet's shared network from hints in the packet. -@@ -4984,6 +4993,8 @@ dhcpv6_confirm(struct data_string *reply +@@ -5154,6 +5163,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)); @@ -308,7 +310,7 @@ diff -up dhcp-4.3.1b1/server/dhcpv6.c.systemtap dhcp-4.3.1b1/server/dhcpv6.c /* * Basic client message validation. */ -@@ -5170,6 +5181,8 @@ exit: +@@ -5340,6 +5351,8 @@ exit: option_state_dereference(&cli_enc_opt_state, MDL); if (opt_state != NULL) option_state_dereference(&opt_state, MDL); @@ -317,7 +319,7 @@ diff -up dhcp-4.3.1b1/server/dhcpv6.c.systemtap dhcp-4.3.1b1/server/dhcpv6.c } /* -@@ -5184,6 +5197,8 @@ dhcpv6_renew(struct data_string *reply, +@@ -5354,6 +5367,8 @@ dhcpv6_renew(struct data_string *reply, struct data_string client_id; struct data_string server_id; @@ -326,7 +328,7 @@ diff -up dhcp-4.3.1b1/server/dhcpv6.c.systemtap dhcp-4.3.1b1/server/dhcpv6.c /* * Validate the request. */ -@@ -5201,6 +5216,8 @@ dhcpv6_renew(struct data_string *reply, +@@ -5371,6 +5386,8 @@ dhcpv6_renew(struct data_string *reply, */ data_string_forget(&server_id, MDL); data_string_forget(&client_id, MDL); @@ -335,7 +337,7 @@ diff -up dhcp-4.3.1b1/server/dhcpv6.c.systemtap dhcp-4.3.1b1/server/dhcpv6.c } /* -@@ -5214,6 +5231,8 @@ static void +@@ -5384,6 +5401,8 @@ static void dhcpv6_rebind(struct data_string *reply, struct packet *packet) { struct data_string client_id; @@ -344,7 +346,7 @@ diff -up dhcp-4.3.1b1/server/dhcpv6.c.systemtap dhcp-4.3.1b1/server/dhcpv6.c if (!valid_client_msg(packet, &client_id)) { return; } -@@ -5221,6 +5240,8 @@ dhcpv6_rebind(struct data_string *reply, +@@ -5391,6 +5410,8 @@ dhcpv6_rebind(struct data_string *reply, lease_to_client(reply, packet, &client_id, NULL); data_string_forget(&client_id, MDL); @@ -353,7 +355,7 @@ diff -up dhcp-4.3.1b1/server/dhcpv6.c.systemtap dhcp-4.3.1b1/server/dhcpv6.c } static void -@@ -5665,6 +5686,8 @@ dhcpv6_decline(struct data_string *reply +@@ -5835,6 +5856,8 @@ dhcpv6_decline(struct data_string *reply struct data_string client_id; struct data_string server_id; @@ -362,7 +364,7 @@ diff -up dhcp-4.3.1b1/server/dhcpv6.c.systemtap dhcp-4.3.1b1/server/dhcpv6.c /* * Validate our input. */ -@@ -5685,6 +5708,8 @@ dhcpv6_decline(struct data_string *reply +@@ -5855,6 +5878,8 @@ dhcpv6_decline(struct data_string *reply data_string_forget(&server_id, MDL); data_string_forget(&client_id, MDL); @@ -371,7 +373,7 @@ diff -up dhcp-4.3.1b1/server/dhcpv6.c.systemtap dhcp-4.3.1b1/server/dhcpv6.c } static void -@@ -6133,6 +6158,8 @@ dhcpv6_release(struct data_string *reply +@@ -6303,6 +6328,8 @@ dhcpv6_release(struct data_string *reply struct data_string client_id; struct data_string server_id; @@ -380,7 +382,7 @@ diff -up dhcp-4.3.1b1/server/dhcpv6.c.systemtap dhcp-4.3.1b1/server/dhcpv6.c /* * Validate our input. */ -@@ -6154,6 +6181,8 @@ dhcpv6_release(struct data_string *reply +@@ -6324,6 +6351,8 @@ dhcpv6_release(struct data_string *reply data_string_forget(&server_id, MDL); data_string_forget(&client_id, MDL); @@ -389,7 +391,7 @@ diff -up dhcp-4.3.1b1/server/dhcpv6.c.systemtap dhcp-4.3.1b1/server/dhcpv6.c } /* -@@ -6166,6 +6195,8 @@ dhcpv6_information_request(struct data_s +@@ -6336,6 +6365,8 @@ dhcpv6_information_request(struct data_s struct data_string client_id; struct data_string server_id; @@ -398,7 +400,7 @@ diff -up dhcp-4.3.1b1/server/dhcpv6.c.systemtap dhcp-4.3.1b1/server/dhcpv6.c /* * Validate our input. */ -@@ -6197,6 +6228,8 @@ dhcpv6_information_request(struct data_s +@@ -6367,6 +6398,8 @@ dhcpv6_information_request(struct data_s data_string_forget(&client_id, MDL); } data_string_forget(&server_id, MDL); @@ -407,7 +409,7 @@ diff -up dhcp-4.3.1b1/server/dhcpv6.c.systemtap dhcp-4.3.1b1/server/dhcpv6.c } /* -@@ -6225,6 +6258,8 @@ dhcpv6_relay_forw(struct data_string *re +@@ -6395,6 +6428,8 @@ dhcpv6_relay_forw(struct data_string *re struct dhcpv6_relay_packet *reply; int reply_ofs; @@ -416,7 +418,7 @@ diff -up dhcp-4.3.1b1/server/dhcpv6.c.systemtap dhcp-4.3.1b1/server/dhcpv6.c /* * Initialize variables for early exit. */ -@@ -6484,6 +6519,8 @@ exit: +@@ -6654,6 +6689,8 @@ exit: if (enc_packet != NULL) { packet_dereference(&enc_packet, MDL); } @@ -425,9 +427,9 @@ diff -up dhcp-4.3.1b1/server/dhcpv6.c.systemtap dhcp-4.3.1b1/server/dhcpv6.c } static void -diff -up dhcp-4.3.1b1/server/failover.c.systemtap dhcp-4.3.1b1/server/failover.c ---- dhcp-4.3.1b1/server/failover.c.systemtap 2014-07-02 19:58:40.000000000 +0200 -+++ dhcp-4.3.1b1/server/failover.c 2014-07-10 18:31:06.034879442 +0200 +diff -up dhcp-4.3.2b1/server/failover.c.systemtap dhcp-4.3.2b1/server/failover.c +--- dhcp-4.3.2b1/server/failover.c.systemtap 2015-01-29 14:52:57.000000000 +0100 ++++ dhcp-4.3.2b1/server/failover.c 2015-02-08 17:42:45.775753818 +0100 @@ -30,6 +30,8 @@ #include "dhcpd.h" #include @@ -437,7 +439,7 @@ diff -up dhcp-4.3.1b1/server/failover.c.systemtap dhcp-4.3.1b1/server/failover.c #if defined (FAILOVER_PROTOCOL) dhcp_failover_state_t *failover_states; static isc_result_t do_a_failover_option (omapi_object_t *, -@@ -1704,6 +1706,8 @@ isc_result_t dhcp_failover_set_state (dh +@@ -1767,6 +1769,8 @@ isc_result_t dhcp_failover_set_state (dh struct lease *l; struct timeval tv; @@ -446,7 +448,7 @@ diff -up dhcp-4.3.1b1/server/failover.c.systemtap dhcp-4.3.1b1/server/failover.c /* If we're in certain states where we're sending updates, and the peer * state changes, we need to re-schedule any pending updates just to * be on the safe side. This results in retransmission. -@@ -1935,6 +1939,8 @@ isc_result_t dhcp_failover_set_state (dh +@@ -1972,6 +1976,8 @@ isc_result_t dhcp_failover_set_state (dh break; } @@ -455,7 +457,7 @@ diff -up dhcp-4.3.1b1/server/failover.c.systemtap dhcp-4.3.1b1/server/failover.c return ISC_R_SUCCESS; } -@@ -2423,6 +2429,8 @@ dhcp_failover_pool_dobalance(dhcp_failov +@@ -2484,6 +2490,8 @@ dhcp_failover_pool_dobalance(dhcp_failov if (state -> me.state != normal) return 0; @@ -464,7 +466,7 @@ diff -up dhcp-4.3.1b1/server/failover.c.systemtap dhcp-4.3.1b1/server/failover.c state->last_balance = cur_time; for (s = shared_networks ; s ; s = s->next) { -@@ -2583,6 +2591,8 @@ dhcp_failover_pool_dobalance(dhcp_failov +@@ -2644,6 +2652,8 @@ dhcp_failover_pool_dobalance(dhcp_failov if (leases_queued) commit_leases(); @@ -473,9 +475,9 @@ diff -up dhcp-4.3.1b1/server/failover.c.systemtap dhcp-4.3.1b1/server/failover.c return leases_queued; } -diff -up dhcp-4.3.1b1/server/Makefile.am.systemtap dhcp-4.3.1b1/server/Makefile.am ---- dhcp-4.3.1b1/server/Makefile.am.systemtap 2014-07-10 18:31:05.895881408 +0200 -+++ dhcp-4.3.1b1/server/Makefile.am 2014-07-10 18:31:06.028879527 +0200 +diff -up dhcp-4.3.2b1/server/Makefile.am.systemtap dhcp-4.3.2b1/server/Makefile.am +--- dhcp-4.3.2b1/server/Makefile.am.systemtap 2015-02-08 17:42:45.637755809 +0100 ++++ dhcp-4.3.2b1/server/Makefile.am 2015-02-08 17:42:45.775753818 +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 \ @@ -499,9 +501,9 @@ diff -up dhcp-4.3.1b1/server/Makefile.am.systemtap dhcp-4.3.1b1/server/Makefile. + +dhcpd_LDADD += probes.o +endif -diff -up dhcp-4.3.1b1/server/probes.d.systemtap dhcp-4.3.1b1/server/probes.d ---- dhcp-4.3.1b1/server/probes.d.systemtap 2014-07-10 18:31:06.034879442 +0200 -+++ dhcp-4.3.1b1/server/probes.d 2014-07-10 18:31:06.034879442 +0200 +diff -up dhcp-4.3.2b1/server/probes.d.systemtap dhcp-4.3.2b1/server/probes.d +--- dhcp-4.3.2b1/server/probes.d.systemtap 2015-02-08 17:42:45.775753818 +0100 ++++ dhcp-4.3.2b1/server/probes.d 2015-02-08 17:42:45.775753818 +0100 @@ -0,0 +1,43 @@ +provider dhcpd { + probe main(); @@ -546,9 +548,9 @@ diff -up dhcp-4.3.1b1/server/probes.d.systemtap dhcp-4.3.1b1/server/probes.d + probe failover_set_state_start(int, int); + probe failover_set_state_done(); +}; -diff -up dhcp-4.3.1b1/server/tests/Makefile.am.systemtap dhcp-4.3.1b1/server/tests/Makefile.am ---- dhcp-4.3.1b1/server/tests/Makefile.am.systemtap 2014-07-10 18:31:05.895881408 +0200 -+++ dhcp-4.3.1b1/server/tests/Makefile.am 2014-07-10 18:31:06.034879442 +0200 +diff -up dhcp-4.3.2b1/server/tests/Makefile.am.systemtap dhcp-4.3.2b1/server/tests/Makefile.am +--- dhcp-4.3.2b1/server/tests/Makefile.am.systemtap 2015-02-08 17:42:45.637755809 +0100 ++++ dhcp-4.3.2b1/server/tests/Makefile.am 2015-02-08 17:42:45.776753804 +0100 @@ -21,6 +21,10 @@ DHCPLIBS = $(top_builddir)/common/libdhc $(top_builddir)/dhcpctl/libdhcpctl.la \ $(BIND9_LIBDIR) -lirs -ldns -lisccfg -lisc @@ -560,9 +562,9 @@ diff -up dhcp-4.3.1b1/server/tests/Makefile.am.systemtap dhcp-4.3.1b1/server/tes ATF_TESTS = TESTS = if HAVE_ATF -diff -up dhcp-4.3.1b1/server/trace.h.systemtap dhcp-4.3.1b1/server/trace.h ---- dhcp-4.3.1b1/server/trace.h.systemtap 2014-07-10 18:31:06.034879442 +0200 -+++ dhcp-4.3.1b1/server/trace.h 2014-07-10 18:31:06.034879442 +0200 +diff -up dhcp-4.3.2b1/server/trace.h.systemtap dhcp-4.3.2b1/server/trace.h +--- dhcp-4.3.2b1/server/trace.h.systemtap 2015-02-08 17:42:45.776753804 +0100 ++++ dhcp-4.3.2b1/server/trace.h 2015-02-08 17:42:45.776753804 +0100 @@ -0,0 +1,11 @@ +// trace.h + @@ -575,9 +577,9 @@ diff -up dhcp-4.3.1b1/server/trace.h.systemtap dhcp-4.3.1b1/server/trace.h +// Wrap the probe to allow it to be removed when no systemtap available +#define TRACE(probe) +#endif -diff -up dhcp-4.3.1b1/tapset/dhcpd.stp.systemtap dhcp-4.3.1b1/tapset/dhcpd.stp ---- dhcp-4.3.1b1/tapset/dhcpd.stp.systemtap 2014-07-10 18:31:06.035879428 +0200 -+++ dhcp-4.3.1b1/tapset/dhcpd.stp 2014-07-10 18:31:06.035879428 +0200 +diff -up dhcp-4.3.2b1/tapset/dhcpd.stp.systemtap dhcp-4.3.2b1/tapset/dhcpd.stp +--- dhcp-4.3.2b1/tapset/dhcpd.stp.systemtap 2015-02-08 17:42:45.776753804 +0100 ++++ dhcp-4.3.2b1/tapset/dhcpd.stp 2015-02-08 17:42:45.776753804 +0100 @@ -0,0 +1,212 @@ +/* dhcpd tapset + Copyright (C) 2011, Red Hat Inc. @@ -791,9 +793,9 @@ diff -up dhcp-4.3.1b1/tapset/dhcpd.stp.systemtap dhcp-4.3.1b1/tapset/dhcpd.stp +{ + probestr = sprintf("%s", $$name); +} -diff -up dhcp-4.3.1b1/tapset/Makefile.am.systemtap dhcp-4.3.1b1/tapset/Makefile.am ---- dhcp-4.3.1b1/tapset/Makefile.am.systemtap 2014-07-10 18:31:06.035879428 +0200 -+++ dhcp-4.3.1b1/tapset/Makefile.am 2014-07-10 18:31:06.034879442 +0200 +diff -up dhcp-4.3.2b1/tapset/Makefile.am.systemtap dhcp-4.3.2b1/tapset/Makefile.am +--- dhcp-4.3.2b1/tapset/Makefile.am.systemtap 2015-02-08 17:42:45.776753804 +0100 ++++ dhcp-4.3.2b1/tapset/Makefile.am 2015-02-08 17:42:45.776753804 +0100 @@ -0,0 +1,26 @@ +# Makefile.am for dhcp/tapset +# Jiri Popelka diff --git a/dhcp-xen-checksum.patch b/dhcp-xen-checksum.patch deleted file mode 100644 index eabc3c1..0000000 --- a/dhcp-xen-checksum.patch +++ /dev/null @@ -1,251 +0,0 @@ -diff -up dhcp-4.3.0rc1/common/bpf.c.xen dhcp-4.3.0rc1/common/bpf.c ---- dhcp-4.3.0rc1/common/bpf.c.xen 2014-01-29 10:03:27.503941664 +0100 -+++ dhcp-4.3.0rc1/common/bpf.c 2014-01-29 10:03:37.564812175 +0100 -@@ -481,7 +481,7 @@ ssize_t receive_packet (interface, buf, - /* Decode the IP and UDP headers... */ - offset = decode_udp_ip_header(interface, interface->rbuf, - interface->rbuf_offset, -- from, hdr.bh_caplen, &paylen); -+ from, hdr.bh_caplen, &paylen, 0); - - /* If the IP or UDP checksum was bad, skip the packet... */ - if (offset < 0) { -diff -up dhcp-4.3.0rc1/common/dlpi.c.xen dhcp-4.3.0rc1/common/dlpi.c ---- dhcp-4.3.0rc1/common/dlpi.c.xen 2014-01-25 05:18:03.000000000 +0100 -+++ dhcp-4.3.0rc1/common/dlpi.c 2014-01-29 10:03:27.503941664 +0100 -@@ -691,7 +691,7 @@ ssize_t receive_packet (interface, buf, - length -= offset; - #endif - offset = decode_udp_ip_header (interface, dbuf, bufix, -- from, length, &paylen); -+ from, length, &paylen, 0); - - /* - * If the IP or UDP checksum was bad, skip the packet... -diff -up dhcp-4.3.0rc1/common/lpf.c.xen dhcp-4.3.0rc1/common/lpf.c ---- dhcp-4.3.0rc1/common/lpf.c.xen 2014-01-25 05:18:03.000000000 +0100 -+++ dhcp-4.3.0rc1/common/lpf.c 2014-01-29 10:03:27.504941651 +0100 -@@ -29,14 +29,15 @@ - - #include "dhcpd.h" - #if defined (USE_LPF_SEND) || defined (USE_LPF_RECEIVE) -+#include - #include - #include - - #include - #include - #include -+#include - #include --#include - #include "includes/netinet/ip.h" - #include "includes/netinet/udp.h" - #include "includes/netinet/if_ether.h" -@@ -51,6 +52,19 @@ - /* Reinitializes the specified interface after an address change. This - is not required for packet-filter APIs. */ - -+#ifndef PACKET_AUXDATA -+#define PACKET_AUXDATA 8 -+ -+struct tpacket_auxdata -+{ -+ __u32 tp_status; -+ __u32 tp_len; -+ __u32 tp_snaplen; -+ __u16 tp_mac; -+ __u16 tp_net; -+}; -+#endif -+ - #ifdef USE_LPF_SEND - void if_reinitialize_send (info) - struct interface_info *info; -@@ -73,10 +87,14 @@ int if_register_lpf (info) - struct interface_info *info; - { - int sock; -- struct sockaddr sa; -+ union { -+ struct sockaddr_ll ll; -+ struct sockaddr common; -+ } sa; -+ struct ifreq ifr; - - /* Make an LPF socket. */ -- if ((sock = socket(PF_PACKET, SOCK_PACKET, -+ if ((sock = socket(PF_PACKET, SOCK_RAW, - htons((short)ETH_P_ALL))) < 0) { - if (errno == ENOPROTOOPT || errno == EPROTONOSUPPORT || - errno == ESOCKTNOSUPPORT || errno == EPFNOSUPPORT || -@@ -91,11 +109,17 @@ int if_register_lpf (info) - log_fatal ("Open a socket for LPF: %m"); - } - -+ memset (&ifr, 0, sizeof ifr); -+ strncpy (ifr.ifr_name, (const char *)info -> ifp, sizeof ifr.ifr_name); -+ ifr.ifr_name[IFNAMSIZ-1] = '\0'; -+ if (ioctl (sock, SIOCGIFINDEX, &ifr)) -+ log_fatal ("Failed to get interface index: %m"); -+ - /* Bind to the interface name */ - memset (&sa, 0, sizeof sa); -- sa.sa_family = AF_PACKET; -- strncpy (sa.sa_data, (const char *)info -> ifp, sizeof sa.sa_data); -- if (bind (sock, &sa, sizeof sa)) { -+ sa.ll.sll_family = AF_PACKET; -+ sa.ll.sll_ifindex = ifr.ifr_ifindex; -+ if (bind (sock, &sa.common, sizeof sa)) { - if (errno == ENOPROTOOPT || errno == EPROTONOSUPPORT || - errno == ESOCKTNOSUPPORT || errno == EPFNOSUPPORT || - errno == EAFNOSUPPORT || errno == EINVAL) { -@@ -177,9 +201,18 @@ static void lpf_gen_filter_setup (struct - void if_register_receive (info) - struct interface_info *info; - { -+ int val; -+ - /* Open a LPF device and hang it on this interface... */ - info -> rfdesc = if_register_lpf (info); - -+ val = 1; -+ if (setsockopt (info -> rfdesc, SOL_PACKET, PACKET_AUXDATA, &val, -+ sizeof val) < 0) { -+ if (errno != ENOPROTOOPT) -+ log_fatal ("Failed to set auxiliary packet data: %m"); -+ } -+ - #if defined (HAVE_TR_SUPPORT) - if (info -> hw_address.hbuf [0] == HTYPE_IEEE802) - lpf_tr_filter_setup (info); -@@ -301,7 +334,6 @@ ssize_t send_packet (interface, packet, - double hh [16]; - double ih [1536 / sizeof (double)]; - unsigned char *buf = (unsigned char *)ih; -- struct sockaddr_pkt sa; - int result; - int fudge; - -@@ -322,17 +354,7 @@ ssize_t send_packet (interface, packet, - (unsigned char *)raw, len); - memcpy (buf + ibufp, raw, len); - -- /* For some reason, SOCK_PACKET sockets can't be connected, -- so we have to do a sentdo every time. */ -- memset (&sa, 0, sizeof sa); -- sa.spkt_family = AF_PACKET; -- strncpy ((char *)sa.spkt_device, -- (const char *)interface -> ifp, sizeof sa.spkt_device); -- sa.spkt_protocol = htons(ETH_P_IP); -- -- result = sendto (interface -> wfdesc, -- buf + fudge, ibufp + len - fudge, 0, -- (const struct sockaddr *)&sa, sizeof sa); -+ result = write (interface -> wfdesc, buf + fudge, ibufp + len - fudge); - if (result < 0) - log_error ("send_packet: %m"); - return result; -@@ -349,14 +371,35 @@ ssize_t receive_packet (interface, buf, - { - int length = 0; - int offset = 0; -+ int nocsum = 0; - unsigned char ibuf [1536]; - unsigned bufix = 0; - unsigned paylen; -+ unsigned char cmsgbuf[CMSG_LEN(sizeof(struct tpacket_auxdata))]; -+ struct iovec iov = { -+ .iov_base = ibuf, -+ .iov_len = sizeof ibuf, -+ }; -+ struct msghdr msg = { -+ .msg_iov = &iov, -+ .msg_iovlen = 1, -+ .msg_control = cmsgbuf, -+ .msg_controllen = sizeof(cmsgbuf), -+ }; -+ struct cmsghdr *cmsg; - -- length = read (interface -> rfdesc, ibuf, sizeof ibuf); -+ length = recvmsg (interface -> rfdesc, &msg, 0); - if (length <= 0) - return length; - -+ for (cmsg = CMSG_FIRSTHDR(&msg); cmsg; cmsg = CMSG_NXTHDR(&msg, cmsg)) { -+ if (cmsg->cmsg_level == SOL_PACKET && -+ cmsg->cmsg_type == PACKET_AUXDATA) { -+ struct tpacket_auxdata *aux = (void *)CMSG_DATA(cmsg); -+ nocsum = aux->tp_status & TP_STATUS_CSUMNOTREADY; -+ } -+ } -+ - bufix = 0; - /* Decode the physical header... */ - offset = decode_hw_header (interface, ibuf, bufix, hfrom); -@@ -373,7 +416,7 @@ ssize_t receive_packet (interface, buf, - - /* Decode the IP and UDP headers... */ - offset = decode_udp_ip_header (interface, ibuf, bufix, from, -- (unsigned)length, &paylen); -+ (unsigned)length, &paylen, nocsum); - - /* If the IP or UDP checksum was bad, skip the packet... */ - if (offset < 0) -diff -up dhcp-4.3.0rc1/common/nit.c.xen dhcp-4.3.0rc1/common/nit.c ---- dhcp-4.3.0rc1/common/nit.c.xen 2014-01-26 19:40:44.000000000 +0100 -+++ dhcp-4.3.0rc1/common/nit.c 2014-01-29 10:03:27.504941651 +0100 -@@ -363,7 +363,7 @@ ssize_t receive_packet (interface, buf, - - /* Decode the IP and UDP headers... */ - offset = decode_udp_ip_header (interface, ibuf, bufix, -- from, length, &paylen); -+ from, length, &paylen, 0); - - /* If the IP or UDP checksum was bad, skip the packet... */ - if (offset < 0) -diff -up dhcp-4.3.0rc1/common/packet.c.xen dhcp-4.3.0rc1/common/packet.c ---- dhcp-4.3.0rc1/common/packet.c.xen 2013-12-11 01:01:02.000000000 +0100 -+++ dhcp-4.3.0rc1/common/packet.c 2014-01-29 10:03:27.504941651 +0100 -@@ -226,7 +226,7 @@ ssize_t - decode_udp_ip_header(struct interface_info *interface, - unsigned char *buf, unsigned bufix, - struct sockaddr_in *from, unsigned buflen, -- unsigned *rbuflen) -+ unsigned *rbuflen, int nocsum) - { - unsigned char *data; - struct ip ip; -@@ -337,7 +337,7 @@ decode_udp_ip_header(struct interface_in - 8, IPPROTO_UDP + ulen)))); - - udp_packets_seen++; -- if (usum && usum != sum) { -+ if (!nocsum && usum && usum != sum) { - udp_packets_bad_checksum++; - if (udp_packets_seen > 4 && - (udp_packets_seen / udp_packets_bad_checksum) < 2) { -diff -up dhcp-4.3.0rc1/common/upf.c.xen dhcp-4.3.0rc1/common/upf.c ---- dhcp-4.3.0rc1/common/upf.c.xen 2014-01-26 19:40:44.000000000 +0100 -+++ dhcp-4.3.0rc1/common/upf.c 2014-01-29 10:03:27.505941638 +0100 -@@ -314,7 +314,7 @@ ssize_t receive_packet (interface, buf, - - /* Decode the IP and UDP headers... */ - offset = decode_udp_ip_header (interface, ibuf, bufix, -- from, length, &paylen); -+ from, length, &paylen, 0); - - /* If the IP or UDP checksum was bad, skip the packet... */ - if (offset < 0) -diff -up dhcp-4.3.0rc1/includes/dhcpd.h.xen dhcp-4.3.0rc1/includes/dhcpd.h ---- dhcp-4.3.0rc1/includes/dhcpd.h.xen 2014-01-29 10:03:27.489941844 +0100 -+++ dhcp-4.3.0rc1/includes/dhcpd.h 2014-01-29 10:03:27.506941626 +0100 -@@ -2861,7 +2861,7 @@ ssize_t decode_hw_header (struct interfa - unsigned, struct hardware *); - ssize_t decode_udp_ip_header (struct interface_info *, unsigned char *, - unsigned, struct sockaddr_in *, -- unsigned, unsigned *); -+ unsigned, unsigned *, int); - - /* ethernet.c */ - void assemble_ethernet_header (struct interface_info *, unsigned char *, diff --git a/dhcp.spec b/dhcp.spec index b5d7ea3..9d0a9e5 100644 --- a/dhcp.spec +++ b/dhcp.spec @@ -12,13 +12,13 @@ %global prever b1 #%%global VERSION %{version}-%{patchver} -#%%global VERSION %{version}%{prever} -%global VERSION %{version} +#%%global VERSION %{version} +%global VERSION %{version}%{prever} Summary: Dynamic host configuration protocol software Name: dhcp -Version: 4.3.1 -Release: 21%{?dist} +Version: 4.3.2 +Release: 0.1%{prever}%{?dist} # NEVER CHANGE THE EPOCH on this package. The previous maintainer (prior to # dcantrell maintaining the package) made incorrect use of the epoch and # that's why it is at 12 now. It should have never been used, but it was. @@ -45,7 +45,7 @@ Patch5: dhcp-release-by-ifup.patch Patch6: dhcp-dhclient-decline-backoff.patch Patch7: dhcp-unicast-bootp.patch Patch8: dhcp-default-requested-options.patch -Patch9: dhcp-xen-checksum.patch + Patch10: dhcp-manpages.patch Patch11: dhcp-paths.patch Patch12: dhcp-CLOEXEC.patch @@ -69,18 +69,12 @@ Patch29: dhcp-getifaddrs.patch Patch30: dhcp-omapi-leak.patch Patch31: dhcp-failOverPeer.patch Patch32: dhcp-interval.patch -Patch33: dhcp-range6.patch -Patch34: dhcp-no-subnet-error2info.patch -Patch35: dhcp-ffff-checksum.patch -Patch36: dhcp-sd_notify.patch -Patch37: dhcp-dhc6-life.patch -Patch38: dhcp-skip-vlan.patch -Patch39: dhcp-relay-hop-limit.patch -Patch40: dhcp-ldapgssapi.patch -Patch41: dhcp-option97-pxe-client-id.patch -Patch42: dhcp-stateless-DUID-LLT.patch -Patch43: dhcp-client-request-release-bind-iface.patch -Patch100: dhcp-bind996.patch +Patch33: dhcp-no-subnet-error2info.patch +Patch34: dhcp-sd_notify.patch +Patch35: dhcp-ldapgssapi.patch +Patch36: dhcp-option97-pxe-client-id.patch +Patch37: dhcp-stateless-DUID-LLT.patch +Patch38: dhcp-client-request-release-bind-iface.patch BuildRequires: autoconf BuildRequires: automake @@ -256,11 +250,6 @@ rm -rf includes/isc-dhcp # to the list of default requested DHCP options %patch8 -p1 -b .requested -# Handle partial UDP checksums (#221964) -# (Submitted to dhcp-bugs@isc.org - [ISC-Bugs #22806] - by Michael S. Tsirkin) -# http://comments.gmane.org/gmane.comp.emulators.kvm.devel/65236 -# https://lists.isc.org/pipermail/dhcp-hackers/2010-April/001835.html -%patch9 -p1 -b .xen # Various man-page-only fixes %patch10 -p1 -b .man @@ -346,49 +335,26 @@ rm -rf includes/isc-dhcp # (Submitted to dhcp-bugs@isc.org - [ISC-Bugs #28038]) %patch32 -p1 -b .interval -# Make sure range6 is correct for subnet6 where it's declared (#902966) -# (Submitted to dhcp-bugs@isc.org - [ISC-Bugs #32453]) -%patch33 -p1 -b .range6 - # 'No subnet declaration for ' should be info, not error. -%patch34 -p1 -b .error2info - -# dhcpd rejects the udp packet with checksum=0xffff (#1015997) -# (Submitted to dhcp-bugs@isc.org - [ISC-Bugs #25587]) -%patch35 -p1 -b .ffff +%patch33 -p1 -b .error2info # support for sending startup notification to systemd (#1077666) -%patch36 -p1 -b .sd_notify - -# [dhclient -6] infinite preferred/valid lifetime represented as -1 (#1133839) -# (Submitted to dhcp-bugs@isc.org - [ISC-Bugs #37084]) -%patch37 -p1 -b .life - -# dhcpd generates spurious responses when seeing requests from vlans on plain interface (#1150587) -# (Submitted to dhcp-bugs@isc.org - [ISC-Bugs #37415]) -%patch38 -p1 -b .vlan - -# Relay-forward Message's Hop Limit should be 32 (#1147240) -# (Submitted to dhcp-bugs@isc.org - [ISC-Bugs #37426]) -%patch39 -p1 -b .hop-limit +%patch34 -p1 -b .sd_notify # GSSAPI support for ldap authentication (#1150542) -%patch40 -p1 -b .ldapgssapi +%patch35 -p1 -b .ldapgssapi # option 97 - pxe-client-id (#1058674) # (Submitted to dhcp-bugs@isc.org - [ISC-Bugs #38110]) -%patch41 -p1 -b .option97 +%patch36 -p1 -b .option97 # dhclient: write DUID_LLT even in stateless mode (#1156356) # (Submitted to dhcp-bugs@isc.org - [ISC-Bugs #38144]) -%patch42 -p1 -b .stateless-DUID-LLT +%patch37 -p1 -b .stateless-DUID-LLT # send unicast request/release via correct interface (#800561, #1177351) # (Submitted to dhcp-bugs@isc.org - [ISC-Bugs #30544]) -%patch43 -p1 -b .bind-iface - -# to build against bind-9.9.6 -%patch100 -p1 -b .bind996 +%patch38 -p1 -b .bind-iface # DHCLIENT_DEFAULT_PREFIX_LEN 64 -> 128 # https://bugzilla.gnome.org/show_bug.cgi?id=656610 @@ -691,6 +657,9 @@ done %doc doc/html/ %changelog +* Sun Feb 08 2015 Jiri Popelka - 12:4.3.2-0.1b1 +- 4.3.2b1 + * Tue Feb 03 2015 Jiri Popelka - 12:4.3.1-21 - send unicast request/release via correct interface (#800561, #1177351)