cvs commit: ports/dns/dnrd Makefile ports/dns/dnrd/files patch-main.c patch-udp.c

Edwin Groothuis edwin at FreeBSD.org
Fri Jan 2 21:42:44 PST 2004


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 at 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)


More information about the cvs-all mailing list