|
![]() |
#1 |
Junior Member
|
Ogg Streams Won't Authenticate
This bug was observed using Winamp 5.04 and apache 2.0.49.
To simply create this bug, I have put two files in a web accessible directory on my web server. One of them is an mp3 and the other is an ogg file. The directory is protected with a .htaccess file. When your try to play the URL of the mp3, winamp gets the 401 repsonse from the web server and pops up the user/password dialog. If you enter the right info, it will begin to play. If you try to play the URL of the ogg file, winamps status simply stays at connecting... Through some packet sniffinf I see that the web server is still sending back the 401 auth challenge, but winamp never asks for a user name and password. I have seen this on multiple web servers with multiple ogg files. In my packet sniffing, I did notice some interesting things. The HTTP Get statement for the OGG file has the following headers: GET /~mike/music/04.ogg HTTP 1.1 Host:www.macfadden.org User-Agent:Winamp Accept:*/* For this connection the response header has the following headers (among others): HTTP/1.1 401 Authorization Required Transfer-Encoding: chunked The GET for the mp3 looks like this: GET /~mike/music/04.mp3 HTTP 1.0 Host:www.macfadden.org User-Agent:WinampMPEG Accept:*/* Icy-MetaData:1 Connection: close For this connection the response header has the following headers (among others): HTTP/1.1 401 Authorization Required Connection: close After this there is another get which includes the auth info. I noticed a couple things, first the HTTP GET for the ogg files is HTTP 1.1 whereas the get for the mp3 is HTTP 1.0. Also, in the response for the ogg file the Transfer-Encoding: chunked header is present where it is not for the mp3 response. Lastly, the Connection header only appears in the MP3 and not the OGG. I am wondering if Winamp doesn't understand the chunked encoding that is coming back in the auth challenge for the OGG. It could be that the server is sending the chunked encoding because the OGG file's GET is using HTTP 1.1 instead of 1.0. I really can't comment on that though because I am just guessing. All I know is that it doesn't work. FYI, if I remove the .htaccess file, the file will stream fine. Also if I put the username and password in the url (http://user : pass@host) the file also streams just fine. It's only when there is a GET, then a 401 response. Thanks. ~Mike |
![]() |
![]() |
![]() |
#2 |
Techorator
Winamp & Shoutcast Team Join Date: Jun 2000
Posts: 36,136
|
It could be an in_vorbis.dll issue, though could also possibly be server config related?
http://forums.winamp.com/showthread....51#post1237951 http://forums.winamp.com/showthread....72#post1340172 http://forums.winamp.com/showthread....73#post1239673 |
![]() |
![]() |
![]() |
#3 |
Junior Member
|
I looked at the bug reports that you listed, the do look related. Let me expand on what I have seen.
If I take away the authentication step (by either disabling the .htaccess or encoding the auth info directly into the url.) then the ogg file plays just fine. The http responce header that apache sends back when actually streaming the ogg file contains a Content-Lenght header. This is because I know the size of the ogg file. This also means that the transfer encoding is not chunked. However, the http 401 responce does not have a lenght header. That responce is send directly from apache and I have no control over that. Without the length header the responce has to have the chuncked transfer encoding. From the other bug reports, it seems like winamp does indeed have a problem with chunked encoding. I suppose it could be something with the server, however the issue is not with streaming the ogg file. Since I can stream it just fine without auth. The problem is most definately with the Auth response. So either the response form the server is messed up or winamp is not handling it correctly. As far as I know apache does not have any "config" options for how it sends back an auth challenge. The only reason it's sending back chunked encoding is because of the HTTP 1.1 request that winamp is sending it. I would be happy to provide you with a link to the file on my server that I am seeing the problem with, however I don't want to post in in the forum for all to see. Any Thoughts? |
![]() |
![]() |
![]() |
#4 |
Junior Member
|
I set up some URL's that you can see this with.
http://www.macfadden.org/~mike/music/ This directory is password protected. Username: winamp Password: tester Just right click the listing for the mp3 and for the ogg to get their url's and try to open them in winamp. Hope this helps. |
![]() |
![]() |
![]() |
#5 |
Junior Member
Join Date: Mar 2005
Posts: 1
|
Same problem
I am having the same problem with version 5.08d. Is this something that will be fixed? It is really annoying since it means I will have to have my ogg's wide open to access them.
|
![]() |
![]() |
![]() |
#6 |
Techorator
Winamp & Shoutcast Team Join Date: Jun 2000
Posts: 36,136
|
It's an unimplemented feature in in_vorbis.dll, not a bug.
I reported it to Christophe a while back, but alas, Christophe is no longer on the Winamp dev team, and neither is Peter Pawlowski who originally coded in_vorbis. I'll remind Tag Loomis about it in my next update report to the beta list, but don't get your hopes up too high. _______________________________________________ Personal Reference Notes in_vorbis Known Bugs: 1) in_vorbis > config > streaming tab: Winamp crashes if "Retry Dropped Streams" is set to anything other than "0" (when a stream is dropped, and Winamp tries to reconnect). UPDATE: This feature is now disabled in Winamp 5.09 - hardcoded default value is "0". Will hopefully be fixed for 5.1x Known issues: 1) in_vorbis ignores Winamp proxy setting (need to change default setting in "in_vorbis config > streaming tab" to "always" instead of "port 80 only") UPDATE: "always" is now default in Winamp 5.09 Feature Requests: 1) Full implementation of vorbis httpseek 2) Pop-up an error message if id3 tags found, instead of just skipping over files (we used to support id3 tags prior to 2.9x but xiph.org told us to remove support because, according to their specs/standard, id3 tags corrupt vorbis files). 3) Implement streaming authentication support (for password protected dir's), like in_mp3 - see example above (thanks to Frozen4Time for keeping dir and links alive) UPDATE: Implemented in Winamp 5.09 (in_vorvis.dll v1.40) 4) Make in_vorbis save settings to winamp.ini instead of registry @ HKCU\Software\Winamp\in_vorbis UPDATE: This has been implemented for Winamp v5.13 5) Make "non-blocking info editor windows" checkmarked by default (in_vorbis > config > display tab), or just hard-code it in. UPDATE: This has been implemented for Winamp v5.13 |
![]() |
![]() |
![]() |
#8 |
Junior Member
|
I tested this out in 5.0.9 and it seems to be working just fine. Nice job guys.
|
![]() |
![]() |
![]() |
|
Thread Tools | Search this Thread |
Display Modes | |
|
|