Thomas Markwalder
9bc3a19486
[ #3770 ] Addressed comments
2025-07-23 16:57:06 -04:00
Thomas Markwalder
3b9c32932c
[ #3770 ] Add hashing to CfgOption
...
modified: src/lib/dhcp/classify.cc
modified: src/lib/dhcp/classify.h
modified: src/lib/dhcp/tests/classify_unittest.cc
modified: src/lib/dhcpsrv/cfg_option.h
2025-07-23 13:29:27 -04:00
Thomas Markwalder
2fed7e62a4
[ #3770 ] CfgOption and CB v4 use client-classes
...
v4 CfgOption and CB internals support client-classes
as part of key for updating and delete options.
CB parsing does NOT yet support it as argument.
/src/lib/dhcpsrv/cfg_option.*
Added composite key index type + client_classes to OptionContainer
OptionDescriptor::equals() - add comparision of client_classes_
CfgOption::replace() - Use new type + client_classes index
CfgOption::del(const std::string& option_space, const uint16_t option_code,
const ClientClasses& client_classes) - new function
CfgOption::get(const Selector& key, const uint16_t option_code,
ClientClasses& client_classes) - new function
CfgOption::del(const std::string& option_space, const uint16_t option_code,
const ClientClasses& client_classes);
/src/hooks/dhcp/mysql/mysql_cb_dhcp4.*
Added client-classes to createUpdate and delete option SQL statements and functions
/src/hooks/dhcp/mysql/mysql_cb_impl.*
MySqlConfigBackendImpl::createClientClassesForWhereClause() - new function
/src/hooks/dhcp/pgsql/pgsql_cb_dhcp4.*
Added client-classes to createUpdate and delete option SQL statements and functions
/src/hooks/dhcp/pgsql/pgsql_cb_impl.cc
PgSqlConfigBackendImpl::addClientClassesForWhereClause() - new function
/src/hooks/dhcp/pgsql/tests/pgsql_cb_dhcp4_unittest.cc
/src/hooks/dhcp/pgsql/tests/pgsql_cb_dhcp4_unittest.cc
TEST_F(PgSqlConfigBackendDHCPv4Test, subnetOption4WithClienClassesTest) - new test
/src/lib/dhcp/classify.h b/src/lib/dhcp/classify.h
Added typedef boost::shared_ptr<ClientClasses> ClientClassesPtr;
/src/lib/dhcpsrv/config_backend_dhcp4.h
/src/lib/dhcpsrv/config_backend_pool_dhcp4.*
Udpated with client_classes parameter where needed
/src/lib/dhcpsrv/tests/cfg_option_unittest.cc
TEST_F(CfgOptionTest, optionsWithClientClasses)
TEST_F(CfgOptionTest, replaceWithClientClasses)
TEST_F(CfgOptionTest, deleteWithClientClasses) - new tests
/src/lib/dhcpsrv/testutils/generic_cb_dhcp4_unittest.*
GenericConfigBackendDHCPv4Test::subnetOption4WithClienClassesTest() - new test
/src/lib/dhcpsrv/testutils/test_config_backend_dhcp4.cc
Update functions as needed
2025-07-15 14:02:03 +00:00
Thomas Markwalder
7eebd1434d
[ #3592 ] Addressed review comments
...
Addressed first round of comments.
Changes to be committed:
modified: ChangeLog
modified: doc/sphinx/arm/classify.rst
modified: doc/sphinx/arm/dhcp4-srv.rst
modified: doc/sphinx/arm/dhcp6-srv.rst
modified: src/bin/dhcp4/tests/classify_unittest.cc
modified: src/lib/dhcp/classify.cc
modified: src/lib/dhcp/classify.h
modified: src/lib/dhcpsrv/parsers/base_network_parser.cc
modified: src/lib/dhcpsrv/parsers/base_network_parser.h
modified: src/lib/dhcpsrv/tests/shared_network_parser_unittest.cc
2024-11-26 17:19:56 +00:00
Thomas Markwalder
a41077e5dc
[ #3592 ] modified in lib dhcp and dhcpsrv
...
src/lib/dhcp/classify.*
ClientClasses:intersects() - new function
src/lib/dhcp/tests/classify_unittest.cc
TEST(ClassifyTest, ClientClassesIntersects) - new test
src/lib/dhcpsrv/cfg_option.cc
OptionDescriptor::allowedForClientClasses() use inet intersects() function
src/lib/dhcpsrv/dhcpsrv_messages.mes
DHCPSRV_CLIENT_CLASS_DEPRECATED - new message
src/lib/dhcpsrv/network.*
Network - replaced client_class_ string with client_classes_ container
Network::clientSupported() - uses new intersects() function
Network::allowClientClass() - modified to insert
Network::toElement() - updated
src/lib/dhcpsrv/parsers/base_network_parser.*
BaseNetworkParser::getClientClassesElem() - new function
src/lib/dhcpsrv/parsers/dhcp_parsers.cc
src/lib/dhcpsrv/parsers/shared_network_parser.cc
Updated parsers to use BaseNetworkParser::getClientClassesElem()
src/lib/dhcpsrv/parsers/simple_parser4.cc
src/lib/dhcpsrv/parsers/simple_parser6.cc
Added client-classes
src/lib/dhcpsrv/pool.*
replaced client_class_ string with client_classes_ container
Pool::clientSupported()- use new intersects() function
src/lib/dhcpsrv/shared_network.cc
ShareNetwork::getPreferredSubnet() - updated
src/lib/dhcpsrv/tests/cfg_subnets4_unittest.cc
src/lib/dhcpsrv/tests/cfg_subnets6_unittest.cc
Updated tests
src/lib/dhcpsrv/tests/dhcp_parsers_unittest.cc
TEST_F(DhcpParserTest, deprecatedClientClassSubnet4)
TEST_F(DhcpParserTest, deprecatedClientClassSubnet6) {
TEST_F(DhcpParserTest, deprecatedClientClassPool4) {
TEST_F(DhcpParserTest, deprecatedClientClassPool6) {
src/lib/dhcpsrv/tests/network_unittest.cc
Removed inheritance support check
src/lib/dhcpsrv/tests/pool_unittest.cc
Updated tests
src/lib/dhcpsrv/tests/shared_network_parser_unittest.cc
TEST_F(SharedNetwork4ParserTest, deprecatedClientClass)
TEST_F(SharedNetwork6ParserTest, deprecatedClientClass)
src/lib/dhcpsrv/tests/shared_network_unittest.cc
src/lib/dhcpsrv/tests/subnet_unittest.cc
Updated tests
src/lib/dhcpsrv/testutils/generic_cb_dhcp4_unittest.cc
src/lib/dhcpsrv/testutils/generic_cb_dhcp6_unittest.cc
Updated tests
2024-11-26 17:19:56 +00:00
Wlodek Wencel
3d0a05c38c
[ #3646 ] release changes
2024-10-29 12:53:12 +01:00
Thomas Markwalder
64c15b1131
[ #3583 ] Addressred review comments
...
modified:
doc/sphinx/arm/classify.rst
src/bin/dhcp4/dhcp4_srv.cc
src/bin/dhcp4/tests/config_parser_unittest.cc
src/bin/dhcp6/tests/config_parser_unittest.cc
src/hooks/dhcp/mysql/mysql_cb_dhcp4.cc
src/lib/dhcp/classify.cc
src/lib/dhcp/classify.h
src/lib/dhcp/tests/classify_unittest.cc
src/lib/dhcpsrv/cfg_option.cc
src/lib/dhcpsrv/cfg_option.h
src/lib/dhcpsrv/parsers/option_data_parser.cc
src/lib/dhcpsrv/parsers/simple_parser4.cc
src/lib/dhcpsrv/parsers/simple_parser6.cc
src/lib/dhcpsrv/tests/dhcp_parsers_unittest.cc
src/lib/dhcpsrv/testutils/generic_backend_unittest.cc
2024-10-15 13:51:57 -04:00
Thomas Markwalder
02e59abd64
[ #3583 ] Minor refactoring
...
Added ClientClasses::fromElement()
/src/hooks/dhcp/mysql_cb/mysql_cb_impl.cc
/src/hooks/dhcp/pgsql_cb/pgsql_cb_impl.cc
/src/lib/dhcp/classify.cc
/src/lib/dhcp/classify.h
/src/lib/dhcp/tests/classify_unittest.cc
TEST(ClassifyTest, ClientClassesFromElement) - new test
2024-10-15 13:51:57 -04:00
Thomas Markwalder
74a37d39e0
[ #3583 ] Added client-class to OptionDescriptor
...
option-data.client-classes can be parsed and
stored in OptionDescriptor.
/src/bin/dhcp4/dhcp4_lexer.ll
/src/bin/dhcp4/dhcp4_parser.yy
/src/bin/dhcp6/dhcp6_lexer.ll
/src/bin/dhcp6/dhcp6_parser.yy
/src/lib/dhcp/classify.*
Added ClientClasses copy and equality operators
/src/lib/dhcp/tests/classify_unittest.cc
Udpated unit tests
/src/lib/dhcpsrv/cfg_option.cc
Added OptionDecription::client_classes_ and supporting funcs
/src/lib/dhcpsrv/parsers/option_data_parser.cc
OptionDataParser::createOption() - modified to parse 'client-classes'
/src/lib/dhcpsrv/parsers/simple_parser4.cc
Added 'client-classes' to OPTION4_PARAMETERS
/src/lib/dhcpsrv/parsers/simple_parser6.cc
Added 'client-classes' to OPTION6_PARAMETERS
/src/lib/dhcpsrv/tests/cfg_option_unittest.cc
Updated tests
/src/lib/dhcpsrv/tests/dhcp_parsers_unittest.cc
TEST_F(ParseConfigTest, optionDataClientClasses4)
TEST_F(ParseConfigTest, optionDataClientClasses6)
TEST_F(ParseConfigTest, optionDataClientClassesEmpty4)
TEST_F(ParseConfigTest, optionDataClientClassesEmpty6)
- new tests
2024-10-15 13:51:56 -04:00
Razvan Becheriu
7fce75ccb7
[ #248 ] addressed comments
2022-10-24 17:49:34 +00:00
Razvan Becheriu
80e8c44897
[ #248 ] template classes can add regular classes
2022-10-24 17:49:34 +00:00
Razvan Becheriu
5da3798bf3
[ #248 ] using same add/get class interface
2022-10-24 17:49:34 +00:00
Razvan Becheriu
033cc7bd7c
[ #248 ] added template classes
2022-10-24 17:49:34 +00:00
Andrei Pavel
a5c24d96ca
[ #2448 ] add ClientClasses::toElement()
2022-07-07 11:48:20 +00:00
Andrei Pavel
51c3f84c09
[ #562 ] remove index used for sorting ClientClasses
2022-05-20 20:40:46 +03:00
Andrei Pavel
fe76e0f078
[ #562 ] add an ordered_unique index to ClientClassContainer
2022-05-20 20:38:56 +03:00
Andrei Pavel
1d5ee71740
[ #562 ] enable range-based for loops on ClientClasses
2022-05-20 20:38:56 +03:00
Andrei Pavel
12a62ae17d
[ #2320 ] release changes
2022-02-21 10:36:48 +02:00
Francis Dupont
1e9feeb4f9
[ #1334 ] Moved ClientClasses to multi index
2022-01-31 16:31:32 +01:00
Andrei Pavel
c53e135833
[ #1656 ] 1.9.4 release: update copyrights
2021-01-25 13:52:09 +02:00
Andrei Pavel
96f049b111
[ #1656 ] 1.9.4 release: spelling check
2021-01-25 13:52:09 +02:00
Marcin Siodelski
d6d1e806df
[ #1139 ] Added function to erase class
2020-03-19 12:14:51 +00:00
Francis Dupont
4edac2d90e
[5374] Updated ClientClasses definition
2017-11-24 01:07:17 +01:00
Marcin Siodelski
7948104393
[master] Merge branch 'trac4212'
2016-03-23 13:51:55 +01:00
Marcin Siodelski
7284e68744
[4212] Restructured MySQL Exchange classes in host data source.
2016-03-08 12:14:44 +01:00
Marcin Siodelski
3d18318f68
[4236] Updated copyright dates in all files.
2015-12-16 15:28:44 +01:00
Marcin Siodelski
fe9dd86d20
[4236] Replaced license text in all files containing it.
2015-12-16 13:37:29 +01:00
Thomas Markwalder
f3e7cffe3d
[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;
2015-11-10 15:40:00 -05:00
Francis Dupont
ea6e9d166f
[master] remove '#include <config.h' from include files ( #3782 )
2015-04-18 01:39:43 +02:00
Marcin Siodelski
e2850e9081
[3560] Client classes may now be created from the csv string.
2014-10-14 10:47:10 +02:00
Tomek Mrugalski
f2c1e775f7
[3274] Changes after review:
...
- Copyright years updated
- Minor corrections in BINDX Guide
- dhcp4.spec relay structure description updated.
- new unit-test for DHCPv4 client classification added
- new unit-test for DHCPv6 client classification added
- fixed Doxygen errors
- comments for CfgMgr::getSubnet{4,6} updated
2014-02-06 20:40:02 +01:00
Tomek Mrugalski
1d945d79ff
[3274] Subnets are now able to store client class information.
2014-02-03 20:33:33 +01:00
Tomek Mrugalski
bc216c2cf0
[3274] ClientClass added, Classes renamed to ClientClasses
2014-02-03 19:53:14 +01:00
Tomek Mrugalski
b7c33a05cd
[3274] Added dhcp/classify.h
2014-02-03 18:50:24 +01:00