Bug 141819 - amarok_proxy.rb use HTTP/1.1 in its headers but can't handle chunked response
Summary: amarok_proxy.rb use HTTP/1.1 in its headers but can't handle chunked response
Status: RESOLVED FIXED
Alias: None
Product: amarok
Classification: Applications
Component: general (show other bugs)
Version: 1.4.5
Platform: unspecified Linux
: NOR normal
Target Milestone: ---
Assignee: Amarok Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-02-17 13:09 UTC by solsTiCe
Modified: 2007-03-05 17:24 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments
patch to use HTTP 1.0 protocol (818 bytes, patch)
2007-02-18 12:22 UTC, solsTiCe
Details

Note You need to log in before you can comment on or make changes to this bug.
Description solsTiCe 2007-02-17 13:09:12 UTC
Version:           1.4.5 (using KDE KDE 3.5.6)
Installed from:    Unlisted Binary Package
OS:                Linux

amarok_proxy.rb uses HTTP/1.1 headers to its request to the proxy it might use. but if that proxy uses chunked response, it can't handle them. (chunked response which belong to HTTP 1.1 protocol)

so when i use bfilter ad filtering proxy in my konqueror configuration, i got a bad sound like described in http://bugs.kde.org/show_bug.cgi?id=135951

but that's not because of bfilter but because of amarok_proxy.rb

if i change the 2 instance of 'HTTP/1.1' in amarok_proxy.rb into 'HTTP/1.0' i t works nicely. 

see the thread there too http://kyeu.info/proxo/forums/showthread.php?tid=931
Comment 1 solsTiCe 2007-02-18 10:42:45 UTC
"All HTTP/1.1 applications MUST be able to receive and decode the "chunked" transfer-coding, and MUST ignore chunk-extension extensions they do not understand."
in http://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.6.1
Comment 2 solsTiCe 2007-02-18 12:22:27 UTC
Created attachment 19726 [details]
patch to use HTTP 1.0 protocol

do not pretend to be a HTTP 1.1 client unless we implement the FULL protocol
Comment 3 Dan Meltzer 2007-03-05 17:24:31 UTC
SVN commit 639662 by dmeltzer:

make amarok_proxy.rb use HTTP/1.0 instead of HTTP/1.1 because we don't support chunked headers; which HTTP/1.1 requires.
Patch By solstice.dhiver@laposte.net
BUG: 141819

 M  +4 -2      ChangeLog  
 M  +2 -2      src/amarok_proxy.rb  


--- branches/stable/extragear/multimedia/amarok/ChangeLog #639661:639662
@@ -11,8 +11,10 @@
   BUGFIXES:
     * Fix detection of vfat devices on FreeBSD. (BR 141614)
     * Right-click on volume slider would change the volume. (BR 141672)
-    * Fix Quadratic loading in Playlists (BR 142255) Patch by Ovy
-    <ovy@alum.mit.edu>
+    * Fix Quadratic loading in Playlists Patch by Ovy
+    <ovy@alum.mit.edu> (BR 142255)
+    * Make amarok_proxy.rb use HTTP/1.0 as we don't support chunked responses.
+    Patch by solsTiCE <solstice.dhiver@laposte.net> (BR 141819)
 
 
 VERSION 1.4.5
--- branches/stable/extragear/multimedia/amarok/src/amarok_proxy.rb #639661:639662
@@ -190,7 +190,7 @@
     else
       url = "#{remote_uri.path || '/'}?#{remote_uri.query}"
     end
-    get = "GET #{url} HTTP/1.1" + ENDL
+    get = "GET #{url} HTTP/1.0" + ENDL
     get += "Host: #{remote_uri.host}:#{remote_uri.port}" + ENDL + ENDL
   end
 
@@ -205,7 +205,7 @@
 
   def get_request( remote_uri, via_proxy )
     # via_proxy ignored for now
-    get = "GET #{remote_uri.path || '/'}?#{remote_uri.query} HTTP/1.1" + ENDL
+    get = "GET #{remote_uri.path || '/'}?#{remote_uri.query} HTTP/1.0" + ENDL
     get += "Accept: */*" + ENDL
     get += "User-Agent: iTunes/4.6 (Windows; N)" + ENDL
     get += "Client-DAAP-Version: 3.0" + ENDL