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
|
else
|
||||||
port = str + XSTRLEN(str); /* point to null terminator */
|
port = str + XSTRLEN(str); /* point to null terminator */
|
||||||
|
|
||||||
bio->ip = (char*)XMALLOC(1 + port - str, bio->heap,
|
bio->ip = (char*)XMALLOC((port - str) + 1, /* +1 for null char */
|
||||||
DYNAMIC_TYPE_OPENSSL);
|
bio->heap, DYNAMIC_TYPE_OPENSSL);
|
||||||
XMEMCPY(bio->ip, str, port - str);
|
XMEMCPY(bio->ip, str, port - str);
|
||||||
bio->ip[port - str] = '\0';
|
bio->ip[port - str] = '\0';
|
||||||
bio->type = WOLFSSL_BIO_SOCKET;
|
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;
|
return WOLFSSL_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef HAVE_SOCKADDR
|
||||||
int wolfSSL_BIO_do_accept(WOLFSSL_BIO *b)
|
int wolfSSL_BIO_do_accept(WOLFSSL_BIO *b)
|
||||||
{
|
{
|
||||||
SOCKET_T sfd = SOCKET_INVALID;
|
SOCKET_T sfd = SOCKET_INVALID;
|
||||||
WOLFSSL_ENTER("wolfSSL_BIO_do_accept");
|
WOLFSSL_ENTER("wolfSSL_BIO_do_accept");
|
||||||
|
|
||||||
if (!b) {
|
if (!b) {
|
||||||
WOLFSSL_ENTER("Bad parameter");
|
WOLFSSL_MSG("Bad parameter");
|
||||||
return WOLFSSL_FAILURE;
|
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 */
|
/* Push onto bio chain for user retrieval */
|
||||||
if (wolfSSL_BIO_push(b, new_bio) == NULL) {
|
if (wolfSSL_BIO_push(b, new_bio) == NULL) {
|
||||||
WOLFSSL_ENTER("wolfSSL_BIO_push error");
|
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_FAILURE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return WOLFSSL_SUCCESS;
|
return WOLFSSL_SUCCESS;
|
||||||
}
|
}
|
||||||
|
#endif /* HAVE_SOCKADDR */
|
||||||
#endif /* HAVE_HTTP_CLIENT */
|
#endif /* HAVE_HTTP_CLIENT */
|
||||||
|
|
||||||
int wolfSSL_BIO_eof(WOLFSSL_BIO* b)
|
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
|
#ifdef CloseSocket
|
||||||
if (bio->type == WOLFSSL_BIO_SOCKET && bio->num)
|
if (bio->type == WOLFSSL_BIO_SOCKET && bio->num)
|
||||||
CloseSocket(bio->num);
|
CloseSocket(bio->num);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef NO_FILESYSTEM
|
#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)
|
int wolfIO_TcpBind(SOCKET_T* sockfd, word16 port)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_SOCKADDR
|
#ifdef HAVE_SOCKADDR
|
||||||
|
int ret = 0;
|
||||||
SOCKADDR_S addr;
|
SOCKADDR_S addr;
|
||||||
int sockaddr_len = sizeof(SOCKADDR_IN);
|
int sockaddr_len = sizeof(SOCKADDR_IN);
|
||||||
SOCKADDR_IN *sin = (SOCKADDR_IN *)&addr;
|
SOCKADDR_IN *sin = (SOCKADDR_IN *)&addr;
|
||||||
@ -880,39 +881,34 @@ int wolfIO_TcpBind(SOCKET_T* sockfd, word16 port)
|
|||||||
sin->sin_port = XHTONS(port);
|
sin->sin_port = XHTONS(port);
|
||||||
*sockfd = (SOCKET_T)socket(AF_INET, SOCK_STREAM, 0);
|
*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)\
|
#if !defined(USE_WINDOWS_API) && !defined(WOLFSSL_MDK_ARM)\
|
||||||
&& !defined(WOLFSSL_KEIL_TCP_NET) && !defined(WOLFSSL_ZEPHYR)
|
&& !defined(WOLFSSL_KEIL_TCP_NET) && !defined(WOLFSSL_ZEPHYR)
|
||||||
{
|
{
|
||||||
int optval = 1;
|
int optval = 1;
|
||||||
#ifndef USE_WINDOWS_API
|
XSOCKLENT optlen = sizeof(optval);
|
||||||
socklen_t optlen = sizeof(optval);
|
ret = setsockopt(*sockfd, SOL_SOCKET, SO_REUSEADDR, &optval, optlen);
|
||||||
#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;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (bind(*sockfd, (SOCKADDR *)sin, sockaddr_len) != 0) {
|
if (ret == 0)
|
||||||
WOLFSSL_MSG("tcp bind failed");
|
ret = bind(*sockfd, (SOCKADDR *)sin, sockaddr_len);
|
||||||
|
if (ret == 0)
|
||||||
|
ret = listen(*sockfd, SOMAXCONN);
|
||||||
|
|
||||||
|
if (ret != 0) {
|
||||||
|
WOLFSSL_MSG("wolfIO_TcpBind failed");
|
||||||
CloseSocket(*sockfd);
|
CloseSocket(*sockfd);
|
||||||
*sockfd = SOCKET_INVALID;
|
*sockfd = SOCKET_INVALID;
|
||||||
return -1;
|
ret = -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (listen(*sockfd, SOMAXCONN) != 0) {
|
return ret;
|
||||||
WOLFSSL_MSG("tcp listen failed");
|
|
||||||
CloseSocket(*sockfd);
|
|
||||||
*sockfd = SOCKET_INVALID;
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
#else
|
#else
|
||||||
(void)sockfd;
|
(void)sockfd;
|
||||||
(void)port;
|
(void)port;
|
||||||
@ -921,11 +917,7 @@ int wolfIO_TcpBind(SOCKET_T* sockfd, word16 port)
|
|||||||
}
|
}
|
||||||
|
|
||||||
#ifdef HAVE_SOCKADDR
|
#ifdef HAVE_SOCKADDR
|
||||||
#ifndef USE_WINDOWS_API
|
int wolfIO_TcpAccept(SOCKET_T sockfd, SOCKADDR* peer_addr, XSOCKLENT* peer_len)
|
||||||
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
|
|
||||||
{
|
{
|
||||||
return accept(sockfd, peer_addr, peer_len);
|
return accept(sockfd, peer_addr, peer_len);
|
||||||
}
|
}
|
||||||
|
@ -26,8 +26,9 @@
|
|||||||
#ifndef WOLFSSL_OPENSSL_COMPAT_TYPES_H_
|
#ifndef WOLFSSL_OPENSSL_COMPAT_TYPES_H_
|
||||||
#define 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/types.h>
|
||||||
|
#include <wolfssl/wolfcrypt/hmac.h>
|
||||||
|
|
||||||
typedef struct WOLFSSL_HMAC_CTX {
|
typedef struct WOLFSSL_HMAC_CTX {
|
||||||
Hmac hmac;
|
Hmac hmac;
|
||||||
|
@ -373,10 +373,8 @@
|
|||||||
#endif
|
#endif
|
||||||
WOLFSSL_API int wolfIO_TcpConnect(SOCKET_T* sockfd, const char* ip,
|
WOLFSSL_API int wolfIO_TcpConnect(SOCKET_T* sockfd, const char* ip,
|
||||||
unsigned short port, int to_sec);
|
unsigned short port, int to_sec);
|
||||||
#ifndef USE_WINDOWS_API
|
#ifdef HAVE_SOCKADDR
|
||||||
WOLFSSL_API int wolfIO_TcpAccept(SOCKET_T sockfd, SOCKADDR* peer_addr, socklen_t* peer_len);
|
WOLFSSL_API int wolfIO_TcpAccept(SOCKET_T sockfd, SOCKADDR* peer_addr, XSOCKLENT* peer_len);
|
||||||
#else
|
|
||||||
WOLFSSL_API int wolfIO_TcpAccept(SOCKET_T sockfd, SOCKADDR* peer_addr, int* peer_len);
|
|
||||||
#endif
|
#endif
|
||||||
WOLFSSL_API int wolfIO_TcpBind(SOCKET_T* sockfd, word16 port);
|
WOLFSSL_API int wolfIO_TcpBind(SOCKET_T* sockfd, word16 port);
|
||||||
WOLFSSL_API int wolfIO_Send(SOCKET_T sd, char *buf, int sz, int wrFlags);
|
WOLFSSL_API int wolfIO_Send(SOCKET_T sd, char *buf, int sz, int wrFlags);
|
||||||
|
Reference in New Issue
Block a user