BIND 10 #812: TSIG: Signing messages
BIND 10 Development
do-not-reply at isc.org
Wed Apr 27 06:57:16 UTC 2011
#812: TSIG: Signing messages
-------------------------------------+-------------------------------------
Reporter: | Owner: jinmei
stephen | Status: accepted
Type: | Milestone:
enhancement | Sprint-20110503
Priority: | Resolution:
blocker | Sensitive: 0
Component: | Sub-Project: DNS
Unclassified | Estimated Difficulty: 8.0
Keywords: | Total Hours: 0
Defect Severity: N/A |
Feature Depending on Ticket: tsig |
Add Hours to Ticket: 0 |
Internal?: 0 |
-------------------------------------+-------------------------------------
Comment (by jinmei):
Branch trac812 is ready for review.
This branch still misses some final parts of TSIG signing (which I'll
soon complete), but the branch is already quite big, so I decided to
get this part reviewed first.
The entire diff is actually VERY big, so I guess some guidance and
notes are necessary.
- first two commits can (or even should) be ignored. it simply
incorporates a dependent branch (781) and makes minimal change to
make the tree buildable.
- next three commits (adfd101..ad13479) are not directly related to
TSIG signing, but make some adjustments to the existing TSIGKey
class for the use of crypto API with TSIG. These are a separate
chunk of changes.
- changes to Makefiles should be trivial: they are addition of new
files and addition of path to libcryptolink for tests/apps that
implicitly rely on it.
- other changes are new files: lib/dns/{tsig,tsigerror}.{cc,h} and
their tests, and lib/util/unittests/newhook.{cc,h}.
- tsigerror (ant its tests) should be mostly trivial. so, if the
entire diff is deemed to be too big, one possible breakdown is to
complete the tsigkey changes and tsigerror first, and discuss the
rest in the next step.
- tsig.{h,cc} and its tests are the main subject of this ticket.
the API design is detailed in tsig.h. if the API design is okay,
I believe the code itself is quite straightforward. test cases
are complicated, but I'm quite confident they worked correctly
because I took the test data from actual packet generated by BIND
9 and most of the tests check the integrity via HMAC.
- newhook is a utility for a test in tsig_unittest. See the
description in newhook.h. This may be too tricky. If so, I'm
okay with removing it and corresponding test.
A couple of other notes:
- TSIG is time-sensitive protocol, so I used the same trick to
generate "fake current time" as that was used in
lib/util/time_utilities. It would be better to (internally) publish
the wrapper trick and unify the implementation, but I didn't do this
in this branch because the branch was already quite big. I plan to
do it in the next phase.
- I'm not intending to create a changelog entry for this specific
task. It would make more sense to have a single entry when we
provide a complete set of sign/verify.
--
Ticket URL: <http://bind10.isc.org/ticket/812#comment:6>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development
More information about the bind10-tickets
mailing list