Home | History | Annotate | only in /src/usr.bin/tftp
History log of /src/usr.bin/tftp
RevisionDateAuthorComments
 1.16 03-Jun-2023  lukem bsd.own.mk: rename GCC_NO_* to CC_WNO_*

Rename compiler-warning-disable variables from
GCC_NO_warning
to
CC_WNO_warning
where warning is the full warning name as used by the compiler.

GCC_NO_IMPLICIT_FALLTHRU is CC_WNO_IMPLICIT_FALLTHROUGH

Using the convention CC_compilerflag, where compilerflag
is based on the full compiler flag name.
 1.15 03-Feb-2021  roy tftp: no longer need packed member warning
 1.14 07-Sep-2020  mrg apply GCC_NO_ADDR_OF_PACKED_MEMBER
 1.13 08-Feb-2020  fox user.bin/tftp: Suppress -Werror=format-overflow error.

Add -Wno-error=format-overflow tftp.c to prevent build failure.

Error was reported when build.sh was run with MKLIBCSANITIZER=yes flag.

Reviewed by: kamil@
 1.12 04-Oct-2019  mrg turn off various warnings for various things:

- file has looks bogus maybe-uninitialized
- llvm triggers an attribute violation:
ScheduleDAGInstrs.cpp:1430:14: error: declaration of
'llvm::raw_ostream& llvm::operator<<(llvm::raw_ostream&, const llvm::ILPValue&)'
with attribute 'noinline' follows inline declaration [-Werror=attributes]
- ntp and pkg_install have obvious restrict violations, should be
fixed but i'm avoiding patching upstream code in this pass
- tftp has an array bounds that doesn't seem real issue
- sysinst's partman.c has major problem with passing the same
string as source and dest in snprintf, as a way to strcat
with formatting which trip restrict violations. non trivial
to fix so for now the warning is elided.
- Xext's XEVI.c has similar issue as partman.c

everyone and GCC 8 gets these warnings turned off for now:

-Wno-format-truncation
-Wno-stringop-overflow
-Wno-stringop-truncation
-Wno-cast-function-type

as they trip a large amount of code. most of them should be
investigated, but the few i looked at were not finding actually
real bugs, vs instances of poor coding, so skipping for now.
 1.11 29-Mar-2013  rkujawa branches: 1.11.28;
Work around "variable might be clobbered by longjmp" gcc warning when compiling with CPUFLAGS=-march=armv7. Should be fixed properly one day...
 1.10 14-Apr-2009  lukem branches: 1.10.6; 1.10.12;
Enable WARNS=4 by default for usr.bin, except for:
awk bdes checknr compile_et error gss hxtool kgetcred kinit
klist ldd less lex locale login m4 man menuc mk_cmds
mklocale msgc openssl rpcgen rpcinfo sdiff spell ssh
string2key telnet tn3270 verify_krb5_conf xlint
 1.9 28-May-2007  tls branches: 1.9.20;
Add new Makefile knob, USE_FORT, which extends USE_SSP by turning on the
FORTIFY_SOURCE feature of libssp, thus checking the size of arguments to
various string and memory copy and set functions (as well as a few system
calls and other miscellany) where known at function entry. RedHat has
evidently built all "core system packages" with this option for some time.

This option should be used at the top of Makefiles (or Makefile.inc where
this is used for subdirectories) but after any setting of LIB.

This is only useful for userland code, and cannot be used in libc or in
any code which includes the libc internals, because it overrides certain
libc functions with macros. Some effort has been made to make USE_FORT=yes
work correctly for a full-system build by having the bsd.sys.mk logic
disable the feature where it should not be used (libc, libssp iteself,
the kernel) but no attempt has been made to build the entire system with
USE_FORT and doing so will doubtless expose numerous bugs and misfeatures.

Adjust the system build so that all programs and libraries that are setuid,
directly handle network data (including serial comm data), perform
authentication, or appear likely to have (or have a history of having)
data-driven bugs (e.g. file(1)) are built with USE_FORT=yes by default,
with the exception of libc, which cannot use USE_FORT and thus uses
only USE_SSP by default. Tested on i386 with no ill results; USE_FORT=no
per-directory or in a system build will disable if desired.
 1.8 20-Nov-2005  ross Fix old-style C code, update to WARNS=4.
Also, move file-scope .c extern decls to the .h file
 1.7 19-Nov-2001  itojun __ss_{len,famiy} hack is no longer necessary
 1.6 12-Jul-1999  itojun IPv6 support.
clarify a bit (specifically, routines in tftp.c now does not
modify "peeraddr")
 1.5 20-Oct-1997  lukem remove WARNS=0
 1.4 07-Oct-1997  mrg WARNS?=1
 1.3 08-Dec-1994  jtc Merged with 4.4lite.
Changed to conform to NetBSD's new RCS Id convention.
 1.2 30-Jul-1993  mycroft Add RCS identifiers.
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.2 08-Dec-1994  jtc imported from 4.4lite
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.9.20.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.10.12.1 23-Jun-2013  tls resync from head
 1.10.6.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.11.28.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.7 17-Sep-2011  christos ansify, const, knf
 1.6 21-Jul-2006  jmcneill Add support for the multicast TFTP option. Reviewed by Rui Paulo.
 1.5 31-Jan-2006  christos PR/32680: Yves-Emmanuel JUTARD: Improve some error checking that causes
memory corruption on out of memory errors.
While I am here, remove some lint.
 1.4 20-Nov-2005  ross Fix old-style C code, update to WARNS=4.
Also, move file-scope .c extern decls to the .h file
 1.3 07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22365, verified by myself.
 1.2 08-Dec-1994  jtc Merged with 4.4lite.
Changed to conform to NetBSD's new RCS Id convention.
 1.1 08-Dec-1994  jtc branches: 1.1.1;
Initial revision
 1.1.1.1 08-Dec-1994  jtc imported from 4.4lite
 1.32 16-Jul-2012  he Undo the non-sharing of the "toplevel" jmp_buf between main.c and tftp.c,
so that we don't get a core dump if a transfer time-out is experienced.
Also, get rid of an extranous newline printed in the case of time-out.
 1.31 20-Mar-2012  matt Use C89 function definitions
 1.30 16-Jan-2012  christos branches: 1.30.2;
PR/45842: Henning Petersen: compare fgets with NULL not 0
 1.29 17-Sep-2011  christos branches: 1.29.2;
ansify, const, knf
 1.28 17-Sep-2011  minskim Add back a line accidentally deleted in the previous commit.
 1.27 16-Sep-2011  joerg Use __dead
 1.26 21-Jul-2008  lukem Remove the \n and tabs from the __COPYRIGHT() strings.
Tweak to use a consistent format.
 1.25 22-Oct-2006  christos branches: 1.25.18;
use c99 initializer.
 1.24 21-Jul-2006  jmcneill Add support for the multicast TFTP option. Reviewed by Rui Paulo.
 1.23 09-Apr-2006  christos Coverity CID 894: Avoid NULL dereference that cannot really happen.
 1.22 09-Apr-2006  christos Pass lint.
 1.21 31-Jan-2006  christos PR/32680: Yves-Emmanuel JUTARD: Improve some error checking that causes
memory corruption on out of memory errors.
While I am here, remove some lint.
 1.20 20-Nov-2005  ross Fix old-style C code, update to WARNS=4.
Also, move file-scope .c extern decls to the .h file
 1.19 02-Oct-2003  itojun correct arg to setpeer() from main().
 1.18 02-Oct-2003  itojun correct arg handling in setpeer().
 1.17 07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22365, verified by myself.
 1.16 12-Jul-2003  itojun strlcpy
 1.15 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.14 30-Dec-2000  itojun fix argument validation mistake in setpeer().
From: Hiroyuki YAMAMORI <h-yamamo@db3.so-net.ne.jp>
 1.13 21-Nov-2000  itojun make sure we do not overrun peeraddr.
 1.12 12-Jul-1999  itojun branches: 1.12.8;
call freeaddrinfo() after getaddrinfo() to reclaim results.
 1.11 12-Jul-1999  itojun IPv6 support.
clarify a bit (specifically, routines in tftp.c now does not
modify "peeraddr")
 1.10 19-Dec-1998  christos char -> unsigned char
<fcntl.h> instead of <sys/file.h>
compensate for different types in th_stuff
 1.9 20-Oct-1997  lukem deprecate register, use err/warn, fix .Nm usage
 1.8 07-Oct-1997  mrg WARNS?=1
 1.7 07-Sep-1996  explorer Fix some potential buffer overflow problems.
From David Holland <dholland@hcs.harvard.edu>
 1.6 21-May-1995  mycroft Use inet_aton(), not inet_addr().
 1.5 08-Dec-1994  jtc Merged with 4.4lite.
Changed to conform to NetBSD's new RCS Id convention.
 1.4 05-Feb-1994  cgd from: Christoph Robitschko <chmr@edvz.tu-graz.ac.at>
>fixed segmentation fault when connecting to nowhere.
>Also changed all gets() to fgets().
 1.3 01-Aug-1993  mycroft Add RCS identifiers.
 1.2 21-Apr-1993  mycroft Cleanup for GCC 2.
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.2 08-Dec-1994  jtc imported from 4.4lite
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.12.8.4 09-Apr-2004  jmc Patch for tftp/tftpd to work
 1.12.8.3 07-Apr-2004  jmc Pullup rev 1.15-1.19 (requested by itojun in ticket #98)

Pullup to trunk version w. fixes for 'blksize' option and timeout/tsize options
 1.12.8.2 03-Feb-2001  he Pull up revision 1.13 (requested by itojun):
Make sure we do not overrun peeraddr.
 1.12.8.1 25-Jan-2001  jhawk Pull up revision 1.14 (requested by itojun):
Fix argument validation error in setpeer().
 1.25.18.1 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.29.2.2 30-Oct-2012  yamt sync with head
 1.29.2.1 17-Apr-2012  yamt sync with head
 1.30.2.1 20-Jul-2012  riz Pull up following revision(s) (requested by he in ticket #425):
usr.bin/tftp/main.c: revision 1.32
usr.bin/tftp/tftp.c: revision 1.34
Undo the non-sharing of the "toplevel" jmp_buf between main.c and tftp.c,
so that we don't get a core dump if a transfer time-out is experienced.
Also, get rid of an extranous newline printed in the case of time-out.
 1.21 03-Jul-2017  wiz Remove workaround for ancient HTML generation code.
 1.20 23-Jul-2006  wiz Nitpicks.
 1.19 23-Jul-2006  jmcneill Mention multicast TFTP support.
 1.18 07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22365, verified by myself.
 1.17 04-Jul-2003  wiz Bump date for last.
 1.16 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.15 25-Feb-2003  wiz .Nm does not need a dummy argument ("") before punctuation or
for correct formatting of the SYNOPSIS any longer.
 1.14 30-Sep-2002  grant New sentence, new line.
 1.13 08-Feb-2002  ross Generate <>& symbolically. I'm avoiding .../dist/... directories for now.
 1.12 01-Dec-2001  wiz Whitespace cleanup.
 1.11 13-Dec-1999  itojun branches: 1.11.4;
[host]:filename syntax for IPv6 case.
 1.10 12-Jul-1999  itojun branches: 1.10.4;
IPv6 support.
clarify a bit (specifically, routines in tftp.c now does not
modify "peeraddr")
 1.9 22-Mar-1999  garbled More and more .Os cleanups. .Os is defined in the tmac.doc-common file,
so we shouldn't override it with versions in the manpages. Many more to
come.
 1.8 08-Jun-1998  lukem Implement a new manual page category ``SECURITY CONSIDERATIONS''
(suggested by mycroft)
 1.7 28-Apr-1998  fair Change occurrences of "UNIX" to .Ux or .At as appropriate.
 1.6 20-Oct-1997  lukem deprecate register, use err/warn, fix .Nm usage
 1.5 18-Aug-1995  pk Replace `.LI' by `.Ql' (from Masanobu Saitoh; PR#1376).
 1.4 08-Dec-1994  jtc Merged with 4.4lite.
Changed to conform to NetBSD's new RCS Id convention.
 1.3 11-Jan-1994  jtc Fix spelling errors.
 1.2 01-Aug-1993  mycroft Add RCS indentifiers.
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.2 08-Dec-1994  jtc imported from 4.4lite
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.10.4.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.11.4.1 07-Apr-2004  jmc Pullup rev 1.12-1.17 (requested by itojun in ticket #96)

Finish pulling up new options code from trunk
 1.37 06-Jan-2023  christos PR/57166: John Dundas: Correct error code byte order in error message
 1.36 03-Sep-2016  dholland storage class first, *then* __dead
 1.35 03-Sep-2016  sevan Remove K&R __P macros.
Remove main() function prototype if present.
Mark usage() as __dead if not already.
Binaries generated with & without these patches were compared with diff -r.
 1.34 16-Jul-2012  he Undo the non-sharing of the "toplevel" jmp_buf between main.c and tftp.c,
so that we don't get a core dump if a transfer time-out is experienced.
Also, get rid of an extranous newline printed in the case of time-out.
 1.33 20-Mar-2012  matt Use C89 function definitions
 1.32 17-Sep-2011  christos branches: 1.32.2; 1.32.4;
ansify, const, knf
 1.31 16-Sep-2011  joerg Use __dead
 1.30 18-Jan-2009  lukem fix -Wsign-compare issues
 1.29 11-Dec-2008  seanb - Malformed multicast option not being checked
for correctly. Could fault client.
- 'mc' (master client) field not being examined
properly. Actually looking at addr field so
proably always working out to non 0 (master).
 1.28 22-Oct-2006  christos sprinkle volatile.
 1.27 29-Sep-2006  christos Coverity CID 4119: Check negative returns (from Arnaud Lacombe)
 1.26 21-Jul-2006  jmcneill Add support for the multicast TFTP option. Reviewed by Rui Paulo.
 1.25 09-Apr-2006  christos Pass lint.
 1.24 01-Feb-2006  martin Do not use %d for size_t!
 1.23 31-Jan-2006  christos PR/32680: Yves-Emmanuel JUTARD: Improve some error checking that causes
memory corruption on out of memory errors.
While I am here, remove some lint.
 1.22 20-Nov-2005  ross Fix old-style C code, update to WARNS=4.
Also, move file-scope .c extern decls to the .h file
 1.21 02-Jun-2005  lukem appease gcc -Wuninitialized
 1.20 10-Oct-2004  he Move declaration of local variables to start of function instead of
inside a block after code. Fixes build problem for vax, which still
uses gcc 2.95.3.
 1.19 02-Oct-2004  erh Make the extended options work on little endian machines.
Allow files smaller than 512 bytes to be received w/o a timeout.
 1.18 07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22365, verified by myself.
 1.17 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.16 01-Feb-2003  wiz Fix sendto return value check (incomplete change in 1.14).
Noted by Brian Ginsbach in PR 19842.
 1.15 30-Dec-2000  itojun branches: 1.15.2;
fix argument validation mistake in setpeer().
From: Hiroyuki YAMAMORI <h-yamamo@db3.so-net.ne.jp>
 1.14 21-Nov-2000  itojun make sure we do not overrun tp->th_msg on ERROR packet.
correct ERROR length to include terminating \0 (RFC1350 page 8).
 1.13 22-Oct-2000  dogcow A too hasty checkin (and lack of -Wsign-compare) made send() never fail.
Newly added 'unsigned' removed from vars that shouldn't have had it.
 1.12 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.11 21-Jan-2000  mycroft branches: 1.11.4;
Nuke `extern int errno;' in code we compile with -Wstrict-prototypes. We get
the correct definition from errno.h.
 1.10 12-Jul-1999  itojun IPv6 support.
clarify a bit (specifically, routines in tftp.c now does not
modify "peeraddr")
 1.9 19-Dec-1998  christos branches: 1.9.2;
char -> unsigned char
<fcntl.h> instead of <sys/file.h>
compensate for different types in th_stuff
 1.8 26-Jul-1998  mycroft const poisoning.
 1.7 20-Oct-1997  lukem deprecate register, use err/warn, fix .Nm usage
 1.6 07-Oct-1997  mrg WARNS?=1
 1.5 29-Apr-1995  cgd needs string.h
 1.4 08-Dec-1994  jtc Merged with 4.4lite.
Changed to conform to NetBSD's new RCS Id convention.
 1.3 01-Aug-1993  mycroft Add RCS identifiers.
 1.2 21-Apr-1993  mycroft Cleanup for GCC 2.
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.2 08-Dec-1994  jtc imported from 4.4lite
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.9.2.1 23-Jan-2000  he Pull up revision 1.11 (via patch, requested by mycroft):
Always do the errno indirection hack, so that non-threaded
libraries get the right errno value when linked with -lpthread.
This means "always include <errno.h> and never declare errno
yourself".
 1.11.4.4 09-Apr-2004  jmc Pullup version 1.17 for tftp/tftpd to work
 1.11.4.3 07-Apr-2004  jmc Pullup rev 1.15 (requested by itojun in ticket #96)

Finish pulling up new options code from trunk
 1.11.4.2 11-Feb-2003  msaitoh Pull up revision 1.16 (requested by wiz):
Fix sendto return value check (incomplete change in 1.14).
Noted by Brian Ginsbach in PR 19842.
 1.11.4.1 26-Feb-2001  he Pull up revisions 1.12-1.14 (requested by he):
Use unsigned variables for block number, thus allowing transfer
of up to 32M files instead of 16M.
 1.15.2.1 28-Apr-2003  tron Pull up revision 1.16 (requested by wiz in ticket #1139):
Fix sendto return value check (incomplete change in 1.14).
Noted by Brian Ginsbach in PR 19842.
 1.32.4.1 20-Jul-2012  riz Pull up following revision(s) (requested by he in ticket #425):
usr.bin/tftp/main.c: revision 1.32
usr.bin/tftp/tftp.c: revision 1.34
Undo the non-sharing of the "toplevel" jmp_buf between main.c and tftp.c,
so that we don't get a core dump if a transfer time-out is experienced.
Also, get rid of an extranous newline printed in the case of time-out.
 1.32.2.2 30-Oct-2012  yamt sync with head
 1.32.2.1 17-Apr-2012  yamt sync with head
 1.12 17-Sep-2011  christos ansify, const, knf
 1.11 18-Jan-2009  lukem fix -Wsign-compare issues
 1.10 09-Apr-2006  christos Pass lint.
 1.9 31-Jan-2006  christos PR/32680: Yves-Emmanuel JUTARD: Improve some error checking that causes
memory corruption on out of memory errors.
While I am here, remove some lint.
 1.8 07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22365, verified by myself.
 1.7 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.6 12-Jul-1999  itojun branches: 1.6.8;
IPv6 support.
clarify a bit (specifically, routines in tftp.c now does not
modify "peeraddr")
 1.5 20-Oct-1997  lukem deprecate register, use err/warn, fix .Nm usage
 1.4 07-Oct-1997  mrg WARNS?=1
 1.3 08-Dec-1994  jtc Merged with 4.4lite.
Changed to conform to NetBSD's new RCS Id convention.
 1.2 01-Aug-1993  mycroft Add RCS identifiers.
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.2 08-Dec-1994  jtc imported from 4.4lite
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.6.8.1 07-Apr-2004  jmc Pullup rev 1.7 (requested by itojun in ticket #96)

Finish pulling up new options code from trunk
 1.6 17-Sep-2011  christos ansify, const, knf
 1.5 31-Jan-2006  christos PR/32680: Yves-Emmanuel JUTARD: Improve some error checking that causes
memory corruption on out of memory errors.
While I am here, remove some lint.
 1.4 07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22365, verified by myself.
 1.3 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.2 08-Dec-1994  jtc branches: 1.2.16;
Merged with 4.4lite.
Changed to conform to NetBSD's new RCS Id convention.
 1.1 08-Dec-1994  jtc branches: 1.1.1;
Initial revision
 1.1.1.1 08-Dec-1994  jtc imported from 4.4lite
 1.2.16.1 07-Apr-2004  jmc Pullup rev 1.3 (requested by itojun in ticket #96)

Finish pulling up new options code from trunk

RSS XML Feed