aboutsummaryrefslogtreecommitdiff
path: root/networks/openssl_buffered.c
diff options
context:
space:
mode:
Diffstat (limited to 'networks/openssl_buffered.c')
-rw-r--r--networks/openssl_buffered.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/networks/openssl_buffered.c b/networks/openssl_buffered.c
index 5c1d0c9..7021c87 100644
--- a/networks/openssl_buffered.c
+++ b/networks/openssl_buffered.c
@@ -319,10 +319,10 @@ size_t openssl_buffered_recv(void *handle, char *data, size_t len, char *err) {
}
int openssl_buffered_connect(void **handle, struct string address, struct string port, struct string *addr_out) {
- struct sockaddr sockaddr;
+ struct sockaddr_storage sockaddr;
socklen_t sockaddr_len;
int family;
- if (resolve(address, port, &sockaddr, &sockaddr_len, &family) != 0)
+ if (resolve(address, port, (struct sockaddr*)&sockaddr, &sockaddr_len, &family) != 0)
return -1;
int fd = socket(family, SOCK_STREAM, IPPROTO_TCP);
@@ -340,7 +340,7 @@ int openssl_buffered_connect(void **handle, struct string address, struct string
int res;
do {
- res = connect(fd, &sockaddr, sockaddr_len);
+ res = connect(fd, (struct sockaddr*)&sockaddr, sockaddr_len);
} while (res < 0 && errno == EINTR);
if (res < 0)
goto openssl_connect_close;
@@ -446,12 +446,12 @@ int openssl_buffered_accept(int listen_fd, void **handle, struct string *addr) {
if (!OPENSSL_CERT_PATH || !OPENSSL_KEY_PATH)
return -1;
- struct sockaddr address;
+ struct sockaddr_storage address;
socklen_t address_len = sizeof(address);
int con_fd;
do {
- con_fd = accept(listen_fd, &address, &address_len);
+ con_fd = accept(listen_fd, (struct sockaddr*)&address, &address_len);
} while (con_fd == -1 && (errno == EINTR || errno == EAGAIN || errno == EWOULDBLOCK || errno == ENETDOWN || errno == EPROTO || errno == ENOPROTOOPT || errno == EHOSTDOWN || errno == ENONET || errno == EHOSTUNREACH || errno == EOPNOTSUPP || errno == ENETUNREACH));
if (con_fd == -1)