From ad98151b56ec032ad10b2cb1736da8a745a57988 Mon Sep 17 00:00:00 2001 From: Nikos Mavrogiannopoulos Date: Fri, 10 Oct 2014 14:18:43 +0200 Subject: [PATCH] clear all cookies when doing a reset SSL Signed-off-by: Nikos Mavrogiannopoulos --- http.c | 4 ++-- library.c | 1 + openconnect-internal.h | 2 ++ 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/http.c b/http.c index 0720543..0dc7bcf 100644 --- a/http.c +++ b/http.c @@ -897,7 +897,7 @@ int internal_parse_url(const char *url, char **res_proto, char **res_host, return 0; } -static void clear_cookies(struct openconnect_info *vpninfo) +void openconnect_clear_cookies(struct openconnect_info *vpninfo) { struct oc_vpn_option *opt, *next; @@ -944,7 +944,7 @@ static int handle_redirect(struct openconnect_info *vpninfo) /* Kill the existing connection, and a new one will happen */ openconnect_close_https(vpninfo, 0); - clear_cookies(vpninfo); + openconnect_clear_cookies(vpninfo); vpninfo->redirect_type = REDIR_TYPE_NEWHOST; } else free(host); diff --git a/library.c b/library.c index 25b791c..63100ad 100644 --- a/library.c +++ b/library.c @@ -387,6 +387,7 @@ void openconnect_reset_ssl(struct openconnect_info *vpninfo) free(vpninfo->peer_addr); vpninfo->peer_addr = NULL; } + openconnect_clear_cookies(vpninfo); } int openconnect_parse_url(struct openconnect_info *vpninfo, char *url) diff --git a/openconnect-internal.h b/openconnect-internal.h index 562ce65..6bf9409 100644 --- a/openconnect-internal.h +++ b/openconnect-internal.h @@ -612,6 +612,8 @@ int openconnect_open_utf8(struct openconnect_info *vpninfo, FILE *openconnect_fopen_utf8(struct openconnect_info *vpninfo, const char *fname, const char *mode); +void openconnect_clear_cookies(struct openconnect_info *vpninfo); + /* {gnutls,openssl}.c */ int openconnect_open_https(struct openconnect_info *vpninfo); void openconnect_close_https(struct openconnect_info *vpninfo, int final); -- 1.9.3