Index: src/ne_xml.c =================================================================== --- src/ne_xml.c (revision 313) +++ src/ne_xml.c (working copy) @@ -235,22 +235,30 @@ elm->default_ns = ne_strdup(atts[n+1]); } else if (strncmp(atts[n], "xmlns:", 6) == 0) { struct namespace *ns; - - /* Reject some invalid NCNames as namespace prefix, and an - * empty URI as the namespace URI */ - if (invalid_ncname(atts[n] + 6) || atts[n+1][0] == '\0') { - ne_snprintf(p->error, ERR_SIZE, - ("XML parse error at line %d: invalid namespace " - "declaration"), ne_xml_currentline(p)); - return -1; - } + if((atts[n]+6)[0] == '\0'){ + //AVM + NE_DEBUG(NE_DBG_XML, "XML: invalid namespace - missing prefix\n"); + /* Ignore missing prefix for namespace - hack for box.net which + * server sends invalid webdav-messages */ + elm->default_ns = ne_strdup(atts[n+1]); + } + else{ + /* Reject some invalid NCNames as namespace prefix, and an + * empty URI as the namespace URI */ + if (invalid_ncname(atts[n] + 6) || atts[n+1][0] == '\0') { + ne_snprintf(p->error, ERR_SIZE, + ("XML parse error at line %d: invalid namespace " + "declaration : -%s-"), ne_xml_currentline(p), atts[n]); + return -1; + } - /* New namespace scope */ - ns = ne_calloc(sizeof(*ns)); - ns->next = elm->nspaces; - elm->nspaces = ns; - ns->name = ne_strdup(atts[n]+6); /* skip the xmlns= */ - ns->uri = ne_strdup(atts[n+1]); + /* New namespace scope */ + ns = ne_calloc(sizeof(*ns)); + ns->next = elm->nspaces; + elm->nspaces = ns; + ns->name = ne_strdup(atts[n]+6); /* skip the xmlns= */ + ns->uri = ne_strdup(atts[n+1]); + } } } Index: src/ne_xmlreq.c =================================================================== --- src/ne_xmlreq.c (revision 313) +++ src/ne_xmlreq.c (working copy) @@ -35,6 +35,7 @@ { ne_set_error(sess, _("Could not parse response: %s"), ne_xml_get_error(parser)); + NE_DEBUG(NE_DBG_AVM, "XML parse error"); ne_close_connection(sess); return NE_ERROR; }