Server admins have been observed to put bare ampersands into strings,
which libxml wants to treat as entities.
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
form = calloc(1, sizeof(*form));
if (!form)
return -ENOMEM;
-
- xml_doc = xmlReadMemory(response, strlen(response), "noname.xml", NULL, 0);
+ xml_doc = xmlReadMemory(response, strlen(response), "noname.xml", NULL,
+ XML_PARSE_NOERROR|XML_PARSE_RECOVER);
if (!xml_doc) {
vpn_progress(vpninfo, PRG_ERR,
_("Failed to parse server response\n"));
<ul>
<li><b>OpenConnect HEAD</b>
<ul>
+ <li>Be more permissive in parsing XML forms.</li>
<li>Use original URL when falling back to non-XML POST mode.</li>
<li>Add <tt>--no-xmlpost</tt> option to revert to older, compatible behaviour.</li>
<li>Close connection before falling back to non-xmlpost mode <a href="https://bugzilla.redhat.com/show_bug.cgi?id=964650"><i>(RH#964650)</i></a>.</li>