1. 30 May, 2017 1 commit
  2. 28 Apr, 2017 1 commit
  3. 28 Oct, 2016 1 commit
  4. 28 Aug, 2016 1 commit
  5. 24 Aug, 2016 1 commit
  6. 18 Aug, 2016 1 commit
  7. 17 Aug, 2016 1 commit
    • Marcin Siodelski's avatar
      [4489] Addressed review comments. · 4a8efcb4
      Marcin Siodelski authored
      The only review item not addressed with this commit is the
      implementation of unit test that operates on the read only
      database, i.e. the database containing tables on which the
      given user only has SELECT privileges.
      4a8efcb4
  8. 12 Aug, 2016 1 commit
    • Thomas Markwalder's avatar
      [4294] Memfile and MySql now support recalulating IPv4 lease statistics · a8f85f25
      Thomas Markwalder authored
      src/lib/dhcpsrv/cfg_subnets4.cc
          CfgSubnets4::removeStatistics()
          - added removal of all lease statistics per subnet, and global declined address
          stats
      
          CfgSubnets4::updateStatistics()
          - added call to LeaseMgr::recountAddressStats4
      
      src/lib/dhcpsrv/lease.cc
      src/lib/dhcpsrv/lease.h
          Replaces lease state constants with LeaseState enumeration.
      
      src/lib/dhcpsrv/lease_mgr.cc
      src/lib/dhcpsrv/lease_mgr.h
          struct AddressStatsRow4 - contains the content of one row of the IPv4
          lease statistical data result set
      
          class AddressStatsQuery4 - base class for constructing the IPv4
          lease statistical data result set for an IPv4 lease storage
      
          LeaseMgr::recountAddressStats4() -  new method which recalculates
          per-subnet and global stats for IPv4 leases
      
          LeaseMgr::startAddressStatsQuery4() - new virtual method that fetches
          the IPv4 lease statistical data result set
      
      src/lib/dhcpsrv/lease_mgr_factory.h
      src/lib/dhcpsrv/lease_mgr_factory.cc
          LeaseMgrFactory::haveInstance() - new static method which indicates
          whether or not the lease manager singleton exists
      
      src/lib/dhcpsrv/memfile_lease_mgr.h
      src/lib/dhcpsrv/memfile_lease_mgr.cc
          MemfileAddressStatsQuery4 - Derivation of AddressStatsQuery4, it constructs
          the IPv4 lease statistical data by iterating over IPv4 lease storage
      
          Memfile_LeaseMgr::startAddressStatsQuery4() - new virtual method which
          creates, starts, and returns a MemfileAddressStatsQuery4
      
      src/lib/dhcpsrv/memfile_lease_storage.h
          Added an a per subnet_ID index to IPv4 storage
      
      src/lib/dhcpsrv/mysql_lease_mgr.h
      src/lib/dhcpsrv/mysql_lease_mgr.cc
          - Added RECOUNT_LEASE4_STATS query
      
          MySqlAddressStatsQuery4 Derivation of AddressStatsQuery4, it constructs
          the IPv4 lease statistical data by executing RECOUNT_LEASE4_STATS
      
          MySqlLeaseMgr::startAddressStatsQuery4() - new virtual method which
          creates, starts, and returns a MySqlAddressStatsQuery4
      
      src/lib/dhcpsrv/tests/alloc_engine_utils.cc
          AllocEngine6Test::AllocEngine6Test()
          AllocEngine4Test::AllocEngine4Test()
          - moved lease mgr create up above configuration commit
      
      src/lib/dhcpsrv/tests/cfg_db_access_unittest.cc
           ~CfgMySQLDbAccessTest() - added destruction of lease manager singleton,
          otherwise subsequent tests can fail
      
      src/lib/dhcpsrv/tests/generic_lease_mgr_unittest.h
      src/lib/dhcpsrv/tests/generic_lease_mgr_unittest.cc
          GenericLeaseMgrTest::checkStat() - new method for comparing a stat
          GenericLeaseMgrTest::checkAddressStats4() - new method for comparing a list
          of stats
          GenericLeaseMgrTest::makeLease4() - new method for making a minimal lease
          GenericLeaseMgrTest::testRecountAddressStats4() - new method which tests
          a lease manager's ability to recalculate the IPv4 lease statistics
      
      src/lib/dhcpsrv/tests/memfile_lease_mgr_unittest.cc
          TEST_F(MemfileLeaseMgrTest, recountAddressStats4) - new test which tests
          Memfile_LeaseMgr's ability to recalculate IPv4 lease statistics
      
      src/lib/dhcpsrv/tests/mysql_lease_mgr_unittest.cc
          TEST_F(MySqlLeaseMgrTest, recountAddressStats4) - new test which tests
          MySqlLeaseMgr's ability to recalculate IPv4 lease statistics
      a8f85f25
  9. 29 Jul, 2016 1 commit
  10. 23 Jun, 2016 3 commits
  11. 21 Jun, 2016 1 commit
    • Thomas Markwalder's avatar
      [4277] Bare bones implementation of PgSqlHostDataSource · 33428957
      Thomas Markwalder authored
      src/lib/dhcpsrv
          pgsql_host_data_source.c
          pgsql_host_data_source.h  - new files, preliminary implementation
      
      src/lib/dhcpsrv/Makefile.am
          Added new files pgsql_host_data_source.cc, pgsql_host_data_source.h
      
      src/lib/dhcpsrv/dhcpsrv_messages.mes
          Added log messages DHCPSRV_PGSQL_HOST_DB_GET_VERSION, DHCPSRV_PGSQL_START_TRANSACTION
      
      src/lib/dhcpsrv/pgsql_connection.cc
      src/lib/dhcpsrv/pgsql_connection.h
          Added PgSqlTransaction
          Added PgSqlConnection::startTransaction()
      
      src/lib/dhcpsrv/pgsql_exchange.cc
      src/lib/dhcpsrv/pgsql_exchange.h
          PsqlBindArray
          - Added storage of conversion strings used for bound values
          - Added add() variants for uint8_t, IOAddress, uint8_t buffer
          - Added templated variant for miscellaneous types
      
          PgSqlExchange
          - Removed getColumnValue variants for various integers, replaced
          with templated version for miscellaneous types
      
      src/lib/dhcpsrv/pgsql_lease_mgr.cc
          Added todo comment to remember to account for hwaddr columns added to lease6
      
      src/lib/dhcpsrv/tests/pgsql_exchange_unittest.cc
          TEST(PsqlBindArray, basicOperation) - new test to exercise bind functions
      33428957
  12. 15 Jun, 2016 1 commit
  13. 09 Jun, 2016 1 commit
  14. 08 Jun, 2016 1 commit
  15. 06 Jun, 2016 1 commit
  16. 25 May, 2016 1 commit
  17. 19 May, 2016 1 commit
  18. 05 Apr, 2016 1 commit
  19. 31 Mar, 2016 1 commit
  20. 16 Dec, 2015 2 commits
  21. 14 Dec, 2015 2 commits
  22. 11 Dec, 2015 2 commits
    • Thomas Markwalder's avatar
      [4216] Fixed up log message · dea9eb2c
      Thomas Markwalder authored
          Added mention of hosts db to message text for DHCPSRV_MYSQL_HOST_DB_GET_VERSION
      dea9eb2c
    • Thomas Markwalder's avatar
      [4216] Addressed review comments · 39525b94
      Thomas Markwalder authored
      src/lib/dhcpsrv/host_data_source_factory.cc
          HostDataSourceFactory::create(const std::string& dbaccess)
              - Removed logging from exception throwing conditions
              - Minor clean up of the method itself
      
      src/lib/dhcpsrv/dhcpsrv_messages.mes
          Removed obsoleted error messages:
              DHCPSRV_HOSTDB_NOTYPE
              DHCPSRV_UNKNOWN_HOST_DB
      39525b94
  23. 09 Dec, 2015 1 commit
  24. 04 Dec, 2015 1 commit
  25. 17 Nov, 2015 1 commit
  26. 11 Nov, 2015 3 commits
    • Thomas Markwalder's avatar
      [master] Removed periods from log messages · 5810e81a
      Thomas Markwalder authored
          src/lib/dhcpsrv/dhcpsrv_messages.mes
      5810e81a
    • Thomas Markwalder's avatar
      [3601] More review comments · 71e6ef87
      Thomas Markwalder authored
      Minor log message and comment wording
      71e6ef87
    • Thomas Markwalder's avatar
      [3601] Addressed additional review comments · 2023588f
      Thomas Markwalder authored
      doc/guide/admin.xml
      src/lib/dhcpsrv/dhcpsrv_messages.mes
      src/lib/dhcpsrv/lease_file_loader.h
          minor clean up, typos
      
      src/lib/dhcpsrv/tests/csv_lease_file4_unittest.cc
      src/lib/dhcpsrv/tests/csv_lease_file6_unittest.cc
          removed unnecessary use of scoped_ptr
      
      src/lib/util/csv_file.cc
          CSVRow::trim() - replaced use of std::vector<>::erase with resise
      
      src/lib/util/versioned_csv_file.h
      src/lib/util/versioned_csv_file.cc
          VersionedCSVFile::next() - reorganized to use input_schema_state_
          VersionedCSVFile::columnCountError() - new convenience method
          minor cleanups
      2023588f
  27. 10 Nov, 2015 1 commit
    • Thomas Markwalder's avatar
      [3601] Addressed review comments, added ability to downgrade · 91a4978e
      Thomas Markwalder authored
      Several minor cleanup items based on review comments.  Implemented
      support for downgrading files from newer schema versions:
      
      doc/guide/admin.xml
          amended text on upgrading memfile to discuss downgrading
      
      src/lib/dhcpsrv/dhcpsrv_messages.mes
      src/lib/dhcpsrv/lease_file_loader.h
          revamped log messages to accomodate downgrading
      
      src/lib/dhcpsrv/memfile_lease_mgr.cc
      src/lib/dhcpsrv/memfile_lease_mgr.h
          added commentary to MemfileLeaseMgr ctor
          automatic conversion logic accomdates both upgrading and downgrading
      
      src/lib/dhcpsrv/tests/csv_lease_file4_unittest.cc
      src/lib/dhcpsrv/tests/csv_lease_file6_unittest.cc
          replaced tooManyHeaderColumns test with downGrade test
      
      src/lib/util/csv_file.h
      src/lib/util/csv_file.cc
          added CSVRow::trim()
      
      src/lib/util/tests/csv_file_unittest.cc
          added CSVRow.trim test
      
      src/lib/util/tests/versioned_csv_file_unittest.cc
          added VersionedCSVFileTest.currentSchemaTest test
          replaced tooManyHeaderColumns test with downGrading test
          revamped tests to check  getInputSchemaState() and needsConversion()
      
      src/lib/util/versioned_csv_file.h
          Updated commentary to describe downgrade support
      
      src/lib/util/versioned_csv_file.cc
          enum InputSchemaState
          input_schema_state_
          input_header_count_
          getInputHeaderCount()
          getInputSchemaState()
          needsConversion()
      
          next(CSVRow& row) - now supports downgrading rows
          validateHeder() -  now throws if called when no schema has been defined,
          and supports downgrading rows
      91a4978e
  28. 03 Nov, 2015 1 commit
    • Thomas Markwalder's avatar
      [3601] Memfile_LeaseMgr now runs LFC automatically if lease files need upgrading · 64a51b84
      Thomas Markwalder authored
      Memfile_LeaseMgr loads the lease files during instantiation. If it detects
      that any of the files loaded are out of date, it will invoke LFC directly,
      whether or not LFC is enabled.
      
      src/lib/dhcpsrv/dhcpsrv_messages.mes
          added two new log messages:
              DHCPRSV_MEMFILE_UPGRADING_LEASE_FILES
              DHCPSRV_MEMFILE_NEEDS_UPGRADING
      
      src/lib/dhcpsrv/lease_file_loader.h
          LeaseFileLoader::load() - emits DHCPSRV_MEMFILE_NEEDS_UPGRADING log
          when an out of date file is detected
      
      src/lib/dhcpsrv/memfile_lease_mgr.cc
          LFCSetup::setup() - added run_once_now parameter, which causes the
          method to invoke the LFC callback immediately, regardless of the value
          of LFC interval.
          Memfile_LeaseMgr::Memfile_LeaseMgr() - added logic to track if
          files loaded need upgrading and pass that into lfcSetup()
      
          Memfile_LeaseMgr::loadLeasesFromFiles() - change to return a boolean
          true if any of the files loaded need upgrading.
      
          Memfile_LeaseMgr::lfcSetup() - added upgrade_needed parameter, which
          is passed through to LFCSetup::setup() as "run_once_now"
      64a51b84
  29. 28 Oct, 2015 1 commit
    • Stephen Morris's avatar
      [3259] Updates to handle new syntax only · ee8fe286
      Stephen Morris authored
      As some incompatible changes have already been made to the hooks
      interface (removal of the setSkip method), it seems pointless to
      support both old and new hoos-libraries syntax.  These modifications
      remove support for the old syntax.
      ee8fe286
  30. 27 Oct, 2015 2 commits
  31. 26 Oct, 2015 1 commit
  32. 23 Oct, 2015 1 commit
    • Thomas Markwalder's avatar
      [3780] MySQL and Postgres lease managers now exit on fatal error detection · be964a2b
      Thomas Markwalder authored
      src/lib/dhcpsrv/dhcpsrv_messages.mes
          added messages DHCPSRV_MYSQL_FATAL_ERROR, DHCPSRV_PGSQL_FATAL_ERROR
      
      src/lib/dhcpsrv/mysql_lease_mgr.cc
          added MySQL client error code include
      
          MySqlLeaseMgr::checkError() - method is no longer inlined in
          the header.  Expanded to detect unrecoverable errors, log
          them and call exit().
      
      src/lib/dhcpsrv/mysql_lease_mgr.h
          Removed inline implemenation of MySqlLeaseMgr::checkError(),
          and expanded commentary
      
      src/lib/dhcpsrv/pgsql_lease_mgr.cc
          PgSqlLeaseMgr::addLeaseCommon() - now uses checkStatementError()
      
          PgSqlLeaseMgr::checkStatementError() - Expanded to detect
          unrecoverable errors, log them and call exit().
      
      src/lib/dhcpsrv/pgsql_lease_mgr.h
          Expanded commentary for PgSqlLeaseMgr::checkStatementError()
      be964a2b