diff --git a/mxshadowsrv.c b/mxshadowsrv.c index aef14a5..f926a44 100644 --- a/mxshadowsrv.c +++ b/mxshadowsrv.c @@ -152,18 +152,13 @@ static void process_client(int socket) { if (ssl == NULL) { psslerror("SSL_new"); return; } SSL_set_fd(ssl, socket); if (ssl_accept_with_timeout(ssl, socket, TIMEOUT) <= 0) { - perror("accept"); return; } char buf[64]; int len = ssl_read_with_timeout(ssl, socket, buf, sizeof(buf), TIMEOUT); - if (len == 0) + if (len <= 0 ) return; - if (len < 0) { - perror("read"); - return; - } if (len == sizeof(buf)) { fprintf(stderr, "identifier to long\n"); SSL_shutdown(ssl); @@ -180,11 +175,8 @@ static void process_client(int socket) { status = pthread_mutex_unlock(&shadow_mutex); if (status != 0) { errno = status; perror("pthread_mutex_unlock"); exit(1);} - if (line_len) { - int status = ssl_write_with_timeout(ssl, socket, line, line_len, TIMEOUT); - if (status == -1) - perror("write"); - } + if (line_len) + ssl_write_with_timeout(ssl, socket, line, line_len, TIMEOUT); SSL_shutdown(ssl); }