head	1.17;
access;
symbols
	RELENG_8_4:1.17.0.2
	RELENG_9_1_0_RELEASE:1.15.2.1.4.2
	RELENG_9_1:1.15.2.1.0.4
	RELENG_9_1_BP:1.15.2.1
	RELENG_8_3_0_RELEASE:1.10.2.4.4.1
	RELENG_8_3:1.10.2.4.0.4
	RELENG_8_3_BP:1.10.2.4
	RELENG_9_0_0_RELEASE:1.15.2.1.2.1
	RELENG_9_0:1.15.2.1.0.2
	RELENG_9_0_BP:1.15.2.1
	RELENG_9:1.15.0.2
	RELENG_9_BP:1.15
	RELENG_7_4_0_RELEASE:1.9.24.4.2.1
	RELENG_8_2_0_RELEASE:1.10.2.4.2.1
	RELENG_7_4:1.9.24.4.0.2
	RELENG_7_4_BP:1.9.24.4
	RELENG_8_2:1.10.2.4.0.2
	RELENG_8_2_BP:1.10.2.4
	RELENG_8_1_0_RELEASE:1.10.2.1.4.1
	RELENG_8_1:1.10.2.1.0.4
	RELENG_8_1_BP:1.10.2.1
	RELENG_7_3_0_RELEASE:1.9.36.1
	RELENG_7_3:1.9.0.36
	RELENG_7_3_BP:1.9
	RELENG_8_0_0_RELEASE:1.10.2.1.2.1
	RELENG_8_0:1.10.2.1.0.2
	RELENG_8_0_BP:1.10.2.1
	RELENG_8:1.10.0.2
	RELENG_8_BP:1.10
	RELENG_7_2_0_RELEASE:1.9.34.1
	RELENG_7_2:1.9.0.34
	RELENG_7_2_BP:1.9
	RELENG_7_1_0_RELEASE:1.9.32.1
	RELENG_6_4_0_RELEASE:1.9.30.1
	RELENG_7_1:1.9.0.32
	RELENG_7_1_BP:1.9
	RELENG_6_4:1.9.0.30
	RELENG_6_4_BP:1.9
	RELENG_7_0_0_RELEASE:1.9
	RELENG_6_3_0_RELEASE:1.9
	RELENG_7_0:1.9.0.28
	RELENG_7_0_BP:1.9
	RELENG_6_3:1.9.0.26
	RELENG_6_3_BP:1.9
	RELENG_7:1.9.0.24
	RELENG_7_BP:1.9
	RELENG_6_2_0_RELEASE:1.9
	RELENG_6_2:1.9.0.22
	RELENG_6_2_BP:1.9
	RELENG_5_5_0_RELEASE:1.9
	RELENG_5_5:1.9.0.20
	RELENG_5_5_BP:1.9
	RELENG_6_1_0_RELEASE:1.9
	RELENG_6_1:1.9.0.18
	RELENG_6_1_BP:1.9
	RELENG_6_0_0_RELEASE:1.9
	RELENG_6_0:1.9.0.16
	RELENG_6_0_BP:1.9
	RELENG_6:1.9.0.14
	RELENG_6_BP:1.9
	RELENG_5_4_0_RELEASE:1.9
	RELENG_5_4:1.9.0.12
	RELENG_5_4_BP:1.9
	RELENG_4_11_0_RELEASE:1.7.2.1
	RELENG_4_11:1.7.2.1.0.16
	RELENG_4_11_BP:1.7.2.1
	RELENG_5_3_0_RELEASE:1.9
	RELENG_5_3:1.9.0.10
	RELENG_5_3_BP:1.9
	RELENG_5:1.9.0.8
	RELENG_5_BP:1.9
	RELENG_4_10_0_RELEASE:1.7.2.1
	RELENG_4_10:1.7.2.1.0.14
	RELENG_4_10_BP:1.7.2.1
	RELENG_5_2_1_RELEASE:1.9
	RELENG_5_2_0_RELEASE:1.9
	RELENG_5_2:1.9.0.6
	RELENG_5_2_BP:1.9
	RELENG_4_9_0_RELEASE:1.7.2.1
	RELENG_4_9:1.7.2.1.0.12
	RELENG_4_9_BP:1.7.2.1
	RELENG_5_1_0_RELEASE:1.9
	RELENG_5_1:1.9.0.4
	RELENG_5_1_BP:1.9
	RELENG_4_8_0_RELEASE:1.7.2.1
	RELENG_4_8:1.7.2.1.0.10
	RELENG_4_8_BP:1.7.2.1
	RELENG_5_0_0_RELEASE:1.9
	RELENG_5_0:1.9.0.2
	RELENG_5_0_BP:1.9
	RELENG_4_7_0_RELEASE:1.7.2.1
	RELENG_4_7:1.7.2.1.0.8
	RELENG_4_7_BP:1.7.2.1
	RELENG_4_6_2_RELEASE:1.7.2.1
	RELENG_4_6_1_RELEASE:1.7.2.1
	RELENG_4_6_0_RELEASE:1.7.2.1
	RELENG_4_6:1.7.2.1.0.6
	RELENG_4_6_BP:1.7.2.1
	RELENG_4_5_0_RELEASE:1.7.2.1
	RELENG_4_5:1.7.2.1.0.4
	RELENG_4_5_BP:1.7.2.1
	RELENG_4_4_0_RELEASE:1.7.2.1
	RELENG_4_4:1.7.2.1.0.2
	RELENG_4_4_BP:1.7.2.1
	RELENG_4_3_0_RELEASE:1.7
	RELENG_4_3:1.7.0.4
	RELENG_4_3_BP:1.7
	RELENG_4_2_0_RELEASE:1.7
	RELENG_4_1_1_RELEASE:1.7
	PRE_SMPNG:1.7
	RELENG_4_1_0_RELEASE:1.7
	RELENG_3_5_0_RELEASE:1.5.2.2
	RELENG_4_0_0_RELEASE:1.7
	RELENG_4:1.7.0.2
	RELENG_4_BP:1.7
	RELENG_3_4_0_RELEASE:1.5.2.2
	RELENG_3_3_0_RELEASE:1.5.2.2
	RELENG_3_2_PAO:1.5.2.1.0.2
	RELENG_3_2_PAO_BP:1.5.2.1
	RELENG_3_2_0_RELEASE:1.5.2.1
	RELENG_3_1_0_RELEASE:1.5
	RELENG_3:1.5.0.2
	RELENG_3_BP:1.5
	RELENG_2_2_8_RELEASE:1.3
	RELENG_3_0_0_RELEASE:1.5
	RELENG_2_2_7_RELEASE:1.3
	RELENG_2_2_6_RELEASE:1.3
	RELENG_2_2_5_RELEASE:1.3
	bsd_44_lite_2:1.1.1.1
	RELENG_2_2_2_RELEASE:1.3
	RELENG_2_2_1_RELEASE:1.3
	RELENG_2_2_0_RELEASE:1.3
	RELENG_2_1_7_RELEASE:1.2
	RELENG_2_1_6_1_RELEASE:1.2
	RELENG_2_1_6_RELEASE:1.2
	RELENG_2_2:1.3.0.2
	RELENG_2_2_BP:1.3
	RELENG_2_1_5_RELEASE:1.2
	RELENG_2_1_0_RELEASE:1.2
	RELENG_2_1_0:1.2.0.6
	RELENG_2_1_0_BP:1.2
	RELENG_2_0_5_RELEASE:1.2
	RELENG_2_0_5:1.2.0.4
	RELENG_2_0_5_BP:1.2
	RELENG_2_0_5_ALPHA:1.2
	RELEASE_2_0:1.2
	BETA_2_0:1.2
	ALPHA_2_0:1.2.0.2
	bsd_44_lite:1.1.1.1
	CSRG:1.1.1;
locks; strict;
comment	@# @;


1.17
date	2012.11.17.01.50.12;	author svnexp;	state Exp;
branches
	1.17.2.1;
next	1.16;

1.16
date	2012.05.19.05.10.47;	author marcel;	state Exp;
branches;
next	1.15;

1.15
date	2010.09.24.10.40.17;	author marius;	state Exp;
branches
	1.15.2.1;
next	1.14;

1.14
date	2010.09.23.14.06.15;	author marius;	state Exp;
branches;
next	1.13;

1.13
date	2010.09.15.10.32.32;	author rpaulo;	state Exp;
branches;
next	1.12;

1.12
date	2010.05.04.06.19.19;	author imp;	state Exp;
branches;
next	1.11;

1.11
date	2010.01.02.09.50.19;	author ed;	state Exp;
branches;
next	1.10;

1.10
date	2007.11.23.00.05.29;	author edwin;	state Exp;
branches
	1.10.2.1;
next	1.9;

1.9
date	2001.03.26.14.22.11;	author ru;	state Exp;
branches
	1.9.14.1
	1.9.24.1
	1.9.30.1
	1.9.32.1
	1.9.34.1
	1.9.36.1;
next	1.8;

1.8
date	2001.03.20.18.10.11;	author ru;	state Exp;
branches;
next	1.7;

1.7
date	99.08.28.00.10.26;	author peter;	state Exp;
branches
	1.7.2.1;
next	1.6;

1.6
date	99.04.06.23.05.59;	author brian;	state Exp;
branches;
next	1.5;

1.5
date	97.02.22.14.22.35;	author peter;	state Exp;
branches
	1.5.2.1;
next	1.4;

1.4
date	97.01.14.06.21.13;	author jkh;	state Exp;
branches;
next	1.3;

1.3
date	96.09.22.21.56.03;	author wosch;	state Exp;
branches
	1.3.2.1;
next	1.2;

1.2
date	94.08.05.21.24.58;	author wollman;	state Exp;
branches;
next	1.1;

1.1
date	94.05.27.12.39.24;	author rgrimes;	state Exp;
branches
	1.1.1.1;
next	;

1.17.2.1
date	2012.11.17.01.50.12;	author svnexp;	state dead;
branches;
next	1.17.2.2;

1.17.2.2
date	2013.03.28.13.03.27;	author svnexp;	state Exp;
branches;
next	;

1.15.2.1
date	2011.09.23.00.51.37;	author kensmith;	state Exp;
branches
	1.15.2.1.2.1
	1.15.2.1.4.1;
next	1.15.2.2;

1.15.2.2
date	2012.11.17.11.36.29;	author svnexp;	state Exp;
branches;
next	1.15.2.3;

1.15.2.3
date	2013.03.02.17.11.39;	author svnexp;	state Exp;
branches;
next	;

1.15.2.1.2.1
date	2011.11.11.04.20.22;	author kensmith;	state Exp;
branches;
next	1.15.2.1.2.2;

1.15.2.1.2.2
date	2012.11.17.08.36.29;	author svnexp;	state Exp;
branches;
next	;

1.15.2.1.4.1
date	2012.08.05.23.54.33;	author kensmith;	state Exp;
branches;
next	1.15.2.1.4.2;

1.15.2.1.4.2
date	2012.11.17.08.47.18;	author svnexp;	state Exp;
branches;
next	;

1.10.2.1
date	2009.08.03.08.13.06;	author kensmith;	state Exp;
branches
	1.10.2.1.2.1
	1.10.2.1.4.1;
next	1.10.2.2;

1.10.2.2
date	2010.09.22.21.54.30;	author marius;	state Exp;
branches;
next	1.10.2.3;

1.10.2.3
date	2010.10.04.19.51.15;	author marius;	state Exp;
branches;
next	1.10.2.4;

1.10.2.4
date	2010.10.04.19.59.08;	author marius;	state Exp;
branches
	1.10.2.4.2.1
	1.10.2.4.4.1;
next	1.10.2.5;

1.10.2.5
date	2012.11.17.10.36.13;	author svnexp;	state Exp;
branches;
next	1.10.2.6;

1.10.2.6
date	2013.03.02.17.07.51;	author svnexp;	state Exp;
branches;
next	;

1.10.2.1.2.1
date	2009.10.25.01.10.29;	author kensmith;	state Exp;
branches;
next	;

1.10.2.1.4.1
date	2010.06.14.02.09.06;	author kensmith;	state Exp;
branches;
next	;

1.10.2.4.2.1
date	2010.12.21.17.09.25;	author kensmith;	state Exp;
branches;
next	;

1.10.2.4.4.1
date	2012.03.03.06.15.13;	author kensmith;	state Exp;
branches;
next	1.10.2.4.4.2;

1.10.2.4.4.2
date	2012.11.17.08.24.53;	author svnexp;	state Exp;
branches;
next	;

1.9.14.1
date	2012.11.17.07.40.57;	author svnexp;	state Exp;
branches;
next	;

1.9.24.1
date	2010.09.22.20.27.59;	author marius;	state Exp;
branches;
next	1.9.24.2;

1.9.24.2
date	2010.09.22.21.54.34;	author marius;	state Exp;
branches;
next	1.9.24.3;

1.9.24.3
date	2010.10.04.19.51.16;	author marius;	state Exp;
branches;
next	1.9.24.4;

1.9.24.4
date	2010.10.04.19.59.11;	author marius;	state Exp;
branches
	1.9.24.4.2.1;
next	1.9.24.5;

1.9.24.5
date	2012.11.17.08.03.20;	author svnexp;	state Exp;
branches;
next	;

1.9.24.4.2.1
date	2010.12.21.17.10.29;	author kensmith;	state Exp;
branches;
next	1.9.24.4.2.2;

1.9.24.4.2.2
date	2012.11.17.08.16.52;	author svnexp;	state Exp;
branches;
next	;

1.9.30.1
date	2008.10.02.02.57.24;	author kensmith;	state Exp;
branches;
next	;

1.9.32.1
date	2008.11.25.02.59.29;	author kensmith;	state Exp;
branches;
next	;

1.9.34.1
date	2009.04.15.03.14.26;	author kensmith;	state Exp;
branches;
next	;

1.9.36.1
date	2010.02.10.00.26.20;	author kensmith;	state Exp;
branches;
next	;

1.7.2.1
date	2001.04.25.10.41.03;	author ru;	state Exp;
branches;
next	1.7.2.2;

1.7.2.2
date	2012.11.17.07.24.14;	author svnexp;	state Exp;
branches;
next	;

1.5.2.1
date	99.05.02.09.36.16;	author brian;	state Exp;
branches;
next	1.5.2.2;

1.5.2.2
date	99.08.29.15.04.21;	author peter;	state Exp;
branches;
next	;

1.3.2.1
date	99.09.05.11.20.26;	author peter;	state Exp;
branches;
next	;

1.1.1.1
date	94.05.27.12.39.25;	author rgrimes;	state Exp;
branches;
next	;


desc
@@


1.17
log
@Switching exporter and resync
@
text
@#	@@(#)Makefile	8.1 (Berkeley) 6/4/93
# $FreeBSD: head/libexec/tftpd/Makefile 235643 2012-05-19 05:10:47Z marcel $

PROG=	tftpd
MAN=	tftpd.8
SRCS=	tftp-file.c tftp-io.c tftp-options.c tftp-transfer.c tftp-utils.c
SRCS+=	tftpd.c
WFORMAT=0

DPADD=	${LIBWRAP}
LDADD=	-lwrap

.include <bsd.prog.mk>
@


1.17.2.1
log
@file Makefile was added on branch RELENG_8_4 on 2013-03-28 13:03:27 +0000
@
text
@d1 13
@


1.17.2.2
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/248810
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@a0 14
#	@@(#)Makefile	8.1 (Berkeley) 6/4/93
# $FreeBSD: releng/8.4/libexec/tftpd/Makefile 247636 2013-03-02 16:33:39Z marius $

PROG=	tftpd
MAN=	tftpd.8
SRCS=	tftp-file.c tftp-io.c tftp-options.c tftp-transfer.c tftp-utils.c
SRCS+=	tftpd.c
WARNS=	6
WFORMAT=0

DPADD=	${LIBWRAP}
LDADD=	-lwrap

.include <bsd.prog.mk>
@


1.16
log
@SVN rev 235643 on 2012-05-19 05:10:47Z by marcel

Properly use LDADD & DPADD to link against libwrap.
@
text
@d2 1
a2 1
# $FreeBSD$
@


1.15
log
@SVN rev 213099 on 2010-09-24 10:40:17Z by marius

Make WARNS=6 clean.

MFC after:	1 week
@
text
@d9 3
a11 1
LDFLAGS= -lwrap
@


1.15.2.1
log
@SVN rev 225736 on 2011-09-23 00:51:37Z by kensmith

Copy head to stable/9 as part of 9.0-RELEASE release cycle.

Approved by:	re (implicit)
@
text
@@


1.15.2.2
log
@## SVN ##
## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/ 242902
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ## r242902 | dteske | 2012-11-11 23:29:45 +0000 (Sun, 11 Nov 2012) | 10 lines
## SVN ##
## SVN ## Fix a regression introduced by SVN r211417 that saw the breakage of a feature
## SVN ## documented in usr.sbin/sysinstall/help/shortcuts.hlp (reproduced below):
## SVN ##
## SVN ## If /usr/sbin/sysinstall is linked to another filename, say
## SVN ## `/usr/local/bin/configPackages', then the basename will be used
## SVN ## as an implicit command name.
## SVN ##
## SVN ## Reviewed by:	adrian (co-mentor)
## SVN ## Approved by:	adrian (co-mentor)
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ##
@
text
@d2 1
a2 1
# $FreeBSD: stable/9/libexec/tftpd/Makefile 213099 2010-09-24 10:40:17Z marius $
@


1.15.2.3
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/247637
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@d2 1
a2 1
# $FreeBSD: stable/9/libexec/tftpd/Makefile 247637 2013-03-02 16:33:43Z marius $
d9 1
a9 3

DPADD=	${LIBWRAP}
LDADD=	-lwrap
@


1.15.2.1.4.1
log
@SVN rev 239080 on 2012-08-05 23:54:33Z by kensmith

Copy stable/9 to releng/9.1 as part of the 9.1-RELEASE release process.

Approved by:	re (implicit)
@
text
@@


1.15.2.1.4.2
log
@Switch importer
@
text
@d2 1
a2 1
# $FreeBSD: releng/9.1/libexec/tftpd/Makefile 213099 2010-09-24 10:40:17Z marius $
@


1.15.2.1.2.1
log
@SVN rev 227445 on 2011-11-11 04:20:22Z by kensmith

Copy stable/9 to releng/9.0 as part of the FreeBSD 9.0-RELEASE release
cycle.

Approved by:	re (implicit)
@
text
@@


1.15.2.1.2.2
log
@Switch importer
@
text
@d2 1
a2 1
# $FreeBSD: releng/9.0/libexec/tftpd/Makefile 213099 2010-09-24 10:40:17Z marius $
@


1.14
log
@SVN rev 213075 on 2010-09-23 14:06:15Z by marius

Try to adhere to style.Makefile(5).

MFC after:	3 days
@
text
@a7 1
WARNS=	3
@


1.13
log
@SVN rev 212651 on 2010-09-15 10:32:32Z by rpaulo

Remove an explicit assignment of the CFLAGS variable intended for
debugging purposes only.
@
text
@d5 3
a7 1
SRCS=	tftpd.c tftp-io.c tftp-utils.c tftp-file.c tftp-transfer.c tftp-options.c
a9 4
MAN=	tftpd.8
CFLAGS+=-I${.CURDIR}/../../usr.bin/tftp -I${.CURDIR}/../../libexec/tftpd
.PATH:	${.CURDIR}/../../usr.bin/tftp
COPTFLAGS = -O
@


1.12
log
@SVN rev 207608 on 2010-05-04 06:19:19Z by imp

Go ahead and merge the work edwin@@ on tftpd into the tree.  It is a
lot better than what's in the tree now.  Edwin tested it at a prior
employer, but can't test it today.  I've found that it works a lot
better with the various uboot versions that I've used in my embedded
work.  Here's the pkg-descr from the port that describes the changes:

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>
@
text
@a8 1
CFLAGS=-g -Wall
@


1.11
log
@SVN rev 201380 on 2010-01-02 09:50:19Z by ed

Make WARNS=6 the default for libexec/.

Just like bin/ and sbin/, I think setting WARNS to the highest value
possible will make it more attractive for people to fix warnings.

- The WARNS variable is set in the Makefile in the directory of the
  application itself, making it more likely that it will be removed out
  of curiosity to see what happens.
- New applications will most likely build with WARNS=6 out of the box,
  because the author would more likely fix the warnings during
  development than lower WARNS.

Unfortunately almost all apps in libexec require a lowered value of
WARNS.
@
text
@d5 2
a6 5
SRCS=	tftpd.c tftpsubs.c
DPADD=	${LIBUTIL}
LDADD=	-lutil

WARNS?=	1
a7 1

d9 2
a10 1
CFLAGS+=-I${.CURDIR}/../../usr.bin/tftp
d12 2
@


1.10
log
@Add the -W options, which acts the same as -w but will generate
unique names based on the submitted filename, a strftime(3) format
string and a two digit sequence number.

By default the strftime(3) format string is %Y%m%d (YYYYMMDD), but
this can be changed by the -F option.

PR:		bin/106049 (based on patch in that PR)
Approved by:	grog@@ (mentor)
@
text
@d8 2
d11 1
@


1.10.2.1
log
@SVN rev 196045 on 2009-08-03 08:13:06Z by kensmith

Copy head to stable/8 as part of 8.0 Release cycle.

Approved by:	re (Implicit)
@
text
@@


1.10.2.2
log
@SVN rev 213038 on 2010-09-22 21:54:30Z by marius

MFC: r207608, r207614, r212651, r212665

Go ahead and merge the work edwin@@ on tftpd into the tree.  It is a
lot better than what's in the tree now.  Edwin tested it at a prior
employer, but can't test it today.  I've found that it works a lot
better with the various uboot versions that I've used in my embedded
work.  Here's the pkg-descr from the port that describes the changes:

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>
@
text
@d5 3
a7 2
SRCS=	tftpd.c tftp-io.c tftp-utils.c tftp-file.c tftp-transfer.c tftp-options.c
WARNS=	3
d10 1
a10 1
CFLAGS+=-I${.CURDIR}/../../usr.bin/tftp -I${.CURDIR}/../../libexec/tftpd
a11 2
COPTFLAGS = -O
LDFLAGS= -lwrap
@


1.10.2.3
log
@SVN rev 213415 on 2010-10-04 19:51:15Z by marius

MFC: 213075

Try to adhere to style.Makefile(5).
@
text
@d5 1
a5 3
MAN=	tftpd.8
SRCS=	tftp-file.c tftp-io.c tftp-options.c tftp-transfer.c tftp-utils.c
SRCS+=	tftpd.c
d8 4
@


1.10.2.4
log
@SVN rev 213417 on 2010-10-04 19:59:08Z by marius

MFC: r213099

Make WARNS=6 clean.
@
text
@d8 1
a8 1
WARNS=	6
@


1.10.2.5
log
@## SVN ##
## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/ 242909
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ## r242909 | dim | 2012-11-12 07:47:19 +0000 (Mon, 12 Nov 2012) | 20 lines
## SVN ##
## SVN ## MFC r242625:
## SVN ##
## SVN ## Remove duplicate const specifiers in many drivers (I hope I got all of
## SVN ## them, please let me know if not).  Most of these are of the form:
## SVN ##
## SVN ## static const struct bzzt_type {
## SVN ##       [...list of members...]
## SVN ## } const bzzt_devs[] = {
## SVN ##       [...list of initializers...]
## SVN ## };
## SVN ##
## SVN ## The second const is unnecessary, as arrays cannot be modified anyway,
## SVN ## and if the elements are const, the whole thing is const automatically
## SVN ## (e.g. it is placed in .rodata).
## SVN ##
## SVN ## I have verified this does not change the binary output of a full kernel
## SVN ## build (except for build timestamps embedded in the object files).
## SVN ##
## SVN ## Reviewed by:	yongari, marius
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ##
@
text
@d2 1
a2 1
# $FreeBSD: stable/8/libexec/tftpd/Makefile 213417 2010-10-04 19:59:08Z marius $
@


1.10.2.6
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/247636
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@d2 1
a2 1
# $FreeBSD: stable/8/libexec/tftpd/Makefile 247636 2013-03-02 16:33:39Z marius $
d10 1
a10 3

DPADD=	${LIBWRAP}
LDADD=	-lwrap
@


1.10.2.4.4.1
log
@SVN rev 232438 on 2012-03-03 06:15:13Z by kensmith

Copy stable/8 to releng/8.3 as part of 8.3-RELEASE release cycle.

Approved by:	re (implicit)
@
text
@@


1.10.2.4.4.2
log
@Switch importer
@
text
@d2 1
a2 1
# $FreeBSD: releng/8.3/libexec/tftpd/Makefile 213417 2010-10-04 19:59:08Z marius $
@


1.10.2.4.2.1
log
@SVN rev 216617 on 2010-12-21 17:09:25Z by kensmith

Copy stable/8 to releng/8.2 in preparation for FreeBSD-8.2 release.

Approved by:	re (implicit)
@
text
@@


1.10.2.1.4.1
log
@SVN rev 209145 on 2010-06-14 02:09:06Z by kensmith

Copy stable/8 to releng/8.1 in preparation for 8.1-RC1.

Approved by:	re (implicit)
@
text
@@


1.10.2.1.2.1
log
@SVN rev 198460 on 2009-10-25 01:10:29Z by kensmith

Copy stable/8 to releng/8.0 as part of 8.0-RELEASE release procedure.

Approved by:	re (implicit)
@
text
@@


1.9
log
@- Backout botched attempt to intoduce MANSECT feature.
- MAN[1-9] -> MAN.
@
text
@d2 1
a2 1
# $FreeBSD: src/libexec/tftpd/Makefile,v 1.8 2001/03/20 18:10:11 ru Exp $
d8 1
@


1.9.14.1
log
@Switch importer
@
text
@d2 1
a2 1
# $FreeBSD: stable/6/libexec/tftpd/Makefile 74814 2001-03-26 14:22:12Z ru $
@


1.9.24.1
log
@SVN rev 213027 on 2010-09-22 20:27:59Z by marius

MFC: r173852

Add the -W options, which acts the same as -w but will generate
unique names based on the submitted filename, a strftime(3) format
string and a two digit sequence number.

By default the strftime(3) format string is %Y%m%d (YYYYMMDD), but
this can be changed by the -F option.

PR:		bin/106049 (based on patch in that PR)
Approved by:	grog@@ (mentor)
@
text
@d2 1
a2 1
# $FreeBSD$
a7 1
WFORMAT=0
@


1.9.24.2
log
@SVN rev 213039 on 2010-09-22 21:54:34Z by marius

MFC: r207608, r207614, r212651, r212665

Go ahead and merge the work edwin@@ on tftpd into the tree.  It is a
lot better than what's in the tree now.  Edwin tested it at a prior
employer, but can't test it today.  I've found that it works a lot
better with the various uboot versions that I've used in my embedded
work.  Here's the pkg-descr from the port that describes the changes:

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>
@
text
@d5 3
a7 2
SRCS=	tftpd.c tftp-io.c tftp-utils.c tftp-file.c tftp-transfer.c tftp-options.c
WARNS=	3
d10 1
a10 1
CFLAGS+=-I${.CURDIR}/../../usr.bin/tftp -I${.CURDIR}/../../libexec/tftpd
a11 2
COPTFLAGS = -O
LDFLAGS= -lwrap
@


1.9.24.3
log
@SVN rev 213416 on 2010-10-04 19:51:16Z by marius

MFC: r213075

Try to adhere to style.Makefile(5).
@
text
@d5 1
a5 3
MAN=	tftpd.8
SRCS=	tftp-file.c tftp-io.c tftp-options.c tftp-transfer.c tftp-utils.c
SRCS+=	tftpd.c
d8 4
@


1.9.24.4
log
@SVN rev 213418 on 2010-10-04 19:59:11Z by marius

MFC: r213099

Make WARNS=6 clean.
@
text
@d8 1
a8 1
WARNS=	6
@


1.9.24.5
log
@Switch importer
@
text
@d2 1
a2 1
# $FreeBSD: stable/7/libexec/tftpd/Makefile 213418 2010-10-04 19:59:11Z marius $
@


1.9.24.4.2.1
log
@SVN rev 216618 on 2010-12-21 17:10:29Z by kensmith

Copy stable/7 to releng/7.4 in preparation for FreeBSD-7.4 release.

Approved by:	re (implicit)
@
text
@@


1.9.24.4.2.2
log
@Switch importer
@
text
@d2 1
a2 1
# $FreeBSD: releng/7.4/libexec/tftpd/Makefile 213418 2010-10-04 19:59:11Z marius $
@


1.9.36.1
log
@SVN rev 203736 on 2010-02-10 00:26:20Z by kensmith

Copy stable/7 to releng/7.3 as part of the 7.3-RELEASE process.

Approved by:	re (implicit)
@
text
@d2 1
a2 1
# $FreeBSD$
@


1.9.34.1
log
@SVN rev 191087 on 2009-04-15 03:14:26Z by kensmith

Create releng/7.2 from stable/7 in preparation for 7.2-RELEASE.

Approved by:	re (implicit)
@
text
@d2 1
a2 1
# $FreeBSD$
@


1.9.32.1
log
@SVN rev 185281 on 2008-11-25 02:59:29Z by kensmith

Create releng/7.1 in preparation for moving into RC phase of 7.1 release
cycle.

Approved by:	re (implicit)
@
text
@d2 1
a2 1
# $FreeBSD$
@


1.9.30.1
log
@SVN rev 183531 on 2008-10-02 02:57:24Z by kensmith

Create releng/6.4 from stable/6 in preparation for 6.4-RC1.

Approved by:	re (implicit)
@
text
@d2 1
a2 1
# $FreeBSD$
@


1.8
log
@Set the default manual section for libexec/ to 8.
@
text
@d2 1
a2 1
# $FreeBSD: src/libexec/tftpd/Makefile,v 1.7 1999/08/28 00:10:26 peter Exp $
d8 1
@


1.7
log
@$Id$ -> $FreeBSD$
@
text
@d2 1
a2 1
# $FreeBSD$
a7 1
MAN8=	tftpd.8
@


1.7.2.1
log
@MFC: MAN[1-9] -> MAN.
@
text
@d2 1
a2 1
# $FreeBSD: src/libexec/tftpd/Makefile,v 1.7 1999/08/28 00:10:26 peter Exp $
d8 1
a8 1
MAN=	tftpd.8
@


1.7.2.2
log
@Switch importer
@
text
@d2 1
a2 1
# $FreeBSD: stable/4/libexec/tftpd/Makefile 75952 2001-04-25 10:42:22Z ru $
@


1.6
log
@Use realhostname() rather than various combinations of
gethostbyaddr() & gethostbyname().

Remove brokeness in ftpd for hosts of MAXHOSTNAMELEN length.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.5 1997/02/22 14:22:35 peter Exp $
@


1.5
log
@Revert $FreeBSD$ to $Id$
@
text
@d2 1
a2 1
#	$Id$
d6 2
@


1.5.2.1
log
@MFC: Use realhostname() and trimdomain().
     main() returns int
     Silence egcs (yeah, I know....)
     Reprompt if given an empty login name in uucpd
     Correct errno handling in uucpd.
@
text
@d2 1
a2 1
#	$Id: Makefile,v 1.6 1999/04/06 23:05:59 brian Exp $
a5 2
DPADD=	${LIBUTIL}
LDADD=	-lutil
@


1.5.2.2
log
@$Id$ -> $FreeBSD$
@
text
@d2 1
a2 1
# $FreeBSD$
@


1.4
log
@Make the long-awaited change from $Id$ to $FreeBSD$

This will make a number of things easier in the future, as well as (finally!)
avoiding the Id-smashing problem which has plagued developers for so long.

Boy, I'm glad we're not using sup anymore.  This update would have been
insane otherwise.
@
text
@d2 1
a2 1
#	$FreeBSD$
@


1.3
log
@add forgotten $Id$
@
text
@d2 1
a2 1
#	$Id$
@


1.3.2.1
log
@$Id$ -> $FreeBSD$
@
text
@d2 1
a2 1
# $FreeBSD$
@


1.2
log
@Update to new make macros and disable Kerberos because we haven't got it
set up right yet.
@
text
@d2 1
@


1.1
log
@Initial revision
@
text
@d5 1
a5 1
MAN8=	tftpd.0
@


1.1.1.1
log
@BSD 4.4 Lite Libexec Sources
@
text
@@
