Code review changes

This commit is contained in:
Juliusz Sosinowicz
2021-08-10 12:40:04 +02:00
parent fab227411f
commit dd4adacee8
4 changed files with 31 additions and 37 deletions

View File

@ -54967,8 +54967,8 @@ int wolfSSL_CONF_cmd(WOLFSSL_CONF_CTX* cctx, const char* cmd, const char* value)
else
port = str + XSTRLEN(str); /* point to null terminator */
bio->ip = (char*)XMALLOC(1 + port - str, bio->heap,
DYNAMIC_TYPE_OPENSSL);
bio->ip = (char*)XMALLOC((port - str) + 1, /* +1 for null char */
bio->heap, DYNAMIC_TYPE_OPENSSL);
XMEMCPY(bio->ip, str, port - str);
bio->ip[port - str] = '\0';
bio->type = WOLFSSL_BIO_SOCKET;
@ -55055,13 +55055,14 @@ int wolfSSL_CONF_cmd(WOLFSSL_CONF_CTX* cctx, const char* cmd, const char* value)
return WOLFSSL_SUCCESS;
}
#ifdef HAVE_SOCKADDR
int wolfSSL_BIO_do_accept(WOLFSSL_BIO *b)
{
SOCKET_T sfd = SOCKET_INVALID;
WOLFSSL_ENTER("wolfSSL_BIO_do_accept");
if (!b) {
WOLFSSL_ENTER("Bad parameter");
WOLFSSL_MSG("Bad parameter");
return WOLFSSL_FAILURE;
}
@ -55102,13 +55103,15 @@ int wolfSSL_CONF_cmd(WOLFSSL_CONF_CTX* cctx, const char* cmd, const char* value)
/* Push onto bio chain for user retrieval */
if (wolfSSL_BIO_push(b, new_bio) == NULL) {
WOLFSSL_ENTER("wolfSSL_BIO_push error");
CloseSocket(newfd);
/* newfd is closed when bio is free'd */
wolfSSL_BIO_free(new_bio);
return WOLFSSL_FAILURE;
}
}
return WOLFSSL_SUCCESS;
}
#endif /* HAVE_SOCKADDR */
#endif /* HAVE_HTTP_CLIENT */
int wolfSSL_BIO_eof(WOLFSSL_BIO* b)
@ -55312,7 +55315,7 @@ int wolfSSL_CONF_cmd(WOLFSSL_CONF_CTX* cctx, const char* cmd, const char* value)
#ifdef CloseSocket
if (bio->type == WOLFSSL_BIO_SOCKET && bio->num)
CloseSocket(bio->num);
#endif
#endif
}
#ifndef NO_FILESYSTEM

View File

@ -865,6 +865,7 @@ int wolfIO_TcpConnect(SOCKET_T* sockfd, const char* ip, word16 port, int to_sec)
int wolfIO_TcpBind(SOCKET_T* sockfd, word16 port)
{
#ifdef HAVE_SOCKADDR
int ret = 0;
SOCKADDR_S addr;
int sockaddr_len = sizeof(SOCKADDR_IN);
SOCKADDR_IN *sin = (SOCKADDR_IN *)&addr;
@ -880,39 +881,34 @@ int wolfIO_TcpBind(SOCKET_T* sockfd, word16 port)
sin->sin_port = XHTONS(port);
*sockfd = (SOCKET_T)socket(AF_INET, SOCK_STREAM, 0);
if (*sockfd < 0) {
WOLFSSL_MSG("socket failed");
*sockfd = SOCKET_INVALID;
return -1;
}
#if !defined(USE_WINDOWS_API) && !defined(WOLFSSL_MDK_ARM)\
&& !defined(WOLFSSL_KEIL_TCP_NET) && !defined(WOLFSSL_ZEPHYR)
{
int optval = 1;
#ifndef USE_WINDOWS_API
socklen_t optlen = sizeof(optval);
#else
int optlen = sizeof(optval);
#endif
if (setsockopt(*sockfd, SOL_SOCKET, SO_REUSEADDR, &optval, optlen) < 0) {
WOLFSSL_MSG("setsockopt SO_REUSEADDR failed");
CloseSocket(*sockfd);
*sockfd = SOCKET_INVALID;
return -1;
}
XSOCKLENT optlen = sizeof(optval);
ret = setsockopt(*sockfd, SOL_SOCKET, SO_REUSEADDR, &optval, optlen);
}
#endif
if (bind(*sockfd, (SOCKADDR *)sin, sockaddr_len) != 0) {
WOLFSSL_MSG("tcp bind failed");
if (ret == 0)
ret = bind(*sockfd, (SOCKADDR *)sin, sockaddr_len);
if (ret == 0)
ret = listen(*sockfd, SOMAXCONN);
if (ret != 0) {
WOLFSSL_MSG("wolfIO_TcpBind failed");
CloseSocket(*sockfd);
*sockfd = SOCKET_INVALID;
return -1;
ret = -1;
}
if (listen(*sockfd, SOMAXCONN) != 0) {
WOLFSSL_MSG("tcp listen failed");
CloseSocket(*sockfd);
*sockfd = SOCKET_INVALID;
return -1;
}
return 0;
return ret;
#else
(void)sockfd;
(void)port;
@ -921,11 +917,7 @@ int wolfIO_TcpBind(SOCKET_T* sockfd, word16 port)
}
#ifdef HAVE_SOCKADDR
#ifndef USE_WINDOWS_API
int wolfIO_TcpAccept(SOCKET_T sockfd, SOCKADDR* peer_addr, socklen_t* peer_len)
#else
int wolfIO_TcpAccept(SOCKET_T sockfd, SOCKADDR* peer_addr, int* peer_len)
#endif
int wolfIO_TcpAccept(SOCKET_T sockfd, SOCKADDR* peer_addr, XSOCKLENT* peer_len)
{
return accept(sockfd, peer_addr, peer_len);
}

View File

@ -26,8 +26,9 @@
#ifndef WOLFSSL_OPENSSL_COMPAT_TYPES_H_
#define WOLFSSL_OPENSSL_COMPAT_TYPES_H_
#include <wolfssl/wolfcrypt/hmac.h>
#include <wolfssl/wolfcrypt/settings.h>
#include <wolfssl/wolfcrypt/types.h>
#include <wolfssl/wolfcrypt/hmac.h>
typedef struct WOLFSSL_HMAC_CTX {
Hmac hmac;

View File

@ -373,10 +373,8 @@
#endif
WOLFSSL_API int wolfIO_TcpConnect(SOCKET_T* sockfd, const char* ip,
unsigned short port, int to_sec);
#ifndef USE_WINDOWS_API
WOLFSSL_API int wolfIO_TcpAccept(SOCKET_T sockfd, SOCKADDR* peer_addr, socklen_t* peer_len);
#else
WOLFSSL_API int wolfIO_TcpAccept(SOCKET_T sockfd, SOCKADDR* peer_addr, int* peer_len);
#ifdef HAVE_SOCKADDR
WOLFSSL_API int wolfIO_TcpAccept(SOCKET_T sockfd, SOCKADDR* peer_addr, XSOCKLENT* peer_len);
#endif
WOLFSSL_API int wolfIO_TcpBind(SOCKET_T* sockfd, word16 port);
WOLFSSL_API int wolfIO_Send(SOCKET_T sd, char *buf, int sz, int wrFlags);