BIND 10 trac697, updated. 8d638e07f2347d5e713493ffed9659ea5048e872 [trac697] add test for dns parse error in response
BIND 10 source code commits
bind10-changes at lists.isc.org
Wed Mar 16 14:27:29 UTC 2011
The branch, trac697 has been updated
via 8d638e07f2347d5e713493ffed9659ea5048e872 (commit)
from 32d47188a5034c0ed3973099ebfe28ffe21ff1ce (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 8d638e07f2347d5e713493ffed9659ea5048e872
Author: Jelte Jansen <jelte at isc.org>
Date: Wed Mar 16 15:27:13 2011 +0100
[trac697] add test for dns parse error in response
-----------------------------------------------------------------------
Summary of changes:
.../resolve/tests/recursive_query_unittest_2.cc | 27 +++++++++++++++----
1 files changed, 21 insertions(+), 6 deletions(-)
-----------------------------------------------------------------------
diff --git a/src/lib/resolve/tests/recursive_query_unittest_2.cc b/src/lib/resolve/tests/recursive_query_unittest_2.cc
index 7d2d150..b94d4e8 100644
--- a/src/lib/resolve/tests/recursive_query_unittest_2.cc
+++ b/src/lib/resolve/tests/recursive_query_unittest_2.cc
@@ -101,11 +101,13 @@ public:
/// Set before the query and then by each "server" when responding.
enum QueryStatus {
NONE = 0, ///< Default
- UDP_ROOT = 1, ///< Query root server over UDP
- UDP_ORG = 2, ///< Query ORG server over UDP
- TCP_ORG = 3, ///< Query ORG server over TCP
- UDP_EXAMPLE_ORG = 4, ///< Query EXAMPLE.ORG server over UDP
- COMPLETE = 5 ///< Query is complete
+ UDP_ROOT, ///< Query root server over UDP
+ UDP_ORG, ///< Query ORG server over UDP
+ TCP_ORG, ///< Query ORG server over TCP
+ UDP_EXAMPLE_ORG_BAD, ///< Query EXAMPLE.ORG server over UDP
+ ///< (return malformed packet)
+ UDP_EXAMPLE_ORG, ///< Query EXAMPLE.ORG server over UDP
+ COMPLETE ///< Query is complete
};
// Common stuff
@@ -305,6 +307,12 @@ public:
expected_ = TCP_ORG;
break;
+ case UDP_EXAMPLE_ORG_BAD:
+ // Return the answer to the question.
+ setAnswerWwwExampleOrg(msg);
+ // Set new expected in check below
+ break;
+
case UDP_EXAMPLE_ORG:
// Return the answer to the question.
setAnswerWwwExampleOrg(msg);
@@ -320,6 +328,13 @@ public:
MessageRenderer renderer(*udp_send_buffer_);
msg.toWire(renderer);
+ if (expected_ == UDP_EXAMPLE_ORG_BAD) {
+ // mangle the packet a bit
+ // set additional to one more
+ udp_send_buffer_->writeUint8At(3, 11);
+ expected_ = UDP_EXAMPLE_ORG;
+ }
+
// Return a message back to the IOFetch object (after setting the
// expected length of data for the check in the send handler).
udp_length_ = udp_send_buffer_->getLength();
@@ -450,7 +465,7 @@ public:
// readiness for the next read. (If any - at present, there is only
// one read in the test, although extensions to this test suite could
// change that.)
- expected_ = UDP_EXAMPLE_ORG;
+ expected_ = UDP_EXAMPLE_ORG_BAD;
tcp_cumulative_ = 0;
// Unless we go through a callback loop we cannot simply use
More information about the bind10-changes
mailing list