mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-01-24 13:56:33 +02:00
redirect http get requests of / to index.html (note, the http_parse_request may worth a rewrite)
Originally committed as revision 8113 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
c3f5818525
commit
bae79c048f
18
ffserver.c
18
ffserver.c
@ -1175,7 +1175,7 @@ static int http_parse_request(HTTPContext *c)
|
||||
char *p;
|
||||
enum RedirType redir_type;
|
||||
char cmd[32];
|
||||
char info[1024], *filename;
|
||||
char info[1024], filename[1024];
|
||||
char url[1024], *q;
|
||||
char protocol[32];
|
||||
char msg[1024];
|
||||
@ -1209,11 +1209,7 @@ static int http_parse_request(HTTPContext *c)
|
||||
http_log("New connection: %s %s\n", cmd, url);
|
||||
|
||||
/* find the filename and the optional info string in the request */
|
||||
p = url;
|
||||
if (*p == '/')
|
||||
p++;
|
||||
filename = p;
|
||||
p = strchr(p, '?');
|
||||
p = strchr(url, '?');
|
||||
if (p) {
|
||||
pstrcpy(info, sizeof(info), p);
|
||||
*p = '\0';
|
||||
@ -1221,6 +1217,8 @@ static int http_parse_request(HTTPContext *c)
|
||||
info[0] = '\0';
|
||||
}
|
||||
|
||||
pstrcpy(filename, sizeof(filename)-1, url + ((*url == '/') ? 1 : 0));
|
||||
|
||||
for (p = c->buffer; *p && *p != '\r' && *p != '\n'; ) {
|
||||
if (strncasecmp(p, "User-Agent:", 11) == 0) {
|
||||
useragent = p + 11;
|
||||
@ -1248,12 +1246,16 @@ static int http_parse_request(HTTPContext *c)
|
||||
strcpy(filename + strlen(filename)-2, "m");
|
||||
} else if (match_ext(filename, "rtsp")) {
|
||||
redir_type = REDIR_RTSP;
|
||||
compute_real_filename(filename, sizeof(url) - 1);
|
||||
compute_real_filename(filename, sizeof(filename) - 1);
|
||||
} else if (match_ext(filename, "sdp")) {
|
||||
redir_type = REDIR_SDP;
|
||||
compute_real_filename(filename, sizeof(url) - 1);
|
||||
compute_real_filename(filename, sizeof(filename) - 1);
|
||||
}
|
||||
|
||||
// "redirect" / request to index.html
|
||||
if (!strlen(filename))
|
||||
pstrcpy(filename, sizeof(filename) - 1, "index.html");
|
||||
|
||||
stream = first_stream;
|
||||
while (stream != NULL) {
|
||||
if (!strcmp(stream->filename, filename) && validate_acl(stream, c))
|
||||
|
Loading…
x
Reference in New Issue
Block a user