summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArmin Kuster <akuster808@gmail.com>2018-10-24 01:19:46 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2018-11-09 17:47:11 +0000
commit5775e9ef2fce1d0b9860602f1065bb1e09bc1b61 (patch)
treefd9a2b028064ac607d5b763ef2f5229a6e4729d5
parentec251cdc481d2e088ed817e651bacdf213fb9ded (diff)
downloadopenembedded-core-contrib-5775e9ef2fce1d0b9860602f1065bb1e09bc1b61.tar.gz
dhcp: fix issue with new bind changes
Signed-off-by: Armin Kuster <akuster808@gmail.com>
-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_4.4.1.bb1
2 files changed, 2883 insertions, 0 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
new file mode 100644
index 00000000000..d2e57714cdc
--- /dev/null
+++ b/meta/recipes-connectivity/dhcp/dhcp/0001-dhcpd-fix-Replace-custom-isc_boolean_t-with-C-standa.patch
@@ -0,0 +1,2882 @@
+From ffb1d1325bd6503df9a324befac5f5039ac77432 Mon Sep 17 00:00:00 2001
+From: Armin Kuster <akuster@mvista.com>
+Date: Tue, 23 Oct 2018 10:36:56 +0000
+Subject: [PATCH] dhcpd: fix Replace custom isc_boolean_t with C standard bool
+ type
+
+
+Upstream-Status: Pending
+
+Fixes issues introduced by bind when they changed their headers.
+
+Signed-off-by: Armin Kuster <akuster@mvista.com>
+---
+ includes/dhcpd.h | 34 +++++++++++++++++-----------------
+ includes/heap.h | 2 +-
+ includes/omapip/omapip.h | 2 +-
+ includes/omapip/omapip_p.h | 6 +++---
+ includes/tree.h | 2 +-
+ 5 files changed, 23 insertions(+), 23 deletions(-)
+
+Index: dhcp-4.4.1/includes/dhcpd.h
+===================================================================
+--- dhcp-4.4.1.orig/includes/dhcpd.h
++++ dhcp-4.4.1/includes/dhcpd.h
+@@ -461,20 +461,20 @@ struct packet {
+ * options we got in a previous exchange were still there, we need
+ * to signal this in a reliable way.
+ */
+- isc_boolean_t agent_options_stashed;
++ bool agent_options_stashed;
+
+ /*
+ * ISC_TRUE if packet received unicast (as opposed to multicast).
+ * Only used in DHCPv6.
+ */
+- isc_boolean_t unicast;
++ bool unicast;
+
+ /* Propagates server value SV_ECHO_CLIENT_ID so it is available
+ * in cons_options() */
+ int sv_echo_client_id;
+
+ /* Relay port check */
+- isc_boolean_t relay_source_port;
++ bool relay_source_port;
+ };
+
+ /*
+@@ -1174,7 +1174,7 @@ struct dhc6_lease {
+ struct dhc6_lease *next;
+ struct data_string server_id;
+
+- isc_boolean_t released;
++ bool released;
+ int score;
+ u_int8_t pref;
+
+@@ -1695,8 +1695,8 @@ struct ipv6_pool {
+ int bits; /* number of bits, CIDR style */
+ int units; /* allocation unit in bits */
+ iasubopt_hash_t *leases; /* non-free leases */
+- isc_uint64_t num_active; /* count of active leases */
+- isc_uint64_t num_abandoned; /* count of abandoned leases */
++ uint64_t num_active; /* count of active leases */
++ uint64_t num_abandoned; /* count of abandoned leases */
+ isc_heap_t *active_timeouts; /* timeouts for active leases */
+ int num_inactive; /* count of inactive leases */
+ isc_heap_t *inactive_timeouts; /* timeouts for expired or
+@@ -1732,11 +1732,11 @@ struct ipv6_pond {
+ struct ipv6_pool **ipv6_pools; /* NULL-terminated array */
+ int last_ipv6_pool; /* offset of last IPv6 pool
+ used to issue a lease */
+- isc_uint64_t num_total; /* Total number of elements in the pond */
+- isc_uint64_t num_active; /* Number of elements in the pond in use */
+- isc_uint64_t num_abandoned; /* count of abandoned leases */
++ uint64_t num_total; /* Total number of elements in the pond */
++ uint64_t num_active; /* Number of elements in the pond in use */
++ uint64_t num_abandoned; /* count of abandoned leases */
+ int logged; /* already logged a message */
+- isc_uint64_t low_threshold; /* low threshold to restart logging */
++ uint64_t low_threshold; /* low threshold to restart logging */
+ int jumbo_range;
+ #ifdef EUI_64
+ int use_eui_64; /* use EUI-64 address assignment when true */
+@@ -1745,9 +1745,9 @@ struct ipv6_pond {
+
+ /*
+ * Max addresses in a pond that can be supported by log threshold
+- * Currently based on max value supported by isc_uint64_t.
++ * Currently based on max value supported by uint64_t.
+ */
+-#define POND_TRACK_MAX ISC_UINT64_MAX
++#define POND_TRACK_MAX UINT64_MAX
+
+ /* Flags for dhcp_ddns_cb_t */
+ #define DDNS_UPDATE_ADDR 0x0001
+@@ -1868,7 +1868,7 @@ lookup_fqdn6_option(struct universe *uni
+ unsigned code);
+ void
+ save_fqdn6_option(struct universe *universe, struct option_state *options,
+- struct option_cache *oc, isc_boolean_t appendp);
++ struct option_cache *oc, bool appendp);
+ void
+ delete_fqdn6_option(struct universe *universe, struct option_state *options,
+ int code);
+@@ -1953,7 +1953,7 @@ void save_option(struct universe *, stru
+ void also_save_option(struct universe *, struct option_state *,
+ struct option_cache *);
+ void save_hashed_option(struct universe *, struct option_state *,
+- struct option_cache *, isc_boolean_t appendp);
++ struct option_cache *, bool appendp);
+ void delete_option (struct universe *, struct option_state *, int);
+ void delete_hashed_option (struct universe *,
+ struct option_state *, int);
+@@ -2041,7 +2041,7 @@ int linked_option_state_dereference (str
+ struct option_state *,
+ const char *, int);
+ void save_linked_option(struct universe *, struct option_state *,
+- struct option_cache *, isc_boolean_t appendp);
++ struct option_cache *, bool appendp);
+ void linked_option_space_foreach (struct packet *, struct lease *,
+ struct client_state *,
+ struct option_state *,
+@@ -2069,7 +2069,7 @@ void do_packet (struct interface_info *,
+ struct dhcp_packet *, unsigned,
+ unsigned int, struct iaddr, struct hardware *);
+ void do_packet6(struct interface_info *, const char *,
+- int, int, const struct iaddr *, isc_boolean_t);
++ int, int, const struct iaddr *, bool);
+ int packet6_len_okay(const char *, int);
+
+ int validate_packet(struct packet *);
+@@ -2224,7 +2224,7 @@ uint32_t parse_byte_order_uint32(const v
+ int ddns_updates(struct packet *, struct lease *, struct lease *,
+ struct iasubopt *, struct iasubopt *, struct option_state *);
+ isc_result_t ddns_removals(struct lease *, struct iasubopt *,
+- struct dhcp_ddns_cb *, isc_boolean_t);
++ struct dhcp_ddns_cb *, bool);
+ u_int16_t get_conflict_mask(struct option_state *input_options);
+ #if defined (TRACING)
+ void trace_ddns_init(void);
+@@ -2450,7 +2450,7 @@ void dhcpleasequery (struct packet *, in
+ void dhcpv6_leasequery (struct data_string *, struct packet *);
+
+ /* dhcpv6.c */
+-isc_boolean_t server_duid_isset(void);
++bool server_duid_isset(void);
+ void copy_server_duid(struct data_string *ds, const char *file, int line);
+ void set_server_duid(struct data_string *new_duid);
+ isc_result_t set_server_duid_from_option(void);
+@@ -2852,7 +2852,7 @@ extern void (*bootp_packet_handler) (str
+ struct iaddr, struct hardware *);
+ extern void (*dhcpv6_packet_handler)(struct interface_info *,
+ const char *, int,
+- int, const struct iaddr *, isc_boolean_t);
++ int, const struct iaddr *, bool);
+ extern struct timeout *timeouts;
+ extern omapi_object_type_t *dhcp_type_interface;
+ #if defined (TRACING)
+@@ -2943,7 +2943,7 @@ int addr_or(struct iaddr *result,
+ const struct iaddr *a1, const struct iaddr *a2);
+ int addr_and(struct iaddr *result,
+ const struct iaddr *a1, const struct iaddr *a2);
+-isc_boolean_t is_cidr_mask_valid(const struct iaddr *addr, int bits);
++bool is_cidr_mask_valid(const struct iaddr *addr, int bits);
+ isc_result_t range2cidr(struct iaddrcidrnetlist **result,
+ const struct iaddr *lo, const struct iaddr *hi);
+ isc_result_t free_iaddrcidrnetlist(struct iaddrcidrnetlist **result);
+@@ -3787,7 +3787,7 @@ isc_result_t ia_add_iasubopt(struct ia_x
+ const char *file, int line);
+ void ia_remove_iasubopt(struct ia_xx *ia, struct iasubopt *iasubopt,
+ const char *file, int line);
+-isc_boolean_t ia_equal(const struct ia_xx *a, const struct ia_xx *b);
++bool ia_equal(const struct ia_xx *a, const struct ia_xx *b);
+
+ isc_result_t ipv6_pool_allocate(struct ipv6_pool **pool, u_int16_t type,
+ const struct in6_addr *start_addr,
+@@ -3820,9 +3820,9 @@ isc_result_t expire_lease6(struct iasubo
+ struct ipv6_pool *pool, time_t now);
+ isc_result_t release_lease6(struct ipv6_pool *pool, struct iasubopt *lease);
+ isc_result_t decline_lease6(struct ipv6_pool *pool, struct iasubopt *lease);
+-isc_boolean_t lease6_exists(const struct ipv6_pool *pool,
++bool lease6_exists(const struct ipv6_pool *pool,
+ const struct in6_addr *addr);
+-isc_boolean_t lease6_usable(struct iasubopt *lease);
++bool lease6_usable(struct iasubopt *lease);
+ isc_result_t cleanup_lease6(ia_hash_t *ia_table,
+ struct ipv6_pool *pool,
+ struct iasubopt *lease,
+@@ -3834,13 +3834,13 @@ isc_result_t create_prefix6(struct ipv6_
+ unsigned int *attempts,
+ const struct data_string *uid,
+ time_t soft_lifetime_end_time);
+-isc_boolean_t prefix6_exists(const struct ipv6_pool *pool,
++bool prefix6_exists(const struct ipv6_pool *pool,
+ const struct in6_addr *pref, u_int8_t plen);
+
+ isc_result_t add_ipv6_pool(struct ipv6_pool *pool);
+ isc_result_t find_ipv6_pool(struct ipv6_pool **pool, u_int16_t type,
+ const struct in6_addr *addr);
+-isc_boolean_t ipv6_in_pool(const struct in6_addr *addr,
++bool ipv6_in_pool(const struct in6_addr *addr,
+ const struct ipv6_pool *pool);
+ isc_result_t ipv6_pond_allocate(struct ipv6_pond **pond,
+ const char *file, int line);
+Index: dhcp-4.4.1/includes/heap.h
+===================================================================
+--- dhcp-4.4.1.orig/includes/heap.h
++++ dhcp-4.4.1/includes/heap.h
+@@ -26,7 +26,7 @@
+ * The comparision function returns ISC_TRUE if the first argument has
+ * higher priority than the second argument, and ISC_FALSE otherwise.
+ */
+-typedef isc_boolean_t (*isc_heapcompare_t)(void *, void *);
++typedef bool (*isc_heapcompare_t)(void *, void *);
+
+ /*%
+ * The index function allows the client of the heap to receive a callback
+Index: dhcp-4.4.1/includes/omapip/omapip.h
+===================================================================
+--- dhcp-4.4.1.orig/includes/omapip/omapip.h
++++ dhcp-4.4.1/includes/omapip/omapip.h
+@@ -264,7 +264,7 @@ isc_result_t omapi_protocol_connect (oma
+ isc_result_t omapi_connect_list (omapi_object_t *, omapi_addr_list_t *,
+ omapi_addr_t *);
+ isc_result_t omapi_protocol_listen (omapi_object_t *, unsigned, int);
+-isc_boolean_t omapi_protocol_authenticated (omapi_object_t *);
++bool omapi_protocol_authenticated (omapi_object_t *);
+ isc_result_t omapi_protocol_configure_security (omapi_object_t *,
+ isc_result_t (*)
+ (omapi_object_t *,
+Index: dhcp-4.4.1/includes/omapip/omapip_p.h
+===================================================================
+--- dhcp-4.4.1.orig/includes/omapip/omapip_p.h
++++ dhcp-4.4.1/includes/omapip/omapip_p.h
+@@ -149,7 +149,7 @@ typedef struct __omapi_protocol_object {
+ omapi_remote_auth_t *remote_auth_list; /* Authenticators active on
+ this connection. */
+
+- isc_boolean_t insecure; /* Set to allow unauthenticated
++ bool insecure; /* Set to allow unauthenticated
+ messages. */
+
+ isc_result_t (*verify_auth) (omapi_object_t *, omapi_auth_key_t *);
+@@ -158,7 +158,7 @@ typedef struct __omapi_protocol_object {
+ typedef struct {
+ OMAPI_OBJECT_PREAMBLE;
+
+- isc_boolean_t insecure; /* Set to allow unauthenticated
++ bool insecure; /* Set to allow unauthenticated
+ messages. */
+
+ isc_result_t (*verify_auth) (omapi_object_t *, omapi_auth_key_t *);
+@@ -208,7 +208,7 @@ typedef struct __omapi_io_object {
+ isc_result_t (*writer) (omapi_object_t *);
+ isc_result_t (*reaper) (omapi_object_t *);
+ isc_socket_t *fd;
+- isc_boolean_t closed; /* ISC_TRUE = closed, do not use */
++ bool closed; /* ISC_TRUE = closed, do not use */
+ } omapi_io_object_t;
+
+ typedef struct __omapi_generic_object {
+Index: dhcp-4.4.1/includes/tree.h
+===================================================================
+--- dhcp-4.4.1.orig/includes/tree.h
++++ dhcp-4.4.1/includes/tree.h
+@@ -304,7 +304,7 @@ struct universe {
+ struct option_state *,
+ unsigned);
+ void (*save_func) (struct universe *, struct option_state *,
+- struct option_cache *, isc_boolean_t);
++ struct option_cache *, bool );
+ void (*foreach) (struct packet *,
+ struct lease *, struct client_state *,
+ struct option_state *, struct option_state *,
+Index: dhcp-4.4.1/common/conflex.c
+===================================================================
+--- dhcp-4.4.1.orig/common/conflex.c
++++ dhcp-4.4.1/common/conflex.c
+@@ -322,7 +322,7 @@ get_raw_token(struct parse *cfile) {
+
+ static enum dhcp_token
+ get_next_token(const char **rval, unsigned *rlen,
+- struct parse *cfile, isc_boolean_t raw) {
++ struct parse *cfile, bool raw) {
+ int rv;
+
+ if (cfile -> token) {
+@@ -367,7 +367,7 @@ get_next_token(const char **rval, unsign
+
+ enum dhcp_token
+ next_token(const char **rval, unsigned *rlen, struct parse *cfile) {
+- return get_next_token(rval, rlen, cfile, ISC_FALSE);
++ return get_next_token(rval, rlen, cfile, false);
+ }
+
+
+@@ -378,7 +378,7 @@ next_token(const char **rval, unsigned *
+
+ enum dhcp_token
+ next_raw_token(const char **rval, unsigned *rlen, struct parse *cfile) {
+- return get_next_token(rval, rlen, cfile, ISC_TRUE);
++ return get_next_token(rval, rlen, cfile, true);
+ }
+
+
+@@ -393,7 +393,7 @@ next_raw_token(const char **rval, unsign
+
+ enum dhcp_token
+ do_peek_token(const char **rval, unsigned int *rlen,
+- struct parse *cfile, isc_boolean_t raw) {
++ struct parse *cfile, bool raw) {
+ int x;
+
+ if (!cfile->token || (!raw && (cfile->token == WHITESPACE))) {
+@@ -441,7 +441,7 @@ do_peek_token(const char **rval, unsigne
+
+ enum dhcp_token
+ peek_token(const char **rval, unsigned *rlen, struct parse *cfile) {
+- return do_peek_token(rval, rlen, cfile, ISC_FALSE);
++ return do_peek_token(rval, rlen, cfile, false);
+ }
+
+
+@@ -452,7 +452,7 @@ peek_token(const char **rval, unsigned *
+
+ enum dhcp_token
+ peek_raw_token(const char **rval, unsigned *rlen, struct parse *cfile) {
+- return do_peek_token(rval, rlen, cfile, ISC_TRUE);
++ return do_peek_token(rval, rlen, cfile, true);
+ }
+
+ static void skip_to_eol (cfile)
+Index: dhcp-4.4.1/common/discover.c
+===================================================================
+--- dhcp-4.4.1.orig/common/discover.c
++++ dhcp-4.4.1/common/discover.c
+@@ -73,7 +73,7 @@ void (*bootp_packet_handler) (struct int
+ void (*dhcpv6_packet_handler)(struct interface_info *,
+ const char *, int,
+ int, const struct iaddr *,
+- isc_boolean_t);
++ bool);
+ #endif /* DHCPv6 */
+
+
+@@ -236,7 +236,7 @@ struct iface_conf_list {
+ struct iface_info {
+ char name[IF_NAMESIZE+1]; /* name of the interface, e.g. "bge0" */
+ struct sockaddr_storage addr; /* address information */
+- isc_uint64_t flags; /* interface flags, e.g. IFF_LOOPBACK */
++ uint64_t flags; /* interface flags, e.g. IFF_LOOPBACK */
+ };
+
+ /*
+@@ -312,14 +312,14 @@ int
+ next_iface(struct iface_info *info, int *err, struct iface_conf_list *ifaces) {
+ struct LIFREQ *p;
+ struct LIFREQ tmp;
+- isc_boolean_t foundif;
++ bool foundif;
+ #if defined(sun) || defined(__linux)
+ /* Pointer used to remove interface aliases. */
+ char *s;
+ #endif
+
+ do {
+- foundif = ISC_FALSE;
++ foundif = false;
+
+ if (ifaces->next >= ifaces->num) {
+ *err = 0;
+@@ -353,8 +353,8 @@ next_iface(struct iface_info *info, int
+ }
+ #endif /* defined(sun) || defined(__linux) */
+
+- foundif = ISC_TRUE;
+- } while ((foundif == ISC_FALSE) ||
++ foundif = true;
++ } while ((foundif == false) ||
+ (strncmp(info->name, "dummy", 5) == 0));
+
+ memset(&tmp, 0, sizeof(tmp));
+@@ -410,7 +410,7 @@ struct iface_conf_list {
+ struct iface_info {
+ char name[IFNAMSIZ]; /* name of the interface, e.g. "bge0" */
+ struct sockaddr_storage addr; /* address information */
+- isc_uint64_t flags; /* interface flags, e.g. IFF_LOOPBACK */
++ uint64_t flags; /* interface flags, e.g. IFF_LOOPBACK */
+ };
+
+ /*
+@@ -1190,9 +1190,9 @@ got_one_v6(omapi_object_t *h) {
+ * If a packet is not multicast, we assume it is unicast.
+ */
+ if (IN6_IS_ADDR_MULTICAST(&to)) {
+- is_unicast = ISC_FALSE;
++ is_unicast = false;
+ } else {
+- is_unicast = ISC_TRUE;
++ is_unicast = true;
+ }
+
+ ifrom.len = 16;
+Index: dhcp-4.4.1/omapip/iscprint.c
+===================================================================
+--- dhcp-4.4.1.orig/omapip/iscprint.c
++++ dhcp-4.4.1/omapip/iscprint.c
+@@ -59,8 +59,8 @@ isc_print_vsnprintf(char *str, size_t si
+ int plus;
+ int space;
+ int neg;
+- isc_int64_t tmpi;
+- isc_uint64_t tmpui;
++ int64_t tmpi;
++ uint64_t tmpui;
+ unsigned long width;
+ unsigned long precision;
+ unsigned int length;
+@@ -234,7 +234,7 @@ isc_print_vsnprintf(char *str, size_t si
+ goto printint;
+ case 'o':
+ if (q)
+- tmpui = va_arg(ap, isc_uint64_t);
++ tmpui = va_arg(ap, uint64_t);
+ else if (l)
+ tmpui = va_arg(ap, long int);
+ else
+@@ -244,7 +244,7 @@ isc_print_vsnprintf(char *str, size_t si
+ goto printint;
+ case 'u':
+ if (q)
+- tmpui = va_arg(ap, isc_uint64_t);
++ tmpui = va_arg(ap, uint64_t);
+ else if (l)
+ tmpui = va_arg(ap, unsigned long int);
+ else
+@@ -253,7 +253,7 @@ isc_print_vsnprintf(char *str, size_t si
+ goto printint;
+ case 'x':
+ if (q)
+- tmpui = va_arg(ap, isc_uint64_t);
++ tmpui = va_arg(ap, uint64_t);
+ else if (l)
+ tmpui = va_arg(ap, unsigned long int);
+ else
+@@ -267,7 +267,7 @@ isc_print_vsnprintf(char *str, size_t si
+ goto printint;
+ case 'X':
+ if (q)
+- tmpui = va_arg(ap, isc_uint64_t);
++ tmpui = va_arg(ap, uint64_t);
+ else if (l)
+ tmpui = va_arg(ap, unsigned long int);
+ else
+Index: dhcp-4.4.1/server/confpars.c
+===================================================================
+--- dhcp-4.4.1.orig/server/confpars.c
++++ dhcp-4.4.1/server/confpars.c
+@@ -4005,15 +4005,15 @@ add_ipv6_pool_to_subnet(struct subnet *s
+
+ /* Only bother if we aren't already flagged as jumbo */
+ if (pond->jumbo_range == 0) {
+- if ((units - bits) > (sizeof(isc_uint64_t) * 8)) {
++ if ((units - bits) > (sizeof(uint64_t) * 8)) {
+ pond->jumbo_range = 1;
+ pond->num_total = POND_TRACK_MAX;
+ }
+ else {
+- isc_uint64_t space_left
++ uint64_t space_left
+ = POND_TRACK_MAX - pond->num_total;
+- isc_uint64_t addon
+- = (isc_uint64_t)(1) << (units - bits);
++ uint64_t addon
++ = (uint64_t)(1) << (units - bits);
+
+ if (addon > space_left) {
+ pond->jumbo_range = 1;
+@@ -4739,7 +4739,7 @@ parse_ia_na_declaration(struct parse *cf
+ struct iasubopt *iaaddr;
+ struct ipv6_pool *pool;
+ char addr_buf[sizeof("ffff:ffff:ffff:ffff:ffff:ffff:255.255.255.255")];
+- isc_boolean_t newbinding;
++ bool newbinding;
+ struct binding_scope *scope = NULL;
+ struct binding *bnd;
+ struct binding_value *nv = NULL;
+@@ -4959,9 +4959,9 @@ parse_ia_na_declaration(struct parse *cf
+ }
+ strcpy(bnd->name, val);
+
+- newbinding = ISC_TRUE;
++ newbinding = true;
+ } else {
+- newbinding = ISC_FALSE;
++ newbinding = false;
+ }
+
+ if (!binding_value_allocate(&nv, MDL)) {
+@@ -5186,7 +5186,7 @@ parse_ia_ta_declaration(struct parse *cf
+ struct iasubopt *iaaddr;
+ struct ipv6_pool *pool;
+ char addr_buf[sizeof("ffff:ffff:ffff:ffff:ffff:ffff:255.255.255.255")];
+- isc_boolean_t newbinding;
++ bool newbinding;
+ struct binding_scope *scope = NULL;
+ struct binding *bnd;
+ struct binding_value *nv = NULL;
+@@ -5406,9 +5406,9 @@ parse_ia_ta_declaration(struct parse *cf
+ }
+ strcpy(bnd->name, val);
+
+- newbinding = ISC_TRUE;
++ newbinding = true;
+ } else {
+- newbinding = ISC_FALSE;
++ newbinding = false;
+ }
+
+ if (!binding_value_allocate(&nv, MDL)) {
+@@ -5623,7 +5623,7 @@ parse_ia_pd_declaration(struct parse *cf
+ struct iasubopt *iapref;
+ struct ipv6_pool *pool;
+ char addr_buf[sizeof("ffff:ffff:ffff:ffff:ffff:ffff:255.255.255.255")];
+- isc_boolean_t newbinding;
++ bool newbinding;
+ struct binding_scope *scope = NULL;
+ struct binding *bnd;
+ struct binding_value *nv = NULL;
+@@ -5843,9 +5843,9 @@ parse_ia_pd_declaration(struct parse *cf
+ }
+ strcpy(bnd->name, val);
+
+- newbinding = ISC_TRUE;
++ newbinding = true;
+ } else {
+- newbinding = ISC_FALSE;
++ newbinding = false;
+ }
+
+ if (!binding_value_allocate(&nv, MDL)) {
+Index: dhcp-4.4.1/server/dhcpv6.c
+===================================================================
+--- dhcp-4.4.1.orig/server/dhcpv6.c
++++ dhcp-4.4.1/server/dhcpv6.c
+@@ -71,8 +71,8 @@ struct reply_state {
+ unsigned ia_count;
+ unsigned pd_count;
+ unsigned client_resources;
+- isc_boolean_t resources_included;
+- isc_boolean_t static_lease;
++ bool resources_included;
++ bool static_lease;
+ unsigned static_prefixes;
+ struct ia_xx *ia;
+ struct ia_xx *old_ia;
+@@ -123,7 +123,7 @@ static isc_result_t shared_network_from_
+ struct packet *packet);
+ static void seek_shared_host(struct host_decl **hp,
+ struct shared_network *shared);
+-static isc_boolean_t fixed_matches_shared(struct host_decl *host,
++static bool fixed_matches_shared(struct host_decl *host,
+ struct shared_network *shared);
+ static isc_result_t reply_process_ia_na(struct reply_state *reply,
+ struct option_cache *ia);
+@@ -131,9 +131,9 @@ static isc_result_t reply_process_ia_ta(
+ struct option_cache *ia);
+ static isc_result_t reply_process_addr(struct reply_state *reply,
+ struct option_cache *addr);
+-static isc_boolean_t address_is_owned(struct reply_state *reply,
++static bool address_is_owned(struct reply_state *reply,
+ struct iaddr *addr);
+-static isc_boolean_t temporary_is_available(struct reply_state *reply,
++static bool temporary_is_available(struct reply_state *reply,
+ struct iaddr *addr);
+ static isc_result_t find_client_temporaries(struct reply_state *reply);
+ static isc_result_t reply_process_try_addr(struct reply_state *reply,
+@@ -151,7 +151,7 @@ static isc_result_t reply_process_ia_pd(
+ static struct group *find_group_by_prefix(struct reply_state *reply);
+ static isc_result_t reply_process_prefix(struct reply_state *reply,
+ struct option_cache *pref);
+-static isc_boolean_t prefix_is_owned(struct reply_state *reply,
++static bool prefix_is_owned(struct reply_state *reply,
+ struct iaddrcidrnet *pref);
+ static isc_result_t find_client_prefix(struct reply_state *reply);
+ static isc_result_t reply_process_try_prefix(struct reply_state *reply,
+@@ -174,7 +174,7 @@ static void unicast_reject(struct data_s
+ const struct data_string *client_id,
+ const struct data_string *server_id);
+
+-static isc_boolean_t is_unicast_option_defined(struct packet *packet);
++static bool is_unicast_option_defined(struct packet *packet);
+ static isc_result_t shared_network_from_requested_addr (struct shared_network
+ **shared,
+ struct packet* packet);
+@@ -363,7 +363,7 @@ static struct data_string server_duid;
+ /*
+ * Check if the server_duid has been set.
+ */
+-isc_boolean_t
++bool
+ server_duid_isset(void) {
+ return (server_duid.data != NULL);
+ }
+@@ -992,7 +992,7 @@ void check_pool6_threshold(struct reply_
+ struct iasubopt *lease)
+ {
+ struct ipv6_pond *pond;
+- isc_uint64_t used, count, high_threshold;
++ uint64_t used, count, high_threshold;
+ int poolhigh = 0, poollow = 0;
+ char *shared_name = "no name";
+ char tmp_addr[INET6_ADDRSTRLEN];
+@@ -1310,9 +1310,9 @@ pick_v6_address(struct reply_state *repl
+ unsigned int attempts;
+ char tmp_buf[INET6_ADDRSTRLEN];
+ struct iasubopt **addr = &reply->lease;
+- isc_uint64_t total = 0;
+- isc_uint64_t active = 0;
+- isc_uint64_t abandoned = 0;
++ uint64_t total = 0;
++ uint64_t active = 0;
++ uint64_t abandoned = 0;
+ int jumbo_range = 0;
+ char *shared_name = (reply->shared->name ?
+ reply->shared->name : "(no name)");
+@@ -1825,7 +1825,7 @@ lease_to_client(struct data_string *repl
+
+ /* Start counting resources (addresses) offered. */
+ reply.client_resources = 0;
+- reply.resources_included = ISC_FALSE;
++ reply.resources_included = false;
+
+ status = reply_process_ia_na(&reply, oc);
+
+@@ -1843,7 +1843,7 @@ lease_to_client(struct data_string *repl
+
+ /* Start counting resources (addresses) offered. */
+ reply.client_resources = 0;
+- reply.resources_included = ISC_FALSE;
++ reply.resources_included = false;
+
+ status = reply_process_ia_ta(&reply, oc);
+
+@@ -1864,7 +1864,7 @@ lease_to_client(struct data_string *repl
+
+ /* Start counting resources (prefixes) offered. */
+ reply.client_resources = 0;
+- reply.resources_included = ISC_FALSE;
++ reply.resources_included = false;
+
+ status = reply_process_ia_pd(&reply, oc);
+
+@@ -2077,9 +2077,9 @@ reply_process_ia_na(struct reply_state *
+ tmp_addr, MDL) == 0)
+ log_fatal("Impossible condition at %s:%d.", MDL);
+
+- reply->static_lease = ISC_TRUE;
++ reply->static_lease = true;
+ } else
+- reply->static_lease = ISC_FALSE;
++ reply->static_lease = false;
+
+ /*
+ * Save the cursor position at the start of the IA, so we can
+@@ -2778,7 +2778,7 @@ reply_process_addr(struct reply_state *r
+ * (fault out all else). Otherwise it's a dynamic address, so lookup
+ * that address and make sure it belongs to this DUID:IAID pair.
+ */
+-static isc_boolean_t
++static bool
+ address_is_owned(struct reply_state *reply, struct iaddr *addr) {
+ int i;
+ struct ipv6_pond *pond;
+@@ -2791,13 +2791,13 @@ address_is_owned(struct reply_state *rep
+ log_fatal("Impossible condition at %s:%d.", MDL);
+
+ if (memcmp(addr->iabuf, reply->fixed.data, 16) == 0)
+- return (ISC_TRUE);
++ return (true);
+
+- return (ISC_FALSE);
++ return (false);
+ }
+
+ if ((reply->old_ia == NULL) || (reply->old_ia->num_iasubopt == 0))
+- return (ISC_FALSE);
++ return (false);
+
+ for (i = 0 ; i < reply->old_ia->num_iasubopt ; i++) {
+ struct iasubopt *tmp;
+@@ -2805,8 +2805,8 @@ address_is_owned(struct reply_state *rep
+ tmp = reply->old_ia->iasubopt[i];
+
+ if (memcmp(addr->iabuf, &tmp->addr, 16) == 0) {
+- if (lease6_usable(tmp) == ISC_FALSE) {
+- return (ISC_FALSE);
++ if (lease6_usable(tmp) == false) {
++ return (false);
+ }
+
+ pond = tmp->ipv6_pool->ipv6_pond;
+@@ -2814,15 +2814,15 @@ address_is_owned(struct reply_state *rep
+ (permitted(reply->packet, pond->prohibit_list))) ||
+ ((pond->permit_list != NULL) &&
+ (!permitted(reply->packet, pond->permit_list))))
+- return (ISC_FALSE);
++ return (false);
+
+ iasubopt_reference(&reply->lease, tmp, MDL);
+
+- return (ISC_TRUE);
++ return (true);
+ }
+ }
+
+- return (ISC_FALSE);
++ return (false);
+ }
+
+ /* Process a client-supplied IA_TA. This may append options to the tail of
+@@ -2890,7 +2890,7 @@ reply_process_ia_ta(struct reply_state *
+ /*
+ * Temporary leases are dynamic by definition.
+ */
+- reply->static_lease = ISC_FALSE;
++ reply->static_lease = false;
+
+ /*
+ * Save the cursor position at the start of the IA, so we can
+@@ -2972,7 +2972,7 @@ reply_process_ia_ta(struct reply_state *
+ }
+ status = ISC_R_CANCELED;
+ reply->client_resources = 0;
+- reply->resources_included = ISC_FALSE;
++ reply->resources_included = false;
+ if (reply->lease != NULL)
+ iasubopt_dereference(&reply->lease, MDL);
+ }
+@@ -3364,7 +3364,7 @@ void shorten_lifetimes(struct reply_stat
+ /*
+ * Verify the temporary address is available.
+ */
+-static isc_boolean_t
++static bool
+ temporary_is_available(struct reply_state *reply, struct iaddr *addr) {
+ struct in6_addr tmp_addr;
+ struct subnet *subnet;
+@@ -3379,7 +3379,7 @@ temporary_is_available(struct reply_stat
+ * So this is not a request for this address.
+ */
+ if (IN6_IS_ADDR_UNSPECIFIED(&tmp_addr))
+- return ISC_FALSE;
++ return false;
+
+ /*
+ * Verify that this address is on the client's network.
+@@ -3393,13 +3393,13 @@ temporary_is_available(struct reply_stat
+
+ /* Address not found on shared network. */
+ if (subnet == NULL)
+- return ISC_FALSE;
++ return false;
+
+ /*
+ * Check if this address is owned (must be before next step).
+ */
+ if (address_is_owned(reply, addr))
+- return ISC_TRUE;
++ return true;
+
+ /*
+ * Verify that this address is in a temporary pool and try to get it.
+@@ -3424,18 +3424,18 @@ temporary_is_available(struct reply_stat
+ }
+
+ if (pool == NULL)
+- return ISC_FALSE;
++ return false;
+ if (lease6_exists(pool, &tmp_addr))
+- return ISC_FALSE;
++ return false;
+ if (iasubopt_allocate(&reply->lease, MDL) != ISC_R_SUCCESS)
+- return ISC_FALSE;
++ return false;
+ reply->lease->addr = tmp_addr;
+ reply->lease->plen = 0;
+ /* Default is soft binding for 2 minutes. */
+ if (add_lease6(pool, reply->lease, cur_time + 120) != ISC_R_SUCCESS)
+- return ISC_FALSE;
++ return false;
+
+- return ISC_TRUE;
++ return true;
+ }
+
+ /*
+@@ -3652,7 +3652,7 @@ find_client_address(struct reply_state *
+ */
+
+ if ((candidate_shared != reply->shared) ||
+- (lease6_usable(lease) != ISC_TRUE))
++ (lease6_usable(lease) != true))
+ continue;
+
+ if (((pond->prohibit_list != NULL) &&
+@@ -3971,7 +3971,7 @@ reply_process_send_addr(struct reply_sta
+ goto cleanup;
+ }
+
+- reply->resources_included = ISC_TRUE;
++ reply->resources_included = true;
+
+ cleanup:
+ if (data.data != NULL)
+@@ -4722,7 +4722,7 @@ reply_process_prefix(struct reply_state
+ * (fault out all else). Otherwise it's a dynamic prefix, so lookup
+ * that prefix and make sure it belongs to this DUID:IAID pair.
+ */
+-static isc_boolean_t
++static bool
+ prefix_is_owned(struct reply_state *reply, struct iaddrcidrnet *pref) {
+ struct iaddrcidrnetlist *l;
+ int i;
+@@ -4736,14 +4736,14 @@ prefix_is_owned(struct reply_state *repl
+ if ((pref->bits == l->cidrnet.bits) &&
+ (memcmp(pref->lo_addr.iabuf,
+ l->cidrnet.lo_addr.iabuf, 16) == 0))
+- return (ISC_TRUE);
++ return (true);
+ }
+- return (ISC_FALSE);
++ return (false);
+ }
+
+ if ((reply->old_ia == NULL) ||
+ (reply->old_ia->num_iasubopt == 0))
+- return (ISC_FALSE);
++ return (false);
+
+ for (i = 0 ; i < reply->old_ia->num_iasubopt ; i++) {
+ struct iasubopt *tmp;
+@@ -4752,8 +4752,8 @@ prefix_is_owned(struct reply_state *repl
+
+ if ((pref->bits == (int) tmp->plen) &&
+ (memcmp(pref->lo_addr.iabuf, &tmp->addr, 16) == 0)) {
+- if (lease6_usable(tmp) == ISC_FALSE) {
+- return (ISC_FALSE);
++ if (lease6_usable(tmp) == false) {
++ return (false);
+ }
+
+ pond = tmp->ipv6_pool->ipv6_pond;
+@@ -4761,14 +4761,14 @@ prefix_is_owned(struct reply_state *repl
+ (permitted(reply->packet, pond->prohibit_list))) ||
+ ((pond->permit_list != NULL) &&
+ (!permitted(reply->packet, pond->permit_list))))
+- return (ISC_FALSE);
++ return (false);
+
+ iasubopt_reference(&reply->lease, tmp, MDL);
+- return (ISC_TRUE);
++ return (true);
+ }
+ }
+
+- return (ISC_FALSE);
++ return (false);
+ }
+
+ /*
+@@ -4914,7 +4914,7 @@ find_client_prefix(struct reply_state *r
+ */
+ if (((candidate_shared != NULL) &&
+ (candidate_shared != reply->shared)) ||
+- (lease6_usable(prefix) != ISC_TRUE))
++ (lease6_usable(prefix) != true))
+ continue;
+
+ /*
+@@ -5233,7 +5233,7 @@ reply_process_send_prefix(struct reply_s
+ goto cleanup;
+ }
+
+- reply->resources_included = ISC_TRUE;
++ reply->resources_included = true;
+
+ cleanup:
+ if (data.data != NULL)
+@@ -5383,8 +5383,8 @@ dhcpv6_request(struct data_string *reply
+
+ /* If the REQUEST arrived via unicast and unicast option isn't set,
+ * reject it per RFC 3315, Sec 18.2.1 */
+- if (packet->unicast == ISC_TRUE &&
+- is_unicast_option_defined(packet) == ISC_FALSE) {
++ if (packet->unicast == true &&
++ is_unicast_option_defined(packet) == false) {
+ unicast_reject(reply_ret, packet, &client_id, &server_id);
+ } else {
+ /*
+@@ -5505,7 +5505,7 @@ dhcpv6_confirm(struct data_string *reply
+ struct option_state *cli_enc_opt_state, *opt_state;
+ struct iaddr cli_addr;
+ int pass;
+- isc_boolean_t inappropriate, has_addrs;
++ bool inappropriate, has_addrs;
+ char reply_data[65536];
+ struct dhcpv6_packet *reply = (struct dhcpv6_packet *)reply_data;
+ int reply_ofs = (int)(offsetof(struct dhcpv6_packet, options));
+@@ -5556,7 +5556,7 @@ dhcpv6_confirm(struct data_string *reply
+ goto exit;
+
+ /* Are the addresses in all the IA's appropriate for that link? */
+- has_addrs = inappropriate = ISC_FALSE;
++ has_addrs = inappropriate = false;
+ pass = D6O_IA_NA;
+ while(!inappropriate) {
+ /* If we've reached the end of the IA_NA pass, move to the
+@@ -5602,7 +5602,7 @@ dhcpv6_confirm(struct data_string *reply
+ data_string_forget(&iaaddr, MDL);
+
+ /* Record that we've processed at least one address. */
+- has_addrs = ISC_TRUE;
++ has_addrs = true;
+
+ /* Find out if any subnets cover this address. */
+ for (subnet = shared->subnets ; subnet != NULL ;
+@@ -5621,7 +5621,7 @@ dhcpv6_confirm(struct data_string *reply
+ * continue searching.
+ */
+ if (subnet == NULL) {
+- inappropriate = ISC_TRUE;
++ inappropriate = true;
+ break;
+ }
+ }
+@@ -5719,8 +5719,8 @@ dhcpv6_renew(struct data_string *reply,
+
+ /* If the RENEW arrived via unicast and unicast option isn't set,
+ * reject it per RFC 3315, Sec 18.2.3 */
+- if (packet->unicast == ISC_TRUE &&
+- is_unicast_option_defined(packet) == ISC_FALSE) {
++ if (packet->unicast == true &&
++ is_unicast_option_defined(packet) == false) {
+ unicast_reject(reply, packet, &client_id, &server_id);
+ } else {
+ /*
+@@ -6142,8 +6142,8 @@ dhcpv6_decline(struct data_string *reply
+
+ /* If the DECLINE arrived via unicast and unicast option isn't set,
+ * reject it per RFC 3315, Sec 18.2.7 */
+- if (packet->unicast == ISC_TRUE &&
+- is_unicast_option_defined(packet) == ISC_FALSE) {
++ if (packet->unicast == true &&
++ is_unicast_option_defined(packet) == false) {
+ unicast_reject(reply, packet, &client_id, &server_id);
+ } else {
+ /*
+@@ -6597,8 +6597,8 @@ dhcpv6_release(struct data_string *reply
+
+ /* If the RELEASE arrived via unicast and unicast option isn't set,
+ * reject it per RFC 3315, Sec 18.2.6 */
+- if (packet->unicast == ISC_TRUE &&
+- is_unicast_option_defined(packet) == ISC_FALSE) {
++ if (packet->unicast == true &&
++ is_unicast_option_defined(packet) == false) {
+ unicast_reject(reply, packet, &client_id, &server_id);
+ } else {
+ /*
+@@ -6897,7 +6897,7 @@ dhcpv6_relay_forw(struct data_string *re
+ }
+ data_string_forget(&a_opt, MDL);
+
+- packet->relay_source_port = ISC_TRUE;
++ packet->relay_source_port = true;
+ }
+ #endif
+
+@@ -7219,7 +7219,7 @@ dhcp4o6_relay_forw(struct data_string *r
+ }
+ data_string_forget(&a_opt, MDL);
+
+- packet->relay_source_port = ISC_TRUE;
++ packet->relay_source_port = true;
+ }
+ #endif
+
+@@ -8036,35 +8036,35 @@ seek_shared_host(struct host_decl **hp,
+ host_reference(hp, seek, MDL);
+ }
+
+-static isc_boolean_t
++static bool
+ fixed_matches_shared(struct host_decl *host, struct shared_network *shared) {
+ struct subnet *subnet;
+ struct data_string addr;
+- isc_boolean_t matched;
++ bool matched;
+ struct iaddr fixed;
+
+ if (host->fixed_addr == NULL)
+- return ISC_FALSE;
++ return false;
+
+ memset(&addr, 0, sizeof(addr));
+ if (!evaluate_option_cache(&addr, NULL, NULL, NULL, NULL, NULL,
+ &global_scope, host->fixed_addr, MDL))
+- return ISC_FALSE;
++ return false;
+
+ if (addr.len < 16) {
+ data_string_forget(&addr, MDL);
+- return ISC_FALSE;
++ return false;
+ }
+
+ fixed.len = 16;
+ memcpy(fixed.iabuf, addr.data, 16);
+
+- matched = ISC_FALSE;
++ matched = false;
+ for (subnet = shared->subnets ; subnet != NULL ;
+ subnet = subnet->next_sibling) {
+ if (addr_eq(subnet_number(fixed, subnet->netmask),
+ subnet->net)) {
+- matched = ISC_TRUE;
++ matched = true;
+ break;
+ }
+ }
+@@ -8167,15 +8167,15 @@ unicast_reject(struct data_string *reply
+ * statements from the network's group outward into a local option cache.
+ * The option cache is then scanned for the presence of unicast option. If
+ * the packet cannot be mapped to a shared network, the function returns
+- * ISC_FALSE.
++ * false.
+ * \param packet inbound packet from the client
+ *
+- * \return ISC_TRUE if the dhcp6.unicast option is defined, false otherwise.
++ * \return true if the dhcp6.unicast option is defined, false otherwise.
+ *
+ */
+-isc_boolean_t
++bool
+ is_unicast_option_defined(struct packet *packet) {
+- isc_boolean_t is_defined = ISC_FALSE;
++ bool is_defined = false;
+ struct option_state *opt_state = NULL;
+ struct option_cache *oc = NULL;
+ struct shared_network *shared = NULL;
+@@ -8195,7 +8195,7 @@ is_unicast_option_defined(struct packet
+ * logic will catch it */
+ log_error("is_unicast_option_defined:"
+ "cannot attribute packet to a network.");
+- return (ISC_FALSE);
++ return (false);
+ }
+
+ /* Now that we've mapped it to a network, execute statments to that
+@@ -8205,7 +8205,7 @@ is_unicast_option_defined(struct packet
+ &global_scope, shared->group, NULL, NULL);
+
+ oc = lookup_option(&dhcpv6_universe, opt_state, D6O_UNICAST);
+- is_defined = (oc != NULL ? ISC_TRUE : ISC_FALSE);
++ is_defined = (oc != NULL ? true : false);
+ log_debug("is_unicast_option_defined: option found : %d", is_defined);
+
+ if (shared != NULL) {
+Index: dhcp-4.4.1/client/clparse.c
+===================================================================
+--- dhcp-4.4.1.orig/client/clparse.c
++++ dhcp-4.4.1/client/clparse.c
+@@ -1527,7 +1527,7 @@ parse_client6_lease_statement(struct par
+
+ case TOKEN_RELEASED:
+ case TOKEN_ABANDONED:
+- lease->released = ISC_TRUE;
++ lease->released = true;
+ break;
+
+ default:
+Index: dhcp-4.4.1/client/dhc6.c
+===================================================================
+--- dhcp-4.4.1.orig/client/dhc6.c
++++ dhcp-4.4.1/client/dhc6.c
+@@ -109,7 +109,7 @@ static isc_result_t dhc6_add_ia_pd(struc
+ u_int8_t message,
+ int wanted,
+ int *added);
+-static isc_boolean_t stopping_finished(void);
++static bool stopping_finished(void);
+ static void dhc6_merge_lease(struct dhc6_lease *src, struct dhc6_lease *dst);
+ void do_select6(void *input);
+ void do_refresh6(void *input);
+@@ -131,7 +131,7 @@ static void script_write_params6(struct
+ const char *prefix,
+ struct option_state *options);
+ static void script_write_requested6(struct client_state *client);
+-static isc_boolean_t active_prefix(struct client_state *client);
++static bool active_prefix(struct client_state *client);
+
+ static int check_timing6(struct client_state *client, u_int8_t msg_type,
+ char *msg_str, struct dhc6_lease *lease,
+@@ -149,7 +149,7 @@ static isc_result_t dhc6_add_ia_na_decli
+ struct data_string *packet,
+ struct dhc6_lease *lease);
+ static int drop_declined_addrs(struct dhc6_lease *lease);
+-static isc_boolean_t unexpired_address_in_lease(struct dhc6_lease *lease);
++static bool unexpired_address_in_lease(struct dhc6_lease *lease);
+
+ extern int onetry;
+ extern int stateless;
+@@ -418,14 +418,14 @@ valid_reply(struct packet *packet, struc
+ {
+ struct data_string sid, cid;
+ struct option_cache *oc;
+- int rval = ISC_TRUE;
++ int rval = true;
+
+ memset(&sid, 0, sizeof(sid));
+ memset(&cid, 0, sizeof(cid));
+
+ if (!lookup_option(&dhcpv6_universe, packet->options, D6O_SERVERID)) {
+ log_error("Response without a server identifier received.");
+- rval = ISC_FALSE;
++ rval = false;
+ }
+
+ oc = lookup_option(&dhcpv6_universe, packet->options, D6O_CLIENTID);
+@@ -434,7 +434,7 @@ valid_reply(struct packet *packet, struc
+ client->sent_options, &global_scope, oc,
+ MDL)) {
+ log_error("Response without a client identifier.");
+- rval = ISC_FALSE;
++ rval = false;
+ }
+
+ oc = lookup_option(&dhcpv6_universe, client->sent_options,
+@@ -444,7 +444,7 @@ valid_reply(struct packet *packet, struc
+ client->sent_options, NULL, &global_scope,
+ oc, MDL)) {
+ log_error("Local client identifier is missing!");
+- rval = ISC_FALSE;
++ rval = false;
+ }
+
+ if (sid.len == 0 ||
+@@ -452,7 +452,7 @@ valid_reply(struct packet *packet, struc
+ memcmp(sid.data, cid.data, sid.len)) {
+ log_error("Advertise with matching transaction ID, but "
+ "mismatching client id.");
+- rval = ISC_FALSE;
++ rval = false;
+ }
+
+ /* clean up pointers to the strings */
+@@ -2375,7 +2375,7 @@ start_release6(struct client_state *clie
+ /* Note this in the lease file. */
+ if (client->active_lease == NULL)
+ return;
+- client->active_lease->released = ISC_TRUE;
++ client->active_lease->released = true;
+ write_client6_lease(client, client->active_lease, 0, 1);
+
+ /* Set timers per RFC3315 section 18.1.6. */
+@@ -2612,7 +2612,7 @@ dhc6_check_advertise(struct dhc6_lease *
+ {
+ struct dhc6_ia *ia;
+ isc_result_t rval = ISC_R_SUCCESS;
+- int have_addrs = ISC_FALSE;
++ int have_addrs = false;
+ unsigned code;
+ const char *scope;
+ int got_na = 0, got_ta = 0, got_pd = 0;
+@@ -2650,14 +2650,14 @@ dhc6_check_advertise(struct dhc6_lease *
+ * Should we check the addr itself for usability?
+ */
+ if (ia->addrs != NULL) {
+- have_addrs = ISC_TRUE;
++ have_addrs = true;
+ }
+ }
+
+ /* If we didn't get some addrs or the user required us to
+ * get all of the requested IAs and we didn't return an error
+ */
+- if ((have_addrs != ISC_TRUE) ||
++ if ((have_addrs != true) ||
+ ((require_all_ias != 0) &&
+ ((got_na < wanted_ia_na) ||
+ (got_ta < wanted_ia_ta) ||
+@@ -2670,7 +2670,7 @@ dhc6_check_advertise(struct dhc6_lease *
+ /* status code <-> action matrix for the client in INIT state
+ * (rapid/commit). Returns always false as no action is defined.
+ */
+-static isc_boolean_t
++static bool
+ dhc6_init_action(struct client_state *client, isc_result_t *rvalp,
+ unsigned code)
+ {
+@@ -2679,21 +2679,21 @@ dhc6_init_action(struct client_state *cl
+
+ if (client == NULL) {
+ *rvalp = DHCP_R_INVALIDARG;
+- return ISC_FALSE;
++ return false;
+ }
+
+ if (*rvalp == ISC_R_SUCCESS)
+- return ISC_FALSE;
++ return false;
+
+ /* No possible action in any case... */
+- return ISC_FALSE;
++ return false;
+ }
+
+ /* status code <-> action matrix for the client in SELECT state
+ * (request/reply). Returns true if action was taken (and the
+ * packet should be ignored), or false if no action was taken.
+ */
+-static isc_boolean_t
++static bool
+ dhc6_select_action(struct client_state *client, isc_result_t *rvalp,
+ unsigned code)
+ {
+@@ -2705,12 +2705,12 @@ dhc6_select_action(struct client_state *
+
+ if (client == NULL) {
+ *rvalp = DHCP_R_INVALIDARG;
+- return ISC_FALSE;
++ return false;
+ }
+ rval = *rvalp;
+
+ if (rval == ISC_R_SUCCESS)
+- return ISC_FALSE;
++ return false;
+
+ switch (code) {
+ /* We may have an earlier failure status code (so no
+@@ -2723,7 +2723,7 @@ dhc6_select_action(struct client_state *
+ case STATUS_NoBinding:
+ case STATUS_UseMulticast:
+ /* Take no action. */
+- return ISC_FALSE;
++ return false;
+
+ /* If the server can't deal with us, either try the
+ * next advertised server, or continue retrying if there
+@@ -2739,7 +2739,7 @@ dhc6_select_action(struct client_state *
+
+ break;
+ } else /* Take no action - continue to retry. */
+- return ISC_FALSE;
++ return false;
+
+ /* If the server has no addresses, try other servers if
+ * we got some, otherwise go to INIT to hope for more
+@@ -2748,7 +2748,7 @@ dhc6_select_action(struct client_state *
+ case STATUS_NoAddrsAvail:
+ case STATUS_NoPrefixAvail:
+ if (client->state == S_REBOOTING)
+- return ISC_FALSE;
++ return false;
+
+ if (client->selected_lease == NULL)
+ log_fatal("Impossible case at %s:%d.", MDL);
+@@ -2794,7 +2794,7 @@ dhc6_select_action(struct client_state *
+ break;
+ }
+
+- return ISC_TRUE;
++ return true;
+ }
+
+ static void
+@@ -2821,7 +2821,7 @@ dhc6_withdraw_lease(struct client_state
+ * (request/reply). Returns true if action was taken (and the
+ * packet should be ignored), or false if no action was taken.
+ */
+-static isc_boolean_t
++static bool
+ dhc6_reply_action(struct client_state *client, isc_result_t *rvalp,
+ unsigned code)
+ {
+@@ -2832,12 +2832,12 @@ dhc6_reply_action(struct client_state *c
+
+ if (client == NULL) {
+ *rvalp = DHCP_R_INVALIDARG;
+- return ISC_FALSE;
++ return false;
+ }
+ rval = *rvalp;
+
+ if (rval == ISC_R_SUCCESS)
+- return ISC_FALSE;
++ return false;
+
+ switch (code) {
+ /* It's possible an earlier status code set rval to a failure
+@@ -2852,7 +2852,7 @@ dhc6_reply_action(struct client_state *c
+ case STATUS_UnspecFail:
+ /* For unknown codes...it's a soft (retryable) error. */
+ default:
+- return ISC_FALSE;
++ return false;
+
+ /* The server is telling us to use a multicast address, so
+ * we have to delete the unicast option from the active
+@@ -2865,7 +2865,7 @@ dhc6_reply_action(struct client_state *c
+ delete_option(&dhcp_universe,
+ client->active_lease->options,
+ D6O_UNICAST);
+- return ISC_FALSE;
++ return false;
+
+ /* "When the client receives a NotOnLink status from the
+ * server in response to a Request, the client can either
+@@ -2914,7 +2914,7 @@ dhc6_reply_action(struct client_state *c
+ break;
+ }
+
+- return ISC_TRUE;
++ return true;
+ }
+
+ /* status code <-> action matrix for the client in STOPPED state
+@@ -2922,7 +2922,7 @@ dhc6_reply_action(struct client_state *c
+ * packet should be ignored), or false if no action was taken.
+ * NoBinding is translated into Success.
+ */
+-static isc_boolean_t
++static bool
+ dhc6_stop_action(struct client_state *client, isc_result_t *rvalp,
+ unsigned code)
+ {
+@@ -2933,12 +2933,12 @@ dhc6_stop_action(struct client_state *cl
+
+ if (client == NULL) {
+ *rvalp = DHCP_R_INVALIDARG;
+- return ISC_FALSE;
++ return false;
+ }
+ rval = *rvalp;
+
+ if (rval == ISC_R_SUCCESS)
+- return ISC_FALSE;
++ return false;
+
+ switch (code) {
+ /* It's possible an earlier status code set rval to a failure
+@@ -2948,13 +2948,13 @@ dhc6_stop_action(struct client_state *cl
+ /* For unknown codes...it's a soft (retryable) error. */
+ case STATUS_UnspecFail:
+ default:
+- return ISC_FALSE;
++ return false;
+
+ /* NoBinding is not an error */
+ case STATUS_NoBinding:
+ if (rval == ISC_R_FAILURE)
+ *rvalp = ISC_R_SUCCESS;
+- return ISC_FALSE;
++ return false;
+
+ /* Should not happen */
+ case STATUS_NoAddrsAvail:
+@@ -2976,13 +2976,13 @@ dhc6_stop_action(struct client_state *cl
+ delete_option(&dhcp_universe,
+ client->active_lease->options,
+ D6O_UNICAST);
+- return ISC_FALSE;
++ return false;
+ }
+
+- return ISC_TRUE;
++ return true;
+ }
+
+-static isc_boolean_t
++static bool
+ dhc6_decline_action(struct client_state *client, isc_result_t *rvalp,
+ unsigned code)
+ {
+@@ -2993,12 +2993,12 @@ dhc6_decline_action(struct client_state
+
+ if (client == NULL) {
+ *rvalp = DHCP_R_INVALIDARG;
+- return ISC_FALSE;
++ return false;
+ }
+ rval = *rvalp;
+
+ if (rval == ISC_R_SUCCESS) {
+- return ISC_FALSE;
++ return false;
+ }
+
+ switch (code) {
+@@ -3013,13 +3013,13 @@ dhc6_decline_action(struct client_state
+ delete_option(&dhcp_universe,
+ client->active_lease->options,
+ D6O_UNICAST);
+- return ISC_FALSE;
++ return false;
+ default:
+ /* Anything else is basically meaningless */
+ break;
+ }
+
+- return ISC_TRUE;
++ return true;
+ }
+
+
+@@ -3029,14 +3029,14 @@ dhc6_decline_action(struct client_state
+ static isc_result_t
+ dhc6_check_reply(struct client_state *client, struct dhc6_lease *new)
+ {
+- isc_boolean_t (*action)(struct client_state *,
++ bool (*action)(struct client_state *,
+ isc_result_t *, unsigned);
+ struct dhc6_ia *ia;
+ isc_result_t rval = ISC_R_SUCCESS;
+ unsigned code;
+ const char *scope;
+ int nscore, sscore;
+- int have_addrs = ISC_FALSE;
++ int have_addrs = false;
+ int got_na = 0, got_ta = 0, got_pd = 0;
+
+ if ((client == NULL) || (new == NULL))
+@@ -3102,7 +3102,7 @@ dhc6_check_reply(struct client_state *cl
+ return ISC_R_CANCELED;
+
+ if (ia->addrs != NULL) {
+- have_addrs = ISC_TRUE;
++ have_addrs = true;
+ }
+ }
+
+@@ -3119,13 +3119,13 @@ dhc6_check_reply(struct client_state *cl
+ * check in and commented it as I eventually do want
+ * us to check for TAs as well. SAR
+ */
+- if ((have_addrs != ISC_TRUE) ||
++ if ((have_addrs != true) ||
+ ((require_all_ias != 0) &&
+ ((got_na < wanted_ia_na) ||
+ /*(got_ta < wanted_ia_ta) ||*/
+ (got_pd < wanted_ia_pd)))) {
+ rval = ISC_R_FAILURE;
+- if (action(client, &rval, STATUS_NoAddrsAvail) == ISC_TRUE) {
++ if (action(client, &rval, STATUS_NoAddrsAvail) == true) {
+ return ISC_R_CANCELED;
+ }
+ }
+@@ -4256,7 +4256,7 @@ dhc6_add_ia_pd(struct client_state *clie
+
+ /* stopping_finished() checks if there is a remaining work to do.
+ */
+-static isc_boolean_t
++static bool
+ stopping_finished(void)
+ {
+ struct interface_info *ip;
+@@ -4265,12 +4265,12 @@ stopping_finished(void)
+ for (ip = interfaces; ip; ip = ip -> next) {
+ for (client = ip -> client; client; client = client -> next) {
+ if (client->state != S_STOPPED)
+- return ISC_FALSE;
++ return false;
+ if (client->active_lease != NULL)
+- return ISC_FALSE;
++ return false;
+ }
+ }
+- return ISC_TRUE;
++ return true;
+ }
+
+ /* reply_handler() accepts a Reply while we're attempting Select or Renew or
+@@ -4474,8 +4474,8 @@ dhc6_check_times(struct client_state *cl
+ struct dhc6_addr *addr;
+ TIME renew=MAX_TIME, rebind=MAX_TIME, depref=MAX_TIME,
+ lo_expire=MAX_TIME, hi_expire=0, max_ia_starts = 0, tmp;
+- int has_addrs = ISC_FALSE;
+- int has_preferred_addrs = ISC_FALSE;
++ int has_addrs = false;
++ int has_preferred_addrs = false;
+ struct timeval tv;
+
+ lease = client->active_lease;
+@@ -4506,7 +4506,7 @@ dhc6_check_times(struct client_state *cl
+ depref = tmp;
+
+ if (!(addr->flags & DHC6_ADDR_EXPIRED)) {
+- has_preferred_addrs = ISC_TRUE;
++ has_preferred_addrs = true;
+ }
+ }
+
+@@ -4525,7 +4525,7 @@ dhc6_check_times(struct client_state *cl
+ if (tmp < this_ia_lo_expire)
+ this_ia_lo_expire = tmp;
+
+- has_addrs = ISC_TRUE;
++ has_addrs = true;
+ }
+ }
+
+@@ -4603,7 +4603,7 @@ dhc6_check_times(struct client_state *cl
+ * In the future, we may decide that we're done here, or to
+ * schedule a future request (using 4-pkt info-request model).
+ */
+- if (has_addrs == ISC_FALSE) {
++ if (has_addrs == false) {
+ dhc6_lease_destroy(&client->active_lease, MDL);
+ client->active_lease = NULL;
+
+@@ -4855,7 +4855,7 @@ start_bound(struct client_state *client)
+ "is selected.");
+ return;
+ }
+- lease->released = ISC_FALSE;
++ lease->released = false;
+ old = client->old_lease;
+
+ client->v6_handler = bound_handler;
+@@ -5448,8 +5448,8 @@ do_expire(void *input)
+ struct dhc6_lease *lease;
+ struct dhc6_ia *ia, **tia;
+ struct dhc6_addr *addr;
+- int has_addrs = ISC_FALSE;
+- int ia_has_addrs = ISC_FALSE;
++ int has_addrs = false;
++ int ia_has_addrs = false;
+
+ client = (struct client_state *)input;
+
+@@ -5458,7 +5458,7 @@ do_expire(void *input)
+ return;
+
+ for (ia = lease->bindings, tia = &lease->bindings; ia != NULL ; ) {
+- ia_has_addrs = ISC_FALSE;
++ ia_has_addrs = false;
+ for (addr = ia->addrs ; addr != NULL ; addr = addr->next) {
+ if (addr->flags & DHC6_ADDR_EXPIRED)
+ continue;
+@@ -5495,14 +5495,14 @@ do_expire(void *input)
+ continue;
+ }
+
+- ia_has_addrs = ISC_TRUE;
+- has_addrs = ISC_TRUE;
++ ia_has_addrs = true;
++ has_addrs = true;
+ }
+
+ /* Update to the next ia and git rid of this ia
+ * if it doesn't have any leases.
+ */
+- if (ia_has_addrs == ISC_TRUE) {
++ if (ia_has_addrs == true) {
+ /* leases, just advance the list pointer */
+ tia = &(*tia)->next;
+ } else {
+@@ -5517,7 +5517,7 @@ do_expire(void *input)
+ }
+
+ /* Clean up empty leases. */
+- if (has_addrs == ISC_FALSE) {
++ if (has_addrs == false) {
+ log_info("PRC: Bound lease is devoid of active addresses."
+ " Re-initializing.");
+
+@@ -5596,14 +5596,14 @@ dhc6_check_irt(struct client_state *clie
+ TIME expire = MAX_TIME;
+ struct timeval tv;
+ int i;
+- isc_boolean_t found = ISC_FALSE;
++ bool found = false;
+
+ cancel_timeout(refresh_info_request6, client);
+
+ req = client->config->requested_options;
+ for (i = 0; req[i] != NULL; i++) {
+ if (req[i] == irt_option) {
+- found = ISC_TRUE;
++ found = true;
+ break;
+ }
+ }
+@@ -5924,7 +5924,7 @@ static void script_write_requested6(clie
+ /*
+ * Check if there is something not fully defined in the active lease.
+ */
+-static isc_boolean_t
++static bool
+ active_prefix(struct client_state *client)
+ {
+ struct dhc6_lease *lease;
+@@ -5934,21 +5934,21 @@ active_prefix(struct client_state *clien
+
+ lease = client->active_lease;
+ if (lease == NULL)
+- return ISC_FALSE;
++ return false;
+ memset(zeros, 0, 16);
+ for (ia = lease->bindings; ia != NULL; ia = ia->next) {
+ if (ia->ia_type != D6O_IA_PD)
+ continue;
+ for (pref = ia->addrs; pref != NULL; pref = pref->next) {
+ if (pref->plen == 0)
+- return ISC_FALSE;
++ return false;
+ if (pref->address.len != 16)
+- return ISC_FALSE;
++ return false;
+ if (memcmp(pref->address.iabuf, zeros, 16) == 0)
+- return ISC_FALSE;
++ return false;
+ }
+ }
+- return ISC_TRUE;
++ return true;
+ }
+
+ /* Adds a leases's declined addreses to the outbound packet
+@@ -6111,26 +6111,26 @@ int drop_declined_addrs(struct dhc6_leas
+ /* Run through the addresses in lease and return true if there's any unexpired.
+ * Return false otherwise.
+ */
+-static isc_boolean_t
++static bool
+ unexpired_address_in_lease(struct dhc6_lease *lease)
+ {
+ struct dhc6_ia *ia;
+ struct dhc6_addr *addr;
+
+ if (lease == NULL) {
+- return ISC_FALSE;
++ return false;
+ }
+
+ for (ia = lease->bindings ; ia != NULL ; ia = ia->next) {
+ for (addr = ia->addrs ; addr != NULL ; addr = addr->next) {
+ if (!(addr->flags & DHC6_ADDR_EXPIRED) &&
+ (addr->starts + addr->max_life > cur_time)) {
+- return ISC_TRUE;
++ return true;
+ }
+ }
+ }
+
+ log_debug("PRC: Previous lease is devoid of active addresses.");
+- return ISC_FALSE;
++ return false;
+ }
+ #endif /* DHCPv6 */
+Index: dhcp-4.4.1/client/dhclient.c
+===================================================================
+--- dhcp-4.4.1.orig/client/dhclient.c
++++ dhcp-4.4.1/client/dhclient.c
+@@ -52,7 +52,7 @@ char *path_dhclient_script = path_dhclie
+ const char *path_dhclient_duid = NULL;
+
+ /* False (default) => we write and use a pid file */
+-isc_boolean_t no_pid_file = ISC_FALSE;
++bool no_pid_file = false;
+
+ int dhcp_max_agent_option_packet_length = 0;
+
+@@ -397,7 +397,7 @@ main(int argc, char **argv) {
+ path_dhclient_pid = argv[i];
+ no_dhclient_pid = 1;
+ } else if (!strcmp(argv[i], "--no-pid")) {
+- no_pid_file = ISC_TRUE;
++ no_pid_file = true;
+ } else if (!strcmp(argv[i], "-cf")) {
+ if (++i == argc)
+ usage(use_noarg, argv[i-1]);
+@@ -652,7 +652,7 @@ main(int argc, char **argv) {
+ * to write a pid file - we assume they are controlling
+ * the process in some other fashion.
+ */
+- if ((release_mode || exit_mode) && (no_pid_file == ISC_FALSE)) {
++ if ((release_mode || exit_mode) && (no_pid_file == false)) {
+ FILE *pidfd;
+ pid_t oldpid;
+ long temp;
+@@ -4469,7 +4469,7 @@ void write_client_pid_file ()
+ int pfdesc;
+
+ /* nothing to do if the user doesn't want a pid file */
+- if (no_pid_file == ISC_TRUE) {
++ if (no_pid_file == true) {
+ return;
+ }
+
+@@ -4727,7 +4727,7 @@ unsigned cons_agent_information_options
+ static void shutdown_exit (void *foo)
+ {
+ /* get rid of the pid if we can */
+- if (no_pid_file == ISC_FALSE)
++ if (no_pid_file == false)
+ (void) unlink(path_dhclient_pid);
+ finish(0);
+ }
+Index: dhcp-4.4.1/common/inet.c
+===================================================================
+--- dhcp-4.4.1.orig/common/inet.c
++++ dhcp-4.4.1/common/inet.c
+@@ -299,7 +299,7 @@ addr_and(struct iaddr *result, const str
+ *
+ * Because the final ".1" would get masked out by the /8.
+ */
+-isc_boolean_t
++bool
+ is_cidr_mask_valid(const struct iaddr *addr, int bits) {
+ int zero_bits;
+ int zero_bytes;
+@@ -311,10 +311,10 @@ is_cidr_mask_valid(const struct iaddr *a
+ * Check our bit boundaries.
+ */
+ if (bits < 0) {
+- return ISC_FALSE;
++ return false;
+ }
+ if (bits > (addr->len * 8)) {
+- return ISC_FALSE;
++ return false;
+ }
+
+ /*
+@@ -328,7 +328,7 @@ is_cidr_mask_valid(const struct iaddr *a
+ */
+ for (i=1; i<=zero_bytes; i++) {
+ if (addr->iabuf[addr->len-i] != 0) {
+- return ISC_FALSE;
++ return false;
+ }
+ }
+
+@@ -340,7 +340,7 @@ is_cidr_mask_valid(const struct iaddr *a
+ * happy.
+ */
+ shift_bits = zero_bits % 8;
+- if (shift_bits == 0) return ISC_TRUE;
++ if (shift_bits == 0) return true;
+ byte = addr->iabuf[addr->len-zero_bytes-1];
+ return (((byte >> shift_bits) << shift_bits) == byte);
+ }
+Index: dhcp-4.4.1/common/options.c
+===================================================================
+--- dhcp-4.4.1.orig/common/options.c
++++ dhcp-4.4.1/common/options.c
+@@ -676,7 +676,7 @@ cons_options(struct packet *inpacket, st
+ * the priority_list. This way we'll send it whether or not it
+ * is in the PRL. */
+ if ((inpacket != NULL) && (priority_len < PRIORITY_COUNT) &&
+- (inpacket->sv_echo_client_id == ISC_TRUE)) {
++ (inpacket->sv_echo_client_id == true)) {
+ priority_list[priority_len++] =
+ DHO_DHCP_CLIENT_IDENTIFIER;
+ }
+@@ -1802,7 +1802,7 @@ const char *pretty_print_option (option,
+ const unsigned char *dp = data;
+ char comma;
+ unsigned long tval;
+- isc_boolean_t a_array = ISC_FALSE;
++ bool a_array = false;
+ int len_used;
+
+ if (emit_commas)
+@@ -1828,7 +1828,7 @@ const char *pretty_print_option (option,
+ fmtbuf [l] = option -> format [i];
+ switch (option -> format [i]) {
+ case 'a':
+- a_array = ISC_TRUE;
++ a_array = true;
+ /* Fall through */
+ case 'A':
+ --numelem;
+@@ -1858,7 +1858,7 @@ const char *pretty_print_option (option,
+ hunksize++;
+ comma = ':';
+ numhunk = 0;
+- a_array = ISC_TRUE;
++ a_array = true;
+ hunkinc = 1;
+ }
+ fmtbuf [l + 1] = 0;
+@@ -1954,7 +1954,7 @@ const char *pretty_print_option (option,
+
+ /* If this is an array, compute its size. */
+ if (numhunk == 0) {
+- if (a_array == ISC_TRUE) {
++ if (a_array == true) {
+ /*
+ * It is an 'a' type array - we repeat the
+ * last format type. A binary string for 'X'
+@@ -2006,7 +2006,7 @@ const char *pretty_print_option (option,
+
+ /* Cycle through the array (or hunk) printing the data. */
+ for (i = 0; i < numhunk; i++) {
+- if ((a_array == ISC_TRUE) && (i != 0) && (numelem > 0)) {
++ if ((a_array == true) && (i != 0) && (numelem > 0)) {
+ /*
+ * For 'a' type of arrays we repeat
+ * only the last format character
+@@ -2734,7 +2734,7 @@ save_option(struct universe *universe, s
+ struct option_cache *oc)
+ {
+ if (universe->save_func)
+- (*universe->save_func)(universe, options, oc, ISC_FALSE);
++ (*universe->save_func)(universe, options, oc, true);
+ else
+ log_error("can't store options in %s space.", universe->name);
+ }
+@@ -2745,14 +2745,14 @@ also_save_option(struct universe *univer
+ struct option_cache *oc)
+ {
+ if (universe->save_func)
+- (*universe->save_func)(universe, options, oc, ISC_TRUE);
++ (*universe->save_func)(universe, options, oc, true);
+ else
+ log_error("can't store options in %s space.", universe->name);
+ }
+
+ void
+ save_hashed_option(struct universe *universe, struct option_state *options,
+- struct option_cache *oc, isc_boolean_t appendp)
++ struct option_cache *oc, bool appendp)
+ {
+ int hashix;
+ pair bptr;
+@@ -3062,7 +3062,7 @@ store_option(struct data_string *result,
+ cfg_options, scope, subu);
+ subu = NULL;
+ }
+- } while (ISC_FALSE);
++ } while (false);
+
+ status = append_option(result, universe, oc->option, &tmp);
+ data_string_forget(&tmp, MDL);
+@@ -3459,7 +3459,7 @@ lookup_fqdn6_option(struct universe *uni
+ */
+ void
+ save_fqdn6_option(struct universe *universe, struct option_state *options,
+- struct option_cache *oc, isc_boolean_t appendp)
++ struct option_cache *oc, bool appendp)
+ {
+ log_fatal("Impossible condition at %s:%d.", MDL);
+ }
+@@ -3784,7 +3784,7 @@ void hashed_option_space_foreach (struct
+
+ void
+ save_linked_option(struct universe *universe, struct option_state *options,
+- struct option_cache *oc, isc_boolean_t appendp)
++ struct option_cache *oc, bool appendp)
+ {
+ pair *tail;
+ struct option_chain_head *head;
+@@ -4073,7 +4073,7 @@ packet6_len_okay(const char *packet, int
+ void
+ do_packet6(struct interface_info *interface, const char *packet,
+ int len, int from_port, const struct iaddr *from,
+- isc_boolean_t was_unicast) {
++ bool was_unicast) {
+ unsigned char msg_type;
+ const struct dhcpv6_packet *msg;
+ const struct dhcpv6_relay_packet *relay;
+Index: dhcp-4.4.1/common/parse.c
+===================================================================
+--- dhcp-4.4.1.orig/common/parse.c
++++ dhcp-4.4.1/common/parse.c
+@@ -4952,7 +4952,7 @@ int parse_option_token (rv, cfile, fmt,
+ unsigned len;
+ struct iaddr addr;
+ int compress;
+- isc_boolean_t freeval = ISC_FALSE;
++ bool freeval = false;
+ const char *f, *g;
+ struct enumeration_value *e;
+
+@@ -5038,7 +5038,7 @@ int parse_option_token (rv, cfile, fmt,
+ return 0;
+ }
+ len = strlen (val);
+- freeval = ISC_TRUE;
++ freeval = true;
+ goto make_string;
+
+ case 't': /* Text string... */
+@@ -5055,9 +5055,9 @@ int parse_option_token (rv, cfile, fmt,
+ if (!make_const_data (&t, (const unsigned char *)val,
+ len, 1, 1, MDL))
+ log_fatal ("No memory for concatenation");
+- if (freeval == ISC_TRUE) {
++ if (freeval == true) {
+ dfree((char *)val, MDL);
+- freeval = ISC_FALSE;
++ freeval = false;
+ POST(freeval);
+ }
+ break;
+Index: dhcp-4.4.1/omapip/dispatch.c
+===================================================================
+--- dhcp-4.4.1.orig/omapip/dispatch.c
++++ dhcp-4.4.1/omapip/dispatch.c
+@@ -156,7 +156,7 @@ omapi_iscsock_cb(isc_task_t *task,
+ * This should be a temporary fix until we arrange to properly
+ * close the socket.
+ */
+- if (obj->closed == ISC_TRUE) {
++ if (obj->closed == true) {
+ return(0);
+ }
+ #endif
+@@ -223,7 +223,7 @@ isc_result_t omapi_register_io_object (o
+ status = omapi_io_allocate (&obj, MDL);
+ if (status != ISC_R_SUCCESS)
+ return status;
+- obj->closed = ISC_FALSE; /* mark as open */
++ obj->closed = false; /* mark as open */
+
+ status = omapi_object_reference (&obj -> inner, h, MDL);
+ if (status != ISC_R_SUCCESS) {
+@@ -404,7 +404,7 @@ isc_result_t omapi_unregister_io_object
+ isc_socket_detach(&obj->fd);
+ }
+ #else
+- obj->closed = ISC_TRUE;
++ obj->closed = true;
+ #endif
+
+ omapi_io_dereference (&ph, MDL);
+Index: dhcp-4.4.1/omapip/isclib.c
+===================================================================
+--- dhcp-4.4.1.orig/omapip/isclib.c
++++ dhcp-4.4.1/omapip/isclib.c
+@@ -106,9 +106,9 @@ isclib_cleanup(void)
+ if (dhcp_gbl_ctx.taskmgr != NULL)
+ isc_taskmgr_destroy(&dhcp_gbl_ctx.taskmgr);
+
+- if (dhcp_gbl_ctx.actx_started != ISC_FALSE) {
++ if (dhcp_gbl_ctx.actx_started != false) {
+ isc_app_ctxfinish(dhcp_gbl_ctx.actx);
+- dhcp_gbl_ctx.actx_started = ISC_FALSE;
++ dhcp_gbl_ctx.actx_started = false;
+ }
+
+ if (dhcp_gbl_ctx.actx != NULL)
+@@ -211,7 +211,7 @@ dhcp_context_create(int flags,
+ result = isc_app_ctxstart(dhcp_gbl_ctx.actx);
+ if (result != ISC_R_SUCCESS)
+ return (result);
+- dhcp_gbl_ctx.actx_started = ISC_TRUE;
++ dhcp_gbl_ctx.actx_started = true;
+
+ /* Not all OSs support suppressing SIGPIPE through socket
+ * options, so set the sigal action to be ignore. This allows
+Index: dhcp-4.4.1/omapip/protocol.c
+===================================================================
+--- dhcp-4.4.1.orig/omapip/protocol.c
++++ dhcp-4.4.1/omapip/protocol.c
+@@ -950,14 +950,14 @@ isc_result_t omapi_protocol_stuff_values
+ /* Returns a boolean indicating whether this protocol requires that
+ messages be authenticated or not. */
+
+-isc_boolean_t omapi_protocol_authenticated (omapi_object_t *h)
++bool omapi_protocol_authenticated (omapi_object_t *h)
+ {
+ if (h -> type != omapi_type_protocol)
+- return isc_boolean_false;
++ return false;
+ if (((omapi_protocol_object_t *)h) -> insecure)
+- return isc_boolean_false;
++ return false;
+ else
+- return isc_boolean_true;
++ return true;
+ }
+
+ /* Sets the address and authenticator verification callbacks. The handle
+Index: dhcp-4.4.1/relay/dhcrelay.c
+===================================================================
+--- dhcp-4.4.1.orig/relay/dhcrelay.c
++++ dhcp-4.4.1/relay/dhcrelay.c
+@@ -45,9 +45,9 @@ char *token_line;
+ char *tlname;
+
+ const char *path_dhcrelay_pid = _PATH_DHCRELAY_PID;
+-isc_boolean_t no_dhcrelay_pid = ISC_FALSE;
++bool no_dhcrelay_pid = false;
+ /* False (default) => we write and use a pid file */
+-isc_boolean_t no_pid_file = ISC_FALSE;
++bool no_pid_file = false;
+
+ int bogus_agent_drops = 0; /* Packets dropped because agent option
+ field was specified and we're not relaying
+@@ -82,7 +82,7 @@ int dfd[2] = { -1, -1 };
+
+ #ifdef DHCPv6
+ /* Force use of DHCPv6 interface-id option. */
+-isc_boolean_t use_if_id = ISC_FALSE;
++bool use_if_id = false;
+ #endif
+
+ /* Maximum size of a packet with agent options added. */
+@@ -556,7 +556,7 @@ main(int argc, char **argv) {
+ }
+ local_family_set = 1;
+ local_family = AF_INET6;
+- use_if_id = ISC_TRUE;
++ use_if_id = true;
+ } else if (!strcmp(argv[i], "-l")) {
+ if (local_family_set && (local_family == AF_INET)) {
+ usage(use_v6command, argv[i]);
+@@ -564,7 +564,7 @@ main(int argc, char **argv) {
+ local_family_set = 1;
+ local_family = AF_INET6;
+ if (downstreams != NULL)
+- use_if_id = ISC_TRUE;
++ use_if_id = true;
+ if (++i == argc)
+ usage(use_noarg, argv[i-1]);
+ sl = parse_downstream(argv[i]);
+@@ -595,9 +595,9 @@ main(int argc, char **argv) {
+ if (++i == argc)
+ usage(use_noarg, argv[i-1]);
+ path_dhcrelay_pid = argv[i];
+- no_dhcrelay_pid = ISC_TRUE;
++ no_dhcrelay_pid = true;
+ } else if (!strcmp(argv[i], "--no-pid")) {
+- no_pid_file = ISC_TRUE;
++ no_pid_file = true;
+ } else if (argv[i][0] == '-') {
+ usage("Unknown command: %s", argv[i]);
+ } else {
+@@ -645,7 +645,7 @@ main(int argc, char **argv) {
+ * If the user didn't specify a pid file directly
+ * find one from environment variables or defaults
+ */
+- if (no_dhcrelay_pid == ISC_FALSE) {
++ if (no_dhcrelay_pid == false) {
+ if (local_family == AF_INET) {
+ path_dhcrelay_pid = getenv("PATH_DHCRELAY_PID");
+ if (path_dhcrelay_pid == NULL)
+@@ -774,7 +774,7 @@ main(int argc, char **argv) {
+ }
+
+ /* Create the pid file. */
+- if (no_pid_file == ISC_FALSE) {
++ if (no_pid_file == false) {
+ pfdesc = open(path_dhcrelay_pid,
+ O_CREAT | O_TRUNC | O_WRONLY, 0644);
+
+@@ -1569,7 +1569,7 @@ static void
+ setup_streams(void) {
+ struct stream_list *dp, *up;
+ int i;
+- isc_boolean_t link_is_set;
++ bool link_is_set;
+
+ for (dp = downstreams; dp; dp = dp->next) {
+ /* Check interface */
+@@ -1579,9 +1579,9 @@ setup_streams(void) {
+
+ /* Check/set link. */
+ if (IN6_IS_ADDR_UNSPECIFIED(&dp->link.sin6_addr))
+- link_is_set = ISC_FALSE;
++ link_is_set = false;
+ else
+- link_is_set = ISC_TRUE;
++ link_is_set = true;
+ for (i = 0; i < dp->ifp->v6address_count; i++) {
+ if (IN6_IS_ADDR_LINKLOCAL(&dp->ifp->v6addresses[i]))
+ continue;
+@@ -2076,7 +2076,7 @@ dhcp_set_control_state(control_object_st
+ if (newstate != server_shutdown)
+ return ISC_R_SUCCESS;
+
+- if (no_pid_file == ISC_FALSE)
++ if (no_pid_file == false)
+ (void) unlink(path_dhcrelay_pid);
+
+ if (!no_daemon && dfd[0] != -1 && dfd[1] != -1) {
+Index: dhcp-4.4.1/server/dhcp.c
+===================================================================
+--- dhcp-4.4.1.orig/server/dhcp.c
++++ dhcp-4.4.1/server/dhcp.c
+@@ -225,7 +225,7 @@ dhcp (struct packet *packet) {
+ packet->options->universe_count =
+ agent_universe.index + 1;
+
+- packet->agent_options_stashed = ISC_TRUE;
++ packet->agent_options_stashed = true;
+ }
+ nolease:
+
+@@ -1094,7 +1094,7 @@ void dhcpinform (packet, ms_nulltp)
+ int nulltp;
+ struct sockaddr_in to;
+ struct in_addr from;
+- isc_boolean_t zeroed_ciaddr;
++ bool zeroed_ciaddr;
+ struct interface_info *interface;
+ int result, h_m_client_ip = 0;
+ struct host_decl *host = NULL, *hp = NULL, *h;
+@@ -1109,7 +1109,7 @@ void dhcpinform (packet, ms_nulltp)
+ it's common for clients not to do this, so we'll use their IP
+ source address if they didn't set ciaddr. */
+ if (!packet->raw->ciaddr.s_addr) {
+- zeroed_ciaddr = ISC_TRUE;
++ zeroed_ciaddr = true;
+ /* With DHCPv4-over-DHCPv6 it can be an IPv6 address
+ so we check its length. */
+ if (packet->client_addr.len == 4) {
+@@ -1122,7 +1122,7 @@ void dhcpinform (packet, ms_nulltp)
+ addr_type = "v4o6";
+ }
+ } else {
+- zeroed_ciaddr = ISC_FALSE;
++ zeroed_ciaddr = false;
+ cip.len = 4;
+ memcpy(cip.iabuf, &packet->raw->ciaddr, 4);
+ addr_type = "client";
+@@ -1133,7 +1133,7 @@ void dhcpinform (packet, ms_nulltp)
+ if (packet->raw->giaddr.s_addr) {
+ gip.len = 4;
+ memcpy(gip.iabuf, &packet->raw->giaddr, 4);
+- if (zeroed_ciaddr == ISC_TRUE) {
++ if (zeroed_ciaddr == true) {
+ addr_type = "relay";
+ memcpy(sip.iabuf, gip.iabuf, 4);
+ }
+@@ -1207,7 +1207,7 @@ void dhcpinform (packet, ms_nulltp)
+ save_option(&dhcp_universe, options, noc);
+ option_cache_dereference(&noc, MDL);
+
+- if ((zeroed_ciaddr == ISC_TRUE) && (gip.len != 0))
++ if ((zeroed_ciaddr == true) && (gip.len != 0))
+ addr_type = "relay link select";
+ else
+ addr_type = "selected";
+@@ -1261,7 +1261,7 @@ void dhcpinform (packet, ms_nulltp)
+ NULL, NULL);
+
+ /* If we have ciaddr, find its lease so we can find its pool. */
+- if (zeroed_ciaddr == ISC_FALSE) {
++ if (zeroed_ciaddr == false) {
+ struct lease* cip_lease = NULL;
+
+ find_lease_by_ip_addr (&cip_lease, cip, MDL);
+@@ -2036,7 +2036,7 @@ void echo_client_id(packet, lease, in_op
+ unsigned int opcode = DHO_DHCP_CLIENT_IDENTIFIER;
+
+ /* Save knowledge that echo is enabled to the packet */
+- packet->sv_echo_client_id = ISC_TRUE;
++ packet->sv_echo_client_id = true;
+
+ /* Now see if inbound packet contains client-id */
+ oc = lookup_option(&dhcp_universe, packet->options, opcode);
+@@ -2187,7 +2187,7 @@ void ack_lease (packet, lease, offer, wh
+ struct iaddr cip;
+ #if defined(DELAYED_ACK)
+ /* By default we don't do the enqueue */
+- isc_boolean_t enqueue = ISC_FALSE;
++ bool enqueue = false;
+ #endif
+ int use_old_lease = 0;
+
+@@ -3217,7 +3217,7 @@ void ack_lease (packet, lease, offer, wh
+ * can just answer right away, set a flag to indicate this.
+ */
+ if (commit)
+- enqueue = ISC_TRUE;
++ enqueue = true;
+
+ /* Install the new information on 'lt' onto the lease at
+ * 'lease'. We will not 'commit' this information to disk
+@@ -4234,7 +4234,7 @@ int find_lease (struct lease **lp,
+ * preference, so the first one is the best one.
+ */
+ while (uid_lease) {
+- isc_boolean_t do_release = !packet->raw->ciaddr.s_addr;
++ bool do_release = !packet->raw->ciaddr.s_addr;
+ #if defined (DEBUG_FIND_LEASE)
+ log_info ("trying next lease matching client id: %s",
+ piaddr (uid_lease -> ip_addr));
+@@ -4267,7 +4267,7 @@ int find_lease (struct lease **lp,
+ #endif
+ /* Allow multiple leases using the same UID
+ on different subnetworks. */
+- do_release = ISC_FALSE;
++ do_release = false;
+ goto n_uid;
+ }
+
+@@ -5331,7 +5331,7 @@ get_server_source_address(struct in_addr
+ struct option_cache *oc = NULL;
+ struct data_string d;
+ struct in_addr *a = NULL;
+- isc_boolean_t found = ISC_FALSE;
++ bool found = false;
+ int allocate = 0;
+
+ memset(&d, 0, sizeof(d));
+@@ -5344,7 +5344,7 @@ get_server_source_address(struct in_addr
+ packet->options, options,
+ &global_scope, oc, MDL)) {
+ if (d.len == sizeof(*from)) {
+- found = ISC_TRUE;
++ found = true;
+ memcpy(from, d.data, sizeof(*from));
+
+ /*
+@@ -5362,7 +5362,7 @@ get_server_source_address(struct in_addr
+ oc = NULL;
+ }
+
+- if ((found == ISC_FALSE) &&
++ if ((found == false) &&
+ (packet->interface->address_count > 0)) {
+ *from = packet->interface->addresses[0];
+
+Index: dhcp-4.4.1/server/failover.c
+===================================================================
+--- dhcp-4.4.1.orig/server/failover.c
++++ dhcp-4.4.1/server/failover.c
+@@ -45,7 +45,7 @@ static isc_result_t failover_message_der
+ static void dhcp_failover_pool_balance(dhcp_failover_state_t *state);
+ static void dhcp_failover_pool_reqbalance(dhcp_failover_state_t *state);
+ static int dhcp_failover_pool_dobalance(dhcp_failover_state_t *state,
+- isc_boolean_t *sendreq);
++ bool *sendreq);
+ static inline int secondary_not_hoarding(dhcp_failover_state_t *state,
+ struct pool *p);
+ static void scrub_lease(struct lease* lease, const char *file, int line);
+@@ -2464,7 +2464,7 @@ void
+ dhcp_failover_pool_rebalance(void *failover_state)
+ {
+ dhcp_failover_state_t *state;
+- isc_boolean_t sendreq = ISC_FALSE;
++ bool sendreq = false;
+
+ state = (dhcp_failover_state_t *)failover_state;
+
+@@ -2512,7 +2512,7 @@ dhcp_failover_pool_reqbalance(dhcp_failo
+ */
+ static int
+ dhcp_failover_pool_dobalance(dhcp_failover_state_t *state,
+- isc_boolean_t *sendreq)
++ bool *sendreq)
+ {
+ int lts, total, thresh, hold, panic, pass;
+ int leases_queued = 0;
+@@ -2581,7 +2581,7 @@ dhcp_failover_pool_dobalance(dhcp_failov
+
+ if ((sendreq != NULL) && (lts < panic)) {
+ reqlog = " (requesting peer rebalance!)";
+- *sendreq = ISC_TRUE;
++ *sendreq = true;
+ } else
+ reqlog = "";
+
+@@ -5111,7 +5111,7 @@ isc_result_t dhcp_failover_send_update_d
+ * a more detailed system of preferences is required, so this is something we
+ * should monitor as we gain experience with these dueling events.
+ */
+-static isc_boolean_t
++static bool
+ failover_lease_is_better(dhcp_failover_state_t *state, struct lease *lease,
+ failover_message_t *msg)
+ {
+@@ -5132,15 +5132,15 @@ failover_lease_is_better(dhcp_failover_s
+ case FTS_ACTIVE:
+ if (msg->binding_status == FTS_ACTIVE) {
+ if (msg_cltt < lease->cltt)
+- return ISC_TRUE;
++ return true;
+ else if (msg_cltt > lease->cltt)
+- return ISC_FALSE;
++ return false;
+ else if (state->i_am == primary)
+- return ISC_TRUE;
++ return true;
+ else
+- return ISC_FALSE;
++ return false;
+ } else if (msg->binding_status == FTS_EXPIRED) {
+- return ISC_FALSE;
++ return false;
+ }
+ /* FALL THROUGH */
+
+@@ -5151,11 +5151,11 @@ failover_lease_is_better(dhcp_failover_s
+ case FTS_ABANDONED:
+ case FTS_RESET:
+ if (msg->binding_status == FTS_ACTIVE)
+- return ISC_FALSE;
++ return false;
+ else if (state->i_am == primary)
+- return ISC_TRUE;
++ return true;
+ else
+- return ISC_FALSE;
++ return false;
+ /* FALL THROUGH to impossible condition */
+
+ default:
+@@ -5164,7 +5164,7 @@ failover_lease_is_better(dhcp_failover_s
+
+ log_fatal("Impossible condition at %s:%d.", MDL);
+ /* Silence compiler warning. */
+- return ISC_FALSE;
++ return false;
+ }
+
+ isc_result_t dhcp_failover_process_bind_update (dhcp_failover_state_t *state,
+@@ -5177,8 +5177,8 @@ isc_result_t dhcp_failover_process_bind_
+ int new_binding_state;
+ int send_to_backup = 0;
+ int required_options;
+- isc_boolean_t chaddr_changed = ISC_FALSE;
+- isc_boolean_t ident_changed = ISC_FALSE;
++ bool chaddr_changed = false;
++ bool ident_changed = false;
+
+ /* Validate the binding update. */
+ required_options = FTB_ASSIGNED_IP_ADDRESS | FTB_BINDING_STATUS;
+@@ -5250,7 +5250,7 @@ isc_result_t dhcp_failover_process_bind_
+ if ((lt->hardware_addr.hlen != msg->chaddr.count) ||
+ (memcmp(lt->hardware_addr.hbuf, msg->chaddr.data,
+ msg->chaddr.count) != 0))
+- chaddr_changed = ISC_TRUE;
++ chaddr_changed = true;
+
+ lt -> hardware_addr.hlen = msg -> chaddr.count;
+ memcpy (lt -> hardware_addr.hbuf, msg -> chaddr.data,
+@@ -5262,7 +5262,7 @@ isc_result_t dhcp_failover_process_bind_
+ reason = FTR_MISSING_BINDINFO;
+ goto bad;
+ } else if (msg->binding_status == FTS_ABANDONED) {
+- chaddr_changed = ISC_TRUE;
++ chaddr_changed = true;
+ lt->hardware_addr.hlen = 0;
+ if (lt->scope)
+ binding_scope_dereference(&lt->scope, MDL);
+@@ -5282,7 +5282,7 @@ isc_result_t dhcp_failover_process_bind_
+ (lt->uid == NULL) || /* Sanity; should never happen. */
+ (memcmp(lt->uid, msg->client_identifier.data,
+ lt->uid_len) != 0))
+- ident_changed = ISC_TRUE;
++ ident_changed = true;
+
+ lt->uid_len = msg->client_identifier.count;
+
+@@ -5312,7 +5312,7 @@ isc_result_t dhcp_failover_process_bind_
+ } else if (lt->uid && msg->binding_status != FTS_RESET &&
+ msg->binding_status != FTS_FREE &&
+ msg->binding_status != FTS_BACKUP) {
+- ident_changed = ISC_TRUE;
++ ident_changed = true;
+ if (lt->uid != lt->uid_buf)
+ dfree (lt->uid, MDL);
+ lt->uid = NULL;
+@@ -5347,7 +5347,7 @@ isc_result_t dhcp_failover_process_bind_
+ if (msg->binding_status == FTS_ACTIVE &&
+ (chaddr_changed || ident_changed)) {
+ #if defined (NSUPDATE)
+- (void) ddns_removals(lease, NULL, NULL, ISC_FALSE);
++ (void) ddns_removals(lease, NULL, NULL, false);
+ #endif /* NSUPDATE */
+
+ if (lease->scope != NULL)
+@@ -5534,7 +5534,7 @@ isc_result_t dhcp_failover_process_bind_
+ struct iaddr ia;
+ const char *message = "no memory";
+ u_int32_t pot_expire;
+- int send_to_backup = ISC_FALSE;
++ int send_to_backup = false;
+ struct timeval tv;
+
+ ia.len = sizeof msg -> assigned_addr;
+@@ -5621,7 +5621,7 @@ isc_result_t dhcp_failover_process_bind_
+ if (state->i_am == primary &&
+ !(lease->flags & (RESERVED_LEASE | BOOTP_LEASE)) &&
+ peer_wants_lease(lease))
+- send_to_backup = ISC_TRUE;
++ send_to_backup = true;
+
+ if (!send_to_backup && state->me.state == normal)
+ commit_leases();
+Index: dhcp-4.4.1/server/dhcpd.c
+===================================================================
+--- dhcp-4.4.1.orig/server/dhcpd.c
++++ dhcp-4.4.1/server/dhcpd.c
+@@ -98,7 +98,7 @@ const char *path_dhcpd_conf = _PATH_DHCP
+ const char *path_dhcpd_db = _PATH_DHCPD_DB;
+ const char *path_dhcpd_pid = _PATH_DHCPD_PID;
+ /* False (default) => we write and use a pid file */
+-isc_boolean_t no_pid_file = ISC_FALSE;
++bool no_pid_file = false;
+
+ int dhcp_max_agent_option_packet_length = DHCP_MTU_MAX;
+
+@@ -476,7 +476,7 @@ main(int argc, char **argv) {
+ path_dhcpd_pid = argv [i];
+ have_dhcpd_pid = 1;
+ } else if (!strcmp(argv[i], "--no-pid")) {
+- no_pid_file = ISC_TRUE;
++ no_pid_file = true;
+ } else if (!strcmp (argv [i], "-t")) {
+ /* test configurations only */
+ #ifndef DEBUG
+@@ -863,7 +863,7 @@ main(int argc, char **argv) {
+ * - we don't have a pid file to check
+ * - there is no other process running
+ */
+- if ((lftest == 0) && (no_pid_file == ISC_FALSE)) {
++ if ((lftest == 0) && (no_pid_file == false)) {
+ /*Read previous pid file. */
+ if ((i = open(path_dhcpd_pid, O_RDONLY)) >= 0) {
+ status = read(i, pbuf, (sizeof pbuf) - 1);
+@@ -974,7 +974,7 @@ main(int argc, char **argv) {
+ * that we have forked we can write our pid if
+ * appropriate.
+ */
+- if (no_pid_file == ISC_FALSE) {
++ if (no_pid_file == false) {
+ i = open(path_dhcpd_pid, O_WRONLY|O_CREAT|O_TRUNC, 0644);
+ if (i >= 0) {
+ sprintf(pbuf, "%d\n", (int) getpid());
+@@ -1730,7 +1730,7 @@ static isc_result_t dhcp_io_shutdown_cou
+ free_everything ();
+ omapi_print_dmalloc_usage_by_caller ();
+ #endif
+- if (no_pid_file == ISC_FALSE)
++ if (no_pid_file == false)
+ (void) unlink(path_dhcpd_pid);
+ exit (0);
+ }
+@@ -1741,7 +1741,7 @@ static isc_result_t dhcp_io_shutdown_cou
+ free_everything ();
+ omapi_print_dmalloc_usage_by_caller ();
+ #endif
+- if (no_pid_file == ISC_FALSE)
++ if (no_pid_file == false)
+ (void) unlink(path_dhcpd_pid);
+ exit (0);
+ }
+@@ -1750,7 +1750,7 @@ static isc_result_t dhcp_io_shutdown_cou
+ #if defined(FAILOVER_PROTOCOL)
+ !failover_connection_count &&
+ #endif
+- ISC_TRUE) {
++ true) {
+ shutdown_state = shutdown_done;
+ shutdown_time = cur_time;
+ goto oncemore;
+Index: dhcp-4.4.1/server/mdb6.c
+===================================================================
+--- dhcp-4.4.1.orig/server/mdb6.c
++++ dhcp-4.4.1/server/mdb6.c
+@@ -514,10 +514,10 @@ ia_remove_all_lease(struct ia_xx *ia, co
+ /*
+ * Compare two IA.
+ */
+-isc_boolean_t
++bool
+ ia_equal(const struct ia_xx *a, const struct ia_xx *b)
+ {
+- isc_boolean_t found;
++ bool found;
+ int i, j;
+
+ /*
+@@ -525,9 +525,9 @@ ia_equal(const struct ia_xx *a, const st
+ */
+ if (a == NULL) {
+ if (b == NULL) {
+- return ISC_TRUE;
++ return true;
+ } else {
+- return ISC_FALSE;
++ return false;
+ }
+ }
+
+@@ -535,58 +535,58 @@ ia_equal(const struct ia_xx *a, const st
+ * Check the type is the same.
+ */
+ if (a->ia_type != b->ia_type) {
+- return ISC_FALSE;
++ return false;
+ }
+
+ /*
+ * Check the DUID is the same.
+ */
+ if (a->iaid_duid.len != b->iaid_duid.len) {
+- return ISC_FALSE;
++ return false;
+ }
+ if (memcmp(a->iaid_duid.data,
+ b->iaid_duid.data, a->iaid_duid.len) != 0) {
+- return ISC_FALSE;
++ return false;
+ }
+
+ /*
+ * Make sure we have the same number of addresses/prefixes in each.
+ */
+ if (a->num_iasubopt != b->num_iasubopt) {
+- return ISC_FALSE;
++ return false;
+ }
+
+ /*
+ * Check that each address/prefix is present in both.
+ */
+ for (i=0; i<a->num_iasubopt; i++) {
+- found = ISC_FALSE;
++ found = false;
+ for (j=0; j<a->num_iasubopt; j++) {
+ if (a->iasubopt[i]->plen != b->iasubopt[i]->plen)
+ continue;
+ if (memcmp(&(a->iasubopt[i]->addr),
+ &(b->iasubopt[j]->addr),
+ sizeof(struct in6_addr)) == 0) {
+- found = ISC_TRUE;
++ found = true;
+ break;
+ }
+ }
+ if (!found) {
+- return ISC_FALSE;
++ return false;
+ }
+ }
+
+ /*
+ * These are the same in every way we care about.
+ */
+- return ISC_TRUE;
++ return true;
+ }
+
+ /*
+ * Helper function for lease heaps.
+ * Makes the top of the heap the oldest lease.
+ */
+-static isc_boolean_t
++static bool
+ lease_older(void *a, void *b) {
+ struct iasubopt *la = (struct iasubopt *)a;
+ struct iasubopt *lb = (struct iasubopt *)b;
+@@ -1038,8 +1038,8 @@ create_lease6(struct ipv6_pool *pool, st
+ struct data_string new_ds;
+ struct iasubopt *iaaddr;
+ isc_result_t result;
+- isc_boolean_t reserved_iid;
+- static isc_boolean_t init_resiid = ISC_FALSE;
++ bool reserved_iid;
++ static bool init_resiid = false;
+
+ /*
+ * Fill the reserved IIDs.
+@@ -1049,7 +1049,7 @@ create_lease6(struct ipv6_pool *pool, st
+ memset(&resany, 0, 8);
+ resany.s6_addr[8] = 0xfd;
+ memset(&resany.s6_addr[9], 0xff, 6);
+- init_resiid = ISC_TRUE;
++ init_resiid = true;
+ }
+
+ /*
+@@ -1094,14 +1094,14 @@ create_lease6(struct ipv6_pool *pool, st
+ /*
+ * Avoid reserved interface IDs. (cf. RFC 5453)
+ */
+- reserved_iid = ISC_FALSE;
++ reserved_iid = false;
+ if (memcmp(&tmp.s6_addr[8], &rtany.s6_addr[8], 8) == 0) {
+- reserved_iid = ISC_TRUE;
++ reserved_iid = true;
+ }
+ if (!reserved_iid &&
+ (memcmp(&tmp.s6_addr[8], &resany.s6_addr[8], 7) == 0) &&
+ ((tmp.s6_addr[15] & 0x80) == 0x80)) {
+- reserved_iid = ISC_TRUE;
++ reserved_iid = true;
+ }
+
+ /*
+@@ -1177,7 +1177,7 @@ create_lease6_eui_64(struct ipv6_pool *p
+ struct iasubopt *test_iaaddr;
+ struct iasubopt *iaaddr;
+ isc_result_t result;
+- static isc_boolean_t init_resiid = ISC_FALSE;
++ static bool init_resiid = false;
+
+ /* Fill the reserved IIDs. */
+ if (!init_resiid) {
+@@ -1185,7 +1185,7 @@ create_lease6_eui_64(struct ipv6_pool *p
+ memset(&resany, 0, 8);
+ resany.s6_addr[8] = 0xfd;
+ memset(&resany.s6_addr[9], 0xff, 6);
+- init_resiid = ISC_TRUE;
++ init_resiid = true;
+ }
+
+ /* Pool must be IA_NA */
+@@ -1520,7 +1520,7 @@ add_lease6(struct ipv6_pool *pool, struc
+ /*
+ * Determine if an address is present in a pool or not.
+ */
+-isc_boolean_t
++bool
+ lease6_exists(const struct ipv6_pool *pool, const struct in6_addr *addr) {
+ struct iasubopt *test_iaaddr;
+
+@@ -1528,9 +1528,9 @@ lease6_exists(const struct ipv6_pool *po
+ if (iasubopt_hash_lookup(&test_iaaddr, pool->leases,
+ (void *)addr, sizeof(*addr), MDL)) {
+ iasubopt_dereference(&test_iaaddr, MDL);
+- return ISC_TRUE;
++ return true;
+ } else {
+- return ISC_FALSE;
++ return false;
+ }
+ }
+
+@@ -1545,20 +1545,20 @@ lease6_exists(const struct ipv6_pool *po
+ * \param[in] lease = lease to check
+ *
+ * \return
+- * ISC_TRUE = The lease is allowed to use that address
+- * ISC_FALSE = The lease isn't allowed to use that address
++ * true = The lease is allowed to use that address
++ * false = The lease isn't allowed to use that address
+ */
+-isc_boolean_t
++bool
+ lease6_usable(struct iasubopt *lease) {
+ struct iasubopt *test_iaaddr;
+- isc_boolean_t status = ISC_TRUE;
++ bool status = true;
+
+ test_iaaddr = NULL;
+ if (iasubopt_hash_lookup(&test_iaaddr, lease->ipv6_pool->leases,
+ (void *)&lease->addr,
+ sizeof(lease->addr), MDL)) {
+ if (test_iaaddr != lease) {
+- status = ISC_FALSE;
++ status = false;
+ }
+ iasubopt_dereference(&test_iaaddr, MDL);
+ }
+@@ -1697,7 +1697,7 @@ move_lease_to_inactive(struct ipv6_pool
+ #if defined (NSUPDATE)
+ /* Process events upon expiration. */
+ if (pool->pool_type != D6O_IA_PD) {
+- (void) ddns_removals(NULL, lease, NULL, ISC_FALSE);
++ (void) ddns_removals(NULL, lease, NULL, false);
+ }
+ #endif
+
+@@ -1977,21 +1977,21 @@ create_prefix6(struct ipv6_pool *pool, s
+ /*
+ * Determine if a prefix is present in a pool or not.
+ */
+-isc_boolean_t
++bool
+ prefix6_exists(const struct ipv6_pool *pool,
+ const struct in6_addr *pref, u_int8_t plen) {
+ struct iasubopt *test_iapref;
+
+ if ((int)plen != pool->units)
+- return ISC_FALSE;
++ return false;
+
+ test_iapref = NULL;
+ if (iasubopt_hash_lookup(&test_iapref, pool->leases,
+ (void *)pref, sizeof(*pref), MDL)) {
+ iasubopt_dereference(&test_iapref, MDL);
+- return ISC_TRUE;
++ return true;
+ } else {
+- return ISC_FALSE;
++ return false;
+ }
+ }
+
+@@ -2267,15 +2267,15 @@ ipv6_network_portion(struct in6_addr *re
+ /*
+ * Determine if the given address/prefix is in the pool.
+ */
+-isc_boolean_t
++bool
+ ipv6_in_pool(const struct in6_addr *addr, const struct ipv6_pool *pool) {
+ struct in6_addr tmp;
+
+ ipv6_network_portion(&tmp, addr, pool->bits);
+ if (memcmp(&tmp, &pool->start_addr, sizeof(tmp)) == 0) {
+- return ISC_TRUE;
++ return true;
+ } else {
+- return ISC_FALSE;
++ return false;
+ }
+ }
+
+Index: dhcp-4.4.1/server/ddns.c
+===================================================================
+--- dhcp-4.4.1.orig/server/ddns.c
++++ dhcp-4.4.1/server/ddns.c
+@@ -373,7 +373,7 @@ ddns_updates(struct packet *packet, stru
+
+ /* If desired do the removals */
+ if (do_remove != 0) {
+- (void) ddns_removals(lease, lease6, NULL, ISC_TRUE);
++ (void) ddns_removals(lease, lease6, NULL, true);
+ }
+ goto out;
+ }
+@@ -618,7 +618,7 @@ ddns_updates(struct packet *packet, stru
+ * We should log a more specific error closer to the actual
+ * error if we want one. ddns_removal failure not logged here.
+ */
+- (void) ddns_removals(lease, lease6, ddns_cb, ISC_TRUE);
++ (void) ddns_removals(lease, lease6, ddns_cb, true);
+ }
+ else {
+ ddns_fwd_srv_connector(lease, lease6, scope, ddns_cb,
+@@ -1907,7 +1907,7 @@ ddns_fwd_srv_rem1(dhcp_ddns_cb_t *ddns_c
+ * the current entry.
+ *
+ * \li active - indication about the status of the lease. It is
+- * ISC_TRUE if the lease is still active, and FALSE if the lease
++ * true if the lease is still active, and FALSE if the lease
+ * is inactive. This is used to indicate if the lease is inactive or going
+ * to inactive so we can avoid trying to update the lease with cb pointers
+ * and text information if it isn't useful.
+@@ -1923,7 +1923,7 @@ isc_result_t
+ ddns_removals(struct lease *lease,
+ struct iasubopt *lease6,
+ dhcp_ddns_cb_t *add_ddns_cb,
+- isc_boolean_t active)
++ bool active)
+ {
+ isc_result_t rcode, execute_add = ISC_R_FAILURE;
+ struct binding_scope **scope = NULL;
+@@ -1970,7 +1970,7 @@ ddns_removals(struct lease *lease,
+ if (((ddns_cb->state == DDNS_STATE_ADD_PTR) ||
+ (ddns_cb->state == DDNS_STATE_ADD_FW_NXDOMAIN) ||
+ (ddns_cb->state == DDNS_STATE_ADD_FW_YXDHCID)) ||
+- ((active == ISC_FALSE) &&
++ ((active == false) &&
+ ((ddns_cb->flags & DDNS_ACTIVE_LEASE) != 0))) {
+ /* Cancel the current request */
+ ddns_cancel(lease->ddns_cb, MDL);
+@@ -1998,7 +1998,7 @@ ddns_removals(struct lease *lease,
+ if (((ddns_cb->state == DDNS_STATE_ADD_PTR) ||
+ (ddns_cb->state == DDNS_STATE_ADD_FW_NXDOMAIN) ||
+ (ddns_cb->state == DDNS_STATE_ADD_FW_YXDHCID)) ||
+- ((active == ISC_FALSE) &&
++ ((active == false) &&
+ ((ddns_cb->flags & DDNS_ACTIVE_LEASE) != 0))) {
+ /* Cancel the current request */
+ ddns_cancel(lease6->ddns_cb, MDL);
+@@ -2053,7 +2053,7 @@ ddns_removals(struct lease *lease,
+ * the lease information for v6 when the response
+ * from the DNS code is processed.
+ */
+- if (active == ISC_TRUE) {
++ if (active == true) {
+ ddns_cb->flags |= DDNS_ACTIVE_LEASE;
+ }
+
+Index: dhcp-4.4.1/server/mdb.c
+===================================================================
+--- dhcp-4.4.1.orig/server/mdb.c
++++ dhcp-4.4.1/server/mdb.c
+@@ -1504,7 +1504,7 @@ void make_binding_state_transition (stru
+ lease -> binding_state == FTS_ACTIVE &&
+ lease -> next_binding_state != FTS_RELEASED))) {
+ #if defined (NSUPDATE)
+- (void) ddns_removals(lease, NULL, NULL, ISC_TRUE);
++ (void) ddns_removals(lease, NULL, NULL, true);
+ #endif
+ if (lease->on_star.on_expiry) {
+ execute_statements(NULL, NULL, lease,
+@@ -1568,7 +1568,7 @@ void make_binding_state_transition (stru
+ * release message. This is not true of expiry, where the
+ * peer may have extended the lease.
+ */
+- (void) ddns_removals(lease, NULL, NULL, ISC_TRUE);
++ (void) ddns_removals(lease, NULL, NULL, true);
+ #endif
+ if (lease->on_star.on_release) {
+ execute_statements(NULL, NULL, lease,
+@@ -1736,7 +1736,7 @@ void release_lease (lease, packet)
+ /* If there are statements to execute when the lease is
+ released, execute them. */
+ #if defined (NSUPDATE)
+- (void) ddns_removals(lease, NULL, NULL, ISC_FALSE);
++ (void) ddns_removals(lease, NULL, NULL, false);
+ #endif
+ if (lease->on_star.on_release) {
+ execute_statements (NULL, packet, lease,
+@@ -1810,7 +1810,7 @@ void abandon_lease (lease, message)
+ {
+ struct lease *lt = NULL;
+ #if defined (NSUPDATE)
+- (void) ddns_removals(lease, NULL, NULL, ISC_FALSE);
++ (void) ddns_removals(lease, NULL, NULL, false);
+ #endif
+
+ if (!lease_copy(&lt, lease, MDL)) {
+@@ -1860,7 +1860,7 @@ void dissociate_lease (lease)
+ {
+ struct lease *lt = (struct lease *)0;
+ #if defined (NSUPDATE)
+- (void) ddns_removals(lease, NULL, NULL, ISC_FALSE);
++ (void) ddns_removals(lease, NULL, NULL, false);
+ #endif
+
+ if (!lease_copy (&lt, lease, MDL))
+@@ -2072,38 +2072,38 @@ int find_lease_by_hw_addr (struct lease
+ * should never see reset leases for this.
+ * 4) Abandoned leases are always dead last.
+ */
+-static isc_boolean_t
++static bool
+ client_lease_preferred(struct lease *cand, struct lease *lease)
+ {
+ if (cand->binding_state == FTS_ACTIVE) {
+ if (lease->binding_state == FTS_ACTIVE &&
+ lease->ends >= cand->ends)
+- return ISC_TRUE;
++ return true;
+ } else if (cand->binding_state == FTS_EXPIRED ||
+ cand->binding_state == FTS_RELEASED) {
+ if (lease->binding_state == FTS_ACTIVE)
+- return ISC_TRUE;
++ return true;
+
+ if ((lease->binding_state == FTS_EXPIRED ||
+ lease->binding_state == FTS_RELEASED) &&
+ lease->cltt >= cand->cltt)
+- return ISC_TRUE;
++ return true;
+ } else if (cand->binding_state != FTS_ABANDONED) {
+ if (lease->binding_state == FTS_ACTIVE ||
+ lease->binding_state == FTS_EXPIRED ||
+ lease->binding_state == FTS_RELEASED)
+- return ISC_TRUE;
++ return true;
+
+ if (lease->binding_state != FTS_ABANDONED &&
+ lease->cltt >= cand->cltt)
+- return ISC_TRUE;
++ return true;
+ } else /* (cand->binding_state == FTS_ABANDONED) */ {
+ if (lease->binding_state != FTS_ABANDONED ||
+ lease->cltt >= cand->cltt)
+- return ISC_TRUE;
++ return true;
+ }
+
+- return ISC_FALSE;
++ return false;
+ }
+
+ /* Add the specified lease to the uid hash. */
diff --git a/meta/recipes-connectivity/dhcp/dhcp_4.4.1.bb b/meta/recipes-connectivity/dhcp/dhcp_4.4.1.bb
index 159abbc4056..ca0daa1810e 100644
--- a/meta/recipes-connectivity/dhcp/dhcp_4.4.1.bb
+++ b/meta/recipes-connectivity/dhcp/dhcp_4.4.1.bb
@@ -10,6 +10,7 @@ SRC_URI += "file://0001-define-macro-_PATH_DHCPD_CONF-and-_PATH_DHCLIENT_CON.pat
file://0009-remove-dhclient-script-bash-dependency.patch \
file://0012-dhcp-correct-the-intention-for-xml2-lib-search.patch \
file://0013-fixup_use_libbind.patch \
+ file://0001-dhcpd-fix-Replace-custom-isc_boolean_t-with-C-standa.patch \
"
SRC_URI[md5sum] = "18c7f4dcbb0a63df25098216d47b1ede"