4.3.1b1
This commit is contained in:
parent
6b7e125d8b
commit
7b69e548fb
@ -1,7 +1,7 @@
|
||||
diff -up dhcp-4.3.0a1/client/dhc6.c.PPP dhcp-4.3.0a1/client/dhc6.c
|
||||
--- dhcp-4.3.0a1/client/dhc6.c.PPP 2013-12-19 16:16:45.925550229 +0100
|
||||
+++ dhcp-4.3.0a1/client/dhc6.c 2013-12-19 16:16:45.930550159 +0100
|
||||
@@ -5080,7 +5080,8 @@ make_client6_options(struct client_state
|
||||
diff -up dhcp-4.3.1b1/client/dhc6.c.mRfpsB dhcp-4.3.1b1/client/dhc6.c
|
||||
--- dhcp-4.3.1b1/client/dhc6.c.mRfpsB 2014-07-10 17:48:03.779424870 +0200
|
||||
+++ dhcp-4.3.1b1/client/dhc6.c 2014-07-10 17:48:03.795424644 +0200
|
||||
@@ -5088,7 +5088,8 @@ make_client6_options(struct client_state
|
||||
*/
|
||||
if ((oc = lookup_option(&dhcpv6_universe, *op,
|
||||
D6O_CLIENTID)) == NULL) {
|
||||
@ -11,10 +11,10 @@ diff -up dhcp-4.3.0a1/client/dhc6.c.PPP dhcp-4.3.0a1/client/dhc6.c
|
||||
MDL))
|
||||
log_fatal("Failure assembling a DUID.");
|
||||
|
||||
diff -up dhcp-4.3.0a1/client/dhclient.c.PPP dhcp-4.3.0a1/client/dhclient.c
|
||||
--- dhcp-4.3.0a1/client/dhclient.c.PPP 2013-12-19 16:16:45.932550131 +0100
|
||||
+++ dhcp-4.3.0a1/client/dhclient.c 2013-12-19 16:27:38.334473958 +0100
|
||||
@@ -926,8 +926,8 @@ main(int argc, char **argv) {
|
||||
diff -up dhcp-4.3.1b1/client/dhclient.c.mRfpsB dhcp-4.3.1b1/client/dhclient.c
|
||||
--- dhcp-4.3.1b1/client/dhclient.c.mRfpsB 2014-07-10 17:39:25.853763858 +0200
|
||||
+++ dhcp-4.3.1b1/client/dhclient.c 2014-07-10 17:49:49.882925843 +0200
|
||||
@@ -948,8 +948,8 @@ main(int argc, char **argv) {
|
||||
if (default_duid.buffer != NULL)
|
||||
data_string_forget(&default_duid, MDL);
|
||||
|
||||
@ -25,7 +25,7 @@ diff -up dhcp-4.3.0a1/client/dhclient.c.PPP dhcp-4.3.0a1/client/dhclient.c
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3225,7 +3225,7 @@ write_options(struct client_state *clien
|
||||
@@ -3267,7 +3267,7 @@ write_options(struct client_state *clien
|
||||
* is not how it is intended. Upcoming rearchitecting the client should
|
||||
* address this "one daemon model."
|
||||
*/
|
||||
@ -34,7 +34,7 @@ diff -up dhcp-4.3.0a1/client/dhclient.c.PPP dhcp-4.3.0a1/client/dhclient.c
|
||||
form_duid(struct data_string *duid, const char *file, int line)
|
||||
{
|
||||
struct interface_info *ip;
|
||||
@@ -3237,6 +3237,15 @@ form_duid(struct data_string *duid, cons
|
||||
@@ -3280,6 +3280,15 @@ form_duid(struct data_string *duid, cons
|
||||
if (ip == NULL)
|
||||
log_fatal("Impossible condition at %s:%d.", MDL);
|
||||
|
||||
@ -50,19 +50,19 @@ diff -up dhcp-4.3.0a1/client/dhclient.c.PPP dhcp-4.3.0a1/client/dhclient.c
|
||||
if ((ip->hw_address.hlen == 0) ||
|
||||
(ip->hw_address.hlen > sizeof(ip->hw_address.hbuf)))
|
||||
log_fatal("Impossible hardware address length at %s:%d.", MDL);
|
||||
@@ -3272,6 +3281,8 @@ form_duid(struct data_string *duid, cons
|
||||
memcpy(duid->buffer->data + 4, ip->hw_address.hbuf + 1,
|
||||
ip->hw_address.hlen - 1);
|
||||
@@ -3323,6 +3332,8 @@ form_duid(struct data_string *duid, cons
|
||||
log_info("Created duid %s.", str);
|
||||
dfree(str, MDL);
|
||||
}
|
||||
+
|
||||
+ return ISC_R_SUCCESS;
|
||||
}
|
||||
|
||||
/* Write the default DUID to the lease store. */
|
||||
diff -up dhcp-4.3.0a1/common/bpf.c.PPP dhcp-4.3.0a1/common/bpf.c
|
||||
--- dhcp-4.3.0a1/common/bpf.c.PPP 2013-12-19 16:16:45.868551024 +0100
|
||||
+++ dhcp-4.3.0a1/common/bpf.c 2013-12-19 16:16:45.934550103 +0100
|
||||
@@ -602,6 +602,22 @@ get_hw_addr(const char *name, struct har
|
||||
diff -up dhcp-4.3.1b1/common/bpf.c.mRfpsB dhcp-4.3.1b1/common/bpf.c
|
||||
--- dhcp-4.3.1b1/common/bpf.c.mRfpsB 2014-07-10 17:39:25.797764653 +0200
|
||||
+++ dhcp-4.3.1b1/common/bpf.c 2014-07-10 17:48:03.797424616 +0200
|
||||
@@ -600,6 +600,22 @@ get_hw_addr(const char *name, struct har
|
||||
memcpy(&hw->hbuf[1], LLADDR(sa), sa->sdl_alen);
|
||||
break;
|
||||
#endif /* IFT_FDDI */
|
||||
@ -85,9 +85,9 @@ diff -up dhcp-4.3.0a1/common/bpf.c.PPP dhcp-4.3.0a1/common/bpf.c
|
||||
default:
|
||||
log_fatal("Unsupported device type %d for \"%s\"",
|
||||
sa->sdl_type, name);
|
||||
diff -up dhcp-4.3.0a1/common/lpf.c.PPP dhcp-4.3.0a1/common/lpf.c
|
||||
--- dhcp-4.3.0a1/common/lpf.c.PPP 2013-12-19 16:16:45.848551303 +0100
|
||||
+++ dhcp-4.3.0a1/common/lpf.c 2013-12-19 16:16:45.934550103 +0100
|
||||
diff -up dhcp-4.3.1b1/common/lpf.c.mRfpsB dhcp-4.3.1b1/common/lpf.c
|
||||
--- dhcp-4.3.1b1/common/lpf.c.mRfpsB 2014-07-10 17:39:25.744765404 +0200
|
||||
+++ dhcp-4.3.1b1/common/lpf.c 2014-07-10 17:48:03.797424616 +0200
|
||||
@@ -511,6 +511,22 @@ get_hw_addr(const char *name, struct har
|
||||
hw->hbuf[0] = HTYPE_FDDI;
|
||||
memcpy(&hw->hbuf[1], sa->sa_data, 6);
|
||||
@ -111,22 +111,10 @@ diff -up dhcp-4.3.0a1/common/lpf.c.PPP dhcp-4.3.0a1/common/lpf.c
|
||||
default:
|
||||
log_fatal("Unsupported device type %ld for \"%s\"",
|
||||
(long int)sa->sa_family, name);
|
||||
diff -up dhcp-4.3.0a1/includes/dhcp.h.PPP dhcp-4.3.0a1/includes/dhcp.h
|
||||
--- dhcp-4.3.0a1/includes/dhcp.h.PPP 2013-12-19 16:16:45.919550313 +0100
|
||||
+++ dhcp-4.3.0a1/includes/dhcp.h 2013-12-19 16:16:45.936550076 +0100
|
||||
@@ -85,6 +85,8 @@ struct dhcp_packet {
|
||||
* is no standard for this so we
|
||||
* just steal a type */
|
||||
|
||||
+#define HTYPE_RESERVED 0 /* RFC 5494 */
|
||||
+
|
||||
/* Magic cookie validating dhcp options field (and bootp vendor
|
||||
extensions field). */
|
||||
#define DHCP_OPTIONS_COOKIE "\143\202\123\143"
|
||||
diff -up dhcp-4.3.0a1/includes/dhcpd.h.PPP dhcp-4.3.0a1/includes/dhcpd.h
|
||||
--- dhcp-4.3.0a1/includes/dhcpd.h.PPP 2013-12-19 16:16:45.935550090 +0100
|
||||
+++ dhcp-4.3.0a1/includes/dhcpd.h 2013-12-19 16:28:33.468709007 +0100
|
||||
@@ -2824,7 +2824,7 @@ void client_dns_remove(struct client_sta
|
||||
diff -up dhcp-4.3.1b1/includes/dhcpd.h.mRfpsB dhcp-4.3.1b1/includes/dhcpd.h
|
||||
--- dhcp-4.3.1b1/includes/dhcpd.h.mRfpsB 2014-07-10 17:48:03.761425124 +0200
|
||||
+++ dhcp-4.3.1b1/includes/dhcpd.h 2014-07-10 17:48:03.798424601 +0200
|
||||
@@ -2839,7 +2839,7 @@ void client_dns_remove(struct client_sta
|
||||
|
||||
void dhcpv4_client_assignments(void);
|
||||
void dhcpv6_client_assignments(void);
|
||||
@ -135,10 +123,22 @@ diff -up dhcp-4.3.0a1/includes/dhcpd.h.PPP dhcp-4.3.0a1/includes/dhcpd.h
|
||||
|
||||
/* dhc6.c */
|
||||
void dhc6_lease_destroy(struct dhc6_lease **src, const char *file, int line);
|
||||
diff -up dhcp-4.3.0a1/server/dhcpv6.c.PPP dhcp-4.3.0a1/server/dhcpv6.c
|
||||
--- dhcp-4.3.0a1/server/dhcpv6.c.PPP 2013-12-19 16:16:45.901550564 +0100
|
||||
+++ dhcp-4.3.0a1/server/dhcpv6.c 2013-12-19 16:16:45.937550062 +0100
|
||||
@@ -307,6 +307,9 @@ generate_new_server_duid(void) {
|
||||
diff -up dhcp-4.3.1b1/includes/dhcp.h.mRfpsB dhcp-4.3.1b1/includes/dhcp.h
|
||||
--- dhcp-4.3.1b1/includes/dhcp.h.mRfpsB 2014-07-10 17:48:03.761425124 +0200
|
||||
+++ dhcp-4.3.1b1/includes/dhcp.h 2014-07-10 17:48:03.798424601 +0200
|
||||
@@ -81,6 +81,8 @@ struct dhcp_packet {
|
||||
* is no standard for this so we
|
||||
* just steal a type */
|
||||
|
||||
+#define HTYPE_RESERVED 0 /* RFC 5494 */
|
||||
+
|
||||
/* Magic cookie validating dhcp options field (and bootp vendor
|
||||
extensions field). */
|
||||
#define DHCP_OPTIONS_COOKIE "\143\202\123\143"
|
||||
diff -up dhcp-4.3.1b1/server/dhcpv6.c.mRfpsB dhcp-4.3.1b1/server/dhcpv6.c
|
||||
--- dhcp-4.3.1b1/server/dhcpv6.c.mRfpsB 2014-07-10 17:47:31.464881409 +0200
|
||||
+++ dhcp-4.3.1b1/server/dhcpv6.c 2014-07-10 17:48:03.800424573 +0200
|
||||
@@ -330,6 +330,9 @@ generate_new_server_duid(void) {
|
||||
if (p->hw_address.hlen > 0) {
|
||||
break;
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
diff -up dhcp-4.3.0a1/server/dhcpv6.c.UseMulticast dhcp-4.3.0a1/server/dhcpv6.c
|
||||
--- dhcp-4.3.0a1/server/dhcpv6.c.UseMulticast 2013-12-11 01:25:12.000000000 +0100
|
||||
+++ dhcp-4.3.0a1/server/dhcpv6.c 2013-12-19 15:54:46.934932371 +0100
|
||||
@@ -353,6 +353,48 @@ generate_new_server_duid(void) {
|
||||
diff -up dhcp-4.3.1b1/server/dhcpv6.c.UseMulticast dhcp-4.3.1b1/server/dhcpv6.c
|
||||
--- dhcp-4.3.1b1/server/dhcpv6.c.UseMulticast 2014-07-02 19:58:40.000000000 +0200
|
||||
+++ dhcp-4.3.1b1/server/dhcpv6.c 2014-07-10 18:20:03.066256219 +0200
|
||||
@@ -376,6 +376,48 @@ generate_new_server_duid(void) {
|
||||
}
|
||||
|
||||
/*
|
||||
@ -50,7 +50,20 @@ diff -up dhcp-4.3.0a1/server/dhcpv6.c.UseMulticast dhcp-4.3.0a1/server/dhcpv6.c
|
||||
* Get the client identifier from the packet.
|
||||
*/
|
||||
isc_result_t
|
||||
@@ -1498,6 +1540,56 @@ lease_to_client(struct data_string *repl
|
||||
@@ -706,6 +748,12 @@ static const int required_opts[] = {
|
||||
D6O_PREFERENCE,
|
||||
0
|
||||
};
|
||||
+static const int required_opts_NAA[] = {
|
||||
+ D6O_CLIENTID,
|
||||
+ D6O_SERVERID,
|
||||
+ D6O_STATUS_CODE,
|
||||
+ 0
|
||||
+};
|
||||
static const int required_opts_solicit[] = {
|
||||
D6O_CLIENTID,
|
||||
D6O_SERVERID,
|
||||
@@ -1587,6 +1635,56 @@ lease_to_client(struct data_string *repl
|
||||
reply.shared->group, NULL);
|
||||
}
|
||||
|
||||
@ -107,18 +120,7 @@ diff -up dhcp-4.3.0a1/server/dhcpv6.c.UseMulticast dhcp-4.3.0a1/server/dhcpv6.c
|
||||
/*
|
||||
* RFC3315 section 17.2.2 (Solicit):
|
||||
*
|
||||
@@ -1523,8 +1615,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)
|
||||
- if (no_resources_avail && (reply.ia_count != 0) &&
|
||||
- (reply.packet->dhcpv6_msg_type == DHCPV6_SOLICIT))
|
||||
+ else if (no_resources_avail && (reply.ia_count != 0) &&
|
||||
+ (reply.packet->dhcpv6_msg_type == DHCPV6_SOLICIT))
|
||||
{
|
||||
/* Set the NoAddrsAvail status code. */
|
||||
if (!set_status_code(STATUS_NoAddrsAvail,
|
||||
@@ -1571,6 +1663,7 @@ lease_to_client(struct data_string *repl
|
||||
@@ -1619,6 +1717,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 +128,7 @@ diff -up dhcp-4.3.0a1/server/dhcpv6.c.UseMulticast dhcp-4.3.0a1/server/dhcpv6.c
|
||||
reply.cursor += store_options6((char *)reply.buf.data + reply.cursor,
|
||||
sizeof(reply.buf) - reply.cursor,
|
||||
reply.opt_state, reply.packet,
|
||||
@@ -4688,7 +4781,6 @@ dhcpv6_solicit(struct data_string *reply
|
||||
@@ -4748,7 +4847,6 @@ dhcpv6_solicit(struct data_string *reply
|
||||
* Very similar to Solicit handling, except the server DUID is required.
|
||||
*/
|
||||
|
||||
@ -134,7 +136,7 @@ diff -up dhcp-4.3.0a1/server/dhcpv6.c.UseMulticast dhcp-4.3.0a1/server/dhcpv6.c
|
||||
static void
|
||||
dhcpv6_request(struct data_string *reply_ret, struct packet *packet) {
|
||||
struct data_string client_id;
|
||||
@@ -5018,7 +5110,6 @@ exit:
|
||||
@@ -5078,7 +5176,6 @@ exit:
|
||||
* except for the error code of when addresses don't match.
|
||||
*/
|
||||
|
||||
@ -142,7 +144,7 @@ diff -up dhcp-4.3.0a1/server/dhcpv6.c.UseMulticast dhcp-4.3.0a1/server/dhcpv6.c
|
||||
static void
|
||||
dhcpv6_renew(struct data_string *reply, struct packet *packet) {
|
||||
struct data_string client_id;
|
||||
@@ -5262,18 +5353,60 @@ iterate_over_ia_na(struct data_string *r
|
||||
@@ -5322,18 +5419,60 @@ iterate_over_ia_na(struct data_string *r
|
||||
goto exit;
|
||||
}
|
||||
|
||||
@ -213,7 +215,7 @@ diff -up dhcp-4.3.0a1/server/dhcpv6.c.UseMulticast dhcp-4.3.0a1/server/dhcpv6.c
|
||||
|
||||
/*
|
||||
* Loop through the IA_NA reported by the client, and deal with
|
||||
@@ -5411,6 +5544,7 @@ iterate_over_ia_na(struct data_string *r
|
||||
@@ -5471,6 +5610,7 @@ iterate_over_ia_na(struct data_string *r
|
||||
/*
|
||||
* Return our reply to the caller.
|
||||
*/
|
||||
@ -221,7 +223,7 @@ diff -up dhcp-4.3.0a1/server/dhcpv6.c.UseMulticast dhcp-4.3.0a1/server/dhcpv6.c
|
||||
reply_ret->len = reply_ofs;
|
||||
reply_ret->buffer = NULL;
|
||||
if (!buffer_allocate(&reply_ret->buffer, reply_ofs, MDL)) {
|
||||
@@ -5456,7 +5590,6 @@ exit:
|
||||
@@ -5516,7 +5656,6 @@ exit:
|
||||
* we still need to be aware of this possibility.
|
||||
*/
|
||||
|
||||
@ -229,7 +231,7 @@ diff -up dhcp-4.3.0a1/server/dhcpv6.c.UseMulticast dhcp-4.3.0a1/server/dhcpv6.c
|
||||
/* TODO: IA_TA */
|
||||
static void
|
||||
dhcpv6_decline(struct data_string *reply, struct packet *packet) {
|
||||
@@ -5926,7 +6059,6 @@ exit:
|
||||
@@ -5986,7 +6125,6 @@ exit:
|
||||
* Release means a client is done with the leases.
|
||||
*/
|
||||
|
||||
|
@ -1,39 +1,7 @@
|
||||
diff -up dhcp-4.3.0a1/client/Makefile.am.capability dhcp-4.3.0a1/client/Makefile.am
|
||||
--- dhcp-4.3.0a1/client/Makefile.am.capability 2013-12-19 16:15:26.549657115 +0100
|
||||
+++ dhcp-4.3.0a1/client/Makefile.am 2013-12-19 16:16:04.126133091 +0100
|
||||
@@ -4,7 +4,7 @@ dhclient_SOURCES = clparse.c dhclient.c
|
||||
scripts/bsdos scripts/freebsd scripts/linux scripts/macos \
|
||||
scripts/netbsd scripts/nextstep scripts/openbsd \
|
||||
scripts/solaris scripts/openwrt
|
||||
-dhclient_LDADD = ../common/libdhcp.a ../omapip/libomapi.la \
|
||||
+dhclient_LDADD = ../common/libdhcp.a ../omapip/libomapi.la $(CAPNG_LDADD) \
|
||||
$(BIND9_LIBDIR) -lirs-export -ldns-export -lisccfg-export -lisc-export
|
||||
man_MANS = dhclient.8 dhclient-script.8 dhclient.conf.5 dhclient.leases.5
|
||||
EXTRA_DIST = $(man_MANS)
|
||||
diff -up dhcp-4.3.0a1/client/dhclient-script.8.capability dhcp-4.3.0a1/client/dhclient-script.8
|
||||
--- dhcp-4.3.0a1/client/dhclient-script.8.capability 2013-12-19 16:15:26.520657520 +0100
|
||||
+++ dhcp-4.3.0a1/client/dhclient-script.8 2013-12-19 16:15:26.549657115 +0100
|
||||
@@ -246,6 +246,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.
|
||||
+.PP
|
||||
+Normally, if dhclient was compiled with libcap-ng support,
|
||||
+dhclient drops most capabilities immediately upon startup.
|
||||
+While more secure, this greatly restricts the additional actions that
|
||||
+hooks in dhclient-script can take. For example, any daemons that
|
||||
+dhclient-script starts or restarts will inherit the restricted
|
||||
+capabilities as well, which may interfere with their correct operation.
|
||||
+Thus, the
|
||||
+.BI \-nc
|
||||
+option can be used to prevent dhclient from dropping capabilities.
|
||||
.SH SEE ALSO
|
||||
dhclient(8), dhcpd(8), dhcrelay(8), dhclient.conf(5) and
|
||||
dhclient.leases(5).
|
||||
diff -up dhcp-4.3.0a1/client/dhclient.8.capability dhcp-4.3.0a1/client/dhclient.8
|
||||
--- dhcp-4.3.0a1/client/dhclient.8.capability 2013-12-19 16:15:26.482658050 +0100
|
||||
+++ dhcp-4.3.0a1/client/dhclient.8 2013-12-19 16:15:26.550657101 +0100
|
||||
@@ -124,6 +124,9 @@ dhclient - Dynamic Host Configuration Pr
|
||||
diff -up dhcp-4.3.1b1/client/dhclient.8.zzftXp dhcp-4.3.1b1/client/dhclient.8
|
||||
--- dhcp-4.3.1b1/client/dhclient.8.zzftXp 2014-07-10 17:38:26.938599402 +0200
|
||||
+++ dhcp-4.3.1b1/client/dhclient.8 2014-07-10 17:39:25.852763873 +0200
|
||||
@@ -128,6 +128,9 @@ dhclient - Dynamic Host Configuration Pr
|
||||
.B -w
|
||||
]
|
||||
[
|
||||
@ -43,7 +11,7 @@ diff -up dhcp-4.3.0a1/client/dhclient.8.capability dhcp-4.3.0a1/client/dhclient.
|
||||
.B -B
|
||||
]
|
||||
[
|
||||
@@ -300,6 +303,32 @@ has been added or removed, so that the c
|
||||
@@ -304,6 +307,32 @@ has been added or removed, so that the c
|
||||
address on that interface.
|
||||
|
||||
.TP
|
||||
@ -76,9 +44,9 @@ diff -up dhcp-4.3.0a1/client/dhclient.8.capability dhcp-4.3.0a1/client/dhclient.
|
||||
.BI \-B
|
||||
Set the BOOTP broadcast flag in request packets so servers will always
|
||||
broadcast replies.
|
||||
diff -up dhcp-4.3.0a1/client/dhclient.c.capability dhcp-4.3.0a1/client/dhclient.c
|
||||
--- dhcp-4.3.0a1/client/dhclient.c.capability 2013-12-19 16:15:26.532657352 +0100
|
||||
+++ dhcp-4.3.0a1/client/dhclient.c 2013-12-19 16:15:26.551657087 +0100
|
||||
diff -up dhcp-4.3.1b1/client/dhclient.c.zzftXp dhcp-4.3.1b1/client/dhclient.c
|
||||
--- dhcp-4.3.1b1/client/dhclient.c.zzftXp 2014-07-10 17:39:25.797764653 +0200
|
||||
+++ dhcp-4.3.1b1/client/dhclient.c 2014-07-10 17:39:25.853763858 +0200
|
||||
@@ -39,6 +39,10 @@
|
||||
#include <limits.h>
|
||||
#include <dns/result.h>
|
||||
@ -90,7 +58,7 @@ diff -up dhcp-4.3.0a1/client/dhclient.c.capability dhcp-4.3.0a1/client/dhclient.
|
||||
/*
|
||||
* Defined in stdio.h when _GNU_SOURCE is set, but we don't want to define
|
||||
* that when building ISC code.
|
||||
@@ -141,6 +145,9 @@ main(int argc, char **argv) {
|
||||
@@ -143,6 +147,9 @@ main(int argc, char **argv) {
|
||||
int timeout_arg = 0;
|
||||
char *arg_conf = NULL;
|
||||
int arg_conf_len = 0;
|
||||
@ -100,7 +68,7 @@ diff -up dhcp-4.3.0a1/client/dhclient.c.capability dhcp-4.3.0a1/client/dhclient.
|
||||
|
||||
/* Initialize client globals. */
|
||||
memset(&default_duid, 0, sizeof(default_duid));
|
||||
@@ -413,6 +420,10 @@ main(int argc, char **argv) {
|
||||
@@ -425,6 +432,10 @@ main(int argc, char **argv) {
|
||||
}
|
||||
|
||||
dhclient_request_options = argv[i];
|
||||
@ -111,7 +79,7 @@ diff -up dhcp-4.3.0a1/client/dhclient.c.capability dhcp-4.3.0a1/client/dhclient.
|
||||
} else if (argv[i][0] == '-') {
|
||||
usage();
|
||||
} else if (interfaces_requested < 0) {
|
||||
@@ -461,6 +472,19 @@ main(int argc, char **argv) {
|
||||
@@ -473,6 +484,19 @@ main(int argc, char **argv) {
|
||||
path_dhclient_script = s;
|
||||
}
|
||||
|
||||
@ -131,10 +99,42 @@ diff -up dhcp-4.3.0a1/client/dhclient.c.capability dhcp-4.3.0a1/client/dhclient.
|
||||
/* Set up the initial dhcp option universe. */
|
||||
initialize_common_option_spaces();
|
||||
|
||||
diff -up dhcp-4.3.0a1/configure.ac.capability dhcp-4.3.0a1/configure.ac
|
||||
--- dhcp-4.3.0a1/configure.ac.capability 2013-12-19 16:15:26.475658147 +0100
|
||||
+++ dhcp-4.3.0a1/configure.ac 2013-12-19 16:15:26.552657074 +0100
|
||||
@@ -489,6 +489,41 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]],
|
||||
diff -up dhcp-4.3.1b1/client/dhclient-script.8.zzftXp dhcp-4.3.1b1/client/dhclient-script.8
|
||||
--- dhcp-4.3.1b1/client/dhclient-script.8.zzftXp 2014-07-10 17:39:25.761765163 +0200
|
||||
+++ dhcp-4.3.1b1/client/dhclient-script.8 2014-07-10 17:39:25.851763887 +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.
|
||||
+.PP
|
||||
+Normally, if dhclient was compiled with libcap-ng support,
|
||||
+dhclient drops most capabilities immediately upon startup.
|
||||
+While more secure, this greatly restricts the additional actions that
|
||||
+hooks in dhclient-script can take. For example, any daemons that
|
||||
+dhclient-script starts or restarts will inherit the restricted
|
||||
+capabilities as well, which may interfere with their correct operation.
|
||||
+Thus, the
|
||||
+.BI \-nc
|
||||
+option can be used to prevent dhclient from dropping capabilities.
|
||||
.SH SEE ALSO
|
||||
dhclient(8), dhcpd(8), dhcrelay(8), dhclient.conf(5) and
|
||||
dhclient.leases(5).
|
||||
diff -up dhcp-4.3.1b1/client/Makefile.am.zzftXp dhcp-4.3.1b1/client/Makefile.am
|
||||
--- dhcp-4.3.1b1/client/Makefile.am.zzftXp 2014-07-10 17:38:10.778828583 +0200
|
||||
+++ dhcp-4.3.1b1/client/Makefile.am 2014-07-10 17:39:25.851763887 +0200
|
||||
@@ -10,7 +10,7 @@ dhclient_SOURCES = clparse.c dhclient.c
|
||||
scripts/bsdos scripts/freebsd scripts/linux scripts/macos \
|
||||
scripts/netbsd scripts/nextstep scripts/openbsd \
|
||||
scripts/solaris scripts/openwrt
|
||||
-dhclient_LDADD = ../common/libdhcp.a ../omapip/libomapi.la \
|
||||
+dhclient_LDADD = ../common/libdhcp.a ../omapip/libomapi.la $(CAPNG_LDADD) \
|
||||
$(BIND9_LIBDIR) -lirs-export -ldns-export -lisccfg-export -lisc-export
|
||||
man_MANS = dhclient.8 dhclient-script.8 dhclient.conf.5 dhclient.leases.5
|
||||
EXTRA_DIST = $(man_MANS)
|
||||
diff -up dhcp-4.3.1b1/configure.ac.zzftXp dhcp-4.3.1b1/configure.ac
|
||||
--- dhcp-4.3.1b1/configure.ac.zzftXp 2014-07-10 17:38:10.779828569 +0200
|
||||
+++ dhcp-4.3.1b1/configure.ac 2014-07-10 17:39:25.854763844 +0200
|
||||
@@ -499,6 +499,41 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]],
|
||||
# Look for optional headers.
|
||||
AC_CHECK_HEADERS(sys/socket.h net/if_dl.h net/if6.h regex.h)
|
||||
|
||||
@ -176,22 +176,10 @@ diff -up dhcp-4.3.0a1/configure.ac.capability dhcp-4.3.0a1/configure.ac
|
||||
# Solaris needs some libraries for functions
|
||||
AC_SEARCH_LIBS(socket, [socket])
|
||||
AC_SEARCH_LIBS(inet_ntoa, [nsl])
|
||||
diff -up dhcp-4.3.0a1/relay/Makefile.am.capability dhcp-4.3.0a1/relay/Makefile.am
|
||||
--- dhcp-4.3.0a1/relay/Makefile.am.capability 2013-12-19 16:15:26.552657074 +0100
|
||||
+++ dhcp-4.3.0a1/relay/Makefile.am 2013-12-19 16:16:26.159825841 +0100
|
||||
@@ -2,7 +2,7 @@ AM_CPPFLAGS = -DLOCALSTATEDIR='"@localst
|
||||
|
||||
sbin_PROGRAMS = dhcrelay
|
||||
dhcrelay_SOURCES = dhcrelay.c
|
||||
-dhcrelay_LDADD = ../common/libdhcp.a ../omapip/libomapi.la \
|
||||
+dhcrelay_LDADD = ../common/libdhcp.a ../omapip/libomapi.la $(CAPNG_LDADD) \
|
||||
$(BIND9_LIBDIR) -lirs-export -ldns-export -lisccfg-export -lisc-export
|
||||
man_MANS = dhcrelay.8
|
||||
EXTRA_DIST = $(man_MANS)
|
||||
diff -up dhcp-4.3.0a1/relay/dhcrelay.c.capability dhcp-4.3.0a1/relay/dhcrelay.c
|
||||
--- dhcp-4.3.0a1/relay/dhcrelay.c.capability 2013-12-19 16:15:26.535657311 +0100
|
||||
+++ dhcp-4.3.0a1/relay/dhcrelay.c 2013-12-19 16:15:26.553657060 +0100
|
||||
@@ -37,6 +37,11 @@
|
||||
diff -up dhcp-4.3.1b1/relay/dhcrelay.c.zzftXp dhcp-4.3.1b1/relay/dhcrelay.c
|
||||
--- dhcp-4.3.1b1/relay/dhcrelay.c.zzftXp 2014-07-10 17:39:25.799764624 +0200
|
||||
+++ dhcp-4.3.1b1/relay/dhcrelay.c 2014-07-10 17:40:19.191007421 +0200
|
||||
@@ -31,6 +31,11 @@
|
||||
#include <signal.h>
|
||||
#include <sys/time.h>
|
||||
|
||||
@ -203,7 +191,7 @@ diff -up dhcp-4.3.0a1/relay/dhcrelay.c.capability dhcp-4.3.0a1/relay/dhcrelay.c
|
||||
TIME default_lease_time = 43200; /* 12 hours... */
|
||||
TIME max_lease_time = 86400; /* 24 hours... */
|
||||
struct tree_cache *global_options[256];
|
||||
@@ -382,6 +387,10 @@ main(int argc, char **argv) {
|
||||
@@ -376,6 +381,10 @@ main(int argc, char **argv) {
|
||||
usage();
|
||||
dhcrelay_sub_id = argv[i];
|
||||
#endif
|
||||
@ -214,7 +202,7 @@ diff -up dhcp-4.3.0a1/relay/dhcrelay.c.capability dhcp-4.3.0a1/relay/dhcrelay.c
|
||||
} else if (!strcmp(argv[i], "-pf")) {
|
||||
if (++i == argc)
|
||||
usage();
|
||||
@@ -452,6 +461,17 @@ main(int argc, char **argv) {
|
||||
@@ -446,6 +455,17 @@ main(int argc, char **argv) {
|
||||
#endif
|
||||
}
|
||||
|
||||
@ -232,9 +220,9 @@ diff -up dhcp-4.3.0a1/relay/dhcrelay.c.capability dhcp-4.3.0a1/relay/dhcrelay.c
|
||||
if (!quiet) {
|
||||
log_info("%s %s", message, PACKAGE_VERSION);
|
||||
log_info(copyright);
|
||||
@@ -601,6 +621,15 @@ main(int argc, char **argv) {
|
||||
signal(SIGINT, dhcp_signal_handler); /* control-c */
|
||||
@@ -598,6 +618,15 @@ main(int argc, char **argv) {
|
||||
signal(SIGTERM, dhcp_signal_handler); /* kill */
|
||||
#endif
|
||||
|
||||
+#ifdef HAVE_LIBCAP_NG
|
||||
+ /* Drop all capabilities */
|
||||
@ -248,3 +236,15 @@ diff -up dhcp-4.3.0a1/relay/dhcrelay.c.capability dhcp-4.3.0a1/relay/dhcrelay.c
|
||||
/* Start dispatching packets and timeouts... */
|
||||
dispatch();
|
||||
|
||||
diff -up dhcp-4.3.1b1/relay/Makefile.am.zzftXp dhcp-4.3.1b1/relay/Makefile.am
|
||||
--- dhcp-4.3.1b1/relay/Makefile.am.zzftXp 2014-07-10 17:38:10.780828554 +0200
|
||||
+++ dhcp-4.3.1b1/relay/Makefile.am 2014-07-10 17:39:25.854763844 +0200
|
||||
@@ -2,7 +2,7 @@ AM_CPPFLAGS = -DLOCALSTATEDIR='"@localst
|
||||
|
||||
sbin_PROGRAMS = dhcrelay
|
||||
dhcrelay_SOURCES = dhcrelay.c
|
||||
-dhcrelay_LDADD = ../common/libdhcp.a ../omapip/libomapi.la \
|
||||
+dhcrelay_LDADD = ../common/libdhcp.a ../omapip/libomapi.la $(CAPNG_LDADD) \
|
||||
$(BIND9_LIBDIR) -lirs-export -ldns-export -lisccfg-export -lisc-export
|
||||
man_MANS = dhcrelay.8
|
||||
EXTRA_DIST = $(man_MANS)
|
||||
|
@ -1,12 +0,0 @@
|
||||
diff -up dhcp-4.3.0a1/common/conflex.c.forward-updates dhcp-4.3.0a1/common/conflex.c
|
||||
--- dhcp-4.3.0a1/common/conflex.c.forward-updates 2013-12-20 13:52:11.315466686 +0100
|
||||
+++ dhcp-4.3.0a1/common/conflex.c 2013-12-20 13:52:11.492464218 +0100
|
||||
@@ -896,7 +896,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;
|
@ -1,7 +1,7 @@
|
||||
diff -up dhcp-4.3.0a1/client/dhclient.c.backoff dhcp-4.3.0a1/client/dhclient.c
|
||||
--- dhcp-4.3.0a1/client/dhclient.c.backoff 2013-12-19 15:11:11.310534716 +0100
|
||||
+++ dhcp-4.3.0a1/client/dhclient.c 2013-12-19 15:11:11.315534646 +0100
|
||||
@@ -1250,6 +1250,8 @@ void state_init (cpp)
|
||||
diff -up dhcp-4.3.1b1/client/dhclient.c.JwFUZj dhcp-4.3.1b1/client/dhclient.c
|
||||
--- dhcp-4.3.1b1/client/dhclient.c.JwFUZj 2014-07-10 17:38:50.511265091 +0200
|
||||
+++ dhcp-4.3.1b1/client/dhclient.c 2014-07-10 17:39:16.164901267 +0200
|
||||
@@ -1281,6 +1281,8 @@ void state_init (cpp)
|
||||
void *cpp;
|
||||
{
|
||||
struct client_state *client = cpp;
|
||||
@ -10,7 +10,7 @@ diff -up dhcp-4.3.0a1/client/dhclient.c.backoff dhcp-4.3.0a1/client/dhclient.c
|
||||
|
||||
ASSERT_STATE(state, S_INIT);
|
||||
|
||||
@@ -1262,9 +1264,18 @@ void state_init (cpp)
|
||||
@@ -1293,9 +1295,18 @@ void state_init (cpp)
|
||||
client -> first_sending = cur_time;
|
||||
client -> interval = client -> config -> initial_interval;
|
||||
|
||||
@ -32,15 +32,15 @@ diff -up dhcp-4.3.0a1/client/dhclient.c.backoff dhcp-4.3.0a1/client/dhclient.c
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -1557,6 +1568,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;
|
||||
}
|
||||
@@ -4001,6 +4013,7 @@ void client_location_changed ()
|
||||
@@ -1592,6 +1603,7 @@ void bind_lease (client)
|
||||
"try (declined). Exiting.");
|
||||
exit(2);
|
||||
} else {
|
||||
+ client -> state = S_DECLINED;
|
||||
state_init(client);
|
||||
return;
|
||||
}
|
||||
@@ -4059,6 +4071,7 @@ void client_location_changed ()
|
||||
case S_INIT:
|
||||
case S_REBINDING:
|
||||
case S_STOPPED:
|
||||
@ -48,10 +48,10 @@ diff -up dhcp-4.3.0a1/client/dhclient.c.backoff dhcp-4.3.0a1/client/dhclient.c
|
||||
break;
|
||||
}
|
||||
client -> state = S_INIT;
|
||||
diff -up dhcp-4.3.0a1/includes/dhcpd.h.backoff dhcp-4.3.0a1/includes/dhcpd.h
|
||||
--- dhcp-4.3.0a1/includes/dhcpd.h.backoff 2013-12-19 15:11:11.305534786 +0100
|
||||
+++ dhcp-4.3.0a1/includes/dhcpd.h 2013-12-19 15:11:11.316534632 +0100
|
||||
@@ -1088,7 +1088,8 @@ enum dhcp_state {
|
||||
diff -up dhcp-4.3.1b1/includes/dhcpd.h.JwFUZj dhcp-4.3.1b1/includes/dhcpd.h
|
||||
--- dhcp-4.3.1b1/includes/dhcpd.h.JwFUZj 2014-07-10 17:38:26.941599360 +0200
|
||||
+++ dhcp-4.3.1b1/includes/dhcpd.h 2014-07-10 17:38:50.526264878 +0200
|
||||
@@ -1087,7 +1087,8 @@ enum dhcp_state {
|
||||
S_BOUND = 5,
|
||||
S_RENEWING = 6,
|
||||
S_REBINDING = 7,
|
||||
|
@ -1,27 +0,0 @@
|
||||
diff -up dhcp-4.3.0a1/client/dhclient.c.decline-onetry dhcp-4.3.0a1/client/dhclient.c
|
||||
--- dhcp-4.3.0a1/client/dhclient.c.decline-onetry 2013-12-20 13:37:26.382796437 +0100
|
||||
+++ dhcp-4.3.0a1/client/dhclient.c 2013-12-20 13:37:26.401796172 +0100
|
||||
@@ -1708,11 +1708,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. */
|
@ -1,7 +1,7 @@
|
||||
diff -up dhcp-4.3.0a1/client/clparse.c.options dhcp-4.3.0a1/client/clparse.c
|
||||
--- dhcp-4.3.0a1/client/clparse.c.options 2013-12-11 01:25:12.000000000 +0100
|
||||
+++ dhcp-4.3.0a1/client/clparse.c 2013-12-19 14:50:15.011193031 +0100
|
||||
@@ -154,6 +154,7 @@ isc_result_t read_client_conf ()
|
||||
diff -up dhcp-4.3.1b1/client/clparse.c.fLPqYB dhcp-4.3.1b1/client/clparse.c
|
||||
--- dhcp-4.3.1b1/client/clparse.c.fLPqYB 2014-07-02 19:58:38.000000000 +0200
|
||||
+++ dhcp-4.3.1b1/client/clparse.c 2014-07-10 17:38:26.938599402 +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;
|
||||
@ -9,7 +9,7 @@ diff -up dhcp-4.3.0a1/client/clparse.c.options dhcp-4.3.0a1/client/clparse.c
|
||||
|
||||
group_allocate (&top_level_config.on_receipt, MDL);
|
||||
if (!top_level_config.on_receipt)
|
||||
@@ -320,7 +321,8 @@ void read_client_leases ()
|
||||
@@ -353,7 +354,8 @@ void read_client_leases ()
|
||||
interface-declaration |
|
||||
LEASE client-lease-statement |
|
||||
ALIAS client-lease-statement |
|
||||
@ -19,7 +19,7 @@ diff -up dhcp-4.3.0a1/client/clparse.c.options dhcp-4.3.0a1/client/clparse.c
|
||||
|
||||
void parse_client_statement (cfile, ip, config)
|
||||
struct parse *cfile;
|
||||
@@ -738,6 +740,12 @@ void parse_client_statement (cfile, ip,
|
||||
@@ -771,6 +773,12 @@ void parse_client_statement (cfile, ip,
|
||||
parse_reject_statement (cfile, config);
|
||||
return;
|
||||
|
||||
@ -32,10 +32,10 @@ diff -up dhcp-4.3.0a1/client/clparse.c.options dhcp-4.3.0a1/client/clparse.c
|
||||
default:
|
||||
lose = 0;
|
||||
stmt = (struct executable_statement *)0;
|
||||
diff -up dhcp-4.3.0a1/client/dhclient.8.options dhcp-4.3.0a1/client/dhclient.8
|
||||
--- dhcp-4.3.0a1/client/dhclient.8.options 2013-12-11 01:25:12.000000000 +0100
|
||||
+++ dhcp-4.3.0a1/client/dhclient.8 2013-12-19 14:50:15.010193045 +0100
|
||||
@@ -124,6 +124,33 @@ dhclient - Dynamic Host Configuration Pr
|
||||
diff -up dhcp-4.3.1b1/client/dhclient.8.fLPqYB dhcp-4.3.1b1/client/dhclient.8
|
||||
--- dhcp-4.3.1b1/client/dhclient.8.fLPqYB 2014-07-02 19:58:38.000000000 +0200
|
||||
+++ dhcp-4.3.1b1/client/dhclient.8 2014-07-10 17:38:26.938599402 +0200
|
||||
@@ -128,6 +128,33 @@ dhclient - Dynamic Host Configuration Pr
|
||||
.B -w
|
||||
]
|
||||
[
|
||||
@ -69,7 +69,7 @@ diff -up dhcp-4.3.0a1/client/dhclient.8.options dhcp-4.3.0a1/client/dhclient.8
|
||||
.B -v
|
||||
]
|
||||
[
|
||||
@@ -271,6 +298,69 @@ not to exit when it doesn't find any suc
|
||||
@@ -275,6 +302,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.
|
||||
@ -139,9 +139,9 @@ diff -up dhcp-4.3.0a1/client/dhclient.8.options dhcp-4.3.0a1/client/dhclient.8
|
||||
.TP
|
||||
.BI \-n
|
||||
Do not configure any interfaces. This is most likely to be useful in
|
||||
diff -up dhcp-4.3.0a1/client/dhclient.c.options dhcp-4.3.0a1/client/dhclient.c
|
||||
--- dhcp-4.3.0a1/client/dhclient.c.options 2013-12-13 22:24:38.000000000 +0100
|
||||
+++ dhcp-4.3.0a1/client/dhclient.c 2013-12-19 14:50:15.012193017 +0100
|
||||
diff -up dhcp-4.3.1b1/client/dhclient.c.fLPqYB dhcp-4.3.1b1/client/dhclient.c
|
||||
--- dhcp-4.3.1b1/client/dhclient.c.fLPqYB 2014-07-02 19:58:38.000000000 +0200
|
||||
+++ dhcp-4.3.1b1/client/dhclient.c 2014-07-10 17:38:44.520350055 +0200
|
||||
@@ -39,6 +39,12 @@
|
||||
#include <limits.h>
|
||||
#include <dns/result.h>
|
||||
@ -155,7 +155,7 @@ diff -up dhcp-4.3.0a1/client/dhclient.c.options dhcp-4.3.0a1/client/dhclient.c
|
||||
TIME default_lease_time = 43200; /* 12 hours... */
|
||||
TIME max_lease_time = 86400; /* 24 hours... */
|
||||
|
||||
@@ -87,6 +93,9 @@ int wanted_ia_na = -1; /* the absolute
|
||||
@@ -88,6 +94,9 @@ int wanted_ia_na = -1; /* the absolute
|
||||
int wanted_ia_ta = 0;
|
||||
int wanted_ia_pd = 0;
|
||||
char *mockup_relay = NULL;
|
||||
@ -165,7 +165,7 @@ diff -up dhcp-4.3.0a1/client/dhclient.c.options dhcp-4.3.0a1/client/dhclient.c
|
||||
|
||||
void run_stateless(int exit_mode);
|
||||
|
||||
@@ -123,6 +132,15 @@ main(int argc, char **argv) {
|
||||
@@ -125,6 +134,15 @@ main(int argc, char **argv) {
|
||||
int local_family_set = 0;
|
||||
#endif /* DHCPv6 */
|
||||
char *s;
|
||||
@ -181,9 +181,9 @@ diff -up dhcp-4.3.0a1/client/dhclient.c.options dhcp-4.3.0a1/client/dhclient.c
|
||||
|
||||
/* Initialize client globals. */
|
||||
memset(&default_duid, 0, sizeof(default_duid));
|
||||
@@ -313,6 +331,88 @@ main(int argc, char **argv) {
|
||||
} else if (!strcmp(argv[i], "--version")) {
|
||||
log_info("isc-dhclient-%s", PACKAGE_VERSION);
|
||||
@@ -325,6 +343,88 @@ main(int argc, char **argv) {
|
||||
strlen(PACKAGE_VERSION)));
|
||||
IGNORE_RET(write(STDERR_FILENO, "\n", 1));
|
||||
exit(0);
|
||||
+ } else if (!strcmp(argv[i], "-C")) {
|
||||
+ if ((++i == argc) || (argv[i] == NULL) || (*(argv[i])=='\0')) {
|
||||
@ -270,7 +270,7 @@ diff -up dhcp-4.3.0a1/client/dhclient.c.options dhcp-4.3.0a1/client/dhclient.c
|
||||
} else if (argv[i][0] == '-') {
|
||||
usage();
|
||||
} else if (interfaces_requested < 0) {
|
||||
@@ -490,6 +590,156 @@ main(int argc, char **argv) {
|
||||
@@ -507,6 +607,156 @@ main(int argc, char **argv) {
|
||||
/* Parse the dhclient.conf file. */
|
||||
read_client_conf();
|
||||
|
||||
@ -427,9 +427,9 @@ diff -up dhcp-4.3.0a1/client/dhclient.c.options dhcp-4.3.0a1/client/dhclient.c
|
||||
/* Parse the lease database. */
|
||||
read_client_leases();
|
||||
|
||||
@@ -730,6 +980,10 @@ static void usage()
|
||||
" [-s server-addr] [-cf config-file] "
|
||||
"[-lf lease-file]\n"
|
||||
@@ -756,6 +1006,10 @@ static void usage()
|
||||
" [-s server-addr] [-cf config-file]\n"
|
||||
" [-df duid-file] [-lf lease-file]\n"
|
||||
" [-pf pid-file] [--no-pid] [-e VAR=val]\n"
|
||||
+ " [-C <dhcp-client-identifier>] [-B]\n"
|
||||
+ " [-H <host-name> | -F <fqdn.fqdn>] [-timeout <timeout>]\n"
|
||||
@ -438,7 +438,7 @@ diff -up dhcp-4.3.0a1/client/dhclient.c.options dhcp-4.3.0a1/client/dhclient.c
|
||||
" [-sf script-file] [interface]");
|
||||
}
|
||||
|
||||
@@ -2489,7 +2743,8 @@ void make_discover (client, lease)
|
||||
@@ -2531,7 +2785,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.3.0a1/client/dhclient.c.options dhcp-4.3.0a1/client/dhclient.c
|
||||
client -> packet.flags = 0;
|
||||
else
|
||||
client -> packet.flags = htons (BOOTP_BROADCAST);
|
||||
@@ -2573,7 +2828,9 @@ void make_request (client, lease)
|
||||
@@ -2615,7 +2870,9 @@ void make_request (client, lease)
|
||||
} else {
|
||||
memset (&client -> packet.ciaddr, 0,
|
||||
sizeof client -> packet.ciaddr);
|
||||
@ -459,7 +459,7 @@ diff -up dhcp-4.3.0a1/client/dhclient.c.options dhcp-4.3.0a1/client/dhclient.c
|
||||
client -> packet.flags = 0;
|
||||
else
|
||||
client -> packet.flags = htons (BOOTP_BROADCAST);
|
||||
@@ -2635,7 +2892,8 @@ void make_decline (client, lease)
|
||||
@@ -2677,7 +2934,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.3.0a1/client/dhclient.c.options dhcp-4.3.0a1/client/dhclient.c
|
||||
client -> packet.flags = 0;
|
||||
else
|
||||
client -> packet.flags = htons (BOOTP_BROADCAST);
|
||||
diff -up dhcp-4.3.0a1/common/conflex.c.options dhcp-4.3.0a1/common/conflex.c
|
||||
--- dhcp-4.3.0a1/common/conflex.c.options 2013-12-11 01:25:12.000000000 +0100
|
||||
+++ dhcp-4.3.0a1/common/conflex.c 2013-12-19 14:50:15.013193003 +0100
|
||||
@@ -817,6 +817,8 @@ intern(char *atom, enum dhcp_token dfv)
|
||||
diff -up dhcp-4.3.1b1/common/conflex.c.fLPqYB dhcp-4.3.1b1/common/conflex.c
|
||||
--- dhcp-4.3.1b1/common/conflex.c.fLPqYB 2014-07-02 19:58:38.000000000 +0200
|
||||
+++ dhcp-4.3.1b1/common/conflex.c 2014-07-10 17:38:26.940599374 +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.3.0a1/common/conflex.c.options dhcp-4.3.0a1/common/conflex.c
|
||||
break;
|
||||
case 'c':
|
||||
if (!strcasecmp(atom + 1, "ase"))
|
||||
diff -up dhcp-4.3.0a1/includes/dhcpd.h.options dhcp-4.3.0a1/includes/dhcpd.h
|
||||
--- dhcp-4.3.0a1/includes/dhcpd.h.options 2013-12-13 21:49:44.000000000 +0100
|
||||
+++ dhcp-4.3.0a1/includes/dhcpd.h 2013-12-19 14:50:15.014192989 +0100
|
||||
@@ -1153,6 +1153,9 @@ struct client_config {
|
||||
diff -up dhcp-4.3.1b1/includes/dhcpd.h.fLPqYB dhcp-4.3.1b1/includes/dhcpd.h
|
||||
--- dhcp-4.3.1b1/includes/dhcpd.h.fLPqYB 2014-07-02 19:58:39.000000000 +0200
|
||||
+++ dhcp-4.3.1b1/includes/dhcpd.h 2014-07-10 17:38:26.941599360 +0200
|
||||
@@ -1152,6 +1152,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.3.0a1/includes/dhcpd.h.options dhcp-4.3.0a1/includes/dhcpd.h
|
||||
};
|
||||
|
||||
/* Per-interface state used in the dhcp client... */
|
||||
diff -up dhcp-4.3.0a1/includes/dhctoken.h.options dhcp-4.3.0a1/includes/dhctoken.h
|
||||
--- dhcp-4.3.0a1/includes/dhctoken.h.options 2013-12-19 14:50:15.014192989 +0100
|
||||
+++ dhcp-4.3.0a1/includes/dhctoken.h 2013-12-19 14:51:57.472758577 +0100
|
||||
@@ -373,7 +373,8 @@ enum dhcp_token {
|
||||
diff -up dhcp-4.3.1b1/includes/dhctoken.h.fLPqYB dhcp-4.3.1b1/includes/dhctoken.h
|
||||
--- dhcp-4.3.1b1/includes/dhctoken.h.fLPqYB 2014-07-02 19:58:39.000000000 +0200
|
||||
+++ dhcp-4.3.1b1/includes/dhctoken.h 2014-07-10 17:38:26.942599346 +0200
|
||||
@@ -367,7 +367,8 @@ enum dhcp_token {
|
||||
TOKEN_INFINIBAND = 668,
|
||||
POOL6 = 669,
|
||||
V6RELAY = 670,
|
||||
|
@ -1,7 +1,7 @@
|
||||
diff -up dhcp-4.3.0/client/dhclient.8.duidv4 dhcp-4.3.0/client/dhclient.8
|
||||
--- dhcp-4.3.0/client/dhclient.8.duidv4 2014-02-18 15:52:44.564123664 +0100
|
||||
+++ dhcp-4.3.0/client/dhclient.8 2014-02-18 15:52:44.629122766 +0100
|
||||
@@ -454,6 +454,9 @@ used to construct a RFC4361 style client
|
||||
diff -up dhcp-4.3.1b1/client/dhclient.8.KrJcIv dhcp-4.3.1b1/client/dhclient.8
|
||||
--- dhcp-4.3.1b1/client/dhclient.8.KrJcIv 2014-07-10 17:39:25.852763873 +0200
|
||||
+++ dhcp-4.3.1b1/client/dhclient.8 2014-07-10 17:54:26.841012988 +0200
|
||||
@@ -458,6 +458,9 @@ used to construct a RFC4361 style client
|
||||
in the client's messages. This client id can be overridden by
|
||||
setting a client id in the configuration file. Overridding the
|
||||
client id in this fashion is discouraged.
|
||||
@ -11,10 +11,10 @@ diff -up dhcp-4.3.0/client/dhclient.8.duidv4 dhcp-4.3.0/client/dhclient.8
|
||||
.TP
|
||||
.BI \-I
|
||||
Use the standard DDNS scheme from RFCs 4701 & 4702.
|
||||
diff -up dhcp-4.3.0/client/dhclient.c.duidv4 dhcp-4.3.0/client/dhclient.c
|
||||
--- dhcp-4.3.0/client/dhclient.c.duidv4 2014-02-18 15:52:44.626122807 +0100
|
||||
+++ dhcp-4.3.0/client/dhclient.c 2014-02-18 15:52:44.630122752 +0100
|
||||
@@ -72,7 +72,7 @@ struct sockaddr_in sockaddr_broadcast;
|
||||
diff -up dhcp-4.3.1b1/client/dhclient.c.KrJcIv dhcp-4.3.1b1/client/dhclient.c
|
||||
--- dhcp-4.3.1b1/client/dhclient.c.KrJcIv 2014-07-10 17:54:26.829013157 +0200
|
||||
+++ dhcp-4.3.1b1/client/dhclient.c 2014-07-10 17:55:50.155835918 +0200
|
||||
@@ -73,7 +73,7 @@ struct sockaddr_in sockaddr_broadcast;
|
||||
struct in_addr giaddr;
|
||||
struct data_string default_duid;
|
||||
int duid_type = 0;
|
||||
@ -23,7 +23,7 @@ diff -up dhcp-4.3.0/client/dhclient.c.duidv4 dhcp-4.3.0/client/dhclient.c
|
||||
int std_dhcid = 0;
|
||||
|
||||
/* ASSERT_STATE() does nothing now; it used to be
|
||||
@@ -1270,7 +1270,7 @@ static void setup_ib_interface(struct in
|
||||
@@ -1301,7 +1301,7 @@ static void setup_ib_interface(struct in
|
||||
}
|
||||
|
||||
/* No client ID specified */
|
||||
@ -32,15 +32,15 @@ diff -up dhcp-4.3.0/client/dhclient.c.duidv4 dhcp-4.3.0/client/dhclient.c
|
||||
}
|
||||
|
||||
/* Individual States:
|
||||
@@ -3299,6 +3299,7 @@ form_duid(struct data_string *duid, cons
|
||||
{
|
||||
@@ -3342,6 +3342,7 @@ form_duid(struct data_string *duid, cons
|
||||
struct interface_info *ip;
|
||||
int len;
|
||||
char *str;
|
||||
+ unsigned hlen;
|
||||
|
||||
/* For now, just use the first interface on the list. */
|
||||
ip = interfaces;
|
||||
@@ -3322,6 +3323,11 @@ form_duid(struct data_string *duid, cons
|
||||
@@ -3365,6 +3366,11 @@ form_duid(struct data_string *duid, cons
|
||||
if (duid_type == 0)
|
||||
duid_type = stateless ? DUID_LL : DUID_LLT;
|
||||
|
||||
@ -52,7 +52,7 @@ diff -up dhcp-4.3.0/client/dhclient.c.duidv4 dhcp-4.3.0/client/dhclient.c
|
||||
/*
|
||||
* 2 bytes for the 'duid type' field.
|
||||
* 2 bytes for the 'htype' field.
|
||||
@@ -3329,7 +3335,7 @@ form_duid(struct data_string *duid, cons
|
||||
@@ -3372,7 +3378,7 @@ form_duid(struct data_string *duid, cons
|
||||
* enough bytes for the hardware address (note that hw_address has
|
||||
* the 'htype' on byte zero).
|
||||
*/
|
||||
@ -61,7 +61,7 @@ diff -up dhcp-4.3.0/client/dhclient.c.duidv4 dhcp-4.3.0/client/dhclient.c
|
||||
if (duid_type == DUID_LLT)
|
||||
len += 4;
|
||||
if (!buffer_allocate(&duid->buffer, len, MDL))
|
||||
@@ -3343,12 +3349,12 @@ form_duid(struct data_string *duid, cons
|
||||
@@ -3386,12 +3392,12 @@ form_duid(struct data_string *duid, cons
|
||||
putUShort(duid->buffer->data + 2, ip->hw_address.hbuf[0]);
|
||||
putULong(duid->buffer->data + 4, cur_time - DUID_TIME_EPOCH);
|
||||
memcpy(duid->buffer->data + 8, ip->hw_address.hbuf + 1,
|
||||
@ -74,5 +74,5 @@ diff -up dhcp-4.3.0/client/dhclient.c.duidv4 dhcp-4.3.0/client/dhclient.c
|
||||
- ip->hw_address.hlen - 1);
|
||||
+ hlen - 1);
|
||||
}
|
||||
|
||||
return ISC_R_SUCCESS;
|
||||
|
||||
str = quotify_buf(duid->data, duid->len, MDL);
|
||||
|
@ -1,13 +0,0 @@
|
||||
diff -up dhcp-4.3.0a1/common/parse.c.dupl-key dhcp-4.3.0a1/common/parse.c
|
||||
--- dhcp-4.3.0a1/common/parse.c.dupl-key 2013-12-20 13:53:01.121772037 +0100
|
||||
+++ dhcp-4.3.0a1/common/parse.c 2013-12-20 13:53:01.211770781 +0100
|
||||
@@ -2930,6 +2930,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);
|
@ -1,7 +1,7 @@
|
||||
diff -up dhcp-4.3.0a1/common/discover.c.getifaddrs dhcp-4.3.0a1/common/discover.c
|
||||
--- dhcp-4.3.0a1/common/discover.c.getifaddrs 2013-12-11 01:25:12.000000000 +0100
|
||||
+++ dhcp-4.3.0a1/common/discover.c 2013-12-20 13:38:59.995493253 +0100
|
||||
@@ -376,391 +376,13 @@ end_iface_scan(struct iface_conf_list *i
|
||||
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
|
||||
@@ -373,391 +373,13 @@ end_iface_scan(struct iface_conf_list *i
|
||||
ifaces->sock = -1;
|
||||
}
|
||||
|
||||
@ -43,7 +43,7 @@ diff -up dhcp-4.3.0a1/common/discover.c.getifaddrs dhcp-4.3.0a1/common/discover.
|
||||
- */
|
||||
-int
|
||||
-begin_iface_scan(struct iface_conf_list *ifaces) {
|
||||
- char buf[256];
|
||||
- char buf[IF_LINE_LENGTH];
|
||||
- int len;
|
||||
- int i;
|
||||
-
|
||||
@ -116,7 +116,7 @@ diff -up dhcp-4.3.0a1/common/discover.c.getifaddrs dhcp-4.3.0a1/common/discover.
|
||||
- */
|
||||
-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;
|
||||
@ -240,7 +240,7 @@ diff -up dhcp-4.3.0a1/common/discover.c.getifaddrs dhcp-4.3.0a1/common/discover.
|
||||
- */
|
||||
-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;
|
||||
@ -394,7 +394,7 @@ diff -up dhcp-4.3.0a1/common/discover.c.getifaddrs dhcp-4.3.0a1/common/discover.
|
||||
* function.
|
||||
*
|
||||
* The getifaddrs() man page describes the use.
|
||||
@@ -808,6 +430,8 @@ begin_iface_scan(struct iface_conf_list
|
||||
@@ -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) {
|
||||
@ -403,7 +403,7 @@ diff -up dhcp-4.3.0a1/common/discover.c.getifaddrs dhcp-4.3.0a1/common/discover.
|
||||
if (ifaces->next == NULL) {
|
||||
*err = 0;
|
||||
return 0;
|
||||
@@ -819,8 +443,20 @@ next_iface(struct iface_info *info, int
|
||||
@@ -816,8 +440,20 @@ next_iface(struct iface_info *info, int
|
||||
return 0;
|
||||
}
|
||||
strcpy(info->name, ifaces->next->ifa_name);
|
||||
|
@ -1,12 +0,0 @@
|
||||
diff -up dhcp-4.3.0a1/client/dhclient.c.logpid dhcp-4.3.0a1/client/dhclient.c
|
||||
--- dhcp-4.3.0a1/client/dhclient.c.logpid 2013-12-19 15:51:50.588388633 +0100
|
||||
+++ dhcp-4.3.0a1/client/dhclient.c 2013-12-19 15:51:50.593388563 +0100
|
||||
@@ -165,7 +165,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));
|
@ -1,16 +1,16 @@
|
||||
diff -up dhcp-4.3.0a1/client/dhclient.c.lpf-ib dhcp-4.3.0a1/client/dhclient.c
|
||||
--- dhcp-4.3.0a1/client/dhclient.c.lpf-ib 2013-12-20 14:03:30.337992402 +0100
|
||||
+++ dhcp-4.3.0a1/client/dhclient.c 2013-12-20 14:03:30.345992290 +0100
|
||||
@@ -113,6 +113,8 @@ static int check_domain_name_list(const
|
||||
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
|
||||
@@ -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);
|
||||
|
||||
+static void setup_ib_interface(struct interface_info *ip);
|
||||
+
|
||||
#ifndef UNIT_TEST
|
||||
int
|
||||
main(int argc, char **argv) {
|
||||
int fd;
|
||||
@@ -915,6 +917,13 @@ main(int argc, char **argv) {
|
||||
@@ -937,6 +939,13 @@ main(int argc, char **argv) {
|
||||
}
|
||||
srandom(seed + cur_time + (unsigned)getpid());
|
||||
|
||||
@ -24,7 +24,7 @@ diff -up dhcp-4.3.0a1/client/dhclient.c.lpf-ib dhcp-4.3.0a1/client/dhclient.c
|
||||
|
||||
/*
|
||||
* Establish a default DUID. We always do so for v6 and
|
||||
@@ -1199,6 +1208,29 @@ int find_subnet (struct subnet **sp,
|
||||
@@ -1230,6 +1239,29 @@ int find_subnet (struct subnet **sp,
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -54,9 +54,9 @@ diff -up dhcp-4.3.0a1/client/dhclient.c.lpf-ib dhcp-4.3.0a1/client/dhclient.c
|
||||
/* Individual States:
|
||||
*
|
||||
* Each routine is called from the dhclient_state_machine() in one of
|
||||
diff -up dhcp-4.3.0a1/common/bpf.c.lpf-ib dhcp-4.3.0a1/common/bpf.c
|
||||
--- dhcp-4.3.0a1/common/bpf.c.lpf-ib 2013-12-20 14:03:30.330992500 +0100
|
||||
+++ dhcp-4.3.0a1/common/bpf.c 2013-12-20 14:03:30.345992290 +0100
|
||||
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
|
||||
@@ -199,11 +199,44 @@ struct bpf_insn dhcp_bpf_filter [] = {
|
||||
BPF_STMT(BPF_RET+BPF_K, 0),
|
||||
};
|
||||
@ -102,9 +102,9 @@ diff -up dhcp-4.3.0a1/common/bpf.c.lpf-ib dhcp-4.3.0a1/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.0a1/common/lpf.c.lpf-ib dhcp-4.3.0a1/common/lpf.c
|
||||
--- dhcp-4.3.0a1/common/lpf.c.lpf-ib 2013-12-20 14:03:30.331992486 +0100
|
||||
+++ dhcp-4.3.0a1/common/lpf.c 2013-12-20 14:03:30.346992276 +0100
|
||||
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)
|
||||
#include <sys/ioctl.h>
|
||||
@ -524,10 +524,10 @@ diff -up dhcp-4.3.0a1/common/lpf.c.lpf-ib dhcp-4.3.0a1/common/lpf.c
|
||||
+ freeifaddrs(ifaddrs);
|
||||
}
|
||||
#endif
|
||||
diff -up dhcp-4.3.0a1/common/socket.c.lpf-ib dhcp-4.3.0a1/common/socket.c
|
||||
--- dhcp-4.3.0a1/common/socket.c.lpf-ib 2013-12-11 01:25:12.000000000 +0100
|
||||
+++ dhcp-4.3.0a1/common/socket.c 2013-12-20 14:04:54.904811982 +0100
|
||||
@@ -328,7 +328,7 @@ void if_register_send (info)
|
||||
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)
|
||||
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 +536,7 @@ diff -up dhcp-4.3.0a1/common/socket.c.lpf-ib dhcp-4.3.0a1/common/socket.c
|
||||
#if defined (USE_SOCKET_FALLBACK)
|
||||
/* Fallback only registers for send, but may need to receive as
|
||||
well. */
|
||||
@@ -391,7 +391,7 @@ void if_register_receive (info)
|
||||
@@ -385,7 +385,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 +545,7 @@ diff -up dhcp-4.3.0a1/common/socket.c.lpf-ib dhcp-4.3.0a1/common/socket.c
|
||||
|
||||
if (!quiet_interface_discovery)
|
||||
log_info ("Listening on Socket/%s%s%s",
|
||||
@@ -505,7 +505,7 @@ if_register6(struct interface_info *info
|
||||
@@ -499,7 +499,7 @@ if_register6(struct interface_info *info
|
||||
if (req_multi)
|
||||
if_register_multicast(info);
|
||||
|
||||
@ -554,7 +554,7 @@ diff -up dhcp-4.3.0a1/common/socket.c.lpf-ib dhcp-4.3.0a1/common/socket.c
|
||||
|
||||
if (!quiet_interface_discovery) {
|
||||
if (info->shared_network != NULL) {
|
||||
@@ -561,7 +561,7 @@ if_register_linklocal6(struct interface_
|
||||
@@ -555,7 +555,7 @@ if_register_linklocal6(struct interface_
|
||||
info->rfdesc = sock;
|
||||
info->wfdesc = sock;
|
||||
|
||||
@ -563,10 +563,10 @@ diff -up dhcp-4.3.0a1/common/socket.c.lpf-ib dhcp-4.3.0a1/common/socket.c
|
||||
|
||||
if (!quiet_interface_discovery) {
|
||||
if (info->shared_network != NULL) {
|
||||
diff -up dhcp-4.3.0a1/includes/dhcpd.h.lpf-ib dhcp-4.3.0a1/includes/dhcpd.h
|
||||
--- dhcp-4.3.0a1/includes/dhcpd.h.lpf-ib 2013-12-20 14:03:30.338992388 +0100
|
||||
+++ dhcp-4.3.0a1/includes/dhcpd.h 2013-12-20 14:03:30.348992248 +0100
|
||||
@@ -1249,6 +1249,7 @@ struct interface_info {
|
||||
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 {
|
||||
struct shared_network *shared_network;
|
||||
/* Networks connected to this interface. */
|
||||
struct hardware hw_address; /* Its physical address. */
|
||||
@ -574,7 +574,7 @@ diff -up dhcp-4.3.0a1/includes/dhcpd.h.lpf-ib dhcp-4.3.0a1/includes/dhcpd.h
|
||||
struct in_addr *addresses; /* Addresses associated with this
|
||||
* interface.
|
||||
*/
|
||||
@@ -2425,7 +2426,7 @@ void print_dns_status (int, struct dhcp_
|
||||
@@ -2439,7 +2440,7 @@ void print_dns_status (int, struct dhcp_
|
||||
#endif
|
||||
const char *print_time(TIME);
|
||||
|
||||
|
@ -1,53 +0,0 @@
|
||||
diff -up dhcp-4.3.0a1/client/dhclient.c.next-server dhcp-4.3.0a1/client/dhclient.c
|
||||
--- dhcp-4.3.0a1/client/dhclient.c.next-server 2013-12-20 13:57:06.458349572 +0100
|
||||
+++ dhcp-4.3.0a1/client/dhclient.c 2013-12-20 13:57:06.500348986 +0100
|
||||
@@ -1486,7 +1486,7 @@ void state_selecting (cpp)
|
||||
client -> state = S_REQUESTING;
|
||||
|
||||
/* Bind to the address we received. */
|
||||
- bind_lease (client);
|
||||
+ bind_lease (client, NULL);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -1676,11 +1676,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;
|
||||
|
||||
@@ -1702,6 +1703,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 -up dhcp-4.3.0a1/includes/dhcpd.h.next-server dhcp-4.3.0a1/includes/dhcpd.h
|
||||
--- dhcp-4.3.0a1/includes/dhcpd.h.next-server 2013-12-20 13:57:06.434349907 +0100
|
||||
+++ dhcp-4.3.0a1/includes/dhcpd.h 2013-12-20 13:57:06.502348958 +0100
|
||||
@@ -2771,7 +2771,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,7 +1,7 @@
|
||||
diff -up dhcp-4.3.0a1/client/dhclient.c.paranoia dhcp-4.3.0a1/client/dhclient.c
|
||||
--- dhcp-4.3.0a1/client/dhclient.c.paranoia 2013-12-19 16:30:21.401211512 +0100
|
||||
+++ dhcp-4.3.0a1/client/dhclient.c 2013-12-19 16:30:21.409211401 +0100
|
||||
@@ -1712,11 +1712,6 @@ int write_host (host)
|
||||
diff -up dhcp-4.3.1b1/client/dhclient.c.dlTsyN dhcp-4.3.1b1/client/dhclient.c
|
||||
--- dhcp-4.3.1b1/client/dhclient.c.dlTsyN 2014-07-10 17:49:49.882925843 +0200
|
||||
+++ dhcp-4.3.1b1/client/dhclient.c 2014-07-10 17:50:26.922402550 +0200
|
||||
@@ -1748,11 +1748,6 @@ int write_host (host)
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -13,10 +13,10 @@ diff -up dhcp-4.3.0a1/client/dhclient.c.paranoia dhcp-4.3.0a1/client/dhclient.c
|
||||
void bootp (packet)
|
||||
struct packet *packet;
|
||||
{
|
||||
diff -up dhcp-4.3.0a1/includes/dhcpd.h.paranoia dhcp-4.3.0a1/includes/dhcpd.h
|
||||
--- dhcp-4.3.0a1/includes/dhcpd.h.paranoia 2013-12-19 16:30:21.403211484 +0100
|
||||
+++ dhcp-4.3.0a1/includes/dhcpd.h 2013-12-19 16:30:21.410211387 +0100
|
||||
@@ -2851,7 +2851,11 @@ void commit_leases_timeout (void *);
|
||||
diff -up dhcp-4.3.1b1/includes/dhcpd.h.dlTsyN dhcp-4.3.1b1/includes/dhcpd.h
|
||||
--- dhcp-4.3.1b1/includes/dhcpd.h.dlTsyN 2014-07-10 17:48:03.798424601 +0200
|
||||
+++ dhcp-4.3.1b1/includes/dhcpd.h 2014-07-10 17:50:26.923402536 +0200
|
||||
@@ -2866,7 +2866,11 @@ void commit_leases_timeout (void *);
|
||||
void commit_leases_readerdry(void *);
|
||||
int commit_leases (void);
|
||||
int commit_leases_timed (void);
|
||||
@ -28,10 +28,10 @@ diff -up dhcp-4.3.0a1/includes/dhcpd.h.paranoia dhcp-4.3.0a1/includes/dhcpd.h
|
||||
int new_lease_file (void);
|
||||
int group_writer (struct group_object *);
|
||||
int write_ia(const struct ia_xx *);
|
||||
diff -up dhcp-4.3.0a1/server/confpars.c.paranoia dhcp-4.3.0a1/server/confpars.c
|
||||
--- dhcp-4.3.0a1/server/confpars.c.paranoia 2013-12-19 16:30:21.346212275 +0100
|
||||
+++ dhcp-4.3.0a1/server/confpars.c 2013-12-19 16:30:21.412211359 +0100
|
||||
@@ -225,7 +225,11 @@ void trace_conf_input (trace_type_t *tty
|
||||
diff -up dhcp-4.3.1b1/server/confpars.c.dlTsyN dhcp-4.3.1b1/server/confpars.c
|
||||
--- dhcp-4.3.1b1/server/confpars.c.dlTsyN 2014-07-10 17:39:25.801764596 +0200
|
||||
+++ dhcp-4.3.1b1/server/confpars.c 2014-07-10 17:50:26.924402522 +0200
|
||||
@@ -219,7 +219,11 @@ void trace_conf_input (trace_type_t *tty
|
||||
}
|
||||
|
||||
if (!leaseconf_initialized && ttype == trace_readleases_type) {
|
||||
@ -43,10 +43,10 @@ diff -up dhcp-4.3.0a1/server/confpars.c.paranoia dhcp-4.3.0a1/server/confpars.c
|
||||
leaseconf_initialized = 1;
|
||||
postdb_startup ();
|
||||
}
|
||||
diff -up dhcp-4.3.0a1/server/db.c.paranoia dhcp-4.3.0a1/server/db.c
|
||||
--- dhcp-4.3.0a1/server/db.c.paranoia 2013-12-19 16:30:21.346212275 +0100
|
||||
+++ dhcp-4.3.0a1/server/db.c 2013-12-19 16:30:21.412211359 +0100
|
||||
@@ -48,6 +48,10 @@ static int counting = 0;
|
||||
diff -up dhcp-4.3.1b1/server/db.c.dlTsyN dhcp-4.3.1b1/server/db.c
|
||||
--- dhcp-4.3.1b1/server/db.c.dlTsyN 2014-07-10 17:39:25.801764596 +0200
|
||||
+++ dhcp-4.3.1b1/server/db.c 2014-07-10 17:50:26.925402508 +0200
|
||||
@@ -42,6 +42,10 @@ static int counting = 0;
|
||||
static int count = 0;
|
||||
TIME write_time;
|
||||
int lease_file_is_corrupt = 0;
|
||||
@ -57,7 +57,7 @@ diff -up dhcp-4.3.0a1/server/db.c.paranoia dhcp-4.3.0a1/server/db.c
|
||||
|
||||
/* Write a single binding scope value in parsable format.
|
||||
*/
|
||||
@@ -1052,8 +1056,11 @@ int commit_leases_timed()
|
||||
@@ -1046,8 +1050,11 @@ int commit_leases_timed()
|
||||
return (1);
|
||||
}
|
||||
|
||||
@ -71,7 +71,7 @@ diff -up dhcp-4.3.0a1/server/db.c.paranoia dhcp-4.3.0a1/server/db.c
|
||||
{
|
||||
isc_result_t status;
|
||||
|
||||
@@ -1072,6 +1079,11 @@ void db_startup (testp)
|
||||
@@ -1066,6 +1073,11 @@ void db_startup (testp)
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -83,7 +83,7 @@ diff -up dhcp-4.3.0a1/server/db.c.paranoia dhcp-4.3.0a1/server/db.c
|
||||
#if defined (TRACING)
|
||||
/* If we're playing back, there is no lease file, so we can't
|
||||
append it, so we create one immediately (maybe this isn't
|
||||
@@ -1134,6 +1146,17 @@ int new_lease_file ()
|
||||
@@ -1128,6 +1140,17 @@ int new_lease_file ()
|
||||
log_error ("Can't create new lease file: %m");
|
||||
return 0;
|
||||
}
|
||||
@ -101,9 +101,9 @@ diff -up dhcp-4.3.0a1/server/db.c.paranoia dhcp-4.3.0a1/server/db.c
|
||||
if ((new_db_file = fdopen(db_fd, "we")) == NULL) {
|
||||
log_error("Can't fdopen new lease file: %m");
|
||||
close(db_fd);
|
||||
diff -up dhcp-4.3.0a1/server/dhcpd.8.paranoia dhcp-4.3.0a1/server/dhcpd.8
|
||||
--- dhcp-4.3.0a1/server/dhcpd.8.paranoia 2013-12-11 01:01:03.000000000 +0100
|
||||
+++ dhcp-4.3.0a1/server/dhcpd.8 2013-12-19 16:30:21.413211345 +0100
|
||||
diff -up dhcp-4.3.1b1/server/dhcpd.8.dlTsyN dhcp-4.3.1b1/server/dhcpd.8
|
||||
--- dhcp-4.3.1b1/server/dhcpd.8.dlTsyN 2014-07-02 19:58:39.000000000 +0200
|
||||
+++ dhcp-4.3.1b1/server/dhcpd.8 2014-07-10 17:50:26.925402508 +0200
|
||||
@@ -82,6 +82,18 @@ dhcpd - Dynamic Host Configuration Proto
|
||||
.I trace-output-file
|
||||
]
|
||||
@ -139,10 +139,10 @@ diff -up dhcp-4.3.0a1/server/dhcpd.8.paranoia dhcp-4.3.0a1/server/dhcpd.8
|
||||
.PP
|
||||
.I Modifying default file locations:
|
||||
The following options can be used to modify the locations
|
||||
diff -up dhcp-4.3.0a1/server/dhcpd.c.paranoia dhcp-4.3.0a1/server/dhcpd.c
|
||||
--- dhcp-4.3.0a1/server/dhcpd.c.paranoia 2013-12-19 16:30:21.347212261 +0100
|
||||
+++ dhcp-4.3.0a1/server/dhcpd.c 2013-12-19 16:30:21.414211331 +0100
|
||||
@@ -623,7 +623,11 @@ main(int argc, char **argv) {
|
||||
diff -up dhcp-4.3.1b1/server/dhcpd.c.dlTsyN dhcp-4.3.1b1/server/dhcpd.c
|
||||
--- dhcp-4.3.1b1/server/dhcpd.c.dlTsyN 2014-07-10 17:39:25.802764582 +0200
|
||||
+++ dhcp-4.3.1b1/server/dhcpd.c 2014-07-10 17:52:35.341588248 +0200
|
||||
@@ -628,7 +628,11 @@ main(int argc, char **argv) {
|
||||
group_write_hook = group_writer;
|
||||
|
||||
/* Start up the database... */
|
||||
@ -154,49 +154,3 @@ diff -up dhcp-4.3.0a1/server/dhcpd.c.paranoia dhcp-4.3.0a1/server/dhcpd.c
|
||||
|
||||
if (lftest)
|
||||
exit (0);
|
||||
@@ -694,22 +698,6 @@ main(int argc, char **argv) {
|
||||
exit (0);
|
||||
}
|
||||
|
||||
-#if defined (PARANOIA)
|
||||
- /* change uid to the specified one */
|
||||
-
|
||||
- if (set_gid) {
|
||||
- if (setgroups (0, (void *)0))
|
||||
- log_fatal ("setgroups: %m");
|
||||
- if (setgid (set_gid))
|
||||
- log_fatal ("setgid(%d): %m", (int) set_gid);
|
||||
- }
|
||||
-
|
||||
- if (set_uid) {
|
||||
- if (setuid (set_uid))
|
||||
- log_fatal ("setuid(%d): %m", (int) set_uid);
|
||||
- }
|
||||
-#endif /* PARANOIA */
|
||||
-
|
||||
/*
|
||||
* Deal with pid files. If the user told us
|
||||
* not to write a file we don't read one either
|
||||
@@ -746,6 +734,22 @@ main(int argc, char **argv) {
|
||||
}
|
||||
}
|
||||
|
||||
+#if defined (PARANOIA)
|
||||
+ /* change uid to the specified one */
|
||||
+
|
||||
+ if (set_gid) {
|
||||
+ if (setgroups (0, (void *)0))
|
||||
+ log_fatal ("setgroups: %m");
|
||||
+ if (setgid (set_gid))
|
||||
+ log_fatal ("setgid(%d): %m", (int) set_gid);
|
||||
+ }
|
||||
+
|
||||
+ if (set_uid) {
|
||||
+ if (setuid (set_uid))
|
||||
+ log_fatal ("setuid(%d): %m", (int) set_uid);
|
||||
+ }
|
||||
+#endif /* PARANOIA */
|
||||
+
|
||||
/* If we were requested to log to stdout on the command line,
|
||||
keep doing so; otherwise, stop. */
|
||||
if (log_perror == -1)
|
||||
|
@ -1,25 +1,7 @@
|
||||
diff -up dhcp-4.3.0a1/Makefile.am.remove-bind dhcp-4.3.0a1/Makefile.am
|
||||
--- dhcp-4.3.0a1/Makefile.am.remove-bind 2013-12-13 21:49:44.000000000 +0100
|
||||
+++ dhcp-4.3.0a1/Makefile.am 2013-12-19 14:23:48.907263942 +0100
|
||||
@@ -25,7 +25,13 @@ EXTRA_DIST = RELNOTES LICENSE \
|
||||
bind/Makefile bind/bind.tar.gz bind/version.tmp \
|
||||
common/tests/Atffile server/tests/Atffile
|
||||
|
||||
-SUBDIRS = bind includes tests common dst omapip client dhcpctl relay server
|
||||
+if BUNDLED_BIND
|
||||
+SUBDIRS = bind
|
||||
+else
|
||||
+SUBDIRS =
|
||||
+endif
|
||||
+
|
||||
+SUBDIRS += includes tests common dst omapip client dhcpctl relay server
|
||||
|
||||
nobase_include_HEADERS = dhcpctl/dhcpctl.h
|
||||
|
||||
diff -up dhcp-4.3.0a1/client/Makefile.am.remove-bind dhcp-4.3.0a1/client/Makefile.am
|
||||
--- dhcp-4.3.0a1/client/Makefile.am.remove-bind 2013-12-19 14:23:48.904263983 +0100
|
||||
+++ dhcp-4.3.0a1/client/Makefile.am 2013-12-19 14:32:27.845095985 +0100
|
||||
@@ -4,8 +4,8 @@ dhclient_SOURCES = clparse.c dhclient.c
|
||||
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
|
||||
@@ -10,8 +10,8 @@ dhclient_SOURCES = clparse.c dhclient.c
|
||||
scripts/bsdos scripts/freebsd scripts/linux scripts/macos \
|
||||
scripts/netbsd scripts/nextstep scripts/openbsd \
|
||||
scripts/solaris scripts/openwrt
|
||||
@ -30,10 +12,10 @@ diff -up dhcp-4.3.0a1/client/Makefile.am.remove-bind dhcp-4.3.0a1/client/Makefil
|
||||
man_MANS = dhclient.8 dhclient-script.8 dhclient.conf.5 dhclient.leases.5
|
||||
EXTRA_DIST = $(man_MANS)
|
||||
|
||||
diff -up dhcp-4.3.0a1/common/tests/Makefile.am.remove-bind dhcp-4.3.0a1/common/tests/Makefile.am
|
||||
--- dhcp-4.3.0a1/common/tests/Makefile.am.remove-bind 2013-12-19 14:23:48.905263969 +0100
|
||||
+++ dhcp-4.3.0a1/common/tests/Makefile.am 2013-12-19 14:33:01.260634412 +0100
|
||||
@@ -13,15 +13,14 @@ ATF_TESTS += alloc_unittest dns_unittest
|
||||
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
|
||||
alloc_unittest_SOURCES = test_alloc.c $(top_srcdir)/tests/t_api_dhcp.c
|
||||
alloc_unittest_LDADD = $(ATF_LDFLAGS)
|
||||
alloc_unittest_LDADD += ../libdhcp.a \
|
||||
@ -47,16 +29,24 @@ diff -up dhcp-4.3.0a1/common/tests/Makefile.am.remove-bind dhcp-4.3.0a1/common/t
|
||||
dns_unittest_LDADD += ../libdhcp.a \
|
||||
- ../../omapip/libomapi.a ../../bind/lib/libirs.a \
|
||||
- ../../bind/lib/libdns.a ../../bind/lib/libisccfg.a ../../bind/lib/libisc.a
|
||||
+ ../../omapip/libomapi.a \
|
||||
+ $(BIND9_LIBDIR) -lirs-export -ldns-export -lisccfg-export -lisc-export
|
||||
|
||||
misc_unittest_SOURCES = misc_unittest.c $(top_srcdir)/tests/t_api_dhcp.c
|
||||
misc_unittest_LDADD = $(ATF_LDFLAGS)
|
||||
misc_unittest_LDADD += ../libdhcp.a \
|
||||
- ../../omapip/libomapi.a ../../bind/lib/libirs.a \
|
||||
- ../../bind/lib/libdns.a ../../bind/lib/libisccfg.a ../../bind/lib/libisc.a
|
||||
-
|
||||
+ ../../omapip/libomapi.a \
|
||||
+ $(BIND9_LIBDIR) -lirs-export -ldns-export -lisccfg-export -lisc-export
|
||||
check: $(ATF_TESTS)
|
||||
atf-run | atf-report
|
||||
|
||||
diff -up dhcp-4.3.0a1/configure.ac.remove-bind dhcp-4.3.0a1/configure.ac
|
||||
--- dhcp-4.3.0a1/configure.ac.remove-bind 2013-12-19 14:23:48.906263956 +0100
|
||||
+++ dhcp-4.3.0a1/configure.ac 2013-12-19 14:37:44.358723889 +0100
|
||||
@@ -552,20 +552,37 @@ AC_CHECK_MEMBER(struct msghdr.msg_contro
|
||||
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
|
||||
@@ -562,20 +562,37 @@ AC_CHECK_MEMBER(struct msghdr.msg_contro
|
||||
|
||||
libbind=
|
||||
AC_ARG_WITH(libbind,
|
||||
@ -99,7 +89,7 @@ diff -up dhcp-4.3.0a1/configure.ac.remove-bind dhcp-4.3.0a1/configure.ac
|
||||
|
||||
# OpenLDAP support.
|
||||
AC_ARG_WITH(ldap,
|
||||
@@ -600,7 +617,7 @@ fi
|
||||
@@ -610,7 +627,7 @@ fi
|
||||
CFLAGS="$CFLAGS $STD_CWARNINGS"
|
||||
|
||||
# Try to add the bind include directory
|
||||
@ -108,9 +98,9 @@ diff -up dhcp-4.3.0a1/configure.ac.remove-bind dhcp-4.3.0a1/configure.ac
|
||||
|
||||
case "$host" in
|
||||
*-darwin*)
|
||||
diff -up dhcp-4.3.0a1/dhcpctl/Makefile.am.remove-bind dhcp-4.3.0a1/dhcpctl/Makefile.am
|
||||
--- dhcp-4.3.0a1/dhcpctl/Makefile.am.remove-bind 2013-12-19 14:23:48.906263956 +0100
|
||||
+++ dhcp-4.3.0a1/dhcpctl/Makefile.am 2013-12-19 14:40:06.497754274 +0100
|
||||
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
|
||||
@@ -6,12 +6,9 @@ EXTRA_DIST = $(man_MANS)
|
||||
|
||||
omshell_SOURCES = omshell.c
|
||||
@ -126,9 +116,27 @@ diff -up dhcp-4.3.0a1/dhcpctl/Makefile.am.remove-bind dhcp-4.3.0a1/dhcpctl/Makef
|
||||
- ../bind/lib/libirs.a ../bind/lib/libdns.a \
|
||||
- ../bind/lib/libisccfg.a ../bind/lib/libisc.a
|
||||
+ $(BIND9_LIBDIR) -lirs-export -ldns-export -lisccfg-export -lisc-export
|
||||
diff -up dhcp-4.3.0a1/omapip/Makefile.am.remove-bind dhcp-4.3.0a1/omapip/Makefile.am
|
||||
--- dhcp-4.3.0a1/omapip/Makefile.am.remove-bind 2013-12-19 14:23:48.908263928 +0100
|
||||
+++ dhcp-4.3.0a1/omapip/Makefile.am 2013-12-19 14:40:51.440118923 +0100
|
||||
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
|
||||
@@ -25,7 +25,13 @@ EXTRA_DIST = RELNOTES LICENSE \
|
||||
bind/Makefile bind/bind.tar.gz bind/version.tmp \
|
||||
common/tests/Atffile server/tests/Atffile
|
||||
|
||||
-SUBDIRS = bind includes tests common dst omapip client dhcpctl relay server
|
||||
+if BUNDLED_BIND
|
||||
+SUBDIRS = bind
|
||||
+else
|
||||
+SUBDIRS =
|
||||
+endif
|
||||
+
|
||||
+SUBDIRS += includes tests common dst omapip client dhcpctl relay server
|
||||
|
||||
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
|
||||
@@ -10,6 +10,5 @@ man_MANS = omapi.3
|
||||
EXTRA_DIST = $(man_MANS)
|
||||
|
||||
@ -138,9 +146,9 @@ diff -up dhcp-4.3.0a1/omapip/Makefile.am.remove-bind dhcp-4.3.0a1/omapip/Makefil
|
||||
-
|
||||
+svtest_LDADD = libomapi.a \
|
||||
+ $(BIND9_LIBDIR) -lirs-export -ldns-export -lisccfg-export -lisc-export
|
||||
diff -up dhcp-4.3.0a1/relay/Makefile.am.remove-bind dhcp-4.3.0a1/relay/Makefile.am
|
||||
--- dhcp-4.3.0a1/relay/Makefile.am.remove-bind 2013-12-19 14:23:48.908263928 +0100
|
||||
+++ dhcp-4.3.0a1/relay/Makefile.am 2013-12-19 14:41:27.302612345 +0100
|
||||
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
|
||||
@@ -3,8 +3,7 @@ AM_CPPFLAGS = -DLOCALSTATEDIR='"@localst
|
||||
sbin_PROGRAMS = dhcrelay
|
||||
dhcrelay_SOURCES = dhcrelay.c
|
||||
@ -151,9 +159,9 @@ diff -up dhcp-4.3.0a1/relay/Makefile.am.remove-bind dhcp-4.3.0a1/relay/Makefile.
|
||||
man_MANS = dhcrelay.8
|
||||
EXTRA_DIST = $(man_MANS)
|
||||
|
||||
diff -up dhcp-4.3.0a1/server/Makefile.am.remove-bind dhcp-4.3.0a1/server/Makefile.am
|
||||
--- dhcp-4.3.0a1/server/Makefile.am.remove-bind 2013-12-19 14:23:48.910263900 +0100
|
||||
+++ dhcp-4.3.0a1/server/Makefile.am 2013-12-19 14:42:18.065895883 +0100
|
||||
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
|
||||
@@ -13,10 +13,8 @@ dhcpd_SOURCES = dhcpd.c dhcp.c bootp.c c
|
||||
dhcpv6.c mdb6.c ldap.c ldap_casa.c
|
||||
|
||||
@ -167,9 +175,9 @@ diff -up dhcp-4.3.0a1/server/Makefile.am.remove-bind dhcp-4.3.0a1/server/Makefil
|
||||
man_MANS = dhcpd.8 dhcpd.conf.5 dhcpd.leases.5
|
||||
EXTRA_DIST = $(man_MANS)
|
||||
|
||||
diff -up dhcp-4.3.0a1/server/tests/Makefile.am.remove-bind dhcp-4.3.0a1/server/tests/Makefile.am
|
||||
--- dhcp-4.3.0a1/server/tests/Makefile.am.remove-bind 2013-12-19 14:23:48.911263886 +0100
|
||||
+++ dhcp-4.3.0a1/server/tests/Makefile.am 2013-12-19 14:43:32.943840285 +0100
|
||||
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
|
||||
@@ -18,9 +18,8 @@ DHCPSRC = ../dhcp.c ../bootp.c ../confpa
|
||||
../ldap.c ../ldap_casa.c ../dhcpd.c
|
||||
|
||||
|
@ -1,48 +0,0 @@
|
||||
diff -up dhcp-4.3.0a1/client/dhc6.c.retransmission dhcp-4.3.0a1/client/dhc6.c
|
||||
--- dhcp-4.3.0a1/client/dhc6.c.retransmission 2013-12-19 15:57:09.629945386 +0100
|
||||
+++ dhcp-4.3.0a1/client/dhc6.c 2013-12-19 15:57:09.634945316 +0100
|
||||
@@ -302,7 +302,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;
|
||||
@@ -319,6 +319,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
|
||||
@@ -356,13 +358,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++;
|
||||
}
|
||||
@@ -1439,7 +1438,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);
|
||||
}
|
@ -1,7 +1,7 @@
|
||||
diff -up dhcp-4.3.0a1/client/Makefile.am.sharedlib dhcp-4.3.0a1/client/Makefile.am
|
||||
--- dhcp-4.3.0a1/client/Makefile.am.sharedlib 2013-12-20 14:23:14.303534850 +0100
|
||||
+++ dhcp-4.3.0a1/client/Makefile.am 2013-12-20 14:23:14.312534725 +0100
|
||||
@@ -4,7 +4,7 @@ dhclient_SOURCES = clparse.c dhclient.c
|
||||
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
|
||||
@@ -10,7 +10,7 @@ dhclient_SOURCES = clparse.c dhclient.c
|
||||
scripts/bsdos scripts/freebsd scripts/linux scripts/macos \
|
||||
scripts/netbsd scripts/nextstep scripts/openbsd \
|
||||
scripts/solaris scripts/openwrt
|
||||
@ -10,10 +10,10 @@ diff -up dhcp-4.3.0a1/client/Makefile.am.sharedlib dhcp-4.3.0a1/client/Makefile.
|
||||
$(BIND9_LIBDIR) -lirs-export -ldns-export -lisccfg-export -lisc-export
|
||||
man_MANS = dhclient.8 dhclient-script.8 dhclient.conf.5 dhclient.leases.5
|
||||
EXTRA_DIST = $(man_MANS)
|
||||
diff -up dhcp-4.3.0a1/common/tests/Makefile.am.sharedlib dhcp-4.3.0a1/common/tests/Makefile.am
|
||||
--- dhcp-4.3.0a1/common/tests/Makefile.am.sharedlib 2013-12-20 14:23:14.304534836 +0100
|
||||
+++ dhcp-4.3.0a1/common/tests/Makefile.am 2013-12-20 14:23:14.313534711 +0100
|
||||
@@ -13,13 +13,13 @@ ATF_TESTS += alloc_unittest dns_unittest
|
||||
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
|
||||
alloc_unittest_SOURCES = test_alloc.c $(top_srcdir)/tests/t_api_dhcp.c
|
||||
alloc_unittest_LDADD = $(ATF_LDFLAGS)
|
||||
alloc_unittest_LDADD += ../libdhcp.a \
|
||||
@ -23,15 +23,22 @@ diff -up dhcp-4.3.0a1/common/tests/Makefile.am.sharedlib dhcp-4.3.0a1/common/tes
|
||||
|
||||
dns_unittest_SOURCES = dns_unittest.c $(top_srcdir)/tests/t_api_dhcp.c
|
||||
dns_unittest_LDADD = $(ATF_LDFLAGS)
|
||||
dns_unittest_LDADD += ../libdhcp.a \
|
||||
-dns_unittest_LDADD += ../libdhcp.a \
|
||||
+dns_unittest_LDADD += ../libdhcp.la \
|
||||
../../omapip/libomapi.a \
|
||||
$(BIND9_LIBDIR) -lirs-export -ldns-export -lisccfg-export -lisc-export
|
||||
|
||||
misc_unittest_SOURCES = misc_unittest.c $(top_srcdir)/tests/t_api_dhcp.c
|
||||
misc_unittest_LDADD = $(ATF_LDFLAGS)
|
||||
misc_unittest_LDADD += ../libdhcp.a \
|
||||
- ../../omapip/libomapi.a \
|
||||
+ ../../omapip/libomapi.la \
|
||||
$(BIND9_LIBDIR) -lirs-export -ldns-export -lisccfg-export -lisc-export
|
||||
check: $(ATF_TESTS)
|
||||
atf-run | atf-report
|
||||
diff -up dhcp-4.3.0a1/configure.ac.sharedlib dhcp-4.3.0a1/configure.ac
|
||||
--- dhcp-4.3.0a1/configure.ac.sharedlib 2013-12-20 14:23:14.308534781 +0100
|
||||
+++ dhcp-4.3.0a1/configure.ac 2013-12-20 14:23:14.313534711 +0100
|
||||
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
|
||||
@@ -39,7 +39,8 @@ fi
|
||||
# Use this to define _GNU_SOURCE to pull in the IPv6 Advanced Socket API.
|
||||
AC_USE_SYSTEM_EXTENSIONS
|
||||
@ -42,9 +49,9 @@ diff -up dhcp-4.3.0a1/configure.ac.sharedlib dhcp-4.3.0a1/configure.ac
|
||||
AC_CONFIG_HEADERS([includes/config.h])
|
||||
|
||||
# we sometimes need to know byte order for building packets
|
||||
diff -up dhcp-4.3.0a1/dhcpctl/Makefile.am.sharedlib dhcp-4.3.0a1/dhcpctl/Makefile.am
|
||||
--- dhcp-4.3.0a1/dhcpctl/Makefile.am.sharedlib 2013-12-20 14:23:14.304534836 +0100
|
||||
+++ dhcp-4.3.0a1/dhcpctl/Makefile.am 2013-12-20 14:23:21.998428024 +0100
|
||||
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
|
||||
@@ -1,14 +1,14 @@
|
||||
bin_PROGRAMS = omshell
|
||||
-lib_LIBRARIES = libdhcpctl.a
|
||||
@ -64,9 +71,9 @@ diff -up dhcp-4.3.0a1/dhcpctl/Makefile.am.sharedlib dhcp-4.3.0a1/dhcpctl/Makefil
|
||||
-cltest_LDADD = libdhcpctl.a ../common/libdhcp.a ../omapip/libomapi.a \
|
||||
+cltest_LDADD = libdhcpctl.la ../common/libdhcp.a ../omapip/libomapi.la \
|
||||
$(BIND9_LIBDIR) -lirs-export -ldns-export -lisccfg-export -lisc-export
|
||||
diff -up dhcp-4.3.0a1/omapip/Makefile.am.sharedlib dhcp-4.3.0a1/omapip/Makefile.am
|
||||
--- dhcp-4.3.0a1/omapip/Makefile.am.sharedlib 2013-12-20 14:23:14.304534836 +0100
|
||||
+++ dhcp-4.3.0a1/omapip/Makefile.am 2013-12-20 14:23:14.313534711 +0100
|
||||
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
|
||||
@@ -1,7 +1,7 @@
|
||||
-lib_LIBRARIES = libomapi.a
|
||||
+lib_LTLIBRARIES = libomapi.la
|
||||
@ -84,9 +91,9 @@ diff -up dhcp-4.3.0a1/omapip/Makefile.am.sharedlib dhcp-4.3.0a1/omapip/Makefile.
|
||||
-svtest_LDADD = libomapi.a \
|
||||
+svtest_LDADD = libomapi.la \
|
||||
$(BIND9_LIBDIR) -lirs-export -ldns-export -lisccfg-export -lisc-export
|
||||
diff -up dhcp-4.3.0a1/relay/Makefile.am.sharedlib dhcp-4.3.0a1/relay/Makefile.am
|
||||
--- dhcp-4.3.0a1/relay/Makefile.am.sharedlib 2013-12-20 14:23:14.305534822 +0100
|
||||
+++ dhcp-4.3.0a1/relay/Makefile.am 2013-12-20 14:23:14.314534697 +0100
|
||||
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
|
||||
@@ -2,7 +2,7 @@ AM_CPPFLAGS = -DLOCALSTATEDIR='"@localst
|
||||
|
||||
sbin_PROGRAMS = dhcrelay
|
||||
@ -96,9 +103,9 @@ diff -up dhcp-4.3.0a1/relay/Makefile.am.sharedlib dhcp-4.3.0a1/relay/Makefile.am
|
||||
$(BIND9_LIBDIR) -lirs-export -ldns-export -lisccfg-export -lisc-export
|
||||
man_MANS = dhcrelay.8
|
||||
EXTRA_DIST = $(man_MANS)
|
||||
diff -up dhcp-4.3.0a1/server/Makefile.am.sharedlib dhcp-4.3.0a1/server/Makefile.am
|
||||
--- dhcp-4.3.0a1/server/Makefile.am.sharedlib 2013-12-20 14:23:14.305534822 +0100
|
||||
+++ dhcp-4.3.0a1/server/Makefile.am 2013-12-20 14:23:14.314534697 +0100
|
||||
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
|
||||
@@ -13,7 +13,7 @@ dhcpd_SOURCES = dhcpd.c dhcp.c bootp.c c
|
||||
dhcpv6.c mdb6.c ldap.c ldap_casa.c
|
||||
|
||||
@ -108,9 +115,9 @@ diff -up dhcp-4.3.0a1/server/Makefile.am.sharedlib dhcp-4.3.0a1/server/Makefile.
|
||||
$(BIND9_LIBDIR) -lirs-export -ldns-export -lisccfg-export -lisc-export
|
||||
man_MANS = dhcpd.8 dhcpd.conf.5 dhcpd.leases.5
|
||||
EXTRA_DIST = $(man_MANS)
|
||||
diff -up dhcp-4.3.0a1/server/tests/Makefile.am.sharedlib dhcp-4.3.0a1/server/tests/Makefile.am
|
||||
--- dhcp-4.3.0a1/server/tests/Makefile.am.sharedlib 2013-12-20 14:23:14.305534822 +0100
|
||||
+++ dhcp-4.3.0a1/server/tests/Makefile.am 2013-12-20 14:23:14.314534697 +0100
|
||||
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
|
||||
@@ -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
|
||||
|
@ -1,19 +1,7 @@
|
||||
diff -up dhcp-4.3.0a1/Makefile.am.systemtap dhcp-4.3.0a1/Makefile.am
|
||||
--- dhcp-4.3.0a1/Makefile.am.systemtap 2013-12-20 13:30:26.149645305 +0100
|
||||
+++ dhcp-4.3.0a1/Makefile.am 2013-12-20 13:30:26.307643109 +0100
|
||||
@@ -33,5 +33,8 @@ endif
|
||||
|
||||
SUBDIRS += includes tests common omapip client dhcpctl relay server
|
||||
|
||||
+SUBDIRS += tapset
|
||||
+#DIST_SUBDIRS = $(SUBDIRS)
|
||||
+
|
||||
nobase_include_HEADERS = dhcpctl/dhcpctl.h
|
||||
|
||||
diff -up dhcp-4.3.0a1/configure.ac.systemtap dhcp-4.3.0a1/configure.ac
|
||||
--- dhcp-4.3.0a1/configure.ac.systemtap 2013-12-20 13:30:26.229644193 +0100
|
||||
+++ dhcp-4.3.0a1/configure.ac 2013-12-20 13:31:39.195630065 +0100
|
||||
@@ -524,6 +524,35 @@ else
|
||||
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
|
||||
@@ -534,6 +534,35 @@ else
|
||||
AC_MSG_RESULT(no)
|
||||
fi
|
||||
|
||||
@ -49,7 +37,7 @@ diff -up dhcp-4.3.0a1/configure.ac.systemtap dhcp-4.3.0a1/configure.ac
|
||||
# Solaris needs some libraries for functions
|
||||
AC_SEARCH_LIBS(socket, [socket])
|
||||
AC_SEARCH_LIBS(inet_ntoa, [nsl])
|
||||
@@ -675,6 +704,7 @@ AC_CONFIG_FILES([
|
||||
@@ -686,6 +715,7 @@ AC_CONFIG_FILES([
|
||||
tests/Makefile
|
||||
server/tests/Makefile
|
||||
doc/devel/doxyfile
|
||||
@ -57,9 +45,437 @@ diff -up dhcp-4.3.0a1/configure.ac.systemtap dhcp-4.3.0a1/configure.ac
|
||||
])
|
||||
AC_OUTPUT
|
||||
|
||||
diff -up dhcp-4.3.0a1/server/Makefile.am.systemtap dhcp-4.3.0a1/server/Makefile.am
|
||||
--- dhcp-4.3.0a1/server/Makefile.am.systemtap 2013-12-20 13:30:26.156645207 +0100
|
||||
+++ dhcp-4.3.0a1/server/Makefile.am 2013-12-20 13:34:16.057447630 +0100
|
||||
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
|
||||
@@ -33,5 +33,8 @@ endif
|
||||
|
||||
SUBDIRS += includes tests common omapip client dhcpctl relay server
|
||||
|
||||
+SUBDIRS += tapset
|
||||
+#DIST_SUBDIRS = $(SUBDIRS)
|
||||
+
|
||||
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
|
||||
@@ -30,7 +30,7 @@
|
||||
#include <errno.h>
|
||||
#include <limits.h>
|
||||
#include <sys/time.h>
|
||||
-
|
||||
+#include "trace.h"
|
||||
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)
|
||||
dhcp_failover_state_t *peer;
|
||||
#endif
|
||||
|
||||
+ TRACE(DHCPD_DISCOVER_START());
|
||||
+
|
||||
find_lease (&lease, packet, packet -> shared_network,
|
||||
0, &peer_has_leases, (struct lease *)0, MDL);
|
||||
|
||||
@@ -425,6 +427,8 @@ void dhcpdiscover (packet, ms_nulltp)
|
||||
out:
|
||||
if (lease)
|
||||
lease_dereference (&lease, MDL);
|
||||
+
|
||||
+ TRACE(DHCPD_DISCOVER_DONE());
|
||||
}
|
||||
|
||||
void dhcprequest (packet, ms_nulltp, ip_lease)
|
||||
@@ -447,6 +451,8 @@ void dhcprequest (packet, ms_nulltp, ip_
|
||||
#endif
|
||||
int have_requested_addr = 0;
|
||||
|
||||
+ TRACE(DHCPD_REQUEST_START());
|
||||
+
|
||||
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_
|
||||
log_info ("%s: unknown lease %s.", msgbuf, piaddr (cip));
|
||||
|
||||
out:
|
||||
+
|
||||
+ TRACE(DHCPD_REQUEST_DONE());
|
||||
+
|
||||
if (subnet)
|
||||
subnet_dereference (&subnet, MDL);
|
||||
if (lease)
|
||||
@@ -742,6 +751,7 @@ void dhcprelease (packet, ms_nulltp)
|
||||
const char *s;
|
||||
char msgbuf [1024], cstr[16]; /* XXX */
|
||||
|
||||
+ TRACE(DHCPD_RELEASE_START());
|
||||
|
||||
/* 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)
|
||||
#endif
|
||||
if (lease)
|
||||
lease_dereference (&lease, MDL);
|
||||
+
|
||||
+ TRACE(DHCPD_RELEASE_DONE());
|
||||
}
|
||||
|
||||
void dhcpdecline (packet, ms_nulltp)
|
||||
@@ -879,6 +891,8 @@ void dhcpdecline (packet, ms_nulltp)
|
||||
struct option_cache *oc;
|
||||
struct data_string data;
|
||||
|
||||
+ TRACE(DHCPD_DECLINE_START());
|
||||
+
|
||||
/* 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)
|
||||
option_state_dereference (&options, MDL);
|
||||
if (lease)
|
||||
lease_dereference (&lease, MDL);
|
||||
+
|
||||
+ TRACE(DHCPD_DECLINE_DONE());
|
||||
}
|
||||
|
||||
void dhcpinform (packet, ms_nulltp)
|
||||
@@ -1012,6 +1028,8 @@ void dhcpinform (packet, ms_nulltp)
|
||||
int h_w_fixed_addr = 0;
|
||||
#endif
|
||||
|
||||
+ TRACE(DHCPD_INFORM_START());
|
||||
+
|
||||
/* 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)
|
||||
|
||||
if (subnet)
|
||||
subnet_dereference (&subnet, MDL);
|
||||
+
|
||||
+ 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;
|
||||
struct option_cache *oc = (struct option_cache *)0;
|
||||
|
||||
+ 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)
|
||||
packet->interface->name);
|
||||
}
|
||||
|
||||
+ TRACE(DHCPD_NAK_LEASE_DONE());
|
||||
}
|
||||
|
||||
void check_pool_threshold (packet, lease, state)
|
||||
@@ -1899,6 +1922,8 @@ void ack_lease (packet, lease, offer, wh
|
||||
if (lease -> state)
|
||||
return;
|
||||
|
||||
+ TRACE(DHCPD_ACK_LEASE_START());
|
||||
+
|
||||
/* Save original cltt for comparison later. */
|
||||
lease_cltt = lease->cltt;
|
||||
|
||||
@@ -3340,6 +3365,8 @@ void ack_lease (packet, lease, offer, wh
|
||||
#endif
|
||||
dhcp_reply(lease);
|
||||
}
|
||||
+
|
||||
+ TRACE(DHCPD_ACK_LEASE_DONE());
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -3492,6 +3519,8 @@ void dhcp_reply (lease)
|
||||
if (!state)
|
||||
log_fatal ("dhcp_reply was supplied lease with no state!");
|
||||
|
||||
+ TRACE(DHCPD_REPLY_START());
|
||||
+
|
||||
/* Compose a response for the client... */
|
||||
memset (&raw, 0, sizeof raw);
|
||||
memset (&d1, 0, sizeof d1);
|
||||
@@ -3713,6 +3742,8 @@ void dhcp_reply (lease)
|
||||
|
||||
free_lease_state (state, MDL);
|
||||
lease -> state = (struct lease_state *)0;
|
||||
+
|
||||
+ TRACE(DHCPD_REPLY_DONE());
|
||||
}
|
||||
|
||||
int find_lease (struct lease **lp,
|
||||
@@ -3735,6 +3766,8 @@ int find_lease (struct lease **lp,
|
||||
struct data_string client_identifier;
|
||||
struct hardware h;
|
||||
|
||||
+ TRACE(DHCPD_FIND_LEASE_START());
|
||||
+
|
||||
#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,
|
||||
#if defined (DEBUG_FIND_LEASE)
|
||||
log_info ("Not returning a lease.");
|
||||
#endif
|
||||
+
|
||||
+ TRACE(DHCPD_FIND_LEASE_DONE());
|
||||
+
|
||||
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
|
||||
@@ -52,6 +52,8 @@ static const char url [] =
|
||||
# undef group
|
||||
#endif /* PARANOIA */
|
||||
|
||||
+#include "trace.h"
|
||||
+
|
||||
#ifndef UNIT_TEST
|
||||
static void usage(void);
|
||||
#endif
|
||||
@@ -801,6 +803,8 @@ main(int argc, char **argv) {
|
||||
/* Log that we are about to start working */
|
||||
log_info("Server starting service.");
|
||||
|
||||
+ TRACE(DHCPD_MAIN());
|
||||
+
|
||||
/*
|
||||
* 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
|
||||
@@ -17,6 +17,7 @@
|
||||
/*! \file server/dhcpv6.c */
|
||||
|
||||
#include "dhcpd.h"
|
||||
+#include "trace.h"
|
||||
|
||||
#ifdef DHCPv6
|
||||
|
||||
@@ -4829,6 +4830,8 @@ static void
|
||||
dhcpv6_solicit(struct data_string *reply_ret, struct packet *packet) {
|
||||
struct data_string client_id;
|
||||
|
||||
+ TRACE(DHCPD_SIX_SOLICIT_START());
|
||||
+
|
||||
/*
|
||||
* Validate our input.
|
||||
*/
|
||||
@@ -4842,6 +4845,8 @@ dhcpv6_solicit(struct data_string *reply
|
||||
* Clean up.
|
||||
*/
|
||||
data_string_forget(&client_id, MDL);
|
||||
+
|
||||
+ TRACE(DHCPD_SIX_SOLICIT_DONE());
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -4855,6 +4860,8 @@ dhcpv6_request(struct data_string *reply
|
||||
struct data_string client_id;
|
||||
struct data_string server_id;
|
||||
|
||||
+ TRACE(DHCPD_SIX_REQUEST_START());
|
||||
+
|
||||
/*
|
||||
* Validate our input.
|
||||
*/
|
||||
@@ -4872,6 +4879,8 @@ dhcpv6_request(struct data_string *reply
|
||||
*/
|
||||
data_string_forget(&client_id, MDL);
|
||||
data_string_forget(&server_id, MDL);
|
||||
+
|
||||
+ TRACE(DHCPD_SIX_REQUEST_DONE());
|
||||
}
|
||||
|
||||
/* Find a DHCPv6 packet's shared network from hints in the packet.
|
||||
@@ -4984,6 +4993,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));
|
||||
|
||||
+ TRACE(DHCPD_SIX_CONFIRM_START());
|
||||
+
|
||||
/*
|
||||
* Basic client message validation.
|
||||
*/
|
||||
@@ -5170,6 +5181,8 @@ exit:
|
||||
option_state_dereference(&cli_enc_opt_state, MDL);
|
||||
if (opt_state != NULL)
|
||||
option_state_dereference(&opt_state, MDL);
|
||||
+
|
||||
+ TRACE(DHCPD_SIX_CONFIRM_DONE());
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -5184,6 +5197,8 @@ dhcpv6_renew(struct data_string *reply,
|
||||
struct data_string client_id;
|
||||
struct data_string server_id;
|
||||
|
||||
+ TRACE(DHCPD_SIX_RENEW_START());
|
||||
+
|
||||
/*
|
||||
* Validate the request.
|
||||
*/
|
||||
@@ -5201,6 +5216,8 @@ dhcpv6_renew(struct data_string *reply,
|
||||
*/
|
||||
data_string_forget(&server_id, MDL);
|
||||
data_string_forget(&client_id, MDL);
|
||||
+
|
||||
+ TRACE(DHCPD_SIX_RENEW_DONE());
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -5214,6 +5231,8 @@ static void
|
||||
dhcpv6_rebind(struct data_string *reply, struct packet *packet) {
|
||||
struct data_string client_id;
|
||||
|
||||
+ TRACE(DHCPD_SIX_REBIND_START());
|
||||
+
|
||||
if (!valid_client_msg(packet, &client_id)) {
|
||||
return;
|
||||
}
|
||||
@@ -5221,6 +5240,8 @@ dhcpv6_rebind(struct data_string *reply,
|
||||
lease_to_client(reply, packet, &client_id, NULL);
|
||||
|
||||
data_string_forget(&client_id, MDL);
|
||||
+
|
||||
+ TRACE(DHCPD_SIX_REBIND_DONE());
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -5665,6 +5686,8 @@ dhcpv6_decline(struct data_string *reply
|
||||
struct data_string client_id;
|
||||
struct data_string server_id;
|
||||
|
||||
+ TRACE(DHCPD_SIX_DECLINE_START());
|
||||
+
|
||||
/*
|
||||
* Validate our input.
|
||||
*/
|
||||
@@ -5685,6 +5708,8 @@ dhcpv6_decline(struct data_string *reply
|
||||
|
||||
data_string_forget(&server_id, MDL);
|
||||
data_string_forget(&client_id, MDL);
|
||||
+
|
||||
+ TRACE(DHCPD_SIX_DECLINE_DONE());
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -6133,6 +6158,8 @@ dhcpv6_release(struct data_string *reply
|
||||
struct data_string client_id;
|
||||
struct data_string server_id;
|
||||
|
||||
+ TRACE(DHCPD_SIX_RELEASE_START());
|
||||
+
|
||||
/*
|
||||
* Validate our input.
|
||||
*/
|
||||
@@ -6154,6 +6181,8 @@ dhcpv6_release(struct data_string *reply
|
||||
|
||||
data_string_forget(&server_id, MDL);
|
||||
data_string_forget(&client_id, MDL);
|
||||
+
|
||||
+ TRACE(DHCPD_SIX_RELEASE_DONE());
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -6166,6 +6195,8 @@ dhcpv6_information_request(struct data_s
|
||||
struct data_string client_id;
|
||||
struct data_string server_id;
|
||||
|
||||
+ TRACE(DHCPD_SIX_INFORMATION_REQUEST_START());
|
||||
+
|
||||
/*
|
||||
* Validate our input.
|
||||
*/
|
||||
@@ -6197,6 +6228,8 @@ dhcpv6_information_request(struct data_s
|
||||
data_string_forget(&client_id, MDL);
|
||||
}
|
||||
data_string_forget(&server_id, MDL);
|
||||
+
|
||||
+ TRACE(DHCPD_SIX_INFORMATION_REQUEST_DONE());
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -6225,6 +6258,8 @@ dhcpv6_relay_forw(struct data_string *re
|
||||
struct dhcpv6_relay_packet *reply;
|
||||
int reply_ofs;
|
||||
|
||||
+ TRACE(DHCPD_SIX_RELAY_FORW_START());
|
||||
+
|
||||
/*
|
||||
* Initialize variables for early exit.
|
||||
*/
|
||||
@@ -6484,6 +6519,8 @@ exit:
|
||||
if (enc_packet != NULL) {
|
||||
packet_dereference(&enc_packet, MDL);
|
||||
}
|
||||
+
|
||||
+ TRACE(DHCPD_SIX_RELAY_FORW_DONE());
|
||||
}
|
||||
|
||||
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
|
||||
@@ -30,6 +30,8 @@
|
||||
#include "dhcpd.h"
|
||||
#include <omapip/omapip_p.h>
|
||||
|
||||
+#include "trace.h"
|
||||
+
|
||||
#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
|
||||
struct lease *l;
|
||||
struct timeval tv;
|
||||
|
||||
+ TRACE(DHCPD_FAILOVER_SET_STATE_START(state->me.state, new_state));
|
||||
+
|
||||
/* 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
|
||||
break;
|
||||
}
|
||||
|
||||
+ TRACE(DHCPD_FAILOVER_SET_STATE_DONE());
|
||||
+
|
||||
return ISC_R_SUCCESS;
|
||||
}
|
||||
|
||||
@@ -2423,6 +2429,8 @@ dhcp_failover_pool_dobalance(dhcp_failov
|
||||
if (state -> me.state != normal)
|
||||
return 0;
|
||||
|
||||
+ TRACE(DHCPD_FAILOVER_POOL_DOBALANCE_START());
|
||||
+
|
||||
state->last_balance = cur_time;
|
||||
|
||||
for (s = shared_networks ; s ; s = s->next) {
|
||||
@@ -2583,6 +2591,8 @@ dhcp_failover_pool_dobalance(dhcp_failov
|
||||
if (leases_queued)
|
||||
commit_leases();
|
||||
|
||||
+ TRACE(DHCPD_FAILOVER_POOL_DOBALANCE_DONE());
|
||||
+
|
||||
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
|
||||
@@ -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 \
|
||||
@ -83,425 +499,9 @@ diff -up dhcp-4.3.0a1/server/Makefile.am.systemtap dhcp-4.3.0a1/server/Makefile.
|
||||
+
|
||||
+dhcpd_LDADD += probes.o
|
||||
+endif
|
||||
diff -up dhcp-4.3.0a1/server/dhcp.c.systemtap dhcp-4.3.0a1/server/dhcp.c
|
||||
--- dhcp-4.3.0a1/server/dhcp.c.systemtap 2013-12-20 13:30:26.182644846 +0100
|
||||
+++ dhcp-4.3.0a1/server/dhcp.c 2013-12-20 13:32:22.909022163 +0100
|
||||
@@ -36,7 +36,7 @@
|
||||
#include <errno.h>
|
||||
#include <limits.h>
|
||||
#include <sys/time.h>
|
||||
-
|
||||
+#include "trace.h"
|
||||
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)
|
||||
dhcp_failover_state_t *peer;
|
||||
#endif
|
||||
|
||||
+ TRACE(DHCPD_DISCOVER_START());
|
||||
+
|
||||
find_lease (&lease, packet, packet -> shared_network,
|
||||
0, &peer_has_leases, (struct lease *)0, MDL);
|
||||
|
||||
@@ -399,6 +401,8 @@ void dhcpdiscover (packet, ms_nulltp)
|
||||
out:
|
||||
if (lease)
|
||||
lease_dereference (&lease, MDL);
|
||||
+
|
||||
+ TRACE(DHCPD_DISCOVER_DONE());
|
||||
}
|
||||
|
||||
void dhcprequest (packet, ms_nulltp, ip_lease)
|
||||
@@ -421,6 +425,8 @@ void dhcprequest (packet, ms_nulltp, ip_
|
||||
#endif
|
||||
int have_requested_addr = 0;
|
||||
|
||||
+ TRACE(DHCPD_REQUEST_START());
|
||||
+
|
||||
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_
|
||||
log_info ("%s: unknown lease %s.", msgbuf, piaddr (cip));
|
||||
|
||||
out:
|
||||
+
|
||||
+ TRACE(DHCPD_REQUEST_DONE());
|
||||
+
|
||||
if (subnet)
|
||||
subnet_dereference (&subnet, MDL);
|
||||
if (lease)
|
||||
@@ -718,6 +727,7 @@ void dhcprelease (packet, ms_nulltp)
|
||||
const char *s;
|
||||
char msgbuf [1024], cstr[16]; /* XXX */
|
||||
|
||||
+ TRACE(DHCPD_RELEASE_START());
|
||||
|
||||
/* 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)
|
||||
#endif
|
||||
if (lease)
|
||||
lease_dereference (&lease, MDL);
|
||||
+
|
||||
+ TRACE(DHCPD_RELEASE_DONE());
|
||||
}
|
||||
|
||||
void dhcpdecline (packet, ms_nulltp)
|
||||
@@ -859,6 +871,8 @@ void dhcpdecline (packet, ms_nulltp)
|
||||
struct option_cache *oc;
|
||||
struct data_string data;
|
||||
|
||||
+ TRACE(DHCPD_DECLINE_START());
|
||||
+
|
||||
/* DHCPDECLINE must specify address. */
|
||||
if (!(oc = lookup_option (&dhcp_universe, packet -> options,
|
||||
DHO_DHCP_REQUESTED_ADDRESS)))
|
||||
@@ -967,6 +981,8 @@ void dhcpdecline (packet, ms_nulltp)
|
||||
option_state_dereference (&options, MDL);
|
||||
if (lease)
|
||||
lease_dereference (&lease, MDL);
|
||||
+
|
||||
+ TRACE(DHCPD_DECLINE_DONE());
|
||||
}
|
||||
|
||||
void dhcpinform (packet, ms_nulltp)
|
||||
@@ -994,6 +1010,8 @@ void dhcpinform (packet, ms_nulltp)
|
||||
int h_w_fixed_addr = 0;
|
||||
#endif
|
||||
|
||||
+ TRACE(DHCPD_INFORM_START());
|
||||
+
|
||||
/* 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. */
|
||||
@@ -1567,6 +1585,8 @@ void dhcpinform (packet, ms_nulltp)
|
||||
|
||||
if (subnet)
|
||||
subnet_dereference (&subnet, MDL);
|
||||
+
|
||||
+ TRACE(DHCPD_INFORM_DONE());
|
||||
}
|
||||
|
||||
void nak_lease (packet, cip)
|
||||
@@ -1583,6 +1603,8 @@ void nak_lease (packet, cip)
|
||||
struct option_state *options = (struct option_state *)0;
|
||||
struct option_cache *oc = (struct option_cache *)0;
|
||||
|
||||
+ TRACE(DHCPD_NAK_LEASE_START());
|
||||
+
|
||||
option_state_allocate (&options, MDL);
|
||||
memset (&outgoing, 0, sizeof outgoing);
|
||||
memset (&raw, 0, sizeof raw);
|
||||
@@ -1749,6 +1771,7 @@ void nak_lease (packet, cip)
|
||||
packet->interface->name);
|
||||
}
|
||||
|
||||
+ TRACE(DHCPD_NAK_LEASE_DONE());
|
||||
}
|
||||
|
||||
void ack_lease (packet, lease, offer, when, msg, ms_nulltp, hp)
|
||||
@@ -1792,6 +1815,8 @@ void ack_lease (packet, lease, offer, wh
|
||||
if (lease -> state)
|
||||
return;
|
||||
|
||||
+ TRACE(DHCPD_ACK_LEASE_START());
|
||||
+
|
||||
/* Save original cltt for comparison later. */
|
||||
lease_cltt = lease->cltt;
|
||||
|
||||
@@ -3225,6 +3250,8 @@ void ack_lease (packet, lease, offer, wh
|
||||
#endif
|
||||
dhcp_reply(lease);
|
||||
}
|
||||
+
|
||||
+ TRACE(DHCPD_ACK_LEASE_DONE());
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -3377,6 +3404,8 @@ void dhcp_reply (lease)
|
||||
if (!state)
|
||||
log_fatal ("dhcp_reply was supplied lease with no state!");
|
||||
|
||||
+ TRACE(DHCPD_REPLY_START());
|
||||
+
|
||||
/* Compose a response for the client... */
|
||||
memset (&raw, 0, sizeof raw);
|
||||
memset (&d1, 0, sizeof d1);
|
||||
@@ -3598,6 +3627,8 @@ void dhcp_reply (lease)
|
||||
|
||||
free_lease_state (state, MDL);
|
||||
lease -> state = (struct lease_state *)0;
|
||||
+
|
||||
+ TRACE(DHCPD_REPLY_DONE());
|
||||
}
|
||||
|
||||
int find_lease (struct lease **lp,
|
||||
@@ -3620,6 +3651,8 @@ int find_lease (struct lease **lp,
|
||||
struct data_string client_identifier;
|
||||
struct hardware h;
|
||||
|
||||
+ TRACE(DHCPD_FIND_LEASE_START());
|
||||
+
|
||||
#if defined(FAILOVER_PROTOCOL)
|
||||
/* Quick check to see if the peer has leases. */
|
||||
if (peer_has_leases) {
|
||||
@@ -4347,6 +4380,9 @@ int find_lease (struct lease **lp,
|
||||
#if defined (DEBUG_FIND_LEASE)
|
||||
log_info ("Not returning a lease.");
|
||||
#endif
|
||||
+
|
||||
+ TRACE(DHCPD_FIND_LEASE_DONE());
|
||||
+
|
||||
return 0;
|
||||
}
|
||||
|
||||
diff -up dhcp-4.3.0a1/server/dhcpd.c.systemtap dhcp-4.3.0a1/server/dhcpd.c
|
||||
--- dhcp-4.3.0a1/server/dhcpd.c.systemtap 2013-12-20 13:30:26.281643471 +0100
|
||||
+++ dhcp-4.3.0a1/server/dhcpd.c 2013-12-20 13:33:26.013144200 +0100
|
||||
@@ -58,6 +58,8 @@ static const char url [] =
|
||||
# undef group
|
||||
#endif /* PARANOIA */
|
||||
|
||||
+#include "trace.h"
|
||||
+
|
||||
#ifndef UNIT_TEST
|
||||
static void usage(void);
|
||||
#endif
|
||||
@@ -793,6 +795,8 @@ main(int argc, char **argv) {
|
||||
/* Log that we are about to start working */
|
||||
log_info("Server starting service.");
|
||||
|
||||
+ TRACE(DHCPD_MAIN());
|
||||
+
|
||||
/*
|
||||
* Receive packets and dispatch them...
|
||||
* dispatch() will never return.
|
||||
diff -up dhcp-4.3.0a1/server/dhcpv6.c.systemtap dhcp-4.3.0a1/server/dhcpv6.c
|
||||
--- dhcp-4.3.0a1/server/dhcpv6.c.systemtap 2013-12-20 13:30:26.272643596 +0100
|
||||
+++ dhcp-4.3.0a1/server/dhcpv6.c 2013-12-20 13:33:48.296834064 +0100
|
||||
@@ -17,6 +17,7 @@
|
||||
/*! \file server/dhcpv6.c */
|
||||
|
||||
#include "dhcpd.h"
|
||||
+#include "trace.h"
|
||||
|
||||
#ifdef DHCPv6
|
||||
|
||||
@@ -4763,6 +4764,8 @@ static void
|
||||
dhcpv6_solicit(struct data_string *reply_ret, struct packet *packet) {
|
||||
struct data_string client_id;
|
||||
|
||||
+ TRACE(DHCPD_SIX_SOLICIT_START());
|
||||
+
|
||||
/*
|
||||
* Validate our input.
|
||||
*/
|
||||
@@ -4776,6 +4779,8 @@ dhcpv6_solicit(struct data_string *reply
|
||||
* Clean up.
|
||||
*/
|
||||
data_string_forget(&client_id, MDL);
|
||||
+
|
||||
+ TRACE(DHCPD_SIX_SOLICIT_DONE());
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -4789,6 +4794,8 @@ dhcpv6_request(struct data_string *reply
|
||||
struct data_string client_id;
|
||||
struct data_string server_id;
|
||||
|
||||
+ TRACE(DHCPD_SIX_REQUEST_START());
|
||||
+
|
||||
/*
|
||||
* Validate our input.
|
||||
*/
|
||||
@@ -4806,6 +4813,8 @@ dhcpv6_request(struct data_string *reply
|
||||
*/
|
||||
data_string_forget(&client_id, MDL);
|
||||
data_string_forget(&server_id, MDL);
|
||||
+
|
||||
+ TRACE(DHCPD_SIX_REQUEST_DONE());
|
||||
}
|
||||
|
||||
/* Find a DHCPv6 packet's shared network from hints in the packet.
|
||||
@@ -4918,6 +4927,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));
|
||||
|
||||
+ TRACE(DHCPD_SIX_CONFIRM_START());
|
||||
+
|
||||
/*
|
||||
* Basic client message validation.
|
||||
*/
|
||||
@@ -5104,6 +5115,8 @@ exit:
|
||||
option_state_dereference(&cli_enc_opt_state, MDL);
|
||||
if (opt_state != NULL)
|
||||
option_state_dereference(&opt_state, MDL);
|
||||
+
|
||||
+ TRACE(DHCPD_SIX_CONFIRM_DONE());
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -5118,6 +5131,8 @@ dhcpv6_renew(struct data_string *reply,
|
||||
struct data_string client_id;
|
||||
struct data_string server_id;
|
||||
|
||||
+ TRACE(DHCPD_SIX_RENEW_START());
|
||||
+
|
||||
/*
|
||||
* Validate the request.
|
||||
*/
|
||||
@@ -5135,6 +5150,8 @@ dhcpv6_renew(struct data_string *reply,
|
||||
*/
|
||||
data_string_forget(&server_id, MDL);
|
||||
data_string_forget(&client_id, MDL);
|
||||
+
|
||||
+ TRACE(DHCPD_SIX_RENEW_DONE());
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -5148,6 +5165,8 @@ static void
|
||||
dhcpv6_rebind(struct data_string *reply, struct packet *packet) {
|
||||
struct data_string client_id;
|
||||
|
||||
+ TRACE(DHCPD_SIX_REBIND_START());
|
||||
+
|
||||
if (!valid_client_msg(packet, &client_id)) {
|
||||
return;
|
||||
}
|
||||
@@ -5155,6 +5174,8 @@ dhcpv6_rebind(struct data_string *reply,
|
||||
lease_to_client(reply, packet, &client_id, NULL);
|
||||
|
||||
data_string_forget(&client_id, MDL);
|
||||
+
|
||||
+ TRACE(DHCPD_SIX_REBIND_DONE());
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -5599,6 +5620,8 @@ dhcpv6_decline(struct data_string *reply
|
||||
struct data_string client_id;
|
||||
struct data_string server_id;
|
||||
|
||||
+ TRACE(DHCPD_SIX_DECLINE_START());
|
||||
+
|
||||
/*
|
||||
* Validate our input.
|
||||
*/
|
||||
@@ -5619,6 +5642,8 @@ dhcpv6_decline(struct data_string *reply
|
||||
|
||||
data_string_forget(&server_id, MDL);
|
||||
data_string_forget(&client_id, MDL);
|
||||
+
|
||||
+ TRACE(DHCPD_SIX_DECLINE_DONE());
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -6067,6 +6092,8 @@ dhcpv6_release(struct data_string *reply
|
||||
struct data_string client_id;
|
||||
struct data_string server_id;
|
||||
|
||||
+ TRACE(DHCPD_SIX_RELEASE_START());
|
||||
+
|
||||
/*
|
||||
* Validate our input.
|
||||
*/
|
||||
@@ -6088,6 +6115,8 @@ dhcpv6_release(struct data_string *reply
|
||||
|
||||
data_string_forget(&server_id, MDL);
|
||||
data_string_forget(&client_id, MDL);
|
||||
+
|
||||
+ TRACE(DHCPD_SIX_RELEASE_DONE());
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -6100,6 +6129,8 @@ dhcpv6_information_request(struct data_s
|
||||
struct data_string client_id;
|
||||
struct data_string server_id;
|
||||
|
||||
+ TRACE(DHCPD_SIX_INFORMATION_REQUEST_START());
|
||||
+
|
||||
/*
|
||||
* Validate our input.
|
||||
*/
|
||||
@@ -6131,6 +6162,8 @@ dhcpv6_information_request(struct data_s
|
||||
data_string_forget(&client_id, MDL);
|
||||
}
|
||||
data_string_forget(&server_id, MDL);
|
||||
+
|
||||
+ TRACE(DHCPD_SIX_INFORMATION_REQUEST_DONE());
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -6159,6 +6192,8 @@ dhcpv6_relay_forw(struct data_string *re
|
||||
struct dhcpv6_relay_packet *reply;
|
||||
int reply_ofs;
|
||||
|
||||
+ TRACE(DHCPD_SIX_RELAY_FORW_START());
|
||||
+
|
||||
/*
|
||||
* Initialize variables for early exit.
|
||||
*/
|
||||
@@ -6418,6 +6453,8 @@ exit:
|
||||
if (enc_packet != NULL) {
|
||||
packet_dereference(&enc_packet, MDL);
|
||||
}
|
||||
+
|
||||
+ TRACE(DHCPD_SIX_RELAY_FORW_DONE());
|
||||
}
|
||||
|
||||
static void
|
||||
diff -up dhcp-4.3.0a1/server/failover.c.systemtap dhcp-4.3.0a1/server/failover.c
|
||||
--- dhcp-4.3.0a1/server/failover.c.systemtap 2013-12-11 01:25:12.000000000 +0100
|
||||
+++ dhcp-4.3.0a1/server/failover.c 2013-12-20 13:30:26.314643012 +0100
|
||||
@@ -36,6 +36,8 @@
|
||||
#include "dhcpd.h"
|
||||
#include <omapip/omapip_p.h>
|
||||
|
||||
+#include "trace.h"
|
||||
+
|
||||
#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
|
||||
struct lease *l;
|
||||
struct timeval tv;
|
||||
|
||||
+ TRACE(DHCPD_FAILOVER_SET_STATE_START(state->me.state, new_state));
|
||||
+
|
||||
/* 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.
|
||||
@@ -1941,6 +1945,8 @@ isc_result_t dhcp_failover_set_state (dh
|
||||
break;
|
||||
}
|
||||
|
||||
+ TRACE(DHCPD_FAILOVER_SET_STATE_DONE());
|
||||
+
|
||||
return ISC_R_SUCCESS;
|
||||
}
|
||||
|
||||
@@ -2428,6 +2434,8 @@ dhcp_failover_pool_dobalance(dhcp_failov
|
||||
if (state -> me.state != normal)
|
||||
return 0;
|
||||
|
||||
+ TRACE(DHCPD_FAILOVER_POOL_DOBALANCE_START());
|
||||
+
|
||||
state->last_balance = cur_time;
|
||||
|
||||
for (s = shared_networks ; s ; s = s->next) {
|
||||
@@ -2588,6 +2596,8 @@ dhcp_failover_pool_dobalance(dhcp_failov
|
||||
if (leases_queued)
|
||||
commit_leases();
|
||||
|
||||
+ TRACE(DHCPD_FAILOVER_POOL_DOBALANCE_DONE());
|
||||
+
|
||||
return leases_queued;
|
||||
}
|
||||
|
||||
diff -up dhcp-4.3.0a1/server/probes.d.systemtap dhcp-4.3.0a1/server/probes.d
|
||||
--- dhcp-4.3.0a1/server/probes.d.systemtap 2013-12-20 13:30:26.314643012 +0100
|
||||
+++ dhcp-4.3.0a1/server/probes.d 2013-12-20 13:30:26.314643012 +0100
|
||||
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
|
||||
@@ -0,0 +1,43 @@
|
||||
+provider dhcpd {
|
||||
+ probe main();
|
||||
@ -546,9 +546,9 @@ diff -up dhcp-4.3.0a1/server/probes.d.systemtap dhcp-4.3.0a1/server/probes.d
|
||||
+ probe failover_set_state_start(int, int);
|
||||
+ probe failover_set_state_done();
|
||||
+};
|
||||
diff -up dhcp-4.3.0a1/server/tests/Makefile.am.systemtap dhcp-4.3.0a1/server/tests/Makefile.am
|
||||
--- dhcp-4.3.0a1/server/tests/Makefile.am.systemtap 2013-12-20 13:30:26.315642998 +0100
|
||||
+++ dhcp-4.3.0a1/server/tests/Makefile.am 2013-12-20 13:34:57.263873891 +0100
|
||||
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
|
||||
@@ -21,6 +21,10 @@ DHCPLIBS = $(top_builddir)/common/libdhc
|
||||
$(top_builddir)/dhcpctl/libdhcpctl.la \
|
||||
$(BIND9_LIBDIR) -lirs-export -ldns-export -lisccfg-export -lisc-export
|
||||
@ -560,9 +560,9 @@ diff -up dhcp-4.3.0a1/server/tests/Makefile.am.systemtap dhcp-4.3.0a1/server/tes
|
||||
ATF_TESTS =
|
||||
TESTS =
|
||||
if HAVE_ATF
|
||||
diff -up dhcp-4.3.0a1/server/trace.h.systemtap dhcp-4.3.0a1/server/trace.h
|
||||
--- dhcp-4.3.0a1/server/trace.h.systemtap 2013-12-20 13:30:26.315642998 +0100
|
||||
+++ dhcp-4.3.0a1/server/trace.h 2013-12-20 13:30:26.315642998 +0100
|
||||
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
|
||||
@@ -0,0 +1,11 @@
|
||||
+// trace.h
|
||||
+
|
||||
@ -575,39 +575,9 @@ diff -up dhcp-4.3.0a1/server/trace.h.systemtap dhcp-4.3.0a1/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.0a1/tapset/Makefile.am.systemtap dhcp-4.3.0a1/tapset/Makefile.am
|
||||
--- dhcp-4.3.0a1/tapset/Makefile.am.systemtap 2013-12-20 13:30:26.315642998 +0100
|
||||
+++ dhcp-4.3.0a1/tapset/Makefile.am 2013-12-20 13:30:26.315642998 +0100
|
||||
@@ -0,0 +1,26 @@
|
||||
+# Makefile.am for dhcp/tapset
|
||||
+# Jiri Popelka
|
||||
+
|
||||
+.PHONY: clean-local install-data-hook uninstall-local
|
||||
+
|
||||
+#
|
||||
+EXTRA_DIST = dhcpd.stp
|
||||
+TAPSET_FILES = $(EXTRA_DIST)
|
||||
+TAPSET_INSTALL_DIR = $(DESTDIR)@ABS_TAPSET_DIR@
|
||||
+
|
||||
+if ENABLE_SYSTEMTAP
|
||||
+all-local: $(TAPSET_FILES)
|
||||
+
|
||||
+clean-local:
|
||||
+
|
||||
+install-data-hook:
|
||||
+ $(MKDIR_P) $(TAPSET_INSTALL_DIR)
|
||||
+ $(INSTALL_DATA) $(TAPSET_FILES) $(TAPSET_INSTALL_DIR)
|
||||
+
|
||||
+uninstall-local:
|
||||
+ @list='$(TAPSET_FILES)'; for p in $$list; do \
|
||||
+ echo " rm -f '$(TAPSET_INSTALL_DIR)/$$p'"; \
|
||||
+ rm -f "$(TAPSET_INSTALL_DIR)/$$p"; \
|
||||
+ done
|
||||
+endif
|
||||
+
|
||||
diff -up dhcp-4.3.0a1/tapset/dhcpd.stp.systemtap dhcp-4.3.0a1/tapset/dhcpd.stp
|
||||
--- dhcp-4.3.0a1/tapset/dhcpd.stp.systemtap 2013-12-20 13:30:26.315642998 +0100
|
||||
+++ dhcp-4.3.0a1/tapset/dhcpd.stp 2013-12-20 13:30:26.315642998 +0100
|
||||
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
|
||||
@@ -0,0 +1,212 @@
|
||||
+/* dhcpd tapset
|
||||
+ Copyright (C) 2011, Red Hat Inc.
|
||||
@ -821,3 +791,33 @@ diff -up dhcp-4.3.0a1/tapset/dhcpd.stp.systemtap dhcp-4.3.0a1/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
|
||||
@@ -0,0 +1,26 @@
|
||||
+# Makefile.am for dhcp/tapset
|
||||
+# Jiri Popelka
|
||||
+
|
||||
+.PHONY: clean-local install-data-hook uninstall-local
|
||||
+
|
||||
+#
|
||||
+EXTRA_DIST = dhcpd.stp
|
||||
+TAPSET_FILES = $(EXTRA_DIST)
|
||||
+TAPSET_INSTALL_DIR = $(DESTDIR)@ABS_TAPSET_DIR@
|
||||
+
|
||||
+if ENABLE_SYSTEMTAP
|
||||
+all-local: $(TAPSET_FILES)
|
||||
+
|
||||
+clean-local:
|
||||
+
|
||||
+install-data-hook:
|
||||
+ $(MKDIR_P) $(TAPSET_INSTALL_DIR)
|
||||
+ $(INSTALL_DATA) $(TAPSET_FILES) $(TAPSET_INSTALL_DIR)
|
||||
+
|
||||
+uninstall-local:
|
||||
+ @list='$(TAPSET_FILES)'; for p in $$list; do \
|
||||
+ echo " rm -f '$(TAPSET_INSTALL_DIR)/$$p'"; \
|
||||
+ rm -f "$(TAPSET_INSTALL_DIR)/$$p"; \
|
||||
+ done
|
||||
+endif
|
||||
+
|
||||
|
49
dhcp.spec
49
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.3.0
|
||||
Release: 15%{?dist}
|
||||
Version: 4.3.1
|
||||
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.
|
||||
@ -53,10 +53,8 @@ Patch13: dhcp-garbage-chars.patch
|
||||
Patch14: dhcp-add_timeout_when_NULL.patch
|
||||
Patch15: dhcp-64_bit_lease_parse.patch
|
||||
Patch16: dhcp-capability.patch
|
||||
Patch17: dhcp-logpid.patch
|
||||
Patch18: dhcp-UseMulticast.patch
|
||||
Patch19: dhcp-sendDecline.patch
|
||||
Patch20: dhcp-retransmission.patch
|
||||
Patch21: dhcp-rfc3442-classless-static-routes.patch
|
||||
Patch22: dhcp-honor-expired.patch
|
||||
Patch23: dhcp-PPP.patch
|
||||
@ -67,15 +65,11 @@ Patch27: dhcp-improved-xid.patch
|
||||
Patch28: dhcp-gpxe-cid.patch
|
||||
Patch29: dhcp-duidv4.patch
|
||||
Patch30: dhcp-systemtap.patch
|
||||
Patch31: dhcp-dhclient-decline-onetry.patch
|
||||
Patch33: dhcp-getifaddrs.patch
|
||||
Patch34: dhcp-omapi-leak.patch
|
||||
Patch35: dhcp-failOverPeer.patch
|
||||
Patch36: dhcp-interval.patch
|
||||
Patch37: dhcp-conflex-do-forward-updates.patch
|
||||
Patch38: dhcp-dupl-key.patch
|
||||
Patch39: dhcp-range6.patch
|
||||
Patch40: dhcp-next-server.patch
|
||||
Patch41: dhcp-no-subnet-error2info.patch
|
||||
Patch42: dhcp-ffff-checksum.patch
|
||||
Patch43: dhcp-sd_notify.patch
|
||||
@ -252,10 +246,6 @@ rm -rf includes/isc-dhcp
|
||||
# dhclient (#517649, #546765), dhcpd/dhcrelay (#699713)
|
||||
%patch16 -p1 -b .capability
|
||||
|
||||
# dhclient logs its pid to make troubleshooting NM managed systems
|
||||
# with multiple dhclients running easier (#546792)
|
||||
%patch17 -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)
|
||||
@ -268,13 +258,6 @@ rm -rf includes/isc-dhcp
|
||||
# (Submitted to dhcp-bugs@isc.org - [ISC-Bugs #21237])
|
||||
%patch19 -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.
|
||||
#%%patch20 -p1 -b .retransmission
|
||||
|
||||
# RFC 3442 - Classless Static Route Option for DHCPv4 (#516325)
|
||||
# (Submitted to dhcp-bugs@isc.org - [ISC-Bugs #24572])
|
||||
%patch21 -p1 -b .rfc3442
|
||||
@ -288,7 +271,6 @@ rm -rf includes/isc-dhcp
|
||||
%patch23 -p1 -b .PPP
|
||||
|
||||
# dhcpd: BEFORE changing of the effective user/group ID:
|
||||
# - write PID file (Submitted to dhcp-bugs@isc.org - [ISC-Bugs #25806])
|
||||
# - chown leases file (#866714)
|
||||
%patch24 -p1 -b .paranoia
|
||||
|
||||
@ -306,11 +288,6 @@ rm -rf includes/isc-dhcp
|
||||
# http://sourceware.org/systemtap/wiki/SystemTap
|
||||
%patch30 -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])
|
||||
%patch31 -p1 -b .decline-onetry
|
||||
|
||||
# Use getifaddrs() to scan for interfaces on Linux (#449946)
|
||||
# (Submitted to dhcp-bugs@isc.org - [ISC-Bugs #28761])
|
||||
%patch33 -p1 -b .getifaddrs
|
||||
@ -327,22 +304,10 @@ rm -rf includes/isc-dhcp
|
||||
# (Submitted to dhcp-bugs@isc.org - [ISC-Bugs #28038])
|
||||
%patch36 -p1 -b .interval
|
||||
|
||||
# do-forward-updates statement wasn't recognized (#863646)
|
||||
# (Submitted to dhcp-bugs@isc.org - [ISC-Bugs #31328])
|
||||
%patch37 -p1 -b .forward-updates
|
||||
|
||||
# multiple key statements in zone definition causes inappropriate error (#873794)
|
||||
# (Submitted to dhcp-bugs@isc.org - [ISC-Bugs #31892])
|
||||
%patch38 -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])
|
||||
%patch39 -p1 -b .range6
|
||||
|
||||
# Expose next-server DHCPv4 option to dhclient script
|
||||
# (Submitted to dhcp-bugs@isc.org - [ISC-Bugs #33098])
|
||||
%patch40 -p1 -b .next-server
|
||||
|
||||
# 'No subnet declaration for <iface>' should be info, not error.
|
||||
%patch41 -p1 -b .error2info
|
||||
|
||||
@ -390,6 +355,7 @@ CFLAGS="%{optflags} -fno-strict-aliasing" \
|
||||
--with-ldapcrypto \
|
||||
--with-libbind=%{_includedir} --with-libbind-libs=%{_libdir} \
|
||||
--disable-static \
|
||||
--enable-log-pid \
|
||||
%if %sdt
|
||||
--enable-systemtap \
|
||||
--with-tapset-install-dir=%{tapsetdir} \
|
||||
@ -624,6 +590,9 @@ done
|
||||
%doc doc/html/
|
||||
|
||||
%changelog
|
||||
* Thu Jul 10 2014 Jiri Popelka <jpopelka@redhat.com> - 12:4.3.1-0.1.b1
|
||||
- 4.3.1b1
|
||||
|
||||
* Thu Jun 12 2014 Filipe Brandenburger <filbranden@google.com> - 12:4.3.0-15
|
||||
- dhclient-script: fix issue with classless static routes that breaks Fedora 20 on GCE cloud (#1102830)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user