chiark
/
gitweb
/
~mdw
/
adns
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
+ * Added wishlist entry re configurable port no.
[adns]
/
src
/
parse.c
diff --git
a/src/parse.c
b/src/parse.c
index b643e8948815ce6182691b76177c42aba747a676..73f53f79f5a8b7ae80ac2807e572a893ecea9355 100644
(file)
--- a/
src/parse.c
+++ b/
src/parse.c
@@
-8,7
+8,7
@@
*
* It is part of adns, which is
* Copyright (C) 1997-2000 Ian Jackson <ian@davenant.greenend.org.uk>
*
* It is part of adns, which is
* Copyright (C) 1997-2000 Ian Jackson <ian@davenant.greenend.org.uk>
- * Copyright (C) 1999 Tony Finch <dot@dotat.at>
+ * Copyright (C) 1999
-2000
Tony Finch <dot@dotat.at>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@
-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) {
adns_status adns__findlabel_next(findlabel_state *fls,
int *lablen_r, int *labstart_r) {
- int lablen, jump
ed, jump
to;
+ int lablen, jumpto;
const char *dgram;
const char *dgram;
- jumped= 0;
dgram= fls->dgram;
for (;;) {
if (fls->cbyte >= fls->dglen) goto x_truncated;
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;
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);
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 (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:
return adns_s_ok;
x_truncated: