Ignore SIGPIPE if client closes connection abruptly
Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Paul Dale <pauli@openssl.org> (Merged from https://github.com/openssl/openssl/pull/20678)
This commit is contained in:
parent
f06ef1657a
commit
f309b3f608
@ -14,6 +14,7 @@
|
||||
#include <arpa/inet.h>
|
||||
#include <openssl/ssl.h>
|
||||
#include <openssl/err.h>
|
||||
#include <signal.h>
|
||||
|
||||
static const int server_port = 4433;
|
||||
|
||||
@ -151,6 +152,9 @@ int main(int argc, char **argv)
|
||||
struct sockaddr_in addr;
|
||||
unsigned int addr_len = sizeof(addr);
|
||||
|
||||
/* ignore SIGPIPE so that server can continue running when client pipe closes abruptly */
|
||||
signal(SIGPIPE, SIG_IGN);
|
||||
|
||||
/* Splash */
|
||||
printf("\nsslecho : Simple Echo Client/Server (OpenSSL 3.0.1-dev) : %s : %s\n\n", __DATE__,
|
||||
__TIME__);
|
||||
@ -218,6 +222,8 @@ int main(int argc, char **argv)
|
||||
if ((rxlen = SSL_read(ssl, rxbuf, rxcap)) <= 0) {
|
||||
if (rxlen == 0) {
|
||||
printf("Client closed connection\n");
|
||||
} else {
|
||||
printf("SSL_read returned %d\n", rxlen);
|
||||
}
|
||||
ERR_print_errors_fp(stderr);
|
||||
break;
|
||||
|
Loading…
x
Reference in New Issue
Block a user