++1075. [bug] fdupont
++ Removed warnings emitted during generation of Doxygen documentation.
++ (Trac #4234, git xxx)
++
+1074. [bug] marcin
+ Addressed regression in distcheck after merge of #4224.
+ Before the changes one of the lease files produced by
+ 'kea-lfc' was not removed after tests running lease file
+ cleanup. As a result, the distcheck failed discovering
+ this file being left after distclean.
+ (Trac #4249, git 04aa9b95bf8c4dd8b555dd78cc8cd57126473800)
+
+1073. [bug] tmark
+ This change bumps the MySQL schema version from 4.0 to 4.1 and includes
+ the following changes: added explicit use of InnoDB engine to all MySQL
+ table create statements, MySQL lease dump output is now sorted by lease
+ address in ascending order, and the MySQL lease_hwaddr_source table now
+ contains an entry for HWADDR_SOURCE_UNKNOWN (i.e. source = 0). Our thanks
+ to Sebastien Couture at Ubity Inc. for reporting the InnoDB engine issue
+ and submitting a fix for it.
+ (Github #16, Trac #4237,#4238, git f0fb9f35a394785215573a591c2bcc68ab481436)
+
+1075. [doc] marcin
+ Changed Kea license from ISC to Mozilla Public License,
+ v. 2.0.
+ (Trac #4236, git a0574cdab4deb31e3244fc4e237753a1ad361d96)
+
+1074. [bug] marcin
+ PID files created by Kea processes are used in shell based
+ tests to determine if the given process is running. This
+ solves the problem whereby some unrelated processes could
+ be reported as running Kea processes in those tests, causing
+ the tests to fail.
+ (Trac #4224, git 94edccc50cb374ec4db35f653b869c9f06d356ea)
+
+1073. [doc] tomek
+ Developer's Guide updated with client classification text
+ and several clean-ups.
+ (Trac #4102, git ac33ebf7428ba5935d3302d000bed317716fabfe)
+
+1072. [bug] tmark
+ The lease6 hardware address source value is now being properly populated.
+ Prior to this the value stored with each IPv6 lease was always zero.
+ (Trac #4247, git 27886dadcf9051dc622ee6fde586c27f3d431f8b)
+
+1071. [func] tmark
+ Assigned unique log message IDs to log messages issued from
+ MySQL hosts storage operations, eliminating resuse of
+ lease database message IDs.
+ (Trac #4216, git f0e37cd6d45537971a730c68187011dce41217cc)
+
+1070. [doc] sar
+ Correct v6 classification examples to use client-id (1) instead
+ of server-id (2).
+ (Trac #4222, git 69dd98d03861d9de72c2ef75c17c8154b0c5088b)
+
1069. [bug] tomek
Improved handling of incoming packets with invalid client-id
and DUID.
check whether a packet belongs to given class, isc::dhcp::Pkt6::inClass method should
be used.
+The code sometimes refers to this classification as "simple" or 'built-in", because
+it does not require any configuration and thus is built into the server logic.
+
+@subsection dhcpv6ClassifierFull Full Client Classification in DHCPv6
+
+Kea 1.0 introduced full client classification. Each client class consists of a name
+and an expression that can be evaluated on an incoming packet. If it evaluates to
+true, this packet is considered a member of said class. Class definitions are stored
+in isc::dhcp::ClientClassDef objects that are kept in isc::dhcp::ClientClassDictionary
+and can be retrieved from CfgMgr using isc::dhcp::SrvConfig::getClientClassDictionary().
+This is convenient as there are often multiple classes associated with a given scope.
+As of Kea 1.0, the only supported scope is global, but there are plans to support
+class definitions that are subnet specific.
+
+Client classification is done in isc::dhcp::Dhcpv6Srv::classifyPacket. First, the old
+"built-in" (see @ref dhcpv6ClassifierSimple) classification is called (see @ref
+isc::dhcp::Dhcpv6Srv::classifyByVendor). Then the code iterates over all class definitions
+and for each class definition it calls isc::dhcp::evaluate, which is implemented in libeval
+(see @ref dhcpEval). If the evaluation is successful, the class name is added to the packet
+(by calling isc::dhcp::pkt::addClass).
+
+If packet belongs to at least one class, this fact is logged. If there are any
+exceptions raised during class evaluation, an error is logged and the code attempts
+to evaluate the next class.
+
+@subsection dhcpv6ClassifierUsage How client classification information is used in DHCPv6
+
Currently there is no class behavior coded in DHCPv6, hence no v6 equivalent of
- @ref isc::dhcp::Dhcpv6Srv::vendorClassSpecificProcessing. Should any need for such a code arise,
+ @ref isc::dhcp::Dhcpv4Srv::vendorClassSpecificProcessing. Should any need for such a code arise,
it will be conducted in an external hooks library.
It is possible to define class restrictions in subnet, so a given subnet is only
-// Copyright (C) 2015 Internet Systems Consortium, Inc. ("ISC")
+// Copyright (C) 2015 Internet Systems Consortium, Inc. ("ISC")
//
-// Permission to use, copy, modify, and/or distribute this software for any
-// purpose with or without fee is hereby granted, provided that the above
-// copyright notice and this permission notice appear in all copies.
-//
-// THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
-// REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
-// AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
-// INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
-// LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
-// OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
-// PERFORMANCE OF THIS SOFTWARE.
+// This Source Code Form is subject to the terms of the Mozilla Public
+// License, v. 2.0. If a copy of the MPL was not distributed with this
+// file, You can obtain one at http://mozilla.org/MPL/2.0/.
- /// @file Defines the logger used by the @c isc::dhcp::HostMgr
+ /// @brief Defines the logger used by the @c isc::dhcp::AllocEngine
#include "dhcpsrv/alloc_engine_log.h"
-// Copyright (C) 2015 Internet Systems Consortium, Inc. ("ISC")
+// Copyright (C) 2015 Internet Systems Consortium, Inc. ("ISC")
//
-// Permission to use, copy, modify, and/or distribute this software for any
-// purpose with or without fee is hereby granted, provided that the above
-// copyright notice and this permission notice appear in all copies.
-//
-// THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
-// REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
-// AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
-// INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
-// LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
-// OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
-// PERFORMANCE OF THIS SOFTWARE.
+// This Source Code Form is subject to the terms of the Mozilla Public
+// License, v. 2.0. If a copy of the MPL was not distributed with this
+// file, You can obtain one at http://mozilla.org/MPL/2.0/.
- /// @file Defines the logger used by the @c isc::dhcp::HostMgr
+ /// @brief Defines the logger used by the @c isc::dhcp::HostMgr
#include "dhcpsrv/hosts_log.h"