ffmpeg | branch: master | Stephan Holljes <[email protected]> | Fri Jun 5 00:27:07 2015 +0200| [44d19212008ee48255f96d82df899e3413a982c2] | committer: Nicolas George
lavf/http: Add simple autodetection for client HTTP method, based on AVIO_FLAG_READ. Signed-off-by: Stephan Holljes <[email protected]> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=44d19212008ee48255f96d82df899e3413a982c2 --- libavformat/http.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/libavformat/http.c b/libavformat/http.c index 1bf9166..2db2dea 100644 --- a/libavformat/http.c +++ b/libavformat/http.c @@ -563,6 +563,7 @@ static int process_line(URLContext *h, char *line, int line_count, int *new_location) { HTTPContext *s = h->priv_data; + const char *auto_method = h->flags & AVIO_FLAG_READ ? "POST" : "GET"; char *tag, *p, *end, *method, *resource, *version; int ret; @@ -587,6 +588,14 @@ static int process_line(URLContext *h, char *line, int line_count, s->method, method); return ff_http_averror(400, AVERROR(EIO)); } + } else { + // use autodetected HTTP method to expect + av_log(h, AV_LOG_TRACE, "Autodetected %s HTTP method\n", auto_method); + if (av_strcasecmp(auto_method, method)) { + av_log(h, AV_LOG_ERROR, "Received and autodetected HTTP method did not match " + "(%s autodetected %s received)\n", auto_method, method); + return ff_http_averror(400, AVERROR(EIO)); + } } // HTTP resource _______________________________________________ ffmpeg-cvslog mailing list [email protected] http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
