]> git.ipfire.org Git - thirdparty/knot-resolver.git/commitdiff
lib/resolve: increased buflen to accomodate edns0/dnssec
authorMarek Vavruša <marek.vavrusa@nic.cz>
Sun, 3 May 2015 18:08:37 +0000 (20:08 +0200)
committerMarek Vavruša <marek.vavrusa@nic.cz>
Sun, 3 May 2015 18:08:37 +0000 (20:08 +0200)
daemon/io.c
daemon/worker.c
lib/resolve.c

index 67b927cc353fdccf270b44456b29e83ade93627e..298fa0d4523b337e51d290b04b964ab196215281 100644 (file)
@@ -54,6 +54,7 @@ void udp_recv(uv_udp_t *handle, ssize_t nread, const uv_buf_t *buf,
        uv_loop_t *loop = handle->loop;
        struct worker_ctx *worker = loop->data;
        knot_pkt_t *query = knot_pkt_new(buf->base, nread, worker->mm);
+       query->max_size = sizeof(worker->bufs.wire);
        worker_exec(worker, (uv_handle_t *)handle, query, addr);
        knot_pkt_free(&query);
 }
@@ -103,6 +104,7 @@ static void tcp_recv(uv_stream_t *handle, ssize_t nread, const uv_buf_t *buf)
        }
 
        knot_pkt_t *query = knot_pkt_new(buf->base + 2, nbytes, worker->mm);
+       query->max_size = sizeof(worker->bufs.wire);
        worker_exec(worker, (uv_handle_t *)handle, query, NULL);
        knot_pkt_free(&query);
 }
index abd8cb5ead3e7603d2c13ae7c8fcdc0cbe5ba265..5a812309fdd47689edd380ade4f8920e15b6960b 100644 (file)
@@ -85,7 +85,7 @@ static struct qr_task *qr_task_create(struct worker_ctx *worker, uv_handle_t *ha
        }
 
        /* Create buffers */
-       knot_pkt_t *next_query = knot_pkt_new(NULL, KNOT_WIRE_MIN_PKTSIZE, &task->req.pool);
+       knot_pkt_t *next_query = knot_pkt_new(NULL, KNOT_EDNS_MAX_UDP_PAYLOAD, &task->req.pool);
        knot_pkt_t *answer = knot_pkt_new(NULL, KNOT_WIRE_MAX_PKTSIZE, &task->req.pool);
        if (!next_query || !answer) {
                mp_delete(pool.ctx);
index 4ac474df109ed4e37ff32f78fab356d986abaa42..a9580266ae606560f95bf72753e77252d5f07e69 100644 (file)
@@ -141,7 +141,7 @@ int kr_resolve(struct kr_context* ctx, knot_pkt_t *answer,
        /* Create memory pool */
        mm_ctx_t pool;
        mm_ctx_mempool(&pool, MM_DEFAULT_BLKSIZE);
-       knot_pkt_t *query = knot_pkt_new(NULL, KNOT_WIRE_MIN_PKTSIZE, &pool);
+       knot_pkt_t *query = knot_pkt_new(NULL, KNOT_EDNS_MAX_UDP_PAYLOAD, &pool);
        knot_pkt_t *resp = knot_pkt_new(NULL, KNOT_WIRE_MAX_PKTSIZE, &pool);
        if (!query || !resp) {
                mp_delete(pool.ctx);