diff options
author | Henryk Plötz <henryk@ploetzli.ch> | 2014-10-03 20:22:01 +0200 |
---|---|---|
committer | Henryk Plötz <henryk@ploetzli.ch> | 2014-10-03 20:29:44 +0200 |
commit | 7f632c0640f174bbbc1deb532e3a3977d595d28a (patch) | |
tree | 3df92847b2e58d2ced6daa00222fb77458023593 /server.c | |
parent | eaaa5b4f9301ae2e5a29dd77616d8e29fd3b2c28 (diff) | |
download | tinydnssec-7f632c0640f174bbbc1deb532e3a3977d595d28a.tar.gz tinydnssec-7f632c0640f174bbbc1deb532e3a3977d595d28a.tar.bz2 |
Apply djbdns-1.05-dnssec.patch
SHA1 62e2ce1d31f1fe908fac84fc8bd049a12621810f, contained in tinydnssec-1.05-1.3.tar.bz2
Source was http://www.tinydnssec.org/download/tinydnssec-1.05-1.3.tar.bz2, SHA1 b33d5c3e0de67f6427aad8c00a99580b59804075
Diffstat (limited to 'server.c')
-rw-r--r-- | server.c | 6 |
1 files changed, 5 insertions, 1 deletions
@@ -1,3 +1,4 @@ +#include "edns0.h" #include "byte.h" #include "case.h" #include "env.h" @@ -63,6 +64,9 @@ static int doit(void) if (header[2] & 126) goto NOTIMP; if (byte_equal(qtype,2,DNS_T_AXFR)) goto NOTIMP; + pos = check_edns0(header, buf, len, pos); + if (!pos) goto NOQ; + case_lowerb(q,dns_domain_length(q)); if (!respond(q,qtype,ip)) { qlog(ip,port,header,q,qtype," - "); @@ -168,7 +172,7 @@ int main() len = socket_recv6(udp53[i],buf,sizeof buf,ip,&port,&ifid); if (len < 0) continue; if (!doit()) continue; - if (response_len > 512) response_tc(); + if (response_len > max_response_len) response_tc(); socket_send6(udp53[i],response,response_len,ip,port,ifid); /* may block for buffer space; if it fails, too bad */ } |