Kea authors and contributors ------------------------------ Primary developers: - Tomek Mrugalski (lead developer: DHCPv4, DHCPv6 components, prefix delegation, memfile, database interface, core libdhcp++, host reservation, MAC extraction in DHCPv6, statistics manager, kea-shell) - Stephen Morris (Hooks, MySQL) - Marcin Siodelski (DHCPv4, DHCPv6 components, options handling, perfdhcp, host reservation, lease file cleanup, lease expiration, control agent, shared networks) - Thomas Markwalder (DDNS, user_chk) - Jeremy C. Reed (documentation, build system, testing, release engineering) - Wlodek Wencel (testing, release engineering) - Francis Dupont (crypto, perfdhcp, control agent) - Shawn Routhier (lease file cleanup) Primary area of work mentioned in parentheses. The list is in a roughly chronological order. Kea is using parts of the code of now defunct BIND 10 project. The following people contributed to BIND 10 code: Chen Zhengzhang Dmitriy Volodin Evan Hunt Francis Dupont Haidong Wang Haikuo Zhang Han Feng Jelte Jansen Jeremy C. Reed Xie Jiagui Jin Jian JINMEI Tatuya John DuBois Kazunori Fujiwara Marcin Siodelski Michael Graff Michal Vaner Mukund Sivaraman Naoki Kambe Paul Selkirk Shane Kerr Shen Tingting Stephen Morris Thomas Markwalder Tomek Mrugalski Yoshitaka Aharen Zhang Likun We have received the following contributions: - David Carlier 2013-11: memfile fixes 2013-12: better error handling when port is in use 2013-12: interface detection for BSD systems 2014-04: PostgreSQL support - Jiri Popelka, Red Hat 2014-08: config files examples permission fix 2014-08: compilation fix for armv7 2014-08: configure.ac update: AC_PROG_LIBTOOL => LT_INIT 2014-08: PostgreSQL compilation fix on i686 2015-12: compilation fix in MySQL host data source 2016-02: Fixed missing slashes in path_replacer.sh - Adam Osuchowski, Silesian University of Technology 2014-09: Examples corrected in Kea ARM - Nicolas Chaigneau, Capgemini 2014-09: Fix for interfaces with multiple addresses in perfdhcp 2015-11: query4 parameter added to pkt4_send hook point - Marcin Wyszynki, Facebook 2014-11: Export CalloutManager headers for testing statically linked libraries. - David Gutierrez Rueda, CERN 2014-12: Support for client link-address option in DHCPv6 (RFC6939) - Adam Kalmus, Gdansk University of Technology 2014-12: Extract MAC address from DUID-LL and DUID-LLT types 2015-01: Extract MAC address from remote-id 2015-05: MySQL schema extended to cover host reservation 2015-10: Common MySQL Connector Pool 2015-12: MySQL host data source implemented 2016-02: IPv6 reservations implemented - Jinmei Tatuya 2015-10: Pkt4o6 class improvements 2015-11: split Dhcpv4Srv::run() into run() and processPacket() - Sebastien Couture, Ubity Inc 2015-12: Fixes to MySQL schema creation - Angelo Failla, Facebook 2016-04: Fixes for transaction id generation in perfdhcp 2016-08: Using a file as a source of MAC addresses to be used in new transactions. 2016-08: Support for generating relayed DHCPv6 traffic. - Razvan Becheriu, Qualitance 2016-05: Added support for Cassandra 2017-12: Significant update for Cassandra backend 2018-01: Host reservations for Cassandra 2018-01: Various changes (github 54) 2018-02: Support for Google benchmark added (github 36) 2018-02: exit-wait-time param added to perfdhcp (github 55) 2018-03: Cassandra: host delete, fixed DHCPv4 fields, user contexts, Postgres: hwaddress source, type storage (github 70) - Patrik Lundin 2016-07: Replace test by expr for < in configure.ac 2016-11: Fixes in Lease File Cleanup unit test - Michal Humpula (mihu) 2016-07: Response to DHCPINFORM is sent to port 68 - Andreas Rammhold (andir) 2016-09: Compilation fixes for GCC 6, using C++14. - Yusef Shaban (xxwolfsrainxx) 2016-09: MySQL database creation scripts use single quotes for strings to avoid issues with creation of the database when MySQL server operates in ANSI_QUOTES mode. - Cristian Secareanu, Qualitance 2016-10: Support for IPv6 prefix and PDEXCLUDE option - Andrei Pavel, Qualitance 2016-10: Support for DHCPv6 options defined in RFC6603 and RFC7598 2017-02: Doxygen support updated to 1.8.11 2017-02: Improved PgSQL backend version handling 2017-02: Numerous spelling mistakes 2017-12: Significant update for Cassandra backend 2018-01: Host reservations for Cassandra 2018-01: Uniform compilation 2018-01: Various changes (github 54,43) 2018-02: Documentation upgraded to DocBook 5.0 2018-02: --with-dhcp-XXX renamed to --with-XXX 2018-02: Support for Google benchmark added (github 36) 2018-02: exit-wait-time param added to perfdhcp (github 55) - Vincent Legout 2016-11: Fixed serveral spelling mistakes - Sebasian Schrader 2017-01: Fix build dir in doc/guide/Makefile.am - Marvin Frick (MrMarvin) 2017-04: -h and --host parameters added to kea-admin - Olivier Clavel (zeitounator) 2017-04: Improvements in valgrind test script - Josh Soref (jsoref) 2017-07: Many spelling corrections. - Walt Steverson (waltsteverson) 2017-07: Compilation fixed for Alpine Linux 2017-07: option6_pdexclude.h now installed properly - Ebben Aries 2017-10: Option length checks improvements for the V-I Vendor Class option - Ryan Goodfellow (rcgoodfellow) 2018-01: Fix kea-admin typo breaking lease-dump Kea uses log4cplus (http://sourceforge.net/projects/log4cplus/) for logging, Boost (http://www.boost.org/) library for almost everything, and can use Botan (http://botan.randombit.net/) or OpenSSL (https://www.openssl.org/) for cryptographic operations. It can also optionally use PostgreSQL (http://www.postgresql.org/) and/or MySQL (http://www.mysql.com/) and/or Cassandra (http://cassandra.apache.org/) as a database. Kea can use googletest for unit-tests (https://github.com/google/googletest). Kea uses ISC Forge (https://github.com/isc-projects/forge/) for conformance testing.