pkgsrc-WIP-changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Add kea-git to pkgsrc-wip
Module Name: pkgsrc-wip
Committed By: Niclas Rosenvik <nros%netbsd.org@localhost>
Pushed By: nros
Date: Mon Jan 13 21:42:13 2020 +0000
Changeset: 4f3946cbbf4b180d757ff826bc0cf0ce273b2473
Added Files:
kea-git/DESCR
kea-git/MESSAGE.SunOS
kea-git/Makefile
kea-git/PLIST
kea-git/PLIST.Linux
kea-git/TODO
kea-git/distinfo
kea-git/files/kea.sh
kea-git/options.mk
kea-git/patches/patch-Makefile.am
kea-git/patches/patch-configure.ac
kea-git/patches/patch-m4macros_ax__gtest.m4
kea-git/patches/patch-src_bin_agent_agent__lexer.ll
kea-git/patches/patch-src_bin_d2_d2__lexer.ll
kea-git/patches/patch-src_bin_dhcp4_dhcp4__lexer.ll
kea-git/patches/patch-src_bin_dhcp4_tests_parser__unittest.cc
kea-git/patches/patch-src_bin_dhcp6_dhcp6__lexer.ll
kea-git/patches/patch-src_bin_dhcp6_tests_parser__unittest.cc
kea-git/patches/patch-src_bin_keactrl_Makefile.am
kea-git/patches/patch-src_bin_netconf_netconf__lexer.ll
kea-git/patches/patch-src_lib_dhcp_Makefile.am
kea-git/patches/patch-src_lib_dhcp_iface__mgr__sun.cc
kea-git/patches/patch-src_lib_dhcp_pkt__filter__inet.cc
kea-git/patches/patch-src_lib_dhcp_tests_Makefile.am
kea-git/patches/patch-src_lib_dhcp_tests_iface__mgr__unittest.cc
kea-git/patches/patch-src_lib_dhcpsrv_Makefile.am
kea-git/patches/patch-src_lib_dhcpsrv_host__data__source__factory.cc
kea-git/patches/patch-src_lib_util_signal__set.cc
kea-git/patches/patch-src_lib_util_watch__socket.cc
Log Message:
Add kea-git to pkgsrc-wip
add kea-git to pkgsrc-wip, kea-git tracks kea via git repo.
kea is a collection of dhcp servers from the internet systems
consortium.
To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=4f3946cbbf4b180d757ff826bc0cf0ce273b2473
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
diffstat:
kea-git/DESCR | 1 +
kea-git/MESSAGE.SunOS | 15 +
kea-git/Makefile | 70 +++
kea-git/PLIST | 540 +++++++++++++++++++++
kea-git/PLIST.Linux | 2 +
kea-git/TODO | 3 +
kea-git/distinfo | 26 +
kea-git/files/kea.sh | 25 +
kea-git/options.mk | 73 +++
kea-git/patches/patch-Makefile.am | 21 +
kea-git/patches/patch-configure.ac | 24 +
kea-git/patches/patch-m4macros_ax__gtest.m4 | 15 +
.../patches/patch-src_bin_agent_agent__lexer.ll | 21 +
kea-git/patches/patch-src_bin_d2_d2__lexer.ll | 21 +
.../patches/patch-src_bin_dhcp4_dhcp4__lexer.ll | 21 +
.../patch-src_bin_dhcp4_tests_parser__unittest.cc | 18 +
.../patches/patch-src_bin_dhcp6_dhcp6__lexer.ll | 21 +
.../patch-src_bin_dhcp6_tests_parser__unittest.cc | 18 +
kea-git/patches/patch-src_bin_keactrl_Makefile.am | 25 +
.../patch-src_bin_netconf_netconf__lexer.ll | 21 +
kea-git/patches/patch-src_lib_dhcp_Makefile.am | 26 +
.../patches/patch-src_lib_dhcp_iface__mgr__sun.cc | 109 +++++
.../patch-src_lib_dhcp_pkt__filter__inet.cc | 49 ++
.../patches/patch-src_lib_dhcp_tests_Makefile.am | 17 +
...atch-src_lib_dhcp_tests_iface__mgr__unittest.cc | 34 ++
kea-git/patches/patch-src_lib_dhcpsrv_Makefile.am | 12 +
...-src_lib_dhcpsrv_host__data__source__factory.cc | 15 +
kea-git/patches/patch-src_lib_util_signal__set.cc | 32 ++
.../patches/patch-src_lib_util_watch__socket.cc | 17 +
29 files changed, 1292 insertions(+)
diffs:
diff --git a/kea-git/DESCR b/kea-git/DESCR
new file mode 100644
index 0000000000..679a5c09e4
--- /dev/null
+++ b/kea-git/DESCR
@@ -0,0 +1 @@
+kea is a collection of dhcp servers from the Internet systems consortium.
diff --git a/kea-git/MESSAGE.SunOS b/kea-git/MESSAGE.SunOS
new file mode 100644
index 0000000000..b1a76a804e
--- /dev/null
+++ b/kea-git/MESSAGE.SunOS
@@ -0,0 +1,15 @@
+===========================================================================
+$NetBSD$
+
+kea needs a basename utility that that can be invoked as:
+
+ $(basename -- /path/to/file)
+
+In order to get a kea compatible basename utility you should put
+either of the following first in your PATH:
+
+ /usr/xpg4/bin
+ /usr/gnu/bin
+
+
+===========================================================================
diff --git a/kea-git/Makefile b/kea-git/Makefile
new file mode 100644
index 0000000000..cf44202ba1
--- /dev/null
+++ b/kea-git/Makefile
@@ -0,0 +1,70 @@
+# $NetBSD$
+
+PKGNAME= kea-git-1.7
+CATEGORIES= net
+GIT_REPO= https://gitlab.isc.org/isc-projects/kea.git
+GIT_ENV= GIT_SSL_NO_VERIFY=true
+
+MAINTAINER= pkgsrc-users%NetBSD.org@localhost
+HOMEPAGE= https://www.isc.org/kea/
+COMMENT= DHCP servers from ISC
+LICENSE= mpl-2.0
+
+GNU_CONFIGURE= yes
+USE_LIBTOOL= yes
+USE_LANGUAGES= c c++
+USE_TOOLS= autoconf automake bash:run bison flex
+
+CONFIGURE_ARGS+= --with-openssl=${BUILDLINK_PREFIX.openssl}
+CONFIGURE_ARGS+= --enable-shell
+CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFDIR}
+CONFIGURE_ARGS+= --localstatedir=${VARBASE}
+CONFIGURE_ARGS+= --enable-generate-parser
+
+BUILDLINK_TRANSFORM+= rm:-Woverloaded-virtual
+
+PY_PATCHPLIST= yes
+
+RCD_SCRIPTS+= kea
+
+REPLACE_BASH+= src/bin/keactrl/keactrl.in
+
+EGDIR= share/examples/kea
+KEA_CONF= kea-ctrl-agent.conf
+KEA_CONF+= kea-dhcp-ddns.conf
+KEA_CONF+= kea-dhcp4.conf
+KEA_CONF+= kea-dhcp6.conf
+KEA_CONF+= keactrl.conf
+
+.for cf in ${KEA_CONF}
+CONF_FILES+= ${EGDIR}/${cf} ${PKG_SYSCONFDIR}/kea/${cf}
+.endfor
+
+# this can be used after building to run the unit tests
+run_kea_unittests:
+ cd ${WRKSRC} && env ${MAKE_ENV} ${MAKE_PROGRAM} ${BUILD_MAKE_FLAGS} check
+
+
+OWN_DIRS+= ${PKG_SYSCONFDIR}/kea
+OWN_DIRS+= ${VARBASE}/run/kea
+OWN_DIRS+= ${VARBASE}/lib/kea
+OWN_DIRS+= ${VARBASE}/log
+
+pre-configure:
+ cd ${WRKSRC} && autoreconf -i
+
+
+.include "options.mk"
+
+PLIST_VARS+= bpf
+.if !(${OPSYS} == "Linux")
+PLIST.bpf= yes
+.endif
+
+.include "../../wip/mk/git-package.mk"
+.include "../../devel/log4cplus/buildlink3.mk"
+.include "../../devel/boost-headers/buildlink3.mk"
+.include "../../devel/boost-libs/buildlink3.mk"
+.include "../../lang/python/extension.mk"
+.include "../../security/openssl/buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/kea-git/PLIST b/kea-git/PLIST
new file mode 100644
index 0000000000..113614ecd0
--- /dev/null
+++ b/kea-git/PLIST
@@ -0,0 +1,540 @@
+@comment $NetBSD$
+include/kea/asiodns/asiodns_messages.h
+include/kea/asiodns/io_fetch.h
+include/kea/asiodns/logger.h
+include/kea/asiolink/addr_utilities.h
+include/kea/asiolink/asio_wrapper.h
+include/kea/asiolink/asiolink.h
+include/kea/asiolink/dummy_io_cb.h
+include/kea/asiolink/interval_timer.h
+include/kea/asiolink/io_acceptor.h
+include/kea/asiolink/io_address.h
+include/kea/asiolink/io_asio_socket.h
+include/kea/asiolink/io_endpoint.h
+include/kea/asiolink/io_error.h
+include/kea/asiolink/io_service.h
+include/kea/asiolink/io_socket.h
+include/kea/asiolink/tcp_acceptor.h
+include/kea/asiolink/tcp_endpoint.h
+include/kea/asiolink/tcp_socket.h
+include/kea/asiolink/udp_endpoint.h
+include/kea/asiolink/udp_socket.h
+include/kea/asiolink/unix_domain_socket.h
+include/kea/asiolink/unix_domain_socket_acceptor.h
+include/kea/asiolink/unix_domain_socket_endpoint.h
+include/kea/cc/base_stamped_element.h
+include/kea/cc/cfg_to_element.h
+include/kea/cc/command_interpreter.h
+include/kea/cc/data.h
+include/kea/cc/dhcp_config_error.h
+include/kea/cc/element_value.h
+include/kea/cc/json_feed.h
+include/kea/cc/server_tag.h
+include/kea/cc/simple_parser.h
+include/kea/cc/stamped_element.h
+include/kea/cc/stamped_value.h
+include/kea/cc/user_context.h
+include/kea/cfgrpt/config_report.h
+include/kea/config.h
+include/kea/config/base_command_mgr.h
+include/kea/config/client_connection.h
+include/kea/config/cmds_impl.h
+include/kea/config/command_mgr.h
+include/kea/config/config_log.h
+include/kea/config/config_messages.h
+include/kea/config/hooked_command_mgr.h
+include/kea/config/timeouts.h
+include/kea/config_backend/base_config_backend.h
+include/kea/config_backend/base_config_backend_mgr.h
+include/kea/config_backend/base_config_backend_pool.h
+include/kea/config_backend/constants.h
+include/kea/cryptolink/crypto_hash.h
+include/kea/cryptolink/crypto_hmac.h
+include/kea/cryptolink/crypto_rng.h
+include/kea/cryptolink/cryptolink.h
+include/kea/cryptolink/openssl_common.h
+include/kea/cryptolink/openssl_compat.h
+include/kea/database/audit_entry.h
+include/kea/database/backend_selector.h
+include/kea/database/database_connection.h
+include/kea/database/db_exceptions.h
+include/kea/database/db_log.h
+include/kea/database/db_messages.h
+include/kea/database/dbaccess_parser.h
+include/kea/database/server.h
+include/kea/database/server_collection.h
+include/kea/database/server_selector.h
+include/kea/dhcp/classify.h
+include/kea/dhcp/dhcp4.h
+include/kea/dhcp/dhcp6.h
+include/kea/dhcp/docsis3_option_defs.h
+include/kea/dhcp/duid.h
+include/kea/dhcp/duid_factory.h
+include/kea/dhcp/hwaddr.h
+include/kea/dhcp/iface_mgr.h
+include/kea/dhcp/iface_mgr_error_handler.h
+include/kea/dhcp/libdhcp++.h
+include/kea/dhcp/opaque_data_tuple.h
+include/kea/dhcp/option.h
+include/kea/dhcp/option4_addrlst.h
+include/kea/dhcp/option4_client_fqdn.h
+include/kea/dhcp/option6_addrlst.h
+include/kea/dhcp/option6_auth.h
+include/kea/dhcp/option6_client_fqdn.h
+include/kea/dhcp/option6_ia.h
+include/kea/dhcp/option6_iaaddr.h
+include/kea/dhcp/option6_iaprefix.h
+include/kea/dhcp/option6_pdexclude.h
+include/kea/dhcp/option6_status_code.h
+include/kea/dhcp/option_custom.h
+include/kea/dhcp/option_data_types.h
+include/kea/dhcp/option_definition.h
+include/kea/dhcp/option_int.h
+include/kea/dhcp/option_int_array.h
+include/kea/dhcp/option_opaque_data_tuples.h
+include/kea/dhcp/option_space.h
+include/kea/dhcp/option_space_container.h
+include/kea/dhcp/option_string.h
+include/kea/dhcp/option_vendor.h
+include/kea/dhcp/option_vendor_class.h
+include/kea/dhcp/packet_queue.h
+include/kea/dhcp/packet_queue_mgr.h
+include/kea/dhcp/packet_queue_mgr4.h
+include/kea/dhcp/packet_queue_mgr6.h
+include/kea/dhcp/packet_queue_ring.h
+include/kea/dhcp/pkt.h
+include/kea/dhcp/pkt4.h
+include/kea/dhcp/pkt4o6.h
+include/kea/dhcp/pkt6.h
+include/kea/dhcp/pkt_filter.h
+include/kea/dhcp/pkt_filter6.h
+${PLIST.bpf}include/kea/dhcp/pkt_filter_bpf.h
+include/kea/dhcp/pkt_filter_inet.h
+include/kea/dhcp/pkt_filter_inet6.h
+include/kea/dhcp/protocol_util.h
+include/kea/dhcp/socket_info.h
+include/kea/dhcp/std_option_defs.h
+include/kea/dhcp_ddns/dhcp_ddns_log.h
+include/kea/dhcp_ddns/dhcp_ddns_messages.h
+include/kea/dhcp_ddns/ncr_io.h
+include/kea/dhcp_ddns/ncr_msg.h
+include/kea/dhcp_ddns/ncr_udp.h
+include/kea/dhcpsrv/alloc_engine.h
+include/kea/dhcpsrv/alloc_engine_log.h
+include/kea/dhcpsrv/alloc_engine_messages.h
+include/kea/dhcpsrv/base_host_data_source.h
+include/kea/dhcpsrv/cache_host_data_source.h
+include/kea/dhcpsrv/callout_handle_store.h
+include/kea/dhcpsrv/cb_ctl_dhcp.h
+include/kea/dhcpsrv/cb_ctl_dhcp4.h
+include/kea/dhcpsrv/cb_ctl_dhcp6.h
+include/kea/dhcpsrv/cfg_4o6.h
+include/kea/dhcpsrv/cfg_consistency.h
+include/kea/dhcpsrv/cfg_db_access.h
+include/kea/dhcpsrv/cfg_duid.h
+include/kea/dhcpsrv/cfg_expiration.h
+include/kea/dhcpsrv/cfg_host_operations.h
+include/kea/dhcpsrv/cfg_hosts.h
+include/kea/dhcpsrv/cfg_hosts_util.h
+include/kea/dhcpsrv/cfg_iface.h
+include/kea/dhcpsrv/cfg_mac_source.h
+include/kea/dhcpsrv/cfg_option.h
+include/kea/dhcpsrv/cfg_option_def.h
+include/kea/dhcpsrv/cfg_rsoo.h
+include/kea/dhcpsrv/cfg_shared_networks.h
+include/kea/dhcpsrv/cfg_subnets4.h
+include/kea/dhcpsrv/cfg_subnets6.h
+include/kea/dhcpsrv/cfgmgr.h
+include/kea/dhcpsrv/client_class_def.h
+include/kea/dhcpsrv/config_backend_dhcp4.h
+include/kea/dhcpsrv/config_backend_dhcp4_mgr.h
+include/kea/dhcpsrv/config_backend_dhcp6.h
+include/kea/dhcpsrv/config_backend_dhcp6_mgr.h
+include/kea/dhcpsrv/config_backend_pool_dhcp4.h
+include/kea/dhcpsrv/config_backend_pool_dhcp6.h
+include/kea/dhcpsrv/csv_lease_file4.h
+include/kea/dhcpsrv/csv_lease_file6.h
+include/kea/dhcpsrv/d2_client_cfg.h
+include/kea/dhcpsrv/d2_client_mgr.h
+include/kea/dhcpsrv/db_type.h
+include/kea/dhcpsrv/dhcp4o6_ipc.h
+include/kea/dhcpsrv/dhcpsrv_exceptions.h
+include/kea/dhcpsrv/dhcpsrv_log.h
+include/kea/dhcpsrv/dhcpsrv_messages.h
+include/kea/dhcpsrv/host.h
+include/kea/dhcpsrv/host_container.h
+include/kea/dhcpsrv/host_data_source_factory.h
+include/kea/dhcpsrv/host_mgr.h
+include/kea/dhcpsrv/hosts_log.h
+include/kea/dhcpsrv/hosts_messages.h
+include/kea/dhcpsrv/key_from_key.h
+include/kea/dhcpsrv/lease.h
+include/kea/dhcpsrv/lease_file_loader.h
+include/kea/dhcpsrv/lease_file_stats.h
+include/kea/dhcpsrv/lease_mgr.h
+include/kea/dhcpsrv/lease_mgr_factory.h
+include/kea/dhcpsrv/memfile_lease_mgr.h
+include/kea/dhcpsrv/memfile_lease_storage.h
+${PLIST.mysql}include/kea/dhcpsrv/mysql_host_data_source.h
+${PLIST.mysql}include/kea/dhcpsrv/mysql_lease_mgr.h
+include/kea/dhcpsrv/ncr_generator.h
+include/kea/dhcpsrv/network.h
+include/kea/dhcpsrv/network_state.h
+include/kea/dhcpsrv/parsers/base_network_parser.h
+include/kea/dhcpsrv/parsers/client_class_def_parser.h
+include/kea/dhcpsrv/parsers/dhcp_parsers.h
+include/kea/dhcpsrv/parsers/dhcp_queue_control_parser.h
+include/kea/dhcpsrv/parsers/duid_config_parser.h
+include/kea/dhcpsrv/parsers/expiration_config_parser.h
+include/kea/dhcpsrv/parsers/host_reservation_parser.h
+include/kea/dhcpsrv/parsers/host_reservations_list_parser.h
+include/kea/dhcpsrv/parsers/ifaces_config_parser.h
+include/kea/dhcpsrv/parsers/option_data_parser.h
+include/kea/dhcpsrv/parsers/sanity_checks_parser.h
+include/kea/dhcpsrv/parsers/shared_network_parser.h
+include/kea/dhcpsrv/parsers/shared_networks_list_parser.h
+include/kea/dhcpsrv/parsers/simple_parser4.h
+include/kea/dhcpsrv/parsers/simple_parser6.h
+${PLIST.pgsql}include/kea/dhcpsrv/pgsql_host_data_source.h
+${PLIST.pgsql}include/kea/dhcpsrv/pgsql_lease_mgr.h
+include/kea/dhcpsrv/pool.h
+include/kea/dhcpsrv/sanity_checker.h
+include/kea/dhcpsrv/shared_network.h
+include/kea/dhcpsrv/srv_config.h
+include/kea/dhcpsrv/subnet.h
+include/kea/dhcpsrv/subnet_id.h
+include/kea/dhcpsrv/subnet_selector.h
+include/kea/dhcpsrv/timer_mgr.h
+include/kea/dhcpsrv/triplet.h
+include/kea/dhcpsrv/utils.h
+include/kea/dhcpsrv/writable_host_data_source.h
+include/kea/dns/dns_fwd.h
+include/kea/dns/edns.h
+include/kea/dns/exceptions.h
+include/kea/dns/labelsequence.h
+include/kea/dns/master_lexer.h
+include/kea/dns/master_lexer_inputsource.h
+include/kea/dns/master_lexer_state.h
+include/kea/dns/master_loader.h
+include/kea/dns/master_loader_callbacks.h
+include/kea/dns/masterload.h
+include/kea/dns/message.h
+include/kea/dns/messagerenderer.h
+include/kea/dns/name.h
+include/kea/dns/nsec3hash.h
+include/kea/dns/opcode.h
+include/kea/dns/question.h
+include/kea/dns/rcode.h
+include/kea/dns/rdata.h
+include/kea/dns/rdata_pimpl_holder.h
+include/kea/dns/rdataclass.h
+include/kea/dns/rdatafields.h
+include/kea/dns/rrclass.h
+include/kea/dns/rrcollator.h
+include/kea/dns/rrparamregistry.h
+include/kea/dns/rrset.h
+include/kea/dns/rrset_collection.h
+include/kea/dns/rrset_collection_base.h
+include/kea/dns/rrttl.h
+include/kea/dns/rrtype.h
+include/kea/dns/serial.h
+include/kea/dns/tsig.h
+include/kea/dns/tsigerror.h
+include/kea/dns/tsigkey.h
+include/kea/dns/tsigrecord.h
+include/kea/dns/zone_checker.h
+include/kea/eval/dependency.h
+include/kea/eval/eval_context.h
+include/kea/eval/eval_context_decl.h
+include/kea/eval/eval_log.h
+include/kea/eval/eval_messages.h
+include/kea/eval/evaluate.h
+include/kea/eval/parser.h
+include/kea/eval/token.h
+include/kea/exceptions/exceptions.h
+include/kea/exceptions/isc_assert.h
+include/kea/hooks/callout_handle.h
+include/kea/hooks/callout_handle_associate.h
+include/kea/hooks/callout_manager.h
+include/kea/hooks/hooks.h
+include/kea/hooks/hooks_config.h
+include/kea/hooks/hooks_log.h
+include/kea/hooks/hooks_manager.h
+include/kea/hooks/hooks_messages.h
+include/kea/hooks/hooks_parser.h
+include/kea/hooks/libinfo.h
+include/kea/hooks/library_handle.h
+include/kea/hooks/library_manager.h
+include/kea/hooks/library_manager_collection.h
+include/kea/hooks/parking_lots.h
+include/kea/hooks/pointer_converter.h
+include/kea/hooks/server_hooks.h
+include/kea/http/client.h
+include/kea/http/connection.h
+include/kea/http/connection_pool.h
+include/kea/http/date_time.h
+include/kea/http/header_context.h
+include/kea/http/http_acceptor.h
+include/kea/http/http_header.h
+include/kea/http/http_log.h
+include/kea/http/http_message.h
+include/kea/http/http_message_parser_base.h
+include/kea/http/http_messages.h
+include/kea/http/http_types.h
+include/kea/http/listener.h
+include/kea/http/listener_impl.h
+include/kea/http/post_request.h
+include/kea/http/post_request_json.h
+include/kea/http/request.h
+include/kea/http/request_context.h
+include/kea/http/request_parser.h
+include/kea/http/response.h
+include/kea/http/response_context.h
+include/kea/http/response_creator.h
+include/kea/http/response_creator_factory.h
+include/kea/http/response_json.h
+include/kea/http/response_parser.h
+include/kea/http/url.h
+include/kea/kea_version.h
+include/kea/log/buffer_appender_impl.h
+include/kea/log/interprocess/interprocess_sync.h
+include/kea/log/interprocess/interprocess_sync_file.h
+include/kea/log/interprocess/interprocess_sync_null.h
+include/kea/log/log_dbglevels.h
+include/kea/log/log_formatter.h
+include/kea/log/log_messages.h
+include/kea/log/logger.h
+include/kea/log/logger_impl.h
+include/kea/log/logger_level.h
+include/kea/log/logger_level_impl.h
+include/kea/log/logger_manager.h
+include/kea/log/logger_manager_impl.h
+include/kea/log/logger_name.h
+include/kea/log/logger_specification.h
+include/kea/log/logger_support.h
+include/kea/log/logger_unittest_support.h
+include/kea/log/logimpl_messages.h
+include/kea/log/macros.h
+include/kea/log/message_dictionary.h
+include/kea/log/message_exception.h
+include/kea/log/message_initializer.h
+include/kea/log/message_reader.h
+include/kea/log/message_types.h
+include/kea/log/output_option.h
+${PLIST.mysql}include/kea/mysql/mysql_binding.h
+${PLIST.mysql}include/kea/mysql/mysql_connection.h
+${PLIST.mysql}include/kea/mysql/mysql_constants.h
+${PLIST.pgsql}include/kea/pgsql/pgsql_connection.h
+${PLIST.pgsql}include/kea/pgsql/pgsql_exchange.h
+include/kea/process/cb_ctl_base.h
+include/kea/process/config_base.h
+include/kea/process/config_ctl_info.h
+include/kea/process/config_ctl_parser.h
+include/kea/process/d_cfg_mgr.h
+include/kea/process/d_controller.h
+include/kea/process/d_log.h
+include/kea/process/d_process.h
+include/kea/process/daemon.h
+include/kea/process/io_service_signal.h
+include/kea/process/log_parser.h
+include/kea/process/logging_info.h
+include/kea/process/process_messages.h
+include/kea/stats/context.h
+include/kea/stats/observation.h
+include/kea/stats/stats_mgr.h
+include/kea/util/boost_time_utils.h
+include/kea/util/buffer.h
+include/kea/util/csv_file.h
+include/kea/util/doubles.h
+include/kea/util/encode/base16_from_binary.h
+include/kea/util/encode/base32hex.h
+include/kea/util/encode/base32hex_from_binary.h
+include/kea/util/encode/base64.h
+include/kea/util/encode/binary_from_base16.h
+include/kea/util/encode/binary_from_base32hex.h
+include/kea/util/encode/hex.h
+include/kea/util/filename.h
+include/kea/util/hash.h
+include/kea/util/io/fd.h
+include/kea/util/io/fd_share.h
+include/kea/util/io/pktinfo_utilities.h
+include/kea/util/io/sockaddr_util.h
+include/kea/util/io_utilities.h
+include/kea/util/labeled_value.h
+include/kea/util/memory_segment.h
+include/kea/util/memory_segment_local.h
+include/kea/util/optional.h
+include/kea/util/pid_file.h
+include/kea/util/pointer_util.h
+include/kea/util/process_spawn.h
+include/kea/util/random/qid_gen.h
+include/kea/util/random/random_number_generator.h
+include/kea/util/range_utilities.h
+include/kea/util/signal_set.h
+include/kea/util/staged_value.h
+include/kea/util/state_model.h
+include/kea/util/stopwatch.h
+include/kea/util/stopwatch_impl.h
+include/kea/util/strutil.h
+include/kea/util/time_utilities.h
+include/kea/util/versioned_csv_file.h
+include/kea/util/watch_socket.h
+include/kea/util/watched_thread.h
+lib/kea/hooks/libdhcp_bootp.la
+lib/kea/hooks/libdhcp_flex_option.la
+lib/kea/hooks/libdhcp_ha.la
+lib/kea/hooks/libdhcp_lease_cmds.la
+${PLIST.mysql}lib/kea/hooks/libdhcp_mysql_cb.la
+lib/kea/hooks/libdhcp_stat_cmds.la
+lib/libkea-asiodns.la
+lib/libkea-asiolink.la
+lib/libkea-cc.la
+lib/libkea-cfgclient.la
+lib/libkea-cryptolink.la
+lib/libkea-database.la
+lib/libkea-dhcp++.la
+lib/libkea-dhcp_ddns.la
+lib/libkea-dhcpsrv.la
+lib/libkea-dns++.la
+lib/libkea-eval.la
+lib/libkea-exceptions.la
+lib/libkea-hooks.la
+lib/libkea-http.la
+lib/libkea-log.la
+${PLIST.mysql}lib/libkea-mysql.la
+${PLIST.pgsql}lib/libkea-pgsql.la
+lib/libkea-process.la
+lib/libkea-stats.la
+lib/libkea-util-io.la
+lib/libkea-util.la
+${PYSITELIB}/kea/kea_conn.pyo
+${PYSITELIB}/kea/kea_conn.pyc
+${PYSITELIB}/kea/kea_connector2.pyo
+${PYSITELIB}/kea/kea_connector2.pyc
+${PYSITELIB}/kea/kea_connector3.pyo
+${PYSITELIB}/kea/kea_connector3.pyc
+${PYSITELIB}/kea/kea_conn.py
+${PYSITELIB}/kea/kea_connector2.py
+${PYSITELIB}/kea/kea_connector3.py
+sbin/kea-admin
+sbin/kea-ctrl-agent
+sbin/kea-dhcp-ddns
+sbin/kea-dhcp4
+sbin/kea-dhcp6
+sbin/kea-lfc
+sbin/kea-shell
+sbin/keactrl
+share/doc/kea/AUTHORS
+share/doc/kea/CONTRIBUTING.md
+share/doc/kea/COPYING
+share/doc/kea/ChangeLog
+share/doc/kea/README
+share/doc/kea/examples/agent/comments.json
+share/doc/kea/examples/agent/simple.json
+share/doc/kea/examples/ddns/comments.json
+share/doc/kea/examples/ddns/sample1.json
+share/doc/kea/examples/ddns/template.json
+share/doc/kea/examples/https/httpd2/kea-httpd2.conf
+share/doc/kea/examples/https/nginx/kea-nginx.conf
+share/doc/kea/examples/https/shell/kea-stunnel.conf
+share/doc/kea/examples/kea4/advanced.json
+share/doc/kea/examples/kea4/all-keys-netconf.json
+share/doc/kea/examples/kea4/all-keys.json
+share/doc/kea/examples/kea4/backends.json
+share/doc/kea/examples/kea4/cassandra.json
+share/doc/kea/examples/kea4/classify.json
+share/doc/kea/examples/kea4/classify2.json
+share/doc/kea/examples/kea4/comments.json
+share/doc/kea/examples/kea4/config-backend.json
+share/doc/kea/examples/kea4/dhcpv4-over-dhcpv6.json
+share/doc/kea/examples/kea4/global-reservations.json
+share/doc/kea/examples/kea4/ha-load-balancing-primary.json
+share/doc/kea/examples/kea4/hooks-radius.json
+share/doc/kea/examples/kea4/hooks.json
+share/doc/kea/examples/kea4/leases-expiration.json
+share/doc/kea/examples/kea4/multiple-options.json
+share/doc/kea/examples/kea4/mysql-reservations.json
+share/doc/kea/examples/kea4/pgsql-reservations.json
+share/doc/kea/examples/kea4/reservations.json
+share/doc/kea/examples/kea4/several-subnets.json
+share/doc/kea/examples/kea4/shared-network.json
+share/doc/kea/examples/kea4/single-subnet.json
+share/doc/kea/examples/kea4/with-ddns.json
+share/doc/kea/examples/kea6/advanced.json
+share/doc/kea/examples/kea6/all-keys-netconf.json
+share/doc/kea/examples/kea6/all-keys.json
+share/doc/kea/examples/kea6/backends.json
+share/doc/kea/examples/kea6/cassandra.json
+share/doc/kea/examples/kea6/classify.json
+share/doc/kea/examples/kea6/classify2.json
+share/doc/kea/examples/kea6/comments.json
+share/doc/kea/examples/kea6/config-backend.json
+share/doc/kea/examples/kea6/dhcpv4-over-dhcpv6.json
+share/doc/kea/examples/kea6/duid.json
+share/doc/kea/examples/kea6/global-reservations.json
+share/doc/kea/examples/kea6/ha-hot-standby.json
+share/doc/kea/examples/kea6/hooks.json
+share/doc/kea/examples/kea6/iPXE.json
+share/doc/kea/examples/kea6/leases-expiration.json
+share/doc/kea/examples/kea6/multiple-options.json
+share/doc/kea/examples/kea6/mysql-reservations.json
+share/doc/kea/examples/kea6/pgsql-reservations.json
+share/doc/kea/examples/kea6/reservations.json
+share/doc/kea/examples/kea6/several-subnets.json
+share/doc/kea/examples/kea6/shared-network.json
+share/doc/kea/examples/kea6/simple.json
+share/doc/kea/examples/kea6/softwire46.json
+share/doc/kea/examples/kea6/stateless.json
+share/doc/kea/examples/kea6/tee-times.json
+share/doc/kea/examples/kea6/with-ddns.json
+share/doc/kea/examples/netconf/comments.json
+share/doc/kea/examples/netconf/kea-dhcp6-operations/boot.json
+share/doc/kea/examples/netconf/kea-dhcp6-operations/logging.xml
+share/doc/kea/examples/netconf/kea-dhcp6-operations/netconf.json
+share/doc/kea/examples/netconf/kea-dhcp6-operations/startup.xml
+share/doc/kea/examples/netconf/kea-dhcp6-operations/twopools.xml
+share/doc/kea/examples/netconf/kea-dhcp6-operations/twosubnets.xml
+share/doc/kea/examples/netconf/simple-dhcp4.json
+share/doc/kea/examples/netconf/simple-dhcp6.json
+share/examples/kea/kea-ctrl-agent.conf
+share/examples/kea/kea-dhcp-ddns.conf
+share/examples/kea/kea-dhcp4.conf
+share/examples/kea/kea-dhcp6.conf
+share/examples/kea/keactrl.conf
+share/examples/rc.d/kea
+share/kea/scripts/admin-utils.sh
+share/kea/scripts/cql/dhcpdb_create.cql
+share/kea/scripts/cql/dhcpdb_drop.cql
+share/kea/scripts/cql/upgrade_1.0_to_2.0.sh
+share/kea/scripts/cql/upgrade_2.0_to_3.0.sh
+share/kea/scripts/cql/upgrade_3.0_to_4.0.sh
+share/kea/scripts/cql/upgrade_4.0_to_5.0.sh
+share/kea/scripts/cql/wipe_data.sh
+share/kea/scripts/mysql/dhcpdb_create.mysql
+share/kea/scripts/mysql/dhcpdb_drop.mysql
+share/kea/scripts/mysql/upgrade_1.0_to_2.0.sh
+share/kea/scripts/mysql/upgrade_2.0_to_3.0.sh
+share/kea/scripts/mysql/upgrade_3.0_to_4.0.sh
+share/kea/scripts/mysql/upgrade_4.0_to_4.1.sh
+share/kea/scripts/mysql/upgrade_4.1_to_5.0.sh
+share/kea/scripts/mysql/upgrade_5.0_to_5.1.sh
+share/kea/scripts/mysql/upgrade_5.1_to_5.2.sh
+share/kea/scripts/mysql/upgrade_5.2_to_6.0.sh
+share/kea/scripts/mysql/upgrade_6.0_to_7.0.sh
+share/kea/scripts/mysql/upgrade_7.0_to_8.0.sh
+share/kea/scripts/mysql/upgrade_8.0_to_8.1.sh
+share/kea/scripts/mysql/upgrade_8.1_to_8.2.sh
+share/kea/scripts/mysql/upgrade_8.2_to_9.0.sh
+share/kea/scripts/mysql/wipe_data.sh
+share/kea/scripts/pgsql/dhcpdb_create.pgsql
+share/kea/scripts/pgsql/dhcpdb_drop.pgsql
+share/kea/scripts/pgsql/upgrade_1.0_to_2.0.sh
+share/kea/scripts/pgsql/upgrade_2.0_to_3.0.sh
+share/kea/scripts/pgsql/upgrade_3.0_to_3.1.sh
+share/kea/scripts/pgsql/upgrade_3.1_to_3.2.sh
+share/kea/scripts/pgsql/upgrade_3.2_to_3.3.sh
+share/kea/scripts/pgsql/upgrade_3.3_to_4.0.sh
+share/kea/scripts/pgsql/upgrade_4.0_to_5.0.sh
+share/kea/scripts/pgsql/upgrade_5.0_to_5.1.sh
+share/kea/scripts/pgsql/upgrade_5.1_to_6.0.sh
+share/kea/scripts/pgsql/wipe_data.sh
diff --git a/kea-git/PLIST.Linux b/kea-git/PLIST.Linux
new file mode 100644
index 0000000000..13ed358f29
--- /dev/null
+++ b/kea-git/PLIST.Linux
@@ -0,0 +1,2 @@
+@comment $NetBSD$
+include/kea/dhcp/pkt_filter_lpf.h
diff --git a/kea-git/TODO b/kea-git/TODO
new file mode 100644
index 0000000000..74ddac1b90
--- /dev/null
+++ b/kea-git/TODO
@@ -0,0 +1,3 @@
+install users to run kea with ??
+
+fix missing peices in code for illumos.
diff --git a/kea-git/distinfo b/kea-git/distinfo
new file mode 100644
index 0000000000..5d1569e673
--- /dev/null
+++ b/kea-git/distinfo
@@ -0,0 +1,26 @@
+$NetBSD$
+
+SHA1 (kea-1.6.1.tar.gz) = 165ee499c40a1033d733e8a5197522562804a19b
+RMD160 (kea-1.6.1.tar.gz) = 261b0ea1bca0a70034532112011c64ad809c37ec
+SHA512 (kea-1.6.1.tar.gz) = 4220f46fc185f4434ad01886d2d43ba1f9dcca57f5afa33235c8593269220a79e2dcb4ad71298dec868444c29e7cb6febe66a1456fdc116a2d9fd3f019f740d8
+Size (kea-1.6.1.tar.gz) = 7155604 bytes
+SHA1 (patch-Makefile.am) = 4e4896be44290114160be878666878bb44d71a8e
+SHA1 (patch-configure.ac) = 70d7a8235ed6459a23f5404303d5babfdfec14db
+SHA1 (patch-m4macros_ax__gtest.m4) = 079952701633cf6761deb54dc74527aa429dbb11
+SHA1 (patch-src_bin_agent_agent__lexer.ll) = de64c9ad03b1c6812f95f52c8fcd5f6c1aa1ef27
+SHA1 (patch-src_bin_d2_d2__lexer.ll) = 400b9f54b5bb9c9eb9c52c1ef23c9a377f29960e
+SHA1 (patch-src_bin_dhcp4_dhcp4__lexer.ll) = dfcca8319ca3b6b8902676bb1662ceb9abca74bc
+SHA1 (patch-src_bin_dhcp4_tests_parser__unittest.cc) = 6f213d5abd286b57c41b6fad27ada49c9301857a
+SHA1 (patch-src_bin_dhcp6_dhcp6__lexer.ll) = 6ebeb6b18dc8d86d0890ce3cfcaeea4c2658e958
+SHA1 (patch-src_bin_dhcp6_tests_parser__unittest.cc) = f671c6b5c26a6b6179971f2f10af8e2b1b8b7e6a
+SHA1 (patch-src_bin_keactrl_Makefile.am) = 5b6fd816da6011858d1167d297c83eda7947efd7
+SHA1 (patch-src_bin_netconf_netconf__lexer.ll) = ec316d436f791470df9dd5c106c76f3026a19b0e
+SHA1 (patch-src_lib_dhcp_Makefile.am) = 452036d0100a85f41c52562292931bea2501e396
+SHA1 (patch-src_lib_dhcp_iface__mgr__sun.cc) = 8157d6f6eb70d4b60b58de63102e562f82f1306d
+SHA1 (patch-src_lib_dhcp_pkt__filter__inet.cc) = 32f70306483a719a8b400eff613cdbb935fe9cd0
+SHA1 (patch-src_lib_dhcp_tests_Makefile.am) = 9ee63ba82b05d02ea88e3a74183a7aa6da7b36c9
+SHA1 (patch-src_lib_dhcp_tests_iface__mgr__unittest.cc) = 8e274dbb5d9897ccd1708e4007cbe69ab2db0ef5
+SHA1 (patch-src_lib_dhcpsrv_Makefile.am) = bdd2be227d8c7f34b4329092e6de3bcaa7117284
+SHA1 (patch-src_lib_dhcpsrv_host__data__source__factory.cc) = a1bc71ec40b9eb5a6c9247360a84ce480521cad2
+SHA1 (patch-src_lib_util_signal__set.cc) = f060fcedecb8ccdda997fbef2040dab82c620cb0
+SHA1 (patch-src_lib_util_watch__socket.cc) = ab55b5e613bc431dcd92ef68bf3501a7e4aca7de
diff --git a/kea-git/files/kea.sh b/kea-git/files/kea.sh
new file mode 100644
index 0000000000..21e5ba7ac4
--- /dev/null
+++ b/kea-git/files/kea.sh
@@ -0,0 +1,25 @@
+#!/bin/sh
+#
+# $NetBSD$
+#
+# PROVIDE: kea
+# REQUIRE: LOGIN
+#
+. /etc/rc.subr
+
+name="kea"
+rcvar=$name
+keactrl="@PREFIX@/sbin/keactrl"
+start_cmd="keactrl_exec"
+stop_cmd="keactrl_exec"
+reload_cmd="keactrl_exec"
+status_cmd="keactrl_exec"
+extra_commands="reload status"
+
+keactrl_exec()
+{
+ ${keactrl} ${rc_arg}
+}
+
+load_rc_config $name
+run_rc_command "$1"
diff --git a/kea-git/options.mk b/kea-git/options.mk
new file mode 100644
index 0000000000..77b908afb3
--- /dev/null
+++ b/kea-git/options.mk
@@ -0,0 +1,73 @@
+# $NetBSD$
+
+PKG_OPTIONS_VAR= PKG_OPTIONS.kea
+PKG_SUPPORTED_OPTIONS= mysql pgsql tests
+PKG_SUGGESTED_OPTIONS= mysql pgsql
+PLIST_VARS+= mysql pgsql
+
+.include "../../mk/bsd.options.mk"
+
+###
+### database support
+###
+
+.if !empty(PKG_OPTIONS:Mmysql)
+. include "../../mk/mysql.buildlink3.mk"
+CONFIGURE_ARGS+=--with-mysql=${PREFIX}/bin/mysql_config
+PLIST.mysql=yes
+REPLACE_BASH+= src/share/database/scripts/mysql/upgrade_8.2_to_9.0.sh.in
+REPLACE_BASH+= src/share/database/scripts/mysql/upgrade_3.0_to_4.0.sh.in
+REPLACE_BASH+= src/share/database/scripts/mysql/upgrade_4.0_to_4.1.sh.in
+REPLACE_BASH+= src/share/database/scripts/mysql/wipe_data.sh.in
+REPLACE_BASH+= src/share/database/scripts/mysql/upgrade_8.1_to_8.2.sh.in
+REPLACE_BASH+= src/share/database/scripts/mysql/upgrade_5.2_to_6.0.sh.in
+REPLACE_BASH+= src/share/database/scripts/mysql/upgrade_8.0_to_8.1.sh.in
+REPLACE_BASH+= src/share/database/scripts/mysql/upgrade_2.0_to_3.0.sh.in
+REPLACE_BASH+= src/share/database/scripts/mysql/upgrade_4.1_to_5.0.sh.in
+REPLACE_BASH+= src/share/database/scripts/mysql/upgrade_1.0_to_2.0.sh.in
+REPLACE_BASH+= src/share/database/scripts/mysql/upgrade_5.0_to_5.1.sh.in
+REPLACE_BASH+= src/share/database/scripts/mysql/upgrade_7.0_to_8.0.sh.in
+REPLACE_BASH+= src/share/database/scripts/mysql/upgrade_5.1_to_5.2.sh.in
+REPLACE_BASH+= src/share/database/scripts/mysql/upgrade_6.0_to_7.0.sh.in
+.endif
+
+.if !empty(PKG_OPTIONS:Mpgsql)
+. include "../../mk/pgsql.buildlink3.mk"
+CONFIGURE_ARGS+=--with-pgsql=${PGSQL_PREFIX}/bin/pg_config
+PLIST.pgsql=yes
+REPLACE_BASH+= src/share/database/scripts/pgsql/upgrade_3.0_to_3.1.sh.in
+REPLACE_BASH+= src/share/database/scripts/pgsql/upgrade_1.0_to_2.0.sh.in
+REPLACE_BASH+= src/share/database/scripts/pgsql/upgrade_5.0_to_5.1.sh.in
+REPLACE_BASH+= src/share/database/scripts/pgsql/wipe_data.sh.in
+REPLACE_BASH+= src/share/database/scripts/pgsql/upgrade_3.2_to_3.3.sh.in
+REPLACE_BASH+= src/share/database/scripts/pgsql/upgrade_3.1_to_3.2.sh.in
+REPLACE_BASH+= src/share/database/scripts/pgsql/upgrade_3.3_to_4.0.sh.in
+REPLACE_BASH+= src/share/database/scripts/pgsql/upgrade_5.1_to_6.0.sh.in
+REPLACE_BASH+= src/share/database/scripts/pgsql/upgrade_2.0_to_3.0.sh.in
+REPLACE_BASH+= src/share/database/scripts/pgsql/upgrade_4.0_to_5.0.sh.in
+.endif
+
+.if !empty(PKG_OPTIONS:Mtests)
+. include "../../devel/googletest/buildlink3.mk"
+CONFIGURE_ARGS+=--with-gtest=${BUILDLINK_PREFIX.googletest}
+REPLACE_BASH+= src/bin/dhcp6/tests/dhcp6_process_tests.sh.in
+REPLACE_BASH+= src/bin/admin/tests/memfile_tests.sh.in
+REPLACE_BASH+= src/bin/admin/tests/pgsql_tests.sh.in
+REPLACE_BASH+= src/bin/admin/tests/mysql_tests.sh.in
+REPLACE_BASH+= src/bin/admin/tests/cql_tests.sh.in
+REPLACE_BASH+= src/bin/agent/tests/ca_process_tests.sh.in
+REPLACE_BASH+= src/bin/keactrl/tests/keactrl_tests.sh.in
+REPLACE_BASH+= src/bin/d2/tests/d2_process_tests.sh.in
+REPLACE_BASH+= src/bin/shell/tests/shell_process_tests.sh.in
+REPLACE_BASH+= src/bin/netconf/tests/shtests/netconf_tests.sh.in
+REPLACE_BASH+= src/bin/dhcp4/tests/dhcp4_process_tests.sh.in
+REPLACE_BASH+= src/lib/util/tests/process_spawn_app.sh.in
+REPLACE_BASH+= src/lib/testutils/dhcp_test_lib.sh.in
+REPLACE_BASH+= src/lib/log/tests/local_file_test.sh.in
+REPLACE_BASH+= src/lib/log/tests/buffer_logger_test.sh.in
+REPLACE_BASH+= src/lib/log/tests/init_logger_test.sh.in
+REPLACE_BASH+= src/lib/log/tests/severity_test.sh.in
+REPLACE_BASH+= src/lib/log/tests/destination_test.sh.in
+REPLACE_BASH+= src/lib/log/tests/logger_lock_test.sh.in
+REPLACE_BASH+= src/lib/log/tests/console_test.sh.in
+.endif
diff --git a/kea-git/patches/patch-Makefile.am b/kea-git/patches/patch-Makefile.am
new file mode 100644
index 0000000000..38a48cb9c6
--- /dev/null
+++ b/kea-git/patches/patch-Makefile.am
@@ -0,0 +1,21 @@
+$NetBSD$
+
+* don't install dirs in varbase
+
+--- Makefile.am.orig 2019-12-30 16:02:34.138915584 +0000
++++ Makefile.am
+@@ -152,10 +152,10 @@ docs:
+
+
+ # These steps are necessary during installation
+-install-exec-hook:
+- mkdir -p $(DESTDIR)${localstatedir}/log/
+- mkdir -p $(DESTDIR)${localstatedir}/lib/${PACKAGE_NAME}
+- mkdir -p $(DESTDIR)${runstatedir}/${PACKAGE_NAME}
++#install-exec-hook:
++# mkdir -p $(DESTDIR)${localstatedir}/log/
++# mkdir -p $(DESTDIR)${localstatedir}/lib/${PACKAGE_NAME}
++# mkdir -p $(DESTDIR)${runstatedir}/${PACKAGE_NAME}
+
+ EXTRA_DIST = tools/path_replacer.sh
+ EXTRA_DIST += tools/mk_cfgrpt.sh
diff --git a/kea-git/patches/patch-configure.ac b/kea-git/patches/patch-configure.ac
new file mode 100644
index 0000000000..f287b9208b
--- /dev/null
+++ b/kea-git/patches/patch-configure.ac
@@ -0,0 +1,24 @@
+$NetBSD$
+
+* fix compatability errors
+
+--- configure.ac.orig 2019-12-30 16:00:16.704565254 +0000
++++ configure.ac
+@@ -1391,7 +1391,7 @@ if test "x$enable_generate_parser" != "x
+ AC_MSG_ERROR([Flex is required for enable-generate-parser, but was not found])
+ fi
+
+- if test "x$YACC" == "x"; then
++ if test "x$YACC" = "x"; then
+ AC_MSG_ERROR([Bison is required for enable-generate-parser, but was not found])
+ fi
+
+@@ -1515,7 +1515,7 @@ if test "x$enable_generate_docs" != xno
+
+ if test -z "$PDFLATEX"; then
+ PDFLATEX=no
+- elif test "x$PDFLATEX" == "xno"; then
++ elif test "x$PDFLATEX" = "xno"; then
+ AC_MSG_CHECKING([for pdflatex])
+ AC_MSG_RESULT([no (disabled)])
+ else
diff --git a/kea-git/patches/patch-m4macros_ax__gtest.m4 b/kea-git/patches/patch-m4macros_ax__gtest.m4
new file mode 100644
index 0000000000..273ef4f041
--- /dev/null
+++ b/kea-git/patches/patch-m4macros_ax__gtest.m4
@@ -0,0 +1,15 @@
+$NetBSD$
+
+* fix typo so that googletest can be found
+
+--- m4macros/ax_gtest.m4.orig 2020-01-02 23:01:48.000000000 +0000
++++ m4macros/ax_gtest.m4
+@@ -134,7 +134,7 @@ if test "x$enable_gtest" = "xyes" ; then
+ GTEST_FOUND="false"
+ for dir in $GTEST_PATHS; do
+ if test -f "$dir/include/gtest/gtest.h"; then
+- if ! test -f "$dir/lib/libgtests.a"; then
++ if ! test -f "$dir/lib/libgtest.a"; then
+ AC_MSG_WARN([Found Google Test include but not the library in $dir.])
+ continue
+ fi
diff --git a/kea-git/patches/patch-src_bin_agent_agent__lexer.ll b/kea-git/patches/patch-src_bin_agent_agent__lexer.ll
new file mode 100644
index 0000000000..ce28d5b406
--- /dev/null
+++ b/kea-git/patches/patch-src_bin_agent_agent__lexer.ll
@@ -0,0 +1,21 @@
+$NetBSD$
+
+* put io_adress.h first so that map from net/if.h on solaris won't confict
+ with std::map
+
+--- src/bin/agent/agent_lexer.ll.orig 2019-11-19 14:50:43.000000000 +0000
++++ src/bin/agent/agent_lexer.ll
+@@ -9,12 +9,12 @@
+ /* Generated files do not make clang static analyser so happy */
+ #ifndef __clang_analyzer__
+
++#include <asiolink/io_address.h>
+ #include <cerrno>
+ #include <climits>
+ #include <cstdlib>
+ #include <string>
+ #include <agent/parser_context.h>
+-#include <asiolink/io_address.h>
+ #include <boost/lexical_cast.hpp>
+ #include <exceptions/exceptions.h>
+ #include <cc/dhcp_config_error.h>
diff --git a/kea-git/patches/patch-src_bin_d2_d2__lexer.ll b/kea-git/patches/patch-src_bin_d2_d2__lexer.ll
new file mode 100644
index 0000000000..0a3a3dbe82
--- /dev/null
+++ b/kea-git/patches/patch-src_bin_d2_d2__lexer.ll
@@ -0,0 +1,21 @@
+$NetBSD$
+
+* put io_adress.h first so that map from net/if.h on solaris won't confict
+ with std::map
+
+--- src/bin/d2/d2_lexer.ll.orig 2019-11-19 14:50:43.000000000 +0000
++++ src/bin/d2/d2_lexer.ll
+@@ -9,12 +9,12 @@
+ /* Generated files do not make clang static analyser so happy */
+ #ifndef __clang_analyzer__
+
++#include <asiolink/io_address.h>
+ #include <cerrno>
+ #include <climits>
+ #include <cstdlib>
+ #include <string>
+ #include <d2/parser_context.h>
+-#include <asiolink/io_address.h>
+ #include <boost/lexical_cast.hpp>
+ #include <exceptions/exceptions.h>
+
diff --git a/kea-git/patches/patch-src_bin_dhcp4_dhcp4__lexer.ll b/kea-git/patches/patch-src_bin_dhcp4_dhcp4__lexer.ll
new file mode 100644
index 0000000000..fd874e3203
--- /dev/null
+++ b/kea-git/patches/patch-src_bin_dhcp4_dhcp4__lexer.ll
@@ -0,0 +1,21 @@
+$NetBSD$
+
+* put io_adress.h first so that map from net/if.h on solaris won't confict
+ with std::map
+
+--- src/bin/dhcp4/dhcp4_lexer.ll.orig 2019-11-19 14:50:43.000000000 +0000
++++ src/bin/dhcp4/dhcp4_lexer.ll
+@@ -9,12 +9,12 @@
+ /* Generated files do not make clang static analyser so happy */
+ #ifndef __clang_analyzer__
+
++#include <asiolink/io_address.h>
+ #include <cerrno>
+ #include <climits>
+ #include <cstdlib>
+ #include <string>
+ #include <dhcp4/parser_context.h>
+-#include <asiolink/io_address.h>
+ #include <boost/lexical_cast.hpp>
+ #include <exceptions/exceptions.h>
+
diff --git a/kea-git/patches/patch-src_bin_dhcp4_tests_parser__unittest.cc b/kea-git/patches/patch-src_bin_dhcp4_tests_parser__unittest.cc
new file mode 100644
index 0000000000..ece57449e6
--- /dev/null
+++ b/kea-git/patches/patch-src_bin_dhcp4_tests_parser__unittest.cc
@@ -0,0 +1,18 @@
+$NetBSD$
+
+* put inclusion of asiolink on top so that std::map does not conlict with
+ map in net/if.h on illumos
+
+--- src/bin/dhcp4/tests/parser_unittest.cc.orig 2020-01-02 23:01:48.000000000 +0000
++++ src/bin/dhcp4/tests/parser_unittest.cc
+@@ -6,9 +6,9 @@
+
+ #include <config.h>
+
++#include <dhcpsrv/parsers/simple_parser4.h>
+ #include <gtest/gtest.h>
+ #include <dhcp4/parser_context.h>
+-#include <dhcpsrv/parsers/simple_parser4.h>
+ #include <testutils/io_utils.h>
+ #include <testutils/user_context_utils.h>
+
diff --git a/kea-git/patches/patch-src_bin_dhcp6_dhcp6__lexer.ll b/kea-git/patches/patch-src_bin_dhcp6_dhcp6__lexer.ll
new file mode 100644
index 0000000000..c5186b5cc8
--- /dev/null
+++ b/kea-git/patches/patch-src_bin_dhcp6_dhcp6__lexer.ll
@@ -0,0 +1,21 @@
+$NetBSD$
+
+* put io_adress.h first so that map from net/if.h on solaris won't confict
+ with std::map
+
+--- src/bin/dhcp6/dhcp6_lexer.ll.orig 2019-11-19 14:50:43.000000000 +0000
++++ src/bin/dhcp6/dhcp6_lexer.ll
+@@ -9,12 +9,12 @@
+ /* Generated files do not make clang static analyser so happy */
+ #ifndef __clang_analyzer__
+
++#include <asiolink/io_address.h>
+ #include <cerrno>
+ #include <climits>
+ #include <cstdlib>
+ #include <string>
+ #include <dhcp6/parser_context.h>
+-#include <asiolink/io_address.h>
+ #include <boost/lexical_cast.hpp>
+ #include <exceptions/exceptions.h>
+
diff --git a/kea-git/patches/patch-src_bin_dhcp6_tests_parser__unittest.cc b/kea-git/patches/patch-src_bin_dhcp6_tests_parser__unittest.cc
new file mode 100644
index 0000000000..d31b671012
--- /dev/null
+++ b/kea-git/patches/patch-src_bin_dhcp6_tests_parser__unittest.cc
@@ -0,0 +1,18 @@
+$NetBSD$
+
+* put inclusion of asiolonk first so that map from net/if.h on illumos
+ won't confict with std::map
+
+--- src/bin/dhcp6/tests/parser_unittest.cc.orig 2020-01-02 23:01:48.000000000 +0000
++++ src/bin/dhcp6/tests/parser_unittest.cc
+@@ -6,9 +6,9 @@
+
+ #include <config.h>
+
++#include <dhcpsrv/parsers/simple_parser6.h>
+ #include <gtest/gtest.h>
+ #include <dhcp6/parser_context.h>
+-#include <dhcpsrv/parsers/simple_parser6.h>
+ #include <testutils/io_utils.h>
+ #include <testutils/user_context_utils.h>
+
diff --git a/kea-git/patches/patch-src_bin_keactrl_Makefile.am b/kea-git/patches/patch-src_bin_keactrl_Makefile.am
new file mode 100644
index 0000000000..a047e4abbd
--- /dev/null
+++ b/kea-git/patches/patch-src_bin_keactrl_Makefile.am
@@ -0,0 +1,25 @@
+$NetBSD$
+
+* install conf files in examples heirarchy
+
+--- src/bin/keactrl/Makefile.am.orig 2019-12-30 15:49:38.601325408 +0000
++++ src/bin/keactrl/Makefile.am
+@@ -54,15 +54,15 @@ if INSTALL_CONFIGURATIONS
+ # To preserve any user modifications to the old version of the file,
+ # this old file is backed up as keactrl.conf.bak.
+ install-data-local:
+- $(mkinstalldirs) $(DESTDIR)/@sysconfdir@/@PACKAGE@
++ $(mkinstalldirs) $(DESTDIR)/@datarootdir@/examples/@PACKAGE@
+ for f in $(CONFIGFILES) ; do \
+ if test -f $(DESTDIR)$(sysconfdir)/@PACKAGE@/$$f && \
+ test $$f = "keactrl.conf"; then \
+ mv $(DESTDIR)$(sysconfdir)/@PACKAGE@/$$f \
+ $(DESTDIR)$(sysconfdir)/@PACKAGE@/$$f.bak; \
+ fi; \
+- if test ! -f $(DESTDIR)$(sysconfdir)/@PACKAGE@/$$f; then \
+- ${INSTALL_DATA} $$f $(DESTDIR)$(sysconfdir)/@PACKAGE@/; \
++ if test ! -f $(DESTDIR)$(datarootdir)/examples/@PACKAGE@/$$f; then \
++ ${INSTALL_DATA} $$f $(DESTDIR)$(datarootdir)/examples/@PACKAGE@/; \
+ fi; \
+ done
+
diff --git a/kea-git/patches/patch-src_bin_netconf_netconf__lexer.ll b/kea-git/patches/patch-src_bin_netconf_netconf__lexer.ll
new file mode 100644
index 0000000000..9aead52ed8
--- /dev/null
+++ b/kea-git/patches/patch-src_bin_netconf_netconf__lexer.ll
@@ -0,0 +1,21 @@
+$NetBSD$
+
+* put io_adress.h first so that map from net/if.h on solaris won't confict
+ with std::map
+
+--- src/bin/netconf/netconf_lexer.ll.orig 2019-11-19 14:50:43.000000000 +0000
++++ src/bin/netconf/netconf_lexer.ll
+@@ -9,12 +9,12 @@
+ /* Generated files do not make clang static analyser so happy */
+ #ifndef __clang_analyzer__
+
++#include <asiolink/io_address.h>
+ #include <cerrno>
+ #include <climits>
+ #include <cstdlib>
+ #include <string>
+ #include <netconf/parser_context.h>
+-#include <asiolink/io_address.h>
+ #include <boost/lexical_cast.hpp>
+ #include <exceptions/exceptions.h>
+ #include <cc/dhcp_config_error.h>
diff --git a/kea-git/patches/patch-src_lib_dhcp_Makefile.am b/kea-git/patches/patch-src_lib_dhcp_Makefile.am
new file mode 100644
index 0000000000..5c84d75907
--- /dev/null
+++ b/kea-git/patches/patch-src_lib_dhcp_Makefile.am
@@ -0,0 +1,26 @@
+$NetBSD$
+
+* use bpf on illumos
+
+--- src/lib/dhcp/Makefile.am.orig 2019-11-19 14:50:43.000000000 +0000
++++ src/lib/dhcp/Makefile.am
+@@ -68,6 +68,10 @@ if OS_BSD
+ libkea_dhcp___la_SOURCES += pkt_filter_bpf.cc pkt_filter_bpf.h
+ endif
+
++if OS_SOLARIS
++libkea_dhcp___la_SOURCES += pkt_filter_bpf.cc pkt_filter_bpf.h
++endif
++
+ libkea_dhcp___la_SOURCES += protocol_util.cc protocol_util.h
+ libkea_dhcp___la_SOURCES += std_option_defs.h
+
+@@ -152,3 +156,8 @@ if OS_BSD
+ libkea_dhcp___include_HEADERS += \
+ pkt_filter_bpf.h
+ endif
++
++if OS_SOLARIS
++libkea_dhcp___include_HEADERS += \
++ pkt_filter_bpf.h
++endif
diff --git a/kea-git/patches/patch-src_lib_dhcp_iface__mgr__sun.cc b/kea-git/patches/patch-src_lib_dhcp_iface__mgr__sun.cc
new file mode 100644
index 0000000000..7c14f2390e
--- /dev/null
+++ b/kea-git/patches/patch-src_lib_dhcp_iface__mgr__sun.cc
@@ -0,0 +1,109 @@
+$NetBSD$
+
+* map conflicts with map from net/if.h, use std::map explicitly
+
+--- src/lib/dhcp/iface_mgr_sun.cc.orig 2020-01-02 23:01:48.000000000 +0000
++++ src/lib/dhcp/iface_mgr_sun.cc
+@@ -10,6 +10,7 @@
+
+ #include <dhcp/iface_mgr.h>
+ #include <dhcp/iface_mgr_error_handler.h>
++#include <dhcp/pkt_filter_bpf.h>
+ #include <dhcp/pkt_filter_inet.h>
+ #include <exceptions/exceptions.h>
+
+@@ -39,7 +40,12 @@ IfaceMgr::detectIfaces() {
+ isc_throw(Unexpected, "Network interfaces detection failed.");
+ }
+
+- typedef map<string, IfacePtr> IfaceLst;
++ int sock = socket(PF_INET, SOCK_DGRAM, 0);
++ if (sock < 0) {
++ isc_throw(Unexpected, "Can't get a socket.");
++ }
++
++ typedef std::map<string, IfacePtr> IfaceLst;
+ IfaceLst::iterator iface_iter;
+ IfaceLst ifaces;
+
+@@ -51,6 +57,7 @@ IfaceMgr::detectIfaces() {
+ if (!(ifindex = if_nametoindex(ifname))) {
+ // Interface name does not have corresponding index ...
+ freeifaddrs(iflist);
++ close(sock);
+ isc_throw(Unexpected, "Interface " << ifname << " has no index");
+ }
+
+@@ -62,9 +69,26 @@ IfaceMgr::detectIfaces() {
+ IfacePtr iface(new Iface(ifname, ifindex));
+ iface->setFlags(ifptr->ifa_flags);
+ ifaces.insert(pair<string, IfacePtr>(ifname, iface));
++
++ // Get the MAC address.
++ struct lifreq lif;
++ memset(&lif, 0, sizeof(lif));
++ if (strlcpy(lif.lifr_name, ifname, LIFNAMSIZ) > LIFNAMSIZ) {
++ freeifaddrs(iflist);
++ close(sock);
++ isc_throw(Unexpected, "ifname to long for lifr_name in iface_mrg_sun");
++ }
++ if (ioctl(sock, SIOCGLIFHWADDR, &lif) < 0) {
++ continue;
++ }
++ struct sockaddr_dl * ldata =
++ reinterpret_cast<struct sockaddr_dl *>(&lif.lifr_addr);
++ const uint8_t * ptr = reinterpret_cast<uint8_t *>(LLADDR(ldata));
++ iface->setHWType(ldata->sdl_type);
++ iface->setMac(ptr, ldata->sdl_alen);
+ }
+
+- // Second lookup to get MAC and IP addresses
++ // Second lookup to get IP addresses
+ for (ifptr = iflist; ifptr != 0; ifptr = ifptr->ifa_next) {
+ iface_iter = ifaces.find(ifptr->ifa_name);
+ if (iface_iter == ifaces.end()) {
+@@ -72,15 +96,7 @@ IfaceMgr::detectIfaces() {
+ }
+ // Common byte pointer for following data
+ const uint8_t * ptr = 0;
+- if(ifptr->ifa_addr->sa_family == AF_LINK) {
+- // HWAddr
+- struct sockaddr_dl * ldata =
+- reinterpret_cast<struct sockaddr_dl *>(ifptr->ifa_addr);
+- ptr = reinterpret_cast<uint8_t *>(LLADDR(ldata));
+-
+- iface_iter->second->setHWType(ldata->sdl_type);
+- iface_iter->second->setMac(ptr, ldata->sdl_alen);
+- } else if(ifptr->ifa_addr->sa_family == AF_INET6) {
++ if(ifptr->ifa_addr->sa_family == AF_INET6) {
+ // IPv6 Addr
+ struct sockaddr_in6 * adata =
+ reinterpret_cast<struct sockaddr_in6 *>(ifptr->ifa_addr);
+@@ -100,6 +116,7 @@ IfaceMgr::detectIfaces() {
+ }
+
+ freeifaddrs(iflist);
++ close(sock);
+
+ // Interfaces registering
+ for(IfaceLst::const_iterator iface_iter = ifaces.begin();
+@@ -124,10 +141,17 @@ void Iface::setFlags(uint64_t flags) {
+ }
+
+ void
+-IfaceMgr::setMatchingPacketFilter(const bool /* direct_response_desired */) {
++IfaceMgr::setMatchingPacketFilter(const bool direct_response_desired) {
+ // @todo Currently we ignore the preference to use direct traffic
+ // because it hasn't been implemented for Solaris.
+- setPacketFilter(PktFilterPtr(new PktFilterInet()));
++ // Fixed: solaris/illumos now supports bpf
++ if (direct_response_desired) {
++ setPacketFilter(PktFilterPtr(new PktFilterBPF()));
++
++ } else {
++ setPacketFilter(PktFilterPtr(new PktFilterInet()));
++
++ }
+ }
+
+ bool
diff --git a/kea-git/patches/patch-src_lib_dhcp_pkt__filter__inet.cc b/kea-git/patches/patch-src_lib_dhcp_pkt__filter__inet.cc
new file mode 100644
index 0000000000..132794c690
--- /dev/null
+++ b/kea-git/patches/patch-src_lib_dhcp_pkt__filter__inet.cc
@@ -0,0 +1,49 @@
+$NetBSD$
+
+* illumos uses ip_pktinfo just like linux
+
+--- src/lib/dhcp/pkt_filter_inet.cc.orig 2020-01-02 23:01:48.000000000 +0000
++++ src/lib/dhcp/pkt_filter_inet.cc
+@@ -86,8 +86,8 @@ PktFilterInet::openSocket(Iface& iface,
+ << "/port=" << port);
+ }
+
+- // On Linux systems IP_PKTINFO socket option is supported. This
+- // option is used to retrieve destination address of the packet.
++ // On Linux and Solaris systems IP_PKTINFO socket option is supported.
++ // This option is used to retrieve destination address of the packet.
+ #if defined (IP_PKTINFO) && defined (OS_LINUX)
+ int flag = 1;
+ if (setsockopt(sock, IPPROTO_IP, IP_PKTINFO, &flag, sizeof(flag)) != 0) {
+@@ -95,6 +95,13 @@ PktFilterInet::openSocket(Iface& iface,
+ isc_throw(SocketConfigError, "setsockopt: IP_PKTINFO: failed.");
+ }
+
++#elif defined (IP_RECVPKTINFO) && defined (OS_SOLARIS)
++ int flag = 1;
++ if (setsockopt(sock, IPPROTO_IP, IP_RECVPKTINFO, &flag, sizeof(flag)) != 0) {
++ close(sock);
++ isc_throw(SocketConfigError, "setsockopt: IP_RECVPKTINFO: failed.");
++ }
++
+ // On BSD systems IP_RECVDSTADDR is used instead of IP_PKTINFO.
+ #elif defined (IP_RECVDSTADDR) && defined (OS_BSD)
+ int flag = 1;
+@@ -167,7 +174,7 @@ PktFilterInet::receive(Iface& iface, con
+ // Linux systems support IP_PKTINFO option which is used to retrieve the
+ // destination address of the received packet. On BSD systems IP_RECVDSTADDR
+ // is used instead.
+-#if defined (IP_PKTINFO) && defined (OS_LINUX)
++#if defined (IP_PKTINFO) && (defined (OS_LINUX) || defined (OS_SOLARIS))
+ struct in_pktinfo* pktinfo;
+ struct cmsghdr* cmsg = CMSG_FIRSTHDR(&m);
+
+@@ -243,7 +250,7 @@ PktFilterInet::send(const Iface&, uint16
+ // In the future the OS-specific code may be abstracted to a different
+ // file but for now we keep it here because there is no code yet, which
+ // is specific to non-Linux systems.
+-#if defined (IP_PKTINFO) && defined (OS_LINUX)
++#if defined (IP_PKTINFO) && (defined (OS_LINUX) || defined (OS_SOLARIS))
+ // Setting the interface is a bit more involved.
+ //
+ // We have to create a "control message", and set that to
diff --git a/kea-git/patches/patch-src_lib_dhcp_tests_Makefile.am b/kea-git/patches/patch-src_lib_dhcp_tests_Makefile.am
new file mode 100644
index 0000000000..4f5223f68f
--- /dev/null
+++ b/kea-git/patches/patch-src_lib_dhcp_tests_Makefile.am
@@ -0,0 +1,17 @@
+$NetBSD$
+
+* illumos uses bpf
+
+--- src/lib/dhcp/tests/Makefile.am.orig 2020-01-02 23:01:48.000000000 +0000
++++ src/lib/dhcp/tests/Makefile.am
+@@ -97,6 +97,10 @@ if OS_BSD
+ libdhcp___unittests_SOURCES += pkt_filter_bpf_unittest.cc
+ endif
+
++if OS_SOLARIS
++libdhcp___unittests_SOURCES += pkt_filter_bpf_unittest.cc
++endif
++
+ libdhcp___unittests_SOURCES += protocol_util_unittest.cc
+ libdhcp___unittests_SOURCES += duid_unittest.cc
+
diff --git a/kea-git/patches/patch-src_lib_dhcp_tests_iface__mgr__unittest.cc b/kea-git/patches/patch-src_lib_dhcp_tests_iface__mgr__unittest.cc
new file mode 100644
index 0000000000..e466453642
--- /dev/null
+++ b/kea-git/patches/patch-src_lib_dhcp_tests_iface__mgr__unittest.cc
@@ -0,0 +1,34 @@
+$NetBSD$
+
+* enable test on illumos
+* use ifru_addr_sa that is available both on illumos and linux
+
+--- src/lib/dhcp/tests/iface_mgr_unittest.cc.orig 2020-01-02 23:01:48.000000000 +0000
++++ src/lib/dhcp/tests/iface_mgr_unittest.cc
+@@ -1569,7 +1569,7 @@ TEST_F(IfaceMgrTest, setPacketFilter6) {
+ }
+
+
+-#if defined OS_LINUX || OS_BSD
++#if defined OS_LINUX || OS_BSD || OS_SOLARIS
+
+ // This test is only supported on Linux and BSD systems. It checks
+ // if it is possible to use the IfaceMgr to select the packet filter
+@@ -2600,7 +2600,7 @@ checkIfFlags(const Iface & iface,
+ bool
+ checkIfAddrs(const Iface & iface, struct ifaddrs *& ifptr) {
+ const unsigned char * p = 0;
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_SOLARIS)
+ // Workaround for Linux ...
+ if(ifptr->ifa_data != 0) {
+ // We avoid localhost as it has no MAC Address
+@@ -2624,7 +2624,7 @@ checkIfAddrs(const Iface & iface, struct
+ }
+
+ const uint8_t * p =
+- reinterpret_cast<uint8_t *>(ifr.ifr_ifru.ifru_hwaddr.sa_data);
++ reinterpret_cast<uint8_t *>(ifr.ifr_ifru.ifru_addr.sa_data);
+
+ close(s);
+
diff --git a/kea-git/patches/patch-src_lib_dhcpsrv_Makefile.am b/kea-git/patches/patch-src_lib_dhcpsrv_Makefile.am
new file mode 100644
index 0000000000..61c069346b
--- /dev/null
+++ b/kea-git/patches/patch-src_lib_dhcpsrv_Makefile.am
@@ -0,0 +1,12 @@
+$NetBSD$
+
+* don't create files in varbase
+
+--- src/lib/dhcpsrv/Makefile.am.orig 2019-12-30 15:56:06.783365379 +0000
++++ src/lib/dhcpsrv/Makefile.am
+@@ -387,5 +387,3 @@ libkea_dhcpsrv_parsers_include_HEADERS =
+ parsers/simple_parser4.h \
+ parsers/simple_parser6.h
+
+-install-data-local:
+- $(mkinstalldirs) $(DESTDIR)$(dhcp_data_dir)
diff --git a/kea-git/patches/patch-src_lib_dhcpsrv_host__data__source__factory.cc b/kea-git/patches/patch-src_lib_dhcpsrv_host__data__source__factory.cc
new file mode 100644
index 0000000000..ddccd3d41c
--- /dev/null
+++ b/kea-git/patches/patch-src_lib_dhcpsrv_host__data__source__factory.cc
@@ -0,0 +1,15 @@
+$NetBSD$
+
+* map conflicts with map from net/if.h, use std::map explicitly
+
+--- src/lib/dhcpsrv/host_data_source_factory.cc.orig 2019-11-19 14:50:43.000000000 +0000
++++ src/lib/dhcpsrv/host_data_source_factory.cc
+@@ -40,7 +40,7 @@ using namespace std;
+ namespace isc {
+ namespace dhcp {
+
+-map<string, HostDataSourceFactory::Factory> HostDataSourceFactory::map_;
++std::map<string, HostDataSourceFactory::Factory> HostDataSourceFactory::map_;
+
+ void
+ HostDataSourceFactory::add(HostDataSourceList& sources,
diff --git a/kea-git/patches/patch-src_lib_util_signal__set.cc b/kea-git/patches/patch-src_lib_util_signal__set.cc
new file mode 100644
index 0000000000..7bc6966c22
--- /dev/null
+++ b/kea-git/patches/patch-src_lib_util_signal__set.cc
@@ -0,0 +1,32 @@
+$NetBSD$
+
+* setting SIG_IGN on SIGCHLD removes the result from the child that triggered
+ the signal on solaris/illumos
+
+--- src/lib/util/signal_set.cc.orig 2020-01-10 08:19:15.723309083 +0000
++++ src/lib/util/signal_set.cc
+@@ -118,11 +118,22 @@ SignalSet::invokeOnReceiptHandler(int si
+ struct sigaction sa;
+ struct sigaction prev_sa;
+ memset(&sa, 0, sizeof(sa));
+- sa.sa_handler = SIG_IGN;
++
++ if (sig == SIGCHLD) {
++ sa.sa_handler = SIG_DFL;
++ } else {
++ sa.sa_handler = SIG_IGN;
++ }
+ if (sigaction(sig, &sa, &prev_sa) < 0) {
+ // Highly unlikely we can get here.
++ std::string sig_type;
++ if (sa.sa_handler == SIG_DFL) {
++ sig_type = "SIG_DFL";
++ } else {
++ sig_type = "SIG_IGN";
++ }
+ const char* errmsg = strerror(errno);
+- isc_throw(SignalSetError, "failed to set SIG_IGN for signal "
++ isc_throw(SignalSetError, "failed to set " << sig_type << " for signal "
+ << sig << ": " << errmsg);
+ }
+
diff --git a/kea-git/patches/patch-src_lib_util_watch__socket.cc b/kea-git/patches/patch-src_lib_util_watch__socket.cc
new file mode 100644
index 0000000000..2d5691fdc1
--- /dev/null
+++ b/kea-git/patches/patch-src_lib_util_watch__socket.cc
@@ -0,0 +1,17 @@
+$NetBSD$
+
+* Solaris has FIONREAD in sys/filio.h
+
+--- src/lib/util/watch_socket.cc.orig 2019-11-19 14:50:43.000000000 +0000
++++ src/lib/util/watch_socket.cc
+@@ -18,6 +18,10 @@
+ #include <sys/ioctl.h>
+ #include <unistd.h>
+
++#ifdef HAVE_SYS_FILIO_H
++#include <sys/filio.h>
++#endif
++
+ namespace isc {
+ namespace util {
+
Home |
Main Index |
Thread Index |
Old Index