[bind10-dev] Resolver testing

Michal 'vorner' Vaner michal.vaner at nic.cz
Tue Nov 2 18:01:45 UTC 2010


Hello

On Tue, Nov 02, 2010 at 02:30:22PM +0100, Shane Kerr wrote:
>     # define the packets in a simple A lookup of www.domain-1.test
>     # target(s)         time   query/answer  contents
>     a.root,b.root       *      q             www.domain-1.test a
>     ns1.test,ns2.test   *      q             www.domain-1.test a
>     $client             *      a             www.domain-1.test a 10.0.0.1
> 
>     # define the packets with a non-responding name server
>     # target(s)                time   query/answer  contents
>     a.root,b.root              *      q             domain-2.test a
>     ns1.test,ns2.test          *      q             domain-2.test a
>     $last                      100    q             domain-2.test a
>     (ns1.test,ns2.test)-$last  100    q             domain-2.test a
>     $client                    *      a             domain-2.test a 10.0.0.2

There are three things that crossed my mind, which might be useful as well as
complete nonsense:
• Will our DNS library allow us to send broken packets? If not, we need some
  other (broken) library that does, at last for this task.
• To properly schedule things like multiple concurrent unanswered queries, we
  might want to run the whole machinery as one process (so we can schedule to
  send a query after the server contacted root zone, and org zone, but before it
  got answer ‒ it could be hard with only timing).
• If we have our own language to describe the test, we need to write our own
  parser and our own interpretter. Furthermore, it might come out as not enough
  expressive (or, on the other hand, completely overcomplicated). And we might
  want to send the same packet during many tests, so some kind of „functions“
  might be useful.

  Wouldn't it be better to use some kind of existing language (python with some
  kind of event-handling library, perl with AnyEvent and Coro, lua…) and provide
  it with the testing framework? Functions like „Set up an authoritative
  nameserver with this zone“ or „Set up an authoritative nameserver and when a
  query comes, call this function to decide what to answer“ and „Send this query
  packet and do this with the answer, or do this on timeout“?

Have a nice day

-- 
Hello, I'm an extension to the infamous signature virus, called spymail.
Could you please copy me into your signature and send back what you were
doing last night between 10pm and 3am?

Michal 'vorner' Vaner
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: <https://lists.isc.org/pipermail/bind10-dev/attachments/20101102/12a0aa4c/attachment.bin>


More information about the bind10-dev mailing list