forked from wolfSSL/wolfssl
Code review changes
This commit is contained in:
13
src/ssl.c
13
src/ssl.c
@ -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
|
||||
|
46
src/wolfio.c
46
src/wolfio.c
@ -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);
|
||||
}
|
||||
|
@ -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;
|
||||
|
@ -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);
|
||||
|
Reference in New Issue
Block a user