1. 11 May, 2016 1 commit
    • Thomas Markwalder's avatar
      [4481] Made query4 and query6 callout arguments uniformly available · 1d7afd1c
      Thomas Markwalder authored
      The client packet is now uniformly available to all client packet driven
      callouts for both v4 and v6:
      
      Added "query4" to lease4_select and lease4_renew
          src/bin/dhcp4/dhcp4_hooks.dox
              Added query4 argument to lease4_select and lease4_renew documentation
      
          src/bin/dhcp4/tests/hooks_unittest.cc
              Revamped to track both query4 and response4 arguments
              TEST_F(HooksDhcpv4SrvTest, lease4RenewSimple) - modified to verify
              query4 set by lease4_renew callout
      
          src/lib/dhcpsrv/alloc_engine.cc
              - AllocEngine::createLease4()
              - AllocEngine::reuseExpiredLease4() - modified to add query4 to
              lease4_select callout arguments
              - AllocEngine::renewLease4() - modified to add query4 to lease4_renew
              callout arguments
      
          src/lib/dhcpsrv/tests/alloc_engine_hooks_unittest.cc
              HookAllocEngine4Test() - modified to track query4 argument
              TEST_F(HookAllocEngine4Test, lease4_select) - modified to verify query4
              callout argument
      
      Added "query6" to pkt6_send and lease6_select
          src/bin/dhcp6/dhcp6_hooks.dox
              Added query6 argument to pkt6_send and lease6_select documentation
      
          src/bin/dhcp6/dhcp6_srv.cc
              Dhcpv6Srv::processPacket(Pkt6Ptr& query, Pkt6Ptr& rsp) - modified to
              add query6 to the pkt_send callout arguments
      
          src/bin/dhcp6/tests/hooks_unittest.cc
              Revamped to track both query4 and response4 arguments
              TEST_F(HooksDhcpv6SrvTest, simplePkt6Send) - modified to
              verify query6 set by pkt6_send callout
      
          src/lib/dhcpsrv/alloc_engine.cc
              - AllocEngine::createLease4()
              - AllocEngine::reuseExpiredLease6() - modified to add query6 to
              lease6_select callout arguments
              callout arguments
      
          src/lib/dhcpsrv/tests/alloc_engine_hooks_unittest.cc
              HookAllocEngine6Test() - modified to track query6 argument
              TEST_F(HookAllocEngine6Test, lease4_select) - modified to verify
              query6 argument
      1d7afd1c
  2. 10 May, 2016 3 commits
  3. 05 May, 2016 3 commits
  4. 02 May, 2016 1 commit
  5. 28 Apr, 2016 1 commit
  6. 27 Apr, 2016 4 commits
  7. 26 Apr, 2016 1 commit
  8. 25 Apr, 2016 1 commit
    • Thomas Markwalder's avatar
      [4239] Addressed review comments · f1162218
      Thomas Markwalder authored
      src/lib/dhcpsrv/pgsql_lease_mgr.cc
          Amended commentary for getColumnValue() variants
          Added decription of Uiaid union
          Changed std::system to ::system
      
      src/lib/dhcpsrv/testutils/mysql_schema.cc
          Changed std::system to ::system
      
      src/lib/dhcpsrv/testutils/mysql_schema.h
          Fixed typo
      
      src/lib/dhcpsrv/testutils/pgsql_schema.cc
          Removed extraneous include
          Changed std::system to ::system
      f1162218
  9. 14 Apr, 2016 2 commits
  10. 13 Apr, 2016 2 commits
  11. 12 Apr, 2016 1 commit
  12. 11 Apr, 2016 2 commits
    • Thomas Markwalder's avatar
      [4239] Added drop scripts for both MySQL and Postgresql · 5b978dab
      Thomas Markwalder authored
      Rather than use hard-coded lists or query logic for dropping the
      database all MySQL and Posgresql tests use new drop scripts
      added to src/bind/admin/scripts.
      
      src/bin/admin/scripts/mysql/dhcpdb_drop.mysql
          - New SQL script to drop a MySQL database
      
      src/bin/admin/scripts/pgsql/dhcpdb_drop.pgsql
          - New SQL script to drop a Postgresql database
      
      src/bin/admin/tests/mysql_tests.sh.in
          - mysql_wipe() - modified to use new drop script
      
      src/bin/admin/tests/pgsql_tests.sh.in
          - pgsql_wipe() modified to use new drop script
      
      src/lib/dhcpsrv/tests/mysql_lease_mgr_unittest.cc
          - TEST(MySqlOpenTest, OpenDatabase) - added show_err=true
          to destroyMySQLSchema() calls
      
      src/lib/dhcpsrv/tests/pgsql_lease_mgr_unittest.cc
          - TEST(PgSqlOpenTest, OpenDatabase) - added show_err=true
          to destroyMySQLSchema() calls
      
      src/lib/dhcpsrv/testutils/mysql_schema.cc
          - destroyMySQLSchema(bool show_err) - modified to use the new
          drop script and accept show_err parameter
      
      src/lib/dhcpsrv/testutils/pgsql_schema.cc
          - destroyPgSQLSchema(bool show_err) - modified to use the new
          drop script and accept show_err parameter
      5b978dab
    • Thomas Markwalder's avatar
      [4239] MySQL and Postgresql unit tests use production schema create scripts · b45da895
      Thomas Markwalder authored
      src/lib/dhcpsrv/testutils/schema.h
      src/lib/dhcpsrv/testutils/schema.cc
          New files that contain constants and functions common to RDBMS
          testing
      
      src/lib/dhcpsrv/testutils/pgsql_schema.h
      src/lib/dhcpsrv/testutils/pgsql_schema.cc
          New files that contain constants and functions needed for
          Posgresql testing
      
      src/lib/dhcpsrv/testutils/mysql_schema.cc
      src/lib/dhcpsrv/testutils/mysql_schema.h
          Removed common constants and functions
          Added MYSQL_VALID_TYPE
          runMySQLScript() - new function to submit a script to MySQL
      
      src/lib/dhcpsrv/pgsql_lease_mgr.cc
          PgSqlLease6Exchange - replaced uint32_t iaid member with Uiaid union
          instance.  This permits the value to be safely stored in the database
          as an INT (signed 4-byte value)
          getColumnValue()- added int32_t variant of this method
      
      src/lib/dhcpsrv/tests/Makefile.am
          Removed schema_pgsql_copy.h
      
      src/lib/dhcpsrv/tests/mysql_host_data_source_unittest.cc
      src/lib/dhcpsrv/tests/mysql_lease_mgr_unittest.cc
          Altered tests to use MYSQL_VALID_TYPE
      
      src/lib/dhcpsrv/tests/pgsql_lease_mgr_unittest.cc
          Moved constants and functions testutils/pgsl_schema.h & cc
      b45da895
  13. 08 Apr, 2016 2 commits
    • Thomas Markwalder's avatar
      [4239] Fix constraint-based unit test failure · 395104bb
      Thomas Markwalder authored
      src/lib/dhcpsrv/tests/generic_lease_mgr_unittest.cc
         - GenericLeaseMgrTest::testLease6HWTypeAndSource() - now uses valid values
           for hardware address source
      395104bb
    • Thomas Markwalder's avatar
      [4239] MySQL unit tests in dhcpsrv now use production db create script · 9c26b5fa
      Thomas Markwalder authored
      src/lib/dhcpsrv/tests/mysql_lease_mgr_unittest.cc
          TEST(MySqlOpenTest, OpenDatabase) - pass in show_err=true for call
          to createMySQLSchema()
      
      src/lib/dhcpsrv/testutils/Makefile.am
          - Added definition of TEST_ADMIN_SCRIPTS_DIR
          - removed schema_mysql_copy.h
      
      src/lib/dhcpsrv/testutils/mysql_schema.cc
          - Removed include of schema_mysql_copy.h
          - destroyMySQLSchema() - now contains destroy_statment[] formerly
          defined in schema_mysql_copy.h
          - createMySQLSchema() - Creates the database through command line
          invocation of MySQL cli, mysql, passing it the production database
          creation script
      9c26b5fa
  14. 06 Apr, 2016 2 commits
    • Marcin Siodelski's avatar
      [4301] Addressed review comments. · 253b032f
      Marcin Siodelski authored
      253b032f
    • Thomas Markwalder's avatar
      [4259] Addressed review comments · 773659ff
      Thomas Markwalder authored
          Moved string/enum conversion functions inside D2ClientConfig
      
          Changed underscores to hypens in replace-client-name values and changed
          all literal values to lower case.
      
          Fixed minor wording issues in admin guide and new log messages.
      
          Added commentary and extra error logging to unit tests
      
          Added test case for invalid value of replace-client-name
      773659ff
  15. 05 Apr, 2016 4 commits
  16. 04 Apr, 2016 5 commits
    • Thomas Markwalder's avatar
      [4259] kea-dhcp6 now supports replace-client-name modes · b3f483e5
      Thomas Markwalder authored
          src/bin/dhcp6/dhcp6_messages.mes
              - Added new log message, DHCP6_DDNS_SUPPLY_FQDN
      
          src/bin/dhcp6/dhcp6_srv.cc
              - Dhcpv6Srv::processClientFqdn() - modified to support the name
              replacement modes
      
          src/bin/dhcp6/tests/fqdn_unittest.cc
              - FqdnDhcpv6SrvTest::testReplaceClientNameMode() new method which tests
              a server's handling of a single client packet for a given
              replace-client-name mode.
      
              - TEST_F(FqdnDhcpv6SrvTest, replaceClientNameModeTest) - new test which
              exercises the permutations of client packets and replace-client-name
              modes.
      b3f483e5
    • Thomas Markwalder's avatar
      [4259] Converted replace-client-name from boolean to enumeration · d80e28d3
      Thomas Markwalder authored
          The D2 client configuration parameter, replace-client-name, was
          changed from a boolean, to an enumerated list of modes:
      
              "NEVER" - do not alter or supply the client name
              "ALWAYS" - always replace the client name, or supply it if
               not sent by the client
              "WHEN_PRESENT" - replace the client name sent by the client,
               do not supply one otherwise
              "WHEN_NOT_PRESENT" - supply the client name only if one was
              not sent by the client
      
          src/lib/dhcpsrv/d2_client_cfg.cc
          src/lib/dhcpsrv/d2_client_cfg.h
              Added the D2ClientConfig::ReplaceClientNameMode enumeration.
      
          src/lib/dhcpsrv/parsers/dhcp_parsers.cc
              - Alter replace-client-name parsing to parse the mode labels.
              - Maps boolean literals true and false to RCM_WHEN_PRESENT and
              RCM_NEVER respectively
      
          src/bin/dhcp4/dhcp6_srv.cc
          src/bin/dhcp4/dhcp4_srv.cc
          src/lib/dhcpsrv/d2_client_mgr.h
              - Adapted to use the enumeration
      
          src/bin/dhcp4/tests/config_parser_unittest.cc
          src/bin/dhcp4/tests/fqdn_unittest.cc
          src/bin/dhcp6/tests/config_parser_unittest.cc
          src/bin/dhcp6/tests/fqdn_unittest.cc
          src/lib/dhcpsrv/tests/cfgmgr_unittest.cc
          src/lib/dhcpsrv/tests/d2_client_unittest.cc
          src/lib/dhcpsrv/tests/d2_udp_unittest.cc
          src/lib/dhcpsrv/tests/dhcp_parsers_unittest.cc
              - Alter existing tests to use the enumeration. Note false was replaced
              with RCM_NEVER and true with RCM_WHEN_PRESENT
      d80e28d3
    • Thomas Markwalder's avatar
      [4259] Add unit tests to ensure StringParser can parse booleans · 849439da
      Thomas Markwalder authored
          Added checks to ensure that StringParser can handle being given
          a boolean literal (i.e. unquoted true or false)
      849439da
    • Marcin Siodelski's avatar
    • Marcin Siodelski's avatar
  17. 01 Apr, 2016 2 commits
  18. 31 Mar, 2016 3 commits