summaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
authorAdrian Bunk <bunk@stusta.de>2019-04-14 23:20:46 +0300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2019-04-16 11:10:02 +0100
commit42ee625d4a02204e4620230971f6225f71af78bf (patch)
tree22b6492c3b3994c029c4eb9f37baf6afa5052d7d /meta
parent7b55ec6e7f39ddda59bd832d984aea0935d8bd7e (diff)
downloadpoky-42ee625d4a02204e4620230971f6225f71af78bf.tar.gz
dhcp: Replace OE specific patch for compatibility with latest bind with upstream patch
This also fixes a dhcp breakage noticed by Enrico Scholz. (From OE-Core rev: 64047300da42b2cf29026c0b570f91b58bab5e6a) Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r--meta/recipes-connectivity/dhcp/dhcp/0001-dhcpd-fix-Replace-custom-isc_boolean_t-with-C-standa.patch2882
-rw-r--r--meta/recipes-connectivity/dhcp/dhcp/0001-master-Added-includes-of-new-BIND9-compatibility-hea.patch79
-rw-r--r--meta/recipes-connectivity/dhcp/dhcp_4.4.1.bb2
3 files changed, 80 insertions, 2883 deletions
diff --git a/meta/recipes-connectivity/dhcp/dhcp/0001-dhcpd-fix-Replace-custom-isc_boolean_t-with-C-standa.patch b/meta/recipes-connectivity/dhcp/dhcp/0001-dhcpd-fix-Replace-custom-isc_boolean_t-with-C-standa.patch
deleted file mode 100644
index d2e57714cd..0000000000
--- a/meta/recipes-connectivity/dhcp/dhcp/0001-dhcpd-fix-Replace-custom-isc_boolean_t-with-C-standa.patch
+++ /dev/null
@@ -1,2882 +0,0 @@
1From ffb1d1325bd6503df9a324befac5f5039ac77432 Mon Sep 17 00:00:00 2001
2From: Armin Kuster <akuster@mvista.com>
3Date: Tue, 23 Oct 2018 10:36:56 +0000
4Subject: [PATCH] dhcpd: fix Replace custom isc_boolean_t with C standard bool
5 type
6
7
8Upstream-Status: Pending
9
10Fixes issues introduced by bind when they changed their headers.
11
12Signed-off-by: Armin Kuster <akuster@mvista.com>
13---
14 includes/dhcpd.h | 34 +++++++++++++++++-----------------
15 includes/heap.h | 2 +-
16 includes/omapip/omapip.h | 2 +-
17 includes/omapip/omapip_p.h | 6 +++---
18 includes/tree.h | 2 +-
19 5 files changed, 23 insertions(+), 23 deletions(-)
20
21Index: dhcp-4.4.1/includes/dhcpd.h
22===================================================================
23--- dhcp-4.4.1.orig/includes/dhcpd.h
24+++ dhcp-4.4.1/includes/dhcpd.h
25@@ -461,20 +461,20 @@ struct packet {
26 * options we got in a previous exchange were still there, we need
27 * to signal this in a reliable way.
28 */
29- isc_boolean_t agent_options_stashed;
30+ bool agent_options_stashed;
31
32 /*
33 * ISC_TRUE if packet received unicast (as opposed to multicast).
34 * Only used in DHCPv6.
35 */
36- isc_boolean_t unicast;
37+ bool unicast;
38
39 /* Propagates server value SV_ECHO_CLIENT_ID so it is available
40 * in cons_options() */
41 int sv_echo_client_id;
42
43 /* Relay port check */
44- isc_boolean_t relay_source_port;
45+ bool relay_source_port;
46 };
47
48 /*
49@@ -1174,7 +1174,7 @@ struct dhc6_lease {
50 struct dhc6_lease *next;
51 struct data_string server_id;
52
53- isc_boolean_t released;
54+ bool released;
55 int score;
56 u_int8_t pref;
57
58@@ -1695,8 +1695,8 @@ struct ipv6_pool {
59 int bits; /* number of bits, CIDR style */
60 int units; /* allocation unit in bits */
61 iasubopt_hash_t *leases; /* non-free leases */
62- isc_uint64_t num_active; /* count of active leases */
63- isc_uint64_t num_abandoned; /* count of abandoned leases */
64+ uint64_t num_active; /* count of active leases */
65+ uint64_t num_abandoned; /* count of abandoned leases */
66 isc_heap_t *active_timeouts; /* timeouts for active leases */
67 int num_inactive; /* count of inactive leases */
68 isc_heap_t *inactive_timeouts; /* timeouts for expired or
69@@ -1732,11 +1732,11 @@ struct ipv6_pond {
70 struct ipv6_pool **ipv6_pools; /* NULL-terminated array */
71 int last_ipv6_pool; /* offset of last IPv6 pool
72 used to issue a lease */
73- isc_uint64_t num_total; /* Total number of elements in the pond */
74- isc_uint64_t num_active; /* Number of elements in the pond in use */
75- isc_uint64_t num_abandoned; /* count of abandoned leases */
76+ uint64_t num_total; /* Total number of elements in the pond */
77+ uint64_t num_active; /* Number of elements in the pond in use */
78+ uint64_t num_abandoned; /* count of abandoned leases */
79 int logged; /* already logged a message */
80- isc_uint64_t low_threshold; /* low threshold to restart logging */
81+ uint64_t low_threshold; /* low threshold to restart logging */
82 int jumbo_range;
83 #ifdef EUI_64
84 int use_eui_64; /* use EUI-64 address assignment when true */
85@@ -1745,9 +1745,9 @@ struct ipv6_pond {
86
87 /*
88 * Max addresses in a pond that can be supported by log threshold
89- * Currently based on max value supported by isc_uint64_t.
90+ * Currently based on max value supported by uint64_t.
91 */
92-#define POND_TRACK_MAX ISC_UINT64_MAX
93+#define POND_TRACK_MAX UINT64_MAX
94
95 /* Flags for dhcp_ddns_cb_t */
96 #define DDNS_UPDATE_ADDR 0x0001
97@@ -1868,7 +1868,7 @@ lookup_fqdn6_option(struct universe *uni
98 unsigned code);
99 void
100 save_fqdn6_option(struct universe *universe, struct option_state *options,
101- struct option_cache *oc, isc_boolean_t appendp);
102+ struct option_cache *oc, bool appendp);
103 void
104 delete_fqdn6_option(struct universe *universe, struct option_state *options,
105 int code);
106@@ -1953,7 +1953,7 @@ void save_option(struct universe *, stru
107 void also_save_option(struct universe *, struct option_state *,
108 struct option_cache *);
109 void save_hashed_option(struct universe *, struct option_state *,
110- struct option_cache *, isc_boolean_t appendp);
111+ struct option_cache *, bool appendp);
112 void delete_option (struct universe *, struct option_state *, int);
113 void delete_hashed_option (struct universe *,
114 struct option_state *, int);
115@@ -2041,7 +2041,7 @@ int linked_option_state_dereference (str
116 struct option_state *,
117 const char *, int);
118 void save_linked_option(struct universe *, struct option_state *,
119- struct option_cache *, isc_boolean_t appendp);
120+ struct option_cache *, bool appendp);
121 void linked_option_space_foreach (struct packet *, struct lease *,
122 struct client_state *,
123 struct option_state *,
124@@ -2069,7 +2069,7 @@ void do_packet (struct interface_info *,
125 struct dhcp_packet *, unsigned,
126 unsigned int, struct iaddr, struct hardware *);
127 void do_packet6(struct interface_info *, const char *,
128- int, int, const struct iaddr *, isc_boolean_t);
129+ int, int, const struct iaddr *, bool);
130 int packet6_len_okay(const char *, int);
131
132 int validate_packet(struct packet *);
133@@ -2224,7 +2224,7 @@ uint32_t parse_byte_order_uint32(const v
134 int ddns_updates(struct packet *, struct lease *, struct lease *,
135 struct iasubopt *, struct iasubopt *, struct option_state *);
136 isc_result_t ddns_removals(struct lease *, struct iasubopt *,
137- struct dhcp_ddns_cb *, isc_boolean_t);
138+ struct dhcp_ddns_cb *, bool);
139 u_int16_t get_conflict_mask(struct option_state *input_options);
140 #if defined (TRACING)
141 void trace_ddns_init(void);
142@@ -2450,7 +2450,7 @@ void dhcpleasequery (struct packet *, in
143 void dhcpv6_leasequery (struct data_string *, struct packet *);
144
145 /* dhcpv6.c */
146-isc_boolean_t server_duid_isset(void);
147+bool server_duid_isset(void);
148 void copy_server_duid(struct data_string *ds, const char *file, int line);
149 void set_server_duid(struct data_string *new_duid);
150 isc_result_t set_server_duid_from_option(void);
151@@ -2852,7 +2852,7 @@ extern void (*bootp_packet_handler) (str
152 struct iaddr, struct hardware *);
153 extern void (*dhcpv6_packet_handler)(struct interface_info *,
154 const char *, int,
155- int, const struct iaddr *, isc_boolean_t);
156+ int, const struct iaddr *, bool);
157 extern struct timeout *timeouts;
158 extern omapi_object_type_t *dhcp_type_interface;
159 #if defined (TRACING)
160@@ -2943,7 +2943,7 @@ int addr_or(struct iaddr *result,
161 const struct iaddr *a1, const struct iaddr *a2);
162 int addr_and(struct iaddr *result,
163 const struct iaddr *a1, const struct iaddr *a2);
164-isc_boolean_t is_cidr_mask_valid(const struct iaddr *addr, int bits);
165+bool is_cidr_mask_valid(const struct iaddr *addr, int bits);
166 isc_result_t range2cidr(struct iaddrcidrnetlist **result,
167 const struct iaddr *lo, const struct iaddr *hi);
168 isc_result_t free_iaddrcidrnetlist(struct iaddrcidrnetlist **result);
169@@ -3787,7 +3787,7 @@ isc_result_t ia_add_iasubopt(struct ia_x
170 const char *file, int line);
171 void ia_remove_iasubopt(struct ia_xx *ia, struct iasubopt *iasubopt,
172 const char *file, int line);
173-isc_boolean_t ia_equal(const struct ia_xx *a, const struct ia_xx *b);
174+bool ia_equal(const struct ia_xx *a, const struct ia_xx *b);
175
176 isc_result_t ipv6_pool_allocate(struct ipv6_pool **pool, u_int16_t type,
177 const struct in6_addr *start_addr,
178@@ -3820,9 +3820,9 @@ isc_result_t expire_lease6(struct iasubo
179 struct ipv6_pool *pool, time_t now);
180 isc_result_t release_lease6(struct ipv6_pool *pool, struct iasubopt *lease);
181 isc_result_t decline_lease6(struct ipv6_pool *pool, struct iasubopt *lease);
182-isc_boolean_t lease6_exists(const struct ipv6_pool *pool,
183+bool lease6_exists(const struct ipv6_pool *pool,
184 const struct in6_addr *addr);
185-isc_boolean_t lease6_usable(struct iasubopt *lease);
186+bool lease6_usable(struct iasubopt *lease);
187 isc_result_t cleanup_lease6(ia_hash_t *ia_table,
188 struct ipv6_pool *pool,
189 struct iasubopt *lease,
190@@ -3834,13 +3834,13 @@ isc_result_t create_prefix6(struct ipv6_
191 unsigned int *attempts,
192 const struct data_string *uid,
193 time_t soft_lifetime_end_time);
194-isc_boolean_t prefix6_exists(const struct ipv6_pool *pool,
195+bool prefix6_exists(const struct ipv6_pool *pool,
196 const struct in6_addr *pref, u_int8_t plen);
197
198 isc_result_t add_ipv6_pool(struct ipv6_pool *pool);
199 isc_result_t find_ipv6_pool(struct ipv6_pool **pool, u_int16_t type,
200 const struct in6_addr *addr);
201-isc_boolean_t ipv6_in_pool(const struct in6_addr *addr,
202+bool ipv6_in_pool(const struct in6_addr *addr,
203 const struct ipv6_pool *pool);
204 isc_result_t ipv6_pond_allocate(struct ipv6_pond **pond,
205 const char *file, int line);
206Index: dhcp-4.4.1/includes/heap.h
207===================================================================
208--- dhcp-4.4.1.orig/includes/heap.h
209+++ dhcp-4.4.1/includes/heap.h
210@@ -26,7 +26,7 @@
211 * The comparision function returns ISC_TRUE if the first argument has
212 * higher priority than the second argument, and ISC_FALSE otherwise.
213 */
214-typedef isc_boolean_t (*isc_heapcompare_t)(void *, void *);
215+typedef bool (*isc_heapcompare_t)(void *, void *);
216
217 /*%
218 * The index function allows the client of the heap to receive a callback
219Index: dhcp-4.4.1/includes/omapip/omapip.h
220===================================================================
221--- dhcp-4.4.1.orig/includes/omapip/omapip.h
222+++ dhcp-4.4.1/includes/omapip/omapip.h
223@@ -264,7 +264,7 @@ isc_result_t omapi_protocol_connect (oma
224 isc_result_t omapi_connect_list (omapi_object_t *, omapi_addr_list_t *,
225 omapi_addr_t *);
226 isc_result_t omapi_protocol_listen (omapi_object_t *, unsigned, int);
227-isc_boolean_t omapi_protocol_authenticated (omapi_object_t *);
228+bool omapi_protocol_authenticated (omapi_object_t *);
229 isc_result_t omapi_protocol_configure_security (omapi_object_t *,
230 isc_result_t (*)
231 (omapi_object_t *,
232Index: dhcp-4.4.1/includes/omapip/omapip_p.h
233===================================================================
234--- dhcp-4.4.1.orig/includes/omapip/omapip_p.h
235+++ dhcp-4.4.1/includes/omapip/omapip_p.h
236@@ -149,7 +149,7 @@ typedef struct __omapi_protocol_object {
237 omapi_remote_auth_t *remote_auth_list; /* Authenticators active on
238 this connection. */
239
240- isc_boolean_t insecure; /* Set to allow unauthenticated
241+ bool insecure; /* Set to allow unauthenticated
242 messages. */
243
244 isc_result_t (*verify_auth) (omapi_object_t *, omapi_auth_key_t *);
245@@ -158,7 +158,7 @@ typedef struct __omapi_protocol_object {
246 typedef struct {
247 OMAPI_OBJECT_PREAMBLE;
248
249- isc_boolean_t insecure; /* Set to allow unauthenticated
250+ bool insecure; /* Set to allow unauthenticated
251 messages. */
252
253 isc_result_t (*verify_auth) (omapi_object_t *, omapi_auth_key_t *);
254@@ -208,7 +208,7 @@ typedef struct __omapi_io_object {
255 isc_result_t (*writer) (omapi_object_t *);
256 isc_result_t (*reaper) (omapi_object_t *);
257 isc_socket_t *fd;
258- isc_boolean_t closed; /* ISC_TRUE = closed, do not use */
259+ bool closed; /* ISC_TRUE = closed, do not use */
260 } omapi_io_object_t;
261
262 typedef struct __omapi_generic_object {
263Index: dhcp-4.4.1/includes/tree.h
264===================================================================
265--- dhcp-4.4.1.orig/includes/tree.h
266+++ dhcp-4.4.1/includes/tree.h
267@@ -304,7 +304,7 @@ struct universe {
268 struct option_state *,
269 unsigned);
270 void (*save_func) (struct universe *, struct option_state *,
271- struct option_cache *, isc_boolean_t);
272+ struct option_cache *, bool );
273 void (*foreach) (struct packet *,
274 struct lease *, struct client_state *,
275 struct option_state *, struct option_state *,
276Index: dhcp-4.4.1/common/conflex.c
277===================================================================
278--- dhcp-4.4.1.orig/common/conflex.c
279+++ dhcp-4.4.1/common/conflex.c
280@@ -322,7 +322,7 @@ get_raw_token(struct parse *cfile) {
281
282 static enum dhcp_token
283 get_next_token(const char **rval, unsigned *rlen,
284- struct parse *cfile, isc_boolean_t raw) {
285+ struct parse *cfile, bool raw) {
286 int rv;
287
288 if (cfile -> token) {
289@@ -367,7 +367,7 @@ get_next_token(const char **rval, unsign
290
291 enum dhcp_token
292 next_token(const char **rval, unsigned *rlen, struct parse *cfile) {
293- return get_next_token(rval, rlen, cfile, ISC_FALSE);
294+ return get_next_token(rval, rlen, cfile, false);
295 }
296
297
298@@ -378,7 +378,7 @@ next_token(const char **rval, unsigned *
299
300 enum dhcp_token
301 next_raw_token(const char **rval, unsigned *rlen, struct parse *cfile) {
302- return get_next_token(rval, rlen, cfile, ISC_TRUE);
303+ return get_next_token(rval, rlen, cfile, true);
304 }
305
306
307@@ -393,7 +393,7 @@ next_raw_token(const char **rval, unsign
308
309 enum dhcp_token
310 do_peek_token(const char **rval, unsigned int *rlen,
311- struct parse *cfile, isc_boolean_t raw) {
312+ struct parse *cfile, bool raw) {
313 int x;
314
315 if (!cfile->token || (!raw && (cfile->token == WHITESPACE))) {
316@@ -441,7 +441,7 @@ do_peek_token(const char **rval, unsigne
317
318 enum dhcp_token
319 peek_token(const char **rval, unsigned *rlen, struct parse *cfile) {
320- return do_peek_token(rval, rlen, cfile, ISC_FALSE);
321+ return do_peek_token(rval, rlen, cfile, false);
322 }
323
324
325@@ -452,7 +452,7 @@ peek_token(const char **rval, unsigned *
326
327 enum dhcp_token
328 peek_raw_token(const char **rval, unsigned *rlen, struct parse *cfile) {
329- return do_peek_token(rval, rlen, cfile, ISC_TRUE);
330+ return do_peek_token(rval, rlen, cfile, true);
331 }
332
333 static void skip_to_eol (cfile)
334Index: dhcp-4.4.1/common/discover.c
335===================================================================
336--- dhcp-4.4.1.orig/common/discover.c
337+++ dhcp-4.4.1/common/discover.c
338@@ -73,7 +73,7 @@ void (*bootp_packet_handler) (struct int
339 void (*dhcpv6_packet_handler)(struct interface_info *,
340 const char *, int,
341 int, const struct iaddr *,
342- isc_boolean_t);
343+ bool);
344 #endif /* DHCPv6 */
345
346
347@@ -236,7 +236,7 @@ struct iface_conf_list {
348 struct iface_info {
349 char name[IF_NAMESIZE+1]; /* name of the interface, e.g. "bge0" */
350 struct sockaddr_storage addr; /* address information */
351- isc_uint64_t flags; /* interface flags, e.g. IFF_LOOPBACK */
352+ uint64_t flags; /* interface flags, e.g. IFF_LOOPBACK */
353 };
354
355 /*
356@@ -312,14 +312,14 @@ int
357 next_iface(struct iface_info *info, int *err, struct iface_conf_list *ifaces) {
358 struct LIFREQ *p;
359 struct LIFREQ tmp;
360- isc_boolean_t foundif;
361+ bool foundif;
362 #if defined(sun) || defined(__linux)
363 /* Pointer used to remove interface aliases. */
364 char *s;
365 #endif
366
367 do {
368- foundif = ISC_FALSE;
369+ foundif = false;
370
371 if (ifaces->next >= ifaces->num) {
372 *err = 0;
373@@ -353,8 +353,8 @@ next_iface(struct iface_info *info, int
374 }
375 #endif /* defined(sun) || defined(__linux) */
376
377- foundif = ISC_TRUE;
378- } while ((foundif == ISC_FALSE) ||
379+ foundif = true;
380+ } while ((foundif == false) ||
381 (strncmp(info->name, "dummy", 5) == 0));
382
383 memset(&tmp, 0, sizeof(tmp));
384@@ -410,7 +410,7 @@ struct iface_conf_list {
385 struct iface_info {
386 char name[IFNAMSIZ]; /* name of the interface, e.g. "bge0" */
387 struct sockaddr_storage addr; /* address information */
388- isc_uint64_t flags; /* interface flags, e.g. IFF_LOOPBACK */
389+ uint64_t flags; /* interface flags, e.g. IFF_LOOPBACK */
390 };
391
392 /*
393@@ -1190,9 +1190,9 @@ got_one_v6(omapi_object_t *h) {
394 * If a packet is not multicast, we assume it is unicast.
395 */
396 if (IN6_IS_ADDR_MULTICAST(&to)) {
397- is_unicast = ISC_FALSE;
398+ is_unicast = false;
399 } else {
400- is_unicast = ISC_TRUE;
401+ is_unicast = true;
402 }
403
404 ifrom.len = 16;
405Index: dhcp-4.4.1/omapip/iscprint.c
406===================================================================
407--- dhcp-4.4.1.orig/omapip/iscprint.c
408+++ dhcp-4.4.1/omapip/iscprint.c
409@@ -59,8 +59,8 @@ isc_print_vsnprintf(char *str, size_t si
410 int plus;
411 int space;
412 int neg;
413- isc_int64_t tmpi;
414- isc_uint64_t tmpui;
415+ int64_t tmpi;
416+ uint64_t tmpui;
417 unsigned long width;
418 unsigned long precision;
419 unsigned int length;
420@@ -234,7 +234,7 @@ isc_print_vsnprintf(char *str, size_t si
421 goto printint;
422 case 'o':
423 if (q)
424- tmpui = va_arg(ap, isc_uint64_t);
425+ tmpui = va_arg(ap, uint64_t);
426 else if (l)
427 tmpui = va_arg(ap, long int);
428 else
429@@ -244,7 +244,7 @@ isc_print_vsnprintf(char *str, size_t si
430 goto printint;
431 case 'u':
432 if (q)
433- tmpui = va_arg(ap, isc_uint64_t);
434+ tmpui = va_arg(ap, uint64_t);
435 else if (l)
436 tmpui = va_arg(ap, unsigned long int);
437 else
438@@ -253,7 +253,7 @@ isc_print_vsnprintf(char *str, size_t si
439 goto printint;
440 case 'x':
441 if (q)
442- tmpui = va_arg(ap, isc_uint64_t);
443+ tmpui = va_arg(ap, uint64_t);
444 else if (l)
445 tmpui = va_arg(ap, unsigned long int);
446 else
447@@ -267,7 +267,7 @@ isc_print_vsnprintf(char *str, size_t si
448 goto printint;
449 case 'X':
450 if (q)
451- tmpui = va_arg(ap, isc_uint64_t);
452+ tmpui = va_arg(ap, uint64_t);
453 else if (l)
454 tmpui = va_arg(ap, unsigned long int);
455 else
456Index: dhcp-4.4.1/server/confpars.c
457===================================================================
458--- dhcp-4.4.1.orig/server/confpars.c
459+++ dhcp-4.4.1/server/confpars.c
460@@ -4005,15 +4005,15 @@ add_ipv6_pool_to_subnet(struct subnet *s
461
462 /* Only bother if we aren't already flagged as jumbo */
463 if (pond->jumbo_range == 0) {
464- if ((units - bits) > (sizeof(isc_uint64_t) * 8)) {
465+ if ((units - bits) > (sizeof(uint64_t) * 8)) {
466 pond->jumbo_range = 1;
467 pond->num_total = POND_TRACK_MAX;
468 }
469 else {
470- isc_uint64_t space_left
471+ uint64_t space_left
472 = POND_TRACK_MAX - pond->num_total;
473- isc_uint64_t addon
474- = (isc_uint64_t)(1) << (units - bits);
475+ uint64_t addon
476+ = (uint64_t)(1) << (units - bits);
477
478 if (addon > space_left) {
479 pond->jumbo_range = 1;
480@@ -4739,7 +4739,7 @@ parse_ia_na_declaration(struct parse *cf
481 struct iasubopt *iaaddr;
482 struct ipv6_pool *pool;
483 char addr_buf[sizeof("ffff:ffff:ffff:ffff:ffff:ffff:255.255.255.255")];
484- isc_boolean_t newbinding;
485+ bool newbinding;
486 struct binding_scope *scope = NULL;
487 struct binding *bnd;
488 struct binding_value *nv = NULL;
489@@ -4959,9 +4959,9 @@ parse_ia_na_declaration(struct parse *cf
490 }
491 strcpy(bnd->name, val);
492
493- newbinding = ISC_TRUE;
494+ newbinding = true;
495 } else {
496- newbinding = ISC_FALSE;
497+ newbinding = false;
498 }
499
500 if (!binding_value_allocate(&nv, MDL)) {
501@@ -5186,7 +5186,7 @@ parse_ia_ta_declaration(struct parse *cf
502 struct iasubopt *iaaddr;
503 struct ipv6_pool *pool;
504 char addr_buf[sizeof("ffff:ffff:ffff:ffff:ffff:ffff:255.255.255.255")];
505- isc_boolean_t newbinding;
506+ bool newbinding;
507 struct binding_scope *scope = NULL;
508 struct binding *bnd;
509 struct binding_value *nv = NULL;
510@@ -5406,9 +5406,9 @@ parse_ia_ta_declaration(struct parse *cf
511 }
512 strcpy(bnd->name, val);
513
514- newbinding = ISC_TRUE;
515+ newbinding = true;
516 } else {
517- newbinding = ISC_FALSE;
518+ newbinding = false;
519 }
520
521 if (!binding_value_allocate(&nv, MDL)) {
522@@ -5623,7 +5623,7 @@ parse_ia_pd_declaration(struct parse *cf
523 struct iasubopt *iapref;
524 struct ipv6_pool *pool;
525 char addr_buf[sizeof("ffff:ffff:ffff:ffff:ffff:ffff:255.255.255.255")];
526- isc_boolean_t newbinding;
527+ bool newbinding;
528 struct binding_scope *scope = NULL;
529 struct binding *bnd;
530 struct binding_value *nv = NULL;
531@@ -5843,9 +5843,9 @@ parse_ia_pd_declaration(struct parse *cf
532 }
533 strcpy(bnd->name, val);
534
535- newbinding = ISC_TRUE;
536+ newbinding = true;
537 } else {
538- newbinding = ISC_FALSE;
539+ newbinding = false;
540 }
541
542 if (!binding_value_allocate(&nv, MDL)) {
543Index: dhcp-4.4.1/server/dhcpv6.c
544===================================================================
545--- dhcp-4.4.1.orig/server/dhcpv6.c
546+++ dhcp-4.4.1/server/dhcpv6.c
547@@ -71,8 +71,8 @@ struct reply_state {
548 unsigned ia_count;
549 unsigned pd_count;
550 unsigned client_resources;
551- isc_boolean_t resources_included;
552- isc_boolean_t static_lease;
553+ bool resources_included;
554+ bool static_lease;
555 unsigned static_prefixes;
556 struct ia_xx *ia;
557 struct ia_xx *old_ia;
558@@ -123,7 +123,7 @@ static isc_result_t shared_network_from_
559 struct packet *packet);
560 static void seek_shared_host(struct host_decl **hp,
561 struct shared_network *shared);
562-static isc_boolean_t fixed_matches_shared(struct host_decl *host,
563+static bool fixed_matches_shared(struct host_decl *host,
564 struct shared_network *shared);
565 static isc_result_t reply_process_ia_na(struct reply_state *reply,
566 struct option_cache *ia);
567@@ -131,9 +131,9 @@ static isc_result_t reply_process_ia_ta(
568 struct option_cache *ia);
569 static isc_result_t reply_process_addr(struct reply_state *reply,
570 struct option_cache *addr);
571-static isc_boolean_t address_is_owned(struct reply_state *reply,
572+static bool address_is_owned(struct reply_state *reply,
573 struct iaddr *addr);
574-static isc_boolean_t temporary_is_available(struct reply_state *reply,
575+static bool temporary_is_available(struct reply_state *reply,
576 struct iaddr *addr);
577 static isc_result_t find_client_temporaries(struct reply_state *reply);
578 static isc_result_t reply_process_try_addr(struct reply_state *reply,
579@@ -151,7 +151,7 @@ static isc_result_t reply_process_ia_pd(
580 static struct group *find_group_by_prefix(struct reply_state *reply);
581 static isc_result_t reply_process_prefix(struct reply_state *reply,
582 struct option_cache *pref);
583-static isc_boolean_t prefix_is_owned(struct reply_state *reply,
584+static bool prefix_is_owned(struct reply_state *reply,
585 struct iaddrcidrnet *pref);
586 static isc_result_t find_client_prefix(struct reply_state *reply);
587 static isc_result_t reply_process_try_prefix(struct reply_state *reply,
588@@ -174,7 +174,7 @@ static void unicast_reject(struct data_s
589 const struct data_string *client_id,
590 const struct data_string *server_id);
591
592-static isc_boolean_t is_unicast_option_defined(struct packet *packet);
593+static bool is_unicast_option_defined(struct packet *packet);
594 static isc_result_t shared_network_from_requested_addr (struct shared_network
595 **shared,
596 struct packet* packet);
597@@ -363,7 +363,7 @@ static struct data_string server_duid;
598 /*
599 * Check if the server_duid has been set.
600 */
601-isc_boolean_t
602+bool
603 server_duid_isset(void) {
604 return (server_duid.data != NULL);
605 }
606@@ -992,7 +992,7 @@ void check_pool6_threshold(struct reply_
607 struct iasubopt *lease)
608 {
609 struct ipv6_pond *pond;
610- isc_uint64_t used, count, high_threshold;
611+ uint64_t used, count, high_threshold;
612 int poolhigh = 0, poollow = 0;
613 char *shared_name = "no name";
614 char tmp_addr[INET6_ADDRSTRLEN];
615@@ -1310,9 +1310,9 @@ pick_v6_address(struct reply_state *repl
616 unsigned int attempts;
617 char tmp_buf[INET6_ADDRSTRLEN];
618 struct iasubopt **addr = &reply->lease;
619- isc_uint64_t total = 0;
620- isc_uint64_t active = 0;
621- isc_uint64_t abandoned = 0;
622+ uint64_t total = 0;
623+ uint64_t active = 0;
624+ uint64_t abandoned = 0;
625 int jumbo_range = 0;
626 char *shared_name = (reply->shared->name ?
627 reply->shared->name : "(no name)");
628@@ -1825,7 +1825,7 @@ lease_to_client(struct data_string *repl
629
630 /* Start counting resources (addresses) offered. */
631 reply.client_resources = 0;
632- reply.resources_included = ISC_FALSE;
633+ reply.resources_included = false;
634
635 status = reply_process_ia_na(&reply, oc);
636
637@@ -1843,7 +1843,7 @@ lease_to_client(struct data_string *repl
638
639 /* Start counting resources (addresses) offered. */
640 reply.client_resources = 0;
641- reply.resources_included = ISC_FALSE;
642+ reply.resources_included = false;
643
644 status = reply_process_ia_ta(&reply, oc);
645
646@@ -1864,7 +1864,7 @@ lease_to_client(struct data_string *repl
647
648 /* Start counting resources (prefixes) offered. */
649 reply.client_resources = 0;
650- reply.resources_included = ISC_FALSE;
651+ reply.resources_included = false;
652
653 status = reply_process_ia_pd(&reply, oc);
654
655@@ -2077,9 +2077,9 @@ reply_process_ia_na(struct reply_state *
656 tmp_addr, MDL) == 0)
657 log_fatal("Impossible condition at %s:%d.", MDL);
658
659- reply->static_lease = ISC_TRUE;
660+ reply->static_lease = true;
661 } else
662- reply->static_lease = ISC_FALSE;
663+ reply->static_lease = false;
664
665 /*
666 * Save the cursor position at the start of the IA, so we can
667@@ -2778,7 +2778,7 @@ reply_process_addr(struct reply_state *r
668 * (fault out all else). Otherwise it's a dynamic address, so lookup
669 * that address and make sure it belongs to this DUID:IAID pair.
670 */
671-static isc_boolean_t
672+static bool
673 address_is_owned(struct reply_state *reply, struct iaddr *addr) {
674 int i;
675 struct ipv6_pond *pond;
676@@ -2791,13 +2791,13 @@ address_is_owned(struct reply_state *rep
677 log_fatal("Impossible condition at %s:%d.", MDL);
678
679 if (memcmp(addr->iabuf, reply->fixed.data, 16) == 0)
680- return (ISC_TRUE);
681+ return (true);
682
683- return (ISC_FALSE);
684+ return (false);
685 }
686
687 if ((reply->old_ia == NULL) || (reply->old_ia->num_iasubopt == 0))
688- return (ISC_FALSE);
689+ return (false);
690
691 for (i = 0 ; i < reply->old_ia->num_iasubopt ; i++) {
692 struct iasubopt *tmp;
693@@ -2805,8 +2805,8 @@ address_is_owned(struct reply_state *rep
694 tmp = reply->old_ia->iasubopt[i];
695
696 if (memcmp(addr->iabuf, &tmp->addr, 16) == 0) {
697- if (lease6_usable(tmp) == ISC_FALSE) {
698- return (ISC_FALSE);
699+ if (lease6_usable(tmp) == false) {
700+ return (false);
701 }
702
703 pond = tmp->ipv6_pool->ipv6_pond;
704@@ -2814,15 +2814,15 @@ address_is_owned(struct reply_state *rep
705 (permitted(reply->packet, pond->prohibit_list))) ||
706 ((pond->permit_list != NULL) &&
707 (!permitted(reply->packet, pond->permit_list))))
708- return (ISC_FALSE);
709+ return (false);
710
711 iasubopt_reference(&reply->lease, tmp, MDL);
712
713- return (ISC_TRUE);
714+ return (true);
715 }
716 }
717
718- return (ISC_FALSE);
719+ return (false);
720 }
721
722 /* Process a client-supplied IA_TA. This may append options to the tail of
723@@ -2890,7 +2890,7 @@ reply_process_ia_ta(struct reply_state *
724 /*
725 * Temporary leases are dynamic by definition.
726 */
727- reply->static_lease = ISC_FALSE;
728+ reply->static_lease = false;
729
730 /*
731 * Save the cursor position at the start of the IA, so we can
732@@ -2972,7 +2972,7 @@ reply_process_ia_ta(struct reply_state *
733 }
734 status = ISC_R_CANCELED;
735 reply->client_resources = 0;
736- reply->resources_included = ISC_FALSE;
737+ reply->resources_included = false;
738 if (reply->lease != NULL)
739 iasubopt_dereference(&reply->lease, MDL);
740 }
741@@ -3364,7 +3364,7 @@ void shorten_lifetimes(struct reply_stat
742 /*
743 * Verify the temporary address is available.
744 */
745-static isc_boolean_t
746+static bool
747 temporary_is_available(struct reply_state *reply, struct iaddr *addr) {
748 struct in6_addr tmp_addr;
749 struct subnet *subnet;
750@@ -3379,7 +3379,7 @@ temporary_is_available(struct reply_stat
751 * So this is not a request for this address.
752 */
753 if (IN6_IS_ADDR_UNSPECIFIED(&tmp_addr))
754- return ISC_FALSE;
755+ return false;
756
757 /*
758 * Verify that this address is on the client's network.
759@@ -3393,13 +3393,13 @@ temporary_is_available(struct reply_stat
760
761 /* Address not found on shared network. */
762 if (subnet == NULL)
763- return ISC_FALSE;
764+ return false;
765
766 /*
767 * Check if this address is owned (must be before next step).
768 */
769 if (address_is_owned(reply, addr))
770- return ISC_TRUE;
771+ return true;
772
773 /*
774 * Verify that this address is in a temporary pool and try to get it.
775@@ -3424,18 +3424,18 @@ temporary_is_available(struct reply_stat
776 }
777
778 if (pool == NULL)
779- return ISC_FALSE;
780+ return false;
781 if (lease6_exists(pool, &tmp_addr))
782- return ISC_FALSE;
783+ return false;
784 if (iasubopt_allocate(&reply->lease, MDL) != ISC_R_SUCCESS)
785- return ISC_FALSE;
786+ return false;
787 reply->lease->addr = tmp_addr;
788 reply->lease->plen = 0;
789 /* Default is soft binding for 2 minutes. */
790 if (add_lease6(pool, reply->lease, cur_time + 120) != ISC_R_SUCCESS)
791- return ISC_FALSE;
792+ return false;
793
794- return ISC_TRUE;
795+ return true;
796 }
797
798 /*
799@@ -3652,7 +3652,7 @@ find_client_address(struct reply_state *
800 */
801
802 if ((candidate_shared != reply->shared) ||
803- (lease6_usable(lease) != ISC_TRUE))
804+ (lease6_usable(lease) != true))
805 continue;
806
807 if (((pond->prohibit_list != NULL) &&
808@@ -3971,7 +3971,7 @@ reply_process_send_addr(struct reply_sta
809 goto cleanup;
810 }
811
812- reply->resources_included = ISC_TRUE;
813+ reply->resources_included = true;
814
815 cleanup:
816 if (data.data != NULL)
817@@ -4722,7 +4722,7 @@ reply_process_prefix(struct reply_state
818 * (fault out all else). Otherwise it's a dynamic prefix, so lookup
819 * that prefix and make sure it belongs to this DUID:IAID pair.
820 */
821-static isc_boolean_t
822+static bool
823 prefix_is_owned(struct reply_state *reply, struct iaddrcidrnet *pref) {
824 struct iaddrcidrnetlist *l;
825 int i;
826@@ -4736,14 +4736,14 @@ prefix_is_owned(struct reply_state *repl
827 if ((pref->bits == l->cidrnet.bits) &&
828 (memcmp(pref->lo_addr.iabuf,
829 l->cidrnet.lo_addr.iabuf, 16) == 0))
830- return (ISC_TRUE);
831+ return (true);
832 }
833- return (ISC_FALSE);
834+ return (false);
835 }
836
837 if ((reply->old_ia == NULL) ||
838 (reply->old_ia->num_iasubopt == 0))
839- return (ISC_FALSE);
840+ return (false);
841
842 for (i = 0 ; i < reply->old_ia->num_iasubopt ; i++) {
843 struct iasubopt *tmp;
844@@ -4752,8 +4752,8 @@ prefix_is_owned(struct reply_state *repl
845
846 if ((pref->bits == (int) tmp->plen) &&
847 (memcmp(pref->lo_addr.iabuf, &tmp->addr, 16) == 0)) {
848- if (lease6_usable(tmp) == ISC_FALSE) {
849- return (ISC_FALSE);
850+ if (lease6_usable(tmp) == false) {
851+ return (false);
852 }
853
854 pond = tmp->ipv6_pool->ipv6_pond;
855@@ -4761,14 +4761,14 @@ prefix_is_owned(struct reply_state *repl
856 (permitted(reply->packet, pond->prohibit_list))) ||
857 ((pond->permit_list != NULL) &&
858 (!permitted(reply->packet, pond->permit_list))))
859- return (ISC_FALSE);
860+ return (false);
861
862 iasubopt_reference(&reply->lease, tmp, MDL);
863- return (ISC_TRUE);
864+ return (true);
865 }
866 }
867
868- return (ISC_FALSE);
869+ return (false);
870 }
871
872 /*
873@@ -4914,7 +4914,7 @@ find_client_prefix(struct reply_state *r
874 */
875 if (((candidate_shared != NULL) &&
876 (candidate_shared != reply->shared)) ||
877- (lease6_usable(prefix) != ISC_TRUE))
878+ (lease6_usable(prefix) != true))
879 continue;
880
881 /*
882@@ -5233,7 +5233,7 @@ reply_process_send_prefix(struct reply_s
883 goto cleanup;
884 }
885
886- reply->resources_included = ISC_TRUE;
887+ reply->resources_included = true;
888
889 cleanup:
890 if (data.data != NULL)
891@@ -5383,8 +5383,8 @@ dhcpv6_request(struct data_string *reply
892
893 /* If the REQUEST arrived via unicast and unicast option isn't set,
894 * reject it per RFC 3315, Sec 18.2.1 */
895- if (packet->unicast == ISC_TRUE &&
896- is_unicast_option_defined(packet) == ISC_FALSE) {
897+ if (packet->unicast == true &&
898+ is_unicast_option_defined(packet) == false) {
899 unicast_reject(reply_ret, packet, &client_id, &server_id);
900 } else {
901 /*
902@@ -5505,7 +5505,7 @@ dhcpv6_confirm(struct data_string *reply
903 struct option_state *cli_enc_opt_state, *opt_state;
904 struct iaddr cli_addr;
905 int pass;
906- isc_boolean_t inappropriate, has_addrs;
907+ bool inappropriate, has_addrs;
908 char reply_data[65536];
909 struct dhcpv6_packet *reply = (struct dhcpv6_packet *)reply_data;
910 int reply_ofs = (int)(offsetof(struct dhcpv6_packet, options));
911@@ -5556,7 +5556,7 @@ dhcpv6_confirm(struct data_string *reply
912 goto exit;
913
914 /* Are the addresses in all the IA's appropriate for that link? */
915- has_addrs = inappropriate = ISC_FALSE;
916+ has_addrs = inappropriate = false;
917 pass = D6O_IA_NA;
918 while(!inappropriate) {
919 /* If we've reached the end of the IA_NA pass, move to the
920@@ -5602,7 +5602,7 @@ dhcpv6_confirm(struct data_string *reply
921 data_string_forget(&iaaddr, MDL);
922
923 /* Record that we've processed at least one address. */
924- has_addrs = ISC_TRUE;
925+ has_addrs = true;
926
927 /* Find out if any subnets cover this address. */
928 for (subnet = shared->subnets ; subnet != NULL ;
929@@ -5621,7 +5621,7 @@ dhcpv6_confirm(struct data_string *reply
930 * continue searching.
931 */
932 if (subnet == NULL) {
933- inappropriate = ISC_TRUE;
934+ inappropriate = true;
935 break;
936 }
937 }
938@@ -5719,8 +5719,8 @@ dhcpv6_renew(struct data_string *reply,
939
940 /* If the RENEW arrived via unicast and unicast option isn't set,
941 * reject it per RFC 3315, Sec 18.2.3 */
942- if (packet->unicast == ISC_TRUE &&
943- is_unicast_option_defined(packet) == ISC_FALSE) {
944+ if (packet->unicast == true &&
945+ is_unicast_option_defined(packet) == false) {
946 unicast_reject(reply, packet, &client_id, &server_id);
947 } else {
948 /*
949@@ -6142,8 +6142,8 @@ dhcpv6_decline(struct data_string *reply
950
951 /* If the DECLINE arrived via unicast and unicast option isn't set,
952 * reject it per RFC 3315, Sec 18.2.7 */
953- if (packet->unicast == ISC_TRUE &&
954- is_unicast_option_defined(packet) == ISC_FALSE) {
955+ if (packet->unicast == true &&
956+ is_unicast_option_defined(packet) == false) {
957 unicast_reject(reply, packet, &client_id, &server_id);
958 } else {
959 /*
960@@ -6597,8 +6597,8 @@ dhcpv6_release(struct data_string *reply
961
962 /* If the RELEASE arrived via unicast and unicast option isn't set,
963 * reject it per RFC 3315, Sec 18.2.6 */
964- if (packet->unicast == ISC_TRUE &&
965- is_unicast_option_defined(packet) == ISC_FALSE) {
966+ if (packet->unicast == true &&
967+ is_unicast_option_defined(packet) == false) {
968 unicast_reject(reply, packet, &client_id, &server_id);
969 } else {
970 /*
971@@ -6897,7 +6897,7 @@ dhcpv6_relay_forw(struct data_string *re
972 }
973 data_string_forget(&a_opt, MDL);
974
975- packet->relay_source_port = ISC_TRUE;
976+ packet->relay_source_port = true;
977 }
978 #endif
979
980@@ -7219,7 +7219,7 @@ dhcp4o6_relay_forw(struct data_string *r
981 }
982 data_string_forget(&a_opt, MDL);
983
984- packet->relay_source_port = ISC_TRUE;
985+ packet->relay_source_port = true;
986 }
987 #endif
988
989@@ -8036,35 +8036,35 @@ seek_shared_host(struct host_decl **hp,
990 host_reference(hp, seek, MDL);
991 }
992
993-static isc_boolean_t
994+static bool
995 fixed_matches_shared(struct host_decl *host, struct shared_network *shared) {
996 struct subnet *subnet;
997 struct data_string addr;
998- isc_boolean_t matched;
999+ bool matched;
1000 struct iaddr fixed;
1001
1002 if (host->fixed_addr == NULL)
1003- return ISC_FALSE;
1004+ return false;
1005
1006 memset(&addr, 0, sizeof(addr));
1007 if (!evaluate_option_cache(&addr, NULL, NULL, NULL, NULL, NULL,
1008 &global_scope, host->fixed_addr, MDL))
1009- return ISC_FALSE;
1010+ return false;
1011
1012 if (addr.len < 16) {
1013 data_string_forget(&addr, MDL);
1014- return ISC_FALSE;
1015+ return false;
1016 }
1017
1018 fixed.len = 16;
1019 memcpy(fixed.iabuf, addr.data, 16);
1020
1021- matched = ISC_FALSE;
1022+ matched = false;
1023 for (subnet = shared->subnets ; subnet != NULL ;
1024 subnet = subnet->next_sibling) {
1025 if (addr_eq(subnet_number(fixed, subnet->netmask),
1026 subnet->net)) {
1027- matched = ISC_TRUE;
1028+ matched = true;
1029 break;
1030 }
1031 }
1032@@ -8167,15 +8167,15 @@ unicast_reject(struct data_string *reply
1033 * statements from the network's group outward into a local option cache.
1034 * The option cache is then scanned for the presence of unicast option. If
1035 * the packet cannot be mapped to a shared network, the function returns
1036- * ISC_FALSE.
1037+ * false.
1038 * \param packet inbound packet from the client
1039 *
1040- * \return ISC_TRUE if the dhcp6.unicast option is defined, false otherwise.
1041+ * \return true if the dhcp6.unicast option is defined, false otherwise.
1042 *
1043 */
1044-isc_boolean_t
1045+bool
1046 is_unicast_option_defined(struct packet *packet) {
1047- isc_boolean_t is_defined = ISC_FALSE;
1048+ bool is_defined = false;
1049 struct option_state *opt_state = NULL;
1050 struct option_cache *oc = NULL;
1051 struct shared_network *shared = NULL;
1052@@ -8195,7 +8195,7 @@ is_unicast_option_defined(struct packet
1053 * logic will catch it */
1054 log_error("is_unicast_option_defined:"
1055 "cannot attribute packet to a network.");
1056- return (ISC_FALSE);
1057+ return (false);
1058 }
1059
1060 /* Now that we've mapped it to a network, execute statments to that
1061@@ -8205,7 +8205,7 @@ is_unicast_option_defined(struct packet
1062 &global_scope, shared->group, NULL, NULL);
1063
1064 oc = lookup_option(&dhcpv6_universe, opt_state, D6O_UNICAST);
1065- is_defined = (oc != NULL ? ISC_TRUE : ISC_FALSE);
1066+ is_defined = (oc != NULL ? true : false);
1067 log_debug("is_unicast_option_defined: option found : %d", is_defined);
1068
1069 if (shared != NULL) {
1070Index: dhcp-4.4.1/client/clparse.c
1071===================================================================
1072--- dhcp-4.4.1.orig/client/clparse.c
1073+++ dhcp-4.4.1/client/clparse.c
1074@@ -1527,7 +1527,7 @@ parse_client6_lease_statement(struct par
1075
1076 case TOKEN_RELEASED:
1077 case TOKEN_ABANDONED:
1078- lease->released = ISC_TRUE;
1079+ lease->released = true;
1080 break;
1081
1082 default:
1083Index: dhcp-4.4.1/client/dhc6.c
1084===================================================================
1085--- dhcp-4.4.1.orig/client/dhc6.c
1086+++ dhcp-4.4.1/client/dhc6.c
1087@@ -109,7 +109,7 @@ static isc_result_t dhc6_add_ia_pd(struc
1088 u_int8_t message,
1089 int wanted,
1090 int *added);
1091-static isc_boolean_t stopping_finished(void);
1092+static bool stopping_finished(void);
1093 static void dhc6_merge_lease(struct dhc6_lease *src, struct dhc6_lease *dst);
1094 void do_select6(void *input);
1095 void do_refresh6(void *input);
1096@@ -131,7 +131,7 @@ static void script_write_params6(struct
1097 const char *prefix,
1098 struct option_state *options);
1099 static void script_write_requested6(struct client_state *client);
1100-static isc_boolean_t active_prefix(struct client_state *client);
1101+static bool active_prefix(struct client_state *client);
1102
1103 static int check_timing6(struct client_state *client, u_int8_t msg_type,
1104 char *msg_str, struct dhc6_lease *lease,
1105@@ -149,7 +149,7 @@ static isc_result_t dhc6_add_ia_na_decli
1106 struct data_string *packet,
1107 struct dhc6_lease *lease);
1108 static int drop_declined_addrs(struct dhc6_lease *lease);
1109-static isc_boolean_t unexpired_address_in_lease(struct dhc6_lease *lease);
1110+static bool unexpired_address_in_lease(struct dhc6_lease *lease);
1111
1112 extern int onetry;
1113 extern int stateless;
1114@@ -418,14 +418,14 @@ valid_reply(struct packet *packet, struc
1115 {
1116 struct data_string sid, cid;
1117 struct option_cache *oc;
1118- int rval = ISC_TRUE;
1119+ int rval = true;
1120
1121 memset(&sid, 0, sizeof(sid));
1122 memset(&cid, 0, sizeof(cid));
1123
1124 if (!lookup_option(&dhcpv6_universe, packet->options, D6O_SERVERID)) {
1125 log_error("Response without a server identifier received.");
1126- rval = ISC_FALSE;
1127+ rval = false;
1128 }
1129
1130 oc = lookup_option(&dhcpv6_universe, packet->options, D6O_CLIENTID);
1131@@ -434,7 +434,7 @@ valid_reply(struct packet *packet, struc
1132 client->sent_options, &global_scope, oc,
1133 MDL)) {
1134 log_error("Response without a client identifier.");
1135- rval = ISC_FALSE;
1136+ rval = false;
1137 }
1138
1139 oc = lookup_option(&dhcpv6_universe, client->sent_options,
1140@@ -444,7 +444,7 @@ valid_reply(struct packet *packet, struc
1141 client->sent_options, NULL, &global_scope,
1142 oc, MDL)) {
1143 log_error("Local client identifier is missing!");
1144- rval = ISC_FALSE;
1145+ rval = false;
1146 }
1147
1148 if (sid.len == 0 ||
1149@@ -452,7 +452,7 @@ valid_reply(struct packet *packet, struc
1150 memcmp(sid.data, cid.data, sid.len)) {
1151 log_error("Advertise with matching transaction ID, but "
1152 "mismatching client id.");
1153- rval = ISC_FALSE;
1154+ rval = false;
1155 }
1156
1157 /* clean up pointers to the strings */
1158@@ -2375,7 +2375,7 @@ start_release6(struct client_state *clie
1159 /* Note this in the lease file. */
1160 if (client->active_lease == NULL)
1161 return;
1162- client->active_lease->released = ISC_TRUE;
1163+ client->active_lease->released = true;
1164 write_client6_lease(client, client->active_lease, 0, 1);
1165
1166 /* Set timers per RFC3315 section 18.1.6. */
1167@@ -2612,7 +2612,7 @@ dhc6_check_advertise(struct dhc6_lease *
1168 {
1169 struct dhc6_ia *ia;
1170 isc_result_t rval = ISC_R_SUCCESS;
1171- int have_addrs = ISC_FALSE;
1172+ int have_addrs = false;
1173 unsigned code;
1174 const char *scope;
1175 int got_na = 0, got_ta = 0, got_pd = 0;
1176@@ -2650,14 +2650,14 @@ dhc6_check_advertise(struct dhc6_lease *
1177 * Should we check the addr itself for usability?
1178 */
1179 if (ia->addrs != NULL) {
1180- have_addrs = ISC_TRUE;
1181+ have_addrs = true;
1182 }
1183 }
1184
1185 /* If we didn't get some addrs or the user required us to
1186 * get all of the requested IAs and we didn't return an error
1187 */
1188- if ((have_addrs != ISC_TRUE) ||
1189+ if ((have_addrs != true) ||
1190 ((require_all_ias != 0) &&
1191 ((got_na < wanted_ia_na) ||
1192 (got_ta < wanted_ia_ta) ||
1193@@ -2670,7 +2670,7 @@ dhc6_check_advertise(struct dhc6_lease *
1194 /* status code <-> action matrix for the client in INIT state
1195 * (rapid/commit). Returns always false as no action is defined.
1196 */
1197-static isc_boolean_t
1198+static bool
1199 dhc6_init_action(struct client_state *client, isc_result_t *rvalp,
1200 unsigned code)
1201 {
1202@@ -2679,21 +2679,21 @@ dhc6_init_action(struct client_state *cl
1203
1204 if (client == NULL) {
1205 *rvalp = DHCP_R_INVALIDARG;
1206- return ISC_FALSE;
1207+ return false;
1208 }
1209
1210 if (*rvalp == ISC_R_SUCCESS)
1211- return ISC_FALSE;
1212+ return false;
1213
1214 /* No possible action in any case... */
1215- return ISC_FALSE;
1216+ return false;
1217 }
1218
1219 /* status code <-> action matrix for the client in SELECT state
1220 * (request/reply). Returns true if action was taken (and the
1221 * packet should be ignored), or false if no action was taken.
1222 */
1223-static isc_boolean_t
1224+static bool
1225 dhc6_select_action(struct client_state *client, isc_result_t *rvalp,
1226 unsigned code)
1227 {
1228@@ -2705,12 +2705,12 @@ dhc6_select_action(struct client_state *
1229
1230 if (client == NULL) {
1231 *rvalp = DHCP_R_INVALIDARG;
1232- return ISC_FALSE;
1233+ return false;
1234 }
1235 rval = *rvalp;
1236
1237 if (rval == ISC_R_SUCCESS)
1238- return ISC_FALSE;
1239+ return false;
1240
1241 switch (code) {
1242 /* We may have an earlier failure status code (so no
1243@@ -2723,7 +2723,7 @@ dhc6_select_action(struct client_state *
1244 case STATUS_NoBinding:
1245 case STATUS_UseMulticast:
1246 /* Take no action. */
1247- return ISC_FALSE;
1248+ return false;
1249
1250 /* If the server can't deal with us, either try the
1251 * next advertised server, or continue retrying if there
1252@@ -2739,7 +2739,7 @@ dhc6_select_action(struct client_state *
1253
1254 break;
1255 } else /* Take no action - continue to retry. */
1256- return ISC_FALSE;
1257+ return false;
1258
1259 /* If the server has no addresses, try other servers if
1260 * we got some, otherwise go to INIT to hope for more
1261@@ -2748,7 +2748,7 @@ dhc6_select_action(struct client_state *
1262 case STATUS_NoAddrsAvail:
1263 case STATUS_NoPrefixAvail:
1264 if (client->state == S_REBOOTING)
1265- return ISC_FALSE;
1266+ return false;
1267
1268 if (client->selected_lease == NULL)
1269 log_fatal("Impossible case at %s:%d.", MDL);
1270@@ -2794,7 +2794,7 @@ dhc6_select_action(struct client_state *
1271 break;
1272 }
1273
1274- return ISC_TRUE;
1275+ return true;
1276 }
1277
1278 static void
1279@@ -2821,7 +2821,7 @@ dhc6_withdraw_lease(struct client_state
1280 * (request/reply). Returns true if action was taken (and the
1281 * packet should be ignored), or false if no action was taken.
1282 */
1283-static isc_boolean_t
1284+static bool
1285 dhc6_reply_action(struct client_state *client, isc_result_t *rvalp,
1286 unsigned code)
1287 {
1288@@ -2832,12 +2832,12 @@ dhc6_reply_action(struct client_state *c
1289
1290 if (client == NULL) {
1291 *rvalp = DHCP_R_INVALIDARG;
1292- return ISC_FALSE;
1293+ return false;
1294 }
1295 rval = *rvalp;
1296
1297 if (rval == ISC_R_SUCCESS)
1298- return ISC_FALSE;
1299+ return false;
1300
1301 switch (code) {
1302 /* It's possible an earlier status code set rval to a failure
1303@@ -2852,7 +2852,7 @@ dhc6_reply_action(struct client_state *c
1304 case STATUS_UnspecFail:
1305 /* For unknown codes...it's a soft (retryable) error. */
1306 default:
1307- return ISC_FALSE;
1308+ return false;
1309
1310 /* The server is telling us to use a multicast address, so
1311 * we have to delete the unicast option from the active
1312@@ -2865,7 +2865,7 @@ dhc6_reply_action(struct client_state *c
1313 delete_option(&dhcp_universe,
1314 client->active_lease->options,
1315 D6O_UNICAST);
1316- return ISC_FALSE;
1317+ return false;
1318
1319 /* "When the client receives a NotOnLink status from the
1320 * server in response to a Request, the client can either
1321@@ -2914,7 +2914,7 @@ dhc6_reply_action(struct client_state *c
1322 break;
1323 }
1324
1325- return ISC_TRUE;
1326+ return true;
1327 }
1328
1329 /* status code <-> action matrix for the client in STOPPED state
1330@@ -2922,7 +2922,7 @@ dhc6_reply_action(struct client_state *c
1331 * packet should be ignored), or false if no action was taken.
1332 * NoBinding is translated into Success.
1333 */
1334-static isc_boolean_t
1335+static bool
1336 dhc6_stop_action(struct client_state *client, isc_result_t *rvalp,
1337 unsigned code)
1338 {
1339@@ -2933,12 +2933,12 @@ dhc6_stop_action(struct client_state *cl
1340
1341 if (client == NULL) {
1342 *rvalp = DHCP_R_INVALIDARG;
1343- return ISC_FALSE;
1344+ return false;
1345 }
1346 rval = *rvalp;
1347
1348 if (rval == ISC_R_SUCCESS)
1349- return ISC_FALSE;
1350+ return false;
1351
1352 switch (code) {
1353 /* It's possible an earlier status code set rval to a failure
1354@@ -2948,13 +2948,13 @@ dhc6_stop_action(struct client_state *cl
1355 /* For unknown codes...it's a soft (retryable) error. */
1356 case STATUS_UnspecFail:
1357 default:
1358- return ISC_FALSE;
1359+ return false;
1360
1361 /* NoBinding is not an error */
1362 case STATUS_NoBinding:
1363 if (rval == ISC_R_FAILURE)
1364 *rvalp = ISC_R_SUCCESS;
1365- return ISC_FALSE;
1366+ return false;
1367
1368 /* Should not happen */
1369 case STATUS_NoAddrsAvail:
1370@@ -2976,13 +2976,13 @@ dhc6_stop_action(struct client_state *cl
1371 delete_option(&dhcp_universe,
1372 client->active_lease->options,
1373 D6O_UNICAST);
1374- return ISC_FALSE;
1375+ return false;
1376 }
1377
1378- return ISC_TRUE;
1379+ return true;
1380 }
1381
1382-static isc_boolean_t
1383+static bool
1384 dhc6_decline_action(struct client_state *client, isc_result_t *rvalp,
1385 unsigned code)
1386 {
1387@@ -2993,12 +2993,12 @@ dhc6_decline_action(struct client_state
1388
1389 if (client == NULL) {
1390 *rvalp = DHCP_R_INVALIDARG;
1391- return ISC_FALSE;
1392+ return false;
1393 }
1394 rval = *rvalp;
1395
1396 if (rval == ISC_R_SUCCESS) {
1397- return ISC_FALSE;
1398+ return false;
1399 }
1400
1401 switch (code) {
1402@@ -3013,13 +3013,13 @@ dhc6_decline_action(struct client_state
1403 delete_option(&dhcp_universe,
1404 client->active_lease->options,
1405 D6O_UNICAST);
1406- return ISC_FALSE;
1407+ return false;
1408 default:
1409 /* Anything else is basically meaningless */
1410 break;
1411 }
1412
1413- return ISC_TRUE;
1414+ return true;
1415 }
1416
1417
1418@@ -3029,14 +3029,14 @@ dhc6_decline_action(struct client_state
1419 static isc_result_t
1420 dhc6_check_reply(struct client_state *client, struct dhc6_lease *new)
1421 {
1422- isc_boolean_t (*action)(struct client_state *,
1423+ bool (*action)(struct client_state *,
1424 isc_result_t *, unsigned);
1425 struct dhc6_ia *ia;
1426 isc_result_t rval = ISC_R_SUCCESS;
1427 unsigned code;
1428 const char *scope;
1429 int nscore, sscore;
1430- int have_addrs = ISC_FALSE;
1431+ int have_addrs = false;
1432 int got_na = 0, got_ta = 0, got_pd = 0;
1433
1434 if ((client == NULL) || (new == NULL))
1435@@ -3102,7 +3102,7 @@ dhc6_check_reply(struct client_state *cl
1436 return ISC_R_CANCELED;
1437
1438 if (ia->addrs != NULL) {
1439- have_addrs = ISC_TRUE;
1440+ have_addrs = true;
1441 }
1442 }
1443
1444@@ -3119,13 +3119,13 @@ dhc6_check_reply(struct client_state *cl
1445 * check in and commented it as I eventually do want
1446 * us to check for TAs as well. SAR
1447 */
1448- if ((have_addrs != ISC_TRUE) ||
1449+ if ((have_addrs != true) ||
1450 ((require_all_ias != 0) &&
1451 ((got_na < wanted_ia_na) ||
1452 /*(got_ta < wanted_ia_ta) ||*/
1453 (got_pd < wanted_ia_pd)))) {
1454 rval = ISC_R_FAILURE;
1455- if (action(client, &rval, STATUS_NoAddrsAvail) == ISC_TRUE) {
1456+ if (action(client, &rval, STATUS_NoAddrsAvail) == true) {
1457 return ISC_R_CANCELED;
1458 }
1459 }
1460@@ -4256,7 +4256,7 @@ dhc6_add_ia_pd(struct client_state *clie
1461
1462 /* stopping_finished() checks if there is a remaining work to do.
1463 */
1464-static isc_boolean_t
1465+static bool
1466 stopping_finished(void)
1467 {
1468 struct interface_info *ip;
1469@@ -4265,12 +4265,12 @@ stopping_finished(void)
1470 for (ip = interfaces; ip; ip = ip -> next) {
1471 for (client = ip -> client; client; client = client -> next) {
1472 if (client->state != S_STOPPED)
1473- return ISC_FALSE;
1474+ return false;
1475 if (client->active_lease != NULL)
1476- return ISC_FALSE;
1477+ return false;
1478 }
1479 }
1480- return ISC_TRUE;
1481+ return true;
1482 }
1483
1484 /* reply_handler() accepts a Reply while we're attempting Select or Renew or
1485@@ -4474,8 +4474,8 @@ dhc6_check_times(struct client_state *cl
1486 struct dhc6_addr *addr;
1487 TIME renew=MAX_TIME, rebind=MAX_TIME, depref=MAX_TIME,
1488 lo_expire=MAX_TIME, hi_expire=0, max_ia_starts = 0, tmp;
1489- int has_addrs = ISC_FALSE;
1490- int has_preferred_addrs = ISC_FALSE;
1491+ int has_addrs = false;
1492+ int has_preferred_addrs = false;
1493 struct timeval tv;
1494
1495 lease = client->active_lease;
1496@@ -4506,7 +4506,7 @@ dhc6_check_times(struct client_state *cl
1497 depref = tmp;
1498
1499 if (!(addr->flags & DHC6_ADDR_EXPIRED)) {
1500- has_preferred_addrs = ISC_TRUE;
1501+ has_preferred_addrs = true;
1502 }
1503 }
1504
1505@@ -4525,7 +4525,7 @@ dhc6_check_times(struct client_state *cl
1506 if (tmp < this_ia_lo_expire)
1507 this_ia_lo_expire = tmp;
1508
1509- has_addrs = ISC_TRUE;
1510+ has_addrs = true;
1511 }
1512 }
1513
1514@@ -4603,7 +4603,7 @@ dhc6_check_times(struct client_state *cl
1515 * In the future, we may decide that we're done here, or to
1516 * schedule a future request (using 4-pkt info-request model).
1517 */
1518- if (has_addrs == ISC_FALSE) {
1519+ if (has_addrs == false) {
1520 dhc6_lease_destroy(&client->active_lease, MDL);
1521 client->active_lease = NULL;
1522
1523@@ -4855,7 +4855,7 @@ start_bound(struct client_state *client)
1524 "is selected.");
1525 return;
1526 }
1527- lease->released = ISC_FALSE;
1528+ lease->released = false;
1529 old = client->old_lease;
1530
1531 client->v6_handler = bound_handler;
1532@@ -5448,8 +5448,8 @@ do_expire(void *input)
1533 struct dhc6_lease *lease;
1534 struct dhc6_ia *ia, **tia;
1535 struct dhc6_addr *addr;
1536- int has_addrs = ISC_FALSE;
1537- int ia_has_addrs = ISC_FALSE;
1538+ int has_addrs = false;
1539+ int ia_has_addrs = false;
1540
1541 client = (struct client_state *)input;
1542
1543@@ -5458,7 +5458,7 @@ do_expire(void *input)
1544 return;
1545
1546 for (ia = lease->bindings, tia = &lease->bindings; ia != NULL ; ) {
1547- ia_has_addrs = ISC_FALSE;
1548+ ia_has_addrs = false;
1549 for (addr = ia->addrs ; addr != NULL ; addr = addr->next) {
1550 if (addr->flags & DHC6_ADDR_EXPIRED)
1551 continue;
1552@@ -5495,14 +5495,14 @@ do_expire(void *input)
1553 continue;
1554 }
1555
1556- ia_has_addrs = ISC_TRUE;
1557- has_addrs = ISC_TRUE;
1558+ ia_has_addrs = true;
1559+ has_addrs = true;
1560 }
1561
1562 /* Update to the next ia and git rid of this ia
1563 * if it doesn't have any leases.
1564 */
1565- if (ia_has_addrs == ISC_TRUE) {
1566+ if (ia_has_addrs == true) {
1567 /* leases, just advance the list pointer */
1568 tia = &(*tia)->next;
1569 } else {
1570@@ -5517,7 +5517,7 @@ do_expire(void *input)
1571 }
1572
1573 /* Clean up empty leases. */
1574- if (has_addrs == ISC_FALSE) {
1575+ if (has_addrs == false) {
1576 log_info("PRC: Bound lease is devoid of active addresses."
1577 " Re-initializing.");
1578
1579@@ -5596,14 +5596,14 @@ dhc6_check_irt(struct client_state *clie
1580 TIME expire = MAX_TIME;
1581 struct timeval tv;
1582 int i;
1583- isc_boolean_t found = ISC_FALSE;
1584+ bool found = false;
1585
1586 cancel_timeout(refresh_info_request6, client);
1587
1588 req = client->config->requested_options;
1589 for (i = 0; req[i] != NULL; i++) {
1590 if (req[i] == irt_option) {
1591- found = ISC_TRUE;
1592+ found = true;
1593 break;
1594 }
1595 }
1596@@ -5924,7 +5924,7 @@ static void script_write_requested6(clie
1597 /*
1598 * Check if there is something not fully defined in the active lease.
1599 */
1600-static isc_boolean_t
1601+static bool
1602 active_prefix(struct client_state *client)
1603 {
1604 struct dhc6_lease *lease;
1605@@ -5934,21 +5934,21 @@ active_prefix(struct client_state *clien
1606
1607 lease = client->active_lease;
1608 if (lease == NULL)
1609- return ISC_FALSE;
1610+ return false;
1611 memset(zeros, 0, 16);
1612 for (ia = lease->bindings; ia != NULL; ia = ia->next) {
1613 if (ia->ia_type != D6O_IA_PD)
1614 continue;
1615 for (pref = ia->addrs; pref != NULL; pref = pref->next) {
1616 if (pref->plen == 0)
1617- return ISC_FALSE;
1618+ return false;
1619 if (pref->address.len != 16)
1620- return ISC_FALSE;
1621+ return false;
1622 if (memcmp(pref->address.iabuf, zeros, 16) == 0)
1623- return ISC_FALSE;
1624+ return false;
1625 }
1626 }
1627- return ISC_TRUE;
1628+ return true;
1629 }
1630
1631 /* Adds a leases's declined addreses to the outbound packet
1632@@ -6111,26 +6111,26 @@ int drop_declined_addrs(struct dhc6_leas
1633 /* Run through the addresses in lease and return true if there's any unexpired.
1634 * Return false otherwise.
1635 */
1636-static isc_boolean_t
1637+static bool
1638 unexpired_address_in_lease(struct dhc6_lease *lease)
1639 {
1640 struct dhc6_ia *ia;
1641 struct dhc6_addr *addr;
1642
1643 if (lease == NULL) {
1644- return ISC_FALSE;
1645+ return false;
1646 }
1647
1648 for (ia = lease->bindings ; ia != NULL ; ia = ia->next) {
1649 for (addr = ia->addrs ; addr != NULL ; addr = addr->next) {
1650 if (!(addr->flags & DHC6_ADDR_EXPIRED) &&
1651 (addr->starts + addr->max_life > cur_time)) {
1652- return ISC_TRUE;
1653+ return true;
1654 }
1655 }
1656 }
1657
1658 log_debug("PRC: Previous lease is devoid of active addresses.");
1659- return ISC_FALSE;
1660+ return false;
1661 }
1662 #endif /* DHCPv6 */
1663Index: dhcp-4.4.1/client/dhclient.c
1664===================================================================
1665--- dhcp-4.4.1.orig/client/dhclient.c
1666+++ dhcp-4.4.1/client/dhclient.c
1667@@ -52,7 +52,7 @@ char *path_dhclient_script = path_dhclie
1668 const char *path_dhclient_duid = NULL;
1669
1670 /* False (default) => we write and use a pid file */
1671-isc_boolean_t no_pid_file = ISC_FALSE;
1672+bool no_pid_file = false;
1673
1674 int dhcp_max_agent_option_packet_length = 0;
1675
1676@@ -397,7 +397,7 @@ main(int argc, char **argv) {
1677 path_dhclient_pid = argv[i];
1678 no_dhclient_pid = 1;
1679 } else if (!strcmp(argv[i], "--no-pid")) {
1680- no_pid_file = ISC_TRUE;
1681+ no_pid_file = true;
1682 } else if (!strcmp(argv[i], "-cf")) {
1683 if (++i == argc)
1684 usage(use_noarg, argv[i-1]);
1685@@ -652,7 +652,7 @@ main(int argc, char **argv) {
1686 * to write a pid file - we assume they are controlling
1687 * the process in some other fashion.
1688 */
1689- if ((release_mode || exit_mode) && (no_pid_file == ISC_FALSE)) {
1690+ if ((release_mode || exit_mode) && (no_pid_file == false)) {
1691 FILE *pidfd;
1692 pid_t oldpid;
1693 long temp;
1694@@ -4469,7 +4469,7 @@ void write_client_pid_file ()
1695 int pfdesc;
1696
1697 /* nothing to do if the user doesn't want a pid file */
1698- if (no_pid_file == ISC_TRUE) {
1699+ if (no_pid_file == true) {
1700 return;
1701 }
1702
1703@@ -4727,7 +4727,7 @@ unsigned cons_agent_information_options
1704 static void shutdown_exit (void *foo)
1705 {
1706 /* get rid of the pid if we can */
1707- if (no_pid_file == ISC_FALSE)
1708+ if (no_pid_file == false)
1709 (void) unlink(path_dhclient_pid);
1710 finish(0);
1711 }
1712Index: dhcp-4.4.1/common/inet.c
1713===================================================================
1714--- dhcp-4.4.1.orig/common/inet.c
1715+++ dhcp-4.4.1/common/inet.c
1716@@ -299,7 +299,7 @@ addr_and(struct iaddr *result, const str
1717 *
1718 * Because the final ".1" would get masked out by the /8.
1719 */
1720-isc_boolean_t
1721+bool
1722 is_cidr_mask_valid(const struct iaddr *addr, int bits) {
1723 int zero_bits;
1724 int zero_bytes;
1725@@ -311,10 +311,10 @@ is_cidr_mask_valid(const struct iaddr *a
1726 * Check our bit boundaries.
1727 */
1728 if (bits < 0) {
1729- return ISC_FALSE;
1730+ return false;
1731 }
1732 if (bits > (addr->len * 8)) {
1733- return ISC_FALSE;
1734+ return false;
1735 }
1736
1737 /*
1738@@ -328,7 +328,7 @@ is_cidr_mask_valid(const struct iaddr *a
1739 */
1740 for (i=1; i<=zero_bytes; i++) {
1741 if (addr->iabuf[addr->len-i] != 0) {
1742- return ISC_FALSE;
1743+ return false;
1744 }
1745 }
1746
1747@@ -340,7 +340,7 @@ is_cidr_mask_valid(const struct iaddr *a
1748 * happy.
1749 */
1750 shift_bits = zero_bits % 8;
1751- if (shift_bits == 0) return ISC_TRUE;
1752+ if (shift_bits == 0) return true;
1753 byte = addr->iabuf[addr->len-zero_bytes-1];
1754 return (((byte >> shift_bits) << shift_bits) == byte);
1755 }
1756Index: dhcp-4.4.1/common/options.c
1757===================================================================
1758--- dhcp-4.4.1.orig/common/options.c
1759+++ dhcp-4.4.1/common/options.c
1760@@ -676,7 +676,7 @@ cons_options(struct packet *inpacket, st
1761 * the priority_list. This way we'll send it whether or not it
1762 * is in the PRL. */
1763 if ((inpacket != NULL) && (priority_len < PRIORITY_COUNT) &&
1764- (inpacket->sv_echo_client_id == ISC_TRUE)) {
1765+ (inpacket->sv_echo_client_id == true)) {
1766 priority_list[priority_len++] =
1767 DHO_DHCP_CLIENT_IDENTIFIER;
1768 }
1769@@ -1802,7 +1802,7 @@ const char *pretty_print_option (option,
1770 const unsigned char *dp = data;
1771 char comma;
1772 unsigned long tval;
1773- isc_boolean_t a_array = ISC_FALSE;
1774+ bool a_array = false;
1775 int len_used;
1776
1777 if (emit_commas)
1778@@ -1828,7 +1828,7 @@ const char *pretty_print_option (option,
1779 fmtbuf [l] = option -> format [i];
1780 switch (option -> format [i]) {
1781 case 'a':
1782- a_array = ISC_TRUE;
1783+ a_array = true;
1784 /* Fall through */
1785 case 'A':
1786 --numelem;
1787@@ -1858,7 +1858,7 @@ const char *pretty_print_option (option,
1788 hunksize++;
1789 comma = ':';
1790 numhunk = 0;
1791- a_array = ISC_TRUE;
1792+ a_array = true;
1793 hunkinc = 1;
1794 }
1795 fmtbuf [l + 1] = 0;
1796@@ -1954,7 +1954,7 @@ const char *pretty_print_option (option,
1797
1798 /* If this is an array, compute its size. */
1799 if (numhunk == 0) {
1800- if (a_array == ISC_TRUE) {
1801+ if (a_array == true) {
1802 /*
1803 * It is an 'a' type array - we repeat the
1804 * last format type. A binary string for 'X'
1805@@ -2006,7 +2006,7 @@ const char *pretty_print_option (option,
1806
1807 /* Cycle through the array (or hunk) printing the data. */
1808 for (i = 0; i < numhunk; i++) {
1809- if ((a_array == ISC_TRUE) && (i != 0) && (numelem > 0)) {
1810+ if ((a_array == true) && (i != 0) && (numelem > 0)) {
1811 /*
1812 * For 'a' type of arrays we repeat
1813 * only the last format character
1814@@ -2734,7 +2734,7 @@ save_option(struct universe *universe, s
1815 struct option_cache *oc)
1816 {
1817 if (universe->save_func)
1818- (*universe->save_func)(universe, options, oc, ISC_FALSE);
1819+ (*universe->save_func)(universe, options, oc, true);
1820 else
1821 log_error("can't store options in %s space.", universe->name);
1822 }
1823@@ -2745,14 +2745,14 @@ also_save_option(struct universe *univer
1824 struct option_cache *oc)
1825 {
1826 if (universe->save_func)
1827- (*universe->save_func)(universe, options, oc, ISC_TRUE);
1828+ (*universe->save_func)(universe, options, oc, true);
1829 else
1830 log_error("can't store options in %s space.", universe->name);
1831 }
1832
1833 void
1834 save_hashed_option(struct universe *universe, struct option_state *options,
1835- struct option_cache *oc, isc_boolean_t appendp)
1836+ struct option_cache *oc, bool appendp)
1837 {
1838 int hashix;
1839 pair bptr;
1840@@ -3062,7 +3062,7 @@ store_option(struct data_string *result,
1841 cfg_options, scope, subu);
1842 subu = NULL;
1843 }
1844- } while (ISC_FALSE);
1845+ } while (false);
1846
1847 status = append_option(result, universe, oc->option, &tmp);
1848 data_string_forget(&tmp, MDL);
1849@@ -3459,7 +3459,7 @@ lookup_fqdn6_option(struct universe *uni
1850 */
1851 void
1852 save_fqdn6_option(struct universe *universe, struct option_state *options,
1853- struct option_cache *oc, isc_boolean_t appendp)
1854+ struct option_cache *oc, bool appendp)
1855 {
1856 log_fatal("Impossible condition at %s:%d.", MDL);
1857 }
1858@@ -3784,7 +3784,7 @@ void hashed_option_space_foreach (struct
1859
1860 void
1861 save_linked_option(struct universe *universe, struct option_state *options,
1862- struct option_cache *oc, isc_boolean_t appendp)
1863+ struct option_cache *oc, bool appendp)
1864 {
1865 pair *tail;
1866 struct option_chain_head *head;
1867@@ -4073,7 +4073,7 @@ packet6_len_okay(const char *packet, int
1868 void
1869 do_packet6(struct interface_info *interface, const char *packet,
1870 int len, int from_port, const struct iaddr *from,
1871- isc_boolean_t was_unicast) {
1872+ bool was_unicast) {
1873 unsigned char msg_type;
1874 const struct dhcpv6_packet *msg;
1875 const struct dhcpv6_relay_packet *relay;
1876Index: dhcp-4.4.1/common/parse.c
1877===================================================================
1878--- dhcp-4.4.1.orig/common/parse.c
1879+++ dhcp-4.4.1/common/parse.c
1880@@ -4952,7 +4952,7 @@ int parse_option_token (rv, cfile, fmt,
1881 unsigned len;
1882 struct iaddr addr;
1883 int compress;
1884- isc_boolean_t freeval = ISC_FALSE;
1885+ bool freeval = false;
1886 const char *f, *g;
1887 struct enumeration_value *e;
1888
1889@@ -5038,7 +5038,7 @@ int parse_option_token (rv, cfile, fmt,
1890 return 0;
1891 }
1892 len = strlen (val);
1893- freeval = ISC_TRUE;
1894+ freeval = true;
1895 goto make_string;
1896
1897 case 't': /* Text string... */
1898@@ -5055,9 +5055,9 @@ int parse_option_token (rv, cfile, fmt,
1899 if (!make_const_data (&t, (const unsigned char *)val,
1900 len, 1, 1, MDL))
1901 log_fatal ("No memory for concatenation");
1902- if (freeval == ISC_TRUE) {
1903+ if (freeval == true) {
1904 dfree((char *)val, MDL);
1905- freeval = ISC_FALSE;
1906+ freeval = false;
1907 POST(freeval);
1908 }
1909 break;
1910Index: dhcp-4.4.1/omapip/dispatch.c
1911===================================================================
1912--- dhcp-4.4.1.orig/omapip/dispatch.c
1913+++ dhcp-4.4.1/omapip/dispatch.c
1914@@ -156,7 +156,7 @@ omapi_iscsock_cb(isc_task_t *task,
1915 * This should be a temporary fix until we arrange to properly
1916 * close the socket.
1917 */
1918- if (obj->closed == ISC_TRUE) {
1919+ if (obj->closed == true) {
1920 return(0);
1921 }
1922 #endif
1923@@ -223,7 +223,7 @@ isc_result_t omapi_register_io_object (o
1924 status = omapi_io_allocate (&obj, MDL);
1925 if (status != ISC_R_SUCCESS)
1926 return status;
1927- obj->closed = ISC_FALSE; /* mark as open */
1928+ obj->closed = false; /* mark as open */
1929
1930 status = omapi_object_reference (&obj -> inner, h, MDL);
1931 if (status != ISC_R_SUCCESS) {
1932@@ -404,7 +404,7 @@ isc_result_t omapi_unregister_io_object
1933 isc_socket_detach(&obj->fd);
1934 }
1935 #else
1936- obj->closed = ISC_TRUE;
1937+ obj->closed = true;
1938 #endif
1939
1940 omapi_io_dereference (&ph, MDL);
1941Index: dhcp-4.4.1/omapip/isclib.c
1942===================================================================
1943--- dhcp-4.4.1.orig/omapip/isclib.c
1944+++ dhcp-4.4.1/omapip/isclib.c
1945@@ -106,9 +106,9 @@ isclib_cleanup(void)
1946 if (dhcp_gbl_ctx.taskmgr != NULL)
1947 isc_taskmgr_destroy(&dhcp_gbl_ctx.taskmgr);
1948
1949- if (dhcp_gbl_ctx.actx_started != ISC_FALSE) {
1950+ if (dhcp_gbl_ctx.actx_started != false) {
1951 isc_app_ctxfinish(dhcp_gbl_ctx.actx);
1952- dhcp_gbl_ctx.actx_started = ISC_FALSE;
1953+ dhcp_gbl_ctx.actx_started = false;
1954 }
1955
1956 if (dhcp_gbl_ctx.actx != NULL)
1957@@ -211,7 +211,7 @@ dhcp_context_create(int flags,
1958 result = isc_app_ctxstart(dhcp_gbl_ctx.actx);
1959 if (result != ISC_R_SUCCESS)
1960 return (result);
1961- dhcp_gbl_ctx.actx_started = ISC_TRUE;
1962+ dhcp_gbl_ctx.actx_started = true;
1963
1964 /* Not all OSs support suppressing SIGPIPE through socket
1965 * options, so set the sigal action to be ignore. This allows
1966Index: dhcp-4.4.1/omapip/protocol.c
1967===================================================================
1968--- dhcp-4.4.1.orig/omapip/protocol.c
1969+++ dhcp-4.4.1/omapip/protocol.c
1970@@ -950,14 +950,14 @@ isc_result_t omapi_protocol_stuff_values
1971 /* Returns a boolean indicating whether this protocol requires that
1972 messages be authenticated or not. */
1973
1974-isc_boolean_t omapi_protocol_authenticated (omapi_object_t *h)
1975+bool omapi_protocol_authenticated (omapi_object_t *h)
1976 {
1977 if (h -> type != omapi_type_protocol)
1978- return isc_boolean_false;
1979+ return false;
1980 if (((omapi_protocol_object_t *)h) -> insecure)
1981- return isc_boolean_false;
1982+ return false;
1983 else
1984- return isc_boolean_true;
1985+ return true;
1986 }
1987
1988 /* Sets the address and authenticator verification callbacks. The handle
1989Index: dhcp-4.4.1/relay/dhcrelay.c
1990===================================================================
1991--- dhcp-4.4.1.orig/relay/dhcrelay.c
1992+++ dhcp-4.4.1/relay/dhcrelay.c
1993@@ -45,9 +45,9 @@ char *token_line;
1994 char *tlname;
1995
1996 const char *path_dhcrelay_pid = _PATH_DHCRELAY_PID;
1997-isc_boolean_t no_dhcrelay_pid = ISC_FALSE;
1998+bool no_dhcrelay_pid = false;
1999 /* False (default) => we write and use a pid file */
2000-isc_boolean_t no_pid_file = ISC_FALSE;
2001+bool no_pid_file = false;
2002
2003 int bogus_agent_drops = 0; /* Packets dropped because agent option
2004 field was specified and we're not relaying
2005@@ -82,7 +82,7 @@ int dfd[2] = { -1, -1 };
2006
2007 #ifdef DHCPv6
2008 /* Force use of DHCPv6 interface-id option. */
2009-isc_boolean_t use_if_id = ISC_FALSE;
2010+bool use_if_id = false;
2011 #endif
2012
2013 /* Maximum size of a packet with agent options added. */
2014@@ -556,7 +556,7 @@ main(int argc, char **argv) {
2015 }
2016 local_family_set = 1;
2017 local_family = AF_INET6;
2018- use_if_id = ISC_TRUE;
2019+ use_if_id = true;
2020 } else if (!strcmp(argv[i], "-l")) {
2021 if (local_family_set && (local_family == AF_INET)) {
2022 usage(use_v6command, argv[i]);
2023@@ -564,7 +564,7 @@ main(int argc, char **argv) {
2024 local_family_set = 1;
2025 local_family = AF_INET6;
2026 if (downstreams != NULL)
2027- use_if_id = ISC_TRUE;
2028+ use_if_id = true;
2029 if (++i == argc)
2030 usage(use_noarg, argv[i-1]);
2031 sl = parse_downstream(argv[i]);
2032@@ -595,9 +595,9 @@ main(int argc, char **argv) {
2033 if (++i == argc)
2034 usage(use_noarg, argv[i-1]);
2035 path_dhcrelay_pid = argv[i];
2036- no_dhcrelay_pid = ISC_TRUE;
2037+ no_dhcrelay_pid = true;
2038 } else if (!strcmp(argv[i], "--no-pid")) {
2039- no_pid_file = ISC_TRUE;
2040+ no_pid_file = true;
2041 } else if (argv[i][0] == '-') {
2042 usage("Unknown command: %s", argv[i]);
2043 } else {
2044@@ -645,7 +645,7 @@ main(int argc, char **argv) {
2045 * If the user didn't specify a pid file directly
2046 * find one from environment variables or defaults
2047 */
2048- if (no_dhcrelay_pid == ISC_FALSE) {
2049+ if (no_dhcrelay_pid == false) {
2050 if (local_family == AF_INET) {
2051 path_dhcrelay_pid = getenv("PATH_DHCRELAY_PID");
2052 if (path_dhcrelay_pid == NULL)
2053@@ -774,7 +774,7 @@ main(int argc, char **argv) {
2054 }
2055
2056 /* Create the pid file. */
2057- if (no_pid_file == ISC_FALSE) {
2058+ if (no_pid_file == false) {
2059 pfdesc = open(path_dhcrelay_pid,
2060 O_CREAT | O_TRUNC | O_WRONLY, 0644);
2061
2062@@ -1569,7 +1569,7 @@ static void
2063 setup_streams(void) {
2064 struct stream_list *dp, *up;
2065 int i;
2066- isc_boolean_t link_is_set;
2067+ bool link_is_set;
2068
2069 for (dp = downstreams; dp; dp = dp->next) {
2070 /* Check interface */
2071@@ -1579,9 +1579,9 @@ setup_streams(void) {
2072
2073 /* Check/set link. */
2074 if (IN6_IS_ADDR_UNSPECIFIED(&dp->link.sin6_addr))
2075- link_is_set = ISC_FALSE;
2076+ link_is_set = false;
2077 else
2078- link_is_set = ISC_TRUE;
2079+ link_is_set = true;
2080 for (i = 0; i < dp->ifp->v6address_count; i++) {
2081 if (IN6_IS_ADDR_LINKLOCAL(&dp->ifp->v6addresses[i]))
2082 continue;
2083@@ -2076,7 +2076,7 @@ dhcp_set_control_state(control_object_st
2084 if (newstate != server_shutdown)
2085 return ISC_R_SUCCESS;
2086
2087- if (no_pid_file == ISC_FALSE)
2088+ if (no_pid_file == false)
2089 (void) unlink(path_dhcrelay_pid);
2090
2091 if (!no_daemon && dfd[0] != -1 && dfd[1] != -1) {
2092Index: dhcp-4.4.1/server/dhcp.c
2093===================================================================
2094--- dhcp-4.4.1.orig/server/dhcp.c
2095+++ dhcp-4.4.1/server/dhcp.c
2096@@ -225,7 +225,7 @@ dhcp (struct packet *packet) {
2097 packet->options->universe_count =
2098 agent_universe.index + 1;
2099
2100- packet->agent_options_stashed = ISC_TRUE;
2101+ packet->agent_options_stashed = true;
2102 }
2103 nolease:
2104
2105@@ -1094,7 +1094,7 @@ void dhcpinform (packet, ms_nulltp)
2106 int nulltp;
2107 struct sockaddr_in to;
2108 struct in_addr from;
2109- isc_boolean_t zeroed_ciaddr;
2110+ bool zeroed_ciaddr;
2111 struct interface_info *interface;
2112 int result, h_m_client_ip = 0;
2113 struct host_decl *host = NULL, *hp = NULL, *h;
2114@@ -1109,7 +1109,7 @@ void dhcpinform (packet, ms_nulltp)
2115 it's common for clients not to do this, so we'll use their IP
2116 source address if they didn't set ciaddr. */
2117 if (!packet->raw->ciaddr.s_addr) {
2118- zeroed_ciaddr = ISC_TRUE;
2119+ zeroed_ciaddr = true;
2120 /* With DHCPv4-over-DHCPv6 it can be an IPv6 address
2121 so we check its length. */
2122 if (packet->client_addr.len == 4) {
2123@@ -1122,7 +1122,7 @@ void dhcpinform (packet, ms_nulltp)
2124 addr_type = "v4o6";
2125 }
2126 } else {
2127- zeroed_ciaddr = ISC_FALSE;
2128+ zeroed_ciaddr = false;
2129 cip.len = 4;
2130 memcpy(cip.iabuf, &packet->raw->ciaddr, 4);
2131 addr_type = "client";
2132@@ -1133,7 +1133,7 @@ void dhcpinform (packet, ms_nulltp)
2133 if (packet->raw->giaddr.s_addr) {
2134 gip.len = 4;
2135 memcpy(gip.iabuf, &packet->raw->giaddr, 4);
2136- if (zeroed_ciaddr == ISC_TRUE) {
2137+ if (zeroed_ciaddr == true) {
2138 addr_type = "relay";
2139 memcpy(sip.iabuf, gip.iabuf, 4);
2140 }
2141@@ -1207,7 +1207,7 @@ void dhcpinform (packet, ms_nulltp)
2142 save_option(&dhcp_universe, options, noc);
2143 option_cache_dereference(&noc, MDL);
2144
2145- if ((zeroed_ciaddr == ISC_TRUE) && (gip.len != 0))
2146+ if ((zeroed_ciaddr == true) && (gip.len != 0))
2147 addr_type = "relay link select";
2148 else
2149 addr_type = "selected";
2150@@ -1261,7 +1261,7 @@ void dhcpinform (packet, ms_nulltp)
2151 NULL, NULL);
2152
2153 /* If we have ciaddr, find its lease so we can find its pool. */
2154- if (zeroed_ciaddr == ISC_FALSE) {
2155+ if (zeroed_ciaddr == false) {
2156 struct lease* cip_lease = NULL;
2157
2158 find_lease_by_ip_addr (&cip_lease, cip, MDL);
2159@@ -2036,7 +2036,7 @@ void echo_client_id(packet, lease, in_op
2160 unsigned int opcode = DHO_DHCP_CLIENT_IDENTIFIER;
2161
2162 /* Save knowledge that echo is enabled to the packet */
2163- packet->sv_echo_client_id = ISC_TRUE;
2164+ packet->sv_echo_client_id = true;
2165
2166 /* Now see if inbound packet contains client-id */
2167 oc = lookup_option(&dhcp_universe, packet->options, opcode);
2168@@ -2187,7 +2187,7 @@ void ack_lease (packet, lease, offer, wh
2169 struct iaddr cip;
2170 #if defined(DELAYED_ACK)
2171 /* By default we don't do the enqueue */
2172- isc_boolean_t enqueue = ISC_FALSE;
2173+ bool enqueue = false;
2174 #endif
2175 int use_old_lease = 0;
2176
2177@@ -3217,7 +3217,7 @@ void ack_lease (packet, lease, offer, wh
2178 * can just answer right away, set a flag to indicate this.
2179 */
2180 if (commit)
2181- enqueue = ISC_TRUE;
2182+ enqueue = true;
2183
2184 /* Install the new information on 'lt' onto the lease at
2185 * 'lease'. We will not 'commit' this information to disk
2186@@ -4234,7 +4234,7 @@ int find_lease (struct lease **lp,
2187 * preference, so the first one is the best one.
2188 */
2189 while (uid_lease) {
2190- isc_boolean_t do_release = !packet->raw->ciaddr.s_addr;
2191+ bool do_release = !packet->raw->ciaddr.s_addr;
2192 #if defined (DEBUG_FIND_LEASE)
2193 log_info ("trying next lease matching client id: %s",
2194 piaddr (uid_lease -> ip_addr));
2195@@ -4267,7 +4267,7 @@ int find_lease (struct lease **lp,
2196 #endif
2197 /* Allow multiple leases using the same UID
2198 on different subnetworks. */
2199- do_release = ISC_FALSE;
2200+ do_release = false;
2201 goto n_uid;
2202 }
2203
2204@@ -5331,7 +5331,7 @@ get_server_source_address(struct in_addr
2205 struct option_cache *oc = NULL;
2206 struct data_string d;
2207 struct in_addr *a = NULL;
2208- isc_boolean_t found = ISC_FALSE;
2209+ bool found = false;
2210 int allocate = 0;
2211
2212 memset(&d, 0, sizeof(d));
2213@@ -5344,7 +5344,7 @@ get_server_source_address(struct in_addr
2214 packet->options, options,
2215 &global_scope, oc, MDL)) {
2216 if (d.len == sizeof(*from)) {
2217- found = ISC_TRUE;
2218+ found = true;
2219 memcpy(from, d.data, sizeof(*from));
2220
2221 /*
2222@@ -5362,7 +5362,7 @@ get_server_source_address(struct in_addr
2223 oc = NULL;
2224 }
2225
2226- if ((found == ISC_FALSE) &&
2227+ if ((found == false) &&
2228 (packet->interface->address_count > 0)) {
2229 *from = packet->interface->addresses[0];
2230
2231Index: dhcp-4.4.1/server/failover.c
2232===================================================================
2233--- dhcp-4.4.1.orig/server/failover.c
2234+++ dhcp-4.4.1/server/failover.c
2235@@ -45,7 +45,7 @@ static isc_result_t failover_message_der
2236 static void dhcp_failover_pool_balance(dhcp_failover_state_t *state);
2237 static void dhcp_failover_pool_reqbalance(dhcp_failover_state_t *state);
2238 static int dhcp_failover_pool_dobalance(dhcp_failover_state_t *state,
2239- isc_boolean_t *sendreq);
2240+ bool *sendreq);
2241 static inline int secondary_not_hoarding(dhcp_failover_state_t *state,
2242 struct pool *p);
2243 static void scrub_lease(struct lease* lease, const char *file, int line);
2244@@ -2464,7 +2464,7 @@ void
2245 dhcp_failover_pool_rebalance(void *failover_state)
2246 {
2247 dhcp_failover_state_t *state;
2248- isc_boolean_t sendreq = ISC_FALSE;
2249+ bool sendreq = false;
2250
2251 state = (dhcp_failover_state_t *)failover_state;
2252
2253@@ -2512,7 +2512,7 @@ dhcp_failover_pool_reqbalance(dhcp_failo
2254 */
2255 static int
2256 dhcp_failover_pool_dobalance(dhcp_failover_state_t *state,
2257- isc_boolean_t *sendreq)
2258+ bool *sendreq)
2259 {
2260 int lts, total, thresh, hold, panic, pass;
2261 int leases_queued = 0;
2262@@ -2581,7 +2581,7 @@ dhcp_failover_pool_dobalance(dhcp_failov
2263
2264 if ((sendreq != NULL) && (lts < panic)) {
2265 reqlog = " (requesting peer rebalance!)";
2266- *sendreq = ISC_TRUE;
2267+ *sendreq = true;
2268 } else
2269 reqlog = "";
2270
2271@@ -5111,7 +5111,7 @@ isc_result_t dhcp_failover_send_update_d
2272 * a more detailed system of preferences is required, so this is something we
2273 * should monitor as we gain experience with these dueling events.
2274 */
2275-static isc_boolean_t
2276+static bool
2277 failover_lease_is_better(dhcp_failover_state_t *state, struct lease *lease,
2278 failover_message_t *msg)
2279 {
2280@@ -5132,15 +5132,15 @@ failover_lease_is_better(dhcp_failover_s
2281 case FTS_ACTIVE:
2282 if (msg->binding_status == FTS_ACTIVE) {
2283 if (msg_cltt < lease->cltt)
2284- return ISC_TRUE;
2285+ return true;
2286 else if (msg_cltt > lease->cltt)
2287- return ISC_FALSE;
2288+ return false;
2289 else if (state->i_am == primary)
2290- return ISC_TRUE;
2291+ return true;
2292 else
2293- return ISC_FALSE;
2294+ return false;
2295 } else if (msg->binding_status == FTS_EXPIRED) {
2296- return ISC_FALSE;
2297+ return false;
2298 }
2299 /* FALL THROUGH */
2300
2301@@ -5151,11 +5151,11 @@ failover_lease_is_better(dhcp_failover_s
2302 case FTS_ABANDONED:
2303 case FTS_RESET:
2304 if (msg->binding_status == FTS_ACTIVE)
2305- return ISC_FALSE;
2306+ return false;
2307 else if (state->i_am == primary)
2308- return ISC_TRUE;
2309+ return true;
2310 else
2311- return ISC_FALSE;
2312+ return false;
2313 /* FALL THROUGH to impossible condition */
2314
2315 default:
2316@@ -5164,7 +5164,7 @@ failover_lease_is_better(dhcp_failover_s
2317
2318 log_fatal("Impossible condition at %s:%d.", MDL);
2319 /* Silence compiler warning. */
2320- return ISC_FALSE;
2321+ return false;
2322 }
2323
2324 isc_result_t dhcp_failover_process_bind_update (dhcp_failover_state_t *state,
2325@@ -5177,8 +5177,8 @@ isc_result_t dhcp_failover_process_bind_
2326 int new_binding_state;
2327 int send_to_backup = 0;
2328 int required_options;
2329- isc_boolean_t chaddr_changed = ISC_FALSE;
2330- isc_boolean_t ident_changed = ISC_FALSE;
2331+ bool chaddr_changed = false;
2332+ bool ident_changed = false;
2333
2334 /* Validate the binding update. */
2335 required_options = FTB_ASSIGNED_IP_ADDRESS | FTB_BINDING_STATUS;
2336@@ -5250,7 +5250,7 @@ isc_result_t dhcp_failover_process_bind_
2337 if ((lt->hardware_addr.hlen != msg->chaddr.count) ||
2338 (memcmp(lt->hardware_addr.hbuf, msg->chaddr.data,
2339 msg->chaddr.count) != 0))
2340- chaddr_changed = ISC_TRUE;
2341+ chaddr_changed = true;
2342
2343 lt -> hardware_addr.hlen = msg -> chaddr.count;
2344 memcpy (lt -> hardware_addr.hbuf, msg -> chaddr.data,
2345@@ -5262,7 +5262,7 @@ isc_result_t dhcp_failover_process_bind_
2346 reason = FTR_MISSING_BINDINFO;
2347 goto bad;
2348 } else if (msg->binding_status == FTS_ABANDONED) {
2349- chaddr_changed = ISC_TRUE;
2350+ chaddr_changed = true;
2351 lt->hardware_addr.hlen = 0;
2352 if (lt->scope)
2353 binding_scope_dereference(&lt->scope, MDL);
2354@@ -5282,7 +5282,7 @@ isc_result_t dhcp_failover_process_bind_
2355 (lt->uid == NULL) || /* Sanity; should never happen. */
2356 (memcmp(lt->uid, msg->client_identifier.data,
2357 lt->uid_len) != 0))
2358- ident_changed = ISC_TRUE;
2359+ ident_changed = true;
2360
2361 lt->uid_len = msg->client_identifier.count;
2362
2363@@ -5312,7 +5312,7 @@ isc_result_t dhcp_failover_process_bind_
2364 } else if (lt->uid && msg->binding_status != FTS_RESET &&
2365 msg->binding_status != FTS_FREE &&
2366 msg->binding_status != FTS_BACKUP) {
2367- ident_changed = ISC_TRUE;
2368+ ident_changed = true;
2369 if (lt->uid != lt->uid_buf)
2370 dfree (lt->uid, MDL);
2371 lt->uid = NULL;
2372@@ -5347,7 +5347,7 @@ isc_result_t dhcp_failover_process_bind_
2373 if (msg->binding_status == FTS_ACTIVE &&
2374 (chaddr_changed || ident_changed)) {
2375 #if defined (NSUPDATE)
2376- (void) ddns_removals(lease, NULL, NULL, ISC_FALSE);
2377+ (void) ddns_removals(lease, NULL, NULL, false);
2378 #endif /* NSUPDATE */
2379
2380 if (lease->scope != NULL)
2381@@ -5534,7 +5534,7 @@ isc_result_t dhcp_failover_process_bind_
2382 struct iaddr ia;
2383 const char *message = "no memory";
2384 u_int32_t pot_expire;
2385- int send_to_backup = ISC_FALSE;
2386+ int send_to_backup = false;
2387 struct timeval tv;
2388
2389 ia.len = sizeof msg -> assigned_addr;
2390@@ -5621,7 +5621,7 @@ isc_result_t dhcp_failover_process_bind_
2391 if (state->i_am == primary &&
2392 !(lease->flags & (RESERVED_LEASE | BOOTP_LEASE)) &&
2393 peer_wants_lease(lease))
2394- send_to_backup = ISC_TRUE;
2395+ send_to_backup = true;
2396
2397 if (!send_to_backup && state->me.state == normal)
2398 commit_leases();
2399Index: dhcp-4.4.1/server/dhcpd.c
2400===================================================================
2401--- dhcp-4.4.1.orig/server/dhcpd.c
2402+++ dhcp-4.4.1/server/dhcpd.c
2403@@ -98,7 +98,7 @@ const char *path_dhcpd_conf = _PATH_DHCP
2404 const char *path_dhcpd_db = _PATH_DHCPD_DB;
2405 const char *path_dhcpd_pid = _PATH_DHCPD_PID;
2406 /* False (default) => we write and use a pid file */
2407-isc_boolean_t no_pid_file = ISC_FALSE;
2408+bool no_pid_file = false;
2409
2410 int dhcp_max_agent_option_packet_length = DHCP_MTU_MAX;
2411
2412@@ -476,7 +476,7 @@ main(int argc, char **argv) {
2413 path_dhcpd_pid = argv [i];
2414 have_dhcpd_pid = 1;
2415 } else if (!strcmp(argv[i], "--no-pid")) {
2416- no_pid_file = ISC_TRUE;
2417+ no_pid_file = true;
2418 } else if (!strcmp (argv [i], "-t")) {
2419 /* test configurations only */
2420 #ifndef DEBUG
2421@@ -863,7 +863,7 @@ main(int argc, char **argv) {
2422 * - we don't have a pid file to check
2423 * - there is no other process running
2424 */
2425- if ((lftest == 0) && (no_pid_file == ISC_FALSE)) {
2426+ if ((lftest == 0) && (no_pid_file == false)) {
2427 /*Read previous pid file. */
2428 if ((i = open(path_dhcpd_pid, O_RDONLY)) >= 0) {
2429 status = read(i, pbuf, (sizeof pbuf) - 1);
2430@@ -974,7 +974,7 @@ main(int argc, char **argv) {
2431 * that we have forked we can write our pid if
2432 * appropriate.
2433 */
2434- if (no_pid_file == ISC_FALSE) {
2435+ if (no_pid_file == false) {
2436 i = open(path_dhcpd_pid, O_WRONLY|O_CREAT|O_TRUNC, 0644);
2437 if (i >= 0) {
2438 sprintf(pbuf, "%d\n", (int) getpid());
2439@@ -1730,7 +1730,7 @@ static isc_result_t dhcp_io_shutdown_cou
2440 free_everything ();
2441 omapi_print_dmalloc_usage_by_caller ();
2442 #endif
2443- if (no_pid_file == ISC_FALSE)
2444+ if (no_pid_file == false)
2445 (void) unlink(path_dhcpd_pid);
2446 exit (0);
2447 }
2448@@ -1741,7 +1741,7 @@ static isc_result_t dhcp_io_shutdown_cou
2449 free_everything ();
2450 omapi_print_dmalloc_usage_by_caller ();
2451 #endif
2452- if (no_pid_file == ISC_FALSE)
2453+ if (no_pid_file == false)
2454 (void) unlink(path_dhcpd_pid);
2455 exit (0);
2456 }
2457@@ -1750,7 +1750,7 @@ static isc_result_t dhcp_io_shutdown_cou
2458 #if defined(FAILOVER_PROTOCOL)
2459 !failover_connection_count &&
2460 #endif
2461- ISC_TRUE) {
2462+ true) {
2463 shutdown_state = shutdown_done;
2464 shutdown_time = cur_time;
2465 goto oncemore;
2466Index: dhcp-4.4.1/server/mdb6.c
2467===================================================================
2468--- dhcp-4.4.1.orig/server/mdb6.c
2469+++ dhcp-4.4.1/server/mdb6.c
2470@@ -514,10 +514,10 @@ ia_remove_all_lease(struct ia_xx *ia, co
2471 /*
2472 * Compare two IA.
2473 */
2474-isc_boolean_t
2475+bool
2476 ia_equal(const struct ia_xx *a, const struct ia_xx *b)
2477 {
2478- isc_boolean_t found;
2479+ bool found;
2480 int i, j;
2481
2482 /*
2483@@ -525,9 +525,9 @@ ia_equal(const struct ia_xx *a, const st
2484 */
2485 if (a == NULL) {
2486 if (b == NULL) {
2487- return ISC_TRUE;
2488+ return true;
2489 } else {
2490- return ISC_FALSE;
2491+ return false;
2492 }
2493 }
2494
2495@@ -535,58 +535,58 @@ ia_equal(const struct ia_xx *a, const st
2496 * Check the type is the same.
2497 */
2498 if (a->ia_type != b->ia_type) {
2499- return ISC_FALSE;
2500+ return false;
2501 }
2502
2503 /*
2504 * Check the DUID is the same.
2505 */
2506 if (a->iaid_duid.len != b->iaid_duid.len) {
2507- return ISC_FALSE;
2508+ return false;
2509 }
2510 if (memcmp(a->iaid_duid.data,
2511 b->iaid_duid.data, a->iaid_duid.len) != 0) {
2512- return ISC_FALSE;
2513+ return false;
2514 }
2515
2516 /*
2517 * Make sure we have the same number of addresses/prefixes in each.
2518 */
2519 if (a->num_iasubopt != b->num_iasubopt) {
2520- return ISC_FALSE;
2521+ return false;
2522 }
2523
2524 /*
2525 * Check that each address/prefix is present in both.
2526 */
2527 for (i=0; i<a->num_iasubopt; i++) {
2528- found = ISC_FALSE;
2529+ found = false;
2530 for (j=0; j<a->num_iasubopt; j++) {
2531 if (a->iasubopt[i]->plen != b->iasubopt[i]->plen)
2532 continue;
2533 if (memcmp(&(a->iasubopt[i]->addr),
2534 &(b->iasubopt[j]->addr),
2535 sizeof(struct in6_addr)) == 0) {
2536- found = ISC_TRUE;
2537+ found = true;
2538 break;
2539 }
2540 }
2541 if (!found) {
2542- return ISC_FALSE;
2543+ return false;
2544 }
2545 }
2546
2547 /*
2548 * These are the same in every way we care about.
2549 */
2550- return ISC_TRUE;
2551+ return true;
2552 }
2553
2554 /*
2555 * Helper function for lease heaps.
2556 * Makes the top of the heap the oldest lease.
2557 */
2558-static isc_boolean_t
2559+static bool
2560 lease_older(void *a, void *b) {
2561 struct iasubopt *la = (struct iasubopt *)a;
2562 struct iasubopt *lb = (struct iasubopt *)b;
2563@@ -1038,8 +1038,8 @@ create_lease6(struct ipv6_pool *pool, st
2564 struct data_string new_ds;
2565 struct iasubopt *iaaddr;
2566 isc_result_t result;
2567- isc_boolean_t reserved_iid;
2568- static isc_boolean_t init_resiid = ISC_FALSE;
2569+ bool reserved_iid;
2570+ static bool init_resiid = false;
2571
2572 /*
2573 * Fill the reserved IIDs.
2574@@ -1049,7 +1049,7 @@ create_lease6(struct ipv6_pool *pool, st
2575 memset(&resany, 0, 8);
2576 resany.s6_addr[8] = 0xfd;
2577 memset(&resany.s6_addr[9], 0xff, 6);
2578- init_resiid = ISC_TRUE;
2579+ init_resiid = true;
2580 }
2581
2582 /*
2583@@ -1094,14 +1094,14 @@ create_lease6(struct ipv6_pool *pool, st
2584 /*
2585 * Avoid reserved interface IDs. (cf. RFC 5453)
2586 */
2587- reserved_iid = ISC_FALSE;
2588+ reserved_iid = false;
2589 if (memcmp(&tmp.s6_addr[8], &rtany.s6_addr[8], 8) == 0) {
2590- reserved_iid = ISC_TRUE;
2591+ reserved_iid = true;
2592 }
2593 if (!reserved_iid &&
2594 (memcmp(&tmp.s6_addr[8], &resany.s6_addr[8], 7) == 0) &&
2595 ((tmp.s6_addr[15] & 0x80) == 0x80)) {
2596- reserved_iid = ISC_TRUE;
2597+ reserved_iid = true;
2598 }
2599
2600 /*
2601@@ -1177,7 +1177,7 @@ create_lease6_eui_64(struct ipv6_pool *p
2602 struct iasubopt *test_iaaddr;
2603 struct iasubopt *iaaddr;
2604 isc_result_t result;
2605- static isc_boolean_t init_resiid = ISC_FALSE;
2606+ static bool init_resiid = false;
2607
2608 /* Fill the reserved IIDs. */
2609 if (!init_resiid) {
2610@@ -1185,7 +1185,7 @@ create_lease6_eui_64(struct ipv6_pool *p
2611 memset(&resany, 0, 8);
2612 resany.s6_addr[8] = 0xfd;
2613 memset(&resany.s6_addr[9], 0xff, 6);
2614- init_resiid = ISC_TRUE;
2615+ init_resiid = true;
2616 }
2617
2618 /* Pool must be IA_NA */
2619@@ -1520,7 +1520,7 @@ add_lease6(struct ipv6_pool *pool, struc
2620 /*
2621 * Determine if an address is present in a pool or not.
2622 */
2623-isc_boolean_t
2624+bool
2625 lease6_exists(const struct ipv6_pool *pool, const struct in6_addr *addr) {
2626 struct iasubopt *test_iaaddr;
2627
2628@@ -1528,9 +1528,9 @@ lease6_exists(const struct ipv6_pool *po
2629 if (iasubopt_hash_lookup(&test_iaaddr, pool->leases,
2630 (void *)addr, sizeof(*addr), MDL)) {
2631 iasubopt_dereference(&test_iaaddr, MDL);
2632- return ISC_TRUE;
2633+ return true;
2634 } else {
2635- return ISC_FALSE;
2636+ return false;
2637 }
2638 }
2639
2640@@ -1545,20 +1545,20 @@ lease6_exists(const struct ipv6_pool *po
2641 * \param[in] lease = lease to check
2642 *
2643 * \return
2644- * ISC_TRUE = The lease is allowed to use that address
2645- * ISC_FALSE = The lease isn't allowed to use that address
2646+ * true = The lease is allowed to use that address
2647+ * false = The lease isn't allowed to use that address
2648 */
2649-isc_boolean_t
2650+bool
2651 lease6_usable(struct iasubopt *lease) {
2652 struct iasubopt *test_iaaddr;
2653- isc_boolean_t status = ISC_TRUE;
2654+ bool status = true;
2655
2656 test_iaaddr = NULL;
2657 if (iasubopt_hash_lookup(&test_iaaddr, lease->ipv6_pool->leases,
2658 (void *)&lease->addr,
2659 sizeof(lease->addr), MDL)) {
2660 if (test_iaaddr != lease) {
2661- status = ISC_FALSE;
2662+ status = false;
2663 }
2664 iasubopt_dereference(&test_iaaddr, MDL);
2665 }
2666@@ -1697,7 +1697,7 @@ move_lease_to_inactive(struct ipv6_pool
2667 #if defined (NSUPDATE)
2668 /* Process events upon expiration. */
2669 if (pool->pool_type != D6O_IA_PD) {
2670- (void) ddns_removals(NULL, lease, NULL, ISC_FALSE);
2671+ (void) ddns_removals(NULL, lease, NULL, false);
2672 }
2673 #endif
2674
2675@@ -1977,21 +1977,21 @@ create_prefix6(struct ipv6_pool *pool, s
2676 /*
2677 * Determine if a prefix is present in a pool or not.
2678 */
2679-isc_boolean_t
2680+bool
2681 prefix6_exists(const struct ipv6_pool *pool,
2682 const struct in6_addr *pref, u_int8_t plen) {
2683 struct iasubopt *test_iapref;
2684
2685 if ((int)plen != pool->units)
2686- return ISC_FALSE;
2687+ return false;
2688
2689 test_iapref = NULL;
2690 if (iasubopt_hash_lookup(&test_iapref, pool->leases,
2691 (void *)pref, sizeof(*pref), MDL)) {
2692 iasubopt_dereference(&test_iapref, MDL);
2693- return ISC_TRUE;
2694+ return true;
2695 } else {
2696- return ISC_FALSE;
2697+ return false;
2698 }
2699 }
2700
2701@@ -2267,15 +2267,15 @@ ipv6_network_portion(struct in6_addr *re
2702 /*
2703 * Determine if the given address/prefix is in the pool.
2704 */
2705-isc_boolean_t
2706+bool
2707 ipv6_in_pool(const struct in6_addr *addr, const struct ipv6_pool *pool) {
2708 struct in6_addr tmp;
2709
2710 ipv6_network_portion(&tmp, addr, pool->bits);
2711 if (memcmp(&tmp, &pool->start_addr, sizeof(tmp)) == 0) {
2712- return ISC_TRUE;
2713+ return true;
2714 } else {
2715- return ISC_FALSE;
2716+ return false;
2717 }
2718 }
2719
2720Index: dhcp-4.4.1/server/ddns.c
2721===================================================================
2722--- dhcp-4.4.1.orig/server/ddns.c
2723+++ dhcp-4.4.1/server/ddns.c
2724@@ -373,7 +373,7 @@ ddns_updates(struct packet *packet, stru
2725
2726 /* If desired do the removals */
2727 if (do_remove != 0) {
2728- (void) ddns_removals(lease, lease6, NULL, ISC_TRUE);
2729+ (void) ddns_removals(lease, lease6, NULL, true);
2730 }
2731 goto out;
2732 }
2733@@ -618,7 +618,7 @@ ddns_updates(struct packet *packet, stru
2734 * We should log a more specific error closer to the actual
2735 * error if we want one. ddns_removal failure not logged here.
2736 */
2737- (void) ddns_removals(lease, lease6, ddns_cb, ISC_TRUE);
2738+ (void) ddns_removals(lease, lease6, ddns_cb, true);
2739 }
2740 else {
2741 ddns_fwd_srv_connector(lease, lease6, scope, ddns_cb,
2742@@ -1907,7 +1907,7 @@ ddns_fwd_srv_rem1(dhcp_ddns_cb_t *ddns_c
2743 * the current entry.
2744 *
2745 * \li active - indication about the status of the lease. It is
2746- * ISC_TRUE if the lease is still active, and FALSE if the lease
2747+ * true if the lease is still active, and FALSE if the lease
2748 * is inactive. This is used to indicate if the lease is inactive or going
2749 * to inactive so we can avoid trying to update the lease with cb pointers
2750 * and text information if it isn't useful.
2751@@ -1923,7 +1923,7 @@ isc_result_t
2752 ddns_removals(struct lease *lease,
2753 struct iasubopt *lease6,
2754 dhcp_ddns_cb_t *add_ddns_cb,
2755- isc_boolean_t active)
2756+ bool active)
2757 {
2758 isc_result_t rcode, execute_add = ISC_R_FAILURE;
2759 struct binding_scope **scope = NULL;
2760@@ -1970,7 +1970,7 @@ ddns_removals(struct lease *lease,
2761 if (((ddns_cb->state == DDNS_STATE_ADD_PTR) ||
2762 (ddns_cb->state == DDNS_STATE_ADD_FW_NXDOMAIN) ||
2763 (ddns_cb->state == DDNS_STATE_ADD_FW_YXDHCID)) ||
2764- ((active == ISC_FALSE) &&
2765+ ((active == false) &&
2766 ((ddns_cb->flags & DDNS_ACTIVE_LEASE) != 0))) {
2767 /* Cancel the current request */
2768 ddns_cancel(lease->ddns_cb, MDL);
2769@@ -1998,7 +1998,7 @@ ddns_removals(struct lease *lease,
2770 if (((ddns_cb->state == DDNS_STATE_ADD_PTR) ||
2771 (ddns_cb->state == DDNS_STATE_ADD_FW_NXDOMAIN) ||
2772 (ddns_cb->state == DDNS_STATE_ADD_FW_YXDHCID)) ||
2773- ((active == ISC_FALSE) &&
2774+ ((active == false) &&
2775 ((ddns_cb->flags & DDNS_ACTIVE_LEASE) != 0))) {
2776 /* Cancel the current request */
2777 ddns_cancel(lease6->ddns_cb, MDL);
2778@@ -2053,7 +2053,7 @@ ddns_removals(struct lease *lease,
2779 * the lease information for v6 when the response
2780 * from the DNS code is processed.
2781 */
2782- if (active == ISC_TRUE) {
2783+ if (active == true) {
2784 ddns_cb->flags |= DDNS_ACTIVE_LEASE;
2785 }
2786
2787Index: dhcp-4.4.1/server/mdb.c
2788===================================================================
2789--- dhcp-4.4.1.orig/server/mdb.c
2790+++ dhcp-4.4.1/server/mdb.c
2791@@ -1504,7 +1504,7 @@ void make_binding_state_transition (stru
2792 lease -> binding_state == FTS_ACTIVE &&
2793 lease -> next_binding_state != FTS_RELEASED))) {
2794 #if defined (NSUPDATE)
2795- (void) ddns_removals(lease, NULL, NULL, ISC_TRUE);
2796+ (void) ddns_removals(lease, NULL, NULL, true);
2797 #endif
2798 if (lease->on_star.on_expiry) {
2799 execute_statements(NULL, NULL, lease,
2800@@ -1568,7 +1568,7 @@ void make_binding_state_transition (stru
2801 * release message. This is not true of expiry, where the
2802 * peer may have extended the lease.
2803 */
2804- (void) ddns_removals(lease, NULL, NULL, ISC_TRUE);
2805+ (void) ddns_removals(lease, NULL, NULL, true);
2806 #endif
2807 if (lease->on_star.on_release) {
2808 execute_statements(NULL, NULL, lease,
2809@@ -1736,7 +1736,7 @@ void release_lease (lease, packet)
2810 /* If there are statements to execute when the lease is
2811 released, execute them. */
2812 #if defined (NSUPDATE)
2813- (void) ddns_removals(lease, NULL, NULL, ISC_FALSE);
2814+ (void) ddns_removals(lease, NULL, NULL, false);
2815 #endif
2816 if (lease->on_star.on_release) {
2817 execute_statements (NULL, packet, lease,
2818@@ -1810,7 +1810,7 @@ void abandon_lease (lease, message)
2819 {
2820 struct lease *lt = NULL;
2821 #if defined (NSUPDATE)
2822- (void) ddns_removals(lease, NULL, NULL, ISC_FALSE);
2823+ (void) ddns_removals(lease, NULL, NULL, false);
2824 #endif
2825
2826 if (!lease_copy(&lt, lease, MDL)) {
2827@@ -1860,7 +1860,7 @@ void dissociate_lease (lease)
2828 {
2829 struct lease *lt = (struct lease *)0;
2830 #if defined (NSUPDATE)
2831- (void) ddns_removals(lease, NULL, NULL, ISC_FALSE);
2832+ (void) ddns_removals(lease, NULL, NULL, false);
2833 #endif
2834
2835 if (!lease_copy (&lt, lease, MDL))
2836@@ -2072,38 +2072,38 @@ int find_lease_by_hw_addr (struct lease
2837 * should never see reset leases for this.
2838 * 4) Abandoned leases are always dead last.
2839 */
2840-static isc_boolean_t
2841+static bool
2842 client_lease_preferred(struct lease *cand, struct lease *lease)
2843 {
2844 if (cand->binding_state == FTS_ACTIVE) {
2845 if (lease->binding_state == FTS_ACTIVE &&
2846 lease->ends >= cand->ends)
2847- return ISC_TRUE;
2848+ return true;
2849 } else if (cand->binding_state == FTS_EXPIRED ||
2850 cand->binding_state == FTS_RELEASED) {
2851 if (lease->binding_state == FTS_ACTIVE)
2852- return ISC_TRUE;
2853+ return true;
2854
2855 if ((lease->binding_state == FTS_EXPIRED ||
2856 lease->binding_state == FTS_RELEASED) &&
2857 lease->cltt >= cand->cltt)
2858- return ISC_TRUE;
2859+ return true;
2860 } else if (cand->binding_state != FTS_ABANDONED) {
2861 if (lease->binding_state == FTS_ACTIVE ||
2862 lease->binding_state == FTS_EXPIRED ||
2863 lease->binding_state == FTS_RELEASED)
2864- return ISC_TRUE;
2865+ return true;
2866
2867 if (lease->binding_state != FTS_ABANDONED &&
2868 lease->cltt >= cand->cltt)
2869- return ISC_TRUE;
2870+ return true;
2871 } else /* (cand->binding_state == FTS_ABANDONED) */ {
2872 if (lease->binding_state != FTS_ABANDONED ||
2873 lease->cltt >= cand->cltt)
2874- return ISC_TRUE;
2875+ return true;
2876 }
2877
2878- return ISC_FALSE;
2879+ return false;
2880 }
2881
2882 /* Add the specified lease to the uid hash. */
diff --git a/meta/recipes-connectivity/dhcp/dhcp/0001-master-Added-includes-of-new-BIND9-compatibility-hea.patch b/meta/recipes-connectivity/dhcp/dhcp/0001-master-Added-includes-of-new-BIND9-compatibility-hea.patch
new file mode 100644
index 0000000000..1bc1422475
--- /dev/null
+++ b/meta/recipes-connectivity/dhcp/dhcp/0001-master-Added-includes-of-new-BIND9-compatibility-hea.patch
@@ -0,0 +1,79 @@
1From 8194daabfd590f17825f0c61e9534bee5c99cc86 Mon Sep 17 00:00:00 2001
2From: Thomas Markwalder <tmark@isc.org>
3Date: Fri, 14 Sep 2018 13:41:41 -0400
4Subject: [master] Added includes of new BIND9 compatibility headers
5
6 Merges in rt48072.
7
8Upstream-Status: Backport
9Signed-off-by: Adrian Bunk <bunk@stusta.de>
10
11diff --git a/includes/omapip/isclib.h b/includes/omapip/isclib.h
12index 75a87ff6..538b927f 100644
13--- a/includes/omapip/isclib.h
14+++ b/includes/omapip/isclib.h
15@@ -48,6 +48,9 @@
16 #include <string.h>
17 #include <netdb.h>
18
19+#include <isc/boolean.h>
20+#include <isc/int.h>
21+
22 #include <isc/buffer.h>
23 #include <isc/lex.h>
24 #include <isc/lib.h>
25diff --git a/includes/omapip/result.h b/includes/omapip/result.h
26index 91243e1b..860298f6 100644
27--- a/includes/omapip/result.h
28+++ b/includes/omapip/result.h
29@@ -26,6 +26,7 @@
30 #ifndef DHCP_RESULT_H
31 #define DHCP_RESULT_H 1
32
33+#include <isc/boolean.h>
34 #include <isc/lang.h>
35 #include <isc/resultclass.h>
36 #include <isc/types.h>
37diff --git a/server/dhcpv6.c b/server/dhcpv6.c
38index a7110f98..cde4f617 100644
39--- a/server/dhcpv6.c
40+++ b/server/dhcpv6.c
41@@ -1034,7 +1034,8 @@ void check_pool6_threshold(struct reply_state *reply,
42 shared_name,
43 inet_ntop(AF_INET6, &lease->addr,
44 tmp_addr, sizeof(tmp_addr)),
45- used, count);
46+ (long long unsigned)(used),
47+ (long long unsigned)(count));
48 }
49 return;
50 }
51@@ -1066,7 +1067,8 @@ void check_pool6_threshold(struct reply_state *reply,
52 "address: %s; high threshold %d%% %llu/%llu.",
53 shared_name,
54 inet_ntop(AF_INET6, &lease->addr, tmp_addr, sizeof(tmp_addr)),
55- poolhigh, used, count);
56+ poolhigh, (long long unsigned)(used),
57+ (long long unsigned)(count));
58
59 /* handle the low threshold now, if we don't
60 * have one we default to 0. */
61@@ -1436,12 +1438,15 @@ pick_v6_address(struct reply_state *reply)
62 log_debug("Unable to pick client address: "
63 "no addresses available - shared network %s: "
64 " 2^64-1 < total, %llu active, %llu abandoned",
65- shared_name, active - abandoned, abandoned);
66+ shared_name, (long long unsigned)(active - abandoned),
67+ (long long unsigned)(abandoned));
68 } else {
69 log_debug("Unable to pick client address: "
70 "no addresses available - shared network %s: "
71 "%llu total, %llu active, %llu abandoned",
72- shared_name, total, active - abandoned, abandoned);
73+ shared_name, (long long unsigned)(total),
74+ (long long unsigned)(active - abandoned),
75+ (long long unsigned)(abandoned));
76 }
77
78 return ISC_R_NORESOURCES;
79
diff --git a/meta/recipes-connectivity/dhcp/dhcp_4.4.1.bb b/meta/recipes-connectivity/dhcp/dhcp_4.4.1.bb
index ca0daa1810..e8cc731a26 100644
--- a/meta/recipes-connectivity/dhcp/dhcp_4.4.1.bb
+++ b/meta/recipes-connectivity/dhcp/dhcp_4.4.1.bb
@@ -10,7 +10,7 @@ SRC_URI += "file://0001-define-macro-_PATH_DHCPD_CONF-and-_PATH_DHCLIENT_CON.pat
10 file://0009-remove-dhclient-script-bash-dependency.patch \ 10 file://0009-remove-dhclient-script-bash-dependency.patch \
11 file://0012-dhcp-correct-the-intention-for-xml2-lib-search.patch \ 11 file://0012-dhcp-correct-the-intention-for-xml2-lib-search.patch \
12 file://0013-fixup_use_libbind.patch \ 12 file://0013-fixup_use_libbind.patch \
13 file://0001-dhcpd-fix-Replace-custom-isc_boolean_t-with-C-standa.patch \ 13 file://0001-master-Added-includes-of-new-BIND9-compatibility-hea.patch \
14" 14"
15 15
16SRC_URI[md5sum] = "18c7f4dcbb0a63df25098216d47b1ede" 16SRC_URI[md5sum] = "18c7f4dcbb0a63df25098216d47b1ede"