diff options
-rw-r--r-- | net/Makefile | 1 | ||||
-rw-r--r-- | net/freebsd-tftp/Makefile | 31 | ||||
-rw-r--r-- | net/freebsd-tftp/distinfo | 3 | ||||
-rw-r--r-- | net/freebsd-tftp/pkg-descr | 52 |
4 files changed, 87 insertions, 0 deletions
diff --git a/net/Makefile b/net/Makefile index d7bf2b42145b..6beee2cf2c3e 100644 --- a/net/Makefile +++ b/net/Makefile @@ -139,6 +139,7 @@ SUBDIR += fpc-pcap SUBDIR += fping SUBDIR += fping+ipv6 + SUBDIR += freebsd-tftp SUBDIR += freebsd-uucp SUBDIR += freedbd SUBDIR += freenet6 diff --git a/net/freebsd-tftp/Makefile b/net/freebsd-tftp/Makefile new file mode 100644 index 000000000000..396f8d330044 --- /dev/null +++ b/net/freebsd-tftp/Makefile @@ -0,0 +1,31 @@ +# Ports collection makefile for: net/freebsd-tftp +# Whom: Edwin Groothuis <edwin@FreeBSD.org> +# Date created: 2008-01-30 +# +# $FreeBSD$ +# + +PORTNAME= freebsd-tftp +PORTVERSION= 1.0 +CATEGORIES= net +MASTER_SITES= http://www.mavetju.org/download/ + +MAINTAINER= edwin@FreeBSD.org +COMMENT= Upcoming replacement for tftp(1) and tftpd(8) + +PLIST_FILES= bin/tftp libexec/tftpd + +WRKSRC= ${WRKDIR} +NOPACKAGE= Installs software in /usr/libexec and /usr/bin +PREFIX= /usr + +MAN8= tftpd.8 +MAN1= tftp.1 + +do-install: + ${INSTALL_PROGRAM} ${WRKSRC}/usr.bin/tftp/tftp ${PREFIX}/bin + ${INSTALL_PROGRAM} ${WRKSRC}/libexec/tftpd/tftpd ${PREFIX}/libexec + ${INSTALL_MAN} ${WRKSRC}/usr.bin/tftp/tftp.1 ${PREFIX}/share/man/man1 + ${INSTALL_MAN} ${WRKSRC}/libexec/tftpd/tftpd.8 ${PREFIX}/share/man/man8 + +.include <bsd.port.mk> diff --git a/net/freebsd-tftp/distinfo b/net/freebsd-tftp/distinfo new file mode 100644 index 000000000000..49f0c45ca785 --- /dev/null +++ b/net/freebsd-tftp/distinfo @@ -0,0 +1,3 @@ +MD5 (freebsd-tftp-1.0.tar.gz) = 07478634e05436c572da0b6d06465430 +SHA256 (freebsd-tftp-1.0.tar.gz) = 4d177d70e5b34c3ec1da5a0e2d5a3748d8c98dee2453674da5e4eab4f211ad63 +SIZE (freebsd-tftp-1.0.tar.gz) = 29263 diff --git a/net/freebsd-tftp/pkg-descr b/net/freebsd-tftp/pkg-descr new file mode 100644 index 000000000000..d73244644e08 --- /dev/null +++ b/net/freebsd-tftp/pkg-descr @@ -0,0 +1,52 @@ +It all started when we got some new routers, which told me the +following when trying to upload configuration or download images +from it: The TFTP server doesn't support the blocksize option. + +My curiousity was triggered, it took me some reading of RFCs and +other documentation to find out what was possible and what could +be done. Was plain TFTP very simple in its handshake, TFTP with +options was kind of messy because of its backwards capability: The +first packet returned could either be an acknowledgement of options, +or the first data packet. + +Going through the source code of src/libexec/tftpd and going through +the code of src/usr.bin/tftp showed that there was a lot of duplicate +code, and the addition of options would only increase the amount +of duplicate code. After all, both the client and the server can +act as a sender and receiver. + +At the end, it ended up with a nearly complete rewrite of the tftp +client and server. It has been tested against the following TFTP +clients and servers: + +- Itself (yay!) +- The standard FreeBSD tftp client and server +- The Fedora Core 6 tftp client and server +- Cisco router tftp client +- Extreme Networks tftp client + +It supports the following RFCs: + +RFC1350 - THE TFTP PROTOCOL (REVISION 2) +RFC2347 - TFTP Option Extension +RFC2348 - TFTP Blocksize Option +RFC2349 - TFTP Timeout Interval and Transfer Size Options +RFC3617 - Uniform Resource Identifier (URI) Scheme and Applicability + Statement for the Trivial File Transfer Protocol (TFTP) + +It supports the following unofficial TFTP Options as described at +http://www.compuphase.com/tftp.htm: + +blksize2 - Block size restricted to powers of 2, excluding protocol headers +rollover - Block counter roll-over (roll back to zero or to one) + +From the tftp program point of view the following things are changed: + +- New commands: "blocksize", "blocksize2", "rollover" and "options" +- Development features: "debug" and "packetdrop" + +If you try this tftp/tftpd implementation, please let me know if +it works (or doesn't work) and against which implementaion so I can +get a list of confirmed working systems. + +Author: Edwin Groothuis <edwin@FreeBSD.org> |