From f7a628d8ad44a457f6f74cbf02db879f4def8864 Mon Sep 17 00:00:00 2001 From: David Woodhouse Date: Mon, 12 Sep 2016 11:55:26 +0100 Subject: [PATCH] Kill DTLS_FREE macro This can move to the library-specific *-dtls.c files too. Signed-off-by: David Woodhouse --- dtls.c | 4 +--- gnutls-dtls.c | 4 ++++ openconnect-internal.h | 1 + openssl-dtls.c | 5 +++++ 4 files changed, 11 insertions(+), 3 deletions(-) diff --git a/dtls.c b/dtls.c index 33e9bae6..d71a89e3 100644 --- a/dtls.c +++ b/dtls.c @@ -61,11 +61,9 @@ #if defined(OPENCONNECT_OPENSSL) #define DTLS_SEND SSL_write #define DTLS_RECV SSL_read -#define DTLS_FREE SSL_free #elif defined(OPENCONNECT_GNUTLS) #define DTLS_SEND gnutls_record_send #define DTLS_RECV gnutls_record_recv -#define DTLS_FREE gnutls_deinit #endif static int connect_dtls_socket(struct openconnect_info *vpninfo) @@ -125,7 +123,7 @@ static int connect_dtls_socket(struct openconnect_info *vpninfo) void dtls_close(struct openconnect_info *vpninfo) { if (vpninfo->dtls_ssl) { - DTLS_FREE(vpninfo->dtls_ssl); + dtls_ssl_free(vpninfo); closesocket(vpninfo->dtls_fd); unmonitor_read_fd(vpninfo, dtls); unmonitor_write_fd(vpninfo, dtls); diff --git a/gnutls-dtls.c b/gnutls-dtls.c index 2bdf8b25..541f186f 100644 --- a/gnutls-dtls.c +++ b/gnutls-dtls.c @@ -263,3 +263,7 @@ void dtls_shutdown(struct openconnect_info *vpninfo) dtls_close(vpninfo); } +void dtls_ssl_free(struct openconnect_info *vpninfo) +{ + gnutls_deinit(vpninfo->dtls_ssl); +} diff --git a/openconnect-internal.h b/openconnect-internal.h index df90e637..b2434203 100644 --- a/openconnect-internal.h +++ b/openconnect-internal.h @@ -800,6 +800,7 @@ intptr_t os_setup_tun(struct openconnect_info *vpninfo); int start_dtls_handshake(struct openconnect_info *vpninfo, int dtls_fd); int dtls_try_handshake(struct openconnect_info *vpninfo); unsigned dtls_set_mtu(struct openconnect_info *vpninfo, unsigned mtu); +void dtls_ssl_free(struct openconnect_info *vpninfo); /* dtls.c */ int dtls_setup(struct openconnect_info *vpninfo, int dtls_attempt_period); diff --git a/openssl-dtls.c b/openssl-dtls.c index a0a09038..2e406484 100644 --- a/openssl-dtls.c +++ b/openssl-dtls.c @@ -416,6 +416,11 @@ void dtls_shutdown(struct openconnect_info *vpninfo) SSL_CTX_free(vpninfo->dtls_ctx); } +void dtls_ssl_free(struct openconnect_info *vpninfo) +{ + SSL_free(vpninfo->dtls_ssl); +} + void append_dtls_ciphers(struct openconnect_info *vpninfo, struct oc_text_buf *buf) { #ifdef HAVE_DTLS12