Don't clear vpninfo->dtls_cipher on CSTP reconnect
authorDavid Woodhouse <David.Woodhouse@intel.com>
Tue, 23 Jun 2009 21:42:19 +0000 (22:42 +0100)
committerDavid Woodhouse <David.Woodhouse@intel.com>
Tue, 23 Jun 2009 21:42:19 +0000 (22:42 +0100)
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
cstp.c
dtls.c

diff --git a/cstp.c b/cstp.c
index 2d71d4c..a9c44db 100644 (file)
--- a/cstp.c
+++ b/cstp.c
@@ -81,7 +81,6 @@ static int start_cstp_connection(struct openconnect_info *vpninfo)
        vpninfo->vpn_addr = vpninfo->vpn_netmask = NULL;
        vpninfo->cstp_options = vpninfo->dtls_options = NULL;
        vpninfo->vpn_domain = vpninfo->vpn_proxy_pac = NULL;
-       vpninfo->dtls_cipher = NULL;
 
        for (i=0; i<3; i++)
                vpninfo->vpn_dns[i] = vpninfo->vpn_nbns[i] = NULL;
diff --git a/dtls.c b/dtls.c
index ea212d2..f88c3f5 100644 (file)
--- a/dtls.c
+++ b/dtls.c
@@ -342,7 +342,7 @@ int setup_dtls(struct openconnect_info *vpninfo)
                } else if (!strcmp(dtls_opt->option + 7, "Rekey-Time")) {
                        vpninfo->dtls_times.rekey = atol(dtls_opt->value);
                } else if (!strcmp(dtls_opt->option + 7, "CipherSuite")) {
-                       vpninfo->dtls_cipher = dtls_opt->value;
+                       vpninfo->dtls_cipher = strdup(dtls_opt->value);
                }
 
                dtls_opt = dtls_opt->next;