add support for building libtls
Use './configure --enable-libtls' to build the library and install the associated manpages. Note that the API and ABI of this library may change still, though feedback is welcome. ok deraadt@ jsing@ tedu@
This commit is contained in:
parent
fc5e43c32b
commit
b3270494f0
4
.gitignore
vendored
4
.gitignore
vendored
@ -87,12 +87,16 @@ INSTALL
|
|||||||
crypto/Makefile.am
|
crypto/Makefile.am
|
||||||
include/openssl/Makefile.am
|
include/openssl/Makefile.am
|
||||||
ssl/Makefile.am
|
ssl/Makefile.am
|
||||||
|
tls/Makefile.am
|
||||||
apps/Makefile.am
|
apps/Makefile.am
|
||||||
tests/Makefile.am
|
tests/Makefile.am
|
||||||
|
|
||||||
ssl/*.c
|
ssl/*.c
|
||||||
ssl/*.h
|
ssl/*.h
|
||||||
|
tls/*.c
|
||||||
|
tls/*.h
|
||||||
include/pqueue.h
|
include/pqueue.h
|
||||||
|
include/tls.h
|
||||||
include/openssl/*.h
|
include/openssl/*.h
|
||||||
include/openssl/*.he
|
include/openssl/*.he
|
||||||
apps/*.c
|
apps/*.c
|
||||||
|
@ -1,7 +1,11 @@
|
|||||||
SUBDIRS = crypto ssl include apps tests man
|
SUBDIRS = crypto ssl tls include apps tests man
|
||||||
ACLOCAL_AMFLAGS = -I m4
|
ACLOCAL_AMFLAGS = -I m4
|
||||||
|
|
||||||
pkgconfigdir = $(libdir)/pkgconfig
|
pkgconfigdir = $(libdir)/pkgconfig
|
||||||
pkgconfig_DATA = libcrypto.pc libssl.pc openssl.pc
|
pkgconfig_DATA = libcrypto.pc libssl.pc openssl.pc
|
||||||
|
|
||||||
|
if ENABLE_LIBTLS
|
||||||
|
pkgconfig_DATA += libtls.pc
|
||||||
|
endif
|
||||||
|
|
||||||
EXTRA_DIST = VERSION
|
EXTRA_DIST = VERSION
|
||||||
|
@ -143,14 +143,20 @@ AC_ARG_ENABLE([asm],
|
|||||||
AS_HELP_STRING([--disable-asm], [Disable assembly]))
|
AS_HELP_STRING([--disable-asm], [Disable assembly]))
|
||||||
AS_IF([test "x$enable_asm" = "xno"], [CFLAGS="$CFLAGS -DOPENSSL_NO_ASM"])
|
AS_IF([test "x$enable_asm" = "xno"], [CFLAGS="$CFLAGS -DOPENSSL_NO_ASM"])
|
||||||
|
|
||||||
|
AC_ARG_ENABLE([libtls],
|
||||||
|
AS_HELP_STRING([--enable-libtls], [Enable building the libtls library]))
|
||||||
|
AM_CONDITIONAL([ENABLE_LIBTLS], [test "x$enable_libtls" = xyes])
|
||||||
|
AM_COND_IF([ENABLE_LIBTLS], [AC_CONFIG_FILES([libtls.pc])])
|
||||||
|
|
||||||
LT_INIT
|
LT_INIT
|
||||||
|
|
||||||
AC_CONFIG_FILES([
|
AC_CONFIG_FILES([
|
||||||
Makefile
|
Makefile
|
||||||
include/Makefile
|
include/Makefile
|
||||||
include/openssl/Makefile
|
include/openssl/Makefile
|
||||||
ssl/Makefile
|
|
||||||
crypto/Makefile
|
crypto/Makefile
|
||||||
|
ssl/Makefile
|
||||||
|
tls/Makefile
|
||||||
tests/Makefile
|
tests/Makefile
|
||||||
apps/Makefile
|
apps/Makefile
|
||||||
man/Makefile
|
man/Makefile
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
include $(top_srcdir)/Makefile.am.common
|
||||||
|
|
||||||
SUBDIRS = openssl
|
SUBDIRS = openssl
|
||||||
|
|
||||||
noinst_HEADERS = err.h
|
noinst_HEADERS = err.h
|
||||||
@ -24,3 +26,7 @@ noinst_HEADERS += sys/select.h
|
|||||||
noinst_HEADERS += sys/socket.h
|
noinst_HEADERS += sys/socket.h
|
||||||
noinst_HEADERS += sys/times.h
|
noinst_HEADERS += sys/times.h
|
||||||
noinst_HEADERS += sys/types.h
|
noinst_HEADERS += sys/types.h
|
||||||
|
|
||||||
|
if ENABLE_LIBTLS
|
||||||
|
include_HEADERS = tls.h
|
||||||
|
endif
|
||||||
|
16
libtls.pc.in
Normal file
16
libtls.pc.in
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
#libtls pkg-config source file
|
||||||
|
|
||||||
|
prefix=@prefix@
|
||||||
|
exec_prefix=@exec_prefix@
|
||||||
|
libdir=@libdir@
|
||||||
|
includedir=@includedir@
|
||||||
|
|
||||||
|
Name: LibreSSL-libtls
|
||||||
|
Description: Secure communications using the TLS socket protocol.
|
||||||
|
Version: @VERSION@
|
||||||
|
Requires:
|
||||||
|
Requires.private: libcrypto libssl
|
||||||
|
Conflicts:
|
||||||
|
Libs: -L${libdir} -ltls
|
||||||
|
Libs.private: @LIBS@ -lcrypto -lssl
|
||||||
|
Cflags: -I${includedir}
|
@ -1,3 +1,2 @@
|
|||||||
include $(top_srcdir)/Makefile.am.common
|
include $(top_srcdir)/Makefile.am.common
|
||||||
dist_man_MANS=
|
dist_man_MANS=
|
||||||
|
|
||||||
|
30
man/links
30
man/links
@ -1,4 +1,32 @@
|
|||||||
MLINKS="ASN1_OBJECT_new.3,ASN1_OBJECT_free.3 \
|
TLS_MLINKS="tls_init.3,tls_config_new.3
|
||||||
|
tls_init.3,tls_config_free.3
|
||||||
|
tls_init.3,tls_config_set_ca_file.3
|
||||||
|
tls_init.3,tls_config_set_ca_path.3
|
||||||
|
tls_init.3,tls_config_set_cert_file.3
|
||||||
|
tls_init.3,tls_config_set_cert_mem.3
|
||||||
|
tls_init.3,tls_config_set_ciphers.3
|
||||||
|
tls_init.3,tls_config_set_ecdhcurve.3
|
||||||
|
tls_init.3,tls_config_set_key_file.3
|
||||||
|
tls_init.3,tls_config_set_key_mem.3
|
||||||
|
tls_init.3,tls_config_set_protocols.3
|
||||||
|
tls_init.3,tls_config_set_verify_depth.3
|
||||||
|
tls_init.3,tls_config_clear_keys.3
|
||||||
|
tls_init.3,tls_config_insecure_noverifyhost.3
|
||||||
|
tls_init.3,tls_config_insecure_noverifycert.3
|
||||||
|
tls_init.3,tls_config_verify.3
|
||||||
|
tls_init.3,tls_client.3
|
||||||
|
tls_init.3,tls_server.3
|
||||||
|
tls_init.3,tls_configure.3
|
||||||
|
tls_init.3,tls_error.3
|
||||||
|
tls_init.3,tls_reset.3
|
||||||
|
tls_init.3,tls_free.3
|
||||||
|
tls_init.3,tls_close.3
|
||||||
|
tls_init.3,tls_connect.3
|
||||||
|
tls_init.3,tls_connect_socket.3
|
||||||
|
tls_init.3,tls_read.3
|
||||||
|
tls_init.3,tls_write.3"
|
||||||
|
|
||||||
|
SSL_MLINKS="ASN1_OBJECT_new.3,ASN1_OBJECT_free.3 \
|
||||||
ASN1_STRING_length.3,ASN1_STRING_cmp.3 \
|
ASN1_STRING_length.3,ASN1_STRING_cmp.3 \
|
||||||
ASN1_STRING_length.3,ASN1_STRING_data.3 \
|
ASN1_STRING_length.3,ASN1_STRING_data.3 \
|
||||||
ASN1_STRING_length.3,ASN1_STRING_dup.3 \
|
ASN1_STRING_length.3,ASN1_STRING_dup.3 \
|
||||||
|
10
tls/Makefile.am.tpl
Normal file
10
tls/Makefile.am.tpl
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
include $(top_srcdir)/Makefile.am.common
|
||||||
|
|
||||||
|
lib_LTLIBRARIES = libtls.la
|
||||||
|
|
||||||
|
libtls_la_LDFLAGS = -version-info libtls-version
|
||||||
|
|
||||||
|
libtls_la_CFLAGS = $(CFLAGS) $(USER_CFLAGS)
|
||||||
|
libtls_la_SOURCES =
|
||||||
|
noinst_HEADERS =
|
||||||
|
|
51
update.sh
51
update.sh
@ -16,21 +16,26 @@ fi
|
|||||||
git pull --rebase)
|
git pull --rebase)
|
||||||
|
|
||||||
dir=`pwd`
|
dir=`pwd`
|
||||||
libssl_src=$dir/openbsd/src/lib/libssl
|
|
||||||
libssl_regress=$dir/openbsd/src/regress/lib/libssl
|
|
||||||
libc_src=$dir/openbsd/src/lib/libc
|
libc_src=$dir/openbsd/src/lib/libc
|
||||||
libc_regress=$dir/openbsd/src/regress/lib/libc
|
libc_regress=$dir/openbsd/src/regress/lib/libc
|
||||||
libcrypto_src=$dir/openbsd/src/lib/libcrypto
|
libcrypto_src=$dir/openbsd/src/lib/libcrypto
|
||||||
openssl_cmd_src=$dir/openbsd/src/usr.bin/openssl
|
|
||||||
libcrypto_regress=$dir/openbsd/src/regress/lib/libcrypto
|
libcrypto_regress=$dir/openbsd/src/regress/lib/libcrypto
|
||||||
|
libssl_src=$dir/openbsd/src/lib/libssl
|
||||||
source $libssl_src/ssl/shlib_version
|
libssl_regress=$dir/openbsd/src/regress/lib/libssl
|
||||||
libssl_version=$major:$minor:0
|
libtls_src=$dir/openbsd/src/lib/libtls
|
||||||
echo libssl version $libssl_version
|
openssl_cmd_src=$dir/openbsd/src/usr.bin/openssl
|
||||||
|
|
||||||
source $libcrypto_src/crypto/shlib_version
|
source $libcrypto_src/crypto/shlib_version
|
||||||
libcrypto_version=$major:$minor:0
|
libcrypto_version=$major:$minor:0
|
||||||
echo libcrypto version $libcrypto_version
|
echo "libcrypto version $libcrypto_version"
|
||||||
|
|
||||||
|
source $libssl_src/ssl/shlib_version
|
||||||
|
libssl_version=$major:$minor:0
|
||||||
|
echo "libssl version $libssl_version"
|
||||||
|
|
||||||
|
source $libtls_src/shlib_version
|
||||||
|
libtls_version=$major:$minor:0
|
||||||
|
echo "libtls version $libtls_version"
|
||||||
|
|
||||||
CP='cp -p'
|
CP='cp -p'
|
||||||
|
|
||||||
@ -63,6 +68,7 @@ $CP $libcrypto_src/crypto/arch/amd64/opensslconf.h include/openssl
|
|||||||
$CP $libssl_src/src/crypto/opensslfeatures.h include/openssl
|
$CP $libssl_src/src/crypto/opensslfeatures.h include/openssl
|
||||||
$CP $libssl_src/src/e_os2.h include/openssl
|
$CP $libssl_src/src/e_os2.h include/openssl
|
||||||
$CP $libssl_src/src/ssl/pqueue.h include
|
$CP $libssl_src/src/ssl/pqueue.h include
|
||||||
|
$CP $libtls_src/tls.h include
|
||||||
|
|
||||||
for i in explicit_bzero.c strlcpy.c strlcat.c strndup.c strnlen.c \
|
for i in explicit_bzero.c strlcpy.c strlcat.c strndup.c strnlen.c \
|
||||||
timingsafe_bcmp.c timingsafe_memcmp.c; do
|
timingsafe_bcmp.c timingsafe_memcmp.c; do
|
||||||
@ -386,6 +392,23 @@ echo "EXTRA_DIST += testssl ca.pem server.pem" >> tests/Makefile.am
|
|||||||
done
|
done
|
||||||
)
|
)
|
||||||
|
|
||||||
|
rm -f tls/*.c tls/*.h
|
||||||
|
for i in tls_internal.h tls.c tls_server.c tls_client.c tls_util.c \
|
||||||
|
tls_config.c tls_verify.c; do
|
||||||
|
cp $libtls_src/$i tls
|
||||||
|
done
|
||||||
|
(cd tls
|
||||||
|
sed -e "s/libtls-version/${libtls_version}/" Makefile.am.tpl > Makefile.am
|
||||||
|
echo "if ENABLE_LIBTLS" >> Makefile.am
|
||||||
|
for i in `ls -1 *.c|sort`; do
|
||||||
|
echo "libtls_la_SOURCES += $i" >> Makefile.am
|
||||||
|
done
|
||||||
|
for i in `ls -1 *.h|sort`; do
|
||||||
|
echo "noinst_HEADERS += $i" >> Makefile.am
|
||||||
|
done
|
||||||
|
echo "endif" >> Makefile.am
|
||||||
|
)
|
||||||
|
|
||||||
# do not directly compile C files that are included in other C files
|
# do not directly compile C files that are included in other C files
|
||||||
crypto_excludes=(
|
crypto_excludes=(
|
||||||
des/ncbc_enc.c
|
des/ncbc_enc.c
|
||||||
@ -478,6 +501,10 @@ apps_win32_only=(
|
|||||||
done
|
done
|
||||||
$CP $openssl_cmd_src/openssl.1 .
|
$CP $openssl_cmd_src/openssl.1 .
|
||||||
echo "dist_man_MANS += openssl.1" >> Makefile.am
|
echo "dist_man_MANS += openssl.1" >> Makefile.am
|
||||||
|
$CP $libtls_src/tls_init.3 .
|
||||||
|
echo "if ENABLE_LIBTLS" >> Makefile.am
|
||||||
|
echo "dist_man_MANS += tls_init.3" >> Makefile.am
|
||||||
|
echo "endif" >> Makefile.am
|
||||||
|
|
||||||
# convert remaining POD manpages
|
# convert remaining POD manpages
|
||||||
for i in `ls -1 $libssl_src/src/doc/crypto/*.pod | sort`; do
|
for i in `ls -1 $libssl_src/src/doc/crypto/*.pod | sort`; do
|
||||||
@ -494,8 +521,14 @@ apps_win32_only=(
|
|||||||
|
|
||||||
echo "install-data-hook:" >> Makefile.am
|
echo "install-data-hook:" >> Makefile.am
|
||||||
source ./links
|
source ./links
|
||||||
for i in $MLINKS; do
|
for i in $SSL_MLINKS; do
|
||||||
IFS=","; set $i; unset IFS
|
IFS=","; set $i; unset IFS
|
||||||
echo " ln -f \$(DESTDIR)\$(mandir)/man3/$1 \$(DESTDIR)\$(mandir)/man3/$2" >> Makefile.am
|
echo " ln -f \$(DESTDIR)\$(mandir)/man3/$1 \$(DESTDIR)\$(mandir)/man3/$2" >> Makefile.am
|
||||||
done
|
done
|
||||||
|
echo "if ENABLE_LIBTLS" >> Makefile.am
|
||||||
|
for i in $TLS_MLINKS; do
|
||||||
|
IFS=","; set $i; unset IFS
|
||||||
|
echo " ln -f \$(DESTDIR)\$(mandir)/man3/$1 \$(DESTDIR)\$(mandir)/man3/$2" >> Makefile.am
|
||||||
|
done
|
||||||
|
echo "endif" >> Makefile.am
|
||||||
)
|
)
|
||||||
|
Loading…
Reference in New Issue
Block a user