]> www.infradead.org Git - users/dwmw2/openconnect.git/commitdiff
Make --disable-ipv6 really do it
authorDavid Woodhouse <David.Woodhouse@intel.com>
Mon, 11 Jun 2012 12:47:24 +0000 (13:47 +0100)
committerDavid Woodhouse <David.Woodhouse@intel.com>
Mon, 11 Jun 2012 12:47:29 +0000 (13:47 +0100)
Previously, it only made us stop *asking* the server for IPv6. If the server
gave us IPv6 addresses anyway on the basis that this is the 21st century and
there's no excuse for pretending otherwise (or, in practice, because my test
server is handing out hard-coded responses without looking at the request),
we were still actually using them.

Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
cstp.c

diff --git a/cstp.c b/cstp.c
index ff0eba3eed7e6380f786dc954cd1081a444aa78c..ab5eba9a45b9a72ee1e91a96ba4ac703a2334b83 100644 (file)
--- a/cstp.c
+++ b/cstp.c
@@ -356,14 +356,16 @@ static int start_cstp_connection(struct openconnect_info *vpninfo)
                        if (mtu > vpninfo->mtu)
                                vpninfo->mtu = mtu;
                } else if (!strcmp(buf + 7, "Address")) {
-                       if (strchr(new_option->value, ':'))
-                               vpninfo->vpn_addr6 = new_option->value;
-                       else
+                       if (strchr(new_option->value, ':')) {
+                               if (!vpninfo->disable_ipv6)
+                                       vpninfo->vpn_addr6 = new_option->value;
+                       } else
                                vpninfo->vpn_addr = new_option->value;
                } else if (!strcmp(buf + 7, "Netmask")) {
-                       if (strchr(new_option->value, ':'))
-                               vpninfo->vpn_netmask6 = new_option->value;
-                       else
+                       if (strchr(new_option->value, ':')) {
+                               if (!vpninfo->disable_ipv6)
+                                       vpninfo->vpn_netmask6 = new_option->value;
+                       } else
                                vpninfo->vpn_netmask = new_option->value;
                } else if (!strcmp(buf + 7, "DNS")) {
                        int j;