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