else
{
httpd_MsgAdd( answer, "Content-Length", "%d", 0 );
+ answer->i_body_offset = 0;
}
if( !strcmp( stream->psz_mime, "video/x-ms-asf-stream" ) )
for( i = 0; i < query->i_name; i++ )
{
if( !strcasecmp( query->name[i], "Pragma" ) &&
- !strcasecmp( query->value[i], "xPlayStrm=1" ) )
+ strstr( query->value[i], "xPlayStrm=1" ) )
{
b_xplaystream = VLC_TRUE;
}
{
cl->i_state = HTTPD_CLIENT_RECEIVING;
cl->i_activity_date = mdate();
- cl->i_activity_timeout = 50000000LL;
+ cl->i_activity_timeout = 50000000;
cl->i_buffer_size = 10000;
cl->i_buffer = 0;
cl->p_buffer = malloc( cl->i_buffer_size );
if( answer && ( *url->psz_user || *url->psz_password ) )
{
/* create the headers */
- char id[strlen(url->psz_user)+strlen(url->psz_password) + 2];
char *b64 = httpd_MsgGet( query, "Authorization" ); /* BASIC id */
- char auth[strlen(b64) +1];
+ char *auth;
+ char *id;
+
+ asprintf( &id, "%s:%s", url->psz_user, url->psz_password );
+ auth = malloc( strlen(b64) + 1 );
- sprintf( id, "%s:%s", url->psz_user, url->psz_password );
if( !strncasecmp( b64, "BASIC", 5 ) )
{
b64 += 5;
httpd_MsgAdd( answer, "WWW-Authenticate", "Basic realm=\"%s\"", url->psz_user );
/* We fail for all url */
b_auth_failed = VLC_TRUE;
+ free( id );
+ free( auth );
break;
}
+
+ free( id );
+ free( auth );
}
if( !url->catch[i_msg].cb( url->catch[i_msg].p_sys, cl, answer, query ) )
}
else if( cl->i_state == HTTPD_CLIENT_SEND_DONE )
{
- if( cl->i_mode == HTTPD_CLIENT_FILE )
+ if( cl->i_mode == HTTPD_CLIENT_FILE || cl->answer.i_body_offset == 0 )
{
cl->url = NULL;
if( ( cl->query.i_proto == HTTPD_PROTO_HTTP &&
if( !inet_aton( psz_address, &p_socket->sin_addr ) )
#else
p_socket->sin_addr.s_addr = inet_addr( psz_address );
- if( p_socket->sin_addr.s_addr == INADDR_NONE )
+/* if( p_socket->sin_addr.s_addr == INADDR_NONE )*/
+ if( p_socket->sin_addr.s_addr == INADDR_BROADCAST )
#endif
{
/* We have a fqdn, try to find its address */