and not returned to the client.
- if glue times out, refetch by asking parent of delegation again.
Much like asking for DS at the parent side.
+ - TODO items from forgery-resilience draft.
+ and on memory handling improvements.
+ - renamed module_event_timeout to module_event_noreply.
19 July 2007: Wouter
- shuffle NS selection when getting nameserver target addresses.
o scrubber has slow pkt_subdomain and pkt_strict_subdomain functions.
o get serverselection algorithm out of local optimum.
o donotqueryaddresses allow specification of subnets, use trie to store.
+o memory profile; and if needed put serviced queries under qstate->region
+ and special purpose region code, reuse blocks, shrink if too big.
+o check query, option to enforce presence of qdsection in noerror answers.
+o configuration option where port 53 is used for send and receive, no other
+ ports are used.
verbose(VERB_ALGO, "process_response: new external response event");
iq->response = NULL;
iq->state = QUERY_RESP_STATE;
- if(event == module_event_timeout || event == module_event_error) {
+ if(event == module_event_noreply || event == module_event_error) {
goto handle_it;
}
if(event != module_event_reply || !qstate->reply) {
{
e->qstate->reply = reply;
mesh_run(mesh, e->qstate->mesh_info,
- is_ok?module_event_reply:module_event_timeout, e);
+ is_ok?module_event_reply:module_event_noreply, e);
}
struct mesh_state*
case module_event_new: return "module_event_new";
case module_event_pass: return "module_event_pass";
case module_event_reply: return "module_event_reply";
- case module_event_timeout: return "module_event_timeout";
+ case module_event_noreply: return "module_event_noreply";
case module_event_error: return "module_event_error";
}
return "bad_event_value";
module_event_pass,
/** reply inbound from server */
module_event_reply,
- /** timeout */
- module_event_timeout,
+ /** no reply, timeout or other error */
+ module_event_noreply,
/** error */
module_event_error
};