diff options
author | Thomas Ruecker <thomas@ruecker.fi> | 2015-03-31 13:07:53 +0300 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2015-03-31 23:53:56 +0200 |
commit | c84f0250e32823b3065a661ea4159380241ed011 (patch) | |
tree | 37357d06977cc14c591eb82b080bbb231d8d24f1 | |
parent | 049fe7fb5336d17bd98c53384c944563e360a17a (diff) |
CURLOPT_HTTP200ALIASES.3: Mainly SHOUTcast servers use "ICY 200"
Icecast versions 1.3.0 through 1.3.12 would reply with "ICY 200"
under certain conditions:
client_wants_icy_headers (connection_t *con)
{
const char *val;
if (!con)
return 1;
val = get_user_agent (con);
if (!val || !val[0] || strcmp (val, "(null)") == 0)
return 1;
if (con->food.client->use_icy)
return 1;
if (strncasecmp (val, "winamp", 6) == 0)
return 1;
if (strncasecmp (val, "Shoutcast", 9) == 0)
return 1;
return 0;
}
So mainly if there is no 'user agent' or it is '(null)' or contains
'winamp' or 'Shoutcast'.
No mainstream distribution carries Icecast 1.3.x anymore, after all
it was released in 2002 and superseded by Icecast 2.x.
-rw-r--r-- | docs/libcurl/opts/CURLOPT_HTTP200ALIASES.3 | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/docs/libcurl/opts/CURLOPT_HTTP200ALIASES.3 b/docs/libcurl/opts/CURLOPT_HTTP200ALIASES.3 index 1454ed12e..b87db4649 100644 --- a/docs/libcurl/opts/CURLOPT_HTTP200ALIASES.3 +++ b/docs/libcurl/opts/CURLOPT_HTTP200ALIASES.3 @@ -32,9 +32,11 @@ CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HTTP200ALIASES, .SH DESCRIPTION Pass a pointer to a linked list of \fIaliases\fP to be treated as valid HTTP 200 responses. Some servers respond with a custom header response line. For -example, IceCast servers respond with "ICY 200 OK". By including this string -in your list of aliases, the response will be treated as a valid HTTP header -line such as "HTTP/1.0 200 OK". +example, SHOUTcast servers respond with "ICY 200 OK". Also some very old +Icecast 1.3.x servers will respond like that for certain user agent headers or +in absence of such. By including this string in your list of aliases, +the response will be treated as a valid HTTP header line such as +"HTTP/1.0 200 OK". The linked list should be a fully valid list of struct curl_slist structs, and be properly filled in. Use \fIcurl_slist_append(3)\fP to create the list and |