---
name: freebsd-tftp
version: 1.0
origin: net/freebsd-tftp
comment: Upcoming replacement for tftp(1) and tftpd(8)
arch: freebsd:9:x86:64
www: UNKNOWN
maintainer: edwin@FreeBSD.org
prefix: /usr
licenselogic: single
flatsize: 99597
desc: "It all started when we got some new routers, which told me the\nfollowing when
  trying to upload configuration or download images\nfrom it: The TFTP server doesn't
  support the blocksize option.\n\nMy curiousity was triggered, it took me some reading
  of RFCs and\nother documentation to find out what was possible and what could\nbe
  done. Was plain TFTP very simple in its handshake, TFTP with\noptions was kind of
  messy because of its backwards capability: The\nfirst packet returned could either
  be an acknowledgement of options,\nor the first data packet.\n\nGoing through the
  source code of src/libexec/tftpd and going through\nthe code of src/usr.bin/tftp
  showed that there was a lot of duplicate\ncode, and the addition of options would
  only increase the amount\nof duplicate code. After all, both the client and the
  server can\nact as a sender and receiver.\n\nAt the end, it ended up with a nearly
  complete rewrite of the tftp\nclient and server. It has been tested against the
  following TFTP\nclients and servers:\n\n- Itself (yay!)\n- The standard FreeBSD
  tftp client and server\n- The Fedora Core 6 tftp client and server\n- Cisco router
  tftp client\n- Extreme Networks tftp client\n\nIt supports the following RFCs:\n\nRFC1350
  - THE TFTP PROTOCOL (REVISION 2)\nRFC2347 - TFTP Option Extension\nRFC2348 - TFTP
  Blocksize Option\nRFC2349 - TFTP Timeout Interval and Transfer Size Options\nRFC3617
  - Uniform Resource Identifier (URI) Scheme and Applicability\n          Statement
  for the Trivial File Transfer Protocol (TFTP)\n \nIt supports the following unofficial
  TFTP Options as described at\nhttp://www.compuphase.com/tftp.htm:\n \nblksize2 -
  Block size restricted to powers of 2, excluding protocol headers     \nrollover
  - Block counter roll-over (roll back to zero or to one)  \n \nFrom the tftp program
  point of view the following things are changed:\n  \n- New commands: \"blocksize\",
  \"blocksize2\", \"rollover\" and \"options\"\n- Development features: \"debug\"
  and \"packetdrop\" \n  \nIf you try this tftp/tftpd implementation, please let me
  know if \nit works (or doesn't work) and against which implementaion so I can \nget
  a list of confirmed working systems.\n\nAuthor: Edwin Groothuis <edwin@FreeBSD.org>\n"
categories: [net]
files:
  /usr/bin/tftp: 4c539d2f563937a708be83bdfbb06a044ccd409ed59d1eb7c9214ad56054453b
  /usr/libexec/tftpd: 7525820aa1b11ba9524d30729c512163c28125c1497b76a63231cb950e834e55
  /usr/share/man/man1/tftp.1.gz: fc29b95c51fcc222d72c20891014b3a26718d90d072f1c3fc1f39e350cf047ab
  /usr/share/man/man8/tftpd.8.gz: 660972b94cab0d67b783a0b748db53e155cd96fdda567ce1553cb8154741fa03
scripts: {}
