tags 594990 - moreinfo
reassign 594990 libhttpclient-ruby1.8 2.1.5.2-2
affects 594990 + apt-listbugs
retitle 594990 libhttpclient-ruby1.8: invalid HTTP header on some locales
thanks


On Thu, 02 Sep 2010 09:43:46 +0200 Paolo Sala wrote:

> Francesco Poli scrisse in data 01/09/2010 23:53:
> > Hence, it seems that your problem is triggered by the it_IT.UTF8
> > locale...
> >
> > Nonetheless, I've been trying to reproduce the bug on a test system
> > [...]
> > In summary, on my test system, apt-listbugs seems to work flawlessly
> > with different locale settings...
> >   
> Hi Francesco, I've tried to change the locale settings reconfiguring
> locales package and I've failed... this is the output:
[...]

I suggest you don't change your general locale settings (I mean, not
just for this bug, at least!).
Instead, I think you should temporary work around this bug, by editing
/etc/apt/apt.conf.d/10apt-listbugs, as I previously suggested, and wait
for this bug to be really fixed!

For reasons explained below, I think the workaround may be made even
less invasive: when you edit /etc/apt/apt.conf.d/10apt-listbugs , you
may change the line

DPkg::Pre-Install-Pkgs {"/usr/sbin/apt-listbugs apt || exit 10";};

into

DPkg::Pre-Install-Pkgs {"env LC_NUMERIC=C /usr/sbin/apt-listbugs apt || exit 
10";};

This should be enough to temporary work around the bug, while letting
apt-listbugs speak in your language of choice!
Please test it out and see if it works...


> > Since I am still unable to reproduce the bug, it may still be useful to
> > see the detailed errors on *your* system.
> >
> > Please issue the following command (this time without altering your
> > italian locale settings):
> >
> > $ apt-listbugs -d list apt-listbugs
> >
> > and paste *the whole* output in your reply.
> >   
> 
> This is the whole output:
> 
> $ apt-listbugs -d list apt-listbugs
> Lettura dei campi dei pacchetti... Fatto
> Lettura dello stato dei pacchetti... Fatto
> Recupero delle segnalazioni di bug... 0%Exception `NoMethodError' at
> /usr/lib/ruby/1.8/rational.rb:78 - undefined method `gcd' for
> Rational(1, 2):Rational
> Exception `LoadError' at /usr/lib/ruby/1.8/xsd/xmlparser/xmlparser.rb:20
> - no such file to load -- xml/encoding-ja
> Set XSD::XMLParser::XMLParser as XML processor.
> Exception `LoadError' at /usr/lib/ruby/1.8/httpclient/auth.rb:16 - no
> such file to load -- net/ntlm
> Exception `LoadError' at /usr/lib/ruby/1.8/httpclient/auth.rb:23 - no
> such file to load -- win32/sspi
> Wire dump:
> 
> = Request
> 
> ! CONNECT TO bugs.debian.org:80
> ! CONNECTION ESTABLISHED
> POST /cgi-bin/soap.cgi HTTP/1,1
> SOAPAction: ""
> Content-Type: text/xml; charset=utf-8
> User-Agent: SOAP4R/1.5.5 (httpclient.rb/280, ruby 1.8.7 (2010-08-16)
> [i486-linux])
[...]

It seems that the problem lies in the HTTP headers.
Please note that "HTTP/1,1" ...
It should be "HTTP/1.1" instead!
The HTTP version should be in integer-dot-integer form, rather than in
integer-comma-integer form.

> 
> = Response
> 
> HTTP/1.0 400 Bad Request
> Server: squid/2.6.STABLE21
> Date: Thu, 02 Sep 2010 06:44:49 GMT
> Content-Type: text/html
> Content-Length: 2890
> Expires: Thu, 02 Sep 2010 06:44:49 GMT
> X-Squid-Error: ERR_INVALID_REQ 0
> Proxy-Connection: close
[...]
> <BR clear="all">
> <HR noshade size="1px">
> <ADDRESS>
> Generated Thu, 02 Sep 2010 06:44:49 GMT by nethsecurity.csa.lan
> (squid/2.6.STABLE21)
> </ADDRESS>
> </BODY></HTML>
> ! CONNECTION CLOSED

You seem to access the Internet through a transparent HTTP proxy (named
nethsecurity.csa.lan on your local network).
The wrong HTTP header makes this proxy angry, causing it to close the
connection.

See also http://bugs.debian.org/92175 where a similar problem was found
in gweather, again behind a squid proxy.


So, in summary: the problem seems to be that, with some locales (where
the decimal separator is a comma, rather than a point),
libhttpclient-ruby1.8 creates wrong HTTP headers.
It seems to me that the HTTP header generating code is in
/usr/lib/ruby/1.8/httpclient/http.rb

Hence, I am reassigning the bug to the appropriate package.

Finally, I have to admit that I am still unable to reproduce the bug:
I've been trying to get that "HTTP/1,1" header in apt-listbugs debug
wire dump, but no success yet...   :-(
This may mean that some other condition must be satisfied in order to
trigger the bug that Paolo is experiencing (maybe being behind a
transparent proxy is essential?).

I hope libhttpclient-ruby1.8 experts may pinpoint the bug and fix it
soon.

Bye.

-- 
 http://www.inventati.org/frx/progs/scripts/pdebuild-hooks.html
 Need some pdebuild hook scripts?
..................................................... Francesco Poli .
 GnuPG key fpr == C979 F34B 27CE 5CD8 DC12  31B5 78F4 279B DD6D FCF4

Attachment: pgppTyM6YmK9S.pgp
Description: PGP signature

Reply via email to