Commit Graph

39 Commits

Author SHA1 Message Date
bdrewery
b619f0c747 Revert r267233 for now. PIE support needs to be reworked.
1. 50+% of NO_PIE use is fixed by adding -fPIC to INTERNALLIB and other
   build-only utility libraries.
2. Another 40% is fixed by generating _pic.a variants of various libraries.
3. Some of the NO_PIE use is a bit absurd as it is disabling PIE (and ASLR)
   where it never would work anyhow, such as csu or loader. This suggests
   there may be better ways of adding support to the tree. Many of these
   cases can be fixed such that -fPIE will work but there is really no
   reason to have it in those cases.
4. Some of the uses are working around hacks done to some Makefiles that are
   really building libraries but have been using bsd.prog.mk because the code
   is cleaner. Had they been using bsd.lib.mk then NO_PIE would not have
   been needed.

We likely do want to enable PIE by default (opt-out) for non-tree consumers
(such as ports). For in-tree though we probably want to only enable PIE
(opt-in) for common attack targets such as remote service daemons and setuid
utilities. This is also a great performance compromise since ASLR is expected
to reduce performance. As such it does not make sense to enable it in all
utilities such as ls(1) that have little benefit to having it enabled.

Reported by:	kib
2014-08-19 15:04:32 +00:00
bdrewery
989e2c6000 In preparation for ASLR [1] support add WITH_PIE to support building with -fPIE.
This is currently an opt-in build flag. Once ASLR support is ready and stable
it should changed to opt-out and be enabled by default along with ASLR.

Each application Makefile uses opt-out to ensure that ASLR will be enabled by
default in new directories when the system is compiled with PIE/ASLR. [2]

Mark known build failures as NO_PIE for now.

The only known runtime failure was rtld.

[1] http://www.bsdcan.org/2014/schedule/events/452.en.html
Submitted by:		Shawn Webb <lattera@gmail.com>
Discussed between:	des@ and Shawn Webb [2]
2014-06-08 17:29:31 +00:00
dim
c19ac081a3 Since clang 3.2 now has an option to suppress warnings about implicitly
promoted K&R parameters, remove the workarounds added for sendmail
components in r228558.

MFC after:	1 week
2013-02-16 20:17:31 +00:00
dim
0d1f91e8e1 Define several extra macros in bsd.sys.mk and sys/conf/kern.pre.mk, to
get rid of testing explicitly for clang (using ${CC:T:Mclang}) in
individual Makefiles.

Instead, use the following extra macros, for use with clang:
- NO_WERROR.clang       (disables -Werror)
- NO_WCAST_ALIGN.clang  (disables -Wcast-align)
- NO_WFORMAT.clang	(disables -Wformat and friends)
- CLANG_NO_IAS		(disables integrated assembler)
- CLANG_OPT_SMALL	(adds flags for extra small size optimizations)

As a side effect, this enables setting CC/CXX/CPP in src.conf instead of
make.conf!  For clang, use the following:

CC=clang
CXX=clang++
CPP=clang-cpp

MFC after:	2 weeks
2012-02-28 18:30:18 +00:00
dim
3e050c7f7a In usr.bin/vacation/Makefile, fix a typo in the comment about clang
warnings.

Spotted by:	arundel
MFC after:	1 week
2011-12-19 13:38:28 +00:00
dim
485500f77e Unfortunately, clang gives warnings about sendmail code that cannot be
turned off yet.  Since this is contrib code, and we don't really care
about the warnings, just turn make them non-fatal for now.

MFC after:	1 week
2011-12-17 18:39:04 +00:00
ed
9b380e30d4 Build usr.bin/ with WARNS=6 by default.
Also add some missing $FreeBSD$ to keep svn happy.
2010-01-02 10:27:05 +00:00
des
2bb8de20fe Remove kludges intended to support src trees with partial obj trees.
Discussed with:	ru
2005-06-10 06:12:53 +00:00
gshapiro
e95dd66c1f Remove MAINTAINER= lines from individual Makefiles in favor of the
MAINTAINER file (which already had entries for sendmail).
2003-07-07 03:54:04 +00:00
gshapiro
730b12a9a9 Update build infrastructure for sendmail 8.12. 2002-02-17 22:05:07 +00:00
markm
31d81e4fbc Remove NO_WERRORs and WARNS=n's. To be revisited after GCC3. 2002-02-08 23:07:37 +00:00
markm
2b9e49a79f Protect this from the coming WARNS=2 default. 2001-12-11 23:12:44 +00:00
gshapiro
90b1557dac Add a MAINTAINER= line so people know who to blame 2000-10-26 23:02:36 +00:00
gshapiro
75662c3ef9 Fix man page installation
Style fixes

Submitted by:	bde
2000-10-11 04:53:30 +00:00
gshapiro
4e71ee6c3d Use sendmail's version of vacation. It is command line and database
compatible with the old version but includes new functionality and bug fixes.

Since it is not part of the NO_SENDMAIL make.conf option, libsmdb and
libsmutil should always be built for vacation's sake.

PR:		15227
2000-10-10 18:14:30 +00:00
imp
3c95f9ccde getopt and friends are declared in <unistd.h>
getopt returns -1 not EOF.
2000-09-04 06:09:54 +00:00
sheldonh
49c4458c80 Remove single-space hard sentence breaks. These degrade the quality
of the typeset output, tend to make diffs harder to read and provide
bad examples for new-comers to mdoc.
2000-03-01 12:20:22 +00:00
peter
3b842d34e8 $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
sheldonh
5924813a9f Add a messy example of how to get debug-mode error messages written to
a file in the user's home directory.

Requested by:	hoek
1999-06-23 15:44:40 +00:00
sheldonh
cc616cd95b Postpone call to usage() until after all options are processed so that
the -d debugging option produces consistent behaviour.
1999-06-18 08:52:13 +00:00
sheldonh
08db2060ae Please forgive me, it's my first day on the block. Forgot to mention:
PR:	11987
1999-06-17 14:49:19 +00:00
sheldonh
ef70238bd7 Null commit to reflect that the previous commit added warnings for
previously unreported malloc() failures, and changed the exit status
for those failures to encourage MTA retries.
1999-06-17 14:48:02 +00:00
sheldonh
5de41d182a * Add a command-line option to enable debugging mode, which sends error
messages to stderr instead of syslog.

* Fix manpage with respect to diagnostics.

Reported by:	rfg@monkeys.com (Ronald F. Guilmette)
1999-06-17 14:44:42 +00:00
des
3ca80efd3a Calls one or more of malloc(), warn(), err(), syslog(), execlp() or
execvp() in the child branch of a vfork(). Changed to use fork()
instead.

Some of these (mv, find, apply, xargs) might benefit greatly from
being rewritten to use vfork() properly.

PR:		Loosely related to bin/8252
Approved by:	jkh and bde
1998-10-13 14:52:33 +00:00
charnier
16031202f5 Add const to copyright string. Hide sccsid string. 1997-11-03 07:51:05 +00:00
phk
d8ac409160 Many places in the code NULL is used in integer context, where
plain 0 should be used.  This happens to work because we #define
NULL to 0, but is stylistically wrong and can cause problems
for people trying to port bits of code to other environments.

PR:		2752
Submitted by:	Arne Henrik Juul <arnej@imf.unit.no>
1997-09-18 14:08:40 +00:00
imp
fafa82ed45 Stop parsing args before user supplied to argument in sendmail.
Submitted by:	Oliver Friedrichs <oliver@silence.secnet.com>
1997-08-28 04:40:51 +00:00
ache
a5e825e238 Even better fix: use close(fileno(mfp)); to close unneded descriptor
and not clobber memory by fclose().
1997-04-23 22:40:19 +00:00
ache
2d3f3d2ffc Better fix: return vfork() again, but remove clobbering fclose()
and use _exit() instead of exit()
1997-04-23 22:36:51 +00:00
ache
bb67f32a94 Replace vfork() by fork(), vfork() usage is totally bogus in this context.
This program don't bother to do even minimal vfork() support as per vfork(2)
manpage required.
1997-04-23 22:25:20 +00:00
imp
141381e1cb compare return value from getopt against -1 rather than EOF, per the final
posix standard on the topic.
1997-03-29 04:34:07 +00:00
peter
f390c26dd9 Revert $FreeBSD$ to $Id$ 1997-02-22 19:58:13 +00:00
jkh
808a36ef65 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.
1997-01-14 07:20:47 +00:00
bde
01c2d5fc0e Removed stray DPADD. 1997-01-10 05:08:25 +00:00
joerg
8d0e25e335 Various cleanups:
. prototyped and staticized the internal functions while i was here,
. made the thing -Wall clean,
. fixed an error that causes the recipient name to be matched only
  for the first characters, as opposed to a full name (wonder why i'm
  concerned?  Well, one of my login IDs is `j', and i've noticed that
  vacation has been sending out replies to all mailing list messages
  that had a jkh@ or jmb@ in it :),
. introduced an option -l to list the contents of the database; mucho
  useful if you've got (too) many mailing list messages in your inbox
  and wanna make sure you don't miss the `important' mails.
1996-09-28 13:37:38 +00:00
mpp
3aeb7f1d49 Correct a bunch of man page cross references and generally
try and silence "manck".

ncurses, rpc, and some of the gnu stuff are still a big mess, however.
1996-02-11 22:38:05 +00:00
mpp
6e83fbce86 Correct some manual page cross reference errors. E.g. su is a section
one man page, not section eight.  This is the first round of such changes
and only fixes man pages in manual section one.
1996-02-02 00:26:12 +00:00
wollman
fc1f6c1d76 Delete bogus referneces to timezone code internal header file `tzfile.h',
which is no longer bogusly installed in /usr/include.
1995-08-07 19:17:46 +00:00
rgrimes
f9ab90d9d6 BSD 4.4 Lite Usr.bin Sources 1994-05-27 12:33:43 +00:00