From: Francis Dupont Date: Tue, 24 Nov 2015 00:51:10 +0000 (+0100) Subject: [4097a] Addressed not configured class VENDOR_CLASS_* X-Git-Tag: trac4204fd_base~2^2~10 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c1270cb6abe0cbf22d83d8a5452481103a7c03de;p=thirdparty%2Fkea.git [4097a] Addressed not configured class VENDOR_CLASS_* --- diff --git a/src/bin/dhcp4/dhcp4_srv.cc b/src/bin/dhcp4/dhcp4_srv.cc index 04f6a01963..11decc3d3d 100644 --- a/src/bin/dhcp4/dhcp4_srv.cc +++ b/src/bin/dhcp4/dhcp4_srv.cc @@ -840,9 +840,14 @@ Dhcpv4Srv::buildCfgOptionList(Dhcpv4Exchange& ex) { getClientClassDictionary()->findClass(*cclass); if (!ccdef) { // Not found: the class is not configured - LOG_DEBUG(options4_logger, DBG_DHCP4_BASIC, DHCP4_CLASS_UNCONFIGURED) - .arg(ex.getQuery()->getLabel()) - .arg(*cclass); + if (((*cclass).size() <= VENDOR_CLASS_PREFIX.size()) || + ((*cclass).compare(0, VENDOR_CLASS_PREFIX.size(), VENDOR_CLASS_PREFIX) != 0)) { + // Not a VENDOR_CLASS_* so should be configured + LOG_DEBUG(options4_logger, DBG_DHCP4_BASIC, DHCP4_CLASS_UNCONFIGURED) + .arg(ex.getQuery()->getLabel()) + .arg(*cclass); + } + // Skip it continue; } if (ccdef->getCfgOption()->empty()) { diff --git a/src/bin/dhcp6/dhcp6_srv.cc b/src/bin/dhcp6/dhcp6_srv.cc index 3a3027aeb8..03ad687cb2 100644 --- a/src/bin/dhcp6/dhcp6_srv.cc +++ b/src/bin/dhcp6/dhcp6_srv.cc @@ -908,8 +908,13 @@ Dhcpv6Srv::buildCfgOptionList(const Pkt6Ptr& question, getClientClassDictionary()->findClass(*cclass); if (!ccdef) { // Not found: the class is not configured - LOG_DEBUG(dhcp6_logger, DBG_DHCP6_BASIC, DHCP6_CLASS_UNCONFIGURED) - .arg(*cclass); + if (((*cclass).size() <= VENDOR_CLASS_PREFIX.size()) || + ((*cclass).compare(0, VENDOR_CLASS_PREFIX.size(), VENDOR_CLASS_PREFIX) != 0)) { + // Not a VENDOR_CLASS_* so should be configured + LOG_DEBUG(dhcp6_logger, DBG_DHCP6_BASIC, DHCP6_CLASS_UNCONFIGURED) + .arg(*cclass); + } + // Skip it continue; } if (ccdef->getCfgOption()->empty()) {