I have found a fix thanks to Tibor Boesze.  He fixed an older version
of Ubuntu so I applied the fix to debian.  The only change is in 
/auth-dialog/main.c.

@@ -997,6 +997,7 @@ static int get_config (GHashTable *optio
                if (csd_wrapper && !csd_wrapper[0])
                        csd_wrapper = NULL;

+               openconnect_set_xmlpost(vpninfo, 0);
                openconnect_setup_csd(vpninfo, getuid(), 1, OC3DUP
(csd_wrapper));
        }


His comments were 
* Do not attempt to post XML authentication requests when a cds
     wrapper is configured.

I have never made a patch before but I tried.  I will attach my attempt
at a patch.

Once I make the small change, network-manager-openconnect connects to
my vpn.

I am guessing that the change above is doing what 
--no-xmlpost is doing in the openconnect command line connection that
works.
Description: <short summary of the patch>
 network-manager-openconnect (1.2.2+nxp1) UNRELEASED; urgency=medium
 .
   * Non-maintainer upload.
   * Do not attempt to post XML authentication requests when a cds
     wrapper is configured.
Author: Tibor Bősze <tibor.boe...@gmail.com>

 TODO: Put a short summary on the line above and replace this paragraph
 with a longer explanation of this change. Complete the meta-information
 with other relevant fields (see below for details). To make it easier, the
 information below has been extracted from the changelog. Adjust it or drop
 it.
 .
 network-manager-openconnect (1.2.2-1) unstable; urgency=medium
 .
   [ Aron Xu ]
   * New upstream release.
 .
   [ Mike Miller ]
   * Add dependency on network-manager (>= 1.2) to ensure non-absolute
     plugin paths are handled.
   * No longer need to build with configure option --enable-absolute-
     paths.
Author: Mike Miller <mtmil...@debian.org>

---
The information above should follow the Patch Tagging Guidelines, please
checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here
are templates for supplementary fields that you might want to add:

Origin: <vendor|upstream|other>, <url of original patch>
Bug: <url in upstream bugtracker>
Bug-Debian: https://bugs.debian.org/<bugnumber>
Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber>
Forwarded: <no|not-needed|url proving that it has been forwarded>
Reviewed-By: <name and email of someone who approved the patch>
Last-Update: 2016-11-04

--- network-manager-openconnect-1.2.2.orig/auth-dialog/main.c
+++ network-manager-openconnect-1.2.2/auth-dialog/main.c
@@ -418,7 +418,7 @@ static gboolean ui_add_select (ui_fragme
        if (g_queue_peek_tail(ui_data->form_entries) == data)
                gtk_widget_grab_focus (combo);
        g_signal_connect(G_OBJECT(combo), "changed", G_CALLBACK(combo_changed), 
data);
-       /* Hook up the 'show' signal to ensure that we override prompts on
+       /* Hook up the 'show' signal to ensure that we override prompts on
           UI elements which may be coming later. */
        g_signal_connect(G_OBJECT(combo), "show", G_CALLBACK(combo_changed), 
data);

@@ -524,7 +524,7 @@ static gboolean ui_form (struct oc_auth_
                data = g_slice_new0 (ui_fragment_data);
                data->ui_data = ui_data;
                data->opt = opt;
-
+
                if (opt->type == OC_FORM_OPT_PASSWORD ||
                    opt->type == OC_FORM_OPT_TEXT) {
                        g_mutex_lock (&ui_data->form_mutex);
@@ -567,7 +567,7 @@ static gboolean ui_form (struct oc_auth_
                } else
                        g_slice_free (ui_fragment_data, data);
        }
-
+
        return ui_show(ui_data);
 }

@@ -981,7 +981,7 @@ static int get_config (GHashTable *optio

                openconnect_set_xmlsha1 (vpninfo, (char *)sha1_text, 
strlen(sha1_text) + 1);
                g_checksum_free(sha1);
-
+
                parse_xmlconfig (config_str);
        }

@@ -997,6 +997,7 @@ static int get_config (GHashTable *optio
                if (csd_wrapper && !csd_wrapper[0])
                        csd_wrapper = NULL;

+               openconnect_set_xmlpost(vpninfo, 0);
                openconnect_setup_csd(vpninfo, getuid(), 1, OC3DUP 
(csd_wrapper));
        }

@@ -1528,7 +1529,7 @@ static auth_ui_data *init_ui_data (char

 #if OPENCONNECT_CHECK_VER(1,4)
        openconnect_set_cancel_fd (ui_data->vpninfo, ui_data->cancel_pipes[0]);
-#endif
+#endif

 #if 0
        ui_data->vpninfo->proxy_factory = px_proxy_factory_new();

Reply via email to