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
"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
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
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