Bug#370751: rhythmbox: Audioscrobbler plugin fails handshake with
server
Jim Hague
jim.hague at acm.org
Sun Jun 18 18:05:27 UTC 2006
On Saturday 17 June 2006 02:15, Sven Arvidsson wrote:
> Hi,
>
> Can you try the experimental version of Rhythmbox and see if the bug
> still apply?
Unfortunately the bug still applies :-(
However, I have done some debugging on this and tracked down the cause of the
problem.
My web access is from behind a transparent proxy. In
rb_autoscrobbler_perform(), the libsoup message is created and then set to
HTTP/1.0.
SoupMessage *msg;
msg = soup_message_new (post_data == NULL ? "GET" : "POST", url);
soup_message_set_http_version (msg, SOUP_HTTP_1_0);
One effect of setting HTTP/1.0 is that libsoup doesn't send the HTTP Host:
header with a request. The Audioscrobbler request sent is:
GET /?hs=true&p=1.1&c=rbx&v=0.9.4.1&u=bearcave HTTP/1.0
Of course, this fails at the transparent cache. Remove the call to
soup_message_set_http_version(), HTTP/1.1 is used, the Host: header sent and
everything works fine.
I'm not sure why the Audioscrobbler plugin requires HTTP 1.0. It works fine
for me with HTTP 1.1. That being said, I'm not sure either why libsoup
doesn't send the Host: header with HTTP 1.0, as I understand that it is an
optional header in 1.0.
In the short term, the work-around is to explicitly specify the network proxy
in Gnome.
--
Jim Hague - jim.hague at acm.org Never trust a computer you can't lift.
More information about the Pkg-gnome-maintainers
mailing list