Commit Graph

617 Commits

Author SHA1 Message Date
Matt Stancliff
63add73d0b Define CMake library object lists globally
OBJECT collections in CMake don't generate any artifacts so these
are safe to hoist out and define globally.

library OBJECT targets are just a list of filenames.  It can be useful for
other projects to include lists of sources directly regardless of build mode
(shared, static, or library).
2017-01-12 13:46:22 +08:00
Brent Cook
9f9fdc0531 OSCP -> OCSP 2017-01-09 23:09:46 -06:00
Brent Cook
7acb28a3e7 update Changelog 2017-01-09 03:58:26 -06:00
Brent Cook
c691459502 fix static mingw builds, platform LDADD needs to come at the end 2017-01-09 02:22:26 -06:00
Brent Cook
45d35f0dfb update links 2017-01-07 08:36:03 -06:00
kinichiro
5a35108648 Add regression test ssl_versions 2017-01-06 09:05:59 +09:00
Brent Cook
cf056d7d43 update manpage links 2016-12-29 04:03:17 -06:00
Brent Cook
b48d11d8df Land #250, implement support for hiding symbols in libcrypto 2016-12-29 03:51:34 -06:00
kinichiro
7054105fde implement support for hiding symbols in libcrypto
- delete crypto.def and generate it from Symbols.list
- remove BIO_s_log since bss_log.c is not included on Windows
- add Windows specific symbols by crypto/crypto_win.list
2016-12-26 21:53:29 +09:00
Simone Basso
a206997ad9 Sync getentropy() checks with use-builtin-arc4random checks
Without this, we actually fail to build a library that includes the
bultin getentropy when compiling for 10.11 on 10.12.
2016-12-10 20:58:04 +01:00
Simone Basso
6fa2d21ba5 m4/check-libc.m4: improve getentropy check
- according to man.openbsd.org getentropy() is in unistd.h

- according to macOS sierra's man it's in sys/random.h

- since sys/random.h is does not exist for iOS and for linux, do
  not attempt to include it, rather redeclare the prototype

- make sure that `./configure`:

    - uses getentropy() on macOS sierra

    - does not use getentropy() if compiling for 10.11

    - does not use getentropy() if compiling for ios armv7
2016-12-09 14:17:06 +01:00
Simone Basso
f8a9c71e79 configure: fix getentropy() for sierra and ios
This diff changes the logic by which configure detects getentropy() to
ensure that we don't use the system wide getentropy

- with macOS sierra if the deployment target is lower than sierra as
  found by tor developers here

    https://gitweb.torproject.org/tor.git/commit/?id=https://gitweb.torproject.org/tor.git/commit/?id=16fcbd21c963a9a65bf55024680c8323c8b7175d

- with iOS unconditionally because an app linking libressl compiled with
  system wide getentropy has been rejected by the App store as I have
  documented here

    https://github.com/measurement-kit/measurement-kit/pull/994

I think something similar could also affect clock_gettime judging from
tor's patch, but this diff for now doesn't address that.

I do not have macOS < sierra, so I could only verify that configure was
not picking up system wide getentropy by compiling libressl using

    export CFLAGS="-mmacosx-version-min=10.11"

As regards iOS, removing the check for getentropy and recompiling (thus
using libressl builtin getentropy()) was enough to have another iteration
of the app accepted. Otherwise testing should be possible with:

    export LDFLAGS=-arch armv7 -miphoneos-version-min=7.1 -isysroot `xcrun --show-sdk-path --sdk iphoneos`
    export CPPFLAGS=-arch armv7 -isysroot `xcrun --show-sdk-path --sdk iphoneos`
    export CFLAGS=-arch armv7 -miphoneos-version-min=7.1 -isysroot `xcrun --show-sdk-path --sdk iphoneos`

Related ticket: https://github.com/libressl-portable/portable/issues/230
2016-12-09 12:50:56 +01:00
Brent Cook
b5ebbf6b88 adjust mingw package name 2016-11-13 13:10:42 -06:00
Brent Cook
a638d7937d update to trusty distro, remove 3rd-party PPAs for testing 2016-11-13 13:06:28 -06:00
Brent Cook
c4165cc210 fix static test link failures on OS X 2016-11-13 12:57:34 -06:00
Brent Cook
3b0488e870 update manpage links 2016-11-13 12:56:45 -06:00
kinichiro
04150e635c fix cmake to link static crypto library for regression tests 2016-11-07 00:07:51 +09:00
Brent Cook
4e221632b1 link regression tests fully statically 2016-11-06 09:10:25 -06:00
kinichiro
f51c1b3886 Fix for tests on Visual Studio
- always link static ssl library for tests
- copy DLLs for openssl.exe after building tests
- add functions to crypto.def
2016-11-06 22:21:58 +09:00
Brent Cook
7e4ce26c27 use __MINGW_PRINTF_FORMAT for BIO_* print functions if available 2016-11-06 04:32:16 -06:00
Brent Cook
d2f5ab1ee8 prefer builtin arc4random on OS X 10.12+ (using getentropy as the signal) 2016-11-06 03:12:34 -06:00
Brent Cook
d38ab0a39e include vpm_int.h 2016-11-06 02:37:15 -06:00
Brent Cook
f99d89a0fc update patches 2016-11-06 02:27:21 -06:00
kinichiro
5f187770f3 Add curve25519 to portable 2016-11-06 04:57:23 +09:00
Brent Cook
e0a62cf201 remove bad link 2016-11-05 14:00:54 -05:00
Brent Cook
a99a3d7287 add quoting for man links 2016-11-05 12:45:47 -05:00
Brent Cook
42ee57590a update mlinks 2016-11-05 12:31:29 -05:00
Brent Cook
55419a0dde use the new mlinks tool to generate man links 2016-11-05 12:31:29 -05:00
Brent Cook
0241a8d4da update for new manpage layout, pod files are gone 2016-11-05 12:31:29 -05:00
Brent Cook
5842215600 remove duplicate libcrypto static link 2016-11-06 00:24:56 +09:00
Brent Cook
9d14220bdb export ASN1_time_parse 2016-11-06 00:24:47 +09:00
Brent Cook
70805a3e17 remove more KRB5 2016-11-06 00:24:39 +09:00
Brent Cook
c2ec622b89 remove defined symbols 2016-11-06 00:24:30 +09:00
Brent Cook
77a2a9f3ef remove check-in .def and ignore .sym files 2016-11-06 00:24:22 +09:00
Brent Cook
7770e4f2e4 implement support for hiding symbols in libtls / libssl 2016-11-06 00:24:12 +09:00
Brent Cook
348362416d remove krb5 from cmake 2016-11-05 06:24:55 -05:00
Brent Cook
19457d72b0 enable preprocessor on all ASM files with cmake 2016-11-05 06:16:19 -05:00
Brent Cook
03a321e558 disable symbol hiding for now 2016-11-05 06:16:07 -05:00
Brent Cook
659aff9fa7 updates for latest build changes 2016-11-05 19:11:19 +09:00
Brent Cook
a241b876e9 update windows header patches 2016-11-04 11:08:47 -05:00
kinichiro
d3abaf5fe7 Add tls_ocsp.c to Makefile.am and CMakeLists.txt 2016-11-04 22:43:34 +09:00
Brent Cook
cb63e63370 define PATH_MAX in more msvc versions 2016-10-30 23:14:03 -05:00
Brent Cook
2570ad9344 set correct DEFAULT_CA_FILE path 2016-10-30 21:43:28 -05:00
kinichiro
332c2eeaa3 remove unneeded slash after DESTDIR 2016-10-30 21:40:24 -05:00
kinichiro
14905877a0 Enable tests on Visual Studio
- add patch for aeadtest.c to undef IN
- add patch for ocsp_test.c to call BIO_sock_init() before getaddrinfo()
- define STDERR_FILENO in unistd.h to build pkcs7test.c
- add option ENABLE_VSTEST(default OFF) to enable test on Visual Studio
- modify to pass test data file as an argument (aeadtest, evptest)
- add Windows scripts (ocsptest, pq_test, ssltest, testdsa, testenc, testrsa)
- do not build pidwraptest on MSVC
- fix some indentations
2016-10-30 21:40:24 -05:00
kinichiro
b434123987 modify for Intel C++ Compiler
- define _CRT_SUPPRESS_RESTRICT to avoid compilation error
- suppress compilation warnings (suggested by @Johnex)
2016-10-30 21:40:21 -05:00
kinichiro
62f2a73061 export DLLs functions for MSVC with CMake
- Add 3 DEF files to export functions from Windows DLLs
  - Add gettimeofday to crypto/crypto.def (*1)
  - Remove gai_strerrorA from tls/tls.def (*1)
- Fix CMakeLists.txt to use DEF files as PRIVATE
- Change DLL import library file name since it duplicates with static library
- Ignore compiler warning C4267, and Edit CMAKE_C_FLAGS not to overwrite it (*1)
- Add USE_SHARED option to build openssl.exe with shared libraries (*1)

  (*1) recommended by @mcnameej
2016-10-30 21:39:36 -05:00
Brent Cook
e168f3b0bc More changelog updates 2016-09-23 06:21:43 -05:00
Brent Cook
9ba1224ed4 update changelog 2016-09-23 06:13:08 -05:00
Brent Cook
a896814187 Update changelog 2016-09-23 05:41:25 -05:00