Commit 1eec0949 authored by Rafaël Carré's avatar Rafaël Carré

httpd: cosmetics

parent 370c3df3
...@@ -2070,45 +2070,37 @@ static void* httpd_HostThread( void *data ) ...@@ -2070,45 +2070,37 @@ static void* httpd_HostThread( void *data )
bool b_auth_failed = false; bool b_auth_failed = false;
/* Search the url and trigger callbacks */ /* Search the url and trigger callbacks */
for(int i = 0; i < host->i_url; i++ ) for(int i = 0; i < host->i_url; i++ ) {
{
httpd_url_t *url = host->url[i]; httpd_url_t *url = host->url[i];
if( !strcmp( url->psz_url, query->psz_url ) ) if (strcmp(url->psz_url, query->psz_url))
{ continue;
if( url->catch[i_msg].cb ) if (!url->catch[i_msg].cb)
{ continue;
if( answer && ( *url->psz_user || *url->psz_password ) )
{ if (answer && (*url->psz_user || *url->psz_password)) {
/* create the headers */ /* create the headers */
const char *b64 = httpd_MsgGet( query, "Authorization" ); /* BASIC id */ const char *b64 = httpd_MsgGet(query, "Authorization"); /* BASIC id */
char *user = NULL, *pass = NULL; char *user = NULL, *pass = NULL;
if( b64 != NULL if (b64 && !strncasecmp(b64, "BASIC", 5)) {
&& !strncasecmp( b64, "BASIC", 5 ) )
{
b64 += 5; b64 += 5;
while( *b64 == ' ' ) while (*b64 == ' ')
b64++; b64++;
user = vlc_b64_decode( b64 ); user = vlc_b64_decode( b64 );
if (user != NULL) if (user) {
{
pass = strchr (user, ':'); pass = strchr (user, ':');
if (pass != NULL) if (pass)
*pass++ = '\0'; *pass++ = '\0';
} }
} }
if ((user == NULL) || (pass == NULL) if (!user || strcmp (user, url->psz_user) ||
|| strcmp (user, url->psz_user) !pass || strcmp (pass, url->psz_password)) {
|| strcmp (pass, url->psz_password)) httpd_MsgAdd( answer, "WWW-Authenticate",
{
httpd_MsgAdd( answer,
"WWW-Authenticate",
"Basic realm=\"VLC stream\"" ); "Basic realm=\"VLC stream\"" );
/* We fail for all url */ b_auth_failed = true; /* We fail for all url */
b_auth_failed = true;
free( user ); free( user );
break; break;
} }
...@@ -2116,47 +2108,32 @@ static void* httpd_HostThread( void *data ) ...@@ -2116,47 +2108,32 @@ static void* httpd_HostThread( void *data )
free( user ); free( user );
} }
if( !url->catch[i_msg].cb( url->catch[i_msg].p_sys, cl, answer, query ) ) if (url->catch[i_msg].cb(url->catch[i_msg].p_sys, cl, answer, query))
{ continue;
if( answer->i_proto == HTTPD_PROTO_NONE ) if( answer->i_proto == HTTPD_PROTO_NONE )
{ cl->i_buffer = cl->i_buffer_size; /* Raw answer from a CGI */
/* Raw answer from a CGI */
cl->i_buffer = cl->i_buffer_size;
}
else else
cl->i_buffer = -1; cl->i_buffer = -1;
/* only one url can answer */ /* only one url can answer */
answer = NULL; answer = NULL;
if( cl->url == NULL ) if( cl->url == NULL )
{
cl->url = url; cl->url = url;
} }
}
}
}
}
if( answer )
{
char *p;
if( answer ) {
answer->i_proto = query->i_proto; answer->i_proto = query->i_proto;
answer->i_type = HTTPD_MSG_ANSWER; answer->i_type = HTTPD_MSG_ANSWER;
answer->i_version= 0; answer->i_version= 0;
if( b_auth_failed ) if( b_auth_failed )
{
answer->i_status = 401; answer->i_status = 401;
}
else else
{ answer->i_status = 404; /* no url registered */
/* no url registered */
answer->i_status = 404;
}
answer->i_body = httpd_HtmlError (&p, char *p;
answer->i_status, answer->i_body = httpd_HtmlError (&p, answer->i_status,
query->psz_url); query->psz_url);
answer->p_body = (uint8_t *)p; answer->p_body = (uint8_t *)p;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment