58 Commits

Author SHA1 Message Date
Brent Cook
1cb05b51c1 Land #439, Add portable scaffold for SM3 2018-11-11 09:14:41 -06:00
Brent Cook
1e2937e1a2 added crypto_lock portable bits 2018-11-11 09:14:00 -06:00
Brent Cook
8f32297dce add arm asm support via autoconf/make 2018-11-11 02:08:55 -06:00
bobsayshilol
34394e7ee0 Misc fixes to bring portable in line with upstream. 2018-11-07 23:45:17 +00:00
Jack Lloyd
d4803f134f Add portable scaffold for SM3 2018-08-14 15:16:36 -04:00
Brent Cook
366071c2cf add new init functions 2018-03-18 10:43:16 -05:00
Brent Cook
3fb9e63b90 bump base requirement to Windows Vista, use builtin inet_ntop/pton 2018-03-14 07:29:04 -05:00
kinichiro
413956f494 Add bio_meth.c 2018-02-26 22:49:46 +09:00
kinichiro
f4d2b810cb Remove rsa/rsa_ssl.c 2017-09-01 23:37:09 +09:00
Brent Cook
94e4224f5f don't build empty object files 2017-08-12 10:05:30 -05:00
Brent Cook
9b88fa46bb generate the crypto export symbol list at build time
we currently do it at configure time, which makes this a generated
source, but generated sources should be cleaned up, which breaks
'make clean; make'
2017-07-08 17:46:16 -05:00
kinichiro
63042e98f8 Add HKDF functionality 2017-05-13 23:59:59 +09:00
kinichiro
048625cf2b Add freezero support 2017-04-22 23:37:20 +09:00
Brent Cook
922cd9c94e move crypto_portable.sym to builddir 2017-04-10 09:30:29 -05:00
kinichiro
c61c9821e8 Add support for getpagesize 2017-03-15 22:02:11 +09:00
kinichiro
8877e9bc55 Add recallocarray 2017-03-09 23:00:04 +09:00
kinichiro
f2c14deb58 Add crypto/evp/m_md5_sha1.c 2017-03-05 11:17:20 +09:00
kinichiro
91a8bd7914 Move strsep.c to crypto/compat/ and add ocspcheck build to CMake 2017-01-25 21:31:04 +09:00
Brent Cook
fa149b8c8c updates for new tests and layout 2017-01-22 20:00:52 -06:00
Brent Cook
91f771f981 add missing ecp_nist*.c files 2017-01-18 22:59:09 -06:00
kinichiro
484feaae91 Stop generating .def files by update.sh 2017-01-18 21:05:43 +09:00
kinichiro
1d934cd2d8 Fix to use -export-symbols for libcrypto
- generating platform specific crypto/crypto_portable.sym from crypto.sym
2017-01-15 22:12:39 +09:00
Brent Cook
d38ab0a39e include vpm_int.h 2016-11-06 02:37:15 -06:00
kinichiro
5f187770f3 Add curve25519 to portable 2016-11-06 04:57:23 +09:00
Brent Cook
659aff9fa7 updates for latest build changes 2016-11-05 19:11:19 +09: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
40974784c0 add constant_time_locl.h 2016-05-04 08:47:55 -05:00
Brent Cook
9574b6c8ec do not link libcompatnoopt if it is unneeded/built
from andy-js on github, fix #158
2015-11-22 17:31:51 -06:00
Brent Cook
959241fe88 remove a_gen/utctm.c 2015-10-21 21:39:59 -05:00
Brent Cook
a45e38e962 disable some tests with 32-bit time_t systems
Also disable use of _mkgmtime, it does not produce correct results.
2015-10-17 22:57:59 -05:00
Brent Cook
4298ac9305 include timegm fallback 2015-10-15 09:16:38 -05:00
Jeremy Huddleston Sequoia
448645d479 Use bundled headers instead of installed headers when building
The build system incorrectly set include directives in AM_CFLAGS which
causes them to be placed after the configured CPPFLAGS.  Thus, if
a user or packaging system sets CPPFLAGS to a location that has
libressl or openssl headers installed, they will be used instead
of the bundled versions.  This corrects that issue by setting up
the variables correctly.

https://github.com/libressl-portable/portable/issues/150

Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
2015-10-14 16:33:39 -05:00
Brent Cook
047926e06f updates for ASN.1 time handling 2015-10-06 06:21:17 -05:00
Brent Cook
f05cb999a6 final bit of SHA-0 removal 2015-09-17 05:30:24 -05:00
Brent Cook
9c55d0b851 remove SHA-0 2015-09-17 05:15:23 -05:00
Brent Cook
4bb70680a0 ech_ossl.h is gone 2015-09-13 09:03:04 -05:00
Brent Cook
9903a26661 distribute strcasecmp.c 2015-09-07 01:28:29 -05:00
Brent Cook
c66d80a438 add win32-specific explicit_bzero implementation 2015-08-03 06:56:59 -05:00
Brent Cook
5d8a1cf715 add initial CMake and Visual Studio build support
This moves the compatibility include files from include to
include/compat so we can use the awful MS C compiler
<../include/> trick to emulate the GNU #include_next extension.

This also removes a few old compat files we do not need anymore.
2015-07-21 12:08:18 -05:00
Brent Cook
792a5acb67 eng_rsax is gone 2015-07-20 01:08:01 -05:00
Brent Cook
db974c34e9 fixup how OPENSSLDIR is derived and expanded
As per
http://www.gnu.org/software/autoconf/manual/autoconf-2.69/html_node/Installation-Directory-Variables.html
we should not try to expand variables like sysconfdir in the
configure script, but rather derive the correct value in the Makefiles
instead. This fixes missing expansions as the preprocessor define.
2015-07-15 20:02:38 -05:00
Brent Cook
4cffda193b build libcrypto with -DLIBRESSL_INTERNAL
Since libcrypto defines its own CPPFLAGS, we need to set this for
libcrypto specifically.
2015-07-15 19:17:27 -05:00
Brent Cook
545454277a add check for inet_pton, nudge minimum win32 compat to 0x0501 2015-07-02 00:19:53 -05:00
Brent Cook
b9f1b83a79 update for mdc2 removal 2015-06-20 10:40:04 -05:00
Brent Cook
b4a6a61513 refactor win32 shims into posix_win.c
this also adds a rename shim that allows overwrites
2015-06-05 04:50:18 -05:00
Brent Cook
769d58e494 further refactoring, working libtls-standalone 2015-05-23 19:27:57 -05:00
Brent Cook
3096ab0e45 remove issetuigid wrappers, now that all getenv calls are gone.
From deraadt@ upstream:

Remove all getenv() calls, especially those wrapped by issetugid().
getenv()'s wrapped by issetugid() are safe, but issetugid() is ...
difficult to impliment on many operating systems.  By accident, a grand
experiment was run over the last year, where issetugid() returned 1 (the
safe value) on a few operating systems.  Noone noticed & complained that
certain environment variables were not working.......
2015-04-14 07:55:23 -05:00
Brent Cook
fe3f7fc636 Add experimental AIX support.
This includes a WIP failsafe issetugid for now, while research continues
on the proper way to do this in a race-free fashion in AIX.
2015-03-31 09:25:21 -05:00
Brent Cook
ad2a38ab4a rework CFLAGS/CPPFLAGS settings during configuration
Move define adjustments to CPPFLAGS.
Adjust user CFLAGS directly, do not override during configuration.
USER_CFLAGS is not necessary to build libcompat_noopt correctly.
2015-03-22 07:43:55 -05:00
Brent Cook
a859b93ff5 disable system issetugid on OS X since it is not fork-safe
Noticed while testing similar code for AIX.
ok beck@
2015-02-17 18:15:17 -06:00