Commit b66c0b8c authored by Francis Dupont's avatar Francis Dupont
Browse files

[4097a] Switched class iterators

parent 92b4df9e
......@@ -2371,18 +2371,19 @@ Dhcpv4Srv::classSpecificProcessing(const Dhcpv4Exchange& ex) {
rsp->setSiaddr(IOAddress::IPV4_ZERO_ADDRESS());
}
// Process each class
const ClientClassDefMapPtr& defs_ptr = CfgMgr::instance().getCurrentCfg()->
getClientClassDictionary()->getClasses();
for (ClientClassDefMap::const_iterator it = defs_ptr->begin();
it != defs_ptr->end(); ++it) {
// Is the query in this class?
if (!it->second || !query->inClass(it->first)) {
// Process each class in the packet
const ClientClasses& classes = query->getClasses();
for (ClientClasses::const_iterator cclass = classes.begin();
cclass != classes.end(); ++cclass) {
// Find the client class definition for this class
const ClientClassDefPtr& ccdef = CfgMgr::instance().getCurrentCfg()->
getClientClassDictionary()->findClass(*cclass);
if (!ccdef) {
// Not found
continue;
}
// Get the configured options of this class
const OptionContainerPtr& options =
it->second->getCfgOption()->getAll("dhcp4");
const OptionContainerPtr& options = ccdef->getCfgOption()->getAll("dhcp4");
if (!options || options->empty()) {
continue;
}
......
......@@ -237,6 +237,12 @@ public:
/// @param client_class name of the class to be added
void addClass(const isc::dhcp::ClientClass& client_class);
/// @brief Returns the class set
///
/// @note This should be used only to iterate over the class set.
/// @return
const ClientClasses& getClasses() const { return (classes_); }
/// @brief Unparsed data (in received packets).
///
/// @warning This public member is accessed by derived
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment