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)
The initial choice for storing options as an OptionCollection
in the ClientClassDef was incorrect. They are now stored within
a CfgOption which is symmetrical with how they are stored globally
and in subnets.
Descriptions of the two parameters, ncr-protocol and ncr-format
were swapped in three places (but hey, we were consistent!):
doc/guide/ddns.xml
doc/guide/dhcp4-srv.xml
doc/guide/dhcp6-srv.xml
doc/guide/admin.xml
src/lib/dhcpsrv/dhcpsrv_messages.mes
src/lib/dhcpsrv/lease_file_loader.h
minor clean up, typos
src/lib/dhcpsrv/tests/csv_lease_file4_unittest.cc
src/lib/dhcpsrv/tests/csv_lease_file6_unittest.cc
removed unnecessary use of scoped_ptr
src/lib/util/csv_file.cc
CSVRow::trim() - replaced use of std::vector<>::erase with resise
src/lib/util/versioned_csv_file.h
src/lib/util/versioned_csv_file.cc
VersionedCSVFile::next() - reorganized to use input_schema_state_
VersionedCSVFile::columnCountError() - new convenience method
minor cleanups
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;
Several minor cleanup items based on review comments. Implemented
support for downgrading files from newer schema versions:
doc/guide/admin.xml
amended text on upgrading memfile to discuss downgrading
src/lib/dhcpsrv/dhcpsrv_messages.mes
src/lib/dhcpsrv/lease_file_loader.h
revamped log messages to accomodate downgrading
src/lib/dhcpsrv/memfile_lease_mgr.cc
src/lib/dhcpsrv/memfile_lease_mgr.h
added commentary to MemfileLeaseMgr ctor
automatic conversion logic accomdates both upgrading and downgrading
src/lib/dhcpsrv/tests/csv_lease_file4_unittest.cc
src/lib/dhcpsrv/tests/csv_lease_file6_unittest.cc
replaced tooManyHeaderColumns test with downGrade test
src/lib/util/csv_file.h
src/lib/util/csv_file.cc
added CSVRow::trim()
src/lib/util/tests/csv_file_unittest.cc
added CSVRow.trim test
src/lib/util/tests/versioned_csv_file_unittest.cc
added VersionedCSVFileTest.currentSchemaTest test
replaced tooManyHeaderColumns test with downGrading test
revamped tests to check getInputSchemaState() and needsConversion()
src/lib/util/versioned_csv_file.h
Updated commentary to describe downgrade support
src/lib/util/versioned_csv_file.cc
enum InputSchemaState
input_schema_state_
input_header_count_
getInputHeaderCount()
getInputSchemaState()
needsConversion()
next(CSVRow& row) - now supports downgrading rows
validateHeder() - now throws if called when no schema has been defined,
and supports downgrading rows