From: Tomek Mrugalski Date: Tue, 10 Jan 2017 13:48:57 +0000 (+0100) Subject: [master] Merge branch 'trac5020' (interfaces parser migrated to SimpleParser) X-Git-Tag: trac4540_base~4 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3d8e48c640e302670c04907468d11faafbe9fe7b;p=thirdparty%2Fkea.git [master] Merge branch 'trac5020' (interfaces parser migrated to SimpleParser) # Conflicts: # src/bin/dhcp4/json_config_parser.cc # src/bin/dhcp6/json_config_parser.cc --- 3d8e48c640e302670c04907468d11faafbe9fe7b diff --cc src/bin/dhcp4/json_config_parser.cc index 8a5d6a1212,2be787e14c..e6d388f857 --- a/src/bin/dhcp4/json_config_parser.cc +++ b/src/bin/dhcp4/json_config_parser.cc @@@ -633,19 -599,14 +636,27 @@@ configureDhcp4Server(Dhcpv4Srv&, isc::d continue; } + if (config_pair.first == "control-socket") { + ControlSocketParser parser; + SrvConfigPtr srv_cfg = CfgMgr::instance().getStagingCfg(); + parser.parse(*srv_cfg, config_pair.second); + continue; + } + + if (config_pair.first == "host-reservation-identifiers") { + HostReservationIdsParser4 parser; + parser.parse(config_pair.second); + continue; + } + + if (config_pair.first == "interfaces-config") { + IfacesConfigParser parser(AF_INET); + CfgIfacePtr cfg_iface = CfgMgr::instance().getStagingCfg()->getCfgIface(); + parser.parse(cfg_iface, config_pair.second); + continue; + } + + // Legacy DhcpConfigParser stuff below ParserPtr parser(createGlobalDhcp4ConfigParser(config_pair.first, config_pair.second)); LOG_DEBUG(dhcp4_logger, DBG_DHCP4_DETAIL, DHCP4_PARSER_CREATED) diff --cc src/bin/dhcp6/json_config_parser.cc index 76aa12f32c,1fb54a6217..22f846cfc9 --- a/src/bin/dhcp6/json_config_parser.cc +++ b/src/bin/dhcp6/json_config_parser.cc @@@ -702,12 -704,11 +702,9 @@@ DhcpConfigParser* createGlobal6DhcpConf } else if (config_id.compare("subnet6") == 0) { parser = new Subnets6ListConfigParser(config_id); // option-data and option-def are no longer needed here. They're now - // converted to SimpleParser and are handled in configureDhcp6Server - } else if (config_id.compare("version") == 0) { - parser = new StringParser(config_id, - globalContext()->string_values_); + // converted to SimpleParser and are handled in configureDhcp6Server. + // interfaces-config has been converted to SimpleParser. - } else if (config_id.compare("version") == 0) { - parser = new StringParser(config_id, - globalContext()->string_values_); ++ // version was removed - it was a leftover from bindctrl. } else if (config_id.compare("lease-database") == 0) { parser = new DbAccessParser(config_id, DbAccessParser::LEASE_DB); } else if (config_id.compare("hosts-database") == 0) { @@@ -904,33 -873,13 +905,40 @@@ configureDhcp6Server(Dhcpv6Srv&, isc::d continue; } + if (config_pair.first == "mac-sources") { + MACSourcesListConfigParser parser; + CfgMACSource& mac_source = CfgMgr::instance().getStagingCfg()->getMACSources(); + parser.parse(mac_source, config_pair.second); + continue; + } + + if (config_pair.first == "control-socket") { + ControlSocketParser parser; + SrvConfigPtr srv_config = CfgMgr::instance().getStagingCfg(); + parser.parse(*srv_config, config_pair.second); + continue; + } + + if (config_pair.first == "host-reservation-identifiers") { + HostReservationIdsParser6 parser; + parser.parse(config_pair.second); + continue; + } + + if (config_pair.first == "server-id") { + DUIDConfigParser parser; + const CfgDUIDPtr& cfg = CfgMgr::instance().getStagingCfg()->getCfgDUID(); + parser.parse(cfg, config_pair.second); + continue; + } + + if (config_pair.first == "interfaces-config") { + IfacesConfigParser parser(AF_INET6); + CfgIfacePtr cfg_iface = CfgMgr::instance().getStagingCfg()->getCfgIface(); + parser.parse(cfg_iface, config_pair.second); + continue; + } + ParserPtr parser(createGlobal6DhcpConfigParser(config_pair.first, config_pair.second)); LOG_DEBUG(dhcp6_logger, DBG_DHCP6_DETAIL, DHCP6_PARSER_CREATED)