Skip to content
  • Thomas Markwalder's avatar
    [5110] Entire D2 configuration is now handled through new parsing scheme · 7e1ef0b2
    Thomas Markwalder authored
    src/bin/d2/d2_cfg_mgr.h
    src/bin/d2/d2_cfg_mgr.cc
        "forward-ddns" and "reverse-ddns" are now parsed using SimpleParsers
    
    src/bin/d2/d2_config.h
    src/bin/d2/d2_config.cc
        TSIGKeyInfoParser converted to flat style
        DnsServerInfoParser, DnsServerInfoListParser, DdnsDomainParser,
        DdnsDomainListParser, DdnsDomainListMgrParser
        - now all derive from SimpleParser
    
    src/bin/d2/d2_lexer.ll
        Added sub-grammar/contexts for PARSER_TSIG_KEY, PARSER_DDNS_DOMAIN,
        PARSER_DNS_SERVER:
    
    src/bin/d2/d2_parser.yy
        Added "false" tokens for sub-contexts:
            SUB_TSIG_KEY, SUB_TSIG_KEYS, SUB_DDNS_DOMAIN,SUB_DDNS_DOMAINS,
            SUB_DNS_SERVER, SUB_DNS_SERVERS
    
    src/bin/d2/d2_simple_parser.h
    src/bin/d2/d2_simple_parser.cc
        Added Defaults:
            TSIG_KEY_DEFAULTS, DDNS_DOMAIN_MGR_DEFAULTS, DDNS_DOMAIN_DEFAULTS,
            DNS_SERVER_DEFAULTS
    
        D2SimpleParser::setDdnsDomainDefaults()
        D2SimpleParser::setManagerDefaults() - new methods to handle setting
        scalar defaults and defaults of child elements
    
        D2SimpleParser::setAllDefaults() - now sets defaults for entire D2
        config
    
    parser_context.h
    parser_context.cc
        Added parser types:
            PARSER_SUB_DHCPDDNS,
            PARSER_TSIG_KEY,
            PARSER_TSIG_KEYS,
            PARSER_DDNS_DOMAIN,
            PARSER_DDNS_DOMAINS,
            PARSER_DNS_SERVER,
            PARSER_DNS_SERVERS
    
    src/bin/d2/tests/d2_cfg_mgr_unittests.h
    src/bin/d2/tests/d2_cfg_mgr_unittests.cc
        Moved all component SimpleParser tests to d2_simple_parser_unittest.cc/h
        Revamped D2CfgMgrTest
    
    src/bin/d2/tests/d2_simple_parser_unittest.h
    src/bin/d2/tests/d2_simple_parser_unittest.cc
        Moved component SimpleParser tests here.
    
    src/bin/d2/tests/nc_test_utils.h
    src/bin/d2/tests/nc_test_utils.cc
        Moved valid_d2_config global from lib/process/tests to here
    
    src/bin/d2/tests/testdata/d2_cfg_tests.json
        Updated format and error messages
    
    src/lib/process/testutils/d_test_stubs.h
    src/lib/process/testutils/d_test_stubs.cc
        Removed valid_d2_config
    7e1ef0b2