History log of /freebsd-current/libexec/tftpd/tftpd.8
Revision Date Author Comments
# 816c4d3d 10-May-2024 Dag-Erling Smørgrav <des@FreeBSD.org>

tftpd: Add missing `-S` option to synopsis.

MFC after: 3 days
Sponsored by: Klara, Inc.
Reviewed by: imp, markj
Differential Revision: https://reviews.freebsd.org/D45129


# 43581d7b 23-Nov-2023 Warner Losh <imp@FreeBSD.org>

libexec: Remove ancient SCCS tags.

Remove ancient SCCS tags from the tree, automated scripting, with two
minor fixup to keep things compiling. All the common forms in the tree
were removed with a perl script.

Sponsored by: Netflix


# b2c76c41 16-Aug-2023 Warner Losh <imp@FreeBSD.org>

Remove $FreeBSD$: one-line nroff pattern

Remove /^\.\\"\s*\$FreeBSD\$$\n/


# 273a307d 20-Jul-2023 Eugene Grosbein <eugen@FreeBSD.org>

tftpd: introduce new option -S

Historically, tftpd disallowed write requests to existing files
that are not publicly writable. Such requirement is questionable at least.
Let us make it possible to run tftpd in chrooted environment
keeping files non-world writable.

New option -S enables write requests to existing files
for chrooted run according to generic file permissions.
It is ignored unless tftpd runs chrooted.

MFC after: 1 month
Requested by: marck
Differential: https://reviews.freebsd.org/D41090 (based on)


# fdf929ff 02-Mar-2020 John Baldwin <jhb@FreeBSD.org>

Add support for the TFTP windowsize option described in RFC 7440.

The windowsize option permits multiple blocks to be transmitted
before the receiver sends an ACK improving throughput for larger
files.

Reviewed by: asomers
MFC after: 2 weeks
Sponsored by: DARPA
Differential Revision: https://reviews.freebsd.org/D23836


# 5efaea4c 17-Feb-2014 Christian Brueffer <brueffer@FreeBSD.org>

Remove the 3rd clause ("advertising clause") of the BSD license as
permitted by the University of Berkeley on July 22, 1999.

Reviewed by: imp
MFC after: 1 week


# 9c282daa 23-May-2012 Joel Dahl <joel@FreeBSD.org>

mdoc: Only use macros inside a reference block.


# 50d675f7 28-Mar-2012 Eitan Adler <eadler@FreeBSD.org>

Remove trailing whitespace per mdoc lint warning

Disussed with: gavin
No objection from: doc
Approved by: joel
MFC after: 3 days


# 46d20cbc 30-Jul-2011 Craig Rodrigues <rodrigc@FreeBSD.org>

Pull in some wording to the tftpd.8 man page
from NetBSD, with some slight changes:

=========================================================================================
http://cvsweb.netbsd.org/bsdweb.cgi/src/libexec/tftpd/tftpd.8?only_with_tag=MAIN#rev1.22

Revision 1.22 or diffs], Fri Jan 8 21:05:14 2010 UTC (18 months, 2 weeks ago) by christos

Patrick Welche <prlw1@cam.ac.uk>
- add -p pathsep option
- make wrap to zero work, but produce a warning
While here:
- fix gcc warnings, in particular variable clobbered warnings
(compiling with fewer warnings does not really fix the problem)
=========================================================================================

These wording changes clarify the default rollover behavior
as a "kludge". Also, the block numbers and octet counts for 65535 blocks
and 32767 blocks are more accurate than the existing documented numbers.

Requested by: Pawan Gupta <pawang at juniper dot net>
Obtained from: Juniper Networks
Approved by: re (kib)


# f6c506d9 23-Jun-2011 Craig Rodrigues <rodrigc@FreeBSD.org>

Acknowledge Edwin Groothuis for the major rewrite he
did of the tftpd and tftp code to support TFTP blocksize.


# 957af43f 22-Jun-2011 Craig Rodrigues <rodrigc@FreeBSD.org>

Update references to RFC's that the newer TFTP implementation supports.


# 7e321ae3 22-Jun-2011 Craig Rodrigues <rodrigc@FreeBSD.org>

Fix typo.

Reported by: Nick Mann <njm at njm dot me dot uk>


# a1aea88a 22-Jun-2011 Craig Rodrigues <rodrigc@FreeBSD.org>

Clarify tftpd's -d flag in the new TFTP implementation.
Bump date.


# e5660633 15-Jun-2011 Craig Rodrigues <rodrigc@FreeBSD.org>

Clarify that the TFTP blocksize (RFC2348) or non-standard
TFTP rollover option can be used to transfer larger files.


# a7d5f7eb 19-Oct-2010 Jamie Gritton <jamie@FreeBSD.org>

A new jail(8) with a configuration file, to replace the work currently done
by /etc/rc.d/jail.


# 86a04a0c 06-Oct-2010 Xin LI <delphij@FreeBSD.org>

Use a defined FreeBSD version.

MFC after: 3 days


# 5276e639 04-May-2010 Warner Losh <imp@FreeBSD.org>

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>


# 63d46d1d 12-Mar-2010 Ulrich Spörlein <uqs@FreeBSD.org>

Fix several typos in macros or macro misusage.

Found by: make manlint
Reviewed by: ru
Approved by: philip (mentor)


# fe0506d7 09-Mar-2010 Marcel Moolenaar <marcel@FreeBSD.org>

Create the altix project branch. The altix project will add support
for the SGI Altix 350 to FreeBSD/ia64. The hardware used for porting
is a two-module system, consisting of a base compute module and a
CPU expansion module. SGI's NUMAFlex architecture can be an excellent
platform to test CPU affinity and NUMA-aware features in FreeBSD.


# d7f03759 19-Oct-2008 Ulf Lilleengen <lulf@FreeBSD.org>

- Import the HEAD csup code which is the basis for the cvsmode work.


# b71d8e69 22-Nov-2007 Edwin Groothuis <edwin@FreeBSD.org>

Add "with" to make the line go smoother.


# dba0fd30 22-Nov-2007 Edwin Groothuis <edwin@FreeBSD.org>

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)


# 41d05ce7 03-Jun-2007 Bjoern A. Zeeb <bz@FreeBSD.org>

Correct a typo.

PR: 106049
Submitted by: edwin (as part of a larger patch)


# a3ec17db 17-Sep-2006 Ruslan Ermilov <ru@FreeBSD.org>

Markup fixes.


# ff7e281d 07-Aug-2006 Yaroslav Tykhiy <ytykhiy@gmail.com>

- Improve and extend mark-up.
- Don't use full path in .Nm (we just don't do that).
- Correct some frivolous and poorly rendering language,
such as using possessive case for .Nm or .Fl .
- Use the same capitalization for "user ID" as in setuid(2) and getuid(2).
- Bring SEE ALSO in accord with the text.

MFC after: 5 days


# 2410103c 07-Jul-2004 Ruslan Ermilov <ru@FreeBSD.org>

mdoc(7) fixes.


# eff77877 24-May-2004 Matthew N. Dodd <mdodd@FreeBSD.org>

Add two new flags: -w, which allows new files to be created,
and -U, which allows the umask to be set.

Obtained from: Patton Electronics, Co.


# 3f162cb8 06-Jul-2002 Philippe Charnier <charnier@FreeBSD.org>

The .Nm utility


# 7ebcc426 15-Jul-2001 Dima Dorfman <dd@FreeBSD.org>

Remove whitespace at EOL.


# 0efe23d6 10-Jul-2001 Ruslan Ermilov <ru@FreeBSD.org>

mdoc(7) police: removed HISTORY info from the .Os call.


# eb083802 18-Apr-2001 Ruslan Ermilov <ru@FreeBSD.org>

mdoc(7) police: normalize .Nd.


# 276c4a5d 04-Mar-2001 Kris Kennaway <kris@FreeBSD.org>

First appeared in 4.3, not 5.0


# 67034ac6 02-Feb-2001 Jeroen Ruigrok van der Werven <asmodai@FreeBSD.org>

Fix tftpd and tftp to support file transfers of over 65535 blocks
(about 31 MB - 32 MB).

Submitted (partially)
by: Pascal Hofstee <daeron@wit401305.student.utwente.nl>


# 1ed0e5d2 24-Jan-2001 Bill Fumerola <billf@FreeBSD.org>

Add -c/C which chroots by IP of tftp client, (i.e. /tftproot/127.0.0.1/).


# 76081989 20-Nov-2000 Ruslan Ermilov <ru@FreeBSD.org>

mdoc(7) police: use the new features of the Nm macro.


# 67c31d50 14-Sep-2000 Garrett Wollman <wollman@FreeBSD.org>

Some more slight doco fixes: update date, and add a bit more to the history.


# f62eaadf 14-Sep-2000 Garrett Wollman <wollman@FreeBSD.org>

Allow tftpd to run as a specified user, not just `nobody'.
Update documentation to reflect new option. Also fix documentation
style and add missing references.

PR: 21268
Submitted by: "Aleksandr A. Babaylov" <babolo@links.ru>
Reviewed by: imp


# 229494cb 28-Aug-1999 Mike Pritchard <mpp@FreeBSD.org>

Add $FreeBSD$ lines to man pages that are missing them to make it
easier for translation teams.

PR: docs/13418
Submitted by: Alexey Zelkin <phantom@cris.net>


# 3dead0b6 05-Jun-1998 Joseph Koshy <jkoshy@FreeBSD.org>

Mention that syslog.conf(5) does not log LOG_FTP messages by default.

PR: 5287


# a8faeabc 03-Dec-1997 Philippe Charnier <charnier@FreeBSD.org>

Use full path in synopsis. Syslog will add trailing \n.


# 20271f30 06-Oct-1997 Warner Losh <imp@FreeBSD.org>

Clarify the actions of -s and the list of allowable names.


# 8ea31785 21-Sep-1996 Warner Losh <imp@FreeBSD.org>

Reviewed by: Bill Fenner <fennder@parc.xerox.com>
Reviewed by: Garrett Wollman <wollman@freebsd.org>
Submitted by: Warner Losh <imp@village.org>
Close PR bin/1145:
Add -s flag to tftpd. This enables the so-called secure mode
of tftpd where it chroots to a given directory before allowing access
to the files. In addition, it runs as nobody when in this mode.
Reviewed a long time ago by Bill and Garrett. Apply my patch from the
pr, and close the PR.


# ea022d16 26-May-1994 Rodney W. Grimes <rgrimes@FreeBSD.org>

BSD 4.4 Lite Libexec Sources