Adding allocator funcs for dtls peer (for wrappers)

pull/5484/head
Lealem Amedie 2022-08-19 10:59:55 -07:00
parent 969ad96dee
commit da136e0c49
3 changed files with 36 additions and 0 deletions

View File

@ -1205,6 +1205,34 @@ int wolfSSL_set_ConnectFilter(
#endif /* WOLFSSL_WOLFSENTRY_HOOKS */
#ifndef WOLFSSL_LEANPSK
#if defined(WOLFSSL_DTLS) && defined(XINET_PTON) && \
!defined(WOLFSSL_NO_SOCK) && defined(HAVE_SOCKADDR)
void* wolfSSL_dtls_create_peer(int port, char* ip)
{
SOCKADDR_IN *addr;
addr = (SOCKADDR_IN*)XMALLOC(sizeof(*addr), NULL,
DYNAMIC_TYPE_SOCKADDR);
if (addr == NULL) {
return NULL;
}
addr->sin_family = AF_INET;
addr->sin_port = htons(port);
if (XINET_PTON(AF_INET, ip, &addr->sin_addr) < 1) {
XFREE(addr, NULL, DYNAMIC_TYPE_SOCKADDR);
return NULL;
}
return addr;
}
int wolfSSL_dtls_free_peer(void* addr)
{
XFREE(addr, NULL, DYNAMIC_TYPE_SOCKADDR);
return WOLFSSL_SUCCESS;
}
#endif
int wolfSSL_dtls_set_peer(WOLFSSL* ssl, void* peer, unsigned int peerSz)
{
#ifdef WOLFSSL_DTLS

View File

@ -1398,6 +1398,9 @@ WOLFSSL_API int wolfSSL_dtls_got_timeout(WOLFSSL* ssl);
WOLFSSL_API int wolfSSL_dtls_retransmit(WOLFSSL* ssl);
WOLFSSL_API int wolfSSL_dtls(WOLFSSL* ssl);
WOLFSSL_API void* wolfSSL_dtls_create_peer(int port, char* ip);
WOLFSSL_API int wolfSSL_dtls_free_peer(void* addr);
WOLFSSL_API int wolfSSL_dtls_set_peer(WOLFSSL* ssl, void* peer, unsigned int peerSz);
WOLFSSL_API int wolfSSL_dtls_get_peer(WOLFSSL* ssl, void* peer, unsigned int* peerSz);

View File

@ -244,7 +244,12 @@ typedef struct WOLFSSL_ASN1_TIME {
enum {
IV_SZ = 32, /* max iv sz */
#ifdef OPENSSL_ALL
NAME_SZ = 160, /* larger max one line, allows for longer
encryption password support */
#else
NAME_SZ = 80, /* max one line */
#endif
PEM_PASS_READ = 0,
PEM_PASS_WRITE = 1,