[FFmpeg-devel] [PATCH v4] Parse cookies more correctly
Scott Moak
scott.moak at mybrainoncode.com
Fri Feb 21 07:44:07 CET 2014
That's the squashed commit. Would it be better to start a new thread with
that?
On Thu, Feb 20, 2014 at 10:42 PM, Scott Moak
<scott.moak at mybrainoncode.com>wrote:
> Cookies with an Expires directive do not get parsed (and ignored)
> correctly, so we need to fix that.
>
> Signed-off-by: Scott Moak <scott.moak at mybrainoncode.com>
> ---
> libavformat/http.c | 15 ++++++++++++---
> 1 file changed, 12 insertions(+), 3 deletions(-)
>
> diff --git a/libavformat/http.c b/libavformat/http.c
> index 69c4d6d..3d9563b 100644
> --- a/libavformat/http.c
> +++ b/libavformat/http.c
> @@ -484,8 +484,16 @@ static int get_cookies(HTTPContext *s, char
> **cookies, const char *path,
> char *param, *next_param, *cdomain = NULL, *cpath = NULL, *cvalue
> = NULL;
> set_cookies = NULL;
>
> - while ((param = av_strtok(cookie, "; ", &next_param))) {
> + while ((param = av_strtok(cookie, ";", &next_param))) {
> cookie = NULL;
> + /* skip leading spaces */
> + param += strspn(param, " ");
> + /* skip trailing spaces */
> + if (strlen(param) > 0) {
> + while (0x20 == param[strlen(param) - 1]) {
> + param[strlen(param) - 1] = 0;
> + }
> + }
> if (!av_strncasecmp("path=", param, 5)) {
> av_free(cpath);
> cpath = av_strdup(¶m[5]);
> @@ -498,8 +506,9 @@ static int get_cookies(HTTPContext *s, char **cookies,
> const char *path,
> } else if (!av_strncasecmp("secure", param, 6) ||
> !av_strncasecmp("comment", param, 7) ||
> !av_strncasecmp("max-age", param, 7) ||
> - !av_strncasecmp("version", param, 7)) {
> - // ignore Comment, Max-Age, Secure and Version
> + !av_strncasecmp("version", param, 7) ||
> + !av_strncasecmp("expires", param, 7)) {
> + // ignore Comment, Max-Age, Secure, Version and Expires
> } else {
> av_free(cvalue);
> cvalue = av_strdup(param);
> --
> 1.8.5.4
>
>
More information about the ffmpeg-devel
mailing list