From 5775e9ef2fce1d0b9860602f1065bb1e09bc1b61 Mon Sep 17 00:00:00 2001 From: Armin Kuster Date: Wed, 24 Oct 2018 01:19:46 +0100 Subject: dhcp: fix issue with new bind changes Signed-off-by: Armin Kuster --- ...eplace-custom-isc_boolean_t-with-C-standa.patch | 2882 ++++++++++++++++++++ meta/recipes-connectivity/dhcp/dhcp_4.4.1.bb | 1 + 2 files changed, 2883 insertions(+) create mode 100644 meta/recipes-connectivity/dhcp/dhcp/0001-dhcpd-fix-Replace-custom-isc_boolean_t-with-C-standa.patch (limited to 'meta/recipes-connectivity') 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 0000000000..d2e57714cd --- /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 +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 +--- + 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(<->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; inum_iasubopt; i++) { +- found = ISC_FALSE; ++ found = false; + for (j=0; jnum_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(<, 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 (<, 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 159abbc405..ca0daa1810 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" -- cgit 1.2.3-korg