Date: Fri, 2 Jan 2004 21:42:42 -0800 (PST) From: Edwin Groothuis <edwin@FreeBSD.org> To: ports-committers@FreeBSD.org, cvs-ports@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: ports/dns/dnrd Makefile ports/dns/dnrd/files patch-main.c patch-udp.c Message-ID: <200401030542.i035ggLB022131@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
edwin 2004/01/02 21:42:42 PST
FreeBSD ports repository
Modified files:
dns/dnrd Makefile
dns/dnrd/files patch-main.c
Added files:
dns/dnrd/files patch-udp.c
Log:
dns/dnrd: recv_addr init wrong and 512 byte udp packets dropped
There are a few bugs in dnrd that should probably be fixed
by the author but could be made to work on bsd:
1. Initialization in common.h of recv_addr is broken,
causing at least the '-a' switch not to work. Instead of
assuming positions of fields in the struct across platforms
I thought it safer to do a standard initialization in main().
2. The buffer overflow code in udp.c:dnsrecv() is off by
one, rejecting messages where the size exactly fills the
available buffer. I also changed to the calls to dnsrecv
to pass 512 as the max size instead of the buffers that
seem to be padded by 4 bytes for a reason I don't understand.
This causes a calling named to resend packets. Eventually
one seems to get through but response times can be painfully
slow.
PR: ports/41128
Submitted by: Michael C. Adler <mad1@tapil.com>
Revision Changes Path
1.9 +7 -4 ports/dns/dnrd/Makefile
1.2 +15 -4 ports/dns/dnrd/files/patch-main.c
1.1 +29 -0 ports/dns/dnrd/files/patch-udp.c (new)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200401030542.i035ggLB022131>
