freebsd-dev/usr.bin/truss
Conrad Meyer e9ac27430c Implement getrandom(2) and getentropy(3)
The general idea here is to provide userspace programs with well-defined
sources of entropy, in a fashion that doesn't require opening a new file
descriptor (ulimits) or accessing paths (/dev/urandom may be restricted
by chroot or capsicum).

getrandom(2) is the more general API, and comes from the Linux world.
Since our urandom and random devices are identical, the GRND_RANDOM flag
is ignored.

getentropy(3) is added as a compatibility shim for the OpenBSD API.

truss(1) support is included.

Tests for both system calls are provided.  Coverage is believed to be at
least as comprehensive as LTP getrandom(2) test coverage.  Additionally,
instructions for running the LTP tests directly against FreeBSD are provided
in the "Test Plan" section of the Differential revision linked below.  (They
pass, of course.)

PR:		194204
Reported by:	David CARLIER <david.carlier AT hardenedbsd.org>
Discussed with:	cperciva, delphij, jhb, markj
Relnotes:	maybe
Differential Revision:	https://reviews.freebsd.org/D14500
2018-03-21 01:15:45 +00:00
..
aarch64-cloudabi32.c Make truss(8) work for 32-bit CloudABI executables on ARM64. 2017-12-20 13:13:10 +00:00
aarch64-cloudabi64.c Rework syscall structure lookups. 2016-12-06 00:39:00 +00:00
aarch64-freebsd.c Rework syscall structure lookups. 2016-12-06 00:39:00 +00:00
amd64-cloudabi32.c Make truss(8) work for i686-unknown-cloudabi binaries on FreeBSD/amd64. 2017-12-16 19:40:28 +00:00
amd64-cloudabi64.c Rework syscall structure lookups. 2016-12-06 00:39:00 +00:00
amd64-freebsd32.c spdx: initial adoption of licensing ID tags. 2017-11-18 14:26:50 +00:00
amd64-freebsd.c spdx: initial adoption of licensing ID tags. 2017-11-18 14:26:50 +00:00
amd64-linux32.c spdx: initial adoption of licensing ID tags. 2017-11-18 14:26:50 +00:00
amd64-linux.c spdx: initial adoption of licensing ID tags. 2017-11-18 14:26:50 +00:00
arm-freebsd.c spdx: initial adoption of licensing ID tags. 2017-11-18 14:26:50 +00:00
extern.h spdx: initial adoption of licensing ID tags. 2017-11-18 14:26:50 +00:00
i386-cloudabi32.c Make truss work for CloudABI executables on i386. 2017-12-21 09:21:40 +00:00
i386-freebsd.c spdx: initial adoption of licensing ID tags. 2017-11-18 14:26:50 +00:00
i386-linux.c spdx: initial adoption of licensing ID tags. 2017-11-18 14:26:50 +00:00
main.c spdx: initial adoption of licensing ID tags. 2017-11-18 14:26:50 +00:00
Makefile Make truss work for CloudABI executables on i386. 2017-12-21 09:21:40 +00:00
Makefile.depend DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
mips-freebsd.c spdx: initial adoption of licensing ID tags. 2017-11-18 14:26:50 +00:00
powerpc64-freebsd32.c Rework syscall structure lookups. 2016-12-06 00:39:00 +00:00
powerpc64-freebsd.c Rework syscall structure lookups. 2016-12-06 00:39:00 +00:00
powerpc-freebsd.c Rework syscall structure lookups. 2016-12-06 00:39:00 +00:00
riscv64-freebsd.c Add RISC-V support for truss(1) 2017-01-24 09:41:44 +00:00
setup.c spdx: initial adoption of licensing ID tags. 2017-11-18 14:26:50 +00:00
sparc64-freebsd.c spdx: initial adoption of licensing ID tags. 2017-11-18 14:26:50 +00:00
syscall.h Decode msghdr argument of sendmsg() and recvmsg(). 2018-01-15 20:39:42 +00:00
syscalls.c Implement getrandom(2) and getentropy(3) 2018-03-21 01:15:45 +00:00
truss.1 Make truss(1) cross-reference dtrace(1) and bump .Dd. 2017-07-21 13:58:51 +00:00
truss.h various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00