Commit Graph

5873 Commits

Author SHA1 Message Date
dim
d07708df70 Connect libclang_rt to the build, for specific architectures. This
contains the libraries for Address Sanitizer (asan), Undefined Behavior
Sanitizer (ubsan) and Profile Guided Optimization.

ASan is a fast memory error detector. It can detect the following types
of bugs:

    Out-of-bounds accesses to heap, stack and globals
    Use-after-free
    Use-after-return (to some extent)
    Double-free, invalid free
    Memory leaks (experimental)

Typical slowdown introduced by AddressSanitizer is 2x.

UBSan is a fast and compatible undefined behavior checker. It enables a
number of undefined behavior checks that have small runtime cost and no
impact on address space layout or ABI.

PLEASE NOTE: the sanitizers still have some rough edges on FreeBSD,
particularly on i386.  These will hopefully be smoothed out in the
coming time.

Differential Revision: https://reviews.freebsd.org/D1505
2015-01-13 19:54:47 +00:00
delphij
752df384b5 Properly remove ieee488, gpib and readline from mtree. 2015-01-09 18:05:50 +00:00
trasz
1ea9d32cd5 Make /net use -intr by default. Linux does that, and it seems a good idea.
MFC after:	1 month
Sponsored by:	The FreeBSD Foundation
2015-01-08 16:35:09 +00:00
hselasky
9117e0288e Add makefile for the "osmtest" utility. While at it:
- Fix depend target by removing a space after an "-I" inclusion option.
- Fix some minor compile issues in the "osmtest" utility.

MFC after:	3 days
PR:		196580
Sponsored by:	Mellanox Technologies
2015-01-08 14:45:54 +00:00
ngie
5c0e2da500 Integrate bin/cat/tests from NetBSD into atf/kyua
Sponsored by: EMC / Isilon Storage Division
2015-01-04 22:37:44 +00:00
ngie
bcb0548272 Integrate sbin/ifconfig/tests from NetBSD into atf/kyua
Sponsored by: EMC / Isilon Storage Division
2015-01-04 22:25:16 +00:00
bapt
6947e68c2d Add pregenerated documentation for as(1) and ld(1) 2015-01-04 00:58:30 +00:00
dim
1848cf1db3 Merge ^/head r274961 through r276301. 2014-12-27 14:58:52 +00:00
smh
c2b9de7894 Allow info to display correctly in for varying tabstop settings
The SAMPLE message and notes where tab seperated for some parts and hence
displayed incorrectly unless tabstop was set to 8. Switch to spaces to it
displays correctly independent of the tabstop setting.

Sponsored by:	Multiplay
2014-12-24 01:50:44 +00:00
marck
36f227ffaf Add VAMI (VMware Appliance Management Interface) port.
Reviewed by:	eadler
MFC after:	2 weeks
2014-12-22 21:26:49 +00:00
dim
467c59d5a8 Merge ^/head r275759 through r275911. 2014-12-18 18:44:22 +00:00
ngie
9e9e76964f Fix building/installing tests when TESTSBASE != /usr/tests
The work in r258233 hardcoded the assumption that tests was the last component
of the tests tree by pushing tests as an explicit prefix for the paths in
BSD.tests.dist and /usr was the prefix for all tests, per BSD.usr.dist and all
of the mtree calls used in Makefile.inc1. This assumption breaks if/when one
provides a custom TESTSBASE "prefix", e.g. TESTSBASE=/mytests .

One thing that r258233 did properly though was remove "/usr/tests" creation
from BSD.usr.dist -- that should have not been there in the first place. That
was an "oops" on my part for the work that was originally committed in r241823

MFC after: 2 weeks
Phabric: D1301
Reviewed by: imp
Sponsored by: EMC / Isilon Storage Division
2014-12-18 18:16:00 +00:00
hselasky
f17c2a3729 Regenerate usb.conf .
MFC after:	1 week
2014-12-15 09:35:46 +00:00
dim
78f63e5d8a Merge ^/head r275715 through r275748. 2014-12-13 19:45:18 +00:00
jmg
c3ff54cc39 Add some new modes to OpenCrypto. These modes are AES-ICM (can be used
for counter mode), and AES-GCM.  Both of these modes have been added to
the aesni module.

Included is a set of tests to validate that the software and aesni
module calculate the correct values.  These use the NIST KAT test
vectors.  To run the test, you will need to install a soon to be
committed port, nist-kat that will install the vectors.  Using a port
is necessary as the test vectors are around 25MB.

All the man pages were updated.  I have added a new man page, crypto.7,
which includes a description of how to use each mode.  All the new modes
and some other AES modes are present.  It would be good for someone
else to go through and document the other modes.

A new ioctl was added to support AEAD modes which AES-GCM is one of them.
Without this ioctl, it is not possible to test AEAD modes from userland.

Add a timing safe bcmp for use to compare MACs.  Previously we were using
bcmp which could leak timing info and result in the ability to forge
messages.

Add a minor optimization to the aesni module so that single segment
mbufs don't get copied and instead are updated in place.  The aesni
module needs to be updated to support blocked IO so segmented mbufs
don't have to be copied.

We require that the IV be specified for all calls for both GCM and ICM.
This is to ensure proper use of these functions.

Obtained from:	p4: //depot/projects/opencrypto
Relnotes:	yes
Sponsored by:	FreeBSD Foundation
Sponsored by:	NetGate
2014-12-12 19:56:36 +00:00
dim
3f2f30da4d Merge ^/head r274961 through r275684. 2014-12-10 19:24:42 +00:00
trasz
5a2f0c0e00 Add "-media" autofs map, to access data on removable media, such as CD
drives or flash keys.  It can be enabled by uncommenting a single entry
in default /etc/auto_master.  It can also be easily modified to use
fuse-based filesystems instead of in-kernel ones.

There is still one deficiency - the mountpoints are permanent, they
don't disappear when user removes the media.  Fixing it needs some
autofs changes.

Differential Revision:	https://reviews.freebsd.org/D1210
MFC after:	1 month
Sponsored by:	The FreeBSD Foundation
2014-12-10 14:36:44 +00:00
dim
78c1f8fbf4 Merge ^/head r275262 through r275363. 2014-12-01 13:14:39 +00:00
des
b57dabdefb The early-late divider was originally set to mountcritlocal. Since that
service does not run in jails, it was necessary to change it to something
else when jailed, and NETWORKING was arbitrarily chosen.  The divider was
later moved to FILESYSTEMS when it was introduced, but the logic to change
it to NETWORKING when jailed remained.  Remove it, as it no longer serves
any purpose.

PR:		194975
MFC after:	1 week
2014-12-01 12:29:59 +00:00
des
48aea3a5cf Allow load_rc_config to be called without a service name.
MFC after:	1 week
2014-12-01 12:17:42 +00:00
ngie
c85f514c6e Remove duplicate FILESYSTEMS REQUIRE from etc/rc.d/ipmon and etc/rc.d/pflog 2014-11-30 12:34:48 +00:00
ngie
9c23296261 Remove etc/rc.d/mrouted
mrouted has been available in ports for the last 8 years as net/mrouted . An
equivalent rc.d script has been present in the port.

Remove all corresponding variables from etc/defaults/rc.conf

Relnotes: yes
2014-11-30 06:03:59 +00:00
ngie
b77aaa6e5f Revert r275270
MK_MAIL applies to MK_SENDMAIL and a number of other knobs. r275270 incorrectly
applied it to only MK_SENDMAIL
2014-11-29 22:31:19 +00:00
ngie
6ac0df4999 etc/mail actually applies to MK_SENDMAIL, not MK_MAIL 2014-11-29 22:26:35 +00:00
dim
58529d92bd Merge ^/head r274961 through r274978. 2014-11-24 20:10:12 +00:00
dim
acd4f874a5 Update BSD.include.dist for clang 3.5.0. 2014-11-24 19:50:01 +00:00
trasz
f1730eff39 Make it possible to specify flags for autofs daemons in rc.conf.
MFC after:	1 month
Sponsored by:	The FreeBSD Foundation
2014-11-24 13:02:39 +00:00
hrs
9d80959c81 Remove examples of gif_interfaces and gifconfig. These have already been
marked as deprecated in rc.conf(5) manual page but these examples
were still here.

Spotted by:	jmg
2014-11-22 08:09:26 +00:00
jhibbits
f64af8af37 Missed a terminating ';'.
X-MFC-with:	r273009
2014-11-18 16:31:00 +00:00
ngie
886f75286d Add reachover Makefiles for contrib/netbsd-tests/lib/librt
A variant of this code has been tested on amd64/i386 for some time by
EMC/Isilon on 10-STABLE/11-CURRENT. It builds on other architectures, but the
code will remain off until it's proven it works on virtual hardware or real
hardware on other architectures

Sponsored by: EMC / Isilon Storage Division
2014-11-17 09:19:09 +00:00
ngie
747103896d Add reachover Makefiles for contrib/netbsd-tests/lib/librt
A variant of this code has been tested on amd64/i386 for some time by
EMC/Isilon on 10-STABLE/11-CURRENT. It builds on other architectures, but the
code will remain off until it's proven it works on virtual hardware or real
hardware on other architectures

Sponsored by: EMC / Isilon Storage Division
2014-11-16 07:03:19 +00:00
ngie
7e7662c988 Add reachover Makefiles for contrib/netbsd-tests/lib/libpthread as
lib/libthr/tests

A variant of this code has been tested on amd64/i386 for some time by
EMC/Isilon on 10-STABLE/11-CURRENT. It builds on other architectures, but the
code will remain off until it's proven it works on virtual hardware or real
hardware on other architectures

Original work by: pho
Sponsored by: EMC / Isilon Storage Division
2014-11-16 06:35:20 +00:00
melifaro
b5d711d3a6 Renove faith(4) and faithd(8) from base. It looks like industry
have chosen different (and more traditional) stateless/statuful
NAT64 as translation mechanism. Last non-trivial commits to both
faith(4) and faithd(8) happened more than 12 years ago, so I assume
it is time to drop RFC3142 in FreeBSD.

No objections from:	net@
2014-11-09 21:33:01 +00:00
jmg
1e8781c32e remove comment about the bug... I don't remeber what it was...
It may be an issue w/ using awk which is in /usr (and isn't always
present), or another issue...

Suggestion by:	brooks
2014-11-06 07:27:14 +00:00
markj
d18a2c8088 Create a directory for the PAM tests. 2014-11-05 22:50:33 +00:00
bapt
bfc0f852ba Avoid installing security.functions with executable bits, periodic(8) will
try to execute all files with an executable bit in /etc/periodic/*/ while
this file is supposed only to be sourced by others

MFC after:	1 week
2014-11-05 06:42:07 +00:00
ngie
cddd13d167 Add reachover Makefiles for contrib/netbsd-tests/lib/libc; this adds approximately
500 new testcases

Various TODOs have been sprinkled around the Makefiles for items that even need
to be ported (missing features), testcases have issues with building/linking, or
issues at runtime.

A variant of this code has been tested extensively on amd64 and i386
10-STABLE/11-CURRENT for several months without issue. It builds on other
architectures, but the code will remain off until I have prove it works on
virtual hardware or real hardware on other architectures

In collaboration with: pho, Casey Peel <casey.peel@isilon.com>
Sponsored by: EMC / Isilon Storage Division
2014-11-04 00:56:25 +00:00
jmg
0f07da924e switch from spaces to tabs to match style and awk...
Pointed out by:	brooks
2014-11-03 21:03:54 +00:00
jmg
e0f7993862 use tab instead of spaces like the rest of the file.. 2014-11-03 19:23:49 +00:00
ngie
5b7d87f332 Integrate pjdfstest test suite execution into kyua
pjdfstest execution is opt-in and must be done as root due to some of the
assumptions made by the test suite and lack of error checking in the non-root
case

A description of how to execute pjdfstest with kyua is provided in
share/pjdfstest/README

Phabric: D824 (an earlier prototype patch)
MFC after: 1 month
Relnotes: yes
Sponsored by: EMC / Isilon Storage Division
2014-11-03 07:18:42 +00:00
hrs
90a2b12f5f Do not try to create a /dev/log symlink in a jail.
PR:	179828
2014-11-03 00:37:39 +00:00
wblock
0bd39a418e Add the less-ambiguous freebsd-version command.
Reviewed by:	-stable
MFC after:	3 days
2014-11-02 19:25:31 +00:00
des
79cf481147 Get rid of the postrandom script. It was born in a time when the
random script ran before filesystems were mounted, which is no
longer the case.

In random_start(), immediately delete each file that is fed into
/dev/random, and recreate the default entropy file immediately
after reading and deleting it.  The logic used in random_stop()
to determine which file to write to should probably be factored
out and used here as well.
2014-11-02 01:47:27 +00:00
jmg
2093a6f55b add an rc.d script to automatically grow the specified FS... It has
been tested on both MBR and GPT...  It won't be enabled until you add
growfs_enable="YES" and will only run on first boot..
2014-11-02 00:11:25 +00:00
delphij
41b6a83547 rc.d/geli should not depend on random, as the attach functionality
do not require additional entropy to function.

It would create a circular dependency (not immediately obvious:
geli provides 'disks' and requires 'random' as of r273872,
'random' requires 'FILESYSTEMS', 'FILESYSTEMS' requires 'root',
'root' requires 'swap', and finally 'swap' requires 'disk').
2014-10-31 22:20:27 +00:00
markm
fce6747f55 This is the much-discussed major upgrade to the random(4) device, known to you all as /dev/random.
This code has had an extensive rewrite and a good series of reviews, both by the author and other parties. This means a lot of code has been simplified. Pluggable structures for high-rate entropy generators are available, and it is most definitely not the case that /dev/random can be driven by only a hardware souce any more. This has been designed out of the device. Hardware sources are stirred into the CSPRNG (Yarrow, Fortuna) like any other entropy source. Pluggable modules may be written by third parties for additional sources.

The harvesting structures and consequently the locking have been simplified. Entropy harvesting is done in a more general way (the documentation for this will follow). There is some GREAT entropy to be had in the UMA allocator, but it is disabled for now as messing with that is likely to annoy many people.

The venerable (but effective) Yarrow algorithm, which is no longer supported by its authors now has an alternative, Fortuna. For now, Yarrow is retained as the default algorithm, but this may be changed using a kernel option. It is intended to make Fortuna the default algorithm for 11.0. Interested parties are encouraged to read ISBN 978-0-470-47424-2 "Cryptography Engineering" By Ferguson, Schneier and Kohno for Fortuna's gory details. Heck, read it anyway.

Many thanks to Arthur Mesh who did early grunt work, and who got caught in the crossfire rather more than he deserved to.

My thanks also to folks who helped me thresh this out on whiteboards and in the odd "Hallway track", or otherwise.

My Nomex pants are on. Let the feedback commence!

Reviewed by:	trasz,des(partial),imp(partial?),rwatson(partial?)
Approved by:	so(des)
2014-10-30 21:21:53 +00:00
emaste
95f601fb4f Add missing /usr/lib/debug directories
Directories for /usr/lib{,32}/{i18n,private} were missing from the mtree
file, which caused installworld to install the files that should be in
the directory as the name of the directory.
2014-10-28 14:48:52 +00:00
bapt
99068e4287 Add regression tests for the timeout(1) utility
They are modeled over the regression tests that are provided for the GNU
coreutils timeout(1) utility
2014-10-28 10:39:41 +00:00
marcel
1c9fbedf83 Hook libxo to the build.
Sponsored by:	Juniper Networks, Inc.
2014-10-23 23:14:23 +00:00
hrs
f8efef6094 Fix a typo.
Spotted by:	O. Hartmann
2014-10-20 04:14:35 +00:00