Commit Graph

83 Commits

Author SHA1 Message Date
Brent Cook
1b62d5e416 remove bash-isms from test scripts 2014-07-28 07:26:27 -05:00
Brent Cook
0a74a4d464 add strndup/strnlen compat functions from OpenBSD 2014-07-28 07:07:23 -05:00
Brent Cook
fb67b92eb2 include system headers for err.h compat macros 2014-07-28 07:07:23 -05:00
Brent Cook
6383a0722c remove thread_private.h, no longer needed 2014-07-27 06:09:51 -05:00
Brent Cook
a5c82283e0 remove per-OS arc4random_buf overrides
If an OS provides an arc4random_buf implementation in its C library,
prefer it over an in-library version. This allows OS-specific
implementations to become more robust over time. It also prevents
possible link-time confusion as to which arc4random_buf implementation
is in use by an application when linked with LibreSSL.

The built-in unit tests will identify some common issues, such as fork
safety and PID wrap handling. Other elements, such as seeding
mechanisms, should be audited by the vendor or user for correctness.

ok deraadt@ beck@
2014-07-24 21:36:38 -05:00
Brent Cook
55d07e70dc clarify license and origin for pidwraptest
The original author clarified the license, so we are fine to ship with
the PID wraparound test. Run it by default if libressl is using the
native arc4random supplied from the OS.

ok deraadt@
2014-07-23 20:10:17 -05:00
Bob Beck
8bf6bdeba4 add calloc to the list (integer overflow..) 2014-07-21 21:07:26 -06:00
Bob Beck
ee6e88285a Update README to indicate general policy about intrinsics 2014-07-21 21:02:21 -06:00
Brent Cook
dd883345d3 bump version 2014-07-21 20:36:14 -05:00
Brent Cook
ea6e7116c9 build openbsd memmem implementation for explicit_bzero test
memmem is not always available, and not all memmem's work the same way

ok beck@ guenther@
2014-07-21 20:29:49 -05:00
Brent Cook
451dbd967c compute absolute paths to source
removes relative path hackery

ok beck@ guenther@
2014-07-21 20:27:14 -05:00
Brent Cook
33bc05ca9c better handle disabled tests and exclude files
ok beck@ guenther@
2014-07-21 20:27:14 -05:00
Brent Cook
23dc97f8c2 rename local tests to end in test.c
ok beck@ guenther@
2014-07-21 19:54:21 -05:00
Brent Cook
f425f564d5 test for and use system explicit_bzero if it exists
ok beck@ guenther@
2014-07-21 19:54:07 -05:00
Brent Cook
0ec7cdcbad include err.h shim
Includes compatible replacements, or uses system err.h if available.

ok beck@ guenther@
2014-07-21 19:53:53 -05:00
Brent Cook
4335a49f51 use correct link order for app and tests
ok beck@ guenther@
2014-07-21 19:53:52 -05:00
Brent Cook
8a44ab84f0 preserve timestamps on copy from upstream checkout
this saves time on rebuilds when testing tarballs

ok beck@ guenther@
2014-07-21 19:53:28 -05:00
Brent Cook
f4d98ff1b2 conditionally disable -Wpointer-sign where supported
ok beck@
2014-07-20 16:30:56 -05:00
Brent Cook
136ddd7a9b update guard, add win32 support for endian.h
Thanks to Jonas 'Sortie' Termansen for pointing the guard inconsistency out.

ok beck@
2014-07-20 16:30:50 -05:00
Brent Cook
9c2c499bf3 Use correct static link order for unit tests.
thanks to Jonas 'Sortie' Termansen

ok beck@
2014-07-20 16:30:44 -05:00
Brent Cook
237250e07a include <_bsd_types.h> on MinGW
ok beck@
2014-07-20 16:30:38 -05:00
Brent Cook
edebb7a66e remove thread_private.h defines, moved to arc4random_*.h 2014-07-19 10:49:08 -05:00
Brent Cook
1b1bce16b1 update to newly-refactored arc4random compatibility shims
the thread-private bits can move next

ok beck@
2014-07-18 09:19:23 -05:00
Brent Cook
d697fdb4af initial underpinnings for mingw/cross compilation support
Use canonical host rather than target so that this works:
 CC=i686-w64-mingw32-gcc ./configure --host=i686-w64-mingw32

 Conditionally compile Linux issetugid compatibility function

ok beck@
2014-07-18 09:19:17 -05:00
Brent Cook
0bc4bdde5f move fork_rand.sh so it does not get run every time
the test takes many minutes to run on an OS with a slow fork() call

ok beck@
2014-07-15 17:22:39 -05:00
Brent Cook
d3746d3a6e indicate failure to the test harness
ok beck@
2014-07-15 17:20:09 -05:00
Brent Cook
477f1f0187 added fork_rand test to check for PID wraparound
ok beck@
2014-07-15 16:43:00 -05:00
Bob Beck
c41fb098b9 crank version 2014-07-15 20:14:37 -06:00
Brent Cook
32d9eeeecf register the atfork handler from arc4random
From kettenis@

People have suggested using pthread_atfork(3) before, but discarded
the idea because it involves linking with -lpthread, which has other
undesirable consequences.  However:

* Most systems actually have pthread_atfork(3) in libc.  I verified
  this on OS X and Solaris.  I believe this is the case on Linux
  systems that use musl as well.

* On Linux systems that use glibc, this isn't the case.  However,
  those systems have __register_atfork(3), which is fully documented
  in the "Linux Standard Base Core Specification".

ok kettenis@ deraadt@ beck@
2014-07-15 14:50:05 -05:00
Brent Cook
7f2fab20bc enable the asn1 test 2014-07-15 14:49:34 -05:00
Bob Beck
c5c2aa37be Add the public signing key so it can be fetched from github 2014-07-14 20:50:52 -06:00
Mark Kettenis
bbd51d0e32 give section 1 man pages a .1 suffix instead of .3
ok beck@
2014-07-14 16:09:18 +02:00
Mark Kettenis
687a2966ba remove stray brackets in --with-enginesdir/openssldir support
ok beck@
2014-07-14 15:43:18 +02:00
Brent Cook
7a9aa4dd7e use generic test for clock_gettime flags
ok beck@
2014-07-12 10:08:39 -05:00
Brent Cook
b12be4016a added configurable ENGINESDIR and OPENSSLDIR
use --with-enginesdir and --with-openssldir

ok beck@
2014-07-12 05:28:21 -05:00
Bob Beck
82610be03b Crank
ok bcook@
2014-07-13 03:14:27 -06:00
Bob Beck
4b8c359b94 remove problematic DISTCLEANFILES variable
ok bcook@
2014-07-13 03:13:35 -06:00
Brent Cook
5c43a9e5ef cleanup auto-generated .pc files
ok beck@
2014-07-12 03:44:31 -05:00
Bob Beck
e0386dd263 rc4_util.c went away
ok bcook@
2014-07-13 03:02:25 -06:00
Brent Cook
65944782c3 add platform libraries to libcompat's LIBADD list
ok beck@
2014-07-12 03:34:08 -05:00
Brent Cook
6017202b77 disable unconditional -Wno-pointer-sign
ok beck@
2014-07-11 21:07:48 -05:00
Brent Cook
058914fea2 add a check to see if <sys/sysctl.h> exists
ok beck@
2014-07-11 18:10:50 -05:00
Bob Beck
c1f7374df0 We're probably gonna need this for solaris 10 2014-07-12 09:15:11 -06:00
Brent Cook
596ef45803 source library version from a common place, speed man builds
grab library version from VERSION file
build manpages only on changes

ok beck@
2014-07-12 04:02:35 -06:00
Brent Cook
e14147356d hide unit test build results in .gitignore
ok beck@
2014-07-12 04:02:28 -06:00
Brent Cook
09fdc9c09b source the proper man links file
otherwise, this picks up 'links' in the path
2014-07-11 10:51:28 -05:00
Brent Cook
0137439f5d remove unconditional -Werror
Allow warnings to be reported without failing the entire build.

ok beck@
2014-07-11 07:30:05 -05:00
Brent Cook
1e71b73215 link -lrt on linux for glibc < 2.17 compatibility
ok beck@
2014-07-11 07:27:03 -05:00
Brent Cook
465e8fc6c0 more manpage links
ok beck@
2014-07-11 05:02:17 -05:00
Brent Cook
8b125f31bb build strtonum directly into apps/openssl
it is not needed as a library export

ok beck@
2014-07-11 04:47:03 -05:00