adns (0.6) unstable; urgency=high
- Bugfixes:
+ Core library bugfixes:
* Do not fail assertion if _qf_owner, _qf_search, domain ends in `.'.
* Avoid infinite timeouts, causing lockup, when they should be zero !
* TCP handling revamped (avoids recursive-invocation problems).
+ * Two memory leaks (one in all queries, one in cancelled ones) fixed.
+
+ Test and client program bug and portability fixes:
* Dynamic library building works properly.
* adnshost prints somewhat better messages about some wrong usages.
- * Include stdlib.h in adnshost.h.
+ * Include <stdlib.h> and <sys/types.h> in adnshost.h.
* adnslogres: parsing and error checking improved (Tony Finch).
* Regresion tests can cope with zero-length reads.
adns (0.6) unstable; urgency=high
adns (0.6) unstable; urgency=high
* Do not fail assertion if _qf_owner, _qf_search, domain ends in `.'.
* Avoid infinite timeouts, causing lockup, when they should be zero !
* TCP handling revamped (avoids recursive-invocation problems).
* Do not fail assertion if _qf_owner, _qf_search, domain ends in `.'.
* Avoid infinite timeouts, causing lockup, when they should be zero !
* TCP handling revamped (avoids recursive-invocation problems).
+ * Two memory leaks (one in all queries, one in cancelled ones) fixed.
+
+ Test and client program bug and portability fixes:
* Dynamic library building works properly.
* adnshost prints somewhat better messages about some wrong usages.
* Dynamic library building works properly.
* adnshost prints somewhat better messages about some wrong usages.
- * Include stdlib.h in adnshost.h.
+ * Include <stdlib.h> and <sys/types.h> in adnshost.h.
* adnslogres: parsing and error checking improved (Tony Finch).
* Regresion tests can cope with zero-length reads.
* adnslogres: parsing and error checking improved (Tony Finch).
* Regresion tests can cope with zero-length reads.
#include <stdlib.h>
#include <assert.h>
#include <stdlib.h>
#include <assert.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
for (an= qu->allocations.head; an; an= ann) { ann= an->next; free(an); }
LIST_INIT(qu->allocations);
adns__vbuf_free(&qu->vb);
for (an= qu->allocations.head; an; an= ann) { ann= an->next; free(an); }
LIST_INIT(qu->allocations);
adns__vbuf_free(&qu->vb);
}
void adns_cancel(adns_query qu) {
}
void adns_cancel(adns_query qu) {
LIST_UNLINK(qu->ads->childw,parent);
qu->ctx.callback(parent,qu);
free_query_allocs(qu);
LIST_UNLINK(qu->ads->childw,parent);
qu->ctx.callback(parent,qu);
free_query_allocs(qu);
free(qu);
} else {
makefinal_query(qu);
free(qu);
} else {
makefinal_query(qu);