+2005-10-17 Diane Bruce <db@db.net>
+
+ * ircd/ircd_res.c: Don't send retries if the client did
+ not resolve (SERVFAIL); this fixes a bug causing a flurry
+ of retries in this case
+
2005-10-14 Michael Poole <mdpoole@troilus.org>
* include/patchlevel.h (PATCHLEVEL): Update to pre02.
if ((header->rcode != NO_ERRORS) || (header->ancount == 0))
{
if (SERVFAIL == header->rcode)
- resend_query(request);
+ {
+ /*
+ * If a bad error was returned, we stop here and don't send
+ * send any more (no retries granted).
+ */
+ Debug((DEBUG_DNS, "Request %p has bad response (state %d type %d rcode %d)", request, request->state, request->type, header->rcode));
+ (*request->callback)(request->callback_ctx, NULL, NULL);
+ rem_request(request);
+ }
else
{
/*
request->timeout += feature_int(FEAT_IRCD_RES_TIMEOUT);
resend_query(request);
}
- else
- {
- /*
- * If a bad error was returned, we stop here and don't send
- * send any more (no retries granted).
- */
- Debug((DEBUG_DNS, "Request %p has bad response (state %d type %d rcode %d)", request, request->state, request->type, header->rcode));
- (*request->callback)(request->callback_ctx, NULL, NULL);
- rem_request(request);
- }
}
return;