Subject: Re: bug#16175: 24.3.50; debbugs-gnu-search fails with "Server response is not an XML document"

From: Michael Albinus <[email-masked]>
Date: Tue, 07 Jan 2014 12:45:18 +0100

Michael Albinus <[email-masked]> writes:

>> Hmm, this works for me, and searching for "albinus" also does.
>>
>> But if I search for "ruby" or "ruby-mode" (likewise, without quotes),
>> it raises the error, every time.
>
> It is not an error in Emacs or debbugs-gnu.el. It seems to be an error
> of the debbugs server on debbugs.gnu.org.
>
> If I raise a search for ruby or alike, the returned HTTP headers are
> wrong:
>
> HTTP/1.1 200 OK
> Date: Fri, 03 Jan 2014 08:48:44 GMT
> Server: Apache/2.2.22 (Debian)
>  </value></item><item><key xsi: type="
> SOAPServer: SOAP::Lite/Perl/0.714
> Content-Length: 1162378
> Keep-Alive: timeout=5, max=100
> Connection: Keep-Alive
> Content-Type: multipart/related; type="text/xml";
> start="<main_envelope>"; boundary="----
>
> With any other search string, the returned HTTP headers look correctly:
>
> HTTP/1.1 200 OK
> Date: Fri, 03 Jan 2014 08:54:55 GMT
> Server: Apache/2.2.22 (Debian)
> SOAPServer: SOAP::Lite/Perl/0.714
> Vary: Accept-Encoding
> Content-Encoding: gzip
> Connection: close
> Content-Type: text/xml; charset=utf-8
>
> I'm worrying about the fourth line, which looks like XML. Maybe it is
> unrelated, and the problem are rather the different Keep-Alive states.
>
> I will continue to investigate on debbugs.gnu.org. This will take time.

Finally, it is an error in the Perl package SOAP::Transport::HTTP::Server.
If the message to be returned contains the regexp
/content-type:.* boundary="([^\"]*)"/ the multipart/related content type
is returned. I've changed that regexp /^content-type:.* boundary="([^\"]*)"/

It shall work now, could you, please, test?

Best regards, Michael.