From dd77a1fb9a9ca38a910b1f4e634209b67fcaeb5d Mon Sep 17 00:00:00 2001 From: Wouter Wijngaards Date: Fri, 26 Jan 2018 15:42:27 +0000 Subject: [PATCH] fix id check git-svn-id: file:///svn/unbound/trunk@4456 be551aaa-1e26-0410-a405-d3ace91eadb9 --- services/authzone.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/services/authzone.c b/services/authzone.c index dcdd9d289..a054d8f3c 100644 --- a/services/authzone.c +++ b/services/authzone.c @@ -3075,7 +3075,7 @@ xfr_create_soa_probe_packet(struct auth_xfer* xfr, sldns_buffer* buf, qinfo.qtype = LDNS_RR_TYPE_SOA; qinfo.qclass = xfr->dclass; qinfo_query_encode(buf, &qinfo); - sldns_buffer_write_at(buf, 0, &id, 2); + sldns_buffer_write_u16_at(buf, 0, id); } /** create IXFR/AXFR packet for xfr */ @@ -3107,7 +3107,7 @@ xfr_create_ixfr_packet(struct auth_xfer* xfr, sldns_buffer* buf, uint16_t id) qinfo.qclass = xfr->dclass; qinfo_query_encode(buf, &qinfo); - sldns_buffer_write_at(buf, 0, &id, 2); + sldns_buffer_write_u16_at(buf, 0, id); /* append serial for IXFR */ if(qinfo.qtype == LDNS_RR_TYPE_IXFR) { @@ -3137,7 +3137,6 @@ static int check_packet_ok(sldns_buffer* pkt, uint16_t qtype, struct auth_xfer* xfr, uint32_t* serial) { - uint16_t id; /* parse to see if packet worked, valid reply */ /* check serial number of SOA */ @@ -3145,8 +3144,7 @@ check_packet_ok(sldns_buffer* pkt, uint16_t qtype, struct auth_xfer* xfr, return 0; /* check ID */ - sldns_buffer_read_at(pkt, 0, &id, 2); - if(id != xfr->task_probe->id) + if(LDNS_ID_WIRE(sldns_buffer_begin(pkt)) != xfr->task_probe->id) return 0; /* check flag bits and rcode */