272c366e05
removed dnsmasq.patch as the options were included upstream already. git-svn-id: svn://svn.openwrt.org/openwrt/packages@15612 3c298f89-4303-0410-b956-a3cf2f4a3e73
48 lines
1.7 KiB
Diff
48 lines
1.7 KiB
Diff
--- djbdns-1.05.original/log.h 2001-02-11 21:11:45.000000000 +0000
|
|
+++ djbdns-1.05/log.h 2003-07-29 17:12:44.000000000 +0100
|
|
@@ -23,6 +23,7 @@
|
|
extern void log_nodata(const char *,const char *,const char *,unsigned int);
|
|
extern void log_servfail(const char *);
|
|
extern void log_lame(const char *,const char *,const char *);
|
|
+extern void log_ignore_referral(const char *,const char *,const char *);
|
|
|
|
extern void log_rr(const char *,const char *,const char *,const char *,unsigned int,unsigned int);
|
|
extern void log_rrns(const char *,const char *,const char *,unsigned int);
|
|
--- djbdns-1.05.original/log.c 2001-02-11 21:11:45.000000000 +0000
|
|
+++ djbdns-1.05/log.c 2003-07-29 17:12:33.000000000 +0100
|
|
@@ -196,6 +196,13 @@
|
|
line();
|
|
}
|
|
|
|
+void log_ignore_referral(const char server[4],const char * control, const char *referral)
|
|
+{
|
|
+ string("ignored referral "); ip(server); space();
|
|
+ name(control); space(); name(referral);
|
|
+ line();
|
|
+}
|
|
+
|
|
void log_servfail(const char *dn)
|
|
{
|
|
const char *x = error_str(errno);
|
|
--- djbdns-1.05.original/query.c 2001-02-11 21:11:45.000000000 +0000
|
|
+++ djbdns-1.05/query.c 2003-07-29 17:13:13.000000000 +0100
|
|
@@ -781,6 +781,18 @@
|
|
|
|
|
|
if (!dns_domain_suffix(d,referral)) goto DIE;
|
|
+
|
|
+ /* In strict "forwardonly" mode, we don't, as the manual states,
|
|
+ ** contact a chain of servers according to "NS" resource records.
|
|
+ ** We don't obey any referral responses, therefore. Instead, we
|
|
+ ** eliminate the server from the list and try the next one.
|
|
+ */
|
|
+ if (flagforwardonly) {
|
|
+ log_ignore_referral(whichserver,control,referral);
|
|
+ byte_zero(whichserver,4);
|
|
+ goto HAVENS;
|
|
+ }
|
|
+
|
|
control = d + dns_domain_suffixpos(d,referral);
|
|
z->control[z->level] = control;
|
|
byte_zero(z->servers[z->level],64);
|