Home | History | Annotate | Download | only in tftpd
History log of /src/libexec/tftpd/tftpd.c
RevisionDateAuthorComments
 1.45  20-Jul-2016  shm CID 976523: add FALLTHROUGH
 1.44  05-May-2015  buhrow branches: 1.44.2;


Add a -b flag so that clients that return their acknowledgements to the
broadcast address can inter-operate with the tftpd server.
Discussed in bin/49868
 1.43  04-Oct-2013  jnemeth - complete renaming of -w to -c from 1.38
- update usage string to match
- this fixes PR/48234 by Jeff Woodall
 1.42  04-Jul-2013  christos Simplify error handling and make it actually return a useable error code.
(Maxime Villard)
 1.41  03-Jul-2013  christos Check snprintf for -1 (Maxime Villard)
 1.40  28-Jun-2013  christos Prevent buffer overflows; reported by Maxime Villard
 1.39  29-Aug-2011  joerg branches: 1.39.2; 1.39.8;
Use __dead
 1.38  29-Apr-2010  hubertf Rename -w to -c by popular demand
(allow file 'c'reation - 'w'riting was always available, with some twist;
plus there's already such a feature elsewhere, so let's try to not
diverge needlessly)
 1.37  28-Apr-2010  hubertf tftpd(8): Add -w so files can be uploaded without requiring them
to be created before the upload. See the section on security
considerations before enabling. [hubertf 20100429]

Addresses PR bin/43164.
 1.36  09-Jan-2010  mbalmer fix build
 1.35  09-Jan-2010  christos newer versions of NetBSD turn on -Wsign-compare
 1.34  08-Jan-2010  wiz Sync usage with man page.
 1.33  08-Jan-2010  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)
 1.32  16-Mar-2009  lukem fix shadowed variable
 1.31  21-Jul-2008  lukem branches: 1.31.4; 1.31.6;
Remove the \n and tabs from the __COPYRIGHT() strings.
 1.30  09-May-2006  mrg branches: 1.30.20;
change (mostly) int to socklen_t. GCC 4 doesn't like that int and
socklen_t are different signness.
 1.29  05-Nov-2004  dsl Add (unsigned char) cast to ctype functions
 1.28  05-May-2004  kleink Make sure we tzset() before chroot(); after passing that point
it may no longer be accessible for syslog() to format messages.
 1.27  06-Jan-2004  briggs branches: 1.27.2;
Remove duplicated headers. Pointed out by Peter Postma in PR bin/24002.
 1.26  07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22284, verified by myself.
 1.25  11-Jun-2003  briggs Support negotiation and use of TFTP Option Extension (rfc 2347) for the
'blksize' option (rfc 2348) and the 'timeout' and 'tsize' options (rfc 2349).

Contributed by Wasabi Systems, Inc.
 1.24  09-Oct-2001  christos Enable verbose debugging messages via tftpd.
 1.23  19-Feb-2001  cgd convert to use getprogname()
 1.22  09-Jan-2001  lukem convert to ansi knf
replace (sole use of) sprintf() with snprintf()
only syslog debug messages if logging
 1.21  21-Nov-2000  itojun make sure we do not overrun packet buffer when we set error message string.
 1.20  21-Nov-2000  itojun handle getnameinfo error properly
 1.19  18-Oct-2000  dogcow defs had 'short block' for blocksize; changed defs to be unsigned.
added note to tftpd.8 that this bug hits multiple tftp clients.
 1.18  12-Jul-1999  itojun branches: 1.18.8;
IPv6 support.
 1.17  23-Jun-1999  carrel If opening files for writing, be sure to truncate.
 1.16  07-Feb-1999  aidan branches: 1.16.2;
Fix for bin/4637, mostly as discussed on current-users.
Allow relative file writes,
For relative file accesses, no longer continues searching dirlist once we find
_any_ file, even one for which we don't have access,
If no dirlist was given on the command line, apply same permissions check as
with 'absolute' requests before allowing access.
 1.15  20-Sep-1998  explorer Remember the interface the request comes in on, so we will reply to the
same address. This fixes tftp'ing to lo0 aliases.
 1.14  29-Jul-1998  lukem * implement -u user and -g group - to specify the username and/or
group to run as.
if -u isn't given, user defaults to "nobody".
if -g isn't given, group defaults to the primary group of user.
doesn't try and change uid or gid if they're already set ok.
should solve PR 4218.
* deprecate register
* deprecate trailing \n in syslog messages
 1.13  26-Jul-1998  mycroft const poisoning.
 1.12  03-Jul-1998  mrg clean up a bit of cruft.
 1.11  06-Nov-1997  lukem fix so syslog works after chroot, by adding LOG_NDELAY to openlog.
from Andreas Wrede <andreas@planix.com>, [bin/4429]
 1.10  19-Oct-1997  mycroft branches: 1.10.2;
Use S_IS*(), not S_IF*.
 1.9  07-Oct-1997  mrg WARNS?=1. merge lite-2.
 1.8  22-Apr-1997  mrg get rid of supplementary groups.
 1.7  04-Jun-1995  jtc The tftpd daemon must be invoked as root in order for the chroot()
call to succeed, and must give up those privledges as soon as the new
root has been aquired. Use setgid() & setuid() to explicitly set the
user and group IDs to non- priveleged values.

This change now requires tftpd to be executed by root. I haven't
studied the security implications of making it setuid root, so
inetd.conf needs to be changed to start it as root.
 1.6  03-Jun-1995  mycroft Fill in sin_len.
 1.5  01-Mar-1994  cgd From Christos Zoulas <christos@deshaw.com>:
As promised. the problem was that tftpd would core dump if given no arguments.
I fixed it to use getopt. I also changed 0 to fd, because I had added some
debugging code that allowed me to start it from the command line.
 1.4  10-Jan-1994  mycroft Add -s flag, per Roland McGrath, with changes and a manual page addition by me.
 1.3  01-Aug-1993  mycroft Add RCS identifiers.
 1.2  18-Apr-1993  mycroft Cleanup for GCC 2.
 1.1  21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.2  29-Apr-1997  tls Import from 4.4BSD-Lite
 1.1.1.1  21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.10.2.1  06-Nov-1997  mellon Pull rev 1.11 up from trunk (lukem)
 1.16.2.1  23-Jun-1999  perry pullup 1.16->1.17 (carrel)
 1.18.8.4  09-Apr-2004  jmc Pullup rev 1.22,1.24(patch),1.25 (requested by jmc in ticket #98)

Finish pullup to trunk version w. fixes for 'blksize' option and
timeout/tsize options.
 1.18.8.3  26-Feb-2001  he Pull up revision 1.19 (requested by he):
Use unsigned variables for block number, thus allowing transfer
of up to 32M files instead of 16M.
 1.18.8.2  03-Feb-2001  he Pull up revision 1.21 (requested by itojun):
Make sure not to overrun packet buffer with error message string.
 1.18.8.1  03-Feb-2001  he Pull up revision 1.20 (requested by itojun):
Handle getnameinfo error properly.
 1.27.2.1  10-May-2004  tron Pull up revision 1.28 (requested by kleink in ticket #272):
Make sure we tzset() before chroot(); after passing that point
it may no longer be accessible for syslog() to format messages.
 1.30.20.1  18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.31.6.1  13-May-2009  jym Sync with HEAD.

Third (and last) commit. See http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html
 1.31.4.1  02-Nov-2011  riz Pull up following revision(s) (requested by bouyer in ticket #1677):
libexec/tftpd/tftpd.c: revision 1.32
libexec/tftpd/tftpd.8: revision 1.22
libexec/tftpd/tftpd.c: revision 1.33
libexec/tftpd/tftpd.8: revision 1.23
libexec/tftpd/tftpd.c: revision 1.34
libexec/tftpd/tftpd.8: revision 1.24
fix shadowed variable
Patrick Welche <prlw1%cam.ac.uk@localhost>
- 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)
Sort options in SYNOPSIS.
New sentence, new line.
Use only mdoc markup.
Make HTML-ready.
Sync usage with man page.
 1.39.8.1  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.39.2.1  22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.44.2.1  26-Jul-2016  pgoyette Sync with HEAD

RSS XML Feed