]> www.infradead.org Git - users/dwmw2/openconnect.git/commitdiff
use check_address_sanity for F5 too
authorDaniel Lenski <dlenski@gmail.com>
Wed, 20 May 2020 01:45:51 +0000 (18:45 -0700)
committerDaniel Lenski <dlenski@gmail.com>
Mon, 29 Mar 2021 03:13:30 +0000 (20:13 -0700)
Signed-off-by: Daniel Lenski <dlenski@gmail.com>
f5.c

diff --git a/f5.c b/f5.c
index 976a66f13d30967c158554ead1cc3e44ae370b23..4b2e828137054b1d0e614ea52bb5ee5e232a64bc 100644 (file)
--- a/f5.c
+++ b/f5.c
@@ -333,9 +333,10 @@ int f5_connect(struct openconnect_info *vpninfo)
        char *sid = NULL, *ur_z = NULL;
        int ipv4 = -1, ipv6 = -1, hdlc = -1;
        char *res_buf = NULL;
-
-       /* XXX: We should do what cstp_connect() does to check that configuration
-          hasn't changed on a reconnect. */
+       const char *old_addr = vpninfo->ip_info.addr;
+       const char *old_netmask = vpninfo->ip_info.netmask;
+       const char *old_addr6 = vpninfo->ip_info.addr6;
+       const char *old_netmask6 = vpninfo->ip_info.netmask6;
 
        if (!vpninfo->cookies && vpninfo->cookie)
                http_add_cookie(vpninfo, "MRHSession", vpninfo->cookie, 1);
@@ -415,6 +416,10 @@ int f5_connect(struct openconnect_info *vpninfo)
                goto out;
        }
 
+       ret = check_address_sanity(vpninfo, old_addr, old_netmask, old_addr6, old_netmask6);
+       if (ret < 0)
+               goto out;
+
        ret = openconnect_ppp_new(vpninfo, hdlc ? PPP_ENCAP_F5_HDLC : PPP_ENCAP_F5, ipv4, ipv6);
 
  out: