fix for issue 56, Wrong icecast2 password isn't properly reporte, by flip.roque
This commit is contained in:
parent
c4677ec32e
commit
c1d152ca8a
|
@ -199,10 +199,16 @@ IceCast :: sendLogin ( void ) throw ( Exception )
|
||||||
/* read the anticipated response: "OK" */
|
/* read the anticipated response: "OK" */
|
||||||
len = source->read( resp, STRBUF_SIZE);
|
len = source->read( resp, STRBUF_SIZE);
|
||||||
|
|
||||||
|
reportEvent(5,resp);
|
||||||
|
|
||||||
if ( Util::strEq( resp, "ERROR - Bad Password",20) ) {
|
if ( Util::strEq( resp, "ERROR - Bad Password",20) ) {
|
||||||
throw Exception( __FILE__, __LINE__,
|
throw Exception( __FILE__, __LINE__,
|
||||||
"Icecast - wrong password");
|
"Icecast - wrong password");
|
||||||
}
|
}
|
||||||
|
if ( Util::strEq( resp, "ERROR - Mount Point Taken or Inv",32) ) {
|
||||||
|
throw Exception( __FILE__, __LINE__,
|
||||||
|
"Icecast - Mount point taken or invalid");
|
||||||
|
}
|
||||||
if ( len < 2 || resp[0] != 'O' || resp[1] != 'K' ) {
|
if ( len < 2 || resp[0] != 'O' || resp[1] != 'K' ) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -81,6 +81,7 @@ static const char fileid[] = "$Id$";
|
||||||
*----------------------------------------------------------------------------*/
|
*----------------------------------------------------------------------------*/
|
||||||
static const char responseOK[] = "HTTP/1.0 200";
|
static const char responseOK[] = "HTTP/1.0 200";
|
||||||
static const char responseWrongPasswd[] = "HTTP/1.0 401";
|
static const char responseWrongPasswd[] = "HTTP/1.0 401";
|
||||||
|
static const char responseForbidden[] = "HTTP/1.0 403";
|
||||||
|
|
||||||
/* =============================================== local function prototypes */
|
/* =============================================== local function prototypes */
|
||||||
|
|
||||||
|
@ -247,11 +248,18 @@ IceCast2 :: sendLogin ( void ) throw ( Exception )
|
||||||
}
|
}
|
||||||
resp[lenExpected] = 0;
|
resp[lenExpected] = 0;
|
||||||
|
|
||||||
|
reportEvent(5,resp);
|
||||||
|
|
||||||
if ( Util::strEq( resp, responseWrongPasswd) ) {
|
if ( Util::strEq( resp, responseWrongPasswd) ) {
|
||||||
throw Exception( __FILE__, __LINE__,
|
throw Exception( __FILE__, __LINE__,
|
||||||
"Icecast2 - wrong password");
|
"Icecast2 - wrong password");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ( Util::strEq( resp, responseForbidden) ) {
|
||||||
|
throw Exception( __FILE__, __LINE__,
|
||||||
|
"Icecast2 - forbidden. Is the mountpoint occupied, or maximum sources reached?");
|
||||||
|
}
|
||||||
|
|
||||||
if ( !Util::strEq( resp, responseOK) ) {
|
if ( !Util::strEq( resp, responseOK) ) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue