X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=src%2Fconnection.c;h=520ce40e031a0052581a7c2dc27e93c649fbf74f;hb=b806d4f0c51976d6fe52728f03d9d702dc8ab842;hp=26947ffdbfd60968e3c0b229b188161a2767ba8f;hpb=d232e106feb871ff63736df76b708eb684d31b72;p=tlsproxy%2Ftlsproxy.git diff --git a/src/connection.c b/src/connection.c index 26947ff..520ce40 100644 --- a/src/connection.c +++ b/src/connection.c @@ -237,12 +237,13 @@ void handle_connection(int client_socket) { LOG(LOG_DEBUG, "finished transferring data"); out: - /* Close TLS sessions if necessary. */ + /* Close TLS sessions if necessary. Use GNUTLS_SHUT_RDWR so the data is + * reliable transmitted. */ if (0 != server_session_started) { - gnutls_bye(server_session, GNUTLS_SHUT_WR); + gnutls_bye(server_session, GNUTLS_SHUT_RDWR); } if (0 != client_session_started) { - gnutls_bye(client_session, GNUTLS_SHUT_WR); + gnutls_bye(client_session, GNUTLS_SHUT_RDWR); } if (0 != server_session_init) { gnutls_deinit(server_session);