1. 01 Jul, 2014 1 commit
  2. 26 Jun, 2014 8 commits
    • Thomas Markwalder's avatar
      c7d730d7
    • Thomas Markwalder's avatar
      [3436] Added configuration permutations test from file to D2 · d1a0a7fa
      Thomas Markwalder authored
      Added the unit test D2CfgMgrTest.configPermutations to
      d2_cfg_mgr_unittests.cc.  This test iterates through the
      list of test configurations defined in a specialzed JSON
      data file.  It provides a relatively painless way to test
      a large number configurations without hard-coding them.
      
      Added the test data file:
      
      It currently contains over sixty tests. The vast majority
      of these tests are invalid content tests.
      d1a0a7fa
    • Thomas Markwalder's avatar
      [3436] D2 DdnsDomain configuration errors now include position info. · c2b4e255
      Thomas Markwalder authored
      Modified DdnsDomainParser::build to validate parameters and use position
      info in error messages.
      c2b4e255
    • Thomas Markwalder's avatar
      [3436] D2 DnsServerInfo configuration errors now include position info. · 80997c12
      Thomas Markwalder authored
      Modified TSIGKeyInfoParser::build to validate parameters and use position
      in error messages.
      
      Parameter "hostname" now throws an "not supported yet" error.  This
      can be undone if/when its implmemented.
      
      Port must now be non-zero.
      80997c12
    • Thomas Markwalder's avatar
      [3436] D2 TSIGKeyInfo configuration errors now include position info. · 2d89d22a
      Thomas Markwalder authored
      Modified DCfgContextBase::getParam() variants to return the parameter's
      Element::Position.  This makes it available during parsing.
      
      Modified TSIGKeyInfoParser::build to validate parameters and use position
      in error messages.
      2d89d22a
    • Thomas Markwalder's avatar
      [3436] D2CfgMgr now validates top level params · 1e69c034
      Thomas Markwalder authored
      D2CfgMgr::buildParams now validates all of the
      top level params prior to calling the D2Params
      constructor.  This allows element position info
      to be included in error logging.
      1e69c034
    • Thomas Markwalder's avatar
      [3436] Added position info to top level parser creation in D2 · e10603ef
      Thomas Markwalder authored
      Added element position argument to DCfgMgrBase::createConfigParser(),
      so derivations have access to print position info unsupported top level
      element errors.
      
      Removed two log messages DCT_ORDER_ERROR and DCT_ORDER_NO_ELEMENT. These
      conditions are well explained in exceptions thrown and these logs just
      cluttered the log output.
      
      Removed extra text from DCTL_CONFIG_LOAD_FAIL and DCTL_PARSER_FAIL log
      messages. The log ID is self-explanatory and the underlying exceptions
      provide ample explanation of the error.  Makes the log output much easier
      to understand.
      
      Revised items-not-in-parse-order detection in DCfgMgrBase::parseConfig().
      Rather than complicated counting logic, objects are removed from the list
      as they are parsed.  Any left over were not in the parsing-order.
      
      Removed try-catch-throw from DCfgMgrBase::buildAndCommit. This method
      already throws its own exception. Catching, logging, and re-throwing
      exceptions from underneath it really just server to clutter the log.
      e10603ef
    • Thomas Markwalder's avatar
      [master] Update D2 shell script tests · f1a224df
      Thomas Markwalder authored
      As part of merging 3407, D2's shell script tests were
      revamped to match work done under 3422.
      f1a224df
  3. 25 Jun, 2014 1 commit
  4. 18 Jun, 2014 1 commit
  5. 17 Jun, 2014 3 commits
  6. 16 Jun, 2014 1 commit
    • Thomas Markwalder's avatar
      [3407] Added IOSignal class to send signals to IOService · 231f440a
      Thomas Markwalder authored
      Created d2::IOSignal and d2::IOSignalQueue for propagating
      caught OS signals to IOService instances.
      Added TimedSignal test class.
      
      New files:
          src/bin/d2/io_service_signal.cc
          src/bin/d2/io_service_signal.h
          src/bin/d2/tests/io_service_signal_unittests.cc
      231f440a
  7. 10 Jun, 2014 1 commit
  8. 09 Jun, 2014 1 commit
    • Thomas Markwalder's avatar
      [3401] Addressed reveiw comments · 2c0ab179
      Thomas Markwalder authored
      Static handlers were removed from DControllerBase.
      Developer's guide has been updated to with --with-kea-config
      discussion and updated diagrams.
      Other minor corrections.
      
      (Note ingore diffs in the diagram .svg files, they aren't particularly
      meaningful to the human eye).
      2c0ab179
  9. 05 Jun, 2014 1 commit
    • Thomas Markwalder's avatar
      3401 - D2 now supports with-kea-config switch · 1c4d345d
      Thomas Markwalder authored
      The configuration switch --with-kea-config, now selects between
      two versions of D2Controller:
      
      1. One which must run as a BUNDY module and is implemented in
      bundy_d2_controller.(h/cc)
      
      All of the BIND10 support was extracted from DControllerBase and moved
      into this version of D2Controller.
      
      This controller is tested in tests/bundy_d2_controller_unittests.cc
      
      2. One that runs as a stand alone executable which must be supplied
      with a configuration file via the command line and is implemented in
      d2_controller.(h/cc).
      
      This version of D2Controller is nearly identical the the original.
      DControllerBase supports configuration from file.
      
      This controller is tested in tests/d2_controller_unittests.cc
      
      DControllerBase now inherits from Daemon which keeps it in step with
      K4 and K6.
      
      The stand-alone mode flag has been removed from all controllers.
      1c4d345d
  10. 28 May, 2014 2 commits
  11. 27 May, 2014 1 commit
    • Thomas Markwalder's avatar
      [3432] Addressed review comments · 137c12ee
      Thomas Markwalder authored
      Consolidated DNSClient::doUpdate variants into a single method which
      accepts a smart pointer to a TSIGKey instead of TSIGKey reference.
      Simplified some unit tests.
      Added missing commentary.
      Corrected typos and copyright dates.
      137c12ee
  12. 23 May, 2014 1 commit
    • Marcin Siodelski's avatar
      [master] Bumped up timeout values in D2 controller tests. · a6c7bda2
      Marcin Siodelski authored
      On the FreeBSD10 system installed on the physical machine with the CPU:
      (Intel(R) Core(TM) i7-2700K CPU @ 3.50GHz), Kea compiled with clang 3.3,
      it takes slightly more than 2100ms (the previous timeout value) for the
      callback to occur. This seems to be specific to this system but on the
      other hand we don't test on FreeBSDs a lot, so the problem may be more
      common than we think. This was okayed on Jabber.
      a6c7bda2
  13. 20 May, 2014 2 commits
  14. 19 May, 2014 1 commit
  15. 16 May, 2014 2 commits
  16. 15 May, 2014 2 commits
  17. 14 May, 2014 2 commits
    • Thomas Markwalder's avatar
      [3432] TSIGKeyInfo now creates and owns a dns::TSIGKey · 3784b469
      Thomas Markwalder authored
      d2::TSIGKeyInfo now has an instance member for a dns::TSIGKey
      instance, which is created during the TSIGKeyInfo's construction.
      3784b469
    • Thomas Markwalder's avatar
      [3432] Added basic TSIG support to NameChangeTransaction · a00bfe54
      Thomas Markwalder authored
      Added TSIGKeyPtr instance member to NameChangeTransaction.
      Modified NameChangeTransaction::sendUpdate() to do a TSIG updates if its
      TSIGKeyPtr is not null.
      
      Extended FauxServer test class to support TSIG if given a key.
      Added round trip TSIG tests to NameChangeTransaction base class tests.
      
      This does not address how the transaction's key is determined. That
      requires changes to configuration classes in D2Config.
      a00bfe54
  18. 13 May, 2014 1 commit
  19. 12 May, 2014 1 commit
    • Thomas Markwalder's avatar
      [3432] Added support for TSIG to D2UpdateMessage and DNSClient · dd0024cf
      Thomas Markwalder authored
      Change D2UpdateMessage to support TSIG signing and verification via its
      toWire and fromWire methods.  Both now accept a pointer to a TSIGContext,
      which they should use, if its not NULL.
      
      Implemented DNSCLient::doUpdate variant that accepts a TSIGKey. It will
      use the key to create a TSIGContext that will then be used to sign the
      outbound request and to verify the response in the operator() method.
      
      Added appropriate unit tests.
      dd0024cf
  20. 10 May, 2014 1 commit
  21. 08 May, 2014 2 commits
  22. 07 May, 2014 2 commits
    • Thomas Markwalder's avatar
      [3268] Modified D2CfgMgr and spec file · 67f5da73
      Thomas Markwalder authored
      Added D2CfgMgr::buildParams() method to support the new parameters first
      processing.
      
      Removed support D2's global "interface" parameter, and added three more:
       - dns_server_timeout
       - ncr_protocol
       - ncr_format
      67f5da73
    • Thomas Markwalder's avatar
      [3268] Treat top-level scalars as a group of globals parameters · baa06740
      Thomas Markwalder authored
      Restructured DCfgMgrBase to group the top level elements in a configuration
      into scalars (strings, bools, ints, etc...) and objects (maps, lists, etc),
      and parse the scalars first, then objects.  This permits the top level
      scalars to be treated as a group of global parameters that are parsed first.
      
      Ordered parsing is now relegated to only object elements. Scalars are parsed
      first before any objects.
      
      Also added the ability to reset config manager's context and rather than
      than starting configuration parsing with a copy of the current context, it
      starts with an empty context.
      
      Modified unit tests accordingly.
      baa06740
  23. 17 Apr, 2014 2 commits