Compare commits
76 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
c53c374f83 | ||
![]() |
fa1c469601 | ||
![]() |
7035c7268d | ||
![]() |
82fda3d410 | ||
![]() |
b623db7bfb | ||
![]() |
3612cbe3a0 | ||
![]() |
d653deef65 | ||
![]() |
512573f0de | ||
![]() |
f4d2b810cb | ||
![]() |
7dc68c82bc | ||
![]() |
4916f940c8 | ||
![]() |
9e7fd1fa31 | ||
![]() |
e0cffc6b48 | ||
![]() |
8f255707f0 | ||
![]() |
4c6097c220 | ||
![]() |
23b5d39cfb | ||
![]() |
94e4224f5f | ||
![]() |
bdec057318 | ||
![]() |
9be0359cc3 | ||
![]() |
1dd6a52f2d | ||
![]() |
5ec2c381e4 | ||
![]() |
86434e03e8 | ||
![]() |
58ba8785fb | ||
![]() |
e53af8da67 | ||
![]() |
9887c82768 | ||
![]() |
5afc4e3cd8 | ||
![]() |
f7cf93fd22 | ||
![]() |
cefd44a86e | ||
![]() |
5e6de6ebce | ||
![]() |
c92119f50a | ||
![]() |
51e5279c24 | ||
![]() |
70ee57c6ad | ||
![]() |
0dbae37735 | ||
![]() |
e550534203 | ||
![]() |
9b88fa46bb | ||
![]() |
c18852f650 | ||
![]() |
0e82f22d16 | ||
![]() |
9cad7f785b | ||
![]() |
08869b75db | ||
![]() |
fc4e1b9572 | ||
![]() |
a8cd9fdbd6 | ||
![]() |
3471d20142 | ||
![]() |
a61122ef6c | ||
![]() |
360a67cd34 | ||
![]() |
a4d80ca56a | ||
![]() |
334245374a | ||
![]() |
52080abbf7 | ||
![]() |
322b82367d | ||
![]() |
1f7777169d | ||
![]() |
2557dd7439 | ||
![]() |
a2bd5ebaba | ||
![]() |
728bda1830 | ||
![]() |
8a658c37b5 | ||
![]() |
73e51e012f | ||
![]() |
fe79df3c90 | ||
![]() |
8b80bcdad8 | ||
![]() |
b49242fcb0 | ||
![]() |
0974d6f011 | ||
![]() |
d3f3daec18 | ||
![]() |
0da71010d6 | ||
![]() |
e7b0c0069b | ||
![]() |
530fbba1ed | ||
![]() |
63042e98f8 | ||
![]() |
f494c6aaf7 | ||
![]() |
6cb87c121a | ||
![]() |
32ab245f05 | ||
![]() |
6374bfa401 | ||
![]() |
7ba183503a | ||
![]() |
1f13e7956b | ||
![]() |
993f5cf6f9 | ||
![]() |
53fb56ea87 | ||
![]() |
048625cf2b | ||
![]() |
7ec0510e33 | ||
![]() |
9d2418ae3a | ||
![]() |
922cd9c94e | ||
![]() |
7ecfed7690 |
2
.gitignore
vendored
2
.gitignore
vendored
@@ -55,6 +55,7 @@ tests/arc4random_fork*
|
||||
tests/asn1time*
|
||||
tests/cipher*
|
||||
tests/explicit_bzero*
|
||||
tests/freenull*
|
||||
tests/gost2814789t*
|
||||
tests/mont*
|
||||
tests/rfc5280time*
|
||||
@@ -143,6 +144,7 @@ include/openssl/*.h
|
||||
!/crypto/compat/arc4random.h
|
||||
!/crypto/compat/b_win.c
|
||||
!/crypto/compat/explicit_bzero_win.c
|
||||
!/crypto/compat/freezero.c
|
||||
!/crypto/compat/getpagesize.c
|
||||
!/crypto/compat/posix_win.c
|
||||
!/crypto/compat/bsd_asprintf.c
|
||||
|
@@ -4,8 +4,9 @@ include(CheckLibraryExists)
|
||||
include(CheckIncludeFiles)
|
||||
include(CheckTypeSize)
|
||||
|
||||
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}" ${CMAKE_MODULE_PATH})
|
||||
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}" ${CMAKE_MODULE_PATH})
|
||||
include(cmake_export_symbol)
|
||||
include(GNUInstallDirs)
|
||||
|
||||
project (LibreSSL C)
|
||||
|
||||
@@ -26,12 +27,18 @@ string(STRIP ${TLS_VERSION} TLS_VERSION)
|
||||
string(REPLACE ":" "." TLS_VERSION ${TLS_VERSION})
|
||||
string(REGEX REPLACE "\\..*" "" TLS_MAJOR_VERSION ${TLS_VERSION})
|
||||
|
||||
option(LIBRESSL_SKIP_INSTALL "Skip installation" ${LIBRESSL_SKIP_INSTALL})
|
||||
option(ENABLE_ASM "Enable assembly" ON)
|
||||
option(ENABLE_EXTRATESTS "Enable extra tests that may be unreliable on some platforms" OFF)
|
||||
option(ENABLE_NC "Enable installing TLS-enabled nc(1)" OFF)
|
||||
option(ENABLE_VSTEST "Enable test on Visual Studio" OFF)
|
||||
set(OPENSSLDIR ${OPENSSLDIR} CACHE PATH "Set the default openssl directory" FORCE)
|
||||
|
||||
if(NOT LIBRESSL_SKIP_INSTALL)
|
||||
set( ENABLE_LIBRESSL_INSTALL ON )
|
||||
endif(NOT LIBRESSL_SKIP_INSTALL)
|
||||
|
||||
|
||||
set(BUILD_NC true)
|
||||
|
||||
if(CMAKE_SYSTEM_NAME MATCHES "Darwin")
|
||||
@@ -102,14 +109,20 @@ if(MSVC)
|
||||
set(MSVC_DISABLED_WARNINGS_LIST
|
||||
"C4057" # C4057: 'initializing' : 'unsigned char *' differs in
|
||||
# indirection to slightly different base types from 'char [2]'
|
||||
"C4018" # '>=': signed/unsigned mismatch
|
||||
"C4100" # 'exarg' : unreferenced formal parameter
|
||||
"C4127" # conditional expression is constant
|
||||
"C4146" # unary minus operator applied to unsigned
|
||||
# type, result still unsigned
|
||||
"C4242" # 'function' : conversion from 'int' to 'uint8_t',
|
||||
# possible loss of data
|
||||
"C4244" # 'function' : conversion from 'int' to 'uint8_t',
|
||||
# possible loss of data
|
||||
"C4245" # 'initializing': conversion from 'long' to
|
||||
# 'unsigned long', signed/unsigned mismatch
|
||||
"C4267" # conversion from 'size_t' to 'some type that is almost
|
||||
# certainly safe to convert a size_t to'.
|
||||
"C4389" # '!=': signed/unsigned mismatch
|
||||
"C4706" # assignment within conditional expression
|
||||
"C4820" # 'bytes' bytes padding added after construct 'member_name'
|
||||
"C4996" # 'read': The POSIX name for this item is deprecated. Instead,
|
||||
@@ -293,6 +306,7 @@ endif()
|
||||
check_type_size(time_t SIZEOF_TIME_T)
|
||||
if(SIZEOF_TIME_T STREQUAL "4")
|
||||
set(SMALL_TIME_T true)
|
||||
add_definitions(-DSMALL_TIME_T)
|
||||
message(WARNING " ** Warning, this system is unable to represent times past 2038\n"
|
||||
" ** It will behave incorrectly when handling valid RFC5280 dates")
|
||||
endif()
|
||||
|
148
ChangeLog
148
ChangeLog
@@ -28,7 +28,153 @@ history is also available from Git.
|
||||
|
||||
LibreSSL Portable Release Notes:
|
||||
|
||||
2.5.2 - OpenBSD 6.1 Release
|
||||
2.6.1 - Code removal, rewrites
|
||||
|
||||
* Added a "-T tlscompat" option to nc(1), which enables the use of all
|
||||
TLS protocols and "compat" ciphers. This allows for TLS connections
|
||||
to TLS servers that are using less than ideal cipher suites, without
|
||||
having to resort to "-T tlsall" which enables all known cipher
|
||||
suites. Diff from Kyle J. McKay.
|
||||
|
||||
* Added a new TLS extension handling framework, somewhat analogous to
|
||||
BoringSSL, and converted all TLS extensions to use it. Added new TLS
|
||||
extension regression tests.
|
||||
|
||||
* Improved and added many new manpages. Updated *check_private_key
|
||||
manpages with additional cautions regarding their use.
|
||||
|
||||
* Cleaned up the EC key/curve configuration handling.
|
||||
|
||||
* Added tls_config_set_ecdhecurves() to libtls, which allows the names
|
||||
of the eliptical curves that may be used during client and server
|
||||
key exchange to be specified.
|
||||
|
||||
* Converted more code paths to use CBB/CBS.
|
||||
|
||||
* Removed support for DSS/DSA, since we removed the cipher suites a
|
||||
while back.
|
||||
|
||||
* Removed NPN support. NPN was never standardised and the last draft
|
||||
expired in October 2012. ALPN was standardised in July 2014 and has
|
||||
been supported in LibreSSL since December 2014. NPN has also been
|
||||
removed from Chromium in May 2016.
|
||||
|
||||
* Removed SSL_OP_CRYPTOPRO_TLSEXT_BUG workaround for old/broken
|
||||
CryptoPro clients.
|
||||
|
||||
* Removed support for the TLS padding extension, which was added as a
|
||||
workaround for an old bug in F5's TLS termintation.
|
||||
|
||||
* Worked around another bug in F5's TLS termination handling of the
|
||||
elliptical curves extension. RFC 4492 only defines elliptic_curves
|
||||
for ClientHello. However, F5 is sending it in ServerHello. We need
|
||||
to skip over it since our TLS extension parsing code is now more
|
||||
strict. Thanks to Armin Wolfermann and WJ Liu for reporting.
|
||||
|
||||
* Added ability to clamp notafter valies in certificates for systems
|
||||
with 32-bit time_t. This is necessary to conform to RFC 5280
|
||||
4.1.2.5.
|
||||
|
||||
* Implemented the SSL_CTX_set_min_proto_version(3) API.
|
||||
|
||||
* Removed the original (pre-IETF) chacha20-poly1305 cipher suites.
|
||||
|
||||
* Reclassified ECDHE-RSA-DES-CBC3-SHA from HIGH to MEDIUM.
|
||||
|
||||
2.6.0 - New APIs, bug fixes and improvements
|
||||
|
||||
* Added support for providing CRLs to libtls. Once a CRL is provided we
|
||||
enable CRL checking for the full certificate chain. Based on a diff
|
||||
from Jack Burton
|
||||
|
||||
* Allow non-compliant clients using IP literal addresses with SNI
|
||||
to connect to a server using libtls.
|
||||
|
||||
* Avoid a potential NULL pointer dereference in d2i_ECPrivateKey().
|
||||
Reported by Robert Swiecki, who found the issue using honggfuzz.
|
||||
|
||||
* Added definitions for three OIDs used in EV certificates.
|
||||
From Kyle J. McKay
|
||||
|
||||
* Added tls_peer_cert_chain_pem to libtls, useful in private
|
||||
certificate validation callbacks such as those in relayd.
|
||||
|
||||
* Converted explicit clear/free sequences to use freezero(3).
|
||||
|
||||
* Reworked TLS certificate name verification code to more strictly
|
||||
follow RFC 6125.
|
||||
|
||||
* Cleaned up and simplified server key exchange EC point handling.
|
||||
|
||||
* Added tls_keypair_clear_key for clearing key material.
|
||||
|
||||
* Removed inconsistent IPv6 handling from BIO_get_accept_socket,
|
||||
simplified BIO_get_host_ip and BIO_accept.
|
||||
|
||||
* Fixed the openssl(1) ca command so that is generates certificates
|
||||
with RFC 5280-conformant time. Problem noticed by Harald Dunkel.
|
||||
|
||||
* Added ASN1_TIME_set_tm to set an asn1 from a struct tm *
|
||||
|
||||
* Added SSL{,_CTX}_set_{min,max}_proto_version() functions.
|
||||
|
||||
* Added HKDF (HMAC Key Derivation Function) from BoringSSL
|
||||
|
||||
* Provided a tls_unload_file() function that frees the memory returned
|
||||
from a tls_load_file() call, ensuring that it the contents become
|
||||
inaccessible. This is specifically needed on platforms where the
|
||||
library allocators may be different from the application allocator.
|
||||
|
||||
* Perform reference counting for tls_config. This allows
|
||||
tls_config_free() to be called as soon as it has been passed to the
|
||||
final tls_configure() call, simplifying lifetime tracking for the
|
||||
application.
|
||||
|
||||
* Moved internal state of SSL and other structures to be opaque.
|
||||
|
||||
* Dropped cipher suites with DSS authentication.
|
||||
|
||||
* nc(1) improvements, including:
|
||||
nc -W to terminate nc after receiving a number of packets
|
||||
nc -Z for saving the peer certificate and chain in a pem file
|
||||
|
||||
2.5.5 - Bug fixes
|
||||
|
||||
* Distinguish between self-issued certificates and self-signed
|
||||
certificates. The certificate verification code has special cases
|
||||
for self-signed certificates and without this change, self-issued
|
||||
certificates (which it seems are common place with
|
||||
openvpn/easyrsa) were also being included in this category.
|
||||
|
||||
* Added getpagesize fallback, needed for Android bionic libc.
|
||||
|
||||
2.5.4 - Security Updates
|
||||
|
||||
* Revert a previous change that forced consistency between return
|
||||
value and error code when specifing a certificate verification
|
||||
callback, since this breaks the documented API. When a user supplied
|
||||
callback always returns 1, and later code checks the error code to
|
||||
potentially abort post verification, this will result in incorrect
|
||||
successul certificate verification.
|
||||
|
||||
* Switched Linux getrandom() usage to non-blocking mode, continuing to
|
||||
use fallback mechanims if unsuccessful. This works around a design
|
||||
flaw in Linux getrandom(2) where early boot usage in a library makes
|
||||
it impossible to recover if getrandom(2) is not yet initialized.
|
||||
|
||||
* Fixed a bug caused by the return value being set early to signal
|
||||
successful DTLS cookie validation. This can mask a later failure and
|
||||
result in a positive return value being returned from
|
||||
ssl3_get_client_hello(), when it should return a negative value to
|
||||
propagate the error.
|
||||
|
||||
* Fixed a build error on non-x86/x86_64 systems running Solaris.
|
||||
|
||||
2.5.3 - OpenBSD 6.1 Release
|
||||
|
||||
* Documentation updates
|
||||
|
||||
* Improved ocspcheck(1) error handling
|
||||
|
||||
2.5.2 - Security features and bugfixes
|
||||
|
||||
|
42
README.md
42
README.md
@@ -56,20 +56,25 @@ or to the github
|
||||
Severe vulnerabilities or bugs requiring coordination with OpenSSL can be
|
||||
sent to the core team at libressl-security@openbsd.org.
|
||||
|
||||
## Prerequisites when building from git ##
|
||||
# Building LibreSSL #
|
||||
|
||||
If you have checked this source using Git, follow these initial steps to
|
||||
prepare the source tree for building:
|
||||
## Prerequisites when building from a Git checkout ##
|
||||
|
||||
If you have checked this source using Git, or have downloaded a source tarball
|
||||
from Github, follow these initial steps to prepare the source tree for
|
||||
building. _Note: Your build will fail if you do not follow these instructions! If you cannot follow these instructions (e.g. Windows system using CMake) or cannot meet these prerequistes, please download an official release distribution from https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/ instead. Using official releases is strongly advised if you are not a developer._
|
||||
|
||||
1. Ensure you have the following packages installed:
|
||||
automake, autoconf, git, libtool, perl, pod2man
|
||||
automake, autoconf, git, libtool, perl
|
||||
2. Run './autogen.sh' to prepare the source tree for building or
|
||||
run './dist.sh' to prepare a tarball.
|
||||
|
||||
## Building LibreSSL ##
|
||||
## Steps that apply to all builds ##
|
||||
|
||||
Once you have a source tree from Git or FTP, run these commands to build and
|
||||
install the package on most systems:
|
||||
Once you have a source tree, either by downloaded using git and having
|
||||
run the autogen.sh script above, or by downloading a release distribution from
|
||||
an OpenBSD mirror, run these commands to build and install the package on most
|
||||
systems:
|
||||
|
||||
```sh
|
||||
./configure # see ./configure --help for configuration options
|
||||
@@ -119,9 +124,9 @@ should work. See README.windows for more information
|
||||
|
||||
#### Windows - Visual Studio ####
|
||||
|
||||
LibreSSL builds using the CMake target "Visual Studio 12 2013", and may build
|
||||
against older/newer targets as well. To generate a Visual Studio project,
|
||||
install CMake, enter the LibreSSL source directory and run:
|
||||
LibreSSL builds using the CMake target "Visual Studio 12 2013" and newer. To
|
||||
generate a Visual Studio project, install CMake, enter the LibreSSL source
|
||||
directory and run:
|
||||
|
||||
```sh
|
||||
mkdir build-vs2013
|
||||
@@ -129,5 +134,18 @@ install CMake, enter the LibreSSL source directory and run:
|
||||
cmake -G"Visual Studio 12 2013" ..
|
||||
```
|
||||
|
||||
This will generate a LibreSSL.sln file that you can incorporate into other
|
||||
projects or build by itself.
|
||||
Replace "Visual Studion 12 2013" with whatever version of Visual Studio you
|
||||
have installed. This will generate a LibreSSL.sln file that you can incorporate
|
||||
into other projects or build by itself.
|
||||
|
||||
#### Cmake - Additional Options ####
|
||||
|
||||
| Option Name | Default | Description
|
||||
| ------------ | -----: | ------
|
||||
| LIBRESSL_SKIP_INSTALL | OFF | allows skipping install() rules. Can be specified from command line using <br>```-DLIBRESSL_SKIP_INSTALL=ON``` |
|
||||
| ENABLE_ASM | ON | builds assembly optimized rules. |
|
||||
| ENABLE_EXTRATESTS | OFF | Enable extra tests that may be unreliable on some platforms |
|
||||
| ENABLE_NC | OFF | Enable installing TLS-enabled nc(1) |
|
||||
| ENABLE_VSTEST | OFF | Enable test on Visual Studio |
|
||||
| OPENSSLDIR | Blank | Set the default openssl directory. Can be specified from command line using <br>```-DOPENSSLDIR=<dirname>``` |
|
||||
|
||||
|
@@ -53,8 +53,10 @@ add_executable(nc ${NC_SRC})
|
||||
target_link_libraries(nc tls ${OPENSSL_LIBS})
|
||||
|
||||
if(ENABLE_NC)
|
||||
install(TARGETS nc DESTINATION bin)
|
||||
install(FILES nc.1 DESTINATION share/man/man1)
|
||||
if(ENABLE_LIBRESSL_INSTALL)
|
||||
install(TARGETS nc DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
install(FILES nc.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1)
|
||||
endif(ENABLE_LIBRESSL_INSTALL)
|
||||
endif()
|
||||
|
||||
endif()
|
||||
|
@@ -4,6 +4,7 @@ if BUILD_NC
|
||||
|
||||
if ENABLE_NC
|
||||
bin_PROGRAMS = nc
|
||||
dist_man_MANS = nc.1
|
||||
else
|
||||
noinst_PROGRAMS = nc
|
||||
endif
|
||||
|
@@ -36,7 +36,10 @@ endif()
|
||||
add_executable(ocspcheck ${OCSPCHECK_SRC})
|
||||
target_link_libraries(ocspcheck tls ${OPENSSL_LIBS})
|
||||
|
||||
install(TARGETS ocspcheck DESTINATION bin)
|
||||
install(FILES ocspcheck.8 DESTINATION share/man/man8)
|
||||
if(ENABLE_LIBRESSL_INSTALL)
|
||||
install(TARGETS ocspcheck DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
install(FILES ocspcheck.8 DESTINATION ${CMAKE_INSTALL_MANDIR}/man8)
|
||||
|
||||
endif(ENABLE_LIBRESSL_INSTALL)
|
||||
|
||||
endif()
|
||||
|
@@ -76,13 +76,17 @@ endif()
|
||||
add_executable(openssl ${OPENSSL_SRC})
|
||||
target_link_libraries(openssl ${OPENSSL_LIBS})
|
||||
|
||||
install(TARGETS openssl DESTINATION bin)
|
||||
install(FILES openssl.1 DESTINATION share/man/man1)
|
||||
if(ENABLE_LIBRESSL_INSTALL)
|
||||
install(TARGETS openssl DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
install(FILES openssl.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1)
|
||||
endif(ENABLE_LIBRESSL_INSTALL)
|
||||
|
||||
if(NOT "${OPENSSLDIR}" STREQUAL "")
|
||||
set(CONF_DIR "${OPENSSLDIR}")
|
||||
else()
|
||||
set(CONF_DIR "${CMAKE_INSTALL_PREFIX}/etc/ssl")
|
||||
endif()
|
||||
install(FILES cert.pem openssl.cnf x509v3.cnf DESTINATION ${CONF_DIR})
|
||||
install(DIRECTORY DESTINATION ${CONF_DIR}/cert)
|
||||
if(ENABLE_LIBRESSL_INSTALL)
|
||||
install(FILES cert.pem openssl.cnf x509v3.cnf DESTINATION ${CONF_DIR})
|
||||
install(DIRECTORY DESTINATION ${CONF_DIR}/cert)
|
||||
endif(ENABLE_LIBRESSL_INSTALL)
|
||||
|
@@ -253,7 +253,9 @@ poll(struct pollfd *pfds, nfds_t nfds, int timeout_ms)
|
||||
looptime_ms = timeout_ms > 100 ? 100 : timeout_ms;
|
||||
|
||||
do {
|
||||
struct timeval tv = {0, looptime_ms * 1000};
|
||||
struct timeval tv;
|
||||
tv.tv_sec = 0;
|
||||
tv.tv_usec = looptime_ms * 1000;
|
||||
int handle_signaled = 0;
|
||||
|
||||
/*
|
||||
|
@@ -10,7 +10,13 @@ macro(export_symbol TARGET FILENAME)
|
||||
target_sources(${TARGET} PRIVATE ${DEF_FILENAME})
|
||||
|
||||
elseif(APPLE)
|
||||
set(FLAG "-exported_symbols_list ${FILENAME}")
|
||||
file(READ ${FILENAME} SYMBOLS)
|
||||
string(REGEX REPLACE "\n$" "" SYMBOLS ${SYMBOLS})
|
||||
string(REPLACE "\n" "\n_" SYMBOLS ${SYMBOLS})
|
||||
string(REGEX REPLACE "(.)$" "\\1\\n" SYMBOLS ${SYMBOLS})
|
||||
string(REPLACE ".sym" ".exp" EXP_FILENAME ${FILENAME})
|
||||
file(WRITE ${EXP_FILENAME} "_${SYMBOLS}")
|
||||
set(FLAG "-exported_symbols_list ${EXP_FILENAME}")
|
||||
set_target_properties(${TARGET} PROPERTIES LINK_FLAGS ${FLAG})
|
||||
|
||||
elseif(CMAKE_SYSTEM_NAME MATCHES "HP-UX")
|
||||
|
25
configure.ac
25
configure.ac
@@ -54,8 +54,6 @@ CHECK_CRYPTO_COMPAT
|
||||
CHECK_VA_COPY
|
||||
CHECK_B64_NTOP
|
||||
|
||||
GENERATE_CRYPTO_PORTABLE_SYM
|
||||
|
||||
AC_ARG_WITH([openssldir],
|
||||
AS_HELP_STRING([--with-openssldir],
|
||||
[Set the default openssl directory]),
|
||||
@@ -80,19 +78,15 @@ AC_TRY_COMPILE([#include "$srcdir/crypto/modes/modes_lcl.h"],
|
||||
BSWAP4=no)
|
||||
CFLAGS="$old_cflags"
|
||||
|
||||
case $host_cpu in
|
||||
*sparc*)
|
||||
CPPFLAGS="$CPPFLAGS -D__STRICT_ALIGNMENT"
|
||||
;;
|
||||
*arm*)
|
||||
AS_IF([test "x$BSWAP4" = "xyes"],,
|
||||
CPPFLAGS="$CPPFLAGS -D__STRICT_ALIGNMENT")
|
||||
;;
|
||||
*amd64*)
|
||||
host_cpu=x86_64
|
||||
;;
|
||||
|
||||
esac
|
||||
AS_CASE([$host_cpu],
|
||||
[*sparc*], [CPPFLAGS="$CPPFLAGS -D__STRICT_ALIGNMENT"],
|
||||
[*arm*], AS_IF([test "x$BSWAP4" = "xyes"],,
|
||||
CPPFLAGS="$CPPFLAGS -D__STRICT_ALIGNMENT"),
|
||||
[*amd64*], [host_cpu=x86_64, HOSTARCH=intel],
|
||||
[i?86], [HOSTARCH=intel],
|
||||
[x86_64], [HOSTARCH=intel]
|
||||
)
|
||||
AM_CONDITIONAL([HOST_CPU_IS_INTEL], [test "x$HOSTARCH" = "xintel"])
|
||||
|
||||
AC_MSG_CHECKING([if .gnu.warning accepts long strings])
|
||||
AC_LINK_IFELSE([AC_LANG_SOURCE([[
|
||||
@@ -140,6 +134,7 @@ AC_CONFIG_FILES([
|
||||
|
||||
AM_CONDITIONAL([SMALL_TIME_T], [test "$ac_cv_sizeof_time_t" = "4"])
|
||||
if test "$ac_cv_sizeof_time_t" = "4"; then
|
||||
AC_DEFINE([SMALL_TIME_T])
|
||||
echo " ** Warning, this system is unable to represent times past 2038"
|
||||
echo " ** It will behave incorrectly when handling valid RFC5280 dates"
|
||||
|
||||
|
@@ -352,10 +352,6 @@ set(
|
||||
ec/ecp_mont.c
|
||||
ec/ecp_nist.c
|
||||
ec/ecp_oct.c
|
||||
ec/ecp_nistp224.c
|
||||
ec/ecp_nistp256.c
|
||||
ec/ecp_nistp521.c
|
||||
ec/ecp_nistputil.c
|
||||
ec/ecp_smpl.c
|
||||
ecdh/ech_err.c
|
||||
ecdh/ech_key.c
|
||||
@@ -463,6 +459,7 @@ set(
|
||||
gost/gostr341001_pmeth.c
|
||||
gost/gostr341194.c
|
||||
gost/streebog.c
|
||||
hkdf/hkdf.c
|
||||
hmac/hm_ameth.c
|
||||
hmac/hm_pmeth.c
|
||||
hmac/hmac.c
|
||||
@@ -562,7 +559,6 @@ set(
|
||||
rsa/rsa_pss.c
|
||||
rsa/rsa_saos.c
|
||||
rsa/rsa_sign.c
|
||||
rsa/rsa_ssl.c
|
||||
rsa/rsa_x931.c
|
||||
sha/sha1_one.c
|
||||
sha/sha1dgst.c
|
||||
@@ -681,6 +677,11 @@ if(NOT HAVE_ASPRINTF)
|
||||
set(EXTRA_EXPORT ${EXTRA_EXPORT} vasprintf)
|
||||
endif()
|
||||
|
||||
if(NOT HAVE_FREEZERO)
|
||||
set(CRYPTO_SRC ${CRYPTO_SRC} compat/freezero.c)
|
||||
set(EXTRA_EXPORT ${EXTRA_EXPORT} freezero)
|
||||
endif()
|
||||
|
||||
if(NOT HAVE_GETPAGESIZE)
|
||||
set(CRYPTO_SRC ${CRYPTO_SRC} compat/getpagesize.c)
|
||||
endif()
|
||||
@@ -823,9 +824,13 @@ if (BUILD_SHARED)
|
||||
ARCHIVE_OUTPUT_NAME crypto${CRYPTO_POSTFIX})
|
||||
set_target_properties(crypto-shared PROPERTIES VERSION
|
||||
${CRYPTO_VERSION} SOVERSION ${CRYPTO_MAJOR_VERSION})
|
||||
install(TARGETS crypto crypto-shared DESTINATION lib)
|
||||
if(ENABLE_LIBRESSL_INSTALL)
|
||||
install(TARGETS crypto crypto-shared DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||
endif(ENABLE_LIBRESSL_INSTALL)
|
||||
else()
|
||||
add_library(crypto STATIC ${CRYPTO_SRC})
|
||||
install(TARGETS crypto DESTINATION lib)
|
||||
if(ENABLE_LIBRESSL_INSTALL)
|
||||
install(TARGETS crypto DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||
endif(ENABLE_LIBRESSL_INSTALL)
|
||||
endif()
|
||||
|
||||
|
@@ -15,7 +15,84 @@ EXTRA_DIST += crypto.sym
|
||||
# needed for a CMake target
|
||||
EXTRA_DIST += compat/strcasecmp.c
|
||||
|
||||
libcrypto_la_LDFLAGS = -version-info @LIBCRYPTO_VERSION@ -no-undefined -export-symbols $(top_srcdir)/crypto/crypto_portable.sym
|
||||
BUILT_SOURCES = crypto_portable.sym
|
||||
CLEANFILES = crypto_portable.sym
|
||||
|
||||
crypto_portable.sym:
|
||||
-echo "generating crypto_portable.sym ..."
|
||||
-cp $(top_srcdir)/crypto/crypto.sym crypto_portable.sym
|
||||
-chmod u+w crypto_portable.sym
|
||||
if !HAVE_ARC4RANDOM_BUF
|
||||
-echo arc4random >> crypto_portable.sym
|
||||
-echo arc4random_buf >> crypto_portable.sym
|
||||
-echo arc4random_uniform >> crypto_portable.sym
|
||||
if !HAVE_GETENTROPY
|
||||
-echo getentropy >> crypto_portable.sym
|
||||
endif
|
||||
endif
|
||||
if !HAVE_ASPRINTF
|
||||
-echo asprintf >> crypto_portable.sym
|
||||
-echo vasprintf >> crypto_portable.sym
|
||||
endif
|
||||
if !HAVE_EXPLICIT_BZERO
|
||||
-echo explicit_bzero >> crypto_portable.sym
|
||||
endif
|
||||
if !HAVE_FREEZERO
|
||||
-echo freezero >> crypto_portable.sym
|
||||
endif
|
||||
if !HAVE_INET_PTON
|
||||
-echo inet_pton >> crypto_portable.sym
|
||||
endif
|
||||
if !HAVE_REALLOCARRAY
|
||||
-echo reallocarray >> crypto_portable.sym
|
||||
endif
|
||||
if !HAVE_RECALLOCARRAY
|
||||
-echo recallocarray >> crypto_portable.sym
|
||||
endif
|
||||
if !HAVE_STRLCAT
|
||||
-echo strlcat >> crypto_portable.sym
|
||||
endif
|
||||
if !HAVE_STRLCPY
|
||||
-echo strlcpy >> crypto_portable.sym
|
||||
endif
|
||||
if !HAVE_STRNDUP
|
||||
-echo strndup >> crypto_portable.sym
|
||||
endif
|
||||
if !HAVE_STRNLEN
|
||||
-echo strnlen >> crypto_portable.sym
|
||||
endif
|
||||
if !HAVE_STRSEP
|
||||
-echo strsep >> crypto_portable.sym
|
||||
endif
|
||||
if !HAVE_TIMEGM
|
||||
-echo timegm >> crypto_portable.sym
|
||||
endif
|
||||
if !HAVE_TIMINGSAFE_BCMP
|
||||
-echo timingsafe_bcmp >> crypto_portable.sym
|
||||
endif
|
||||
if !HAVE_TIMINGSAFE_MEMCMP
|
||||
-echo timingsafe_memcmp >> crypto_portable.sym
|
||||
endif
|
||||
if HOST_CPU_IS_INTEL
|
||||
-echo OPENSSL_ia32cap_P >> crypto_portable.sym
|
||||
endif
|
||||
if HOST_WIN
|
||||
-echo posix_perror >> crypto_portable.sym
|
||||
-echo posix_fopen >> crypto_portable.sym
|
||||
-echo posix_fgets >> crypto_portable.sym
|
||||
-echo posix_open >> crypto_portable.sym
|
||||
-echo posix_rename >> crypto_portable.sym
|
||||
-echo posix_connect >> crypto_portable.sym
|
||||
-echo posix_close >> crypto_portable.sym
|
||||
-echo posix_read >> crypto_portable.sym
|
||||
-echo posix_write >> crypto_portable.sym
|
||||
-echo posix_getsockopt >> crypto_portable.sym
|
||||
-echo posix_setsockopt >> crypto_portable.sym
|
||||
-grep -v BIO_s_log crypto_portable.sym > crypto_portable.sym.tmp
|
||||
-mv crypto_portable.sym.tmp crypto_portable.sym
|
||||
endif
|
||||
|
||||
libcrypto_la_LDFLAGS = -version-info @LIBCRYPTO_VERSION@ -no-undefined -export-symbols crypto_portable.sym
|
||||
libcrypto_la_LIBADD = libcompat.la
|
||||
if !HAVE_EXPLICIT_BZERO
|
||||
libcrypto_la_LIBADD += libcompatnoopt.la
|
||||
@@ -81,6 +158,10 @@ if !HAVE_ASPRINTF
|
||||
libcompat_la_SOURCES += compat/bsd-asprintf.c
|
||||
endif
|
||||
|
||||
if !HAVE_FREEZERO
|
||||
libcompat_la_SOURCES += compat/freezero.c
|
||||
endif
|
||||
|
||||
if !HAVE_GETPAGESIZE
|
||||
libcompat_la_SOURCES += compat/getpagesize.c
|
||||
endif
|
||||
@@ -443,10 +524,6 @@ libcrypto_la_SOURCES += ec/ec_print.c
|
||||
libcrypto_la_SOURCES += ec/eck_prn.c
|
||||
libcrypto_la_SOURCES += ec/ecp_mont.c
|
||||
libcrypto_la_SOURCES += ec/ecp_nist.c
|
||||
libcrypto_la_SOURCES += ec/ecp_nistp224.c
|
||||
libcrypto_la_SOURCES += ec/ecp_nistp256.c
|
||||
libcrypto_la_SOURCES += ec/ecp_nistp521.c
|
||||
libcrypto_la_SOURCES += ec/ecp_nistputil.c
|
||||
libcrypto_la_SOURCES += ec/ecp_oct.c
|
||||
libcrypto_la_SOURCES += ec/ecp_smpl.c
|
||||
noinst_HEADERS += ec/ec_lcl.h
|
||||
@@ -576,6 +653,9 @@ noinst_HEADERS += gost/gost.h
|
||||
noinst_HEADERS += gost/gost_asn1.h
|
||||
noinst_HEADERS += gost/gost_locl.h
|
||||
|
||||
# hkdf
|
||||
libcrypto_la_SOURCES += hkdf/hkdf.c
|
||||
|
||||
# hmac
|
||||
libcrypto_la_SOURCES += hmac/hm_ameth.c
|
||||
libcrypto_la_SOURCES += hmac/hm_pmeth.c
|
||||
@@ -719,7 +799,6 @@ libcrypto_la_SOURCES += rsa/rsa_prn.c
|
||||
libcrypto_la_SOURCES += rsa/rsa_pss.c
|
||||
libcrypto_la_SOURCES += rsa/rsa_saos.c
|
||||
libcrypto_la_SOURCES += rsa/rsa_sign.c
|
||||
libcrypto_la_SOURCES += rsa/rsa_ssl.c
|
||||
libcrypto_la_SOURCES += rsa/rsa_x931.c
|
||||
noinst_HEADERS += rsa/rsa_locl.h
|
||||
|
||||
|
32
crypto/compat/freezero.c
Normal file
32
crypto/compat/freezero.c
Normal file
@@ -0,0 +1,32 @@
|
||||
/*
|
||||
* Copyright (c) 2008, 2010, 2011, 2016 Otto Moerbeek <otto@drijf.net>
|
||||
* Copyright (c) 2012 Matthew Dempsky <matthew@openbsd.org>
|
||||
* Copyright (c) 2008 Damien Miller <djm@openbsd.org>
|
||||
* Copyright (c) 2000 Poul-Henning Kamp <phk@FreeBSD.org>
|
||||
*
|
||||
* Permission to use, copy, modify, and distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
* copyright notice and this permission notice appear in all copies.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
void
|
||||
freezero(void *ptr, size_t sz)
|
||||
{
|
||||
/* This is legal. */
|
||||
if (ptr == NULL)
|
||||
return;
|
||||
|
||||
explicit_bzero(ptr, sz);
|
||||
free(ptr);
|
||||
}
|
@@ -1,12 +1,18 @@
|
||||
/* $OpenBSD$ */
|
||||
|
||||
#include <unistd.h>
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#include <windows.h>
|
||||
#endif
|
||||
|
||||
int
|
||||
getpagesize(void)
|
||||
{
|
||||
getpagesize(void) {
|
||||
#ifdef _MSC_VER
|
||||
SYSTEM_INFO system_info;
|
||||
GetSystemInfo(&system_info);
|
||||
return system_info.dwPageSize;
|
||||
#else
|
||||
return sysconf(_SC_PAGESIZE);
|
||||
#endif
|
||||
}
|
||||
|
@@ -209,6 +209,7 @@ posix_setsockopt(int sockfd, int level, int optname,
|
||||
}
|
||||
|
||||
#ifdef _MSC_VER
|
||||
struct timezone;
|
||||
int gettimeofday(struct timeval * tp, struct timezone * tzp)
|
||||
{
|
||||
/*
|
||||
|
2
dist.sh
2
dist.sh
@@ -4,4 +4,4 @@ set -e
|
||||
rm -f man/*.1 man/*.3 include/openssl/*.h
|
||||
./autogen.sh
|
||||
./configure
|
||||
make distcheck
|
||||
make -j2 distcheck
|
||||
|
@@ -1,5 +1,7 @@
|
||||
install(DIRECTORY .
|
||||
DESTINATION include
|
||||
if(ENABLE_LIBRESSL_INSTALL)
|
||||
install(DIRECTORY .
|
||||
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
|
||||
PATTERN "CMakeLists.txt" EXCLUDE
|
||||
PATTERN "compat" EXCLUDE
|
||||
PATTERN "Makefile*" EXCLUDE)
|
||||
endif(ENABLE_LIBRESSL_INSTALL)
|
||||
|
@@ -25,6 +25,10 @@ void arc4random_buf(void *_buf, size_t n);
|
||||
uint32_t arc4random_uniform(uint32_t upper_bound);
|
||||
#endif
|
||||
|
||||
#ifndef HAVE_FREEZERO
|
||||
void freezero(void *ptr, size_t sz);
|
||||
#endif
|
||||
|
||||
#ifndef HAVE_REALLOCARRAY
|
||||
void *reallocarray(void *, size_t, size_t);
|
||||
#endif
|
||||
|
@@ -20,12 +20,14 @@
|
||||
|
||||
#ifdef __MINGW32__
|
||||
#include <_bsd_types.h>
|
||||
typedef uint32_t in_addr_t;
|
||||
#endif
|
||||
|
||||
#ifdef _MSC_VER
|
||||
typedef unsigned char u_char;
|
||||
typedef unsigned short u_short;
|
||||
typedef unsigned int u_int;
|
||||
typedef uint32_t in_addr_t;
|
||||
|
||||
#include <basetsd.h>
|
||||
typedef SSIZE_T ssize_t;
|
||||
|
@@ -5,8 +5,8 @@ exec_prefix=@exec_prefix@
|
||||
libdir=@libdir@
|
||||
includedir=@includedir@
|
||||
|
||||
Name: LibreSSL-libssl
|
||||
Description: Secure Sockets Layer and cryptography libraries
|
||||
Name: LibreSSL-libcrypto
|
||||
Description: LibreSSL cryptography library
|
||||
Version: @VERSION@
|
||||
Requires:
|
||||
Conflicts:
|
||||
|
@@ -2,11 +2,12 @@ AC_DEFUN([CHECK_LIBC_COMPAT], [
|
||||
# Check for libc headers
|
||||
AC_CHECK_HEADERS([err.h readpassphrase.h])
|
||||
# Check for general libc functions
|
||||
AC_CHECK_FUNCS([asprintf getpagesize inet_ntop inet_pton memmem readpassphrase])
|
||||
AC_CHECK_FUNCS([reallocarray recallocarray])
|
||||
AC_CHECK_FUNCS([asprintf freezero getpagesize inet_ntop inet_pton memmem])
|
||||
AC_CHECK_FUNCS([readpassphrase reallocarray recallocarray])
|
||||
AC_CHECK_FUNCS([strlcat strlcpy strndup strnlen strsep strtonum])
|
||||
AC_CHECK_FUNCS([timegm _mkgmtime])
|
||||
AM_CONDITIONAL([HAVE_ASPRINTF], [test "x$ac_cv_func_asprintf" = xyes])
|
||||
AM_CONDITIONAL([HAVE_FREEZERO], [test "x$ac_cv_func_freezero" = xyes])
|
||||
AM_CONDITIONAL([HAVE_GETPAGESIZE], [test "x$ac_cv_func_getpagesize" = xyes])
|
||||
AM_CONDITIONAL([HAVE_INET_NTOP], [test "x$ac_cv_func_inet_ntop" = xyes])
|
||||
AM_CONDITIONAL([HAVE_INET_PTON], [test "x$ac_cv_func_inet_pton" = xyes])
|
||||
@@ -147,76 +148,3 @@ if test "x$ac_cv_have___va_copy" = "xyes" ; then
|
||||
AC_DEFINE([HAVE___VA_COPY], [1], [Define if __va_copy exists])
|
||||
fi
|
||||
])
|
||||
|
||||
AC_DEFUN([GENERATE_CRYPTO_PORTABLE_SYM], [
|
||||
crypto_sym=$srcdir/crypto/crypto.sym
|
||||
crypto_p_sym=$srcdir/crypto/crypto_portable.sym
|
||||
echo "generating $crypto_p_sym ..."
|
||||
chmod u+w $srcdir/crypto
|
||||
cp $crypto_sym $crypto_p_sym
|
||||
chmod u+w $crypto_p_sym
|
||||
if test "x$ac_cv_func_arc4random_buf" = "xno" ; then
|
||||
echo arc4random >> $crypto_p_sym
|
||||
echo arc4random_buf >> $crypto_p_sym
|
||||
echo arc4random_uniform >> $crypto_p_sym
|
||||
if test "x$ac_cv_func_getentropy" = "xno" ; then
|
||||
echo getentropy >> $crypto_p_sym
|
||||
fi
|
||||
fi
|
||||
if test "x$ac_cv_func_asprintf" = "xno" ; then
|
||||
echo asprintf >> $crypto_p_sym
|
||||
echo vasprintf >> $crypto_p_sym
|
||||
fi
|
||||
if test "x$ac_cv_func_explicit_bzero" = "xno" ; then
|
||||
echo explicit_bzero >> $crypto_p_sym
|
||||
fi
|
||||
if test "x$ac_cv_func_inet_pton" = "xno" ; then
|
||||
echo inet_pton >> $crypto_p_sym
|
||||
fi
|
||||
if test "x$ac_cv_func_reallocarray" = "xno" ; then
|
||||
echo reallocarray >> $crypto_p_sym
|
||||
fi
|
||||
if test "x$ac_cv_func_recallocarray" = "xno" ; then
|
||||
echo recallocarray >> $crypto_p_sym
|
||||
fi
|
||||
if test "x$ac_cv_func_strlcat" = "xno" ; then
|
||||
echo strlcat >> $crypto_p_sym
|
||||
fi
|
||||
if test "x$ac_cv_func_strlcpy" = "xno" ; then
|
||||
echo strlcpy >> $crypto_p_sym
|
||||
fi
|
||||
if test "x$ac_cv_func_strndup" = "xno" ; then
|
||||
echo strndup >> $crypto_p_sym
|
||||
fi
|
||||
if test "x$ac_cv_func_strnlen" = "xno" ; then
|
||||
echo strnlen >> $crypto_p_sym
|
||||
fi
|
||||
if test "x$ac_cv_func_strsep" = "xno" ; then
|
||||
echo strsep >> $crypto_p_sym
|
||||
fi
|
||||
if test "x$ac_cv_func_timegm" = "xno" ; then
|
||||
echo timegm >> $crypto_p_sym
|
||||
fi
|
||||
if test "x$ac_cv_func_timingsafe_bcmp" = "xno" ; then
|
||||
echo timingsafe_bcmp >> $crypto_p_sym
|
||||
fi
|
||||
if test "x$ac_cv_func_timingsafe_memcmp" = "xno" ; then
|
||||
echo timingsafe_memcmp >> $crypto_p_sym
|
||||
fi
|
||||
if test "x$HOST_OS" = "xwin" ; then
|
||||
echo posix_perror >> $crypto_p_sym
|
||||
echo posix_fopen >> $crypto_p_sym
|
||||
echo posix_fgets >> $crypto_p_sym
|
||||
echo posix_open >> $crypto_p_sym
|
||||
echo posix_rename >> $crypto_p_sym
|
||||
echo posix_connect >> $crypto_p_sym
|
||||
echo posix_close >> $crypto_p_sym
|
||||
echo posix_read >> $crypto_p_sym
|
||||
echo posix_write >> $crypto_p_sym
|
||||
echo posix_getsockopt >> $crypto_p_sym
|
||||
echo posix_setsockopt >> $crypto_p_sym
|
||||
|
||||
grep -v BIO_s_log $crypto_p_sym > $crypto_p_sym.tmp
|
||||
mv $crypto_p_sym.tmp $crypto_p_sym
|
||||
fi
|
||||
])
|
||||
|
@@ -13,6 +13,7 @@ case $host_os in
|
||||
;;
|
||||
*cygwin*)
|
||||
HOST_OS=cygwin
|
||||
CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
|
||||
;;
|
||||
*darwin*)
|
||||
HOST_OS=darwin
|
||||
@@ -106,13 +107,12 @@ char buf[1]; getentropy(buf, 1);
|
||||
CPPFLAGS="$CPPFLAGS -D_REENTRANT -D_POSIX_THREAD_SAFE_FUNCTIONS"
|
||||
CPPFLAGS="$CPPFLAGS -DWIN32_LEAN_AND_MEAN -D_WIN32_WINNT=0x0501"
|
||||
CPPFLAGS="$CPPFLAGS -DOPENSSL_NO_SPEED"
|
||||
CFLAGS="$CFLAGS -static-libgcc"
|
||||
LDFLAGS="$LDFLAGS -static-libgcc"
|
||||
AC_SUBST([PLATFORM_LDADD], ['-lws2_32'])
|
||||
;;
|
||||
*solaris*)
|
||||
HOST_OS=solaris
|
||||
HOST_ABI=elf
|
||||
CFLAGS="$CFLAGS -m64"
|
||||
CPPFLAGS="$CPPFLAGS -D__EXTENSIONS__ -D_XOPEN_SOURCE=600 -DBSD_COMP"
|
||||
AC_SUBST([PLATFORM_LDADD], ['-lnsl -lsocket'])
|
||||
;;
|
||||
|
@@ -1,9 +1,11 @@
|
||||
install(DIRECTORY .
|
||||
DESTINATION share/man/man3
|
||||
if(ENABLE_LIBRESSL_INSTALL)
|
||||
install(DIRECTORY .
|
||||
DESTINATION ${CMAKE_INSTALL_MANDIR}/man3
|
||||
FILES_MATCHING PATTERN "*.3"
|
||||
)
|
||||
|
||||
install(DIRECTORY .
|
||||
DESTINATION share/man/man1
|
||||
install(DIRECTORY .
|
||||
DESTINATION ${CMAKE_INSTALL_MANDIR}/man1
|
||||
FILES_MATCHING PATTERN "*.1"
|
||||
)
|
||||
endif(ENABLE_LIBRESSL_INSTALL)
|
||||
|
113
man/links
113
man/links
@@ -3,6 +3,8 @@ ACCESS_DESCRIPTION_new.3,ACCESS_DESCRIPTION_free.3
|
||||
ACCESS_DESCRIPTION_new.3,AUTHORITY_INFO_ACCESS_free.3
|
||||
ACCESS_DESCRIPTION_new.3,AUTHORITY_INFO_ACCESS_new.3
|
||||
ASN1_OBJECT_new.3,ASN1_OBJECT_free.3
|
||||
ASN1_STRING_TABLE_add.3,ASN1_STRING_TABLE_cleanup.3
|
||||
ASN1_STRING_TABLE_add.3,ASN1_STRING_TABLE_get.3
|
||||
ASN1_STRING_length.3,ASN1_STRING_cmp.3
|
||||
ASN1_STRING_length.3,ASN1_STRING_data.3
|
||||
ASN1_STRING_length.3,ASN1_STRING_dup.3
|
||||
@@ -50,10 +52,23 @@ ASN1_STRING_new.3,DISPLAYTEXT_free.3
|
||||
ASN1_STRING_new.3,DISPLAYTEXT_new.3
|
||||
ASN1_STRING_print_ex.3,ASN1_STRING_print.3
|
||||
ASN1_STRING_print_ex.3,ASN1_STRING_print_ex_fp.3
|
||||
ASN1_STRING_print_ex.3,ASN1_tag2str.3
|
||||
ASN1_TIME_set.3,ASN1_GENERALIZEDTIME_adj.3
|
||||
ASN1_TIME_set.3,ASN1_GENERALIZEDTIME_check.3
|
||||
ASN1_TIME_set.3,ASN1_GENERALIZEDTIME_print.3
|
||||
ASN1_TIME_set.3,ASN1_GENERALIZEDTIME_set.3
|
||||
ASN1_TIME_set.3,ASN1_GENERALIZEDTIME_set_string.3
|
||||
ASN1_TIME_set.3,ASN1_TIME_adj.3
|
||||
ASN1_TIME_set.3,ASN1_TIME_check.3
|
||||
ASN1_TIME_set.3,ASN1_TIME_print.3
|
||||
ASN1_TIME_set.3,ASN1_TIME_set_string.3
|
||||
ASN1_TIME_set.3,ASN1_TIME_to_generalizedtime.3
|
||||
ASN1_TIME_set.3,ASN1_UTCTIME_adj.3
|
||||
ASN1_TIME_set.3,ASN1_UTCTIME_check.3
|
||||
ASN1_TIME_set.3,ASN1_UTCTIME_cmp_time_t.3
|
||||
ASN1_TIME_set.3,ASN1_UTCTIME_print.3
|
||||
ASN1_TIME_set.3,ASN1_UTCTIME_set.3
|
||||
ASN1_TIME_set.3,ASN1_UTCTIME_set_string.3
|
||||
ASN1_TYPE_get.3,ASN1_TYPE_cmp.3
|
||||
ASN1_TYPE_get.3,ASN1_TYPE_free.3
|
||||
ASN1_TYPE_get.3,ASN1_TYPE_new.3
|
||||
@@ -70,6 +85,7 @@ ASN1_item_d2i.3,ASN1_item_print.3
|
||||
ASN1_item_d2i.3,d2i_ASN1_TYPE.3
|
||||
ASN1_item_d2i.3,i2d_ASN1_TYPE.3
|
||||
ASN1_item_new.3,ASN1_item_free.3
|
||||
ASN1_time_parse.3,ASN1_TIME_set_tm.3
|
||||
ASN1_time_parse.3,ASN1_time_tm_cmp.3
|
||||
AUTHORITY_KEYID_new.3,AUTHORITY_KEYID_free.3
|
||||
BASIC_CONSTRAINTS_new.3,BASIC_CONSTRAINTS_free.3
|
||||
@@ -146,6 +162,9 @@ BIO_new.3,BIO_free.3
|
||||
BIO_new.3,BIO_free_all.3
|
||||
BIO_new.3,BIO_set.3
|
||||
BIO_new.3,BIO_vfree.3
|
||||
BIO_printf.3,BIO_snprintf.3
|
||||
BIO_printf.3,BIO_vprintf.3
|
||||
BIO_printf.3,BIO_vsnprintf.3
|
||||
BIO_push.3,BIO_pop.3
|
||||
BIO_read.3,BIO_gets.3
|
||||
BIO_read.3,BIO_puts.3
|
||||
@@ -298,6 +317,7 @@ BN_set_bit.3,BN_lshift1.3
|
||||
BN_set_bit.3,BN_mask_bits.3
|
||||
BN_set_bit.3,BN_rshift.3
|
||||
BN_set_bit.3,BN_rshift1.3
|
||||
BN_set_flags.3,BN_get_flags.3
|
||||
BN_set_negative.3,BN_is_negative.3
|
||||
BN_zero.3,BN_get_word.3
|
||||
BN_zero.3,BN_one.3
|
||||
@@ -311,8 +331,10 @@ BUF_MEM_new.3,BUF_strdup.3
|
||||
CONF_modules_free.3,CONF_modules_finish.3
|
||||
CONF_modules_free.3,CONF_modules_unload.3
|
||||
CONF_modules_load_file.3,CONF_modules_load.3
|
||||
CRYPTO_get_mem_functions.3,CRYPTO_MEM_LEAK_CB.3
|
||||
CRYPTO_get_mem_functions.3,CRYPTO_mem_ctrl.3
|
||||
CRYPTO_get_mem_functions.3,CRYPTO_mem_leaks.3
|
||||
CRYPTO_get_mem_functions.3,CRYPTO_mem_leaks_cb.3
|
||||
CRYPTO_get_mem_functions.3,CRYPTO_mem_leaks_fp.3
|
||||
CRYPTO_get_mem_functions.3,CRYPTO_set_mem_functions.3
|
||||
CRYPTO_set_ex_data.3,CRYPTO_EX_dup.3
|
||||
@@ -555,7 +577,6 @@ EVP_AEAD_CTX_init.3,EVP_AEAD_nonce_length.3
|
||||
EVP_AEAD_CTX_init.3,EVP_aead_aes_128_gcm.3
|
||||
EVP_AEAD_CTX_init.3,EVP_aead_aes_256_gcm.3
|
||||
EVP_AEAD_CTX_init.3,EVP_aead_chacha20_poly1305.3
|
||||
EVP_AEAD_CTX_init.3,EVP_aead_chacha20_poly1305_ietf.3
|
||||
EVP_DigestInit.3,EVP_DigestFinal.3
|
||||
EVP_DigestInit.3,EVP_DigestFinal_ex.3
|
||||
EVP_DigestInit.3,EVP_DigestInit_ex.3
|
||||
@@ -566,6 +587,7 @@ EVP_DigestInit.3,EVP_MD_CTX_cleanup.3
|
||||
EVP_DigestInit.3,EVP_MD_CTX_copy.3
|
||||
EVP_DigestInit.3,EVP_MD_CTX_copy_ex.3
|
||||
EVP_DigestInit.3,EVP_MD_CTX_create.3
|
||||
EVP_DigestInit.3,EVP_MD_CTX_ctrl.3
|
||||
EVP_DigestInit.3,EVP_MD_CTX_destroy.3
|
||||
EVP_DigestInit.3,EVP_MD_CTX_init.3
|
||||
EVP_DigestInit.3,EVP_MD_CTX_md.3
|
||||
@@ -582,6 +604,7 @@ EVP_DigestInit.3,EVP_get_digestbynid.3
|
||||
EVP_DigestInit.3,EVP_get_digestbyobj.3
|
||||
EVP_DigestInit.3,EVP_md2.3
|
||||
EVP_DigestInit.3,EVP_md5.3
|
||||
EVP_DigestInit.3,EVP_md5_sha1.3
|
||||
EVP_DigestInit.3,EVP_md_null.3
|
||||
EVP_DigestInit.3,EVP_ripemd160.3
|
||||
EVP_DigestInit.3,EVP_sha1.3
|
||||
@@ -641,6 +664,7 @@ EVP_EncryptInit.3,EVP_EncryptFinal_ex.3
|
||||
EVP_EncryptInit.3,EVP_EncryptInit_ex.3
|
||||
EVP_EncryptInit.3,EVP_EncryptUpdate.3
|
||||
EVP_EncryptInit.3,EVP_aes_128_cbc.3
|
||||
EVP_EncryptInit.3,EVP_aes_128_cbc_hmac_sha1.3
|
||||
EVP_EncryptInit.3,EVP_aes_128_ccm.3
|
||||
EVP_EncryptInit.3,EVP_aes_128_cfb.3
|
||||
EVP_EncryptInit.3,EVP_aes_128_ecb.3
|
||||
@@ -653,6 +677,7 @@ EVP_EncryptInit.3,EVP_aes_192_ecb.3
|
||||
EVP_EncryptInit.3,EVP_aes_192_gcm.3
|
||||
EVP_EncryptInit.3,EVP_aes_192_ofb.3
|
||||
EVP_EncryptInit.3,EVP_aes_256_cbc.3
|
||||
EVP_EncryptInit.3,EVP_aes_256_cbc_hmac_sha1.3
|
||||
EVP_EncryptInit.3,EVP_aes_256_ccm.3
|
||||
EVP_EncryptInit.3,EVP_aes_256_cfb.3
|
||||
EVP_EncryptInit.3,EVP_aes_256_ecb.3
|
||||
@@ -696,6 +721,7 @@ EVP_EncryptInit.3,EVP_rc2_ecb.3
|
||||
EVP_EncryptInit.3,EVP_rc2_ofb.3
|
||||
EVP_EncryptInit.3,EVP_rc4.3
|
||||
EVP_EncryptInit.3,EVP_rc4_40.3
|
||||
EVP_EncryptInit.3,EVP_rc4_hmac_md5.3
|
||||
EVP_EncryptInit.3,EVP_rc5_32_12_16_cbc.3
|
||||
EVP_EncryptInit.3,EVP_rc5_32_12_16_cfb.3
|
||||
EVP_EncryptInit.3,EVP_rc5_32_12_16_ecb.3
|
||||
@@ -707,10 +733,10 @@ EVP_PKEY_CTX_ctrl.3,EVP_PKEY_CTX_set_dh_paramgen_generator.3
|
||||
EVP_PKEY_CTX_ctrl.3,EVP_PKEY_CTX_set_dh_paramgen_prime_len.3
|
||||
EVP_PKEY_CTX_ctrl.3,EVP_PKEY_CTX_set_dsa_paramgen_bits.3
|
||||
EVP_PKEY_CTX_ctrl.3,EVP_PKEY_CTX_set_ec_paramgen_curve_nid.3
|
||||
EVP_PKEY_CTX_ctrl.3,EVP_PKEY_CTX_set_rsa_keygen_bits.3
|
||||
EVP_PKEY_CTX_ctrl.3,EVP_PKEY_CTX_set_rsa_keygen_pubexp.3
|
||||
EVP_PKEY_CTX_ctrl.3,EVP_PKEY_CTX_set_rsa_padding.3
|
||||
EVP_PKEY_CTX_ctrl.3,EVP_PKEY_CTX_set_rsa_pss_saltlen.3
|
||||
EVP_PKEY_CTX_ctrl.3,EVP_PKEY_CTX_set_rsa_rsa_keygen_bits.3
|
||||
EVP_PKEY_CTX_ctrl.3,EVP_PKEY_CTX_set_signature_md.3
|
||||
EVP_PKEY_CTX_new.3,EVP_PKEY_CTX_dup.3
|
||||
EVP_PKEY_CTX_new.3,EVP_PKEY_CTX_free.3
|
||||
@@ -1034,12 +1060,10 @@ RSA_get_ex_new_index.3,RSA_set_ex_data.3
|
||||
RSA_new.3,RSA_free.3
|
||||
RSA_padding_add_PKCS1_type_1.3,RSA_padding_add_PKCS1_OAEP.3
|
||||
RSA_padding_add_PKCS1_type_1.3,RSA_padding_add_PKCS1_type_2.3
|
||||
RSA_padding_add_PKCS1_type_1.3,RSA_padding_add_SSLv23.3
|
||||
RSA_padding_add_PKCS1_type_1.3,RSA_padding_add_none.3
|
||||
RSA_padding_add_PKCS1_type_1.3,RSA_padding_check_PKCS1_OAEP.3
|
||||
RSA_padding_add_PKCS1_type_1.3,RSA_padding_check_PKCS1_type_1.3
|
||||
RSA_padding_add_PKCS1_type_1.3,RSA_padding_check_PKCS1_type_2.3
|
||||
RSA_padding_add_PKCS1_type_1.3,RSA_padding_check_SSLv23.3
|
||||
RSA_padding_add_PKCS1_type_1.3,RSA_padding_check_none.3
|
||||
RSA_print.3,DHparams_print.3
|
||||
RSA_print.3,DHparams_print_fp.3
|
||||
@@ -1086,12 +1110,9 @@ SSL_CIPHER_get_name.3,SSL_CIPHER_get_version.3
|
||||
SSL_COMP_add_compression_method.3,SSL_COMP_get_compression_methods.3
|
||||
SSL_CTX_add_extra_chain_cert.3,SSL_CTX_clear_extra_chain_certs.3
|
||||
SSL_CTX_add_session.3,SSL_CTX_remove_session.3
|
||||
SSL_CTX_add_session.3,SSL_add_session.3
|
||||
SSL_CTX_add_session.3,SSL_remove_session.3
|
||||
SSL_CTX_ctrl.3,SSL_CTX_callback_ctrl.3
|
||||
SSL_CTX_ctrl.3,SSL_callback_ctrl.3
|
||||
SSL_CTX_ctrl.3,SSL_ctrl.3
|
||||
SSL_CTX_flush_sessions.3,SSL_flush_sessions.3
|
||||
SSL_CTX_get_ex_new_index.3,SSL_CTX_get_ex_data.3
|
||||
SSL_CTX_get_ex_new_index.3,SSL_CTX_set_ex_data.3
|
||||
SSL_CTX_get_verify_mode.3,SSL_CTX_get_verify_callback.3
|
||||
@@ -1138,6 +1159,13 @@ SSL_CTX_sess_set_get_cb.3,SSL_CTX_sess_set_remove_cb.3
|
||||
SSL_CTX_sess_set_get_cb.3,get_session_cb.3
|
||||
SSL_CTX_sess_set_get_cb.3,new_session_cb.3
|
||||
SSL_CTX_sess_set_get_cb.3,remove_session_cb.3
|
||||
SSL_CTX_set1_groups.3,SSL_CTX_set1_curves.3
|
||||
SSL_CTX_set1_groups.3,SSL_CTX_set1_curves_list.3
|
||||
SSL_CTX_set1_groups.3,SSL_CTX_set1_groups_list.3
|
||||
SSL_CTX_set1_groups.3,SSL_set1_curves.3
|
||||
SSL_CTX_set1_groups.3,SSL_set1_curves_list.3
|
||||
SSL_CTX_set1_groups.3,SSL_set1_groups.3
|
||||
SSL_CTX_set1_groups.3,SSL_set1_groups_list.3
|
||||
SSL_CTX_set_alpn_select_cb.3,SSL_CTX_set_alpn_protos.3
|
||||
SSL_CTX_set_alpn_select_cb.3,SSL_get0_alpn_selected.3
|
||||
SSL_CTX_set_alpn_select_cb.3,SSL_select_next_proto.3
|
||||
@@ -1160,6 +1188,9 @@ SSL_CTX_set_info_callback.3,SSL_set_info_callback.3
|
||||
SSL_CTX_set_max_cert_list.3,SSL_CTX_get_max_cert_list.3
|
||||
SSL_CTX_set_max_cert_list.3,SSL_get_max_cert_list.3
|
||||
SSL_CTX_set_max_cert_list.3,SSL_set_max_cert_list.3
|
||||
SSL_CTX_set_min_proto_version.3,SSL_CTX_set_max_proto_version.3
|
||||
SSL_CTX_set_min_proto_version.3,SSL_set_max_proto_version.3
|
||||
SSL_CTX_set_min_proto_version.3,SSL_set_min_proto_version.3
|
||||
SSL_CTX_set_mode.3,SSL_CTX_get_mode.3
|
||||
SSL_CTX_set_mode.3,SSL_get_mode.3
|
||||
SSL_CTX_set_mode.3,SSL_set_mode.3
|
||||
@@ -1184,6 +1215,10 @@ SSL_CTX_set_session_id_context.3,SSL_set_session_id_context.3
|
||||
SSL_CTX_set_ssl_version.3,SSL_get_ssl_method.3
|
||||
SSL_CTX_set_ssl_version.3,SSL_set_ssl_method.3
|
||||
SSL_CTX_set_timeout.3,SSL_CTX_get_timeout.3
|
||||
SSL_CTX_set_tlsext_servername_callback.3,SSL_CTX_set_tlsext_servername_arg.3
|
||||
SSL_CTX_set_tlsext_servername_callback.3,SSL_get_servername.3
|
||||
SSL_CTX_set_tlsext_servername_callback.3,SSL_get_servername_type.3
|
||||
SSL_CTX_set_tlsext_servername_callback.3,SSL_set_tlsext_host_name.3
|
||||
SSL_CTX_set_tlsext_status_cb.3,SSL_CTX_set_tlsext_status_arg.3
|
||||
SSL_CTX_set_tlsext_status_cb.3,SSL_get_tlsext_status_ocsp_resp.3
|
||||
SSL_CTX_set_tlsext_status_cb.3,SSL_set_tlsext_status_ocsp_resp.3
|
||||
@@ -1196,7 +1231,6 @@ SSL_CTX_set_tmp_rsa_callback.3,SSL_CTX_set_tmp_rsa.3
|
||||
SSL_CTX_set_tmp_rsa_callback.3,SSL_need_tmp_rsa.3
|
||||
SSL_CTX_set_tmp_rsa_callback.3,SSL_set_tmp_rsa.3
|
||||
SSL_CTX_set_tmp_rsa_callback.3,SSL_set_tmp_rsa_callback.3
|
||||
SSL_CTX_set_tmp_rsa_callback.3,tmp_rsa_callback.3
|
||||
SSL_CTX_set_verify.3,SSL_CTX_set_verify_depth.3
|
||||
SSL_CTX_set_verify.3,SSL_set_verify.3
|
||||
SSL_CTX_set_verify.3,SSL_set_verify_depth.3
|
||||
@@ -1263,6 +1297,8 @@ SSL_load_client_CA_file.3,SSL_add_file_cert_subjects_to_stack.3
|
||||
SSL_num_renegotiations.3,SSL_clear_num_renegotiations.3
|
||||
SSL_num_renegotiations.3,SSL_total_renegotiations.3
|
||||
SSL_read.3,SSL_peek.3
|
||||
SSL_renegotiate.3,SSL_renegotiate_abbreviated.3
|
||||
SSL_renegotiate.3,SSL_renegotiate_pending.3
|
||||
SSL_rstate_string.3,SSL_rstate_string_long.3
|
||||
SSL_set1_param.3,SSL_CTX_set1_param.3
|
||||
SSL_set_connect_state.3,SSL_set_accept_state.3
|
||||
@@ -1270,6 +1306,11 @@ SSL_set_fd.3,SSL_set_rfd.3
|
||||
SSL_set_fd.3,SSL_set_wfd.3
|
||||
SSL_set_max_send_fragment.3,SSL_CTX_set_max_send_fragment.3
|
||||
SSL_set_shutdown.3,SSL_get_shutdown.3
|
||||
SSL_set_tmp_ecdh.3,SSL_CTX_set_ecdh_auto.3
|
||||
SSL_set_tmp_ecdh.3,SSL_CTX_set_tmp_ecdh.3
|
||||
SSL_set_tmp_ecdh.3,SSL_CTX_set_tmp_ecdh_callback.3
|
||||
SSL_set_tmp_ecdh.3,SSL_set_ecdh_auto.3
|
||||
SSL_set_tmp_ecdh.3,SSL_set_tmp_ecdh_callback.3
|
||||
SSL_state_string.3,SSL_state_string_long.3
|
||||
SSL_want.3,SSL_want_nothing.3
|
||||
SSL_want.3,SSL_want_read.3
|
||||
@@ -1293,6 +1334,28 @@ TS_REQ_new.3,TS_STATUS_INFO_free.3
|
||||
TS_REQ_new.3,TS_STATUS_INFO_new.3
|
||||
TS_REQ_new.3,TS_TST_INFO_free.3
|
||||
TS_REQ_new.3,TS_TST_INFO_new.3
|
||||
UI_UTIL_read_pw.3,UI_UTIL_read_pw_string.3
|
||||
UI_create_method.3,UI_destroy_method.3
|
||||
UI_create_method.3,UI_method_get_closer.3
|
||||
UI_create_method.3,UI_method_get_flusher.3
|
||||
UI_create_method.3,UI_method_get_opener.3
|
||||
UI_create_method.3,UI_method_get_prompt_constructor.3
|
||||
UI_create_method.3,UI_method_get_reader.3
|
||||
UI_create_method.3,UI_method_get_writer.3
|
||||
UI_create_method.3,UI_method_set_closer.3
|
||||
UI_create_method.3,UI_method_set_flusher.3
|
||||
UI_create_method.3,UI_method_set_opener.3
|
||||
UI_create_method.3,UI_method_set_prompt_constructor.3
|
||||
UI_create_method.3,UI_method_set_reader.3
|
||||
UI_create_method.3,UI_method_set_writer.3
|
||||
UI_get_string_type.3,UI_get0_action_string.3
|
||||
UI_get_string_type.3,UI_get0_output_string.3
|
||||
UI_get_string_type.3,UI_get0_result_string.3
|
||||
UI_get_string_type.3,UI_get0_test_string.3
|
||||
UI_get_string_type.3,UI_get_input_flags.3
|
||||
UI_get_string_type.3,UI_get_result_maxsize.3
|
||||
UI_get_string_type.3,UI_get_result_minsize.3
|
||||
UI_get_string_type.3,UI_set_result.3
|
||||
UI_new.3,UI_OpenSSL.3
|
||||
UI_new.3,UI_add_error_string.3
|
||||
UI_new.3,UI_add_info_string.3
|
||||
@@ -1427,6 +1490,15 @@ X509_VERIFY_PARAM_set_flags.3,X509_VERIFY_PARAM_set_trust.3
|
||||
X509_check_host.3,X509_check_email.3
|
||||
X509_check_host.3,X509_check_ip.3
|
||||
X509_check_host.3,X509_check_ip_asc.3
|
||||
X509_check_private_key.3,X509_REQ_check_private_key.3
|
||||
X509_cmp_time.3,X509_cmp_current_time.3
|
||||
X509_cmp_time.3,X509_time_adj.3
|
||||
X509_cmp_time.3,X509_time_adj_ex.3
|
||||
X509_digest.3,PKCS7_ISSUER_AND_SERIAL_digest.3
|
||||
X509_digest.3,X509_CRL_digest.3
|
||||
X509_digest.3,X509_NAME_digest.3
|
||||
X509_digest.3,X509_REQ_digest.3
|
||||
X509_digest.3,X509_pubkey_digest.3
|
||||
X509_get_pubkey.3,X509_REQ_get_pubkey.3
|
||||
X509_get_pubkey.3,X509_REQ_set_pubkey.3
|
||||
X509_get_pubkey.3,X509_get_X509_PUBKEY.3
|
||||
@@ -1525,7 +1597,6 @@ d2i_ASN1_OCTET_STRING.3,d2i_ASN1_PRINTABLE.3
|
||||
d2i_ASN1_OCTET_STRING.3,d2i_ASN1_PRINTABLESTRING.3
|
||||
d2i_ASN1_OCTET_STRING.3,d2i_ASN1_T61STRING.3
|
||||
d2i_ASN1_OCTET_STRING.3,d2i_ASN1_TIME.3
|
||||
d2i_ASN1_OCTET_STRING.3,d2i_ASN1_TIME_new.3
|
||||
d2i_ASN1_OCTET_STRING.3,d2i_ASN1_UINTEGER.3
|
||||
d2i_ASN1_OCTET_STRING.3,d2i_ASN1_UNIVERSALSTRING.3
|
||||
d2i_ASN1_OCTET_STRING.3,d2i_ASN1_UTCTIME.3
|
||||
@@ -1545,7 +1616,6 @@ d2i_ASN1_OCTET_STRING.3,i2d_ASN1_PRINTABLE.3
|
||||
d2i_ASN1_OCTET_STRING.3,i2d_ASN1_PRINTABLESTRING.3
|
||||
d2i_ASN1_OCTET_STRING.3,i2d_ASN1_T61STRING.3
|
||||
d2i_ASN1_OCTET_STRING.3,i2d_ASN1_TIME.3
|
||||
d2i_ASN1_OCTET_STRING.3,i2d_ASN1_TIME_new.3
|
||||
d2i_ASN1_OCTET_STRING.3,i2d_ASN1_UNIVERSALSTRING.3
|
||||
d2i_ASN1_OCTET_STRING.3,i2d_ASN1_UTCTIME.3
|
||||
d2i_ASN1_OCTET_STRING.3,i2d_ASN1_UTF8STRING.3
|
||||
@@ -1606,8 +1676,6 @@ d2i_ECPKParameters.3,d2i_EC_PUBKEY_fp.3
|
||||
d2i_ECPKParameters.3,i2d_ECPKParameters.3
|
||||
d2i_ECPKParameters.3,i2d_ECPKParameters_bio.3
|
||||
d2i_ECPKParameters.3,i2d_ECPKParameters_fp.3
|
||||
d2i_ECPKParameters.3,i2d_ECPKPrivateKey_fp.3
|
||||
d2i_ECPKParameters.3,i2d_ECPK_PUBKEY_fp.3
|
||||
d2i_ECPKParameters.3,i2d_ECParameters.3
|
||||
d2i_ECPKParameters.3,i2d_ECPrivateKey.3
|
||||
d2i_ECPKParameters.3,i2d_ECPrivateKey_bio.3
|
||||
@@ -1931,6 +1999,13 @@ engine.3,ENGINE_unregister_STORE.3
|
||||
engine.3,ENGINE_unregister_ciphers.3
|
||||
engine.3,ENGINE_unregister_digests.3
|
||||
engine.3,ENGINE_up_ref.3
|
||||
get_rfc3526_prime_8192.3,get_rfc2409_prime_1024.3
|
||||
get_rfc3526_prime_8192.3,get_rfc2409_prime_768.3
|
||||
get_rfc3526_prime_8192.3,get_rfc3526_prime_1536.3
|
||||
get_rfc3526_prime_8192.3,get_rfc3526_prime_2048.3
|
||||
get_rfc3526_prime_8192.3,get_rfc3526_prime_3072.3
|
||||
get_rfc3526_prime_8192.3,get_rfc3526_prime_4096.3
|
||||
get_rfc3526_prime_8192.3,get_rfc3526_prime_6144.3
|
||||
lh_new.3,DECLARE_LHASH_OF.3
|
||||
lh_new.3,LHASH_COMP_FN_TYPE.3
|
||||
lh_new.3,LHASH_DOALL_ARG_FN_TYPE.3
|
||||
@@ -1960,16 +2035,15 @@ tls_accept_socket.3,tls_accept_cbs.3
|
||||
tls_accept_socket.3,tls_accept_fds.3
|
||||
tls_client.3,tls_configure.3
|
||||
tls_client.3,tls_free.3
|
||||
tls_client.3,tls_reset.3
|
||||
tls_client.3,tls_server.3
|
||||
tls_config_ocsp_require_stapling.3,tls_config_set_ocsp_staple_file.3
|
||||
tls_config_ocsp_require_stapling.3,tls_config_set_ocsp_staple_mem.3
|
||||
tls_config_set_protocols.3,tls_config_parse_protocols.3
|
||||
tls_config_set_protocols.3,tls_config_prefer_ciphers_client.3
|
||||
tls_config_set_protocols.3,tls_config_prefer_ciphers_server.3
|
||||
tls_config_set_protocols.3,tls_config_set_alpn.3
|
||||
tls_config_set_protocols.3,tls_config_set_ciphers.3
|
||||
tls_config_set_protocols.3,tls_config_set_dheparams.3
|
||||
tls_config_set_protocols.3,tls_config_set_ecdhecurve.3
|
||||
tls_config_set_protocols.3,tls_config_set_ecdhecurves.3
|
||||
tls_config_set_session_id.3,tls_config_add_ticket_key.3
|
||||
tls_config_set_session_id.3,tls_config_set_session_lifetime.3
|
||||
tls_config_verify.3,tls_config_insecure_noverifycert.3
|
||||
@@ -1994,19 +2068,28 @@ tls_init.3,tls_config_free.3
|
||||
tls_init.3,tls_config_new.3
|
||||
tls_load_file.3,tls_config_add_keypair_file.3
|
||||
tls_load_file.3,tls_config_add_keypair_mem.3
|
||||
tls_load_file.3,tls_config_add_keypair_ocsp_file.3
|
||||
tls_load_file.3,tls_config_add_keypair_ocsp_mem.3
|
||||
tls_load_file.3,tls_config_clear_keys.3
|
||||
tls_load_file.3,tls_config_set_ca_file.3
|
||||
tls_load_file.3,tls_config_set_ca_mem.3
|
||||
tls_load_file.3,tls_config_set_ca_path.3
|
||||
tls_load_file.3,tls_config_set_cert_file.3
|
||||
tls_load_file.3,tls_config_set_cert_mem.3
|
||||
tls_load_file.3,tls_config_set_crl_file.3
|
||||
tls_load_file.3,tls_config_set_crl_mem.3
|
||||
tls_load_file.3,tls_config_set_key_file.3
|
||||
tls_load_file.3,tls_config_set_key_mem.3
|
||||
tls_load_file.3,tls_config_set_keypair_file.3
|
||||
tls_load_file.3,tls_config_set_keypair_mem.3
|
||||
tls_load_file.3,tls_config_set_keypair_ocsp_file.3
|
||||
tls_load_file.3,tls_config_set_keypair_ocsp_mem.3
|
||||
tls_load_file.3,tls_config_set_ocsp_staple_file.3
|
||||
tls_load_file.3,tls_config_set_ocsp_staple_mem.3
|
||||
tls_load_file.3,tls_config_set_verify_depth.3
|
||||
tls_load_file.3,tls_config_verify_client.3
|
||||
tls_load_file.3,tls_config_verify_client_optional.3
|
||||
tls_load_file.3,tls_unload_file.3
|
||||
tls_ocsp_process_response.3,tls_peer_ocsp_cert_status.3
|
||||
tls_ocsp_process_response.3,tls_peer_ocsp_crl_reason.3
|
||||
tls_ocsp_process_response.3,tls_peer_ocsp_next_update.3
|
||||
|
12
patches/http.c.patch
Normal file
12
patches/http.c.patch
Normal file
@@ -0,0 +1,12 @@
|
||||
--- apps/ocspcheck/http.c.orig Sun Jun 4 00:45:29 2017
|
||||
+++ apps/ocspcheck/http.c Sun Jun 4 00:45:57 2017
|
||||
@@ -35,7 +35,9 @@
|
||||
#include "http.h"
|
||||
#include <tls.h>
|
||||
|
||||
+#ifndef DEFAULT_CA_FILE
|
||||
#define DEFAULT_CA_FILE "/etc/ssl/cert.pem"
|
||||
+#endif
|
||||
|
||||
/*
|
||||
* A buffer for transferring HTTP/S data.
|
@@ -1,6 +1,6 @@
|
||||
--- apps/nc/netcat.c.orig Thu Mar 16 19:26:06 2017
|
||||
+++ apps/nc/netcat.c Sat Mar 25 11:17:36 2017
|
||||
@@ -65,7 +65,9 @@
|
||||
--- apps/nc/netcat.c.orig Mon Jul 17 06:06:51 2017
|
||||
+++ apps/nc/netcat.c Mon Jul 17 06:11:24 2017
|
||||
@@ -66,7 +66,9 @@
|
||||
#define POLL_NETIN 2
|
||||
#define POLL_STDOUT 3
|
||||
#define BUFSIZE 16384
|
||||
@@ -10,7 +10,7 @@
|
||||
|
||||
#define TLS_ALL (1 << 1)
|
||||
#define TLS_NOVERIFY (1 << 2)
|
||||
@@ -93,9 +95,13 @@
|
||||
@@ -95,9 +97,13 @@
|
||||
int Dflag; /* sodebug */
|
||||
int Iflag; /* TCP receive buffer size */
|
||||
int Oflag; /* TCP send buffer size */
|
||||
@@ -24,16 +24,7 @@
|
||||
|
||||
int usetls; /* use TLS */
|
||||
char *Cflag; /* Public cert file */
|
||||
@@ -149,7 +155,7 @@
|
||||
struct servent *sv;
|
||||
socklen_t len;
|
||||
struct sockaddr_storage cliaddr;
|
||||
- char *proxy, *proxyport = NULL;
|
||||
+ char *proxy = NULL, *proxyport = NULL;
|
||||
const char *errstr;
|
||||
struct addrinfo proxyhints;
|
||||
char unix_dg_tmp_socket_buf[UNIX_DG_TMP_SOCKET_SIZE];
|
||||
@@ -259,12 +265,14 @@
|
||||
@@ -266,12 +272,14 @@
|
||||
case 'u':
|
||||
uflag = 1;
|
||||
break;
|
||||
@@ -48,7 +39,7 @@
|
||||
case 'v':
|
||||
vflag = 1;
|
||||
break;
|
||||
@@ -300,9 +308,11 @@
|
||||
@@ -318,9 +326,11 @@
|
||||
case 'o':
|
||||
oflag = optarg;
|
||||
break;
|
||||
@@ -60,7 +51,7 @@
|
||||
case 'T':
|
||||
errstr = NULL;
|
||||
errno = 0;
|
||||
@@ -326,9 +336,11 @@
|
||||
@@ -344,9 +354,11 @@
|
||||
argc -= optind;
|
||||
argv += optind;
|
||||
|
||||
@@ -72,7 +63,7 @@
|
||||
|
||||
if (family == AF_UNIX) {
|
||||
if (pledge("stdio rpath wpath cpath tmppath unix", NULL) == -1)
|
||||
@@ -865,7 +877,10 @@
|
||||
@@ -892,7 +904,10 @@
|
||||
remote_connect(const char *host, const char *port, struct addrinfo hints)
|
||||
{
|
||||
struct addrinfo *res, *res0;
|
||||
@@ -84,7 +75,7 @@
|
||||
|
||||
if ((error = getaddrinfo(host, port, &hints, &res0)))
|
||||
errx(1, "getaddrinfo for host \"%s\" port %s: %s", host,
|
||||
@@ -880,8 +895,10 @@
|
||||
@@ -907,8 +922,10 @@
|
||||
if (sflag || pflag) {
|
||||
struct addrinfo ahints, *ares;
|
||||
|
||||
@@ -95,7 +86,7 @@
|
||||
memset(&ahints, 0, sizeof(struct addrinfo));
|
||||
ahints.ai_family = res->ai_family;
|
||||
ahints.ai_socktype = uflag ? SOCK_DGRAM : SOCK_STREAM;
|
||||
@@ -952,7 +969,10 @@
|
||||
@@ -979,7 +996,10 @@
|
||||
local_listen(char *host, char *port, struct addrinfo hints)
|
||||
{
|
||||
struct addrinfo *res, *res0;
|
||||
@@ -107,7 +98,7 @@
|
||||
int error;
|
||||
|
||||
/* Allow nodename to be null. */
|
||||
@@ -973,9 +993,11 @@
|
||||
@@ -1000,9 +1020,11 @@
|
||||
res->ai_protocol)) < 0)
|
||||
continue;
|
||||
|
||||
@@ -119,7 +110,7 @@
|
||||
|
||||
set_common_sockopts(s, res->ai_family);
|
||||
|
||||
@@ -1425,11 +1447,13 @@
|
||||
@@ -1458,11 +1480,13 @@
|
||||
{
|
||||
int x = 1;
|
||||
|
||||
@@ -133,7 +124,24 @@
|
||||
if (Dflag) {
|
||||
if (setsockopt(s, SOL_SOCKET, SO_DEBUG,
|
||||
&x, sizeof(x)) == -1)
|
||||
@@ -1466,13 +1490,17 @@
|
||||
@@ -1473,9 +1497,16 @@
|
||||
IP_TOS, &Tflag, sizeof(Tflag)) == -1)
|
||||
err(1, "set IP ToS");
|
||||
|
||||
+#ifdef IPV6_TCLASS
|
||||
else if (af == AF_INET6 && setsockopt(s, IPPROTO_IPV6,
|
||||
IPV6_TCLASS, &Tflag, sizeof(Tflag)) == -1)
|
||||
err(1, "set IPv6 traffic class");
|
||||
+#else
|
||||
+ else if (af == AF_INET6) {
|
||||
+ errno = ENOPROTOOPT
|
||||
+ err(1, "set IPv6 traffic class not supported");
|
||||
+ }
|
||||
+#endif
|
||||
}
|
||||
if (Iflag) {
|
||||
if (setsockopt(s, SOL_SOCKET, SO_RCVBUF,
|
||||
@@ -1499,13 +1530,17 @@
|
||||
}
|
||||
|
||||
if (minttl != -1) {
|
||||
@@ -152,7 +160,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1666,14 +1694,22 @@
|
||||
@@ -1714,14 +1749,22 @@
|
||||
\t-P proxyuser\tUsername for proxy authentication\n\
|
||||
\t-p port\t Specify local port for remote connects\n\
|
||||
\t-R CAfile CA bundle\n\
|
||||
@@ -177,5 +185,5 @@
|
||||
+#endif
|
||||
+ "\
|
||||
\t-v Verbose\n\
|
||||
\t-W recvlimit Terminate after receiving a number of packets\n\
|
||||
\t-w timeout Timeout for connects and final net reads\n\
|
||||
\t-X proto Proxy protocol: \"4\", \"5\" (SOCKS) or \"connect\"\n\
|
||||
|
@@ -1,12 +1,12 @@
|
||||
--- ./openbsd/src/lib/libtls/tls_internal.h Thu Oct 15 16:12:24 2015
|
||||
+++ ./tls/tls_internal.h Sun Dec 6 20:18:17 2015
|
||||
@@ -24,7 +24,9 @@
|
||||
--- tls/tls_internal.h.orig Sun Jul 9 06:16:17 2017
|
||||
+++ tls/tls_internal.h Mon Jul 17 06:10:01 2017
|
||||
@@ -26,7 +26,9 @@
|
||||
|
||||
#include <openssl/ssl.h>
|
||||
__BEGIN_HIDDEN_DECLS
|
||||
|
||||
+#ifndef _PATH_SSL_CA_FILE
|
||||
#define _PATH_SSL_CA_FILE "/etc/ssl/cert.pem"
|
||||
+#endif
|
||||
|
||||
#define TLS_CIPHERS_COMPAT "ALL:!aNULL:!eNULL"
|
||||
#define TLS_CIPHERS_DEFAULT "TLSv1.2+AEAD+ECDHE:TLSv1.2+AEAD+DHE"
|
||||
#define TLS_CIPHERS_COMPAT "HIGH:!aNULL"
|
||||
|
41
patches/tlsexttest.c.patch
Normal file
41
patches/tlsexttest.c.patch
Normal file
@@ -0,0 +1,41 @@
|
||||
--- tests/tlsexttest.c.orig Sun Sep 3 00:44:51 2017
|
||||
+++ tests/tlsexttest.c Sun Sep 3 00:47:06 2017
|
||||
@@ -1676,7 +1676,9 @@ static unsigned char tlsext_sni_clienthello[] = {
|
||||
};
|
||||
|
||||
static unsigned char tlsext_sni_serverhello[] = {
|
||||
+ 0x00
|
||||
};
|
||||
+const size_t sizeof_tlsext_sni_serverhello = 0;
|
||||
|
||||
static int
|
||||
test_tlsext_sni_clienthello(void)
|
||||
@@ -1839,9 +1841,9 @@ test_tlsext_sni_serverhello(void)
|
||||
if (!CBB_finish(&cbb, &data, &dlen))
|
||||
errx(1, "failed to finish CBB");
|
||||
|
||||
- if (dlen != sizeof(tlsext_sni_serverhello)) {
|
||||
+ if (dlen != sizeof_tlsext_sni_serverhello) {
|
||||
FAIL("got serverhello SNI with length %zu, "
|
||||
- "want length %zu\n", dlen, sizeof(tlsext_sni_serverhello));
|
||||
+ "want length %zu\n", dlen, sizeof_tlsext_sni_serverhello);
|
||||
goto err;
|
||||
}
|
||||
|
||||
@@ -1850,14 +1852,14 @@ test_tlsext_sni_serverhello(void)
|
||||
fprintf(stderr, "received:\n");
|
||||
hexdump(data, dlen);
|
||||
fprintf(stderr, "test data:\n");
|
||||
- hexdump(tlsext_sni_serverhello, sizeof(tlsext_sni_serverhello));
|
||||
+ hexdump(tlsext_sni_serverhello, sizeof_tlsext_sni_serverhello);
|
||||
goto err;
|
||||
}
|
||||
|
||||
free(ssl->session->tlsext_hostname);
|
||||
ssl->session->tlsext_hostname = NULL;
|
||||
|
||||
- CBS_init(&cbs, tlsext_sni_serverhello, sizeof(tlsext_sni_serverhello));
|
||||
+ CBS_init(&cbs, tlsext_sni_serverhello, sizeof_tlsext_sni_serverhello);
|
||||
if (!tlsext_sni_serverhello_parse(ssl, &cbs, &alert)) {
|
||||
FAIL("failed to parse serverhello SNI\n");
|
||||
goto err;
|
@@ -13,9 +13,8 @@ diff -u include/openssl.orig/dtls1.h include/openssl/dtls1.h
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
diff -u include/openssl.orig/opensslconf.h include/openssl/opensslconf.h
|
||||
--- include/openssl.orig/opensslconf.h Mon Dec 7 07:58:32 2015
|
||||
+++ include/openssl/opensslconf.h Mon Dec 7 07:56:14 2015
|
||||
--- include/openssl/opensslconf.h.orig Sat Nov 5 08:36:25 2016
|
||||
+++ include/openssl/opensslconf.h Mon Jul 17 06:06:58 2017
|
||||
@@ -1,6 +1,10 @@
|
||||
#include <openssl/opensslfeatures.h>
|
||||
/* crypto/opensslconf.h.in */
|
||||
@@ -26,7 +25,7 @@ diff -u include/openssl.orig/opensslconf.h include/openssl/opensslconf.h
|
||||
+
|
||||
#if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR)
|
||||
#define OPENSSLDIR "/etc/ssl"
|
||||
|
||||
#endif
|
||||
diff -u include/openssl.orig/ossl_typ.h include/openssl/ossl_typ.h
|
||||
--- include/openssl.orig/ossl_typ.h Mon Dec 7 07:58:32 2015
|
||||
+++ include/openssl/ossl_typ.h Mon Dec 7 07:56:14 2015
|
||||
|
@@ -35,6 +35,7 @@ set(
|
||||
ssl_sess.c
|
||||
ssl_srvr.c
|
||||
ssl_stat.c
|
||||
ssl_tlsext.c
|
||||
ssl_txt.c
|
||||
ssl_versions.c
|
||||
t1_clnt.c
|
||||
@@ -42,7 +43,6 @@ set(
|
||||
t1_hash.c
|
||||
t1_lib.c
|
||||
t1_meth.c
|
||||
t1_reneg.c
|
||||
t1_srvr.c
|
||||
)
|
||||
|
||||
@@ -51,8 +51,9 @@ if (BUILD_SHARED)
|
||||
add_library(ssl STATIC $<TARGET_OBJECTS:ssl-objects>)
|
||||
add_library(ssl-shared SHARED $<TARGET_OBJECTS:ssl-objects>)
|
||||
export_symbol(ssl-shared ${CMAKE_CURRENT_SOURCE_DIR}/ssl.sym)
|
||||
target_link_libraries(ssl-shared crypto-shared)
|
||||
if (WIN32)
|
||||
target_link_libraries(ssl-shared crypto-shared Ws2_32.lib)
|
||||
target_link_libraries(ssl-shared Ws2_32.lib)
|
||||
set(SSL_POSTFIX -${SSL_MAJOR_VERSION})
|
||||
endif()
|
||||
set_target_properties(ssl-shared PROPERTIES
|
||||
@@ -60,8 +61,12 @@ if (BUILD_SHARED)
|
||||
ARCHIVE_OUTPUT_NAME ssl${SSL_POSTFIX})
|
||||
set_target_properties(ssl-shared PROPERTIES VERSION ${SSL_VERSION}
|
||||
SOVERSION ${SSL_MAJOR_VERSION})
|
||||
install(TARGETS ssl ssl-shared DESTINATION lib)
|
||||
if(ENABLE_LIBRESSL_INSTALL)
|
||||
install(TARGETS ssl ssl-shared DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||
endif(ENABLE_LIBRESSL_INSTALL)
|
||||
else()
|
||||
add_library(ssl STATIC ${SSL_SRC})
|
||||
install(TARGETS ssl DESTINATION lib)
|
||||
if(ENABLE_LIBRESSL_INSTALL)
|
||||
install(TARGETS ssl DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||
endif(ENABLE_LIBRESSL_INSTALL)
|
||||
endif()
|
||||
|
@@ -38,6 +38,7 @@ libssl_la_SOURCES += ssl_rsa.c
|
||||
libssl_la_SOURCES += ssl_sess.c
|
||||
libssl_la_SOURCES += ssl_srvr.c
|
||||
libssl_la_SOURCES += ssl_stat.c
|
||||
libssl_la_SOURCES += ssl_tlsext.c
|
||||
libssl_la_SOURCES += ssl_txt.c
|
||||
libssl_la_SOURCES += ssl_versions.c
|
||||
libssl_la_SOURCES += t1_clnt.c
|
||||
@@ -45,9 +46,9 @@ libssl_la_SOURCES += t1_enc.c
|
||||
libssl_la_SOURCES += t1_hash.c
|
||||
libssl_la_SOURCES += t1_lib.c
|
||||
libssl_la_SOURCES += t1_meth.c
|
||||
libssl_la_SOURCES += t1_reneg.c
|
||||
libssl_la_SOURCES += t1_srvr.c
|
||||
|
||||
noinst_HEADERS = srtp.h
|
||||
noinst_HEADERS += ssl_locl.h
|
||||
noinst_HEADERS += ssl_tlsext.h
|
||||
noinst_HEADERS += bytestring.h
|
||||
|
@@ -1,5 +1,5 @@
|
||||
#! /bin/sh
|
||||
# Copyright (C) 2011-2014 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2011-2017 Free Software Foundation, Inc.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@@ -646,6 +646,6 @@ test $? -eq 0 || fatal "I/O or internal error"
|
||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
# time-stamp-start: "scriptversion="
|
||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||
# time-stamp-time-zone: "UTC"
|
||||
# time-stamp-time-zone: "UTC0"
|
||||
# time-stamp-end: "; # UTC"
|
||||
# End:
|
||||
|
@@ -168,6 +168,11 @@ set_source_files_properties(exptest.c PROPERTIES COMPILE_FLAGS -ULIBRESSL_INTERN
|
||||
target_link_libraries(exptest ${TESTS_LIBS})
|
||||
add_test(exptest exptest)
|
||||
|
||||
# freenull
|
||||
add_executable(freenull freenull.c)
|
||||
target_link_libraries(freenull ${TESTS_LIBS})
|
||||
add_test(freenull freenull)
|
||||
|
||||
# gcm128test
|
||||
add_executable(gcm128test gcm128test.c)
|
||||
target_link_libraries(gcm128test ${TESTS_LIBS})
|
||||
@@ -178,6 +183,11 @@ add_executable(gost2814789t gost2814789t.c)
|
||||
target_link_libraries(gost2814789t ${TESTS_LIBS})
|
||||
add_test(gost2814789t gost2814789t)
|
||||
|
||||
# hkdf_test
|
||||
add_executable(hkdf_test hkdf_test.c)
|
||||
target_link_libraries(hkdf_test ${TESTS_LIBS})
|
||||
add_test(hkdf_test hkdf_test)
|
||||
|
||||
# hmactest
|
||||
add_executable(hmactest hmactest.c)
|
||||
target_link_libraries(hmactest ${TESTS_LIBS})
|
||||
@@ -361,6 +371,11 @@ add_executable(timingsafe timingsafe.c)
|
||||
target_link_libraries(timingsafe ${TESTS_LIBS})
|
||||
add_test(timingsafe timingsafe)
|
||||
|
||||
# tlsexttest
|
||||
add_executable(tlsexttest tlsexttest.c)
|
||||
target_link_libraries(tlsexttest ${TESTS_LIBS})
|
||||
add_test(tlsexttest tlsexttest)
|
||||
|
||||
# tlstest
|
||||
set(TLSTEST_SRC tlstest.c)
|
||||
check_function_exists(pipe2 HAVE_PIPE2)
|
||||
|
@@ -174,6 +174,12 @@ check_PROGRAMS += exptest
|
||||
exptest_CPPFLAGS = $(AM_CPPFLAGS) -ULIBRESSL_INTERNAL
|
||||
exptest_SOURCES = exptest.c
|
||||
|
||||
# freenull
|
||||
TESTS += freenull
|
||||
check_PROGRAMS += freenull
|
||||
freenull_CPPFLAGS = $(AM_CPPFLAGS) -ULIBRESSL_INTERNAL
|
||||
freenull_SOURCES = freenull.c
|
||||
|
||||
# gcm128test
|
||||
TESTS += gcm128test
|
||||
check_PROGRAMS += gcm128test
|
||||
@@ -184,6 +190,11 @@ TESTS += gost2814789t
|
||||
check_PROGRAMS += gost2814789t
|
||||
gost2814789t_SOURCES = gost2814789t.c
|
||||
|
||||
# hkdf_test
|
||||
TESTS += hkdftest
|
||||
check_PROGRAMS += hkdftest
|
||||
hkdftest_SOURCES = hkdf_test.c
|
||||
|
||||
# hmactest
|
||||
TESTS += hmactest
|
||||
check_PROGRAMS += hmactest
|
||||
@@ -345,6 +356,12 @@ TESTS += timingsafe
|
||||
check_PROGRAMS += timingsafe
|
||||
timingsafe_SOURCES = timingsafe.c
|
||||
|
||||
# tlsexttest
|
||||
TESTS += tlsexttest
|
||||
check_PROGRAMS += tlsexttest
|
||||
tlsexttest_CPPFLAGS = $(AM_CPPFLAGS) -ULIBRESSL_INTERNAL
|
||||
tlsexttest_SOURCES = tlsexttest.c
|
||||
|
||||
# tlstest
|
||||
TESTS += tlstest.sh
|
||||
check_PROGRAMS += tlstest
|
||||
|
@@ -123,18 +123,6 @@ for %%p in ( SSLv3 ) do (
|
||||
)
|
||||
)
|
||||
|
||||
REM #
|
||||
REM # Next Protocol Negotiation tests
|
||||
REM #
|
||||
echo "Testing NPN..."
|
||||
%ssltest% -bio_pair -tls1 -npn_client & if !errorlevel! neq 0 exit /b 1
|
||||
%ssltest% -bio_pair -tls1 -npn_server & if !errorlevel! neq 0 exit /b 1
|
||||
%ssltest% -bio_pair -tls1 -npn_server_reject & if !errorlevel! neq 0 exit /b 1
|
||||
%ssltest% -bio_pair -tls1 -npn_client -npn_server_reject & if !errorlevel! neq 0 exit /b 1
|
||||
%ssltest% -bio_pair -tls1 -npn_client -npn_server & if !errorlevel! neq 0 exit /b 1
|
||||
%ssltest% -bio_pair -tls1 -npn_client -npn_server -num 2 & if !errorlevel! neq 0 exit /b 1
|
||||
%ssltest% -bio_pair -tls1 -npn_client -npn_server -num 2 -reuse & if !errorlevel! neq 0 exit /b 1
|
||||
|
||||
REM #
|
||||
REM # ALPN tests
|
||||
REM #
|
||||
|
@@ -9,7 +9,7 @@ if "%srcdir%"=="" (
|
||||
set srcdir=.
|
||||
)
|
||||
|
||||
%tlstest_bin% %srcdir%\server.pem %srcdir%\server.pem %srcdir%\ca.pem
|
||||
%tlstest_bin% %srcdir%\ca.pem %srcdir%\server.pem %srcdir%\server.pem
|
||||
if !errorlevel! neq 0 (
|
||||
exit /b 1
|
||||
)
|
||||
|
@@ -10,4 +10,4 @@ if [ -z $srcdir ]; then
|
||||
srcdir=.
|
||||
fi
|
||||
|
||||
$tlstest_bin $srcdir/server.pem $srcdir/server.pem $srcdir/ca.pem
|
||||
$tlstest_bin $srcdir/ca.pem $srcdir/server.pem $srcdir/server.pem
|
||||
|
@@ -30,8 +30,9 @@ if (BUILD_SHARED)
|
||||
add_library(tls STATIC $<TARGET_OBJECTS:tls-objects>)
|
||||
add_library(tls-shared SHARED $<TARGET_OBJECTS:tls-objects>)
|
||||
export_symbol(tls-shared ${CMAKE_CURRENT_SOURCE_DIR}/tls.sym)
|
||||
target_link_libraries(tls-shared ssl-shared crypto-shared)
|
||||
if (WIN32)
|
||||
target_link_libraries(tls-shared ssl-shared crypto-shared Ws2_32.lib)
|
||||
target_link_libraries(tls-shared Ws2_32.lib)
|
||||
set(TLS_POSTFIX -${TLS_MAJOR_VERSION})
|
||||
endif()
|
||||
set_target_properties(tls-shared PROPERTIES
|
||||
@@ -39,9 +40,13 @@ if (BUILD_SHARED)
|
||||
ARCHIVE_OUTPUT_NAME tls${TLS_POSTFIX})
|
||||
set_target_properties(tls-shared PROPERTIES VERSION ${TLS_VERSION}
|
||||
SOVERSION ${TLS_MAJOR_VERSION})
|
||||
install(TARGETS tls tls-shared DESTINATION lib)
|
||||
if(ENABLE_LIBRESSL_INSTALL)
|
||||
install(TARGETS tls tls-shared DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||
endif(ENABLE_LIBRESSL_INSTALL)
|
||||
else()
|
||||
add_library(tls STATIC ${TLS_SRC})
|
||||
install(TARGETS tls DESTINATION lib)
|
||||
if(ENABLE_LIBRESSL_INSTALL)
|
||||
install(TARGETS tls DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||
endif(ENABLE_LIBRESSL_INSTALL)
|
||||
endif()
|
||||
|
||||
|
37
update.sh
37
update.sh
@@ -18,16 +18,17 @@ fi
|
||||
|
||||
# setup source paths
|
||||
CWD=`pwd`
|
||||
libc_src=$CWD/openbsd/src/lib/libc
|
||||
libc_regress=$CWD/openbsd/src/regress/lib/libc
|
||||
libcrypto_src=$CWD/openbsd/src/lib/libcrypto
|
||||
libcrypto_regress=$CWD/openbsd/src/regress/lib/libcrypto
|
||||
libssl_src=$CWD/openbsd/src/lib/libssl
|
||||
libssl_regress=$CWD/openbsd/src/regress/lib/libssl
|
||||
libtls_src=$CWD/openbsd/src/lib/libtls
|
||||
libtls_regress=$CWD/openbsd/src/regress/lib/libtls
|
||||
bin_src=$CWD/openbsd/src/usr.bin
|
||||
sbin_src=$CWD/openbsd/src/usr.sbin
|
||||
OPENBSD_SRC=$CWD/openbsd/src
|
||||
libc_src=$OPENBSD_SRC/lib/libc
|
||||
libc_regress=$OPENBSD_SRC/regress/lib/libc
|
||||
libcrypto_src=$OPENBSD_SRC/lib/libcrypto
|
||||
libcrypto_regress=$OPENBSD_SRC/regress/lib/libcrypto
|
||||
libssl_src=$OPENBSD_SRC/lib/libssl
|
||||
libssl_regress=$OPENBSD_SRC/regress/lib/libssl
|
||||
libtls_src=$OPENBSD_SRC/lib/libtls
|
||||
libtls_regress=$OPENBSD_SRC/regress/lib/libtls
|
||||
bin_src=$OPENBSD_SRC/usr.bin
|
||||
sbin_src=$OPENBSD_SRC/usr.sbin
|
||||
|
||||
# load library versions
|
||||
. $libcrypto_src/shlib_version
|
||||
@@ -62,6 +63,10 @@ do_cp_libc() {
|
||||
CP_LIBC='do_cp_libc'
|
||||
|
||||
CP='cp -p'
|
||||
GREP='grep'
|
||||
if [ -x /opt/csw/bin/ggrep ]; then
|
||||
GREP='/opt/csw/bin/ggrep'
|
||||
fi
|
||||
|
||||
$CP $libssl_src/LICENSE COPYING
|
||||
|
||||
@@ -120,7 +125,7 @@ copy_hdrs $libcrypto_src "stack/stack.h lhash/lhash.h stack/safestack.h
|
||||
ossl_typ.h err/err.h crypto.h comp/comp.h x509/x509.h buffer/buffer.h
|
||||
objects/objects.h asn1/asn1.h bn/bn.h ec/ec.h ecdsa/ecdsa.h
|
||||
ecdh/ecdh.h rsa/rsa.h sha/sha.h x509/x509_vfy.h pkcs7/pkcs7.h pem/pem.h
|
||||
pem/pem2.h hmac/hmac.h rand/rand.h md5/md5.h
|
||||
pem/pem2.h hkdf/hkdf.h hmac/hmac.h rand/rand.h md5/md5.h
|
||||
asn1/asn1_mac.h x509v3/x509v3.h conf/conf.h ocsp/ocsp.h
|
||||
aes/aes.h modes/modes.h asn1/asn1t.h dso/dso.h bf/blowfish.h
|
||||
bio/bio.h cast/cast.h cmac/cmac.h conf/conf_api.h des/des.h dh/dh.h
|
||||
@@ -151,7 +156,7 @@ done
|
||||
$CP crypto/compat/b_win.c crypto/bio
|
||||
$CP crypto/compat/ui_openssl_win.c crypto/ui
|
||||
# add the libcrypto symbol export list
|
||||
grep '^[[:alpha:]]' < $libcrypto_src/Symbols.list > crypto/crypto.sym
|
||||
$GREP -v OPENSSL_ia32cap_P $libcrypto_src/Symbols.list | $GREP '^[[:alpha:]]' > crypto/crypto.sym
|
||||
|
||||
# generate assembly crypto algorithms
|
||||
asm_src=$libcrypto_src
|
||||
@@ -206,7 +211,7 @@ for i in `awk '/SOURCES|HEADERS/ { print $3 }' tls/Makefile.am` ; do
|
||||
fi
|
||||
done
|
||||
# add the libtls symbol export list
|
||||
grep '^[[:alpha:]]' < $libtls_src/Symbols.list > tls/tls.sym
|
||||
$GREP '^[[:alpha:]]' < $libtls_src/Symbols.list > tls/tls.sym
|
||||
|
||||
mkdir -p libtls-standalone/m4
|
||||
$CP m4/check*.m4 \
|
||||
@@ -259,7 +264,7 @@ for i in `awk '/SOURCES|HEADERS/ { print $3 }' ssl/Makefile.am` ; do
|
||||
$CP $libssl_src/$i ssl
|
||||
done
|
||||
# add the libssl symbol export list
|
||||
grep '^[[:alpha:]]' < $libssl_src/Symbols.list > ssl/ssl.sym
|
||||
$GREP '^[[:alpha:]]' < $libssl_src/Symbols.list > ssl/ssl.sym
|
||||
|
||||
# copy libcrypto tests
|
||||
echo "copying tests"
|
||||
@@ -304,7 +309,7 @@ add_man_links() {
|
||||
filter=$1
|
||||
dest=$2
|
||||
echo "install-data-hook:" >> $dest
|
||||
for i in `grep $filter man/links`; do
|
||||
for i in `$GREP $filter man/links`; do
|
||||
IFS=","; set $i; unset IFS
|
||||
if [ "$2" != "" ]; then
|
||||
echo " ln -sf \"$1\" \"\$(DESTDIR)\$(mandir)/man3/$2\"" >> $dest
|
||||
@@ -312,7 +317,7 @@ add_man_links() {
|
||||
done
|
||||
echo "" >> $dest
|
||||
echo "uninstall-local:" >> $dest
|
||||
for i in `grep $filter man/links`; do
|
||||
for i in `$GREP $filter man/links`; do
|
||||
IFS=","; set $i; unset IFS
|
||||
if [ "$2" != "" ]; then
|
||||
echo " -rm -f \"\$(DESTDIR)\$(mandir)/man3/$2\"" >> $dest
|
||||
|
Reference in New Issue
Block a user