From c73ce96b569e2f10dff64b7dc0bd271972674c2a Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Wed, 16 Jul 2014 18:04:14 +0200 Subject: dns-packet: allow dynamic resizing of DNS packets --- src/resolve/resolved-dns-packet.h | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src/resolve/resolved-dns-packet.h') diff --git a/src/resolve/resolved-dns-packet.h b/src/resolve/resolved-dns-packet.h index 77edc05a19..10f8f96915 100644 --- a/src/resolve/resolved-dns-packet.h +++ b/src/resolve/resolved-dns-packet.h @@ -41,14 +41,19 @@ struct DnsPacketHeader { }; #define DNS_PACKET_HEADER_SIZE sizeof(DnsPacketHeader) + +/* The various DNS protocols deviate in how large a packet can grow, + but the TCP transport has a 16bit size field, hence that appears to + be the maximum. */ +#define DNS_PACKET_SIZE_MAX 0xFFFF #define DNS_PACKET_SIZE_START 512 struct DnsPacket { int n_ref; + int ifindex; size_t size, allocated, rindex; Hashmap *names; /* For name compression */ void *data; - int ifindex; }; static inline uint8_t* DNS_PACKET_DATA(DnsPacket *p) { -- cgit v1.2.3-54-g00ecf