Commit Graph

57 Commits

Author SHA1 Message Date
tls 4147a3c54a 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.
2007-05-28 12:06:17 +00:00
christos 528614c11b sprinkle volatile. 2006-10-22 16:45:35 +00:00
christos 88bb03c92e use c99 initializer. 2006-10-22 16:44:46 +00:00
christos 3f7563e969 Coverity CID 4119: Check negative returns (from Arnaud Lacombe) 2006-09-29 14:42:59 +00:00
wiz 56a3a2ae7a Nitpicks. 2006-07-23 18:01:58 +00:00
jmcneill 4f4e89872b Mention multicast TFTP support. 2006-07-23 17:52:24 +00:00
jmcneill 22c701ecab Add support for the multicast TFTP option. Reviewed by Rui Paulo. 2006-07-21 17:49:00 +00:00
christos 61894ae043 Coverity CID 894: Avoid NULL dereference that cannot really happen. 2006-04-09 18:47:49 +00:00
christos 9d0203193c Pass lint. 2006-04-09 18:45:19 +00:00
martin cf67045dd0 Do not use %d for size_t! 2006-02-01 20:26:28 +00:00
christos 643cfdb62a 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.
2006-01-31 17:36:56 +00:00
ross b4995580bb Fix old-style C code, update to WARNS=4.
Also, move file-scope .c extern decls to the .h file
2005-11-20 19:28:23 +00:00
lukem 9aeda3fd63 appease gcc -Wuninitialized 2005-06-02 03:11:23 +00:00
he 0e68544091 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.
2004-10-10 22:15:34 +00:00
erh c6f93ec983 Make the extended options work on little endian machines.
Allow files smaller than 512 bytes to be received w/o a timeout.
2004-10-02 05:05:35 +00:00
itojun 8af6887573 correct arg to setpeer() from main(). 2003-10-02 23:31:52 +00:00
itojun 8cf5cbae01 correct arg handling in setpeer(). 2003-10-02 21:33:05 +00:00
agc 89aaa1bb64 Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22365, verified by myself.
2003-08-07 11:13:06 +00:00
itojun 417386ecc9 strlcpy 2003-07-12 13:38:10 +00:00
wiz 44b0609fe6 Bump date for last. 2003-07-04 12:13:29 +00:00
briggs 4441128638 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.
2003-06-11 01:43:52 +00:00
wiz 990562bfef .Nm does not need a dummy argument ("") before punctuation or
for correct formatting of the SYNOPSIS any longer.
2003-02-25 10:34:36 +00:00
wiz 2f4d0544fa Fix sendto return value check (incomplete change in 1.14).
Noted by Brian Ginsbach in PR 19842.
2003-02-01 16:42:31 +00:00
grant be8ae688ae New sentence, new line. 2002-09-30 11:08:56 +00:00
ross 2a76afae02 Generate <>& symbolically. I'm avoiding .../dist/... directories for now. 2002-02-08 01:36:18 +00:00
wiz aded0d2cce Whitespace cleanup. 2001-12-01 16:43:07 +00:00
itojun 64b7f58d02 __ss_{len,famiy} hack is no longer necessary 2001-11-19 03:20:02 +00:00
itojun 209b37f0e1 fix argument validation mistake in setpeer().
From: Hiroyuki YAMAMORI <h-yamamo@db3.so-net.ne.jp>
2000-12-30 18:00:18 +00:00
itojun 78673096cc make sure we do not overrun tp->th_msg on ERROR packet.
correct ERROR length to include terminating \0 (RFC1350 page 8).
2000-11-21 14:58:21 +00:00
itojun 44442755b9 make sure we do not overrun peeraddr. 2000-11-21 14:28:54 +00:00
dogcow 050d9a2b9c 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.
2000-10-22 01:42:15 +00:00
dogcow 90c3bfc9b0 defs had 'short block' for blocksize; changed defs to be unsigned.
added note to tftpd.8 that this bug hits multiple tftp clients.
2000-10-18 01:35:45 +00:00
mycroft f5d7100e26 Nuke `extern int errno;' in code we compile with -Wstrict-prototypes. We get
the correct definition from errno.h.
2000-01-21 17:08:33 +00:00
itojun 62b5e94d25 [host]:filename syntax for IPv6 case. 1999-12-13 04:44:55 +00:00
itojun 9b9f995d4b call freeaddrinfo() after getaddrinfo() to reclaim results. 1999-07-12 20:50:54 +00:00
itojun a40e2f2822 IPv6 support.
clarify a bit (specifically, routines in tftp.c now does not
modify "peeraddr")
1999-07-12 20:19:20 +00:00
garbled 9e44e9b578 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.
1999-03-22 18:16:34 +00:00
christos e42e202cfb char -> unsigned char
<fcntl.h> instead of <sys/file.h>
compensate for different types in th_stuff
1998-12-19 22:41:21 +00:00
mycroft 66427701ea const poisoning. 1998-07-26 15:23:39 +00:00
lukem fc90756956 Implement a new manual page category ``SECURITY CONSIDERATIONS''
(suggested by mycroft)
1998-06-08 12:41:41 +00:00
fair dc026e0515 Change occurrences of "UNIX" to .Ux or .At as appropriate. 1998-04-28 06:00:51 +00:00
lukem 0471adfdaa deprecate register, use err/warn, fix .Nm usage 1997-10-20 00:46:37 +00:00
lukem d53fd57439 remove WARNS=0 1997-10-20 00:45:33 +00:00
mrg 11eb9f8e06 WARNS?=1 1997-10-07 09:19:40 +00:00
explorer d3a4eeb1fe Fix some potential buffer overflow problems.
From David Holland <dholland@hcs.harvard.edu>
1996-09-07 21:05:37 +00:00
pk 7b77b5bf39 Replace `.LI' by `.Ql' (from Masanobu Saitoh; PR#1376). 1995-08-18 14:45:44 +00:00
mycroft 800709ce22 Use inet_aton(), not inet_addr(). 1995-05-21 15:50:45 +00:00
cgd 7d9d6e9faf needs string.h 1995-04-29 05:55:25 +00:00
jtc 1bbda10eb1 Merged with 4.4lite.
Changed to conform to NetBSD's new RCS Id convention.
1994-12-08 09:51:23 +00:00
jtc f6da7412fe imported from 4.4lite 1994-12-08 09:38:45 +00:00