opnsense-ports/dns/dnscrypt-proxy/files/patch-src_proxy_edns.c
Franco Fichtner 2e16cbf095 dns/dnscrypt-proxy: sync with upstream
Taken from: FreeBSD
2016-02-15 04:37:15 +01:00

34 lines
1,011 B
C

# Origin: https://github.com/jedisct1/dnscrypt-proxy/commit/a193c6ff1ca2b24bb283f0d64bf8f5faefc0def1
# Subject: Repair edns0 support
--- src/proxy/edns.c.orig 2016-02-02 15:42:19 UTC
+++ src/proxy/edns.c
@@ -10,7 +10,7 @@
#include "dnscrypt_proxy.h"
#include "edns.h"
-#define DNS_MAX_HOSTNAME_LEN 255U
+#define DNS_MAX_HOSTNAME_LEN 256U
static int
_skip_name(const uint8_t * const dns_packet, const size_t dns_packet_len,
@@ -26,9 +26,6 @@ _skip_name(const uint8_t * const dns_pac
}
for (;;) {
name_component_len = dns_packet[offset];
- if (name_component_len == 0U) {
- break;
- }
if ((name_component_len & 0xC0) == 0xC0) {
name_component_len = 1U;
}
@@ -40,6 +37,9 @@ _skip_name(const uint8_t * const dns_pac
return -1;
}
offset += name_component_len + 1U;
+ if (name_component_len == 0U) {
+ break;
+ }
}
if (offset >= dns_packet_len) {
return -1;