]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[master] Finished merge of trac5227 (adding easy missing option defs)
authorFrancis Dupont <fdupont@isc.org>
Fri, 22 Sep 2017 12:15:01 +0000 (14:15 +0200)
committerFrancis Dupont <fdupont@isc.org>
Fri, 22 Sep 2017 12:15:01 +0000 (14:15 +0200)
1  2 
ChangeLog
doc/guide/dhcp4-srv.xml
doc/guide/dhcp6-srv.xml
src/bin/dhcp4/tests/config_parser_unittest.cc
src/bin/dhcp4/tests/get_config_unittest.cc
src/lib/dhcp/option_definition.cc
src/lib/dhcp/option_definition.h
src/lib/dhcp/std_option_defs.h
src/lib/dhcp/tests/libdhcp++_unittest.cc
src/lib/dhcpsrv/tests/cfg_option_def_unittest.cc

diff --cc ChangeLog
index f634eaaff587cd4b00c90c3df83c1e0b1e6ee51a,fe3a2f987943503e30c68f3d86f281430339ee05..977bb539f28c59f56e208a1bc2ec26c7e842224f
+++ b/ChangeLog
++1300. [func]          fdupont
++      Added some standard option definitions which are supported
++      by ISC DHCP but not (yet) by Kea.
++      (Trac #5227, git xxx)
++
 +1299. [doc]           fdupont, tmark
 +      Added an example stunnel configuration file to demonstrate
 +      using kea-shell through https.
 +      (Trac #5282, git efe044fa90d53398e215d2bf31e00e83353e8774)
 +
 +1298. [func]          marcin, tomek
 +      DHCPv4 server supports shared networks. It allows for grouping
 +      multiple subnets and use them interchangeably to allocate
 +      IP addresses and other resources to a client located on the
 +      particular link. This mechanism is useful to extend an
 +      address space for the client belonging to a particular
 +      subnet and/or to segregate clients being on the same link but
 +      belonging to different classes, e.g. cable modem vs router.
 +      (Trac #5306, git 4f2fca69be32997c718ab2c7f37ac80ed4e41d15)
 +
 +1297. [func]          tmark
 +      Added a hook point, "command-processed", to kea-dhcp4
 +      and kea-dhcp6 servers. This hook point occurs after
 +      a control channel command has been received and
 +      processed.
 +      (Trac #5111, git 043d17b0688d4ab25b12469d27859983cb297d07)
 +
 +1296. [bug]           tmark
 +      Altered the mysql backend logic to disable auto_reconnect and
 +      set session value of wait_timeout to a very large values. This
 +      avoids a segfault in MySQL client library caused by auto-reconnects
 +      occuring when kea server's MySQL connection is idle for longer
 +      than the global MySQL wait_timeout.
 +      (Trac #5354, git 9881ef6d772f27de82c048e198ba0ff9e71b9351)
 +
 +1295. [bug]           tomek
 +      DHCPv4 and DHCPv6 servers are now able to parse shared networks.
 +      A basic shared networks examples added.
 +      (Trac #5357, git 74b824cc80f8be66084308c0bf12c1a71f311915)
 +
 +1294. [func]          marcin
 +      Implemented data structures holding configuration of shared
 +      networks. The new structures are unused until remaining tickets
 +      for shared networks implementation are completed.
 +      (Trac #5305, git 76dd46f7070c141cc89d772d69a897b67bd179a1)
 +
 +1293. [func]          tomek
 +      DHCP4_BUFFER_WAIT, DHCP4_BUFFER_WAIT_INTERRUPTED, DHCP6_BUFFER_WAIT,
 +      and DHCP6_BUFFER_WAIT_INTERRUPTED logging messages are no longer
 +      emitted.
 +      (Trac #5345, git 779040fa399fb2da271569dc315294463e28f852)
 +
 +1292. [func]          tomek
 +      User contexts are now supported for subnets. This adds a new
 +      functionality, but also makes the existing documentation example
 +      correct.
 +      (Trac #5350, git 828ecb6dbdaaedd97d2af79dfa9b7f4845d3a049)
 +
 +1291. [func]          fdupont
 +      The configuration parser now checks for mandatory parameters that
 +      are missing.
 +      (Trac #5124, git af0f3d50a835f64a5f8a47c47ef464b119a49643)
 +
 +1290. [bug]           marcin
 +      Corrected a bug causing illegal memory access while
 +      retrieving server hostname and boot file name fields from
 +      the host reservation database. Many thanks to Juan Settecase
 +      for his assistance in identifying this issue.
 +      (Trac #5340, git 2fdc7efcb862ced3c1054620bf14e75a0db6aed2)
 +
 +1289. [bug]           marcin, tmark
 +      Corrected handling of EAGAIN and EWOULDLBOCK errors in
 +      UnixDomainSocket. This was causing intermittent command
 +      channel write errors in kea-ctrl-agent on some Debian systems.
 +      (Trac #5336, git db251cb66ad77ba28ab44281323ddeb23cf29506)
 +
 +1288. [func]          marcin
 +      Documented subnet_cmds library in the Kea User's Guide.  Also moved
 +      several classes from dhcp<4/6> into lib/dhcpsrv to facilitate subnet
 +      command parsing.
 +      (Trac #5315, git d259f330a1690b20eb368f6252f5da2cdb6187de)
 +
 +1287. [bug]           tmark
 +      Logger configuration now correctly uses maxsize and maxver
 +      parameters, allowing log rotation to function properly.  Prior to
 +      this these values were not being propagatedc downard, causing log
 +      rotation to always be disabled.  The defaults for maxsize and
 +      maxver are 10Mb and 1 respectively.
 +      (Trac #5324, git 75f148458bdeeed27eb877cc2c3ce3069b152f38)
 +
 +1286. [func]          marcin
 +      Configured subnets are now indexed by subnet identifier and
 +      prefix for faster subnet lookups in the configuration.
 +      (Trac #5314, git 894aeb048b7281f947f87a5d6dc5112fac4a86fb)
 +
 +1285. [func]          tomek
 +      Several new commands implemented in lease_cmds library:
 +      lease4-del, lease6-del, lease4-update, lease6-update,
 +      lease4-wipe and lease6-wipe that allow deleting and updating
 +      leases and also wipe all leases from a specific subnet.
 +      (Trac #5280, #5281, 94ff2448c8cf6e3321f4d1b3666a2e2b736f6c50)
 +
 +1284. [func]          tomek
 +      A new library, lease_cmds, has been implemented. Its intended
 +      purpose is to support commands for lease management. Currently
 +      supported commands are: lease4-add, lease6-add, lease4-get,
 +      lease6-get. Additional commands and documentation are planned.
 +      (Trac #5272, #5279, git 785c2e521b198a03d26bde4a804638bfc19ce91b)
 +
 +1283. [func]          fdupont
 +      An 'always-send' parameter has been added to options
 +      configuration.  It allows an option to be always sent, even if
 +      a client didn't request it.
 +      (Trac #5241, git cef2b630c720a442710efc0d1615b7c7bce01e54)
 +
 +1282. [bug]           fdupont
 +      Now all interface service sockets are closed before interface
 +      re-detection. Note if the re-configuration fails they remain
 +      closed.
 +      (Trac #5333, git xxx)
 +
 +1281. [build]         tmark
 +      Configure script now correctly recognizes static boost_system
 +      library as well as checks for the presence of static glibc static
 +      libraries when --enable-satic-link is specified.
 +      (Trac #5337, git 42548148cbeaaa285519e121f493d52607f1e8a0)
 +
 +1280. [build]         waltsteverson
 +      Missing header for PD-exclude DHCPv6 option is now installed.
 +      (Github #51, git 36a8e1b8f687a6398af8a10f241e8d19e9de33d8)
 +
 +1279. [build]         waltsteverson
 +      Compilation fixes for Alpine Linux
 +      (Github #50, git 824afa63354e045a5e4f6437246c329d359e04dd)
 +
 +1278. [doc]           jsoref
 +      Many spelling corrections.
 +      (Github #52, git 1dcaef6f8e7901d628c8638fc2f8145ac0279586)
 +
 +1277. [func]*         marcin
 +      Added support to Command Manager to process commands using
 +      callouts implemented within hooks libraries.
 +      (Trac #5330, git 8041d177ed5587101ecb47a09820a7e67e42a066)
 +
 +1276. [build]         tmark
 +      The configure script now configures the build to require the Boost
 +      system library (boost_system) by default.  The library must be
 +      installed and you may need to specify "--with-boost-lib-dir=<path>".
 +      Prior to this the default was to attempt to build Boost with headers
 +      only.  Building with headers only may still be done, though it is
 +      strongly discouraged, by specifying "--enable-boost-headers-only".
 +      (Trac #5215, git b6f1ee0d1210e35631369fc697c76cc3cf2c4130)
 +
 +1275. [func]          marcin
 +      LibraryHandle object can now be used to register handlers
 +      for the control commands in a hook library.
 +      (Trac #5329, git 966cc24ae5593ebb08d6f02a11dab23463ebad7e)
 +
 +1274. [func]          marcin
 +      It is now possible to manage Control Agent with keactrl.
 +      (Trac #5108, git 53ba9f8197a25abd2c52ee3f5e95bc4e4be0241f)
 +
 +1273. [doc]           marcin
 +      Documented in the User's Guide that the server terminates
 +      when database connection is lost.
 +      (Trac #5320, git 5c8b277e8041b53b27a87b32d162ab41ef8b43d7)
 +
 +1272. [bug]           marcin
 +      Fixed inefficient leases indexing in the memfile lease
 +      manager causing increased CPU utilization during lease
 +      searches.
 +      (Trac #5328, git 23b490414f5575b252c8c42fbe93ad2c57d47953)
 +
  1271. [doc]           marcin
        Documented how to setup secure connection to the Kea
        control channel.
Simple merge
Simple merge
Simple merge
Simple merge
index 02815b4c5f46994b2f857c750be232ba4f9105c5,028086cbae2c0c926f3bf800b31f1966753e415b..6446414e3a23947985c2b72be8032d83c9d30775
@@@ -57,9 -62,14 +62,14 @@@ RECORD_DECL(VIVCO_RECORDS, OPT_UINT32_T
  //
  // Three 1 byte fields to describe a network interface: type, major and minor
  RECORD_DECL(CLIENT_NDI_RECORDS, OPT_UINT8_TYPE, OPT_UINT8_TYPE, OPT_UINT8_TYPE);
 -// A client identifer: a 1 byte type field followed by opaque data depending on the type
 +// A client identifier: a 1 byte type field followed by opaque data depending on the type
  RECORD_DECL(UUID_GUID_RECORDS, OPT_UINT8_TYPE, OPT_BINARY_TYPE);
  
+ // RFC7618 DHCPv4 Port Parameter option.
+ //
+ // PSID offset, PSID-len and PSID
+ RECORD_DECL(V4_PORTPARAMS_RECORDS, OPT_UINT8_TYPE, OPT_UINT8_TYPE, OPT_UINT16_TYPE);
  /// @brief Definitions of standard DHCPv4 options.
  const OptionDefParams STANDARD_V4_OPTION_DEFINITIONS[] = {
      { "subnet-mask", DHO_SUBNET_MASK, OPT_IPV4_ADDRESS_TYPE, false, NO_RECORD_DEF, "" },