]> git.ipfire.org Git - thirdparty/unbound.git/commitdiff
Sets ID correctly. And udp forwarder test - test of networking code against
authorWouter Wijngaards <wouter@nlnetlabs.nl>
Wed, 7 Feb 2007 08:50:17 +0000 (08:50 +0000)
committerWouter Wijngaards <wouter@nlnetlabs.nl>
Wed, 7 Feb 2007 08:50:17 +0000 (08:50 +0000)
ldns-testns and dig.

git-svn-id: file:///svn/unbound/trunk@71 be551aaa-1e26-0410-a405-d3ace91eadb9

daemon/worker.c
daemon/worker.h
doc/Changelog
testdata/fwd_udp.tpkg [new file with mode: 0644]

index ecc04dfc2f2ac279b70882083999452ddff06acb..47ac7f4227369891a48f51fd8d61d221d1a97332 100644 (file)
@@ -74,6 +74,8 @@ worker_handle_reply(struct comm_point* c, void* arg, int error,
        struct comm_reply* ATTR_UNUSED(reply_info))
 {
        struct worker* worker = (struct worker*)arg;
+       LDNS_ID_SET(ldns_buffer_begin(worker->query_reply.c->buffer),
+               worker->query_id);
        if(error != 0) {
                replyerror(LDNS_RCODE_SERVFAIL, worker);
                return 0;
@@ -96,6 +98,8 @@ static void
 worker_process_query(struct worker* worker) 
 {
        /* query the forwarding address */
+       worker->query_id = LDNS_ID_WIRE(ldns_buffer_begin(
+               worker->query_reply.c->buffer));
        pending_udp_query(worker->back, worker->query_reply.c->buffer, 
                &worker->fwd_addr, worker->fwd_addrlen, UDP_QUERY_TIMEOUT,
                worker_handle_reply, worker);
index baaf756f21888ce884733bfd616b1aef6597e097..34575c12d521ef113a6ef21cfb7a47e909f13958 100644 (file)
@@ -69,6 +69,8 @@ struct worker {
        int num_requests;
        /** our one and only query, packet buffer and where to send. */
        struct comm_reply query_reply;
+       /** id of query */
+       uint16_t query_id;
 
        /** address to forward to */
        struct sockaddr_storage fwd_addr;
index 45291e97af292c5e0e2d826bddd19da2c522bd31..226952be287acb8d5ce44a453f0d423c17b7fecc 100644 (file)
@@ -1,3 +1,9 @@
+7 February 2007: Wouter
+       - return answer with the same ID as query was sent with.
+       - created udp forwarder test. I've done some effort to make it perform
+         quickly. After servers are created, no big sleep statements but
+         it checks the logfiles to see if servers have come up. Takes 0.14s.
+
 6 February 2007: Wouter
        - reviewed code and improved in places.
 
diff --git a/testdata/fwd_udp.tpkg b/testdata/fwd_udp.tpkg
new file mode 100644 (file)
index 0000000..4f1590a
Binary files /dev/null and b/testdata/fwd_udp.tpkg differ