struct edns_data edns;
if(error != NETEVENT_NOERROR) {
- log_err("handle request called with err=%d", error);
+ /* some bad tcp query DNS formats give these error calls */
+ verbose(VERB_ALGO, "handle request called with err=%d", error);
return 0;
}
if((ret=worker_check_request(c->buffer, worker)) != 0) {
15 October 2007: Wouter
- nicer warning.
- fix IP6 TCP, wrong definition check. With test package.
+ - fixup the fact that the query section was not compressed to,
+ the code was there but was called by value instead of by reference.
+ And test for the case, uses xxd and nc.
8 October 2007: Wouter
- --disable-rpath option in configure for 64bit systems with
NEED_SPLINT='00-lint.tpkg'
NEED_DOXYGEN='01-doc.tpkg'
NEED_LDNS_TESTNS='fwd_no_edns.tpkg fwd_tcp_tc.tpkg fwd_tcp.tpkg fwd_three_service.tpkg fwd_three.tpkg fwd_ttlexpire.tpkg fwd_udp.tpkg'
+NEED_XXD='fwd_compress_c00c.tpkg'
+NEED_NC='fwd_compress_c00c.tpkg'
cd testdata;
sh ../testcode/mini_tpkg.sh clean
SKIP=1;
fi
fi
+ if echo $NEED_XXD | grep $test >/dev/null; then
+ if test ! -x "`which xxd`"; then
+ SKIP=1;
+ fi
+ fi
+ if echo $NEED_NC | grep $test >/dev/null; then
+ if test ! -x "`which nc`"; then
+ SKIP=1;
+ fi
+ fi
if test $SKIP -eq 0; then
echo $test
sh ../testcode/mini_tpkg.sh -a ../.. exe $test
/** store query section in wireformat buffer, return RETVAL */
static int
-insert_query(struct query_info* qinfo, struct compress_tree_node* tree,
+insert_query(struct query_info* qinfo, struct compress_tree_node** tree,
ldns_buffer* buffer, struct region* region)
{
if(ldns_buffer_remaining(buffer) <
qinfo->qname_len+sizeof(uint16_t)*2)
return RETVAL_TRUNC; /* buffer too small */
- if(!compress_tree_store(&tree, qinfo->qname,
+ if(!compress_tree_store(tree, qinfo->qname,
dname_count_labels(qinfo->qname),
ldns_buffer_position(buffer), region, NULL))
return RETVAL_OUTMEM;
/* insert query section */
if(rep->qdcount) {
- if((r=insert_query(qinfo, tree, buffer, region)) !=
+ if((r=insert_query(qinfo, &tree, buffer, region)) !=
RETVAL_OK) {
if(r == RETVAL_TRUNC) {
/* create truncated message */