]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[master] Merge branch 'trac5020' (interfaces parser migrated to SimpleParser)
authorTomek Mrugalski <tomasz@isc.org>
Tue, 10 Jan 2017 13:48:57 +0000 (14:48 +0100)
committerTomek Mrugalski <tomasz@isc.org>
Tue, 10 Jan 2017 13:48:57 +0000 (14:48 +0100)
# Conflicts:
# src/bin/dhcp4/json_config_parser.cc
# src/bin/dhcp6/json_config_parser.cc

1  2 
src/bin/dhcp4/json_config_parser.cc
src/bin/dhcp4/parser_context.cc
src/bin/dhcp4/parser_context.h
src/bin/dhcp6/json_config_parser.cc

index 8a5d6a12125cbac96033ed3c4faeaa4f9ae005dd,2be787e14ce77998f27bb4bedb8de8d602f8dcea..e6d388f85775bc6481d608062e0ce46ca41537dc
@@@ -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)
Simple merge
Simple merge
index 76aa12f32c0c75bc9e3d5b04c2a4ba66d15c9571,1fb54a6217bdcf09a81de0e918ca429581b6046b..22f846cfc9a73c9e4b147c9ca20d79e158ba86d8
@@@ -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)