forked from wolfSSL/wolfssl
Merge pull request #4367 from julek-wolfssl/zd12834
Changes for ED25519 and `HAVE_SECRET_CALLBACK`
This commit is contained in:
@ -6773,11 +6773,11 @@ AM_CONDITIONAL([BUILD_SHA512],[test "x$ENABLED_SHA512" = "xyes" || test "x$ENABL
|
|||||||
AM_CONDITIONAL([BUILD_DSA],[test "x$ENABLED_DSA" = "xyes" || test "x$ENABLED_USERSETTINGS" = "xyes"])
|
AM_CONDITIONAL([BUILD_DSA],[test "x$ENABLED_DSA" = "xyes" || test "x$ENABLED_USERSETTINGS" = "xyes"])
|
||||||
AM_CONDITIONAL([BUILD_ECC],[test "x$ENABLED_ECC" != "xno" || test "x$ENABLED_USERSETTINGS" = "xyes"])
|
AM_CONDITIONAL([BUILD_ECC],[test "x$ENABLED_ECC" != "xno" || test "x$ENABLED_USERSETTINGS" = "xyes"])
|
||||||
AM_CONDITIONAL([BUILD_ED25519],[test "x$ENABLED_ED25519" = "xyes" || test "x$ENABLED_USERSETTINGS" = "xyes"])
|
AM_CONDITIONAL([BUILD_ED25519],[test "x$ENABLED_ED25519" = "xyes" || test "x$ENABLED_USERSETTINGS" = "xyes"])
|
||||||
AM_CONDITIONAL([BUILD_ED25519_SMALL],[test "x$ENABLED_ED25519_SMALL" = "xyes" || test "x$ENABLED_USERSETTINGS" = "xyes"])
|
AM_CONDITIONAL([BUILD_ED25519_SMALL],[test "x$ENABLED_ED25519_SMALL" = "xyes"])
|
||||||
AM_CONDITIONAL([BUILD_FEMATH], [test "x$ENABLED_FEMATH" = "xyes" || test "x$ENABLED_USERSETTINGS" = "xyes"])
|
AM_CONDITIONAL([BUILD_FEMATH], [test "x$ENABLED_FEMATH" = "xyes" || test "x$ENABLED_USERSETTINGS" = "xyes"])
|
||||||
AM_CONDITIONAL([BUILD_GEMATH], [test "x$ENABLED_GEMATH" = "xyes" || test "x$ENABLED_USERSETTINGS" = "xyes"])
|
AM_CONDITIONAL([BUILD_GEMATH], [test "x$ENABLED_GEMATH" = "xyes" || test "x$ENABLED_USERSETTINGS" = "xyes"])
|
||||||
AM_CONDITIONAL([BUILD_CURVE25519],[test "x$ENABLED_CURVE25519" = "xyes" || test "x$ENABLED_USERSETTINGS" = "xyes"])
|
AM_CONDITIONAL([BUILD_CURVE25519],[test "x$ENABLED_CURVE25519" = "xyes" || test "x$ENABLED_USERSETTINGS" = "xyes"])
|
||||||
AM_CONDITIONAL([BUILD_CURVE25519_SMALL],[test "x$ENABLED_CURVE25519_SMALL" = "xyes" || test "x$ENABLED_USERSETTINGS" = "xyes"])
|
AM_CONDITIONAL([BUILD_CURVE25519_SMALL],[test "x$ENABLED_CURVE25519_SMALL" = "xyes"])
|
||||||
AM_CONDITIONAL([BUILD_ED448],[test "x$ENABLED_ED448" = "xyes" || test "x$ENABLED_USERSETTINGS" = "xyes"])
|
AM_CONDITIONAL([BUILD_ED448],[test "x$ENABLED_ED448" = "xyes" || test "x$ENABLED_USERSETTINGS" = "xyes"])
|
||||||
AM_CONDITIONAL([BUILD_ED448_SMALL],[test "x$ENABLED_ED448_SMALL" = "xyes"])
|
AM_CONDITIONAL([BUILD_ED448_SMALL],[test "x$ENABLED_ED448_SMALL" = "xyes"])
|
||||||
AM_CONDITIONAL([BUILD_FE448], [test "x$ENABLED_FE448" = "xyes" || test "x$ENABLED_USERSETTINGS" = "xyes"])
|
AM_CONDITIONAL([BUILD_FE448], [test "x$ENABLED_FE448" = "xyes" || test "x$ENABLED_USERSETTINGS" = "xyes"])
|
||||||
|
@ -3228,7 +3228,7 @@ THREAD_RETURN WOLFSSL_THREAD client_test(void* args)
|
|||||||
}
|
}
|
||||||
#endif /* !NO_CERTS */
|
#endif /* !NO_CERTS */
|
||||||
|
|
||||||
#ifdef OPENSSL_EXTRA
|
#if defined(OPENSSL_EXTRA) || defined(HAVE_SECRET_CALLBACK)
|
||||||
wolfSSL_KeepArrays(ssl);
|
wolfSSL_KeepArrays(ssl);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -2531,7 +2531,7 @@ THREAD_RETURN WOLFSSL_THREAD server_test(void* args)
|
|||||||
if (ssl == NULL)
|
if (ssl == NULL)
|
||||||
err_sys_ex(catastrophic, "unable to create an SSL object");
|
err_sys_ex(catastrophic, "unable to create an SSL object");
|
||||||
|
|
||||||
#ifdef OPENSSL_EXTRA
|
#if defined(OPENSSL_EXTRA) || defined(HAVE_SECRET_CALLBACK)
|
||||||
wolfSSL_KeepArrays(ssl);
|
wolfSSL_KeepArrays(ssl);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
46
src/ssl.c
46
src/ssl.c
@ -2160,8 +2160,6 @@ static int wolfSSL_read_internal(WOLFSSL* ssl, void* data, int sz, int peek)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
sz = wolfSSL_GetMaxRecordSize(ssl, sz);
|
|
||||||
|
|
||||||
ret = ReceiveData(ssl, (byte*)data, sz, peek);
|
ret = ReceiveData(ssl, (byte*)data, sz, peek);
|
||||||
|
|
||||||
#ifdef HAVE_WRITE_DUP
|
#ifdef HAVE_WRITE_DUP
|
||||||
@ -48164,27 +48162,9 @@ int wolfSSL_X509_check_email(WOLFSSL_X509 *x, const char *chk, size_t chkLen,
|
|||||||
}
|
}
|
||||||
#endif /* OPENSSL_EXTRA && WOLFSSL_CERT_GEN */
|
#endif /* OPENSSL_EXTRA && WOLFSSL_CERT_GEN */
|
||||||
|
|
||||||
|
|
||||||
#if defined(OPENSSL_ALL) || defined(WOLFSSL_NGINX) || defined(WOLFSSL_HAPROXY) \
|
#if defined(OPENSSL_ALL) || defined(WOLFSSL_NGINX) || defined(WOLFSSL_HAPROXY) \
|
||||||
|| defined(OPENSSL_EXTRA) || defined(HAVE_LIGHTY)
|
|| defined(OPENSSL_EXTRA) || defined(HAVE_LIGHTY) || defined(HAVE_SECRET_CALLBACK)
|
||||||
|
|
||||||
int wolfSSL_X509_NAME_digest(const WOLFSSL_X509_NAME *name,
|
|
||||||
const WOLFSSL_EVP_MD *type, unsigned char *md, unsigned int *len)
|
|
||||||
{
|
|
||||||
WOLFSSL_ENTER("wolfSSL_X509_NAME_digest");
|
|
||||||
|
|
||||||
if (name == NULL || type == NULL)
|
|
||||||
return WOLFSSL_FAILURE;
|
|
||||||
|
|
||||||
#if !defined(NO_FILESYSTEM) && !defined(NO_PWDBASED)
|
|
||||||
return wolfSSL_EVP_Digest((unsigned char*)name->name,
|
|
||||||
name->sz, md, len, type, NULL);
|
|
||||||
#else
|
|
||||||
(void)md;
|
|
||||||
(void)len;
|
|
||||||
return NOT_COMPILED_IN;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
long wolfSSL_SSL_CTX_get_timeout(const WOLFSSL_CTX *ctx)
|
long wolfSSL_SSL_CTX_get_timeout(const WOLFSSL_CTX *ctx)
|
||||||
{
|
{
|
||||||
WOLFSSL_ENTER("wolfSSL_SSL_CTX_get_timeout");
|
WOLFSSL_ENTER("wolfSSL_SSL_CTX_get_timeout");
|
||||||
@ -48205,6 +48185,28 @@ long wolfSSL_get_timeout(WOLFSSL* ssl)
|
|||||||
return 0;
|
return 0;
|
||||||
return ssl->timeout;
|
return ssl->timeout;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(OPENSSL_ALL) || defined(WOLFSSL_NGINX) || defined(WOLFSSL_HAPROXY) \
|
||||||
|
|| defined(OPENSSL_EXTRA) || defined(HAVE_LIGHTY)
|
||||||
|
|
||||||
|
int wolfSSL_X509_NAME_digest(const WOLFSSL_X509_NAME *name,
|
||||||
|
const WOLFSSL_EVP_MD *type, unsigned char *md, unsigned int *len)
|
||||||
|
{
|
||||||
|
WOLFSSL_ENTER("wolfSSL_X509_NAME_digest");
|
||||||
|
|
||||||
|
if (name == NULL || type == NULL)
|
||||||
|
return WOLFSSL_FAILURE;
|
||||||
|
|
||||||
|
#if !defined(NO_FILESYSTEM) && !defined(NO_PWDBASED)
|
||||||
|
return wolfSSL_EVP_Digest((unsigned char*)name->name,
|
||||||
|
name->sz, md, len, type, NULL);
|
||||||
|
#else
|
||||||
|
(void)md;
|
||||||
|
(void)len;
|
||||||
|
return NOT_COMPILED_IN;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef HAVE_ECC
|
#ifdef HAVE_ECC
|
||||||
int wolfSSL_SSL_CTX_set_tmp_ecdh(WOLFSSL_CTX *ctx, WOLFSSL_EC_KEY *ecdh)
|
int wolfSSL_SSL_CTX_set_tmp_ecdh(WOLFSSL_CTX *ctx, WOLFSSL_EC_KEY *ecdh)
|
||||||
|
@ -1171,6 +1171,10 @@ enum {
|
|||||||
#define WOLFSSL_MAX_MTU 1400
|
#define WOLFSSL_MAX_MTU 1400
|
||||||
#endif /* WOLFSSL_MAX_MTU */
|
#endif /* WOLFSSL_MAX_MTU */
|
||||||
|
|
||||||
|
#ifndef WOLFSSL_DTLS_MTU_ADDITIONAL_READ_BUFFER
|
||||||
|
#define WOLFSSL_DTLS_MTU_ADDITIONAL_READ_BUFFER 500
|
||||||
|
#endif /* WOLFSSL_DTLS_MTU_ADDITIONAL_READ_BUFFER */
|
||||||
|
|
||||||
|
|
||||||
/* set minimum DH key size allowed */
|
/* set minimum DH key size allowed */
|
||||||
#ifndef WOLFSSL_MIN_DHKEY_BITS
|
#ifndef WOLFSSL_MIN_DHKEY_BITS
|
||||||
@ -1363,9 +1367,10 @@ enum Misc {
|
|||||||
DTLS_EXPORT_SPC_SZ = 16, /* amount of bytes used from CipherSpecs */
|
DTLS_EXPORT_SPC_SZ = 16, /* amount of bytes used from CipherSpecs */
|
||||||
DTLS_EXPORT_LEN = 2, /* 2 bytes for length and protocol */
|
DTLS_EXPORT_LEN = 2, /* 2 bytes for length and protocol */
|
||||||
DTLS_EXPORT_IP = 46, /* max ip size IPv4 mapped IPv6 */
|
DTLS_EXPORT_IP = 46, /* max ip size IPv4 mapped IPv6 */
|
||||||
DTLS_MTU_ADDITIONAL_READ_BUFFER = 100, /* Additional bytes to read so that
|
DTLS_MTU_ADDITIONAL_READ_BUFFER = WOLFSSL_DTLS_MTU_ADDITIONAL_READ_BUFFER,
|
||||||
* we can work with a peer that has
|
/* Additional bytes to read so that
|
||||||
* a slightly different MTU than us. */
|
* we can work with a peer that has
|
||||||
|
* a slightly different MTU than us. */
|
||||||
MAX_EXPORT_BUFFER = 514, /* max size of buffer for exporting */
|
MAX_EXPORT_BUFFER = 514, /* max size of buffer for exporting */
|
||||||
MAX_EXPORT_STATE_BUFFER = (DTLS_EXPORT_MIN_KEY_SZ) + (3 * DTLS_EXPORT_LEN),
|
MAX_EXPORT_STATE_BUFFER = (DTLS_EXPORT_MIN_KEY_SZ) + (3 * DTLS_EXPORT_LEN),
|
||||||
/* max size of buffer for exporting state */
|
/* max size of buffer for exporting state */
|
||||||
|
@ -4423,7 +4423,7 @@ WOLFSSL_API int wolfSSL_X509_set_ex_data_with_cleanup(
|
|||||||
#endif /* OPENSSL_EXTRA || OPENSSL_EXTRA_X509_SMALL || WOLFSSL_WPAS_SMALL */
|
#endif /* OPENSSL_EXTRA || OPENSSL_EXTRA_X509_SMALL || WOLFSSL_WPAS_SMALL */
|
||||||
|
|
||||||
#if defined(OPENSSL_ALL) || defined(WOLFSSL_NGINX) || defined(WOLFSSL_HAPROXY) \
|
#if defined(OPENSSL_ALL) || defined(WOLFSSL_NGINX) || defined(WOLFSSL_HAPROXY) \
|
||||||
|| defined(OPENSSL_EXTRA) || defined(HAVE_LIGHTY)
|
|| defined(OPENSSL_EXTRA) || defined(HAVE_LIGHTY) || defined(HAVE_SECRET_CALLBACK)
|
||||||
WOLFSSL_API WOLF_STACK_OF(WOLFSSL_CIPHER) *wolfSSL_get_ciphers_compat(const WOLFSSL *ssl);
|
WOLFSSL_API WOLF_STACK_OF(WOLFSSL_CIPHER) *wolfSSL_get_ciphers_compat(const WOLFSSL *ssl);
|
||||||
WOLFSSL_API int wolfSSL_X509_get_ex_new_index(int idx, void *arg, void *a,
|
WOLFSSL_API int wolfSSL_X509_get_ex_new_index(int idx, void *arg, void *a,
|
||||||
void *b, void *c);
|
void *b, void *c);
|
||||||
|
Reference in New Issue
Block a user