Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/external/mpl/dhcp/dist Internet Systems Consortium DHCP Dist...
details: https://anonhg.NetBSD.org/src/rev/ddd78bda2ba6
branches: trunk
changeset: 974585:ddd78bda2ba6
user: christos <christos%NetBSD.org@localhost>
date: Mon Aug 03 21:09:06 2020 +0000
description:
Internet Systems Consortium DHCP Distribution
Version 4.4.2
22 January 2020
Release Notes
NEW FEATURES
Please note that that ISC DHCP is now licensed under the Mozilla Public License,
MPL 2.0. Please see https://www.mozilla.org/en-US/MPL/2.0/ to read the MPL 2.0
license terms.
While release 4.4.2 is primarily a maintenance release that addresses a number
of defects, it does introduce a few new features:
- Keama - Keama is a migration utility that assists in converting ISC DHCP
server configuration files to Kea configuration files. It is found in the
keama subdirectory and includes a README.md file with instructions on how
to build it as well as a manpage on its usage.
- Two new server parameters related to ping checking were added:
1. ping-cltt-secs which allows the user to specify the number of seconds
that must elapse since CLTT before a ping check is conducted.
2. ping-timeout-ms which allows the user to specify the amount of time the
server waits for a ping-check response in milliseconds rather than in
seconds.
In general, the areas of focus for ISC DHCP 4.4 were:
1. Dynamic DNS additions
2. dhclient improvements
3. Support for dynamic shared libraries
Dynamic DNS Improvements:
- We added three new server configuration parameters which influence DDNS
conflict resolution:
1. ddns-dual-stack-mixed-mode - alters DNS conflict resolution behavior
to mitigate issues with non-compliant clients in dual stack environments.
2. ddns-guard-id-must-match - relaxes the DHCID RR client id matching
requirement of DNS conflict resolution.
3. ddns-other-guard-is-dynamic - alters dual-stack-mixed-mode behavior to
allow unguarded DNS entries to be overwritten in certain cases
- The server now honors update-static-leases parameter for static DHCPv6
hosts.
dhclient Improvements:
- We've added three command line parameters to dhclient:
1. --prefix-len-hint - directs dhclient to use the given length as
the prefix length hint when requesting prefixes
2. --decline-wait-time - instructs the client to wait the given number
of seconds after declining an IPv4 address before issuing a discover
3. --address-prefix-len - specifies the prefix length passed by dhclient
into the client script (via the environment variable ip6_prefixlen) with
each IPv6 address. We added this parameter because we have changed the
default value from 64 to 128 in order to be compliant with RFC3315bis
draft (-09, page 64) and RFC5942, Section 4, point 1.
**WARNING**: The new default value of 128 may not be backwardly compatible
with your environment. If you are operating without a router, such as
between VMs on a host, you may find they cannot see each other with prefix
length of 128. In such cases, you'll need to either provide routing or use
the command line parameter to set the value to 64. Alternatively you may
change the default at compile time by setting DHCLIENT_DEFAULT_PREFIX_LEN
in includes/site.h.
- dhclient will now generate a DHCPv6 DECLINE message when the client script
indicates a DAD failure
Dynamic shared library support:
Configure script, configure.ac+lt, which supports libtool is now provided
with the source tar ball. This script can be used to configure ISC DHCP
to build with libtool and thus use dynamic shared libraries.
Other Highlights:
- The server now supports dhcp-cache-threshold for DHCPv6 operations
- The server now supports DHPv6 address allocation based on EUI-64 DUIDs
- Experimental support for alternate relay port in the both the server
and relay for IPv4, IPv6 and 4o6 (see: draft-ietf-dhc-relay-port-10.txt)
For information on how to install, configure and run this software, as
well as how to find documentation and report bugs, please consult the
README file.
ISC DHCP uses standard GNU configure for installation. Please review the
output of "./configure --help" to see what options are available.
The system has only been tested on Linux, FreeBSD, and Solaris, and may not
work on other platforms. Please report any problems and suggested fixes to
<dhcp-users%isc.org@localhost>.
ISC DHCP is open source software maintained by Internet Systems
Consortium. This product includes cryptographic software written
by Eric Young (eay%cryptsoft.com@localhost).
Changes since 4.4.2b1 (Bug Fixes)
- Added a clarification on DHCPINFORMs and server authority to
dhcpd.conf.5
[Gitlab #37]
- Only emit lease scrubbing log messages when DEBUG_FAILOVER_MESSAGES
is defined.
[Gitlab #72]
- Added the interface name to socket initialization failure log messages.
Prior to this the log messages stated only the error reason without
stating the target interface.
[Gitlab #75]
- Corrected buffer pointer logic in dhcrelay functions that manipulate
agent relay options. Thanks to Thomas Imbert of MSRC Vulnerabilities
& Mitigations for reporting the issue.
[#71]
- Corrected unresolved symbol errors building relay_unittests when
configured to build using libtool.
[#80]
Changes since 4.4.1 (New Features)
- A new configuration parameter, ping-cltt-secs (v4 operation only), has
been added to allow the user to specify the number of seconds that must
elapse since CLTT before a ping check is conducted. Prior to this, the
value was hard coded at 60 seconds. Please see the server man pages for
a more detailed discussion.
[ISC-Bugs #36283]
- A new configuration parameter, ping-timeout-ms (v4 operation only),
has been added that allows the user to specify the amount of time
the server waits for a ping-check response in milliseconds rather
than in seconds (via ping-timeout). When greater than zero, the value
of ping-timeout-ms will override the value of ping-timeout. Thanks
to Jay Doran from Bluecat Networks for suggesting this feature.
[Gitlab #10]
- An experimental tool called, Keama (KEA Migration Assistant), which helps
translate ISC DHCP configurations to Kea configurations, is now included
in the distribution.
[Gitlab #34]
Changes since 4.4.1 (Bug Fixes)
- Corrected a misuse of the BIND9 DDNS API which caused DDNS updates to be
carried out over TCP rather than UDP. The coding error was exposed by
migration to BIND9 9.11. Thanks to Jinmei Tatuya at Infoblox for
reporting the issue.
[ISC-Bugs #47757]
- Bind9 now defaults to requiring python to build. The Makefile for
building Bind9 when bundled with ISC DHCP was modified to turn off
this dependency.
[Gitlab #3]
- Corrected a dual-stack mixed-mode issue that occurs when both
ddns-guard-id-must-match and ddns-other-guard-is-dynamic
are enabled and that caused the server to incorrectly interpret
the presence of a guard record belonging to another client as
a case of no guard record at all. Thanks to Fernando Soto
from BlueCat Networks for reporting this issue.
[Gitlab #1]
- Corrected a compilation issue that occurred when building without DNS
update ability (e.g. by undefining NSUPDATE).
[Gitlab #16]
- Corrected an issue that was causing the server, when running in
DHPCv4 mode, to segfault when class lease limits are reached.
Thanks to Peter Nagy at Porion-Digital for reporting the matter
and submitting a patch.
[Gitlab #13]
- Made minor changes to eliminate warnings when compiled with GCC 9.
Thanks to Brett Neumeier for bringing the matter to our attention.
[Gitlab #15]
- Fixed potential memory leaks in parser error message generation
spotted by Coverity, CIDs: 1448191, 1448193, 1448194, 1448195
[Gitlab #30]
- Updated URL of IEEE oui.txt in contrib/dhcp-lease-list.pl. Thanks
to Tommy Smith for contributing the patch.
[Gitlab #26]
- Fixed define flags when using SO_BINDTODEVICE. Thanks to Joe LeVeque for
reporting the issue.
[GitLab #19]
- Applied a patch from OpenBSD to always set the scope id of outbound
DHPCv6 packets. Note this change only applies when compiling under
OpenBSD. Thanks to Brad Smith at OpenBSD from bringing it to our
attention.
[Gitlab #33]
- Modified dhclient to not discard config file leases that are
duplicates of server-provided leases and to retain such leases
after they have been used as the fallback active lease and
DHCP service has been restored. This allows them to be used
more than once during the lifetime of a dhclient instance.
This applies to DHCPv4 operation only.
[Gitlab #9]
- Corrected a number of reference counter and zero-length buffer leaks.
Thanks to Christopher Ertl of MSRC Vulnerabilities & Mitigations for
pointing them out.
[Gitlab #57]
- Closed a small window of time between the installation of graceful
shutdown signal handlers and application context startup, during which
the receipt of shutdown signal would cause a REQUIRE() assertion to
occur. Note this issue is only visible when compiling with
ENABLE_GENTLE_SHUTDOWN defined.
[Gitlab #53]
- Corrected a buffer overflow that can occur when retrieving zone
names that are more than 255 characters in length.
[Gitlab #20]
- The "d" domain name option format was incorrectly handled as text
instead of RFC 1035 wire format. Thanks to Jay Doran at BlueCat Networks
for reporting this issue.
[Gitlab #2]
- Improved the error message issued when a host declaration has both
a uid and a dhcp-client-identifier. Server configuration parsing will
now fail if a host declaration specifies more than one uid.
[Gitlab #7]
- Updated developer's documentation on building and running unit tests.
Removed support for --with-atf=bind as BIND9 no longer bundles in ATF
source.
[Gitlab #35]
- Fixed a syntax error in ldap.c which cropped up under Ubuntu
18.04.1/gcc 7.4.0. Thanks to Charles Hedrick for pointing it out.
[Gitlab #51]
- Added clarification to dhcp-options.5 section on ip-address values
describing the first-use DNS resolution of options with hostnames as
values (e.g. next-server).
[Gitlab #28]
- The option format for the server option omapi-key was changed to a
format type 'k' (key name); while server options ldap-port and
ldap-init-retry were changed to 'L' (unsigned 32-bit integer). These
three options were inadvertantly broken when the 'd' format content
was changed to comply with RFC 1035 wire format (see Gitlab #2).
[Gitlab #68]
diffstat:
external/mpl/dhcp/dist/CONTRIBUTING.md | 196 +
external/mpl/dhcp/dist/LICENSE | 2 +-
external/mpl/dhcp/dist/Makefile.am | 4 +-
external/mpl/dhcp/dist/Makefile.in | 24 +-
external/mpl/dhcp/dist/README | 268 +-
external/mpl/dhcp/dist/RELNOTES | 186 +-
external/mpl/dhcp/dist/aclocal.m4 | 193 +-
external/mpl/dhcp/dist/client/Makefile.in | 75 +-
external/mpl/dhcp/dist/client/tests/Makefile.in | 69 +-
external/mpl/dhcp/dist/common/Makefile.in | 187 +-
external/mpl/dhcp/dist/common/tests/Kyuafile | 1 +
external/mpl/dhcp/dist/common/tests/Makefile.am | 11 +-
external/mpl/dhcp/dist/common/tests/Makefile.in | 113 +-
external/mpl/dhcp/dist/common/tests/domain_name_test.c | 102 +
external/mpl/dhcp/dist/configure | 250 +-
external/mpl/dhcp/dist/configure.ac | 23 +-
external/mpl/dhcp/dist/configure.ac+lt | 23 +-
external/mpl/dhcp/dist/contrib/dhcp-lease-list.pl | 4 +-
external/mpl/dhcp/dist/dhcpctl/Makefile.in | 130 +-
external/mpl/dhcp/dist/doc/devel/atf.dox | 229 +-
external/mpl/dhcp/dist/includes/Makefile.in | 13 +-
external/mpl/dhcp/dist/keama/ChangeLog.md | 18 +
external/mpl/dhcp/dist/keama/Makefile.am | 7 +
external/mpl/dhcp/dist/keama/Makefile.in | 721 +
external/mpl/dhcp/dist/keama/README.md | 53 +
external/mpl/dhcp/dist/keama/conflex.c | 1555 ++
external/mpl/dhcp/dist/keama/confparse.c | 4997 ++++++++
external/mpl/dhcp/dist/keama/data.c | 1263 ++
external/mpl/dhcp/dist/keama/data.h | 306 +
external/mpl/dhcp/dist/keama/dhctoken.h | 391 +
external/mpl/dhcp/dist/keama/doc.txt | 516 +
external/mpl/dhcp/dist/keama/eval.c | 2257 ++++
external/mpl/dhcp/dist/keama/json.c | 187 +
external/mpl/dhcp/dist/keama/keama.8 | 106 +
external/mpl/dhcp/dist/keama/keama.c | 230 +
external/mpl/dhcp/dist/keama/keama.h | 472 +
external/mpl/dhcp/dist/keama/options.c | 1159 ++
external/mpl/dhcp/dist/keama/parse.c | 6145 +++++++++++
external/mpl/dhcp/dist/keama/print.c | 1495 ++
external/mpl/dhcp/dist/keama/reduce.c | 1021 +
external/mpl/dhcp/dist/keama/tests/README | 42 +
external/mpl/dhcp/dist/keama/tests/badcasexsc.err | 7 +
external/mpl/dhcp/dist/keama/tests/badcasexsc.msg | 1 +
external/mpl/dhcp/dist/keama/tests/badclass.err | 12 +
external/mpl/dhcp/dist/keama/tests/badclass.msg | 1 +
external/mpl/dhcp/dist/keama/tests/badclass2.err | 12 +
external/mpl/dhcp/dist/keama/tests/badclass2.msg | 1 +
external/mpl/dhcp/dist/keama/tests/baddecl2array.err | 4 +
external/mpl/dhcp/dist/keama/tests/baddecl2array.msg | 1 +
external/mpl/dhcp/dist/keama/tests/baddecl2record.err | 4 +
external/mpl/dhcp/dist/keama/tests/baddecl2record.msg | 1 +
external/mpl/dhcp/dist/keama/tests/baddeclBt.err | 4 +
external/mpl/dhcp/dist/keama/tests/baddeclBt.msg | 1 +
external/mpl/dhcp/dist/keama/tests/baddefaultxsc.err | 7 +
external/mpl/dhcp/dist/keama/tests/baddefaultxsc.msg | 1 +
external/mpl/dhcp/dist/keama/tests/baddomain.notyet | 6 +
external/mpl/dhcp/dist/keama/tests/badduid.err | 4 +
external/mpl/dhcp/dist/keama/tests/badduid.msg | 1 +
external/mpl/dhcp/dist/keama/tests/badinclude.err | 3 +
external/mpl/dhcp/dist/keama/tests/badinclude.msg | 1 +
external/mpl/dhcp/dist/keama/tests/badoption66.err6 | 3 +
external/mpl/dhcp/dist/keama/tests/badoption66.msg | 1 +
external/mpl/dhcp/dist/keama/tests/badoptionD6.notyet | 4 +
external/mpl/dhcp/dist/keama/tests/badoptionDc4.notyet | 3 +
external/mpl/dhcp/dist/keama/tests/badoptionI4.err4 | 3 +
external/mpl/dhcp/dist/keama/tests/badoptionI4.msg | 1 +
external/mpl/dhcp/dist/keama/tests/badoptiond4.err4 | 5 +
external/mpl/dhcp/dist/keama/tests/badoptiond4.msg | 1 +
external/mpl/dhcp/dist/keama/tests/badstatusdir.err | 7 +
external/mpl/dhcp/dist/keama/tests/badstatusdir.msg | 1 +
external/mpl/dhcp/dist/keama/tests/badsubclass.err | 11 +
external/mpl/dhcp/dist/keama/tests/badsubclass.msg | 1 +
external/mpl/dhcp/dist/keama/tests/bintadx6.in6 | 9 +
external/mpl/dhcp/dist/keama/tests/bintadx6.out | 15 +
external/mpl/dhcp/dist/keama/tests/bootfilename4.in4 | 4 +
external/mpl/dhcp/dist/keama/tests/bootfilename4.out | 13 +
external/mpl/dhcp/dist/keama/tests/charcasedx4.in4 | 9 +
external/mpl/dhcp/dist/keama/tests/charcasedx4.out | 15 +
external/mpl/dhcp/dist/keama/tests/checkall.sh | 16 +
external/mpl/dhcp/dist/keama/tests/checkone.sh | 54 +
external/mpl/dhcp/dist/keama/tests/class4.in4 | 11 +
external/mpl/dhcp/dist/keama/tests/class4.out | 36 +
external/mpl/dhcp/dist/keama/tests/class4empty.in4 | 5 +
external/mpl/dhcp/dist/keama/tests/class4empty.out | 11 +
external/mpl/dhcp/dist/keama/tests/class6.in6 | 11 +
external/mpl/dhcp/dist/keama/tests/class6.out | 36 +
external/mpl/dhcp/dist/keama/tests/class6empty.in6 | 5 +
external/mpl/dhcp/dist/keama/tests/class6empty.out | 11 +
external/mpl/dhcp/dist/keama/tests/classbadmatch.err | 7 +
external/mpl/dhcp/dist/keama/tests/classbadmatch.msg | 1 +
external/mpl/dhcp/dist/keama/tests/classbadmatchif.err | 7 +
external/mpl/dhcp/dist/keama/tests/classbadmatchif.msg | 1 +
external/mpl/dhcp/dist/keama/tests/classinclass.err | 10 +
external/mpl/dhcp/dist/keama/tests/classinclass.msg | 1 +
external/mpl/dhcp/dist/keama/tests/concatdx4.in4 | 19 +
external/mpl/dhcp/dist/keama/tests/concatdx4.out | 48 +
external/mpl/dhcp/dist/keama/tests/concatnulldx4.in4 | 18 +
external/mpl/dhcp/dist/keama/tests/concatnulldx4.out | 33 +
external/mpl/dhcp/dist/keama/tests/configdata4.in4 | 26 +
external/mpl/dhcp/dist/keama/tests/configdata4.out | 74 +
external/mpl/dhcp/dist/keama/tests/dbtimeformat4.in4 | 6 +
external/mpl/dhcp/dist/keama/tests/dbtimeformat4.out | 10 +
external/mpl/dhcp/dist/keama/tests/dbtimeformat6.in6 | 6 +
external/mpl/dhcp/dist/keama/tests/dbtimeformat6.out | 10 +
external/mpl/dhcp/dist/keama/tests/ddnsupdstyle6.in6 | 12 +
external/mpl/dhcp/dist/keama/tests/ddnsupdstyle6.out | 29 +
external/mpl/dhcp/dist/keama/tests/defaultexpr6.in6 | 10 +
external/mpl/dhcp/dist/keama/tests/defaultexpr6.out | 25 +
external/mpl/dhcp/dist/keama/tests/denyunknown6.in6 | 15 +
external/mpl/dhcp/dist/keama/tests/denyunknown6.out | 32 +
external/mpl/dhcp/dist/keama/tests/docsis4.dir | 11 +
external/mpl/dhcp/dist/keama/tests/docsis6.dir | 27 +
external/mpl/dhcp/dist/keama/tests/duid2.err | 7 +
external/mpl/dhcp/dist/keama/tests/duid2.msg | 1 +
external/mpl/dhcp/dist/keama/tests/duiden6.in6 | 4 +
external/mpl/dhcp/dist/keama/tests/duiden6.out | 11 +
external/mpl/dhcp/dist/keama/tests/duidennoid.err | 5 +
external/mpl/dhcp/dist/keama/tests/duidennoid.msg | 1 +
external/mpl/dhcp/dist/keama/tests/duidennonum.err | 4 +
external/mpl/dhcp/dist/keama/tests/duidennonum.msg | 1 +
external/mpl/dhcp/dist/keama/tests/duidll6.in6 | 5 +
external/mpl/dhcp/dist/keama/tests/duidll6.out | 9 +
external/mpl/dhcp/dist/keama/tests/duidllbadtype.err | 4 +
external/mpl/dhcp/dist/keama/tests/duidllbadtype.msg | 1 +
external/mpl/dhcp/dist/keama/tests/duidllhw6.in6 | 6 +
external/mpl/dhcp/dist/keama/tests/duidllhw6.out | 11 +
external/mpl/dhcp/dist/keama/tests/duidllnohw.err | 4 +
external/mpl/dhcp/dist/keama/tests/duidllnohw.msg | 1 +
external/mpl/dhcp/dist/keama/tests/duidllt6.in6 | 5 +
external/mpl/dhcp/dist/keama/tests/duidllt6.out | 9 +
external/mpl/dhcp/dist/keama/tests/duidlltbadtype.err | 4 +
external/mpl/dhcp/dist/keama/tests/duidlltbadtype.msg | 1 +
external/mpl/dhcp/dist/keama/tests/duidlltnohw.err | 4 +
external/mpl/dhcp/dist/keama/tests/duidlltnohw.msg | 1 +
external/mpl/dhcp/dist/keama/tests/duidlltnotime.err | 4 +
external/mpl/dhcp/dist/keama/tests/duidlltnotime.msg | 1 +
external/mpl/dhcp/dist/keama/tests/duidlltthw4.err4 | 4 +
external/mpl/dhcp/dist/keama/tests/duidlltthw4.msg | 1 +
external/mpl/dhcp/dist/keama/tests/duidlltthw6.in6 | 4 +
external/mpl/dhcp/dist/keama/tests/duidlltthw6.out | 12 +
external/mpl/dhcp/dist/keama/tests/duidnoid.err | 4 +
external/mpl/dhcp/dist/keama/tests/duidnoid.msg | 1 +
external/mpl/dhcp/dist/keama/tests/enableupdates6.in6 | 8 +
external/mpl/dhcp/dist/keama/tests/enableupdates6.out | 20 +
external/mpl/dhcp/dist/keama/tests/encodedx6.in6 | 9 +
external/mpl/dhcp/dist/keama/tests/encodedx6.out | 15 +
external/mpl/dhcp/dist/keama/tests/env | 3 +
external/mpl/dhcp/dist/keama/tests/escapestring4.in4 | 6 +
external/mpl/dhcp/dist/keama/tests/escapestring4.out | 23 +
external/mpl/dhcp/dist/keama/tests/execstatement4.in4 | 7 +
external/mpl/dhcp/dist/keama/tests/execstatement4.out | 11 +
external/mpl/dhcp/dist/keama/tests/execstatement6.in6 | 7 +
external/mpl/dhcp/dist/keama/tests/execstatement6.out | 11 +
external/mpl/dhcp/dist/keama/tests/existsbx4.in4 | 15 +
external/mpl/dhcp/dist/keama/tests/existsbx4.out | 48 +
external/mpl/dhcp/dist/keama/tests/filename4.in4 | 10 +
external/mpl/dhcp/dist/keama/tests/filename4.out | 17 +
external/mpl/dhcp/dist/keama/tests/filenamedx4.notyet | 20 +
external/mpl/dhcp/dist/keama/tests/fixedaddressinroot4.err4 | 4 +
external/mpl/dhcp/dist/keama/tests/fixedaddressinroot4.msg | 1 +
external/mpl/dhcp/dist/keama/tests/fixedaddressinroot6.err6 | 4 +
external/mpl/dhcp/dist/keama/tests/fixedaddressinroot6.msg | 1 +
external/mpl/dhcp/dist/keama/tests/fixedprefixinroot.err6 | 4 +
external/mpl/dhcp/dist/keama/tests/fixedprefixinroot.msg | 1 +
external/mpl/dhcp/dist/keama/tests/fqdncompressed.err6 | 7 +
external/mpl/dhcp/dist/keama/tests/fqdncompressed.msg | 1 +
external/mpl/dhcp/dist/keama/tests/gethostdx4.notyet | 13 +
external/mpl/dhcp/dist/keama/tests/global4.in4 | 10 +
external/mpl/dhcp/dist/keama/tests/global4.out | 28 +
external/mpl/dhcp/dist/keama/tests/global6.in6 | 10 +
external/mpl/dhcp/dist/keama/tests/global6.out | 26 +
external/mpl/dhcp/dist/keama/tests/groupclass4.in4 | 32 +
external/mpl/dhcp/dist/keama/tests/groupclass4.out | 102 +
external/mpl/dhcp/dist/keama/tests/groupclass6.in6 | 35 +
external/mpl/dhcp/dist/keama/tests/groupclass6.out | 123 +
external/mpl/dhcp/dist/keama/tests/groupgroup4.in4 | 45 +
external/mpl/dhcp/dist/keama/tests/groupgroup4.out | 138 +
external/mpl/dhcp/dist/keama/tests/grouphost4.inn | 35 +
external/mpl/dhcp/dist/keama/tests/grouphost4.out | 78 +
external/mpl/dhcp/dist/keama/tests/groupinclass.err | 10 +
external/mpl/dhcp/dist/keama/tests/groupinclass.msg | 1 +
external/mpl/dhcp/dist/keama/tests/groupsubnet4.in4 | 24 +
external/mpl/dhcp/dist/keama/tests/groupsubnet4.out | 38 +
external/mpl/dhcp/dist/keama/tests/groupsubnet6.in6 | 24 +
external/mpl/dhcp/dist/keama/tests/groupsubnet6.out | 44 +
external/mpl/dhcp/dist/keama/tests/groupsubnetif.err4 | 19 +
external/mpl/dhcp/dist/keama/tests/groupsubnetif.msg | 1 +
external/mpl/dhcp/dist/keama/tests/hardware2dx4.in4 | 13 +
external/mpl/dhcp/dist/keama/tests/hardware2dx4.out | 25 +
external/mpl/dhcp/dist/keama/tests/hardwaredx4.in4 | 16 +
external/mpl/dhcp/dist/keama/tests/hardwaredx4.out | 55 +
external/mpl/dhcp/dist/keama/tests/hardwareinroot.err | 5 +
external/mpl/dhcp/dist/keama/tests/hardwareinroot.msg | 1 +
external/mpl/dhcp/dist/keama/tests/host6.notyet | 20 +
external/mpl/dhcp/dist/keama/tests/hostidentifier4.inl | 30 +
external/mpl/dhcp/dist/keama/tests/hostidentifier4.outl | 78 +
external/mpl/dhcp/dist/keama/tests/hostinclass.err | 10 +
external/mpl/dhcp/dist/keama/tests/hostinclass.msg | 1 +
external/mpl/dhcp/dist/keama/tests/hostinhost.err | 11 +
external/mpl/dhcp/dist/keama/tests/hostinhost.msg | 1 +
external/mpl/dhcp/dist/keama/tests/hostname4.in4 | 18 +
external/mpl/dhcp/dist/keama/tests/hostname4.out | 37 +
external/mpl/dhcp/dist/keama/tests/hostnum.errF | 7 +
external/mpl/dhcp/dist/keama/tests/hostnum.msg | 1 +
external/mpl/dhcp/dist/keama/tests/hostuid4.inn | 29 +
external/mpl/dhcp/dist/keama/tests/hostuid4.out | 62 +
external/mpl/dhcp/dist/keama/tests/ifxsc4.in4 | 17 +
external/mpl/dhcp/dist/keama/tests/ifxsc4.out | 79 +
external/mpl/dhcp/dist/keama/tests/ipaddr6.in6 | 3 +
external/mpl/dhcp/dist/keama/tests/ipaddr6.out | 14 +
external/mpl/dhcp/dist/keama/tests/ipaddrhost4.in4 | 8 +
external/mpl/dhcp/dist/keama/tests/ipaddrhost4.out | 24 +
external/mpl/dhcp/dist/keama/tests/ipaddrs4.notyet4 | 11 +
external/mpl/dhcp/dist/keama/tests/lifetime4.ind | 5 +
external/mpl/dhcp/dist/keama/tests/lifetime4.out | 8 +
external/mpl/dhcp/dist/keama/tests/lifetime6.inD | 5 +
external/mpl/dhcp/dist/keama/tests/lifetime6.out | 8 +
external/mpl/dhcp/dist/keama/tests/lifetimedef4.ind | 1 +
external/mpl/dhcp/dist/keama/tests/lifetimedef4.out | 11 +
external/mpl/dhcp/dist/keama/tests/lifetimedef6.inD | 1 +
external/mpl/dhcp/dist/keama/tests/lifetimedef6.out | 11 +
external/mpl/dhcp/dist/keama/tests/listarray.err | 7 +
external/mpl/dhcp/dist/keama/tests/listarray.msg | 1 +
external/mpl/dhcp/dist/keama/tests/minimal4.in4 | 4 +
external/mpl/dhcp/dist/keama/tests/minimal4.out | 7 +
external/mpl/dhcp/dist/keama/tests/minimal6.in6 | 4 +
external/mpl/dhcp/dist/keama/tests/minimal6.out | 7 +
external/mpl/dhcp/dist/keama/tests/mixedarray.err | 7 +
external/mpl/dhcp/dist/keama/tests/mixedarray.msg | 1 +
external/mpl/dhcp/dist/keama/tests/nestarray.err | 7 +
external/mpl/dhcp/dist/keama/tests/nestarray.msg | 1 +
external/mpl/dhcp/dist/keama/tests/noauth4.in4 | 7 +
external/mpl/dhcp/dist/keama/tests/noauth4.out | 15 +
external/mpl/dhcp/dist/keama/tests/noauth6.in6 | 6 +
external/mpl/dhcp/dist/keama/tests/noauth6.out | 15 +
external/mpl/dhcp/dist/keama/tests/noclass.err | 7 +
external/mpl/dhcp/dist/keama/tests/noclass.msg | 1 +
external/mpl/dhcp/dist/keama/tests/noinclude.err | 3 +
external/mpl/dhcp/dist/keama/tests/noinclude.msg | 1 +
external/mpl/dhcp/dist/keama/tests/nosubclass.err | 11 +
external/mpl/dhcp/dist/keama/tests/nosubclass.msg | 1 +
external/mpl/dhcp/dist/keama/tests/nosuperclass.err | 11 +
external/mpl/dhcp/dist/keama/tests/nosuperclass.msg | 1 +
external/mpl/dhcp/dist/keama/tests/notbx4.in4 | 12 +
external/mpl/dhcp/dist/keama/tests/notbx4.out | 30 +
external/mpl/dhcp/dist/keama/tests/notnotbx4.in4 | 15 +
external/mpl/dhcp/dist/keama/tests/notnotbx4.out | 21 +
external/mpl/dhcp/dist/keama/tests/nxdomainnx6.in6 | 12 +
external/mpl/dhcp/dist/keama/tests/nxdomainnx6.out | 28 +
external/mpl/dhcp/dist/keama/tests/onxsc4.in4 | 12 +
external/mpl/dhcp/dist/keama/tests/onxsc4.out | 34 +
external/mpl/dhcp/dist/keama/tests/optdatagrouppool4.in4 | 18 +
external/mpl/dhcp/dist/keama/tests/optdatagrouppool4.out | 23 +
external/mpl/dhcp/dist/keama/tests/optiondata4.in4 | 48 +
external/mpl/dhcp/dist/keama/tests/optiondata4.out | 173 +
external/mpl/dhcp/dist/keama/tests/optiondata6.in6 | 49 +
external/mpl/dhcp/dist/keama/tests/optiondata6.out | 178 +
external/mpl/dhcp/dist/keama/tests/optiondatapool4.in4 | 12 +
external/mpl/dhcp/dist/keama/tests/optiondatapool4.out | 31 +
external/mpl/dhcp/dist/keama/tests/optiondatapool6.in6 | 13 +
external/mpl/dhcp/dist/keama/tests/optiondatapool6.out | 32 +
external/mpl/dhcp/dist/keama/tests/optiondecl4.in4 | 27 +
external/mpl/dhcp/dist/keama/tests/optiondecl4.out | 143 +
external/mpl/dhcp/dist/keama/tests/optiondecl6.in6 | 27 +
external/mpl/dhcp/dist/keama/tests/optiondecl6.out | 137 +
external/mpl/dhcp/dist/keama/tests/optiondeclBat4.in4 | 6 +
external/mpl/dhcp/dist/keama/tests/optiondeclBat4.out | 18 +
external/mpl/dhcp/dist/keama/tests/optionencap4.in4 | 7 +
external/mpl/dhcp/dist/keama/tests/optionencap4.out | 15 +
external/mpl/dhcp/dist/keama/tests/optionencap6.in6 | 7 +
external/mpl/dhcp/dist/keama/tests/optionencap6.out | 15 +
external/mpl/dhcp/dist/keama/tests/optionexpr4.in4 | 16 +
external/mpl/dhcp/dist/keama/tests/optionexpr4.out | 81 +
external/mpl/dhcp/dist/keama/tests/optionspace4.in4 | 15 +
external/mpl/dhcp/dist/keama/tests/optionspace4.out | 34 +
external/mpl/dhcp/dist/keama/tests/optionspace6.in6 | 15 +
external/mpl/dhcp/dist/keama/tests/optionspace6.out | 34 +
external/mpl/dhcp/dist/keama/tests/optionvendor4.in4 | 8 +
external/mpl/dhcp/dist/keama/tests/optionvendor4.out | 28 +
external/mpl/dhcp/dist/keama/tests/optionvendor6.in6 | 8 +
external/mpl/dhcp/dist/keama/tests/optionvendor6.out | 28 +
external/mpl/dhcp/dist/keama/tests/orphan4.inn | 10 +
external/mpl/dhcp/dist/keama/tests/orphan4.out | 30 +
external/mpl/dhcp/dist/keama/tests/orphan6.inN | 10 +
external/mpl/dhcp/dist/keama/tests/orphan6.out | 28 +
external/mpl/dhcp/dist/keama/tests/packetdx4.notyet | 20 +
external/mpl/dhcp/dist/keama/tests/permitauth4.in4 | 15 +
external/mpl/dhcp/dist/keama/tests/permitauth4.out | 33 +
external/mpl/dhcp/dist/keama/tests/permitauth6.in6 | 15 +
external/mpl/dhcp/dist/keama/tests/permitauth6.out | 33 +
external/mpl/dhcp/dist/keama/tests/permitknown4.in4 | 15 +
external/mpl/dhcp/dist/keama/tests/permitknown4.out | 26 +
external/mpl/dhcp/dist/keama/tests/pickdx6.in6 | 15 +
external/mpl/dhcp/dist/keama/tests/pickdx6.out | 21 +
external/mpl/dhcp/dist/keama/tests/pool4.in4 | 11 +
external/mpl/dhcp/dist/keama/tests/pool4.out | 31 +
external/mpl/dhcp/dist/keama/tests/pool42.in4 | 15 +
external/mpl/dhcp/dist/keama/tests/pool42.out | 49 +
external/mpl/dhcp/dist/keama/tests/pool6.in6 | 11 +
external/mpl/dhcp/dist/keama/tests/pool6.out | 31 +
external/mpl/dhcp/dist/keama/tests/pool6in4.err4 | 13 +
external/mpl/dhcp/dist/keama/tests/pool6in4.msg | 1 +
external/mpl/dhcp/dist/keama/tests/poolinroot4.err4 | 7 +
external/mpl/dhcp/dist/keama/tests/poolinroot4.msg | 1 +
external/mpl/dhcp/dist/keama/tests/poolinroot6.err6 | 7 +
external/mpl/dhcp/dist/keama/tests/poolinroot6.msg | 1 +
external/mpl/dhcp/dist/keama/tests/preferred6.in6 | 14 +
external/mpl/dhcp/dist/keama/tests/preferred6.out | 30 +
external/mpl/dhcp/dist/keama/tests/prefix0.err6 | 9 +
external/mpl/dhcp/dist/keama/tests/prefix0.msg | 1 +
external/mpl/dhcp/dist/keama/tests/prefix128.err6 | 9 +
external/mpl/dhcp/dist/keama/tests/prefix128.msg | 1 +
external/mpl/dhcp/dist/keama/tests/prefix6.in6 | 9 +
external/mpl/dhcp/dist/keama/tests/prefix6.out | 32 +
external/mpl/dhcp/dist/keama/tests/prefix62.in6 | 10 +
external/mpl/dhcp/dist/keama/tests/prefix62.out | 36 +
external/mpl/dhcp/dist/keama/tests/prefixinroot6.err6 | 4 +
external/mpl/dhcp/dist/keama/tests/prefixinroot6.msg | 1 +
external/mpl/dhcp/dist/keama/tests/qualifyingsuffix4.in4 | 9 +
external/mpl/dhcp/dist/keama/tests/qualifyingsuffix4.out | 17 +
external/mpl/dhcp/dist/keama/tests/qualifyingsuffix6.in6 | 8 +
external/mpl/dhcp/dist/keama/tests/qualifyingsuffix6.out | 17 +
external/mpl/dhcp/dist/keama/tests/range4.in4 | 9 +
external/mpl/dhcp/dist/keama/tests/range4.out | 30 +
external/mpl/dhcp/dist/keama/tests/range6.in6 | 11 +
external/mpl/dhcp/dist/keama/tests/range6.out | 37 +
external/mpl/dhcp/dist/keama/tests/range6in4.err4 | 5 +
external/mpl/dhcp/dist/keama/tests/range6in4.msg | 1 +
external/mpl/dhcp/dist/keama/tests/rangeinroot4.err4 | 4 +
external/mpl/dhcp/dist/keama/tests/rangeinroot4.msg | 1 +
external/mpl/dhcp/dist/keama/tests/rangeinroot6.err6 | 5 +
external/mpl/dhcp/dist/keama/tests/rangeinroot6.msg | 1 +
external/mpl/dhcp/dist/keama/tests/reversedx6.in6 | 9 +
external/mpl/dhcp/dist/keama/tests/reversedx6.out | 15 +
external/mpl/dhcp/dist/keama/tests/runall.sh | 15 +
external/mpl/dhcp/dist/keama/tests/runone.sh | 119 +
external/mpl/dhcp/dist/keama/tests/samples/example.conf | 111 +
external/mpl/dhcp/dist/keama/tests/samples/example.json | 223 +
external/mpl/dhcp/dist/keama/tests/samples/runall.sh | 11 +
external/mpl/dhcp/dist/keama/tests/samples/runone.sh | 39 +
external/mpl/dhcp/dist/keama/tests/samples/simple.conf | 33 +
external/mpl/dhcp/dist/keama/tests/samples/simple.json | 53 +
external/mpl/dhcp/dist/keama/tests/samples/test-a6.conf | 75 +
external/mpl/dhcp/dist/keama/tests/samples/test-a6.json | 144 +
external/mpl/dhcp/dist/keama/tests/samples/vmnet8.conf | 43 +
external/mpl/dhcp/dist/keama/tests/samples/vmnet8.json | 105 +
external/mpl/dhcp/dist/keama/tests/share0.err | 6 +
external/mpl/dhcp/dist/keama/tests/share0.msg | 1 +
external/mpl/dhcp/dist/keama/tests/share2if.err | 7 +
external/mpl/dhcp/dist/keama/tests/share2if.msg | 1 +
external/mpl/dhcp/dist/keama/tests/shareempty.err | 6 +
external/mpl/dhcp/dist/keama/tests/shareempty.msg | 1 +
external/mpl/dhcp/dist/keama/tests/shareinclass.err | 11 +
external/mpl/dhcp/dist/keama/tests/shareinclass.msg | 1 +
external/mpl/dhcp/dist/keama/tests/shareinhost.err | 11 +
external/mpl/dhcp/dist/keama/tests/shareinhost.msg | 1 +
external/mpl/dhcp/dist/keama/tests/shareinshare.err | 10 +
external/mpl/dhcp/dist/keama/tests/shareinshare.msg | 1 +
external/mpl/dhcp/dist/keama/tests/shareinsubnet4.err4 | 10 +
external/mpl/dhcp/dist/keama/tests/shareinsubnet4.msg | 1 +
external/mpl/dhcp/dist/keama/tests/shareinsubnet6.err6 | 10 +
external/mpl/dhcp/dist/keama/tests/shareinsubnet6.msg | 1 +
external/mpl/dhcp/dist/keama/tests/sharenoname.err | 6 +
external/mpl/dhcp/dist/keama/tests/sharenoname.msg | 1 +
external/mpl/dhcp/dist/keama/tests/shareone4.in4 | 22 +
external/mpl/dhcp/dist/keama/tests/shareone4.out | 44 +
external/mpl/dhcp/dist/keama/tests/shareone6.in6 | 19 +
external/mpl/dhcp/dist/keama/tests/shareone6.out | 37 +
external/mpl/dhcp/dist/keama/tests/sharepools4.in4 | 27 +
external/mpl/dhcp/dist/keama/tests/sharepools4.out | 63 +
external/mpl/dhcp/dist/keama/tests/sharetwo4.in4 | 29 +
external/mpl/dhcp/dist/keama/tests/sharetwo4.out | 64 +
external/mpl/dhcp/dist/keama/tests/sharetwo6.in6 | 24 +
external/mpl/dhcp/dist/keama/tests/sharetwo6.out | 56 +
external/mpl/dhcp/dist/keama/tests/sname4.notyet | 20 +
external/mpl/dhcp/dist/keama/tests/spawning6.in6 | 11 +
external/mpl/dhcp/dist/keama/tests/spawning6.out | 37 +
external/mpl/dhcp/dist/keama/tests/subclass4.in4 | 23 +
external/mpl/dhcp/dist/keama/tests/subclass4.out | 84 +
external/mpl/dhcp/dist/keama/tests/subclass6.in6 | 23 +
external/mpl/dhcp/dist/keama/tests/subclass6.out | 89 +
external/mpl/dhcp/dist/keama/tests/subclassbinsel4.in4 | 16 +
external/mpl/dhcp/dist/keama/tests/subclassbinsel4.out | 61 +
external/mpl/dhcp/dist/keama/tests/subclassbinsel6.in6 | 25 +
external/mpl/dhcp/dist/keama/tests/subclassbinsel6.out | 88 +
external/mpl/dhcp/dist/keama/tests/subclassguard4.in4 | 24 +
external/mpl/dhcp/dist/keama/tests/subclassguard4.out | 79 +
external/mpl/dhcp/dist/keama/tests/subclassguard6.in6 | 24 +
external/mpl/dhcp/dist/keama/tests/subclassguard6.out | 84 +
external/mpl/dhcp/dist/keama/tests/subnet4.in4 | 16 +
external/mpl/dhcp/dist/keama/tests/subnet4.out | 33 +
external/mpl/dhcp/dist/keama/tests/subnet42if.err4 | 8 +
external/mpl/dhcp/dist/keama/tests/subnet42if.msg | 1 +
external/mpl/dhcp/dist/keama/tests/subnet4auth.in4 | 18 +
external/mpl/dhcp/dist/keama/tests/subnet4auth.out | 35 +
external/mpl/dhcp/dist/keama/tests/subnet4badmask.err4 | 7 +
external/mpl/dhcp/dist/keama/tests/subnet4badmask.msg | 1 +
external/mpl/dhcp/dist/keama/tests/subnet4inclass.err4 | 10 +
external/mpl/dhcp/dist/keama/tests/subnet4inclass.msg | 1 +
external/mpl/dhcp/dist/keama/tests/subnet4inhost.err4 | 11 +
external/mpl/dhcp/dist/keama/tests/subnet4inhost.msg | 1 +
external/mpl/dhcp/dist/keama/tests/subnet4nomask.err4 | 7 +
external/mpl/dhcp/dist/keama/tests/subnet4nomask.msg | 1 +
external/mpl/dhcp/dist/keama/tests/subnet6.in6 | 18 +
external/mpl/dhcp/dist/keama/tests/subnet6.out | 39 +
external/mpl/dhcp/dist/keama/tests/subnet62if.err6 | 8 +
external/mpl/dhcp/dist/keama/tests/subnet62if.msg | 1 +
external/mpl/dhcp/dist/keama/tests/subnet6auth.in6 | 21 +
external/mpl/dhcp/dist/keama/tests/subnet6auth.out | 44 +
external/mpl/dhcp/dist/keama/tests/subnet6inclass.err6 | 10 +
external/mpl/dhcp/dist/keama/tests/subnet6inclass.msg | 1 +
external/mpl/dhcp/dist/keama/tests/subnet6inhost.err6 | 11 +
external/mpl/dhcp/dist/keama/tests/subnet6inhost.msg | 1 +
external/mpl/dhcp/dist/keama/tests/subnet6multi.in6 | 19 +
external/mpl/dhcp/dist/keama/tests/subnet6multi.out | 49 +
external/mpl/dhcp/dist/keama/tests/subnet6nolen.err6 | 7 +
external/mpl/dhcp/dist/keama/tests/subnet6nolen.msg | 1 +
external/mpl/dhcp/dist/keama/tests/subnet6noslash.err6 | 7 +
external/mpl/dhcp/dist/keama/tests/subnet6noslash.msg | 1 +
external/mpl/dhcp/dist/keama/tests/subnet6one.in6 | 18 +
external/mpl/dhcp/dist/keama/tests/subnet6one.out | 45 +
external/mpl/dhcp/dist/keama/tests/subnetinsubnet4.err4 | 10 +
external/mpl/dhcp/dist/keama/tests/subnetinsubnet4.msg | 1 +
external/mpl/dhcp/dist/keama/tests/subnetinsubnet6.err6 | 10 +
external/mpl/dhcp/dist/keama/tests/subnetinsubnet6.msg | 1 +
external/mpl/dhcp/dist/keama/tests/substringdx4.in4 | 21 +
external/mpl/dhcp/dist/keama/tests/substringdx4.out | 49 +
external/mpl/dhcp/dist/keama/tests/suffixdx4.in4 | 26 +
external/mpl/dhcp/dist/keama/tests/suffixdx4.out | 74 +
external/mpl/dhcp/dist/keama/tests/switchxsc4.in4 | 18 +
external/mpl/dhcp/dist/keama/tests/switchxsc4.out | 79 +
external/mpl/dhcp/dist/keama/tests/switchxsc6.in6 | 18 +
external/mpl/dhcp/dist/keama/tests/switchxsc6.out | 82 +
external/mpl/dhcp/dist/keama/tests/tautology.err | 9 +
external/mpl/dhcp/dist/keama/tests/tautology.msg | 1 +
external/mpl/dhcp/dist/keama/tests/tautologyhexa.err | 9 +
external/mpl/dhcp/dist/keama/tests/tautologyhexa.msg | 1 +
external/mpl/dhcp/dist/keama/tests/tautologysub.err | 9 +
external/mpl/dhcp/dist/keama/tests/tautologysub.msg | 1 +
external/mpl/dhcp/dist/keama/tests/temporary6.in6 | 10 +
external/mpl/dhcp/dist/keama/tests/temporary6.out | 33 +
external/mpl/dhcp/dist/keama/tests/textarray.err | 7 +
external/mpl/dhcp/dist/keama/tests/textarray.msg | 1 +
external/mpl/dhcp/dist/keama/tests/unknownoption.err | 4 +
external/mpl/dhcp/dist/keama/tests/unknownoption.msg | 1 +
external/mpl/dhcp/dist/keama/tests/unknownspace.err | 4 +
external/mpl/dhcp/dist/keama/tests/unknownspace.msg | 1 +
external/mpl/dhcp/dist/keama/tests/userclass.err | 6 +
external/mpl/dhcp/dist/keama/tests/userclass.msg | 1 +
external/mpl/dhcp/dist/keama/tests/vendorclass.err | 6 +
external/mpl/dhcp/dist/keama/tests/vendorclass.msg | 1 +
external/mpl/dhcp/dist/keama/tests/vendorspace4.in4 | 11 +
external/mpl/dhcp/dist/keama/tests/vendorspace4.out | 41 +
external/mpl/dhcp/dist/keama/tests/zone4.in4 | 24 +
external/mpl/dhcp/dist/keama/tests/zone4.out | 47 +
external/mpl/dhcp/dist/omapip/Makefile.in | 160 +-
external/mpl/dhcp/dist/relay/Makefile.am | 3 +-
external/mpl/dhcp/dist/relay/Makefile.in | 201 +-
external/mpl/dhcp/dist/relay/tests/Atffile | 5 +
external/mpl/dhcp/dist/relay/tests/Kyuafile | 4 +
external/mpl/dhcp/dist/relay/tests/Makefile.am | 49 +
external/mpl/dhcp/dist/relay/tests/Makefile.in | 742 +
external/mpl/dhcp/dist/relay/tests/relay_unittests.c | 413 +
external/mpl/dhcp/dist/server/Makefile.in | 143 +-
external/mpl/dhcp/dist/server/tests/Makefile.in | 154 +-
external/mpl/dhcp/dist/tests/Makefile.in | 34 +-
466 files changed, 34167 insertions(+), 959 deletions(-)
diffs (truncated from 38534 to 300 lines):
diff -r ba3cc5023897 -r ddd78bda2ba6 external/mpl/dhcp/dist/CONTRIBUTING.md
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/external/mpl/dhcp/dist/CONTRIBUTING.md Mon Aug 03 21:09:06 2020 +0000
@@ -0,0 +1,196 @@
+# ISC DHCP Contributor's Guide
+
+So you found a bug in ISC DHCP or plan to develop an extension and want to send us a patch? Great!
+This page will explain how to contribute your changes smoothly.
+
+We do not require a contributors agreement. By submitting a patch or merge request to this project,
+you are agreeing that your code will be covered by the primary license for the project.
+ISC DHCP is currently licensed under the MPL2.0 license.
+
+Here's are the steps in contributing a patch:
+
+1. **create account** on [gitlab](https://gitlab.isc.org)
+2. **open an issue** in [this project](https://gitlab.isc.org/isc-projects/dhcp/issues/new), make sure
+ it describes what you want to fix and **why**. ISC DHCP is very mature code, with a large installed base.
+ We are fairly conservative about making changes unless there is a very good reason.
+3. **ask someone from the ISC team to give you a 'project allocation' so you can to fork ISC DHCP in our repo** (ask on the issue - mention @tomek, @vicky, @ondrej
+ or @godfryd if it seems we haven't noticed your request)
+4. **fork the DHCP master branch**: go to the DHCP project page, click the [Fork button](https://gitlab.isc.org/isc-projects/dhcp/forks/new).
+ If you can't, you didn't complete step 3. It helps to include the issue number and subject in the branch name.
+5. **Implement your fix or feature, in your branch**. Make sure it compiles, has unit-tests,
+ is documented and does what it's supposed to do.
+6. **Open Merge Request**: go to the DHCP project [merge requests page](https://gitlab.isc.org/isc-projects/dhcp/merge_requests), and
+ click [New merge request](https://gitlab.isc.org/isc-projects/dhcp/merge_requests/new). If you
+ don't see the button, you didn't complete step 3.
+7. **Participate in the code review**: Once you submit the MR, someone from ISC will eventually get
+ to the issue and will review your code. Please make sure you respond to comments. It's likely
+ you'll be asked to update the code.
+
+See the text below for more details.
+
+
+## Create an issue
+
+The first step in contributing to ISC DHCP is to [create an issue](https://gitlab.isc.org/isc-projects/dhcp/issues/new), describing the problem, deficiency
+or missing feature you want to address. It is important to make it very clear why the specific change
+you are proposing should be made. ISC DHCP is very mature code, with a large and somewhat inert installed base.
+We are very cautious about introducing changes that could break existing functionalty. If you want to fix
+multiple problems, or make multiple changes, please make separate issues for each.
+
+## Plan your changes
+
+Before you start working on a patch or a new feature, it is a good idea to discuss it first with
+DHCP developers. You may benefit from reading the [ISC DHCP Developer's Survival Guide](https://gitlab.isc.org/isc-projects/dhcp/wikis/home)
+posted on the wiki page for this repo.
+
+You can post questions about development on the [dhcp-workers](https://lists.isc.org/mailman/listinfo/dhcp-workers)
+or [dhcp-users](https://lists.isc.org/mailman/listinfo/dhcp-users) mailing lists. Dhcp-users is
+intended for users who are not interested in development details: it is appropriate to ask for
+feedback regarding the best proposed solution to a certain problem. The internal details,
+questions about the code and its internals are better asked on dhcp-workers. The dhcp-workers
+list is a very low traffic list.
+
+
+## Create a branch for your work
+
+These instructions assume you will be making your changes on a branch in the ISC DHCP Gitlab
+repository. This is by far the easiest way for us to collaborate with you. While we also maintain a presence
+on [Github](https://github.com/isc-projects/dhcp), ISC developers rarely look at Github, which is
+just a mirror of our Gitlab system.
+
+ISC's Gitlab has been a target for spammers, so it is set up defensively. New users need permission
+from ISC to create new projects. We gladly do this for anyone who asks and provides a good reason.
+"I'd like to fix bug X or develop feature Y" is an excellent reason. To request a project
+allocation in ISC's Gitlab, just ask for it in a comment in your issue. Make sure
+you tag someone at ISC (@tomek, @godfryd, @vicky or @ondrej). When you write a comment in an issue or
+merge request and add a name tag on it, the user is automatically notified.
+
+Once you are given a 'project allocation' in our Gitlab, you can fork ISC DHCP and create a branch.
+This is your copy of ISC DHCP and is where you will make your changes. Go to the DHCP project page,
+click the [Fork button](https://gitlab.isc.org/isc-projects/dhcp/forks/new) and you will be prompted
+to name your branch. It helps to include the issue number and subject in the branch name. You can make
+changes to this branch without worrying that you will impact the master branch - commit priviliges
+are restricted so you cannot accidentally alter the master branch.
+
+Please read the [Gitlab How-To](https://gitlab.isc.org/isc-projects/dhcp/wikis/processes/gitlab-howto) for ISC DHCP.
+
+
+## Implement your change
+
+Please try to conform to the project's coding standards. ISC DHCP uses the same [coding standards](https://gitlab.isc.org/isc-projects/bind9/blob/master/doc/dev/style.md) as the BIND 9 project.
https://gitlab.isc.org/isc-projects/bind9/blob/master/doc/dev/style.md
+
+
+## Compile your code
+
+We don't yet have continuous integration set up for ISC DHCP, so you have to check the compilation manually.
+ISC DHCP is used on a wide array of UNIX and Linux operating systems. Will your code compile and work there?
+What about endianness? It is likely that you used a regular x86 architecture machine to write your
+patch, but the software is expected to run on many other architectures. .
+
+## Run unit-tests
+
+One of the ground rules in all ISC projects is that every piece of code has to be tested. For newer
+projects, we require a unit-test for almost every line of code. For older code, such as
+ISC DHCP, that was not developed with testability in mind, it's unfortunately impractical to require
+extensive unit-tests. Having said that, please think thoroughly if there is any way to develop
+unit-tests. The long term goal is to improve the situation.
+
+Where unit tests are not practical, supplying us with things like configuration file(s), lease file(s),
+PCAPS, and step-by-step on how you tested the changes would be a big help. This will aid us in
+creating and adding system tests to the build farm.
+
+You should have also conducted some sort of system testing to verify that your changes do what you
+want. It would be extremely helpful if you can attach any configuration files (dhcpd and or
+dhclient), along with a step-by-step procedure to carry out the test(s). This will help us verify
+your changes as extend our own system tests.
+
+Make sure you have ATF (Automated Test Framework) installed in your system. For more information
+about ATF, please refer to <dhcp source tree>/doc/devel/atf.dox. Note, running "make devel" in this
+directory will generate the documentation. To run the unit-tests, simply run:
+
+```bash
+./configure --with-atf
+make
+make check
+```
+
+If you happen to add new files or have modified any Makefile.am files, it is also a good idea to
+check if you haven't broken the distribution process:
+
+```bash
+make distcheck
+```
+
+There are other useful switches which can be passed to configure. A complete list of all switches
+can be obtained with the command:
+
+```bash
+./configure --help
+```
+
+## Create a Merge Request
+
+Once you feel that your patch is ready, go to the DHCP project
+and [submit a Merge Request](https://gitlab.isc.org/isc-projects/dhcp/merge_requests/new).
+
+If you can't access this link or don't see New Merge Request button on the [merge requests
+page](https://gitlab.isc.org/isc-projects/dhcp/merge_requests), please ask on dhcp-workers and someone
+will help you out.
+
+Once you submit it, someone from the DHCP development team will look at it and will get back to you.
+The dev team is very small, so it may take a while...
+
+## If you really can't do a merge request on ISC's Gitlab...
+
+Well, you are out of luck. There are other ways, but those are really awkward and the chances of
+your patch being ignored are really high. Anyway, here they are:
+
+- Create a ticket in the DHCP Gitlab (https://gitlab.isc.org/isc-projects/dhcp) and attach your
+ patch to it. Sending a patch has a number of disadvantages. First, if you don't specify the base
+ version against which it was created, one of ISC engineers will have to guess that or go through
+ a series of trials and errors to find that out. If the code doesn't compile, the reviewer will not
+ know if the patch is broken or maybe it was applied to incorrect base code. Another frequent
+ problem is that it may be possible that the patch didn't include any new files you have added.
+
+- Send a patch to the dhcp-workers list. This is even worse, but still better than not getting the
+ patch at all. The problem with this approach is that we don't know which version the patch was
+ created against and there is no way to track it. So the chances of it being forgotten are high.
+ Once a DHCP developer get to it, the first thing he/she will have to do is try to apply your
+ patch, create a branch commit your changes and then open MR for it.
+
+## Going through a review
+
+Once the merge request (MR) is in the system, the action is on one of the core developers.
+
+Sooner or later, one of these engineers will do the review. Unfortunately, we have a small team
+and we have a lot of users to support, so it may take a while for us to get to your patch.
+Having said that, we value external contributions very much and will do whatever we
+can to review patches in a timely manner.
+
+Don't get discouraged if your patch is not accepted on the first review. To keep the code
+quality high, we use the same review processes for external patches as we do for internal code.
+It may take some cycles of review/updated patch submissions before the code is finally accepted.
+The nature of the review process is that it emphasizes areas that need improvement. If you are
+not used to the review process, you may get the impression that the feedback is negative. It
+is not: even the core developers seldom see reviews that say "All OK please merge".
+
+If we happen to have any comments that you as submitter are expected to address (and in the
+overwhelming majority of cases, we have), you will be asked to update your MR. It is common
+to see several rounds of such reviews.
+
+Once the process is almost complete, the developer will likely ask you how you would like to be
+credited. The typical answers are by first and last name, by nickname, by company name or
+anonymously. Typically we will add a note to the ChangeLog and also set you as the author of the
+commit applying the patch and update the contributors section in the AUTHORS file. If the
+contributed feature is big or critical for whatever reason, it may also be mentioned in release
+notes.
+
+Sadly, we sometimes see patches that are submitted and then the submitter never responds to our
+comments or requests for an updated patch. Depending on the nature of the patch, we may either fix
+the outstanding issues on our own and get another engineer to review them or the ticket may end
+up in our Outstanding milestone. When a new release is started, we go through the tickets in
+Outstanding, select a small number of them and move them to whatever the current milestone is. Keep
+that in mind if you plan to submit a patch and forget about it. We may accept it eventually, but
+it's a much, much faster process if you participate in it.
+
+#### Thank you for contributing your time and expertise to the ISC DHCP Project.
diff -r ba3cc5023897 -r ddd78bda2ba6 external/mpl/dhcp/dist/LICENSE
--- a/external/mpl/dhcp/dist/LICENSE Mon Aug 03 20:43:41 2020 +0000
+++ b/external/mpl/dhcp/dist/LICENSE Mon Aug 03 21:09:06 2020 +0000
@@ -1,4 +1,4 @@
-# Copyright (c) 2004-2018 by Internet Systems Consortium, Inc. ("ISC")
+# Copyright (c) 2004-2020 by Internet Systems Consortium, Inc. ("ISC")
# Copyright (c) 1995-2003 by Internet Software Consortium
#
# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES
diff -r ba3cc5023897 -r ddd78bda2ba6 external/mpl/dhcp/dist/Makefile.am
--- a/external/mpl/dhcp/dist/Makefile.am Mon Aug 03 20:43:41 2020 +0000
+++ b/external/mpl/dhcp/dist/Makefile.am Mon Aug 03 21:09:06 2020 +0000
@@ -30,7 +30,7 @@
doc/devel/mainpage.dox doc/devel/omapi.dox doc/devel/qa.dox \
client/tests/Atffile common/tests/Atffile server/tests/Atffile \
client/tests/Kyuafile common/tests/Kyuafile server/tests/Kyuafile \
- m4/README
+ m4/README CONTRIBUTING.md
if HAVE_BINDDIR
EXTRA_DIST += bind/Makefile.in bind/bind.tar.gz bind/version.tmp
@@ -40,6 +40,8 @@
# to fool automake when the bind directory does not exist.
SUBDIRS = @BINDSUBDIR@ includes tests common omapip client dhcpctl relay server
+DIST_SUBDIRS = $(SUBDIRS) keama
+
nobase_include_HEADERS = dhcpctl/dhcpctl.h
#
diff -r ba3cc5023897 -r ddd78bda2ba6 external/mpl/dhcp/dist/Makefile.in
--- a/external/mpl/dhcp/dist/Makefile.in Mon Aug 03 20:43:41 2020 +0000
+++ b/external/mpl/dhcp/dist/Makefile.in Mon Aug 03 21:09:06 2020 +0000
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.16.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2018 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -166,7 +166,7 @@
$(RECURSIVE_CLEAN_TARGETS) \
$(am__extra_recursive_targets)
AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
- cscope distdir dist dist-all distcheck
+ cscope distdir distdir-am dist dist-all distcheck
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
# Read a list of newline-separated strings from the standard input,
# and print each of them once, without duplicates. Input order is
@@ -187,7 +187,6 @@
ETAGS = etags
CTAGS = ctags
CSCOPE = cscope
-DIST_SUBDIRS = $(SUBDIRS)
am__DIST_COMMON = $(srcdir)/Makefile.in \
$(top_srcdir)/doc/devel/doxyfile.in README compile \
config.guess config.sub depcomp install-sh missing
@@ -385,11 +384,13 @@
doc/devel/mainpage.dox doc/devel/omapi.dox doc/devel/qa.dox \
client/tests/Atffile common/tests/Atffile server/tests/Atffile \
client/tests/Kyuafile common/tests/Kyuafile \
- server/tests/Kyuafile m4/README $(am__append_1)
+ server/tests/Kyuafile m4/README CONTRIBUTING.md \
+ $(am__append_1)
# Use an autoconf substitution vs an automake conditional here
# to fool automake when the bind directory does not exist.
SUBDIRS = @BINDSUBDIR@ includes tests common omapip client dhcpctl relay server
+DIST_SUBDIRS = $(SUBDIRS) keama
nobase_include_HEADERS = dhcpctl/dhcpctl.h
#
@@ -558,7 +559,10 @@
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-rm -f cscope.out cscope.in.out cscope.po.out cscope.files
-distdir: $(DISTFILES)
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
$(am__remove_distdir)
test -d "$(distdir)" || mkdir "$(distdir)"
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
@@ -623,7 +627,7 @@
! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
|| chmod -R a+r "$(distdir)"
dist-gzip: distdir
- tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+ tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).tar.gz
$(am__post_remove_distdir)
dist-bzip2: distdir
@@ -649,7 +653,7 @@
@echo WARNING: "Support for shar distribution archives is" \
"deprecated." >&2
@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
Home |
Main Index |
Thread Index |
Old Index