diff --git a/dhcp-4.2.0-dhclient-decline-backoff.patch b/dhcp-4.2.0-dhclient-decline-backoff.patch index 81bec7b..ad9562f 100644 --- a/dhcp-4.2.0-dhclient-decline-backoff.patch +++ b/dhcp-4.2.0-dhclient-decline-backoff.patch @@ -1,7 +1,7 @@ -diff -up dhcp-4.2.0/client/dhclient.c.backoff dhcp-4.2.0/client/dhclient.c ---- dhcp-4.2.0/client/dhclient.c.backoff 2010-07-21 13:37:03.000000000 +0200 -+++ dhcp-4.2.0/client/dhclient.c 2010-07-21 13:38:31.000000000 +0200 -@@ -1208,6 +1208,8 @@ void state_init (cpp) +diff -up dhcp-4.2.7b1/client/dhclient.c.backoff dhcp-4.2.7b1/client/dhclient.c +--- dhcp-4.2.7b1/client/dhclient.c.backoff 2014-07-10 19:29:47.883008643 +0200 ++++ dhcp-4.2.7b1/client/dhclient.c 2014-07-10 19:31:16.160754764 +0200 +@@ -1255,6 +1255,8 @@ void state_init (cpp) void *cpp; { struct client_state *client = cpp; @@ -10,7 +10,7 @@ diff -up dhcp-4.2.0/client/dhclient.c.backoff dhcp-4.2.0/client/dhclient.c ASSERT_STATE(state, S_INIT); -@@ -1220,9 +1222,18 @@ void state_init (cpp) +@@ -1267,9 +1269,18 @@ void state_init (cpp) client -> first_sending = cur_time; client -> interval = client -> config -> initial_interval; @@ -32,15 +32,15 @@ diff -up dhcp-4.2.0/client/dhclient.c.backoff dhcp-4.2.0/client/dhclient.c } /* -@@ -1501,6 +1512,7 @@ void bind_lease (client) - send_decline (client); - destroy_client_lease (client -> new); - client -> new = (struct client_lease *)0; -+ client -> state = S_DECLINED; - state_init (client); - return; - } -@@ -3711,6 +3723,7 @@ void client_location_changed () +@@ -1566,6 +1577,7 @@ void bind_lease (client) + "try (declined). Exiting."); + exit(2); + } else { ++ client -> state = S_DECLINED; + state_init(client); + return; + } +@@ -3912,6 +3924,7 @@ void client_location_changed () case S_INIT: case S_REBINDING: case S_STOPPED: @@ -48,10 +48,10 @@ diff -up dhcp-4.2.0/client/dhclient.c.backoff dhcp-4.2.0/client/dhclient.c break; } client -> state = S_INIT; -diff -up dhcp-4.2.0/includes/dhcpd.h.backoff dhcp-4.2.0/includes/dhcpd.h ---- dhcp-4.2.0/includes/dhcpd.h.backoff 2010-07-21 13:29:05.000000000 +0200 -+++ dhcp-4.2.0/includes/dhcpd.h 2010-07-21 13:38:31.000000000 +0200 -@@ -1056,7 +1056,8 @@ enum dhcp_state { +diff -up dhcp-4.2.7b1/includes/dhcpd.h.backoff dhcp-4.2.7b1/includes/dhcpd.h +--- dhcp-4.2.7b1/includes/dhcpd.h.backoff 2014-07-10 19:29:47.879008699 +0200 ++++ dhcp-4.2.7b1/includes/dhcpd.h 2014-07-10 19:29:47.888008572 +0200 +@@ -1083,7 +1083,8 @@ enum dhcp_state { S_BOUND = 5, S_RENEWING = 6, S_REBINDING = 7, diff --git a/dhcp-4.2.0-logpid.patch b/dhcp-4.2.0-logpid.patch deleted file mode 100644 index c24adb1..0000000 --- a/dhcp-4.2.0-logpid.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up dhcp-4.2.0/client/dhclient.c.logpid dhcp-4.2.0/client/dhclient.c ---- dhcp-4.2.0/client/dhclient.c.logpid 2010-07-21 16:13:52.000000000 +0200 -+++ dhcp-4.2.0/client/dhclient.c 2010-07-21 16:16:51.000000000 +0200 -@@ -154,7 +154,7 @@ main(int argc, char **argv) { - else if (fd != -1) - close(fd); - -- openlog("dhclient", LOG_NDELAY, LOG_DAEMON); -+ openlog("dhclient", LOG_NDELAY | LOG_PID, LOG_DAEMON); - - #if !(defined(DEBUG) || defined(__CYGWIN32__)) - setlogmask(LOG_UPTO(LOG_INFO)); diff --git a/dhcp-4.2.1-retransmission.patch b/dhcp-4.2.1-retransmission.patch deleted file mode 100644 index 18e447f..0000000 --- a/dhcp-4.2.1-retransmission.patch +++ /dev/null @@ -1,48 +0,0 @@ -diff -up dhcp-4.2.1b1/client/dhc6.c.retransmission dhcp-4.2.1b1/client/dhc6.c ---- dhcp-4.2.1b1/client/dhc6.c.retransmission 2011-01-28 08:40:56.000000000 +0100 -+++ dhcp-4.2.1b1/client/dhc6.c 2011-01-28 08:39:22.000000000 +0100 -@@ -361,7 +361,7 @@ dhc6_retrans_init(struct client_state *c - static void - dhc6_retrans_advance(struct client_state *client) - { -- struct timeval elapsed; -+ struct timeval elapsed, elapsed_after_RT; - - /* elapsed = cur - start */ - elapsed.tv_sec = cur_tv.tv_sec - client->start_time.tv_sec; -@@ -378,6 +378,8 @@ dhc6_retrans_advance(struct client_state - elapsed.tv_sec += 1; - elapsed.tv_usec -= 1000000; - } -+ elapsed_after_RT.tv_sec = elapsed.tv_sec; -+ elapsed_after_RT.tv_usec = elapsed.tv_usec; - - /* - * RT for each subsequent message transmission is based on the previous -@@ -415,13 +417,10 @@ dhc6_retrans_advance(struct client_state - elapsed.tv_usec -= 1000000; - } - if (elapsed.tv_sec >= client->MRD) { -- /* -- * wake at RT + cur = start + MRD -- */ -- client->RT = client->MRD + -- (client->start_time.tv_sec - cur_tv.tv_sec); -- client->RT = client->RT * 100 + -- (client->start_time.tv_usec - cur_tv.tv_usec) / 10000; -+ client->RT = client->MRD - elapsed_after_RT.tv_sec; -+ client->RT = client->RT * 100 - elapsed_after_RT.tv_usec / 10000; -+ if (client->RT < 0) -+ client->RT = 0; - } - client->txcount++; - } -@@ -1497,7 +1496,7 @@ check_timing6 (struct client_state *clie - } - - /* Check if finished (-1 argument). */ -- if ((client->MRD != 0) && (elapsed.tv_sec > client->MRD)) { -+ if ((client->MRD != 0) && (elapsed.tv_sec >= client->MRD)) { - log_info("Max retransmission duration exceeded."); - return(CHK_TIM_MRD_EXCEEDED); - } diff --git a/dhcp-4.2.3-dhclient-decline-onetry.patch b/dhcp-4.2.3-dhclient-decline-onetry.patch deleted file mode 100644 index af3314d..0000000 --- a/dhcp-4.2.3-dhclient-decline-onetry.patch +++ /dev/null @@ -1,27 +0,0 @@ -diff -up dhcp-4.2.3/client/dhclient.c.decline-onetry dhcp-4.2.3/client/dhclient.c ---- dhcp-4.2.3/client/dhclient.c.decline-onetry 2011-11-24 14:21:50.000000000 +0100 -+++ dhcp-4.2.3/client/dhclient.c 2011-11-24 14:23:44.472893215 +0100 -@@ -1704,11 +1704,18 @@ void bind_lease (client) - if (script_go (client)) { - make_decline (client, client -> new); - send_decline (client); -- destroy_client_lease (client -> new); -- client -> new = (struct client_lease *)0; -- client -> state = S_DECLINED; -- state_init (client); -- return; -+ if (onetry) { -+ if (!quiet) -+ log_info ("Unable to obtain a lease on first try.%s", -+ " Exiting."); -+ exit (2); -+ } else { -+ destroy_client_lease (client -> new); -+ client -> new = (struct client_lease *)0; -+ client -> state = S_DECLINED; -+ state_init (client); -+ return; -+ } - } - - /* Write out the new lease if it has been long enough. */ diff --git a/dhcp-4.2.4-P2-conflex-do-forward-updates.patch b/dhcp-4.2.4-P2-conflex-do-forward-updates.patch deleted file mode 100644 index 679fdd3..0000000 --- a/dhcp-4.2.4-P2-conflex-do-forward-updates.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up dhcp-4.2.4-P2/common/conflex.c.orig dhcp-4.2.4-P2/common/conflex.c ---- dhcp-4.2.4-P2/common/conflex.c.orig 2012-08-28 04:13:03.000000000 +0200 -+++ dhcp-4.2.4-P2/common/conflex.c 2012-10-09 14:01:29.922104149 +0200 -@@ -889,7 +889,7 @@ intern(char *atom, enum dhcp_token dfv) - if (!strcasecmp(atom + 7, "list")) - return DOMAIN_LIST; - } -- if (!strcasecmp (atom + 1, "o-forward-update")) -+ if (!strcasecmp (atom + 1, "o-forward-updates")) - return DO_FORWARD_UPDATE; - if (!strcasecmp (atom + 1, "ebug")) - return TOKEN_DEBUG; diff --git a/dhcp-4.2.4-P2-dupl-key.patch b/dhcp-4.2.4-P2-dupl-key.patch deleted file mode 100644 index 85c7473..0000000 --- a/dhcp-4.2.4-P2-dupl-key.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -up dhcp-4.2.4-P2/common/parse.c.dupl-key dhcp-4.2.4-P2/common/parse.c ---- dhcp-4.2.4-P2/common/parse.c.dupl-key 2012-11-16 15:31:30.568561745 +0100 -+++ dhcp-4.2.4-P2/common/parse.c 2012-11-16 15:31:30.577561619 +0100 -@@ -2893,6 +2893,9 @@ int parse_zone (struct dns_zone *zone, s - } - val = key_name; - } -+ if (zone->key) -+ log_fatal("Multiple key definition for zone %s.", -+ zone->name); - if (omapi_auth_key_lookup_name (&zone -> key, val) != - ISC_R_SUCCESS) - parse_warn (cfile, "unknown key %s", val); diff --git a/dhcp-4.2.4-UseMulticast.patch b/dhcp-4.2.4-UseMulticast.patch index d0c5dfe..6bde09d 100644 --- a/dhcp-4.2.4-UseMulticast.patch +++ b/dhcp-4.2.4-UseMulticast.patch @@ -1,7 +1,7 @@ -diff -up dhcp-4.2.4b1/server/dhcpv6.c.UseMulticast dhcp-4.2.4b1/server/dhcpv6.c ---- dhcp-4.2.4b1/server/dhcpv6.c.UseMulticast 2012-04-11 00:14:04.000000000 +0200 -+++ dhcp-4.2.4b1/server/dhcpv6.c 2012-04-16 19:21:43.575923732 +0200 -@@ -346,6 +346,48 @@ generate_new_server_duid(void) { +diff -up dhcp-4.2.7b1/server/dhcpv6.c.UseMulticast dhcp-4.2.7b1/server/dhcpv6.c +--- dhcp-4.2.7b1/server/dhcpv6.c.UseMulticast 2014-07-02 21:53:30.000000000 +0200 ++++ dhcp-4.2.7b1/server/dhcpv6.c 2014-07-10 19:35:08.004461598 +0200 +@@ -370,6 +370,48 @@ generate_new_server_duid(void) { } /* @@ -50,7 +50,22 @@ diff -up dhcp-4.2.4b1/server/dhcpv6.c.UseMulticast dhcp-4.2.4b1/server/dhcpv6.c * Get the client identifier from the packet. */ isc_result_t -@@ -1404,6 +1446,56 @@ lease_to_client(struct data_string *repl +@@ -700,14 +742,12 @@ static const int required_opts[] = { + D6O_PREFERENCE, + 0 + }; +-#if defined (RFC3315_PRE_ERRATA_2010_08) + static const int required_opts_NAA[] = { + D6O_CLIENTID, + D6O_SERVERID, + D6O_STATUS_CODE, + 0 + }; +-#endif /* defined (RFC3315_PRE_ERRATA_2010_08) */ + static const int required_opts_solicit[] = { + D6O_CLIENTID, + D6O_SERVERID, +@@ -1443,6 +1483,56 @@ lease_to_client(struct data_string *repl reply.shared->group); } @@ -107,7 +122,7 @@ diff -up dhcp-4.2.4b1/server/dhcpv6.c.UseMulticast dhcp-4.2.4b1/server/dhcpv6.c /* * RFC3315 section 17.2.2 (Solicit): * -@@ -1429,8 +1521,8 @@ lease_to_client(struct data_string *repl +@@ -1468,8 +1558,8 @@ lease_to_client(struct data_string *repl * Sends a Renew/Rebind if the IA is not in the Reply message. */ #if defined (RFC3315_PRE_ERRATA_2010_08) @@ -118,7 +133,7 @@ diff -up dhcp-4.2.4b1/server/dhcpv6.c.UseMulticast dhcp-4.2.4b1/server/dhcpv6.c { /* Set the NoAddrsAvail status code. */ if (!set_status_code(STATUS_NoAddrsAvail, -@@ -1477,6 +1569,7 @@ lease_to_client(struct data_string *repl +@@ -1516,6 +1606,7 @@ lease_to_client(struct data_string *repl * Having stored the client's IA's, store any options that * will fit in the remaining space. */ @@ -126,7 +141,7 @@ diff -up dhcp-4.2.4b1/server/dhcpv6.c.UseMulticast dhcp-4.2.4b1/server/dhcpv6.c reply.cursor += store_options6((char *)reply.buf.data + reply.cursor, sizeof(reply.buf) - reply.cursor, reply.opt_state, reply.packet, -@@ -4126,7 +4219,6 @@ dhcpv6_solicit(struct data_string *reply +@@ -4307,7 +4398,6 @@ dhcpv6_solicit(struct data_string *reply * Very similar to Solicit handling, except the server DUID is required. */ @@ -134,7 +149,7 @@ diff -up dhcp-4.2.4b1/server/dhcpv6.c.UseMulticast dhcp-4.2.4b1/server/dhcpv6.c static void dhcpv6_request(struct data_string *reply_ret, struct packet *packet) { struct data_string client_id; -@@ -4456,7 +4548,6 @@ exit: +@@ -4637,7 +4727,6 @@ exit: * except for the error code of when addresses don't match. */ @@ -142,7 +157,7 @@ diff -up dhcp-4.2.4b1/server/dhcpv6.c.UseMulticast dhcp-4.2.4b1/server/dhcpv6.c static void dhcpv6_renew(struct data_string *reply, struct packet *packet) { struct data_string client_id; -@@ -4700,18 +4791,60 @@ iterate_over_ia_na(struct data_string *r +@@ -4881,18 +4970,60 @@ iterate_over_ia_na(struct data_string *r goto exit; } @@ -213,7 +228,7 @@ diff -up dhcp-4.2.4b1/server/dhcpv6.c.UseMulticast dhcp-4.2.4b1/server/dhcpv6.c /* * Loop through the IA_NA reported by the client, and deal with -@@ -4849,6 +4982,7 @@ iterate_over_ia_na(struct data_string *r +@@ -5030,6 +5161,7 @@ iterate_over_ia_na(struct data_string *r /* * Return our reply to the caller. */ @@ -221,7 +236,7 @@ diff -up dhcp-4.2.4b1/server/dhcpv6.c.UseMulticast dhcp-4.2.4b1/server/dhcpv6.c reply_ret->len = reply_ofs; reply_ret->buffer = NULL; if (!buffer_allocate(&reply_ret->buffer, reply_ofs, MDL)) { -@@ -4894,7 +5028,6 @@ exit: +@@ -5075,7 +5207,6 @@ exit: * we still need to be aware of this possibility. */ @@ -229,7 +244,7 @@ diff -up dhcp-4.2.4b1/server/dhcpv6.c.UseMulticast dhcp-4.2.4b1/server/dhcpv6.c /* TODO: IA_TA */ static void dhcpv6_decline(struct data_string *reply, struct packet *packet) { -@@ -5364,7 +5497,6 @@ exit: +@@ -5545,7 +5676,6 @@ exit: * Release means a client is done with the leases. */ diff --git a/dhcp-4.2.4-dhclient-options.patch b/dhcp-4.2.4-dhclient-options.patch index 40c3271..a6fbefa 100644 --- a/dhcp-4.2.4-dhclient-options.patch +++ b/dhcp-4.2.4-dhclient-options.patch @@ -1,7 +1,41 @@ -diff -up dhcp-4.2.1b1/client/dhclient.8.man dhcp-4.2.1b1/client/dhclient.8 ---- dhcp-4.2.1b1/client/dhclient.8.man 2010-07-14 22:09:34.000000000 +0200 -+++ dhcp-4.2.1b1/client/dhclient.8 2011-01-27 18:19:07.000000000 +0100 -@@ -115,6 +115,33 @@ dhclient - Dynamic Host Configuration Pr +diff -up dhcp-4.2.7b1/client/clparse.c.gKnyyf dhcp-4.2.7b1/client/clparse.c +--- dhcp-4.2.7b1/client/clparse.c.gKnyyf 2014-07-02 21:53:30.000000000 +0200 ++++ dhcp-4.2.7b1/client/clparse.c 2014-07-10 19:13:31.234863761 +0200 +@@ -148,6 +148,7 @@ isc_result_t read_client_conf () + /* Requested lease time, used by DHCPv6 (DHCPv4 uses the option cache) + */ + top_level_config.requested_lease = 7200; ++ top_level_config.bootp_broadcast_always = 0; + + group_allocate (&top_level_config.on_receipt, MDL); + if (!top_level_config.on_receipt) +@@ -314,7 +315,8 @@ void read_client_leases () + interface-declaration | + LEASE client-lease-statement | + ALIAS client-lease-statement | +- KEY key-definition */ ++ KEY key-definition | ++ BOOTP_BROADCAST_ALWAYS */ + + void parse_client_statement (cfile, ip, config) + struct parse *cfile; +@@ -732,6 +734,12 @@ void parse_client_statement (cfile, ip, + parse_reject_statement (cfile, config); + return; + ++ case BOOTP_BROADCAST_ALWAYS: ++ token = next_token(&val, (unsigned*)0, cfile); ++ config -> bootp_broadcast_always = 1; ++ parse_semi (cfile); ++ return; ++ + default: + lose = 0; + stmt = (struct executable_statement *)0; +diff -up dhcp-4.2.7b1/client/dhclient.8.gKnyyf dhcp-4.2.7b1/client/dhclient.8 +--- dhcp-4.2.7b1/client/dhclient.8.gKnyyf 2014-07-02 21:53:30.000000000 +0200 ++++ dhcp-4.2.7b1/client/dhclient.8 2014-07-10 19:13:31.234863761 +0200 +@@ -118,6 +118,33 @@ dhclient - Dynamic Host Configuration Pr .B -w ] [ @@ -35,7 +69,7 @@ diff -up dhcp-4.2.1b1/client/dhclient.8.man dhcp-4.2.1b1/client/dhclient.8 .B -v ] [ -@@ -264,6 +291,69 @@ not to exit when it doesn't find any suc +@@ -265,6 +292,69 @@ not to exit when it doesn't find any suc program can then be used to notify the client when a network interface has been added or removed, so that the client can attempt to configure an IP address on that interface. @@ -105,43 +139,9 @@ diff -up dhcp-4.2.1b1/client/dhclient.8.man dhcp-4.2.1b1/client/dhclient.8 .TP .BI \-n Do not configure any interfaces. This is most likely to be useful in -diff -up dhcp-4.2.4-P2/client/clparse.c.options dhcp-4.2.4-P2/client/clparse.c ---- dhcp-4.2.4-P2/client/clparse.c.options 2012-08-24 21:11:21.000000000 +0200 -+++ dhcp-4.2.4-P2/client/clparse.c 2012-09-26 10:34:27.140049896 +0200 -@@ -154,6 +154,7 @@ isc_result_t read_client_conf () - /* Requested lease time, used by DHCPv6 (DHCPv4 uses the option cache) - */ - top_level_config.requested_lease = 7200; -+ top_level_config.bootp_broadcast_always = 0; - - group_allocate (&top_level_config.on_receipt, MDL); - if (!top_level_config.on_receipt) -@@ -320,7 +321,8 @@ void read_client_leases () - interface-declaration | - LEASE client-lease-statement | - ALIAS client-lease-statement | -- KEY key-definition */ -+ KEY key-definition | -+ BOOTP_BROADCAST_ALWAYS */ - - void parse_client_statement (cfile, ip, config) - struct parse *cfile; -@@ -739,6 +741,12 @@ void parse_client_statement (cfile, ip, - parse_reject_statement (cfile, config); - return; - -+ case BOOTP_BROADCAST_ALWAYS: -+ token = next_token(&val, (unsigned*)0, cfile); -+ config -> bootp_broadcast_always = 1; -+ parse_semi (cfile); -+ return; -+ - default: - lose = 0; - stmt = (struct executable_statement *)0; -diff -up dhcp-4.2.4-P2/client/dhclient.c.options dhcp-4.2.4-P2/client/dhclient.c ---- dhcp-4.2.4-P2/client/dhclient.c.options 2012-08-28 04:13:03.000000000 +0200 -+++ dhcp-4.2.4-P2/client/dhclient.c 2012-09-26 10:36:10.396967531 +0200 +diff -up dhcp-4.2.7b1/client/dhclient.c.gKnyyf dhcp-4.2.7b1/client/dhclient.c +--- dhcp-4.2.7b1/client/dhclient.c.gKnyyf 2014-07-02 21:53:30.000000000 +0200 ++++ dhcp-4.2.7b1/client/dhclient.c 2014-07-10 19:14:14.670247569 +0200 @@ -39,6 +39,12 @@ #include #include @@ -181,9 +181,9 @@ diff -up dhcp-4.2.4-P2/client/dhclient.c.options dhcp-4.2.4-P2/client/dhclient.c /* Initialize client globals. */ memset(&default_duid, 0, sizeof(default_duid)); -@@ -310,6 +328,88 @@ main(int argc, char **argv) { - } else if (!strcmp(argv[i], "--version")) { - log_info("isc-dhclient-%s", PACKAGE_VERSION); +@@ -316,6 +334,88 @@ main(int argc, char **argv) { + strlen(PACKAGE_VERSION))); + IGNORE_RET(write(STDERR_FILENO, "\n", 1)); exit(0); + } else if (!strcmp(argv[i], "-I")) { + if ((++i == argc) || (argv[i] == NULL) || (*(argv[i])=='\0')) { @@ -270,7 +270,7 @@ diff -up dhcp-4.2.4-P2/client/dhclient.c.options dhcp-4.2.4-P2/client/dhclient.c } else if (argv[i][0] == '-') { usage(); } else if (interfaces_requested < 0) { -@@ -484,6 +584,156 @@ main(int argc, char **argv) { +@@ -497,6 +597,156 @@ main(int argc, char **argv) { /* Parse the dhclient.conf file. */ read_client_conf(); @@ -427,7 +427,7 @@ diff -up dhcp-4.2.4-P2/client/dhclient.c.options dhcp-4.2.4-P2/client/dhclient.c /* Parse the lease database. */ read_client_leases(); -@@ -715,6 +965,10 @@ static void usage() +@@ -735,6 +985,10 @@ static void usage() " [-s server-addr] [-cf config-file] " "[-lf lease-file]\n" " [-pf pid-file] [--no-pid] [-e VAR=val]\n" @@ -438,7 +438,7 @@ diff -up dhcp-4.2.4-P2/client/dhclient.c.options dhcp-4.2.4-P2/client/dhclient.c " [-sf script-file] [interface]"); } -@@ -2421,7 +2675,8 @@ void make_discover (client, lease) +@@ -2456,7 +2710,8 @@ void make_discover (client, lease) client -> packet.xid = random (); client -> packet.secs = 0; /* filled in by send_discover. */ @@ -448,7 +448,7 @@ diff -up dhcp-4.2.4-P2/client/dhclient.c.options dhcp-4.2.4-P2/client/dhclient.c client -> packet.flags = 0; else client -> packet.flags = htons (BOOTP_BROADCAST); -@@ -2505,7 +2760,9 @@ void make_request (client, lease) +@@ -2540,7 +2795,9 @@ void make_request (client, lease) } else { memset (&client -> packet.ciaddr, 0, sizeof client -> packet.ciaddr); @@ -459,7 +459,7 @@ diff -up dhcp-4.2.4-P2/client/dhclient.c.options dhcp-4.2.4-P2/client/dhclient.c client -> packet.flags = 0; else client -> packet.flags = htons (BOOTP_BROADCAST); -@@ -2567,7 +2824,8 @@ void make_decline (client, lease) +@@ -2602,7 +2859,8 @@ void make_decline (client, lease) client -> packet.hops = 0; client -> packet.xid = client -> xid; client -> packet.secs = 0; /* Filled in by send_request. */ @@ -469,10 +469,10 @@ diff -up dhcp-4.2.4-P2/client/dhclient.c.options dhcp-4.2.4-P2/client/dhclient.c client -> packet.flags = 0; else client -> packet.flags = htons (BOOTP_BROADCAST); -diff -up dhcp-4.2.4-P2/common/conflex.c.options dhcp-4.2.4-P2/common/conflex.c ---- dhcp-4.2.4-P2/common/conflex.c.options 2012-08-28 04:13:03.000000000 +0200 -+++ dhcp-4.2.4-P2/common/conflex.c 2012-09-26 10:34:27.142049876 +0200 -@@ -808,6 +808,8 @@ intern(char *atom, enum dhcp_token dfv) +diff -up dhcp-4.2.7b1/common/conflex.c.gKnyyf dhcp-4.2.7b1/common/conflex.c +--- dhcp-4.2.7b1/common/conflex.c.gKnyyf 2014-07-02 21:53:30.000000000 +0200 ++++ dhcp-4.2.7b1/common/conflex.c 2014-07-10 19:13:31.237863718 +0200 +@@ -811,6 +811,8 @@ intern(char *atom, enum dhcp_token dfv) return BALANCE; if (!strcasecmp (atom + 1, "ound")) return BOUND; @@ -481,10 +481,10 @@ diff -up dhcp-4.2.4-P2/common/conflex.c.options dhcp-4.2.4-P2/common/conflex.c break; case 'c': if (!strcasecmp(atom + 1, "ase")) -diff -up dhcp-4.2.4-P2/includes/dhcpd.h.options dhcp-4.2.4-P2/includes/dhcpd.h ---- dhcp-4.2.4-P2/includes/dhcpd.h.options 2012-08-28 04:13:22.000000000 +0200 -+++ dhcp-4.2.4-P2/includes/dhcpd.h 2012-09-26 10:34:27.143049865 +0200 -@@ -1153,6 +1153,9 @@ struct client_config { +diff -up dhcp-4.2.7b1/includes/dhcpd.h.gKnyyf dhcp-4.2.7b1/includes/dhcpd.h +--- dhcp-4.2.7b1/includes/dhcpd.h.gKnyyf 2014-07-02 21:53:30.000000000 +0200 ++++ dhcp-4.2.7b1/includes/dhcpd.h 2014-07-10 19:13:31.237863718 +0200 +@@ -1148,6 +1148,9 @@ struct client_config { int do_forward_update; /* If nonzero, and if we have the information we need, update the A record for the address we get. */ @@ -494,10 +494,10 @@ diff -up dhcp-4.2.4-P2/includes/dhcpd.h.options dhcp-4.2.4-P2/includes/dhcpd.h }; /* Per-interface state used in the dhcp client... */ -diff -up dhcp-4.2.4-P2/includes/dhctoken.h.options dhcp-4.2.4-P2/includes/dhctoken.h ---- dhcp-4.2.4-P2/includes/dhctoken.h.options 2012-08-28 04:13:03.000000000 +0200 -+++ dhcp-4.2.4-P2/includes/dhctoken.h 2012-09-26 10:34:27.144049854 +0200 -@@ -364,7 +364,8 @@ enum dhcp_token { +diff -up dhcp-4.2.7b1/includes/dhctoken.h.gKnyyf dhcp-4.2.7b1/includes/dhctoken.h +--- dhcp-4.2.7b1/includes/dhctoken.h.gKnyyf 2014-07-02 21:53:30.000000000 +0200 ++++ dhcp-4.2.7b1/includes/dhctoken.h 2014-07-10 19:13:31.237863718 +0200 +@@ -359,7 +359,8 @@ enum dhcp_token { GETHOSTBYNAME = 665, PRIMARY6 = 666, SECONDARY6 = 667, diff --git a/dhcp-4.2.4-getifaddrs.patch b/dhcp-4.2.4-getifaddrs.patch index 330a1fc..c0e3135 100644 --- a/dhcp-4.2.4-getifaddrs.patch +++ b/dhcp-4.2.4-getifaddrs.patch @@ -1,19 +1,7 @@ -From c09dd24a7d63988e0acef7d033bd3e088fc005c0 Mon Sep 17 00:00:00 2001 -From: Jiri Popelka -Date: Thu, 24 Jan 2013 12:39:50 +0100 -Subject: [PATCH] Linux interface discovery - -Use the same discovery code as for *BSD and OS X, -i.e. the getifaddrs() function. ---- - common/discover.c | 398 +++--------------------------------------------------- - 1 file changed, 17 insertions(+), 381 deletions(-) - -diff --git a/common/discover.c b/common/discover.c -index 1d84219..f2a8f6d 100644 ---- a/common/discover.c -+++ b/common/discover.c -@@ -379,391 +379,13 @@ end_iface_scan(struct iface_conf_list *ifaces) { +diff -up dhcp-4.2.7b1/common/discover.c.eqpQCB dhcp-4.2.7b1/common/discover.c +--- dhcp-4.2.7b1/common/discover.c.eqpQCB 2014-07-02 19:58:38.000000000 +0200 ++++ dhcp-4.2.7b1/common/discover.c 2014-07-10 19:18:38.749501236 +0200 +@@ -373,391 +373,13 @@ end_iface_scan(struct iface_conf_list *i ifaces->sock = -1; } @@ -55,7 +43,7 @@ index 1d84219..f2a8f6d 100644 - */ -int -begin_iface_scan(struct iface_conf_list *ifaces) { -- char buf[256]; +- char buf[IF_LINE_LENGTH]; - int len; - int i; - @@ -128,7 +116,7 @@ index 1d84219..f2a8f6d 100644 - */ -static int -next_iface4(struct iface_info *info, int *err, struct iface_conf_list *ifaces) { -- char buf[256]; +- char buf[IF_LINE_LENGTH]; - int len; - char *p; - char *name; @@ -252,7 +240,7 @@ index 1d84219..f2a8f6d 100644 - */ -static int -next_iface6(struct iface_info *info, int *err, struct iface_conf_list *ifaces) { -- char buf[256]; +- char buf[IF_LINE_LENGTH]; - int len; - char *p; - char *name; @@ -406,7 +394,7 @@ index 1d84219..f2a8f6d 100644 * function. * * The getifaddrs() man page describes the use. -@@ -811,6 +433,8 @@ begin_iface_scan(struct iface_conf_list *ifaces) { +@@ -805,6 +427,8 @@ begin_iface_scan(struct iface_conf_list */ int next_iface(struct iface_info *info, int *err, struct iface_conf_list *ifaces) { @@ -415,7 +403,7 @@ index 1d84219..f2a8f6d 100644 if (ifaces->next == NULL) { *err = 0; return 0; -@@ -822,8 +446,20 @@ next_iface(struct iface_info *info, int *err, struct iface_conf_list *ifaces) { +@@ -816,8 +440,20 @@ next_iface(struct iface_info *info, int return 0; } strcpy(info->name, ifaces->next->ifa_name); @@ -438,6 +426,3 @@ index 1d84219..f2a8f6d 100644 info->flags = ifaces->next->ifa_flags; ifaces->next = ifaces->next->ifa_next; *err = 0; --- -1.8.1 - diff --git a/dhcp-4.2.5-next-server.patch b/dhcp-4.2.5-next-server.patch deleted file mode 100644 index c903bd1..0000000 --- a/dhcp-4.2.5-next-server.patch +++ /dev/null @@ -1,72 +0,0 @@ -From f113ad7822fcd691e72f61cab7412595951222db Mon Sep 17 00:00:00 2001 -From: Tomas Hozza -Date: Wed, 3 Apr 2013 10:20:18 +0200 -Subject: [PATCH] Expose next-server DHCPv4 option to dhclient script - -Currently dhclient does not exposes next-server option -to the dhclient script. this patch fixes this. - -Signed-off-by: Tomas Hozza ---- - client/dhclient.c | 14 +++++++++++--- - includes/dhcpd.h | 2 +- - 2 files changed, 12 insertions(+), 4 deletions(-) - -diff --git a/client/dhclient.c b/client/dhclient.c -index 551ccbf..e8df320 100644 ---- a/client/dhclient.c -+++ b/client/dhclient.c -@@ -993,7 +993,7 @@ void state_selecting (cpp) - client -> state = S_REQUESTING; - - /* Bind to the address we received. */ -- bind_lease (client); -+ bind_lease (client, NULL); - return; - } - -@@ -1183,11 +1183,12 @@ void dhcpack (packet) - if (client -> new -> rebind < cur_time) - client -> new -> rebind = TIME_MAX; - -- bind_lease (client); -+ bind_lease (client, &packet -> raw -> siaddr); - } - --void bind_lease (client) -+void bind_lease (client, siaddr) - struct client_state *client; -+ struct in_addr *siaddr; - { - struct timeval tv; - -@@ -1209,6 +1210,13 @@ void bind_lease (client) - if (client -> alias) - script_write_params (client, "alias_", client -> alias); - -+ if (siaddr) { -+ char buf[INET_ADDRSTRLEN]; -+ -+ if (inet_ntop (AF_INET, (void *) siaddr, buf, sizeof (buf))) -+ client_envadd (client, "new_", "next_server", "%s", buf); -+ } -+ - /* If the BOUND/RENEW code detects another machine using the - offered address, it exits nonzero. We need to send a - DHCPDECLINE and toss the lease. */ -diff --git a/includes/dhcpd.h b/includes/dhcpd.h -index 12ed2ba..4e93e68 100644 ---- a/includes/dhcpd.h -+++ b/includes/dhcpd.h -@@ -2712,7 +2712,7 @@ void state_bound (void *); - void state_stop (void *); - void state_panic (void *); - --void bind_lease (struct client_state *); -+void bind_lease (struct client_state *, struct in_addr *); - - void make_client_options (struct client_state *, - struct client_lease *, u_int8_t *, --- -1.8.1.4 - diff --git a/dhcp-4.2.6-capability.patch b/dhcp-4.2.6-capability.patch index 290dddc..2f2cb09 100644 --- a/dhcp-4.2.6-capability.patch +++ b/dhcp-4.2.6-capability.patch @@ -1,6 +1,6 @@ -diff -up dhcp-4.2.6b1/client/dhclient.8.capability dhcp-4.2.6b1/client/dhclient.8 ---- dhcp-4.2.6b1/client/dhclient.8.capability 2014-01-23 14:37:45.340539027 +0100 -+++ dhcp-4.2.6b1/client/dhclient.8 2014-01-23 14:37:45.402538157 +0100 +diff -up dhcp-4.2.7b1/client/dhclient.8.LlXQUh dhcp-4.2.7b1/client/dhclient.8 +--- dhcp-4.2.7b1/client/dhclient.8.LlXQUh 2014-07-10 19:13:31.234863761 +0200 ++++ dhcp-4.2.7b1/client/dhclient.8 2014-07-10 19:15:11.804437041 +0200 @@ -118,6 +118,9 @@ dhclient - Dynamic Host Configuration Pr .B -w ] @@ -44,9 +44,9 @@ diff -up dhcp-4.2.6b1/client/dhclient.8.capability dhcp-4.2.6b1/client/dhclient. .BI \-B Set the BOOTP broadcast flag in request packets so servers will always broadcast replies. -diff -up dhcp-4.2.6b1/client/dhclient.c.capability dhcp-4.2.6b1/client/dhclient.c ---- dhcp-4.2.6b1/client/dhclient.c.capability 2014-01-23 14:37:45.384538409 +0100 -+++ dhcp-4.2.6b1/client/dhclient.c 2014-01-23 14:37:45.403538143 +0100 +diff -up dhcp-4.2.7b1/client/dhclient.c.LlXQUh dhcp-4.2.7b1/client/dhclient.c +--- dhcp-4.2.7b1/client/dhclient.c.LlXQUh 2014-07-10 19:15:11.754437750 +0200 ++++ dhcp-4.2.7b1/client/dhclient.c 2014-07-10 19:15:11.806437012 +0200 @@ -39,6 +39,10 @@ #include #include @@ -68,7 +68,7 @@ diff -up dhcp-4.2.6b1/client/dhclient.c.capability dhcp-4.2.6b1/client/dhclient. /* Initialize client globals. */ memset(&default_duid, 0, sizeof(default_duid)); -@@ -410,6 +417,10 @@ main(int argc, char **argv) { +@@ -416,6 +423,10 @@ main(int argc, char **argv) { } dhclient_request_options = argv[i]; @@ -79,7 +79,7 @@ diff -up dhcp-4.2.6b1/client/dhclient.c.capability dhcp-4.2.6b1/client/dhclient. } else if (argv[i][0] == '-') { usage(); } else if (interfaces_requested < 0) { -@@ -458,6 +469,19 @@ main(int argc, char **argv) { +@@ -464,6 +475,19 @@ main(int argc, char **argv) { path_dhclient_script = s; } @@ -99,10 +99,10 @@ diff -up dhcp-4.2.6b1/client/dhclient.c.capability dhcp-4.2.6b1/client/dhclient. /* Set up the initial dhcp option universe. */ initialize_common_option_spaces(); -diff -up dhcp-4.2.6b1/client/dhclient-script.8.capability dhcp-4.2.6b1/client/dhclient-script.8 ---- dhcp-4.2.6b1/client/dhclient-script.8.capability 2014-01-23 14:37:45.374538550 +0100 -+++ dhcp-4.2.6b1/client/dhclient-script.8 2014-01-23 14:37:45.403538143 +0100 -@@ -246,6 +246,16 @@ repeatedly initialized to the values pro +diff -up dhcp-4.2.7b1/client/dhclient-script.8.LlXQUh dhcp-4.2.7b1/client/dhclient-script.8 +--- dhcp-4.2.7b1/client/dhclient-script.8.LlXQUh 2014-07-10 19:15:11.718438261 +0200 ++++ dhcp-4.2.7b1/client/dhclient-script.8 2014-07-10 19:15:11.806437012 +0200 +@@ -243,6 +243,16 @@ repeatedly initialized to the values pro the other. Assuming the information provided by both servers is valid, this shouldn't cause any real problems, but it could be confusing. @@ -119,9 +119,9 @@ diff -up dhcp-4.2.6b1/client/dhclient-script.8.capability dhcp-4.2.6b1/client/dh .SH SEE ALSO dhclient(8), dhcpd(8), dhcrelay(8), dhclient.conf(5) and dhclient.leases(5). -diff -up dhcp-4.2.6b1/client/Makefile.am.capability dhcp-4.2.6b1/client/Makefile.am ---- dhcp-4.2.6b1/client/Makefile.am.capability 2014-01-23 14:37:45.324539252 +0100 -+++ dhcp-4.2.6b1/client/Makefile.am 2014-01-23 14:37:45.404538129 +0100 +diff -up dhcp-4.2.7b1/client/Makefile.am.LlXQUh dhcp-4.2.7b1/client/Makefile.am +--- dhcp-4.2.7b1/client/Makefile.am.LlXQUh 2014-07-10 19:13:31.197864285 +0200 ++++ dhcp-4.2.7b1/client/Makefile.am 2014-07-10 19:15:11.806437012 +0200 @@ -5,7 +5,7 @@ dhclient_SOURCES = clparse.c dhclient.c scripts/netbsd scripts/nextstep scripts/openbsd \ scripts/solaris scripts/openwrt @@ -131,10 +131,10 @@ diff -up dhcp-4.2.6b1/client/Makefile.am.capability dhcp-4.2.6b1/client/Makefile man_MANS = dhclient.8 dhclient-script.8 dhclient.conf.5 dhclient.leases.5 EXTRA_DIST = $(man_MANS) -diff -up dhcp-4.2.6b1/configure.ac.capability dhcp-4.2.6b1/configure.ac ---- dhcp-4.2.6b1/configure.ac.capability 2014-01-23 14:37:45.332539139 +0100 -+++ dhcp-4.2.6b1/configure.ac 2014-01-23 14:37:45.404538129 +0100 -@@ -524,6 +524,41 @@ AC_TRY_COMPILE([],[void foo() __attribut +diff -up dhcp-4.2.7b1/configure.ac.LlXQUh dhcp-4.2.7b1/configure.ac +--- dhcp-4.2.7b1/configure.ac.LlXQUh 2014-07-10 19:13:31.210864101 +0200 ++++ dhcp-4.2.7b1/configure.ac 2014-07-10 19:15:11.806437012 +0200 +@@ -534,6 +534,41 @@ AC_TRY_COMPILE([],[void foo() __attribut # Look for optional headers. AC_CHECK_HEADERS(sys/socket.h net/if_dl.h net/if6.h regex.h) @@ -176,10 +176,10 @@ diff -up dhcp-4.2.6b1/configure.ac.capability dhcp-4.2.6b1/configure.ac # Solaris needs some libraries for functions AC_SEARCH_LIBS(socket, [socket]) AC_SEARCH_LIBS(inet_ntoa, [nsl]) -diff -up dhcp-4.2.6b1/relay/dhcrelay.c.capability dhcp-4.2.6b1/relay/dhcrelay.c ---- dhcp-4.2.6b1/relay/dhcrelay.c.capability 2014-01-23 14:37:45.386538381 +0100 -+++ dhcp-4.2.6b1/relay/dhcrelay.c 2014-01-23 14:39:12.035320984 +0100 -@@ -37,6 +37,11 @@ +diff -up dhcp-4.2.7b1/relay/dhcrelay.c.LlXQUh dhcp-4.2.7b1/relay/dhcrelay.c +--- dhcp-4.2.7b1/relay/dhcrelay.c.LlXQUh 2014-07-10 19:15:11.756437722 +0200 ++++ dhcp-4.2.7b1/relay/dhcrelay.c 2014-07-10 19:15:39.878038777 +0200 +@@ -31,6 +31,11 @@ #include #include @@ -191,7 +191,7 @@ diff -up dhcp-4.2.6b1/relay/dhcrelay.c.capability dhcp-4.2.6b1/relay/dhcrelay.c TIME default_lease_time = 43200; /* 12 hours... */ TIME max_lease_time = 86400; /* 24 hours... */ struct tree_cache *global_options[256]; -@@ -363,6 +368,10 @@ main(int argc, char **argv) { +@@ -357,6 +362,10 @@ main(int argc, char **argv) { sl->next = upstreams; upstreams = sl; #endif @@ -202,7 +202,7 @@ diff -up dhcp-4.2.6b1/relay/dhcrelay.c.capability dhcp-4.2.6b1/relay/dhcrelay.c } else if (!strcmp(argv[i], "-pf")) { if (++i == argc) usage(); -@@ -433,6 +442,17 @@ main(int argc, char **argv) { +@@ -427,6 +436,17 @@ main(int argc, char **argv) { #endif } @@ -220,9 +220,9 @@ diff -up dhcp-4.2.6b1/relay/dhcrelay.c.capability dhcp-4.2.6b1/relay/dhcrelay.c if (!quiet) { log_info("%s %s", message, PACKAGE_VERSION); log_info(copyright); -@@ -582,6 +602,15 @@ main(int argc, char **argv) { - signal(SIGINT, dhcp_signal_handler); /* control-c */ +@@ -579,6 +599,15 @@ main(int argc, char **argv) { signal(SIGTERM, dhcp_signal_handler); /* kill */ + #endif +#ifdef HAVE_LIBCAP_NG + /* Drop all capabilities */ @@ -236,9 +236,9 @@ diff -up dhcp-4.2.6b1/relay/dhcrelay.c.capability dhcp-4.2.6b1/relay/dhcrelay.c /* Start dispatching packets and timeouts... */ dispatch(); -diff -up dhcp-4.2.6b1/relay/Makefile.am.capability dhcp-4.2.6b1/relay/Makefile.am ---- dhcp-4.2.6b1/relay/Makefile.am.capability 2014-01-23 14:37:45.326539223 +0100 -+++ dhcp-4.2.6b1/relay/Makefile.am 2014-01-23 14:37:45.405538115 +0100 +diff -up dhcp-4.2.7b1/relay/Makefile.am.LlXQUh dhcp-4.2.7b1/relay/Makefile.am +--- dhcp-4.2.7b1/relay/Makefile.am.LlXQUh 2014-07-10 19:13:31.199864257 +0200 ++++ dhcp-4.2.7b1/relay/Makefile.am 2014-07-10 19:15:11.807436998 +0200 @@ -3,7 +3,7 @@ AM_CPPFLAGS = -DLOCALSTATEDIR='"@localst sbin_PROGRAMS = dhcrelay dhcrelay_SOURCES = dhcrelay.c diff --git a/dhcp-4.2.6-systemtap.patch b/dhcp-4.2.6-systemtap.patch index 1fd4752..7492f57 100644 --- a/dhcp-4.2.6-systemtap.patch +++ b/dhcp-4.2.6-systemtap.patch @@ -1,7 +1,7 @@ -diff -up dhcp-4.2.6b1/configure.ac.systemtap dhcp-4.2.6b1/configure.ac ---- dhcp-4.2.6b1/configure.ac.systemtap 2014-01-23 14:45:04.801357825 +0100 -+++ dhcp-4.2.6b1/configure.ac 2014-01-23 14:45:04.844357220 +0100 -@@ -560,6 +560,35 @@ else +diff -up dhcp-4.2.7b1/configure.ac.BrNolm dhcp-4.2.7b1/configure.ac +--- dhcp-4.2.7b1/configure.ac.BrNolm 2014-07-10 19:17:05.478824411 +0200 ++++ dhcp-4.2.7b1/configure.ac 2014-07-10 19:17:05.586822879 +0200 +@@ -570,6 +570,35 @@ else AC_MSG_RESULT(no) fi @@ -37,7 +37,7 @@ diff -up dhcp-4.2.6b1/configure.ac.systemtap dhcp-4.2.6b1/configure.ac # Solaris needs some libraries for functions AC_SEARCH_LIBS(socket, [socket]) AC_SEARCH_LIBS(inet_ntoa, [nsl]) -@@ -715,6 +744,7 @@ AC_OUTPUT([ +@@ -725,6 +754,7 @@ AC_OUTPUT([ tests/Makefile server/tests/Makefile doc/devel/doxyfile @@ -45,9 +45,9 @@ diff -up dhcp-4.2.6b1/configure.ac.systemtap dhcp-4.2.6b1/configure.ac ]) sh util/bindvar.sh -diff -up dhcp-4.2.6b1/Makefile.am.systemtap dhcp-4.2.6b1/Makefile.am ---- dhcp-4.2.6b1/Makefile.am.systemtap 2014-01-23 14:45:04.678359555 +0100 -+++ dhcp-4.2.6b1/Makefile.am 2014-01-23 14:45:04.844357220 +0100 +diff -up dhcp-4.2.7b1/Makefile.am.BrNolm dhcp-4.2.7b1/Makefile.am +--- dhcp-4.2.7b1/Makefile.am.BrNolm 2014-07-10 19:13:31.210864101 +0200 ++++ dhcp-4.2.7b1/Makefile.am 2014-07-10 19:17:05.586822879 +0200 @@ -32,5 +32,8 @@ endif SUBDIRS += includes tests common omapip client dhcpctl relay server @@ -57,10 +57,10 @@ diff -up dhcp-4.2.6b1/Makefile.am.systemtap dhcp-4.2.6b1/Makefile.am + nobase_include_HEADERS = dhcpctl/dhcpctl.h -diff -up dhcp-4.2.6b1/server/dhcp.c.systemtap dhcp-4.2.6b1/server/dhcp.c ---- dhcp-4.2.6b1/server/dhcp.c.systemtap 2014-01-23 14:45:04.708359133 +0100 -+++ dhcp-4.2.6b1/server/dhcp.c 2014-01-23 14:45:04.846357192 +0100 -@@ -36,7 +36,7 @@ +diff -up dhcp-4.2.7b1/server/dhcp.c.BrNolm dhcp-4.2.7b1/server/dhcp.c +--- dhcp-4.2.7b1/server/dhcp.c.BrNolm 2014-07-10 19:15:11.679438814 +0200 ++++ dhcp-4.2.7b1/server/dhcp.c 2014-07-10 19:17:05.588822850 +0200 +@@ -30,7 +30,7 @@ #include #include #include @@ -69,7 +69,7 @@ diff -up dhcp-4.2.6b1/server/dhcp.c.systemtap dhcp-4.2.6b1/server/dhcp.c static void commit_leases_ackout(void *foo); static void maybe_return_agent_options(struct packet *packet, struct option_state *options); -@@ -275,6 +275,8 @@ void dhcpdiscover (packet, ms_nulltp) +@@ -269,6 +269,8 @@ void dhcpdiscover (packet, ms_nulltp) dhcp_failover_state_t *peer; #endif @@ -78,7 +78,7 @@ diff -up dhcp-4.2.6b1/server/dhcp.c.systemtap dhcp-4.2.6b1/server/dhcp.c find_lease (&lease, packet, packet -> shared_network, 0, &peer_has_leases, (struct lease *)0, MDL); -@@ -399,6 +401,8 @@ void dhcpdiscover (packet, ms_nulltp) +@@ -393,6 +395,8 @@ void dhcpdiscover (packet, ms_nulltp) out: if (lease) lease_dereference (&lease, MDL); @@ -87,7 +87,7 @@ diff -up dhcp-4.2.6b1/server/dhcp.c.systemtap dhcp-4.2.6b1/server/dhcp.c } void dhcprequest (packet, ms_nulltp, ip_lease) -@@ -421,6 +425,8 @@ void dhcprequest (packet, ms_nulltp, ip_ +@@ -415,6 +419,8 @@ void dhcprequest (packet, ms_nulltp, ip_ #endif int have_requested_addr = 0; @@ -96,7 +96,7 @@ diff -up dhcp-4.2.6b1/server/dhcp.c.systemtap dhcp-4.2.6b1/server/dhcp.c oc = lookup_option (&dhcp_universe, packet -> options, DHO_DHCP_REQUESTED_ADDRESS); memset (&data, 0, sizeof data); -@@ -700,6 +706,9 @@ void dhcprequest (packet, ms_nulltp, ip_ +@@ -694,6 +700,9 @@ void dhcprequest (packet, ms_nulltp, ip_ log_info ("%s: unknown lease %s.", msgbuf, piaddr (cip)); out: @@ -106,7 +106,7 @@ diff -up dhcp-4.2.6b1/server/dhcp.c.systemtap dhcp-4.2.6b1/server/dhcp.c if (subnet) subnet_dereference (&subnet, MDL); if (lease) -@@ -718,6 +727,7 @@ void dhcprelease (packet, ms_nulltp) +@@ -712,6 +721,7 @@ void dhcprelease (packet, ms_nulltp) const char *s; char msgbuf [1024], cstr[16]; /* XXX */ @@ -114,7 +114,7 @@ diff -up dhcp-4.2.6b1/server/dhcp.c.systemtap dhcp-4.2.6b1/server/dhcp.c /* DHCPRELEASE must not specify address in requested-address option, but old protocol specs weren't explicit about this, -@@ -842,6 +852,8 @@ void dhcprelease (packet, ms_nulltp) +@@ -836,6 +846,8 @@ void dhcprelease (packet, ms_nulltp) #endif if (lease) lease_dereference (&lease, MDL); @@ -123,7 +123,7 @@ diff -up dhcp-4.2.6b1/server/dhcp.c.systemtap dhcp-4.2.6b1/server/dhcp.c } void dhcpdecline (packet, ms_nulltp) -@@ -859,6 +871,8 @@ void dhcpdecline (packet, ms_nulltp) +@@ -853,6 +865,8 @@ void dhcpdecline (packet, ms_nulltp) struct option_cache *oc; struct data_string data; @@ -132,7 +132,7 @@ diff -up dhcp-4.2.6b1/server/dhcp.c.systemtap dhcp-4.2.6b1/server/dhcp.c /* DHCPDECLINE must specify address. */ if (!(oc = lookup_option (&dhcp_universe, packet -> options, DHO_DHCP_REQUESTED_ADDRESS))) -@@ -970,6 +984,8 @@ void dhcpdecline (packet, ms_nulltp) +@@ -964,6 +978,8 @@ void dhcpdecline (packet, ms_nulltp) option_state_dereference (&options, MDL); if (lease) lease_dereference (&lease, MDL); @@ -141,7 +141,7 @@ diff -up dhcp-4.2.6b1/server/dhcp.c.systemtap dhcp-4.2.6b1/server/dhcp.c } void dhcpinform (packet, ms_nulltp) -@@ -993,6 +1009,8 @@ void dhcpinform (packet, ms_nulltp) +@@ -987,6 +1003,8 @@ void dhcpinform (packet, ms_nulltp) struct interface_info *interface; int result; @@ -150,7 +150,7 @@ diff -up dhcp-4.2.6b1/server/dhcp.c.systemtap dhcp-4.2.6b1/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. */ -@@ -1350,6 +1368,8 @@ void dhcpinform (packet, ms_nulltp) +@@ -1344,6 +1362,8 @@ void dhcpinform (packet, ms_nulltp) if (subnet) subnet_dereference (&subnet, MDL); @@ -159,7 +159,7 @@ diff -up dhcp-4.2.6b1/server/dhcp.c.systemtap dhcp-4.2.6b1/server/dhcp.c } void nak_lease (packet, cip) -@@ -1366,6 +1386,8 @@ void nak_lease (packet, cip) +@@ -1360,6 +1380,8 @@ void nak_lease (packet, cip) struct option_state *options = (struct option_state *)0; struct option_cache *oc = (struct option_cache *)0; @@ -168,7 +168,7 @@ diff -up dhcp-4.2.6b1/server/dhcp.c.systemtap dhcp-4.2.6b1/server/dhcp.c option_state_allocate (&options, MDL); memset (&outgoing, 0, sizeof outgoing); memset (&raw, 0, sizeof raw); -@@ -1532,6 +1554,7 @@ void nak_lease (packet, cip) +@@ -1526,6 +1548,7 @@ void nak_lease (packet, cip) packet->interface->name); } @@ -176,7 +176,7 @@ diff -up dhcp-4.2.6b1/server/dhcp.c.systemtap dhcp-4.2.6b1/server/dhcp.c } void ack_lease (packet, lease, offer, when, msg, ms_nulltp, hp) -@@ -1570,6 +1593,8 @@ void ack_lease (packet, lease, offer, wh +@@ -1564,6 +1587,8 @@ void ack_lease (packet, lease, offer, wh if (lease -> state) return; @@ -185,7 +185,7 @@ diff -up dhcp-4.2.6b1/server/dhcp.c.systemtap dhcp-4.2.6b1/server/dhcp.c /* Save original cltt for comparison later. */ lease_cltt = lease->cltt; -@@ -2933,6 +2958,8 @@ void ack_lease (packet, lease, offer, wh +@@ -2927,6 +2952,8 @@ void ack_lease (packet, lease, offer, wh #endif dhcp_reply(lease); } @@ -194,7 +194,7 @@ diff -up dhcp-4.2.6b1/server/dhcp.c.systemtap dhcp-4.2.6b1/server/dhcp.c } /* -@@ -3085,6 +3112,8 @@ void dhcp_reply (lease) +@@ -3079,6 +3106,8 @@ void dhcp_reply (lease) if (!state) log_fatal ("dhcp_reply was supplied lease with no state!"); @@ -203,7 +203,7 @@ diff -up dhcp-4.2.6b1/server/dhcp.c.systemtap dhcp-4.2.6b1/server/dhcp.c /* Compose a response for the client... */ memset (&raw, 0, sizeof raw); memset (&d1, 0, sizeof d1); -@@ -3306,6 +3335,8 @@ void dhcp_reply (lease) +@@ -3300,6 +3329,8 @@ void dhcp_reply (lease) free_lease_state (state, MDL); lease -> state = (struct lease_state *)0; @@ -212,7 +212,7 @@ diff -up dhcp-4.2.6b1/server/dhcp.c.systemtap dhcp-4.2.6b1/server/dhcp.c } int find_lease (struct lease **lp, -@@ -3328,6 +3359,8 @@ int find_lease (struct lease **lp, +@@ -3322,6 +3353,8 @@ int find_lease (struct lease **lp, struct data_string client_identifier; struct hardware h; @@ -221,7 +221,7 @@ diff -up dhcp-4.2.6b1/server/dhcp.c.systemtap dhcp-4.2.6b1/server/dhcp.c #if defined(FAILOVER_PROTOCOL) /* Quick check to see if the peer has leases. */ if (peer_has_leases) { -@@ -4055,6 +4088,9 @@ int find_lease (struct lease **lp, +@@ -4049,6 +4082,9 @@ int find_lease (struct lease **lp, #if defined (DEBUG_FIND_LEASE) log_info ("Not returning a lease."); #endif @@ -231,10 +231,10 @@ diff -up dhcp-4.2.6b1/server/dhcp.c.systemtap dhcp-4.2.6b1/server/dhcp.c return 0; } -diff -up dhcp-4.2.6b1/server/dhcpd.c.systemtap dhcp-4.2.6b1/server/dhcpd.c ---- dhcp-4.2.6b1/server/dhcpd.c.systemtap 2014-01-23 14:45:04.820357557 +0100 -+++ dhcp-4.2.6b1/server/dhcpd.c 2014-01-23 14:45:49.348731180 +0100 -@@ -58,6 +58,8 @@ static const char url [] = +diff -up dhcp-4.2.7b1/server/dhcpd.c.BrNolm dhcp-4.2.7b1/server/dhcpd.c +--- dhcp-4.2.7b1/server/dhcpd.c.BrNolm 2014-07-10 19:17:05.524823758 +0200 ++++ dhcp-4.2.7b1/server/dhcpd.c 2014-07-10 19:17:41.358315410 +0200 +@@ -52,6 +52,8 @@ static const char url [] = # undef group #endif /* PARANOIA */ @@ -243,18 +243,18 @@ diff -up dhcp-4.2.6b1/server/dhcpd.c.systemtap dhcp-4.2.6b1/server/dhcpd.c #ifndef UNIT_TEST static void usage(void); #endif -@@ -869,6 +871,8 @@ main(int argc, char **argv) { - signal(SIGINT, dhcp_signal_handler); /* control-c */ +@@ -868,6 +870,8 @@ main(int argc, char **argv) { signal(SIGTERM, dhcp_signal_handler); /* kill */ + #endif + TRACE(DHCPD_MAIN()); + /* * Receive packets and dispatch them... * dispatch() will never return. -diff -up dhcp-4.2.6b1/server/dhcpv6.c.systemtap dhcp-4.2.6b1/server/dhcpv6.c ---- dhcp-4.2.6b1/server/dhcpv6.c.systemtap 2014-01-23 14:45:04.812357670 +0100 -+++ dhcp-4.2.6b1/server/dhcpv6.c 2014-01-23 14:45:04.850357135 +0100 +diff -up dhcp-4.2.7b1/server/dhcpv6.c.BrNolm dhcp-4.2.7b1/server/dhcpv6.c +--- dhcp-4.2.7b1/server/dhcpv6.c.BrNolm 2014-07-10 19:17:05.501824084 +0200 ++++ dhcp-4.2.7b1/server/dhcpv6.c 2014-07-10 19:17:05.590822822 +0200 @@ -15,6 +15,7 @@ */ @@ -263,7 +263,7 @@ diff -up dhcp-4.2.6b1/server/dhcpv6.c.systemtap dhcp-4.2.6b1/server/dhcpv6.c #ifdef DHCPv6 -@@ -4351,6 +4352,8 @@ static void +@@ -4382,6 +4383,8 @@ static void dhcpv6_solicit(struct data_string *reply_ret, struct packet *packet) { struct data_string client_id; @@ -272,7 +272,7 @@ diff -up dhcp-4.2.6b1/server/dhcpv6.c.systemtap dhcp-4.2.6b1/server/dhcpv6.c /* * Validate our input. */ -@@ -4364,6 +4367,8 @@ dhcpv6_solicit(struct data_string *reply +@@ -4395,6 +4398,8 @@ dhcpv6_solicit(struct data_string *reply * Clean up. */ data_string_forget(&client_id, MDL); @@ -281,7 +281,7 @@ diff -up dhcp-4.2.6b1/server/dhcpv6.c.systemtap dhcp-4.2.6b1/server/dhcpv6.c } /* -@@ -4377,6 +4382,8 @@ dhcpv6_request(struct data_string *reply +@@ -4408,6 +4413,8 @@ dhcpv6_request(struct data_string *reply struct data_string client_id; struct data_string server_id; @@ -290,7 +290,7 @@ diff -up dhcp-4.2.6b1/server/dhcpv6.c.systemtap dhcp-4.2.6b1/server/dhcpv6.c /* * Validate our input. */ -@@ -4394,6 +4401,8 @@ dhcpv6_request(struct data_string *reply +@@ -4425,6 +4432,8 @@ dhcpv6_request(struct data_string *reply */ data_string_forget(&client_id, MDL); data_string_forget(&server_id, MDL); @@ -299,7 +299,7 @@ diff -up dhcp-4.2.6b1/server/dhcpv6.c.systemtap dhcp-4.2.6b1/server/dhcpv6.c } /* Find a DHCPv6 packet's shared network from hints in the packet. -@@ -4506,6 +4515,8 @@ dhcpv6_confirm(struct data_string *reply +@@ -4537,6 +4546,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 +308,7 @@ diff -up dhcp-4.2.6b1/server/dhcpv6.c.systemtap dhcp-4.2.6b1/server/dhcpv6.c /* * Basic client message validation. */ -@@ -4692,6 +4703,8 @@ exit: +@@ -4723,6 +4734,8 @@ exit: option_state_dereference(&cli_enc_opt_state, MDL); if (opt_state != NULL) option_state_dereference(&opt_state, MDL); @@ -317,7 +317,7 @@ diff -up dhcp-4.2.6b1/server/dhcpv6.c.systemtap dhcp-4.2.6b1/server/dhcpv6.c } /* -@@ -4706,6 +4719,8 @@ dhcpv6_renew(struct data_string *reply, +@@ -4737,6 +4750,8 @@ dhcpv6_renew(struct data_string *reply, struct data_string client_id; struct data_string server_id; @@ -326,7 +326,7 @@ diff -up dhcp-4.2.6b1/server/dhcpv6.c.systemtap dhcp-4.2.6b1/server/dhcpv6.c /* * Validate the request. */ -@@ -4723,6 +4738,8 @@ dhcpv6_renew(struct data_string *reply, +@@ -4754,6 +4769,8 @@ dhcpv6_renew(struct data_string *reply, */ data_string_forget(&server_id, MDL); data_string_forget(&client_id, MDL); @@ -335,7 +335,7 @@ diff -up dhcp-4.2.6b1/server/dhcpv6.c.systemtap dhcp-4.2.6b1/server/dhcpv6.c } /* -@@ -4736,6 +4753,8 @@ static void +@@ -4767,6 +4784,8 @@ static void dhcpv6_rebind(struct data_string *reply, struct packet *packet) { struct data_string client_id; @@ -344,7 +344,7 @@ diff -up dhcp-4.2.6b1/server/dhcpv6.c.systemtap dhcp-4.2.6b1/server/dhcpv6.c if (!valid_client_msg(packet, &client_id)) { return; } -@@ -4743,6 +4762,8 @@ dhcpv6_rebind(struct data_string *reply, +@@ -4774,6 +4793,8 @@ dhcpv6_rebind(struct data_string *reply, lease_to_client(reply, packet, &client_id, NULL); data_string_forget(&client_id, MDL); @@ -353,7 +353,7 @@ diff -up dhcp-4.2.6b1/server/dhcpv6.c.systemtap dhcp-4.2.6b1/server/dhcpv6.c } static void -@@ -5187,6 +5208,8 @@ dhcpv6_decline(struct data_string *reply +@@ -5218,6 +5239,8 @@ dhcpv6_decline(struct data_string *reply struct data_string client_id; struct data_string server_id; @@ -362,7 +362,7 @@ diff -up dhcp-4.2.6b1/server/dhcpv6.c.systemtap dhcp-4.2.6b1/server/dhcpv6.c /* * Validate our input. */ -@@ -5207,6 +5230,8 @@ dhcpv6_decline(struct data_string *reply +@@ -5238,6 +5261,8 @@ dhcpv6_decline(struct data_string *reply data_string_forget(&server_id, MDL); data_string_forget(&client_id, MDL); @@ -371,7 +371,7 @@ diff -up dhcp-4.2.6b1/server/dhcpv6.c.systemtap dhcp-4.2.6b1/server/dhcpv6.c } static void -@@ -5655,6 +5680,8 @@ dhcpv6_release(struct data_string *reply +@@ -5686,6 +5711,8 @@ dhcpv6_release(struct data_string *reply struct data_string client_id; struct data_string server_id; @@ -380,7 +380,7 @@ diff -up dhcp-4.2.6b1/server/dhcpv6.c.systemtap dhcp-4.2.6b1/server/dhcpv6.c /* * Validate our input. */ -@@ -5676,6 +5703,8 @@ dhcpv6_release(struct data_string *reply +@@ -5707,6 +5734,8 @@ dhcpv6_release(struct data_string *reply data_string_forget(&server_id, MDL); data_string_forget(&client_id, MDL); @@ -389,7 +389,7 @@ diff -up dhcp-4.2.6b1/server/dhcpv6.c.systemtap dhcp-4.2.6b1/server/dhcpv6.c } /* -@@ -5688,6 +5717,8 @@ dhcpv6_information_request(struct data_s +@@ -5719,6 +5748,8 @@ dhcpv6_information_request(struct data_s struct data_string client_id; struct data_string server_id; @@ -398,7 +398,7 @@ diff -up dhcp-4.2.6b1/server/dhcpv6.c.systemtap dhcp-4.2.6b1/server/dhcpv6.c /* * Validate our input. */ -@@ -5719,6 +5750,8 @@ dhcpv6_information_request(struct data_s +@@ -5750,6 +5781,8 @@ dhcpv6_information_request(struct data_s data_string_forget(&client_id, MDL); } data_string_forget(&server_id, MDL); @@ -407,7 +407,7 @@ diff -up dhcp-4.2.6b1/server/dhcpv6.c.systemtap dhcp-4.2.6b1/server/dhcpv6.c } /* -@@ -5747,6 +5780,8 @@ dhcpv6_relay_forw(struct data_string *re +@@ -5778,6 +5811,8 @@ dhcpv6_relay_forw(struct data_string *re struct dhcpv6_relay_packet *reply; int reply_ofs; @@ -416,7 +416,7 @@ diff -up dhcp-4.2.6b1/server/dhcpv6.c.systemtap dhcp-4.2.6b1/server/dhcpv6.c /* * Initialize variables for early exit. */ -@@ -6006,6 +6041,8 @@ exit: +@@ -6037,6 +6072,8 @@ exit: if (enc_packet != NULL) { packet_dereference(&enc_packet, MDL); } @@ -425,10 +425,10 @@ diff -up dhcp-4.2.6b1/server/dhcpv6.c.systemtap dhcp-4.2.6b1/server/dhcpv6.c } static void -diff -up dhcp-4.2.6b1/server/failover.c.systemtap dhcp-4.2.6b1/server/failover.c ---- dhcp-4.2.6b1/server/failover.c.systemtap 2014-01-21 20:29:10.000000000 +0100 -+++ dhcp-4.2.6b1/server/failover.c 2014-01-23 14:45:04.852357107 +0100 -@@ -36,6 +36,8 @@ +diff -up dhcp-4.2.7b1/server/failover.c.BrNolm dhcp-4.2.7b1/server/failover.c +--- dhcp-4.2.7b1/server/failover.c.BrNolm 2014-07-02 21:53:30.000000000 +0200 ++++ dhcp-4.2.7b1/server/failover.c 2014-07-10 19:17:05.593822779 +0200 +@@ -30,6 +30,8 @@ #include "dhcpd.h" #include @@ -437,7 +437,7 @@ diff -up dhcp-4.2.6b1/server/failover.c.systemtap dhcp-4.2.6b1/server/failover.c #if defined (FAILOVER_PROTOCOL) dhcp_failover_state_t *failover_states; static isc_result_t do_a_failover_option (omapi_object_t *, -@@ -1710,6 +1712,8 @@ isc_result_t dhcp_failover_set_state (dh +@@ -1704,6 +1706,8 @@ isc_result_t dhcp_failover_set_state (dh struct lease *l; struct timeval tv; @@ -446,7 +446,7 @@ diff -up dhcp-4.2.6b1/server/failover.c.systemtap dhcp-4.2.6b1/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. -@@ -1937,6 +1941,8 @@ isc_result_t dhcp_failover_set_state (dh +@@ -1931,6 +1935,8 @@ isc_result_t dhcp_failover_set_state (dh break; } @@ -455,7 +455,7 @@ diff -up dhcp-4.2.6b1/server/failover.c.systemtap dhcp-4.2.6b1/server/failover.c return ISC_R_SUCCESS; } -@@ -2420,6 +2426,8 @@ dhcp_failover_pool_dobalance(dhcp_failov +@@ -2415,6 +2421,8 @@ dhcp_failover_pool_dobalance(dhcp_failov if (state -> me.state != normal) return 0; @@ -464,7 +464,7 @@ diff -up dhcp-4.2.6b1/server/failover.c.systemtap dhcp-4.2.6b1/server/failover.c state->last_balance = cur_time; for (s = shared_networks ; s ; s = s->next) { -@@ -2580,6 +2588,8 @@ dhcp_failover_pool_dobalance(dhcp_failov +@@ -2575,6 +2583,8 @@ dhcp_failover_pool_dobalance(dhcp_failov if (leases_queued) commit_leases(); @@ -473,9 +473,9 @@ diff -up dhcp-4.2.6b1/server/failover.c.systemtap dhcp-4.2.6b1/server/failover.c return leases_queued; } -diff -up dhcp-4.2.6b1/server/Makefile.am.systemtap dhcp-4.2.6b1/server/Makefile.am ---- dhcp-4.2.6b1/server/Makefile.am.systemtap 2014-01-23 14:45:04.802357811 +0100 -+++ dhcp-4.2.6b1/server/Makefile.am 2014-01-23 14:45:04.852357107 +0100 +diff -up dhcp-4.2.7b1/server/Makefile.am.BrNolm dhcp-4.2.7b1/server/Makefile.am +--- dhcp-4.2.7b1/server/Makefile.am.BrNolm 2014-07-10 19:17:05.479824397 +0200 ++++ dhcp-4.2.7b1/server/Makefile.am 2014-07-10 19:17:05.593822779 +0200 @@ -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 +499,9 @@ diff -up dhcp-4.2.6b1/server/Makefile.am.systemtap dhcp-4.2.6b1/server/Makefile. + +dhcpd_LDADD += probes.o +endif -diff -up dhcp-4.2.6b1/server/probes.d.systemtap dhcp-4.2.6b1/server/probes.d ---- dhcp-4.2.6b1/server/probes.d.systemtap 2014-01-23 14:45:04.852357107 +0100 -+++ dhcp-4.2.6b1/server/probes.d 2014-01-23 14:45:04.852357107 +0100 +diff -up dhcp-4.2.7b1/server/probes.d.BrNolm dhcp-4.2.7b1/server/probes.d +--- dhcp-4.2.7b1/server/probes.d.BrNolm 2014-07-10 19:17:05.594822765 +0200 ++++ dhcp-4.2.7b1/server/probes.d 2014-07-10 19:17:05.594822765 +0200 @@ -0,0 +1,43 @@ +provider dhcpd { + probe main(); @@ -546,9 +546,9 @@ diff -up dhcp-4.2.6b1/server/probes.d.systemtap dhcp-4.2.6b1/server/probes.d + probe failover_set_state_start(int, int) /* state, new_state */ + probe failover_set_state_done() +}; -diff -up dhcp-4.2.6b1/server/tests/Makefile.am.systemtap dhcp-4.2.6b1/server/tests/Makefile.am ---- dhcp-4.2.6b1/server/tests/Makefile.am.systemtap 2014-01-23 14:45:04.803357797 +0100 -+++ dhcp-4.2.6b1/server/tests/Makefile.am 2014-01-23 14:45:04.852357107 +0100 +diff -up dhcp-4.2.7b1/server/tests/Makefile.am.BrNolm dhcp-4.2.7b1/server/tests/Makefile.am +--- dhcp-4.2.7b1/server/tests/Makefile.am.BrNolm 2014-07-10 19:17:05.479824397 +0200 ++++ dhcp-4.2.7b1/server/tests/Makefile.am 2014-07-10 19:17:05.594822765 +0200 @@ -20,6 +20,10 @@ DHCPSRC = ../dhcp.c ../bootp.c ../confpa DHCPLIBS = $(top_builddir)/common/libdhcp.a $(top_builddir)/omapip/libomapi.la \ $(top_builddir)/dhcpctl/libdhcpctl.la $(BIND9_LIBDIR) -ldns-export -lisc-export @@ -560,9 +560,9 @@ diff -up dhcp-4.2.6b1/server/tests/Makefile.am.systemtap dhcp-4.2.6b1/server/tes ATF_TESTS = TESTS = if HAVE_ATF -diff -up dhcp-4.2.6b1/server/trace.h.systemtap dhcp-4.2.6b1/server/trace.h ---- dhcp-4.2.6b1/server/trace.h.systemtap 2014-01-23 14:45:04.853357093 +0100 -+++ dhcp-4.2.6b1/server/trace.h 2014-01-23 14:45:04.853357093 +0100 +diff -up dhcp-4.2.7b1/server/trace.h.BrNolm dhcp-4.2.7b1/server/trace.h +--- dhcp-4.2.7b1/server/trace.h.BrNolm 2014-07-10 19:17:05.594822765 +0200 ++++ dhcp-4.2.7b1/server/trace.h 2014-07-10 19:17:05.594822765 +0200 @@ -0,0 +1,11 @@ +// trace.h + @@ -575,9 +575,9 @@ diff -up dhcp-4.2.6b1/server/trace.h.systemtap dhcp-4.2.6b1/server/trace.h +// Wrap the probe to allow it to be removed when no systemtap available +#define TRACE(probe) +#endif -diff -up dhcp-4.2.6b1/tapset/dhcpd.stp.systemtap dhcp-4.2.6b1/tapset/dhcpd.stp ---- dhcp-4.2.6b1/tapset/dhcpd.stp.systemtap 2014-01-23 14:45:04.853357093 +0100 -+++ dhcp-4.2.6b1/tapset/dhcpd.stp 2014-01-23 14:45:04.853357093 +0100 +diff -up dhcp-4.2.7b1/tapset/dhcpd.stp.BrNolm dhcp-4.2.7b1/tapset/dhcpd.stp +--- dhcp-4.2.7b1/tapset/dhcpd.stp.BrNolm 2014-07-10 19:17:05.594822765 +0200 ++++ dhcp-4.2.7b1/tapset/dhcpd.stp 2014-07-10 19:17:05.594822765 +0200 @@ -0,0 +1,212 @@ +/* dhcpd tapset + Copyright (C) 2011, Red Hat Inc. @@ -791,9 +791,9 @@ diff -up dhcp-4.2.6b1/tapset/dhcpd.stp.systemtap dhcp-4.2.6b1/tapset/dhcpd.stp +{ + probestr = sprintf("%s", $$name); +} -diff -up dhcp-4.2.6b1/tapset/Makefile.am.systemtap dhcp-4.2.6b1/tapset/Makefile.am ---- dhcp-4.2.6b1/tapset/Makefile.am.systemtap 2014-01-23 14:45:04.853357093 +0100 -+++ dhcp-4.2.6b1/tapset/Makefile.am 2014-01-23 14:45:04.853357093 +0100 +diff -up dhcp-4.2.7b1/tapset/Makefile.am.BrNolm dhcp-4.2.7b1/tapset/Makefile.am +--- dhcp-4.2.7b1/tapset/Makefile.am.BrNolm 2014-07-10 19:17:05.595822751 +0200 ++++ dhcp-4.2.7b1/tapset/Makefile.am 2014-07-10 19:17:05.595822751 +0200 @@ -0,0 +1,26 @@ +# Makefile.am for dhcp/tapset +# Jiri Popelka diff --git a/dhcp.spec b/dhcp.spec index 3af23ef..ece5a2b 100644 --- a/dhcp.spec +++ b/dhcp.spec @@ -9,16 +9,16 @@ #%%global patchver P2 -#%%global prever rc1 +%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.2.6 -Release: 5%{?dist} +Version: 4.2.7 +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. @@ -51,10 +51,10 @@ Patch14: dhcp-4.2.0-garbage-chars.patch Patch17: dhcp-4.2.0-add_timeout_when_NULL.patch Patch18: dhcp-4.2.6-64_bit_lease_parse.patch Patch19: dhcp-4.2.6-capability.patch -Patch20: dhcp-4.2.0-logpid.patch + Patch21: dhcp-4.2.4-UseMulticast.patch Patch22: dhcp-4.2.5-sendDecline.patch -Patch23: dhcp-4.2.1-retransmission.patch + Patch25: dhcp-4.2.5-rfc3442-classless-static-routes.patch Patch27: dhcp-4.2.0-honor-expired.patch Patch28: dhcp-4.2.6-remove-bind.patch @@ -66,17 +66,17 @@ Patch33: dhcp-4.2.6-lpf-ib.patch Patch34: dhcp-4.2.4-improved-xid.patch Patch35: dhcp-4.2.2-gpxe-cid.patch Patch36: dhcp-4.2.6-systemtap.patch -Patch37: dhcp-4.2.3-dhclient-decline-onetry.patch + Patch38: dhcp-4.2.3-P2-log_perror.patch Patch39: dhcp-4.2.4-getifaddrs.patch Patch40: dhcp-4.2.5-omapi-leak.patch Patch41: dhcp-4.2.5-rfc5970-dhcpv6-options-for-network-boot.patch Patch42: dhcp-4.2.4-failOverPeer.patch Patch44: dhcp-4.2.4-P1-interval.patch -Patch45: dhcp-4.2.4-P2-conflex-do-forward-updates.patch -Patch46: dhcp-4.2.4-P2-dupl-key.patch + + Patch47: dhcp-4.2.5-range6.patch -Patch48: dhcp-4.2.5-next-server.patch + Patch49: dhcp-no-subnet-error2info.patch Patch50: dhcp-ffff-checksum.patch @@ -241,10 +241,6 @@ rm -rf includes/isc-dhcp # dhclient (#517649, #546765), dhcpd/dhcrelay (#699713) %patch19 -p1 -b .capability -# dhclient logs its pid to make troubleshooting NM managed systems -# with multiple dhclients running easier (#546792) -%patch20 -p1 -b .logpid - # Discard unicast Request/Renew/Release/Decline message # (unless we set unicast option) and respond with Reply # with UseMulticast Status Code option (#573090) @@ -257,13 +253,6 @@ rm -rf includes/isc-dhcp # (Submitted to dhcp-bugs@isc.org - [ISC-Bugs #21237]) %patch22 -p1 -b .sendDecline -# In client initiated message exchanges stop retransmission -# upon reaching the MRD rather than at some point after it (#559153) -# (Submitted to dhcp-bugs@isc.org - [ISC-Bugs #21238]) -# It causes RHBZ#1026565 and because we carry it around *only* to silence TAHI -# tests, un-apply it until I find out how to fix it. -#%%patch23 -p1 -b .retransmission - # RFC 3442 - Classless Static Route Option for DHCPv4 (#516325) # (Submitted to dhcp-bugs@isc.org - [ISC-Bugs #24572]) %patch25 -p1 -b .rfc3442 @@ -293,11 +282,6 @@ rm -rf includes/isc-dhcp # http://sourceware.org/systemtap/wiki/SystemTap %patch36 -p1 -b .systemtap -# Send DHCPDECLINE and exit(2) when duplicate address was detected and -# dhclient had been started with '-1' (#756759). -# (Submitted to dhcp-bugs@isc.org - [ISC-Bugs #26735]) -%patch37 -p1 -b .decline-onetry - # Don't send log messages to the standard error descriptor by default (#790387) # (Submitted to dhcp-bugs@isc.org - [ISC-Bugs #28049]) %patch38 -p1 -b .log_perror @@ -321,22 +305,10 @@ rm -rf includes/isc-dhcp # (Submitted to dhcp-bugs@isc.org - [ISC-Bugs #28038]) %patch44 -p1 -b .interval -# do-forward-updates statement wasn't recognized (#863646) -# (Submitted to dhcp-bugs@isc.org - [ISC-Bugs #31328]) -%patch45 -p1 -b .forward-updates - -# multiple key statements in zone definition causes inappropriate error (#873794) -# (Submitted to dhcp-bugs@isc.org - [ISC-Bugs #31892]) -%patch46 -p1 -b .dupl-key - # Make sure range6 is correct for subnet6 where it's declared (#902966) # (Submitted to dhcp-bugs@isc.org - [ISC-Bugs #32453]) %patch47 -p1 -b .range6 -# Expose next-server DHCPv4 option to dhclient script -# (Submitted to dhcp-bugs@isc.org - [ISC-Bugs #33098]) -%patch48 -p1 -b .next-server - # 'No subnet declaration for ' should be info, not error. %patch49 -p1 -b .error2info @@ -629,6 +601,9 @@ done %changelog +* Thu Jul 10 2014 Jiri Popelka - 12:4.2.7-0.1.b1 +- 4.2.7b1 + * Tue Jun 17 2014 Jiri Popelka - 12:4.2.6-5 - keep sending client-id in dhclient.conf (#560361#c44)