mirror of
https://gitlab.xiph.org/xiph/icecast-server.git
synced 2024-12-04 14:46:30 -05:00
handle yp headers case insensetive, close #1873
svn path=/icecast/trunk/icecast/; revision=18804
This commit is contained in:
parent
7d65014c6d
commit
d0bf2c64ed
15
src/yp.c
15
src/yp.c
@ -109,33 +109,34 @@ static int handle_returned_header (void *ptr, size_t size, size_t nmemb, void *s
|
|||||||
unsigned bytes = size * nmemb;
|
unsigned bytes = size * nmemb;
|
||||||
|
|
||||||
/* DEBUG2 ("header from YP is \"%.*s\"", bytes, ptr); */
|
/* DEBUG2 ("header from YP is \"%.*s\"", bytes, ptr); */
|
||||||
if (strncmp (ptr, "YPResponse: 1", 13) == 0)
|
if (strncasecmp (ptr, "YPResponse: 1", 13) == 0)
|
||||||
yp->cmd_ok = 1;
|
yp->cmd_ok = 1;
|
||||||
|
|
||||||
if (strncmp (ptr, "YPMessage: ", 11) == 0)
|
if (strncasecmp (ptr, "YPMessage: ", 11) == 0)
|
||||||
{
|
{
|
||||||
unsigned len = bytes - 11;
|
unsigned len = bytes - 11;
|
||||||
free (yp->error_msg);
|
free (yp->error_msg);
|
||||||
yp->error_msg = calloc (1, len);
|
yp->error_msg = calloc (1, len);
|
||||||
if (yp->error_msg)
|
if (yp->error_msg)
|
||||||
sscanf (ptr, "YPMessage: %[^\r\n]", yp->error_msg);
|
sscanf (ptr + 11, "%[^\r\n]", yp->error_msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (yp->process == do_yp_add)
|
if (yp->process == do_yp_add)
|
||||||
{
|
{
|
||||||
if (strncmp (ptr, "SID: ", 5) == 0)
|
if (strncasecmp (ptr, "SID: ", 5) == 0)
|
||||||
{
|
{
|
||||||
unsigned len = bytes - 5;
|
unsigned len = bytes - 5;
|
||||||
free (yp->sid);
|
free (yp->sid);
|
||||||
yp->sid = calloc (1, len);
|
yp->sid = calloc (1, len);
|
||||||
if (yp->sid)
|
if (yp->sid)
|
||||||
sscanf (ptr, "SID: %[^\r\n]", yp->sid);
|
sscanf (ptr + 5, "%[^\r\n]", yp->sid);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (strncmp (ptr, "TouchFreq: ", 11) == 0)
|
if (strncasecmp (ptr, "TouchFreq: ", 11) == 0)
|
||||||
{
|
{
|
||||||
unsigned secs;
|
unsigned secs;
|
||||||
sscanf (ptr, "TouchFreq: %u", &secs);
|
if ( sscanf (ptr + 11, "%u", &secs) != 1 )
|
||||||
|
secs = 0;
|
||||||
if (secs < 30)
|
if (secs < 30)
|
||||||
secs = 30;
|
secs = 30;
|
||||||
DEBUG1 ("server touch interval is %u", secs);
|
DEBUG1 ("server touch interval is %u", secs);
|
||||||
|
Loading…
Reference in New Issue
Block a user