On Mon, Apr 10, 2023 at 10:17:08AM +0200, Peter J. Philipp wrote:
> On Sat, Apr 08, 2023 at 08:28:05PM +0200, Peter J. Philipp wrote:
> /cut
> > Apr  6 14:43:05 polarstern unwind[97893]: bad packet: too large: 65552 - 
> > pool.ntp.org. IN AAAA
> > Apr  6 14:46:25 polarstern unwind[97893]: bad packet: too large: 65552 - 
> > pool.ntp.org.mainrechner.de. IN AAAA
> 
> /cut
> > Any thoughts?
> > 
> > Best Regards,
> > -peter
> 
> OK I traced this log down, by mere accident.  It is a condition when the
> forwarder isn't listening on TCP (or UDP).  Perhaps we need a better syslog
> for this, I'll see later today if I can produce a patch.
> 
> Best Regards,
> -peter

Alright, I have a patch together with the first patch that I sent.  I tested 
this by killing my forwarder and pinging centroid.eu (my site), the error 
message is correct in my view.   But you're the judge of that.

---------------->
Apr 13 20:53:26 polarstern unwind[73363]: terminating
Apr 13 20:53:27 polarstern resolvd[81113]: rebuilding: new unwind
Apr 13 20:54:12 polarstern unwind[16252]: remote nameserver had no listening 
port: centroid.eu. IN A
^Z[1] + Suspended            tail -f /var/log/daemon 
root@polarstern# dddctl start
starting delphinusdnsd
root@polarstern# fg
tail -f /var/log/daemon 
<----------------
(after this restart of delphinusdnsd forwarder this pinged fine, no more logs)

The patch is below my .signature,

Best Regards,
-peter


Index: resolver.c
===================================================================
RCS file: /cvs/src/sbin/unwind/resolver.c,v
retrieving revision 1.158
diff -u -p -u -r1.158 resolver.c
--- resolver.c  8 Feb 2023 08:01:25 -0000       1.158
+++ resolver.c  13 Apr 2023 18:51:01 -0000
@@ -954,13 +954,19 @@ resolve_done(struct uw_resolver *res, vo
        running_res = --rq->running;
 
        if (answer_len < LDNS_HEADER_SIZE) {
-               log_warnx("bad packet: too short");
+               if (answer_len != -1)
+                       log_warnx("bad packet: too short");
                goto servfail;
        }
 
        if (answer_len > UINT16_MAX) {
-               log_warnx("bad packet: too large: %d - %s", answer_len,
-                   query_imsg2str(query_imsg));
+               if (answer_len == 65552) {
+                       log_warnx("remote nameserver had no listening port: %s",
+                               query_imsg2str(query_imsg);
+               } else {
+                       log_warnx("bad packet: too large: %d - %s", answer_len,
+                               query_imsg2str(query_imsg));
+               }
                goto servfail;
        }
        answer_header->answer_len = answer_len;

Reply via email to