BIND 10 #2124: RFC 6594 for SSHFP
BIND 10 Development
do-not-reply at isc.org
Sun Jul 29 21:06:41 UTC 2012
#2124: RFC 6594 for SSHFP
-------------------------------------+-------------------------------------
Reporter: | Owner: muks
vorner | Status: reviewing
Type: | Milestone:
defect | Sprint-20120731
Priority: | Resolution:
medium | Sensitive: 0
Component: | Sub-Project: DNS
libdns++ | Estimated Difficulty: 2
Keywords: | Total Hours: 0
Defect Severity: N/A |
Feature Depending on Ticket: |
Add Hours to Ticket: 0 |
Internal?: 0 |
-------------------------------------+-------------------------------------
Comment (by muks):
Replying to [comment:24 jinmei]:
> I have one last thing to discuss. (Unlike the "from text" case) I
> wouldn't catch buffer exception in the from wire constructor at this
> level:
> {{{#!cpp
> try {
> ...
> } catch (const isc::util::InvalidBufferPosition& e) {
> isc_throw(InvalidRdataLength,
> "SSHFP record shorter than RDATA len: " << e.what());
> }
> }}}
> because in the case of from wire we normally use try-catch for a
> higher level like "Message::fromWire", and since from wire
> construction is relatively performance sensitive, and depending on the
> implementation of the exception mechanism simply doing try-catch can
> be expensive, and since (as far as I understand it) we don't catch
> these errors within RDATA implementations for other types.
Done. :)
> And I have one minor suggestion: in SSHFP::compare() the condition
> could be a bit simplified:
> {{{#!cpp
> if (cmplen > 0) {
> const int cmp = memcmp(&fingerprint_[0],
&other_sshfp.fingerprint_[0],
> cmplen);
> if (cmp != 0) {
> return (cmp);
> }
> }
> return ((this_len == other_len)
> ? 0 : (this_len < other_len) ? -1 : 1);
> }}}
> then we can reduce the number of the ugly nested ?:. In cases like
> this I'd even avoid using ?: completely (I personally often use ?: if
> by doing so we can make a variable const, but in this case there's no
> such advantage).
Done. :)
>
> But all of these are pretty minor. I'd leave it to you.
>
> Finally, I've made a few editorial/style changes. Some may need
> discussions but to safe time I've directly committed these. Please
> check.
The `.size()` to `.empty()` change looks fine, and I agree.
> And really finally: I think we should be able to use the generic .spec
> file with the generator script for the added test data. Then we
> wouldn't have the style issues (basically copy-paste problems) I fixed
> in my commits. But we've already spent too much time for this
> supposedly simple ticket, so I don't suggest changing them at this
> stage.
I'll leave them as raw wiredata, as it doesn't hurt. There are other tests
that don't use .spec files as well.
--
Ticket URL: <http://bind10.isc.org/ticket/2124#comment:26>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development
More information about the bind10-tickets
mailing list