From: Francis Dupont Date: Fri, 22 Sep 2017 12:15:01 +0000 (+0200) Subject: [master] Finished merge of trac5227 (adding easy missing option defs) X-Git-Tag: trac5363_base~14 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d85d342805981b404751e23c7b36ab67fbe5e21b;p=thirdparty%2Fkea.git [master] Finished merge of trac5227 (adding easy missing option defs) --- d85d342805981b404751e23c7b36ab67fbe5e21b diff --cc ChangeLog index f634eaaff5,fe3a2f9879..977bb539f2 --- a/ChangeLog +++ b/ChangeLog @@@ -1,171 -1,3 +1,176 @@@ ++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=". + 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. diff --cc src/lib/dhcp/std_option_defs.h index 02815b4c5f,028086cbae..6446414e3a --- a/src/lib/dhcp/std_option_defs.h +++ b/src/lib/dhcp/std_option_defs.h @@@ -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, "" },