mirror of
https://gitlab.isc.org/isc-projects/kea
synced 2025-09-05 08:25:16 +00:00
[2270] Changes after review.
This commit is contained in:
@@ -12,9 +12,6 @@
|
||||
// OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
// PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
// We want UINT32_MAX macro to be defined in stdint.h
|
||||
#define __STDC_LIMIT_MACROS
|
||||
|
||||
#include <boost/foreach.hpp>
|
||||
#include <boost/lexical_cast.hpp>
|
||||
#include <boost/algorithm/string.hpp>
|
||||
@@ -22,8 +19,7 @@
|
||||
#include <dhcp/cfgmgr.h>
|
||||
#include <dhcp4/config_parser.h>
|
||||
#include <dhcp4/dhcp4_log.h>
|
||||
|
||||
#include <stdint.h>
|
||||
#include <limits>
|
||||
#include <iostream>
|
||||
#include <vector>
|
||||
#include <map>
|
||||
@@ -150,7 +146,7 @@ public:
|
||||
isc_throw(BadValue, "Failed to parse value " << value->str()
|
||||
<< " as unsigned 32-bit integer.");
|
||||
}
|
||||
if (check > UINT32_MAX) {
|
||||
if (check > std::numeric_limits<uint32_t>::max()) {
|
||||
isc_throw(BadValue, "Value " << value->str() << "is too large"
|
||||
<< " for unsigned 32-bit integer.");
|
||||
}
|
||||
@@ -162,9 +158,7 @@ public:
|
||||
// value is small enough to fit
|
||||
value_ = static_cast<uint32_t>(check);
|
||||
|
||||
/// @todo: check if there is no such name in the map. Otherwise
|
||||
/// the insert will fail silently
|
||||
storage_->insert(pair<string, uint32_t>(param_name_, value_));
|
||||
(*storage_)[param_name_] = value_;
|
||||
}
|
||||
|
||||
/// @brief does nothing
|
||||
@@ -194,7 +188,7 @@ public:
|
||||
storage_ = storage;
|
||||
}
|
||||
|
||||
protected:
|
||||
private:
|
||||
/// pointer to the storage, where parsed value will be stored
|
||||
Uint32Storage* storage_;
|
||||
|
||||
@@ -234,9 +228,8 @@ public:
|
||||
virtual void build(ConstElementPtr value) {
|
||||
value_ = value->str();
|
||||
boost::erase_all(value_, "\"");
|
||||
/// @todo: check if there is no such name in the map. Otherwise
|
||||
/// the insert will fail silently
|
||||
storage_->insert(pair<string, string>(param_name_, value_));
|
||||
|
||||
(*storage_)[param_name_] = value_;
|
||||
}
|
||||
|
||||
/// @brief does nothing
|
||||
@@ -266,7 +259,7 @@ public:
|
||||
storage_ = storage;
|
||||
}
|
||||
|
||||
protected:
|
||||
private:
|
||||
/// pointer to the storage, where parsed value will be stored
|
||||
StringStorage* storage_;
|
||||
|
||||
@@ -328,7 +321,7 @@ public:
|
||||
return (new InterfaceListConfigParser(param_name));
|
||||
}
|
||||
|
||||
protected:
|
||||
private:
|
||||
/// contains list of network interfaces
|
||||
vector<string> interfaces_;
|
||||
};
|
||||
@@ -450,7 +443,7 @@ public:
|
||||
return (new PoolParser(param_name));
|
||||
}
|
||||
|
||||
protected:
|
||||
private:
|
||||
/// @brief pointer to the actual Pools storage
|
||||
///
|
||||
/// That is typically a storage somewhere in Subnet parser
|
||||
@@ -555,7 +548,7 @@ public:
|
||||
CfgMgr::instance().addSubnet4(subnet);
|
||||
}
|
||||
|
||||
protected:
|
||||
private:
|
||||
|
||||
/// @brief creates parsers for entries in subnet definition
|
||||
///
|
||||
@@ -567,18 +560,11 @@ protected:
|
||||
Dhcp4ConfigParser* createSubnet4ConfigParser(const std::string& config_id) {
|
||||
FactoryMap factories;
|
||||
|
||||
factories.insert(pair<string, ParserFactory*>(
|
||||
"valid-lifetime", Uint32Parser::Factory));
|
||||
factories.insert(pair<string, ParserFactory*>(
|
||||
"renew-timer", Uint32Parser::Factory));
|
||||
factories.insert(pair<string, ParserFactory*>(
|
||||
"rebind-timer", Uint32Parser::Factory));
|
||||
|
||||
factories.insert(pair<string, ParserFactory*>(
|
||||
"subnet", StringParser::Factory));
|
||||
|
||||
factories.insert(pair<string, ParserFactory*>(
|
||||
"pool", PoolParser::Factory));
|
||||
factories["valid-lifetime"] = Uint32Parser::Factory;
|
||||
factories["renew-timer"] = Uint32Parser::Factory;
|
||||
factories["rebind-timer"] = Uint32Parser::Factory;
|
||||
factories["subnet"] = StringParser::Factory;
|
||||
factories["pool"] = PoolParser::Factory;
|
||||
|
||||
FactoryMap::iterator f = factories.find(config_id);
|
||||
if (f == factories.end()) {
|
||||
@@ -711,20 +697,12 @@ public:
|
||||
Dhcp4ConfigParser* createGlobalDhcp4ConfigParser(const std::string& config_id) {
|
||||
FactoryMap factories;
|
||||
|
||||
factories.insert(pair<string, ParserFactory*>(
|
||||
"valid-lifetime", Uint32Parser::Factory));
|
||||
factories.insert(pair<string, ParserFactory*>(
|
||||
"renew-timer", Uint32Parser::Factory));
|
||||
factories.insert(pair<string, ParserFactory*>(
|
||||
"rebind-timer", Uint32Parser::Factory));
|
||||
|
||||
factories.insert(pair<string, ParserFactory*>(
|
||||
"interface", InterfaceListConfigParser::Factory));
|
||||
factories.insert(pair<string, ParserFactory*>(
|
||||
"subnet4", Subnets4ListConfigParser::Factory));
|
||||
|
||||
factories.insert(pair<string, ParserFactory*>(
|
||||
"version", StringParser::Factory));
|
||||
factories["valid-lifetime"] = Uint32Parser::Factory;
|
||||
factories["renew-timer"] = Uint32Parser::Factory;
|
||||
factories["rebind-timer"] = Uint32Parser::Factory;
|
||||
factories["interface"] = InterfaceListConfigParser::Factory;
|
||||
factories["subnet4"] = Subnets4ListConfigParser::Factory;
|
||||
factories["version"] = StringParser::Factory;
|
||||
|
||||
FactoryMap::iterator f = factories.find(config_id);
|
||||
if (f == factories.end()) {
|
||||
@@ -738,8 +716,6 @@ Dhcp4ConfigParser* createGlobalDhcp4ConfigParser(const std::string& config_id) {
|
||||
return (f->second(config_id));
|
||||
}
|
||||
|
||||
/// @brief configures DHCPv4 server
|
||||
///
|
||||
isc::data::ConstElementPtr
|
||||
configureDhcp4Server(Dhcpv4Srv& , ConstElementPtr config_set) {
|
||||
if (!config_set) {
|
||||
@@ -748,10 +724,6 @@ configureDhcp4Server(Dhcpv4Srv& , ConstElementPtr config_set) {
|
||||
return (answer);
|
||||
}
|
||||
|
||||
/// Let's wipe previous configuration defaults
|
||||
uint32_defaults.clear();
|
||||
string_defaults.clear();
|
||||
|
||||
/// @todo: append most essential info here (like "2 new subnets configured")
|
||||
string config_details;
|
||||
|
||||
|
Reference in New Issue
Block a user