2
0
mirror of https://gitlab.isc.org/isc-projects/kea synced 2025-09-05 08:25:16 +00:00

[4095] Implemented new classes for storing client class definitions

src/lib/dhcpsrv/client_class_def.cc
src/lib/dhcpsrv/client_class_def.h
src/lib/dhcpsrv/tests/client_class_def_unittest.cc
    New files that define client class storage classes and tests

src/lib/dhcp/classify.h
    Amended commentary to reflect how these classes are now being used.

src/lib/dhcp/option.h
    Added typedefs:
        boost::shared_ptr<Option> OptionPtr;
        boost::shared_ptr<OptionCollection> OptionCollectionPtr;

src/lib/dhcpsrv/Makefile.am
    Added entries for new files

src/lib/dhcpsrv/tests/Makefile.am
    Added entries for new file

src/lib/eval/token.h b/src/lib/eval/token.h
    Added typedef:
        boost::shared_ptr<Expression> ExpressionPtr;
This commit is contained in:
Thomas Markwalder
2015-11-10 15:40:00 -05:00
parent b8cfb9d265
commit f3e7cffe3d
8 changed files with 509 additions and 6 deletions

View File

@@ -20,11 +20,14 @@
/// @file classify.h
///
/// @brief Defines basic elements of client classification.
/// @brief Defines elements for storing the names of client classes
///
/// This file defines common elements used for client classification.
/// It is simple for now, but the complexity involved in client
/// classification is expected to grow significantly.
/// This file defines common elements used to track the client classes
/// that may be associated with a given packet. In order to minimize the
/// exposure of the DHCP library to server side concepts such as client
/// classification the classes herein provide a mechanism to maintain lists
/// of class names, rather than the classes they represent. It is the
/// upper layers' perogative to use these names as they see fit.
///
/// @todo This file should be moved to dhcpsrv eventually as the classification
/// is server side concept. Client has no notion of classifying incoming server
@@ -36,10 +39,10 @@ namespace isc {
namespace dhcp {
/// Definition of a single class.
/// @brief Defines a single class name.
typedef std::string ClientClass;
/// @brief Container for storing client classes
/// @brief Container for storing client class names
///
/// Depending on how you look at it, this is either a little more than just
/// a set of strings or a client classifier that performs access control.