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>