This fixes a bug in the TokenOption class which used the hexadecimal
format of the option when comparing with TokenHexString. Note that
TokenHexString is automatically converted to binary format for
evaluation.
src/lib/dhcpsrv/client_class_def.cc
- updated comment on empty expressions in ctor,
- cleaned up whitespace
src/lib/dhcpsrv/parsers/client_class_def_parser.cc
- ExpressionParser::build() - integrated use of Eval
parsing in ExpressionParser
- cleaned up whitespace
src/lib/dhcpsrv/tests/client_class_def_parser_unittest.cc
Updated tests to verify that expressions are actually
parsed and function.
src/bin/dhcp4/tests/config_parser_unittest.cc
src/bin/dhcp6/tests/config_parser_unittest.cc
src/lib/dhcpsrv/client_class_def.h
Fixed spellings and spacing.
src/lib/dhcpsrv/Makefile.am
src/lib/dhcpsrv/tests/Makefile.am
Move eval lib up in the link order
src/bin/dhcp6/json_config_parser.cc
- createGlobalDhcp6ConfigParser() - creates ClientClassDefListParser
for "client-classes" element
- configureDhcp6Server() - runs the ClientClassDefListParser against
the "client-classes" element
src/bin/dhcp6/tests/config_parser_unittest.cc
Added new tests for parsing client class definitions:
TEST_F(Dhcp6ParserTest, clientClassDictionary)
TEST_F(Dhcp6ParserTest, invalidClientClassDictionary)
src/bin/dhcp6/dhcp6.spec
Added global "client-classes" element
src/bin/dhcp4/json_config_parser.cc
- createGlobalDhcp4ConfigParser() - creates ClientClassDefListParser
for "client-classes" element
- configureDhcp4Server() - runs the ClientClassDefListParser against
the "client-classes" element
src/bin/dhcp4/tests/config_parser_unittest.cc
Added new tests for parsing client class definitions:
TEST_F(Dhcp4ParserTest, clientClassDictionary)
TEST_F(Dhcp4ParserTest, invalidClientClassDictionary)
src/bin/dhcp4/dhcp4.spec
Added global "client-classes" element
src/lib/dhcpsrv/parsers/client_class_def_parser.cc
ClientClassDefListParser::commit() - pushes the newly built local
dictionary to CfgMgr staging
src/lib/dhcpsrv/srv_config.h
src/lib/dhcpsrv/srv_config.cc
Added client class dictionary member to SrvConfig
src/lib/dhcpsrv/tests/client_class_def_parser_unittest.cc
TEST_F(ClientClassDefListParserTest, simpleValidList) - now
verifies that ClientClassDefListParser::commit() pushes its
local dictionary to CfgMgr staging.
src/lib/dhcpsrv/tests/srv_config_unittest.cc
Added support to test new client class dictionary member
In anticipation adding client class storage to SrvConfig:
src/lib/dhcpsrv/client_class_def.h
src/lib/dhcpsrv/client_class_def.cc
added copy contructor, equals() method, ==, != operators
To ClientClassDef and ClientClassDictionary
src/lib/dhcpsrv/tests/client_class_def_unittest.cc
Added copyAndEquality tests for ClientClassDef and
ClientClassDictionary
New Files:
parsers/client_class_def_parser.cc
parsers/client_class_def_parser.h
tests/client_class_def_parser_unittest.cc
src/lib/dhcpsrv/parsers/Makefile.am
Added entries for new files
Added EXTRA_DIST entries for several files that were missing.
src/lib/dhcpsrv/parsers/dhcp_parsers.h
Added typedef for OptionDataListParserPtr
src/lib/dhcpsrv/tests/Makefile.am
Added entries for new unitest file
src/lib/dhcpsrv/tests/client_class_def_unittest.cc
Fixed broken unit test TEST(ClientClassDef, cfgOptionBasics)