mirror of
https://github.com/openssl/openssl.git
synced 2024-12-09 05:51:54 +08:00
Remove perror() usage in library
The dgram code used perror extensively. Keep the `perror()` in the allocation code; it's used for debugging only. Keep the `perror()`s in the demos, tests and apps. Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Hugo Landau <hlandau@openssl.org> (Merged from https://github.com/openssl/openssl/pull/19148)
This commit is contained in:
parent
18274e1d6e
commit
5121783b49
@ -295,7 +295,8 @@ static void dgram_adjust_rcv_timeout(BIO *b)
|
||||
int sz = sizeof(timeout);
|
||||
if (getsockopt(b->num, SOL_SOCKET, SO_RCVTIMEO,
|
||||
(void *)&timeout, &sz) < 0) {
|
||||
perror("getsockopt");
|
||||
ERR_raise_data(ERR_LIB_SYS, get_last_socket_error(),
|
||||
"calling getsockopt()");
|
||||
} else {
|
||||
data->socket_timeout.tv_sec = timeout / 1000;
|
||||
data->socket_timeout.tv_usec = (timeout % 1000) * 1000;
|
||||
@ -303,9 +304,10 @@ static void dgram_adjust_rcv_timeout(BIO *b)
|
||||
# else
|
||||
socklen_t sz = sizeof(data->socket_timeout);
|
||||
if (getsockopt(b->num, SOL_SOCKET, SO_RCVTIMEO,
|
||||
&(data->socket_timeout), &sz) < 0) {
|
||||
perror("getsockopt");
|
||||
} else
|
||||
&(data->socket_timeout), &sz) < 0)
|
||||
ERR_raise_data(ERR_LIB_SYS, get_last_socket_error(),
|
||||
"calling getsockopt()");
|
||||
else
|
||||
OPENSSL_assert(sz <= sizeof(data->socket_timeout));
|
||||
# endif
|
||||
|
||||
@ -339,14 +341,14 @@ static void dgram_adjust_rcv_timeout(BIO *b)
|
||||
# ifdef OPENSSL_SYS_WINDOWS
|
||||
timeout = timeleft.tv_sec * 1000 + timeleft.tv_usec / 1000;
|
||||
if (setsockopt(b->num, SOL_SOCKET, SO_RCVTIMEO,
|
||||
(void *)&timeout, sizeof(timeout)) < 0) {
|
||||
perror("setsockopt");
|
||||
}
|
||||
(void *)&timeout, sizeof(timeout)) < 0)
|
||||
ERR_raise_data(ERR_LIB_SYS, get_last_socket_error(),
|
||||
"calling setsockopt()");
|
||||
# else
|
||||
if (setsockopt(b->num, SOL_SOCKET, SO_RCVTIMEO, &timeleft,
|
||||
sizeof(struct timeval)) < 0) {
|
||||
perror("setsockopt");
|
||||
}
|
||||
sizeof(struct timeval)) < 0)
|
||||
ERR_raise_data(ERR_LIB_SYS, get_last_socket_error(),
|
||||
"calling setsockopt()");
|
||||
# endif
|
||||
}
|
||||
}
|
||||
@ -385,15 +387,14 @@ static void dgram_reset_rcv_timeout(BIO *b)
|
||||
int timeout = data->socket_timeout.tv_sec * 1000 +
|
||||
data->socket_timeout.tv_usec / 1000;
|
||||
if (setsockopt(b->num, SOL_SOCKET, SO_RCVTIMEO,
|
||||
(void *)&timeout, sizeof(timeout)) < 0) {
|
||||
perror("setsockopt");
|
||||
}
|
||||
(void *)&timeout, sizeof(timeout)) < 0)
|
||||
ERR_raise_data(ERR_LIB_SYS, get_last_socket_error(),
|
||||
"calling setsockopt()");
|
||||
# else
|
||||
if (setsockopt
|
||||
(b->num, SOL_SOCKET, SO_RCVTIMEO, &(data->socket_timeout),
|
||||
sizeof(struct timeval)) < 0) {
|
||||
perror("setsockopt");
|
||||
}
|
||||
if (setsockopt(b->num, SOL_SOCKET, SO_RCVTIMEO,
|
||||
&(data->socket_timeout), sizeof(struct timeval)) < 0)
|
||||
ERR_raise_data(ERR_LIB_SYS, get_last_socket_error(),
|
||||
"calling setsockopt()");
|
||||
# endif
|
||||
}
|
||||
# endif
|
||||
@ -615,14 +616,16 @@ static long dgram_ctrl(BIO *b, int cmd, long num, void *ptr)
|
||||
sockopt_val = IP_PMTUDISC_DO;
|
||||
if ((ret = setsockopt(b->num, IPPROTO_IP, IP_MTU_DISCOVER,
|
||||
&sockopt_val, sizeof(sockopt_val))) < 0)
|
||||
perror("setsockopt");
|
||||
ERR_raise_data(ERR_LIB_SYS, get_last_socket_error(),
|
||||
"calling setsockopt()");
|
||||
break;
|
||||
# if OPENSSL_USE_IPV6 && defined(IPV6_MTU_DISCOVER) && defined(IPV6_PMTUDISC_DO)
|
||||
case AF_INET6:
|
||||
sockopt_val = IPV6_PMTUDISC_DO;
|
||||
if ((ret = setsockopt(b->num, IPPROTO_IPV6, IPV6_MTU_DISCOVER,
|
||||
&sockopt_val, sizeof(sockopt_val))) < 0)
|
||||
perror("setsockopt");
|
||||
ERR_raise_data(ERR_LIB_SYS, get_last_socket_error(),
|
||||
"calling setsockopt()");
|
||||
break;
|
||||
# endif
|
||||
default:
|
||||
@ -742,18 +745,16 @@ static long dgram_ctrl(BIO *b, int cmd, long num, void *ptr)
|
||||
{
|
||||
struct timeval *tv = (struct timeval *)ptr;
|
||||
int timeout = tv->tv_sec * 1000 + tv->tv_usec / 1000;
|
||||
if (setsockopt(b->num, SOL_SOCKET, SO_RCVTIMEO,
|
||||
(void *)&timeout, sizeof(timeout)) < 0) {
|
||||
perror("setsockopt");
|
||||
ret = -1;
|
||||
}
|
||||
if ((ret = setsockopt(b->num, SOL_SOCKET, SO_RCVTIMEO,
|
||||
(void *)&timeout, sizeof(timeout))) < 0)
|
||||
ERR_raise_data(ERR_LIB_SYS, get_last_socket_error(),
|
||||
"calling setsockopt()");
|
||||
}
|
||||
# else
|
||||
if (setsockopt(b->num, SOL_SOCKET, SO_RCVTIMEO, ptr,
|
||||
sizeof(struct timeval)) < 0) {
|
||||
perror("setsockopt");
|
||||
ret = -1;
|
||||
}
|
||||
if ((ret = setsockopt(b->num, SOL_SOCKET, SO_RCVTIMEO, ptr,
|
||||
sizeof(struct timeval))) < 0)
|
||||
ERR_raise_data(ERR_LIB_SYS, get_last_socket_error(),
|
||||
"calling setsockopt()");
|
||||
# endif
|
||||
break;
|
||||
case BIO_CTRL_DGRAM_GET_RECV_TIMEOUT:
|
||||
@ -764,10 +765,10 @@ static long dgram_ctrl(BIO *b, int cmd, long num, void *ptr)
|
||||
struct timeval *tv = (struct timeval *)ptr;
|
||||
|
||||
sz = sizeof(timeout);
|
||||
if (getsockopt(b->num, SOL_SOCKET, SO_RCVTIMEO,
|
||||
(void *)&timeout, &sz) < 0) {
|
||||
perror("getsockopt");
|
||||
ret = -1;
|
||||
if ((ret = getsockopt(b->num, SOL_SOCKET, SO_RCVTIMEO,
|
||||
(void *)&timeout, &sz)) < 0) {
|
||||
ERR_raise_data(ERR_LIB_SYS, get_last_socket_error(),
|
||||
"calling getsockopt()");
|
||||
} else {
|
||||
tv->tv_sec = timeout / 1000;
|
||||
tv->tv_usec = (timeout % 1000) * 1000;
|
||||
@ -775,10 +776,10 @@ static long dgram_ctrl(BIO *b, int cmd, long num, void *ptr)
|
||||
}
|
||||
# else
|
||||
socklen_t sz = sizeof(struct timeval);
|
||||
if (getsockopt(b->num, SOL_SOCKET, SO_RCVTIMEO,
|
||||
ptr, &sz) < 0) {
|
||||
perror("getsockopt");
|
||||
ret = -1;
|
||||
if ((ret = getsockopt(b->num, SOL_SOCKET, SO_RCVTIMEO,
|
||||
ptr, &sz)) < 0) {
|
||||
ERR_raise_data(ERR_LIB_SYS, get_last_socket_error(),
|
||||
"calling getsockopt()");
|
||||
} else {
|
||||
OPENSSL_assert(sz <= sizeof(struct timeval));
|
||||
ret = (int)sz;
|
||||
@ -793,18 +794,17 @@ static long dgram_ctrl(BIO *b, int cmd, long num, void *ptr)
|
||||
{
|
||||
struct timeval *tv = (struct timeval *)ptr;
|
||||
int timeout = tv->tv_sec * 1000 + tv->tv_usec / 1000;
|
||||
if (setsockopt(b->num, SOL_SOCKET, SO_SNDTIMEO,
|
||||
(void *)&timeout, sizeof(timeout)) < 0) {
|
||||
perror("setsockopt");
|
||||
ret = -1;
|
||||
}
|
||||
|
||||
if ((ret = setsockopt(b->num, SOL_SOCKET, SO_SNDTIMEO,
|
||||
(void *)&timeout, sizeof(timeout))) < 0)
|
||||
ERR_raise_data(ERR_LIB_SYS, get_last_socket_error(),
|
||||
"calling setsockopt()");
|
||||
}
|
||||
# else
|
||||
if (setsockopt(b->num, SOL_SOCKET, SO_SNDTIMEO, ptr,
|
||||
sizeof(struct timeval)) < 0) {
|
||||
perror("setsockopt");
|
||||
ret = -1;
|
||||
}
|
||||
if ((ret = setsockopt(b->num, SOL_SOCKET, SO_SNDTIMEO, ptr,
|
||||
sizeof(struct timeval))) < 0)
|
||||
ERR_raise_data(ERR_LIB_SYS, get_last_socket_error(),
|
||||
"calling setsockopt()");
|
||||
# endif
|
||||
break;
|
||||
case BIO_CTRL_DGRAM_GET_SEND_TIMEOUT:
|
||||
@ -815,10 +815,10 @@ static long dgram_ctrl(BIO *b, int cmd, long num, void *ptr)
|
||||
struct timeval *tv = (struct timeval *)ptr;
|
||||
|
||||
sz = sizeof(timeout);
|
||||
if (getsockopt(b->num, SOL_SOCKET, SO_SNDTIMEO,
|
||||
(void *)&timeout, &sz) < 0) {
|
||||
perror("getsockopt");
|
||||
ret = -1;
|
||||
if ((ret = getsockopt(b->num, SOL_SOCKET, SO_SNDTIMEO,
|
||||
(void *)&timeout, &sz)) < 0) {
|
||||
ERR_raise_data(ERR_LIB_SYS, get_last_socket_error(),
|
||||
"calling getsockopt()");
|
||||
} else {
|
||||
tv->tv_sec = timeout / 1000;
|
||||
tv->tv_usec = (timeout % 1000) * 1000;
|
||||
@ -826,10 +826,11 @@ static long dgram_ctrl(BIO *b, int cmd, long num, void *ptr)
|
||||
}
|
||||
# else
|
||||
socklen_t sz = sizeof(struct timeval);
|
||||
if (getsockopt(b->num, SOL_SOCKET, SO_SNDTIMEO,
|
||||
ptr, &sz) < 0) {
|
||||
perror("getsockopt");
|
||||
ret = -1;
|
||||
|
||||
if ((ret = getsockopt(b->num, SOL_SOCKET, SO_SNDTIMEO,
|
||||
ptr, &sz)) < 0) {
|
||||
ERR_raise_data(ERR_LIB_SYS, get_last_socket_error(),
|
||||
"calling getsockopt()");
|
||||
} else {
|
||||
OPENSSL_assert(sz <= sizeof(struct timeval));
|
||||
ret = (int)sz;
|
||||
@ -868,24 +869,21 @@ static long dgram_ctrl(BIO *b, int cmd, long num, void *ptr)
|
||||
case AF_INET:
|
||||
# if defined(IP_DONTFRAG)
|
||||
if ((ret = setsockopt(b->num, IPPROTO_IP, IP_DONTFRAG,
|
||||
&sockopt_val, sizeof(sockopt_val))) < 0) {
|
||||
perror("setsockopt");
|
||||
ret = -1;
|
||||
}
|
||||
&sockopt_val, sizeof(sockopt_val))) < 0)
|
||||
ERR_raise_data(ERR_LIB_SYS, get_last_socket_error(),
|
||||
"calling setsockopt()");
|
||||
# elif defined(OPENSSL_SYS_LINUX) && defined(IP_MTU_DISCOVER) && defined (IP_PMTUDISC_PROBE)
|
||||
if ((sockopt_val = num ? IP_PMTUDISC_PROBE : IP_PMTUDISC_DONT),
|
||||
(ret = setsockopt(b->num, IPPROTO_IP, IP_MTU_DISCOVER,
|
||||
&sockopt_val, sizeof(sockopt_val))) < 0) {
|
||||
perror("setsockopt");
|
||||
ret = -1;
|
||||
}
|
||||
&sockopt_val, sizeof(sockopt_val))) < 0)
|
||||
ERR_raise_data(ERR_LIB_SYS, get_last_socket_error(),
|
||||
"calling setsockopt()");
|
||||
# elif defined(OPENSSL_SYS_WINDOWS) && defined(IP_DONTFRAGMENT)
|
||||
if ((ret = setsockopt(b->num, IPPROTO_IP, IP_DONTFRAGMENT,
|
||||
(const char *)&sockopt_val,
|
||||
sizeof(sockopt_val))) < 0) {
|
||||
perror("setsockopt");
|
||||
ret = -1;
|
||||
}
|
||||
sizeof(sockopt_val))) < 0)
|
||||
ERR_raise_data(ERR_LIB_SYS, get_last_socket_error(),
|
||||
"calling setsockopt()");
|
||||
# else
|
||||
ret = -1;
|
||||
# endif
|
||||
@ -895,17 +893,16 @@ static long dgram_ctrl(BIO *b, int cmd, long num, void *ptr)
|
||||
# if defined(IPV6_DONTFRAG)
|
||||
if ((ret = setsockopt(b->num, IPPROTO_IPV6, IPV6_DONTFRAG,
|
||||
(const void *)&sockopt_val,
|
||||
sizeof(sockopt_val))) < 0) {
|
||||
perror("setsockopt");
|
||||
ret = -1;
|
||||
}
|
||||
sizeof(sockopt_val))) < 0)
|
||||
ERR_raise_data(ERR_LIB_SYS, get_last_socket_error(),
|
||||
"calling setsockopt()");
|
||||
|
||||
# elif defined(OPENSSL_SYS_LINUX) && defined(IPV6_MTUDISCOVER)
|
||||
if ((sockopt_val = num ? IP_PMTUDISC_PROBE : IP_PMTUDISC_DONT),
|
||||
(ret = setsockopt(b->num, IPPROTO_IPV6, IPV6_MTU_DISCOVER,
|
||||
&sockopt_val, sizeof(sockopt_val))) < 0) {
|
||||
perror("setsockopt");
|
||||
ret = -1;
|
||||
}
|
||||
&sockopt_val, sizeof(sockopt_val))) < 0)
|
||||
ERR_raise_data(ERR_LIB_SYS, get_last_socket_error(),
|
||||
"calling setsockopt()");
|
||||
# else
|
||||
ret = -1;
|
||||
# endif
|
||||
@ -964,6 +961,9 @@ static long dgram_ctrl(BIO *b, int cmd, long num, void *ptr)
|
||||
ret = 0;
|
||||
break;
|
||||
}
|
||||
/* Normalize if error */
|
||||
if (ret < 0)
|
||||
ret = -1;
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -2813,7 +2813,9 @@ static void get_current_time(struct timeval *t)
|
||||
t->tv_usec = ((int)(now_ul % 10000000)) / 10;
|
||||
# else
|
||||
if (gettimeofday(t, NULL) < 0)
|
||||
perror("gettimeofday");
|
||||
ERR_raise_data(ERR_LIB_SYS, errno,
|
||||
"calling gettimeofday");
|
||||
|
||||
# endif
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user