On Sat, Dec 7, 2013 at 8:29 PM, Antonio Borneo <borneo.antonio at gmail.com> wrote: > --- a/auth.c > +++ b/auth.c > @@ -454,7 +454,8 @@ static int parse_auth_node(struct openconnect_info *vpninfo, xmlNode *xml_node, > } else if (!vpninfo->csd_scriptname && xmlnode_is_named(xml_node, "csd")) { > xmlnode_get_prop(xml_node, "token", &vpninfo->csd_token); > xmlnode_get_prop(xml_node, "ticket", &vpninfo->csd_ticket); > - } else if (!vpninfo->csd_scriptname && xmlnode_is_named(xml_node, vpninfo->csd_xmltag)) { > + } > + if (!vpninfo->csd_scriptname && xmlnode_is_named(xml_node, vpninfo->csd_xmltag)) { > xmlnode_get_prop(xml_node, "stuburl", &vpninfo->csd_stuburl); > xmlnode_get_prop(xml_node, "starturl", &vpninfo->csd_starturl); > xmlnode_get_prop(xml_node, "waiturl", &vpninfo->csd_waiturl); Could you please update the comments above the function to reflect the new behavior? They currently say "ignore" for the Windows csd node. Also, it would be good to test this in conjunction with my proposed Android/iOS changes, which touch the same function: https://github.com/cernekee/openconnect/commit/8826e8430cf5695ae8e42ca2b81969a9ecbd00a6 Are you using this on Linux/UNIX with a wrapper script, or actually running openconnect on Windows using the native CSD *.exe files? Thanks.