Jeremy C. Reed [Fri, 23 May 2014 18:06:09 +0000 (18:06 +0000)]
adjust report-cpp-coverage make target
exclude include/ so will remove /usr/local/include too
also add a hack to change the paths to be consistent
in the case that the directory the job is done in is a symlink
to another directory.
(Alternative method would be to run the lcov tool multiple times
for each path and set the base-directory switch plus add-tracefile
switch to combine.)
I didn't get this reviewed. I am under assuption that this make target
is rarely used.
Marcin Siodelski [Fri, 23 May 2014 08:03:24 +0000 (10:03 +0200)]
[master] Bumped up timeout values in D2 controller tests.
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.
Marcin Siodelski [Fri, 23 May 2014 06:55:29 +0000 (08:55 +0200)]
[master] Unit tests for IAPREFIX compare IOAddress objects.
The unit tests used to compare the addresses in the textual formats. Since
IPv6 addresses may be presented in various ways, it led to false
positives on some OSes.
[master] Disabled forceUDPSendError unit test for Solaris
The goal of these tests is to exercise error handling of a failed NCR send
in Kea4/Kea6. Because the test is for a UDP sender is there is no simple way
to make the send fail. The only way found so far is to attmpt to send it to
0.0.0.0/port 0. This fails everywhere except Solaris 11. For now the tests
have been disabled for Solaris 11
[3432] Changed algorithm strings to match dnsssec-keygen labels
Changed the string values used to configure a TSIG key's algorithm to
match those used by Bind9's dnssec-keygen.
Added tests for all supported algorithms.
[3432] Fixed d2::TSIGKeyInfo::remake to use correct dns::TSIGKey constructor
The dns::TSIGKey constructor that was being by d2:TSIGKeyINfo expects an
ordinary string value for secret and then encodes it to base64. Since
TSIGKeyInfo configuration value for secret is already expected to be base64
encoded this was causing it to be encoded again resulting in verification
errors when tested against Bind9.
Changed TSIGKeyInfo::remake to use the appropriate TSIGKey constructor.
[3432] Replaced sting key_name with TSIGKeyInfo in d2::DdnsDomain
Rather than each DdnsDomain storing only the string name of its TSIG key,
it now contains an pointer to the TSIGKeyInfo which corresponds to the
key name given in its configuration.
[3432] Added basic TSIG support to NameChangeTransaction
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.
Tomek Mrugalski [Tue, 13 May 2014 12:34:49 +0000 (14:34 +0200)]
[trac3449] make sure -R has argument (directory) in m4 macro that tests availability.
Bundy issue 6:
(should also be trivial enough, so I'm pushing it directly at my discretion)
without this it's possible that it only results in warning on a system
that doesn't actually support this flag (such as MacOS X) and subsequently
causes build failure.
Tomek Mrugalski [Tue, 13 May 2014 12:34:49 +0000 (14:34 +0200)]
[trac3449] make sure -R has argument (directory) in m4 macro that tests availability.
Bundy issue 6:
(should also be trivial enough, so I'm pushing it directly at my discretion)
without this it's possible that it only results in warning on a system
that doesn't actually support this flag (such as MacOS X) and subsequently
causes build failure.
[3432] Added support for TSIG to D2UpdateMessage and DNSClient
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.
[3268] Modified NameChangeTransaction to use configurable DNS server timeout
Update manager now passes the D2 config manager reference into transactions
when it creates them. This makes D2 configuration services available at
the transaction level.
Changed NameChangeTransaction::sendUpdate() to get the timeout value from
configuration rather than use hard-coded constant.
[3268] Added container class for D2 global parameters
Added d2::D2Params to act as container class for D2 global parameters.
This permits them to be converted from their context parameter form during
configuration parsing.
[3268] Treat top-level scalars as a group of globals parameters
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.
Tomek Mrugalski [Tue, 6 May 2014 19:07:14 +0000 (21:07 +0200)]
[3400] Changes after review:
- config-reload command added
- config and command handlers cleaned up
- files renamed
- Majority of the backend code is now common
- Added unit-test for config-reload command