From 830d062f1f53cbecf3b493e8cbb6560ffe6bf1eb Mon Sep 17 00:00:00 2001 From: Srinivas Kakarla Date: Sat, 19 Aug 2017 02:24:14 +0530 Subject: [PATCH 1/3] Fix for 302 Redirect support --- .../platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp b/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp index c73b6dd442f4f..fbf1c815e48b6 100644 --- a/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp +++ b/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp @@ -925,6 +925,9 @@ void StreamingClient::handleResponseReceived(const ResourceResponse& response) return; } + if(response.isRedirected()) + priv->uri = g_strdup(response.url().string().utf8().data()); + if (priv->requestedOffset) { // Seeking ... we expect a 206 == PARTIAL_CONTENT if (response.httpStatusCode() == 200) { From bf632b291ee06a663a03eb4671d00248df146495 Mon Sep 17 00:00:00 2001 From: Srinivas Kakarla Date: Mon, 21 Aug 2017 21:18:12 +0530 Subject: [PATCH 2/3] Updated fix for 302 redirect support --- .../platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp b/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp index fbf1c815e48b6..3bf7b7971ab7f 100644 --- a/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp +++ b/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp @@ -925,8 +925,10 @@ void StreamingClient::handleResponseReceived(const ResourceResponse& response) return; } - if(response.isRedirected()) + if(response.isRedirected()){ + g_free(priv->uri); priv->uri = g_strdup(response.url().string().utf8().data()); + } if (priv->requestedOffset) { // Seeking ... we expect a 206 == PARTIAL_CONTENT From 02e6ed3ea052dbf9fe953f091c608f98094d2c23 Mon Sep 17 00:00:00 2001 From: Srinivas Kakarla Date: Tue, 22 Aug 2017 18:40:59 +0530 Subject: [PATCH 3/3] Added check for invalid redirect url --- .../graphics/gstreamer/WebKitWebSourceGStreamer.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp b/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp index 3bf7b7971ab7f..a53fafe3e1d0b 100644 --- a/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp +++ b/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp @@ -925,7 +925,13 @@ void StreamingClient::handleResponseReceived(const ResourceResponse& response) return; } - if(response.isRedirected()){ + if (response.isRedirected()) { + if (!urlHasSupportedProtocol(response.url())) { + GST_ELEMENT_ERROR(src, RESOURCE, READ, ("Invalid URI '%s'", response.url().string().utf8().data()), (nullptr)); + gst_app_src_end_of_stream(priv->appsrc); + webKitWebSrcStop(src); + return; + } g_free(priv->uri); priv->uri = g_strdup(response.url().string().utf8().data()); }