mirror of https://github.com/wolfSSL/wolfssl.git
dtls13: add autotools, cmake build options and vstudio paths
parent
d51ba35ff9
commit
d8ac35579c
|
@ -266,6 +266,25 @@ if("${FIPS_VERSION}" STREQUAL "v1")
|
||||||
override_cache(WOLFSSL_TLS13 "no")
|
override_cache(WOLFSSL_TLS13 "no")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
# DTLS v1.3
|
||||||
|
add_option("WOLFSSL_DTLS13"
|
||||||
|
"Enable wolfSSL DTLS v1.3 (default: disabled)"
|
||||||
|
"no" "yes;no")
|
||||||
|
|
||||||
|
if(WOLFSSL_DTLS13)
|
||||||
|
if (NOT WOLFSSL_DTLS)
|
||||||
|
message(FATAL_ERROR "DTLS13 requires DTLS")
|
||||||
|
endif()
|
||||||
|
if (NOT WOLFSSL_TLS13)
|
||||||
|
message(FATAL_ERROR "DTLS13 requires TLS13")
|
||||||
|
endif()
|
||||||
|
list(APPEND WOLFSSL_DEFINITIONS "-DWOLFSSL_DTLS13")
|
||||||
|
|
||||||
|
if (WOLFSSL_AES)
|
||||||
|
list(APPEND WOLFSSL_DEFINITIONS "-DWOLFSSL_AES_DIRECT")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
# Post-handshake authentication
|
# Post-handshake authentication
|
||||||
add_option("WOLFSSL_POSTAUTH"
|
add_option("WOLFSSL_POSTAUTH"
|
||||||
"Enable wolfSSL Post-handshake Authentication (default: disabled)"
|
"Enable wolfSSL Post-handshake Authentication (default: disabled)"
|
||||||
|
@ -1870,6 +1889,7 @@ if(WOLFSSL_EXAMPLES)
|
||||||
tests/hash.c
|
tests/hash.c
|
||||||
tests/srp.c
|
tests/srp.c
|
||||||
tests/suites.c
|
tests/suites.c
|
||||||
|
tests/w64wrapper.c
|
||||||
tests/unit.c
|
tests/unit.c
|
||||||
examples/server/server.c
|
examples/server/server.c
|
||||||
examples/client/client.c)
|
examples/client/client.c)
|
||||||
|
|
|
@ -307,6 +307,8 @@
|
||||||
<ClCompile Include="..\..\wolfcrypt\src\signature.c" />
|
<ClCompile Include="..\..\wolfcrypt\src\signature.c" />
|
||||||
<ClCompile Include="..\..\src\ssl.c" />
|
<ClCompile Include="..\..\src\ssl.c" />
|
||||||
<ClCompile Include="..\..\src\tls.c" />
|
<ClCompile Include="..\..\src\tls.c" />
|
||||||
|
<ClCompile Include="..\..\src\tls13.c" />
|
||||||
|
<ClCompile Include="..\..\src\dtls13.c" />
|
||||||
<ClCompile Include="..\..\wolfcrypt\src\wc_encrypt.c" />
|
<ClCompile Include="..\..\wolfcrypt\src\wc_encrypt.c" />
|
||||||
<ClCompile Include="..\..\wolfcrypt\src\wolfmath.c" />
|
<ClCompile Include="..\..\wolfcrypt\src\wolfmath.c" />
|
||||||
<ClCompile Include="..\..\wolfcrypt\src\wolfevent.c" />
|
<ClCompile Include="..\..\wolfcrypt\src\wolfevent.c" />
|
||||||
|
|
|
@ -278,6 +278,7 @@
|
||||||
<ClCompile Include="..\..\src\ssl.c" />
|
<ClCompile Include="..\..\src\ssl.c" />
|
||||||
<ClCompile Include="..\..\src\tls.c" />
|
<ClCompile Include="..\..\src\tls.c" />
|
||||||
<ClCompile Include="..\..\src\tls13.c" />
|
<ClCompile Include="..\..\src\tls13.c" />
|
||||||
|
<ClCompile Include="..\..\src\dtls13.c" />
|
||||||
<ClCompile Include="..\..\wolfcrypt\src\wc_encrypt.c" />
|
<ClCompile Include="..\..\wolfcrypt\src\wc_encrypt.c" />
|
||||||
<ClCompile Include="..\..\wolfcrypt\src\wolfcrypt_first.c" />
|
<ClCompile Include="..\..\wolfcrypt\src\wolfcrypt_first.c" />
|
||||||
<ClCompile Include="..\..\wolfcrypt\src\wolfcrypt_last.c" />
|
<ClCompile Include="..\..\wolfcrypt\src\wolfcrypt_last.c" />
|
||||||
|
|
|
@ -41,6 +41,9 @@ function(generate_build_flags)
|
||||||
if(WOLFSSL_TLS13 OR WOLFSSL_USER_SETTINGS)
|
if(WOLFSSL_TLS13 OR WOLFSSL_USER_SETTINGS)
|
||||||
set(BUILD_TLS13 "yes" PARENT_SCOPE)
|
set(BUILD_TLS13 "yes" PARENT_SCOPE)
|
||||||
endif()
|
endif()
|
||||||
|
if(WOLFSSL_DTLS13 OR WOLFSSL_USER_SETTINGS)
|
||||||
|
set(BUILD_DTLS13 "yes" PARENT_SCOPE)
|
||||||
|
endif()
|
||||||
if(WOLFSSL_RNG OR WOLFSSL_USER_SETTINGS)
|
if(WOLFSSL_RNG OR WOLFSSL_USER_SETTINGS)
|
||||||
set(BUILD_RNG "yes" PARENT_SCOPE)
|
set(BUILD_RNG "yes" PARENT_SCOPE)
|
||||||
endif()
|
endif()
|
||||||
|
@ -812,6 +815,10 @@ function(generate_lib_src_list LIB_SOURCES)
|
||||||
list(APPEND LIB_SOURCES src/tls13.c)
|
list(APPEND LIB_SOURCES src/tls13.c)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if(BUILD_DTLS13)
|
||||||
|
list(APPEND LIB_SOURCES src/dtls13.c)
|
||||||
|
endif()
|
||||||
|
|
||||||
if(BUILD_OCSP)
|
if(BUILD_OCSP)
|
||||||
list(APPEND LIB_SOURCES src/ocsp.c)
|
list(APPEND LIB_SOURCES src/ocsp.c)
|
||||||
endif()
|
endif()
|
||||||
|
|
20
configure.ac
20
configure.ac
|
@ -876,7 +876,6 @@ then
|
||||||
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_DTLS_MTU"
|
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_DTLS_MTU"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
# TLS v1.3 Draft 18 (Note: only final TLS v1.3 supported, here for backwards build compatibility)
|
# TLS v1.3 Draft 18 (Note: only final TLS v1.3 supported, here for backwards build compatibility)
|
||||||
AC_ARG_ENABLE([tls13-draft18],
|
AC_ARG_ENABLE([tls13-draft18],
|
||||||
[AS_HELP_STRING([--enable-tls13-draft18],[Enable wolfSSL TLS v1.3 Draft 18 (default: disabled)])],
|
[AS_HELP_STRING([--enable-tls13-draft18],[Enable wolfSSL TLS v1.3 Draft 18 (default: disabled)])],
|
||||||
|
@ -3513,6 +3512,23 @@ else
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# DTLSv1.3
|
||||||
|
AC_ARG_ENABLE([dtls13],
|
||||||
|
[AS_HELP_STRING([--enable-dtls13],[Enable wolfSSL DTLS v1.3 (default: disabled)])],
|
||||||
|
[ ENABLED_DTLS13=$enableval ],
|
||||||
|
[ ENABLED_DTLS13=no ]
|
||||||
|
)
|
||||||
|
if test "x$ENABLED_DTLS13" = "xyes"
|
||||||
|
then
|
||||||
|
if test "x$ENABLED_DTLS" != "xyes" || test "x$ENABLED_TLS13" != "xyes"
|
||||||
|
then
|
||||||
|
AC_MSG_ERROR([You need to enable both DTLS and TLSv1.3 to use DTLSv1.3])
|
||||||
|
fi
|
||||||
|
if test "x$ENABLED_AES" = "xyes"
|
||||||
|
then
|
||||||
|
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_AES_DIRECT"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
# CODING
|
# CODING
|
||||||
AC_ARG_ENABLE([coding],
|
AC_ARG_ENABLE([coding],
|
||||||
|
@ -7850,6 +7866,7 @@ AM_CONDITIONAL([BUILD_HMAC],[test "x$ENABLED_HMAC" = "xyes"])
|
||||||
AM_CONDITIONAL([BUILD_ERROR_STRINGS],[test "x$ENABLED_ERROR_STRINGS" = "xyes"])
|
AM_CONDITIONAL([BUILD_ERROR_STRINGS],[test "x$ENABLED_ERROR_STRINGS" = "xyes"])
|
||||||
AM_CONDITIONAL([BUILD_DO178],[test "x$ENABLED_DO178" = "xyes"])
|
AM_CONDITIONAL([BUILD_DO178],[test "x$ENABLED_DO178" = "xyes"])
|
||||||
AM_CONDITIONAL([BUILD_PSA],[test "x$ENABLED_PSA" = "xyes"])
|
AM_CONDITIONAL([BUILD_PSA],[test "x$ENABLED_PSA" = "xyes"])
|
||||||
|
AM_CONDITIONAL([BUILD_DTLS13],[test "x$ENABLED_DTLS13" = "xyes"])
|
||||||
|
|
||||||
if test "$ENABLED_REPRODUCIBLE_BUILD" != "yes" &&
|
if test "$ENABLED_REPRODUCIBLE_BUILD" != "yes" &&
|
||||||
(test "$ax_enable_debug" = "yes" ||
|
(test "$ax_enable_debug" = "yes" ||
|
||||||
|
@ -8169,6 +8186,7 @@ echo " * chrony: $ENABLED_CHRONY"
|
||||||
echo " * strongSwan: $ENABLED_STRONGSWAN"
|
echo " * strongSwan: $ENABLED_STRONGSWAN"
|
||||||
echo " * ERROR_STRINGS: $ENABLED_ERROR_STRINGS"
|
echo " * ERROR_STRINGS: $ENABLED_ERROR_STRINGS"
|
||||||
echo " * DTLS: $ENABLED_DTLS"
|
echo " * DTLS: $ENABLED_DTLS"
|
||||||
|
echo " * DTLS v1.3: $ENABLED_DTLS13"
|
||||||
echo " * SCTP: $ENABLED_SCTP"
|
echo " * SCTP: $ENABLED_SCTP"
|
||||||
echo " * SRTP: $ENABLED_SRTP"
|
echo " * SRTP: $ENABLED_SRTP"
|
||||||
echo " * Indefinite Length: $ENABLED_BER_INDEF"
|
echo " * Indefinite Length: $ENABLED_BER_INDEF"
|
||||||
|
|
|
@ -0,0 +1,30 @@
|
||||||
|
/* dtls13.c
|
||||||
|
*
|
||||||
|
* Copyright (C) 2006-2022 wolfSSL Inc.
|
||||||
|
*
|
||||||
|
* This file is part of wolfSSL.
|
||||||
|
*
|
||||||
|
* wolfSSL is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* wolfSSL is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifdef HAVE_CONFIG_H
|
||||||
|
#include <config.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <wolfssl/wolfcrypt/settings.h>
|
||||||
|
|
||||||
|
#ifdef WOLFSSL_DTLS13
|
||||||
|
|
||||||
|
#endif /* WOLFSSL_DTLS13 */
|
|
@ -693,6 +693,10 @@ if BUILD_SNIFFER
|
||||||
src_libwolfssl_la_SOURCES += src/sniffer.c
|
src_libwolfssl_la_SOURCES += src/sniffer.c
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
if BUILD_DTLS13
|
||||||
|
src_libwolfssl_la_SOURCES += src/dtls13.c
|
||||||
|
endif
|
||||||
|
|
||||||
endif !BUILD_CRYPTONLY
|
endif !BUILD_CRYPTONLY
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -2700,6 +2700,17 @@ extern void uITRON4_free(void *p) ;
|
||||||
#define NO_SESSION_CACHE_REF
|
#define NO_SESSION_CACHE_REF
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* DTLS v1.3 requires AES ECB if using AES */
|
||||||
|
#if defined(WOLFSSL_DTLS13) && !defined(NO_AES) && \
|
||||||
|
!defined(WOLFSSL_AES_DIRECT)
|
||||||
|
#define WOLFSSL_AES_DIRECT
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(WOLFSSL_DTLS13) && (!defined(WOLFSSL_DTLS) || \
|
||||||
|
!defined(WOLFSSL_TLS13))
|
||||||
|
#error "DTLS v1.3 requires both WOLFSSL_TLS13 and WOLFSSL_DTLS"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/* ---------------------------------------------------------------------------
|
/* ---------------------------------------------------------------------------
|
||||||
* Depricated Algorithm Handling
|
* Depricated Algorithm Handling
|
||||||
|
|
Loading…
Reference in New Issue