summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorian <ian>2000-09-16 18:03:37 +0000
committerian <ian>2000-09-16 18:03:37 +0000
commit6b891b5ad1ef50f90b188d46082e6bac11e758f4 (patch)
tree3410cfe390b1863b8676a95e678c0e3564b1efb6 /src
parent73eb26037c46bebeaa30ba38eba887216f0e9a6e (diff)
+ * Fix incorrect `compressed datagram contains loop' error.
@@ -1,6 +1,7 @@ Bugfixes: + * Fix incorrect `compressed datagram contains loop' error.
Diffstat (limited to 'src')
-rw-r--r--src/parse.c8
1 files changed, 1 insertions, 7 deletions
diff --git a/src/parse.c b/src/parse.c
index b643e89..12200ac 100644
--- a/src/parse.c
+++ b/src/parse.c
@@ -69,10 +69,9 @@ void adns__findlabel_start(findlabel_state *fls, adns_state ads,
adns_status adns__findlabel_next(findlabel_state *fls,
int *lablen_r, int *labstart_r) {
- int lablen, jumped, jumpto;
+ int lablen, jumpto;
const char *dgram;
- jumped= 0;
dgram= fls->dgram;
for (;;) {
if (fls->cbyte >= fls->dglen) goto x_truncated;
@@ -80,10 +79,6 @@ adns_status adns__findlabel_next(findlabel_state *fls,
GET_B(fls->cbyte,lablen);
if (!(lablen & 0x0c0)) break;
if ((lablen & 0x0c0) != 0x0c0) return adns_s_unknownformat;
- if (jumped++) {
- adns__diag(fls->ads,fls->serv,fls->qu,"compressed datagram contains loop");
- return adns_s_invalidresponse;
- }
if (fls->cbyte >= fls->dglen) goto x_truncated;
if (fls->cbyte >= fls->max) goto x_badresponse;
GET_B(fls->cbyte,jumpto);
@@ -104,7 +99,6 @@ adns_status adns__findlabel_next(findlabel_state *fls,
if (fls->dmend_r) *(fls->dmend_r)= fls->cbyte;
}
*lablen_r= lablen;
-/*if (labstart_r) fprintf(stderr,"label %d >%.*s<\n",lablen,lablen,fls->dgram+*labstart_r);*/
return adns_s_ok;
x_truncated: