mirror of https://github.com/openssl/openssl.git
				
				
				
			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 <arpa/inet.h> | ||||||
| #include <openssl/ssl.h> | #include <openssl/ssl.h> | ||||||
| #include <openssl/err.h> | #include <openssl/err.h> | ||||||
|  | #include <signal.h> | ||||||
| 
 | 
 | ||||||
| static const int server_port = 4433; | static const int server_port = 4433; | ||||||
| 
 | 
 | ||||||
|  | @ -151,6 +152,9 @@ int main(int argc, char **argv) | ||||||
|     struct sockaddr_in addr; |     struct sockaddr_in addr; | ||||||
|     unsigned int addr_len = sizeof(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 */ |     /* Splash */ | ||||||
|     printf("\nsslecho : Simple Echo Client/Server (OpenSSL 3.0.1-dev) : %s : %s\n\n", __DATE__, |     printf("\nsslecho : Simple Echo Client/Server (OpenSSL 3.0.1-dev) : %s : %s\n\n", __DATE__, | ||||||
|     __TIME__); |     __TIME__); | ||||||
|  | @ -218,6 +222,8 @@ int main(int argc, char **argv) | ||||||
|                     if ((rxlen = SSL_read(ssl, rxbuf, rxcap)) <= 0) { |                     if ((rxlen = SSL_read(ssl, rxbuf, rxcap)) <= 0) { | ||||||
|                         if (rxlen == 0) { |                         if (rxlen == 0) { | ||||||
|                             printf("Client closed connection\n"); |                             printf("Client closed connection\n"); | ||||||
|  |                         } else { | ||||||
|  |                             printf("SSL_read returned %d\n", rxlen); | ||||||
|                         } |                         } | ||||||
|                         ERR_print_errors_fp(stderr); |                         ERR_print_errors_fp(stderr); | ||||||
|                         break; |                         break; | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue