Fix logging in cf5984367bc6a949e3803a576512c5a7bc48ebab
diff --git a/src/rfc1035.c b/src/rfc1035.c
index 6038337..c2208e4 100644
--- a/src/rfc1035.c
+++ b/src/rfc1035.c
@@ -1335,7 +1335,6 @@
 		    {
 		      unsigned long ttl = daemon->local_ttl;
 		      int ok = 1;
-		      log_query(F_CONFIG | F_RRNAME, name, NULL, "<TXT>");
 #ifndef NO_ID
 		      /* Dynamically generate stat record */
 		      if (t->stat != 0)
@@ -1345,11 +1344,14 @@
 			    ok = 0;
 			}
 #endif
-		      if (ok && add_resource_record(header, limit, &trunc, nameoffset, &ansp, 
-						    ttl, NULL,
-						    T_TXT, t->class, "t", t->len, t->txt))
-			anscount++;
-
+		      if (ok)
+			{
+			  log_query(F_CONFIG | F_RRNAME, name, NULL, "<TXT>");
+			  if (add_resource_record(header, limit, &trunc, nameoffset, &ansp, 
+						  ttl, NULL,
+						  T_TXT, t->class, "t", t->len, t->txt))
+			    anscount++;
+			}
 		    }
 		}
 	    }
@@ -1357,12 +1359,19 @@
 
       if (qclass == C_CHAOS)
 	{
-	  /* don't forward *.bind and *.server chaos queries */
+	  /* don't forward *.bind and *.server chaos queries - always reply with NOTIMP */
 	  if (hostname_issubdomain("bind", name) || hostname_issubdomain("server", name))
 	    {
 	      if (!ans)
-		notimp = 1, auth = 0;
-	      ans = 1;
+		{
+		  notimp = 1, auth = 0;
+		  if (!dryrun)
+		    {
+		       addr.addr.rcode.rcode = NOTIMP;
+		       log_query(F_CONFIG | F_RCODE, name, &addr, NULL);
+		    }
+		  ans = 1;
+		}
 	    }
 	}