Commit 5b848604 authored by Felix Paul Kühne's avatar Felix Paul Kühne

libvlc: add patch to fix HTTP digest login

Merge upstream pending
parent 3b39fd59
From d22b950321df731c2154935fbb236fa05a1ae339 Mon Sep 17 00:00:00 2001
From 2641d57514c799c7219aead95e88043bfa53b716 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Felix=20Paul=20K=C3=BChne?= <fkuehne@videolan.org>
Date: Thu, 18 Dec 2014 22:14:55 +0100
Subject: [PATCH 01/18] arm_neon: work-around libtool issue
Subject: [PATCH 01/21] arm_neon: work-around libtool issue
---
modules/arm_neon/Makefile.am | 2 ++
......@@ -18,5 +18,5 @@ index 10f5c15d7c..0406ded7eb 100644
libchroma_yuv_neon_plugin_la_SOURCES = \
--
2.17.1
2.19.0
From 8f9d167e7e2a33ef516bca5778fe1f37411e5108 Mon Sep 17 00:00:00 2001
From 67a341f4816799243fcd50248b9e3e11a6b9b96f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Felix=20Paul=20K=C3=BChne?= <fkuehne@videolan.org>
Date: Wed, 10 Dec 2014 22:14:55 +0100
Subject: [PATCH 02/18] disable neon volume plugin
Subject: [PATCH 02/21] disable neon volume plugin
---
modules/arm_neon/Makefile.am | 1 -
......@@ -20,5 +20,5 @@ index 0406ded7eb..48aa33332b 100644
endif
--
2.17.1
2.19.0
From b3f8472dc84a77ce7c35ac01f7301a7996d19008 Mon Sep 17 00:00:00 2001
From b4df1b6f070757523a5b40a330cde95c419fe6f5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Felix=20Paul=20K=C3=BChne?= <fkuehne@videolan.org>
Date: Fri, 22 Jul 2016 11:11:44 +0200
Subject: [PATCH 03/18] Enable System DL
Subject: [PATCH 03/21] Enable System DL
---
contrib/src/ffmpeg/patch-as-patch-can.patch | 20 ++++++++++++++++++++
......@@ -58,5 +58,5 @@ index fc68f815a0..4d2d716146 100644
.ffmpeg: ffmpeg
--
2.17.1
2.19.0
From af1eb98b7e7c3834ff5ddfc224705ba77b63cd84 Mon Sep 17 00:00:00 2001
From e8a18811e689f1b0f93933593dedb035c063fd3f Mon Sep 17 00:00:00 2001
From: Thomas Guillem <thomas@gllm.fr>
Date: Fri, 16 Sep 2016 15:51:10 +0200
Subject: [PATCH 04/18] http: add vlc_http_cookies_clear
Subject: [PATCH 04/21] http: add vlc_http_cookies_clear
Clear all cookies without deleting the jar.
---
......@@ -61,5 +61,5 @@ index 77ab852b15..f229b85dea 100644
}
--
2.17.1
2.19.0
From 5abf670279494975819a845c4241c30939d4c3e5 Mon Sep 17 00:00:00 2001
From 117aa109d9a703aba82769d8153926e21092ae30 Mon Sep 17 00:00:00 2001
From: Thomas Guillem <thomas@gllm.fr>
Date: Fri, 16 Sep 2016 15:51:11 +0200
Subject: [PATCH 05/18] libvlc_media: add cookie_jar API
Subject: [PATCH 05/21] libvlc_media: add cookie_jar API
---
include/vlc/libvlc_media.h | 35 +++++++++++++++++++++++++++++++++++
......@@ -163,5 +163,5 @@ index a9a22fee15..fde008aaeb 100644
p_input_thread = input_Create( p_mi, p_mi->p_md->p_input_item, NULL,
--
2.17.1
2.19.0
From 6d12e631707b60fed46a1279295e700d48ccdacb Mon Sep 17 00:00:00 2001
From eda64e58c62ab26cb9960c92c949cd132cbd4db2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Felix=20Paul=20K=C3=BChne?= <fkuehne@videolan.org>
Date: Sun, 7 Dec 2014 20:02:18 +0100
Subject: [PATCH 06/18] contrib/gcrypt: work-around a libtool limitation
Subject: [PATCH 06/21] contrib/gcrypt: work-around a libtool limitation
---
contrib/src/gcrypt/rules.mak | 1 +
......@@ -53,5 +53,5 @@ index 0000000000..df97ffb488
+ AM_CFLAGS = $(GPG_ERROR_CFLAGS)
+
--
2.17.1
2.19.0
From dec4176195d2c58ca6aa001243d2499641810710 Mon Sep 17 00:00:00 2001
From 1acc04d8bb23532583439210ddfe9b3a253f8378 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Felix=20Paul=20K=C3=BChne?= <fkuehne@videolan.org>
Date: Sat, 3 Oct 2015 22:45:14 +0200
Subject: [PATCH 07/18] contrib/gcrypt: fix tvOS compilation
Subject: [PATCH 07/21] contrib/gcrypt: fix tvOS compilation
---
.../src/gcrypt/fix-sha1-ssse3-for-clang.patch | 16 ++++++++++++++++
......@@ -56,5 +56,5 @@ index bc938e585f..3564fde87b 100644
GCRYPT_CONF += --disable-aesni-support
else
--
2.17.1
2.19.0
From 1b81fbb7622c2e237a718e1a050378fe0d45bf08 Mon Sep 17 00:00:00 2001
From 4d09268ef4d5952f169f8b2777a379306175d11a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Felix=20Paul=20K=C3=BChne?= <fkuehne@videolan.org>
Date: Mon, 12 Sep 2016 17:03:37 +0200
Subject: [PATCH 08/18] contrib/gcrypt: update patches
Subject: [PATCH 08/21] contrib/gcrypt: update patches
---
.../src/gcrypt/fix-sha1-ssse3-for-clang.patch | 308 +++++++++++++++++-
......@@ -363,5 +363,5 @@ index df97ffb488..957f268ad2 100644
# Need to include ../src in addition to top_srcdir because gcrypt.h is
--
2.17.1
2.19.0
From f4fe49fd3116c3b6fb0830c675ac3bf5e19da539 Mon Sep 17 00:00:00 2001
From 04b63eca657f4b4ff21bd350306f396279c713c0 Mon Sep 17 00:00:00 2001
From: Thomas Guillem <thomas@gllm.fr>
Date: Mon, 17 Jul 2017 17:03:24 +0200
Subject: [PATCH 09/18] Replace thread local with pthread TSD
Subject: [PATCH 09/21] Replace thread local with pthread TSD
---
src/misc/interrupt.c | 59 ++++++++++++++++++++++++++++++++++++++++++++
......@@ -222,5 +222,5 @@ index 810c8ffc81..3d2d2f1dc8 100644
twalk(priv->var_root, TwalkGetNames);
vlc_mutex_unlock(&priv->var_lock);
--
2.17.1
2.19.0
From 9b87e8319540335433fffcf230118a22177f0f9b Mon Sep 17 00:00:00 2001
From b2bb6c7cd12a5bbe46c88489d150e72b89793456 Mon Sep 17 00:00:00 2001
From: Carola Nitz <nitz.carola@googlemail.com>
Date: Fri, 29 Sep 2017 14:49:02 +0200
Subject: [PATCH 10/18] contrib: use live555 version that is compatible with
Subject: [PATCH 10/21] contrib: use live555 version that is compatible with
LGPL2
---
......@@ -46,5 +46,5 @@ index b77d96ce73..3a2526a497 100644
echo "PREFIX = $(PREFIX)" >> $$subdir/Makefile.head && \
echo "LIBDIR = $(PREFIX)/lib" >> $$subdir/Makefile.head ; done
--
2.17.1
2.19.0
From e0dcb507b92e1d66a34f56c84a6d7a23c7370fc5 Mon Sep 17 00:00:00 2001
From 535218a5a6afa59b077a46648ab27077428efa57 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Felix=20Paul=20K=C3=BChne?= <felix@feepk.net>
Date: Sun, 17 Dec 2017 18:05:40 +0100
Subject: [PATCH 11/18] libvlc: add a basic API to change freetype's color,
Subject: [PATCH 11/21] libvlc: add a basic API to change freetype's color,
bold, font and size variables on-the-fly
---
......@@ -182,7 +182,7 @@ index acbba3a30f..035cc0ebf1 100644
+ return get_string( p_mi, "freetype", textrenderer_option_bynumber(option) );
+}
diff --git a/modules/text_renderer/freetype/freetype.c b/modules/text_renderer/freetype/freetype.c
index 53cf99cd18..822aae9905 100644
index b92c66ceac..681e26ca98 100644
--- a/modules/text_renderer/freetype/freetype.c
+++ b/modules/text_renderer/freetype/freetype.c
@@ -952,12 +952,35 @@ static inline int RenderAXYZ( filter_t *p_filter,
......@@ -226,5 +226,5 @@ index 53cf99cd18..822aae9905 100644
static void FillDefaultStyles( filter_t *p_filter )
--
2.17.1
2.19.0
From bd15c5750204e29764d5408d2e97231cdba08d6c Mon Sep 17 00:00:00 2001
From 4e7ec0c2bdafcae3a7d5e65de6d41826baf116ae Mon Sep 17 00:00:00 2001
From: Carola Nitz <nitz.carola@googlemail.com>
Date: Fri, 23 Feb 2018 13:16:41 +0100
Subject: [PATCH 12/18] Work around lack of __thread storage qualifier on old
Subject: [PATCH 12/21] Work around lack of __thread storage qualifier on old
macOS
---
......@@ -14,7 +14,7 @@ Subject: [PATCH 12/18] Work around lack of __thread storage qualifier on old
rename {compat => src/extras}/tdestroy.c (59%)
diff --git a/configure.ac b/configure.ac
index b0de9fc1d7..7d8c348791 100644
index 2ed758a3ec..b27abfa078 100644
--- a/configure.ac
+++ b/configure.ac
@@ -590,8 +590,8 @@ dnl Check for system libs needed
......@@ -204,5 +204,5 @@ index 6bb3480957..5c54881553 100644
+
+#endif
--
2.17.1
2.19.0
From 3bcbfea3d3b7d7ad80a73881d5ded67f947ff5c2 Mon Sep 17 00:00:00 2001
From 56e59449d7ca0ab9ea7298bc1217f974cf5b6a15 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Hugo=20Beauz=C3=A9e-Luyssen?= <hugo@beauzee.fr>
Date: Mon, 26 Mar 2018 16:44:44 +0200
Subject: [PATCH 13/18] modules:common: Use the full module name as MODULE_NAME
Subject: [PATCH 13/21] modules:common: Use the full module name as MODULE_NAME
This avoid conflicts when linking modules staticly on platforms that don't
have objdump
......@@ -29,5 +29,5 @@ index 1b9117c98d..fc67a39bca 100644
AM_CFLAGS =
AM_CXXFLAGS =
--
2.17.1
2.19.0
From 3d95342088858c06f96602e4376559af82bce4a0 Mon Sep 17 00:00:00 2001
From c16e5f5126606ab94865f4ef058a6821f85b820d Mon Sep 17 00:00:00 2001
From: Luis Fernandes <zipleen@gmail.com>
Date: Mon, 30 Apr 2018 14:33:08 +0100
Subject: [PATCH 14/18] add auto deinterlacer-mode which is also valid
Subject: [PATCH 14/21] add auto deinterlacer-mode which is also valid
---
lib/video.c | 3 ++-
......@@ -22,5 +22,5 @@ index 035cc0ebf1..a3e5b248e9 100644
if (*psz_mode)
--
2.17.1
2.19.0
From fd44b33f4dcb27ddf43471752d17cd1e39bc9c14 Mon Sep 17 00:00:00 2001
From 6654c7b6fe466e0676a6e9e5865c93bd11807b79 Mon Sep 17 00:00:00 2001
From: Luis Fernandes <zipleen@gmail.com>
Date: Wed, 9 May 2018 10:44:43 +0100
Subject: [PATCH 15/18] Users will be able to change the deinterlace mode
Subject: [PATCH 15/21] Users will be able to change the deinterlace mode
without forcing it.
---
......@@ -87,5 +87,5 @@ index a3e5b248e9..9bc0f634f5 100644
}
free (pp_vouts);
--
2.17.1
2.19.0
From ddc7fbe6ed07b7a2597dacd880c57d837da545da Mon Sep 17 00:00:00 2001
From 1f4909992f0836a44d541c6f4446ca8badacd02b Mon Sep 17 00:00:00 2001
From: Thomas Guillem <thomas@gllm.fr>
Date: Tue, 27 Mar 2018 16:49:34 +0200
Subject: [PATCH 16/18] contrib: ffmpeg: enable videotoolbox encoder
Subject: [PATCH 16/21] contrib: ffmpeg: enable videotoolbox encoder
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
......@@ -27,5 +27,5 @@ index 4d2d716146..7a3b678370 100644
endif
endif
--
2.17.1
2.19.0
From 813a97f1522009b7714b80f86d9b21751a52d7f5 Mon Sep 17 00:00:00 2001
From 9c32cfca617bd2a443bd2a27bdc1c435e28e10ae Mon Sep 17 00:00:00 2001
From: Thomas Guillem <thomas@gllm.fr>
Date: Tue, 27 Mar 2018 16:52:35 +0200
Subject: [PATCH 17/20] chromecast: use vt encoder from avcodec
Subject: [PATCH 17/21] chromecast: use vt encoder from avcodec
---
modules/stream_out/chromecast/cast.cpp | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/modules/stream_out/chromecast/cast.cpp b/modules/stream_out/chromecast/cast.cpp
index b330b70297..fc30380720 100644
index 53227c258b..60edf28e82 100644
--- a/modules/stream_out/chromecast/cast.cpp
+++ b/modules/stream_out/chromecast/cast.cpp
@@ -956,12 +956,25 @@ static std::string GetVencX264Option( sout_stream_t * /* p_stream */,
@@ -954,12 +954,25 @@ static std::string GetVencX264Option( sout_stream_t * /* p_stream */,
return ssout.str();
}
......@@ -38,5 +38,5 @@ index b330b70297..fc30380720 100644
{ .fcc = VLC_CODEC_VP8, .get_opt = GetVencVPXOption },
{ .fcc = VLC_CODEC_H264, .get_opt = NULL },
--
2.18.0
2.19.0
From 64e1e3ebe7519896e342facdfab4220ff7dcc884 Mon Sep 17 00:00:00 2001
From 7b24b697792a033da9fb96a399b1ef8b0a8aaaf8 Mon Sep 17 00:00:00 2001
From: Thomas Guillem <thomas@gllm.fr>
Date: Mon, 18 Jun 2018 12:31:13 +0200
Subject: [PATCH 18/20] ffmpeg: backport vtenc patches
Subject: [PATCH 18/21] ffmpeg: backport vtenc patches
---
...lboxenc-fix-mutex-cond-leak-in-error.patch | 35 ++++++
......@@ -355,5 +355,5 @@ index 7a3b678370..7c3a87068c 100644
ifdef USE_LIBAV
$(APPLY) $(SRC)/ffmpeg/libav_gsm.patch
--
2.18.0
2.19.0
From 3865597b78cbb84d7b31bb372725d204d456a3f8 Mon Sep 17 00:00:00 2001
From 402a5dcc5f28b95a617cfb22f5d5be04794c10dc Mon Sep 17 00:00:00 2001
From: Thomas Guillem <thomas@gllm.fr>
Date: Wed, 17 Jan 2018 10:06:13 +0200
Subject: [PATCH 1/2] core: expose config_AutoSaveConfigFile
Subject: [PATCH 19/21] core: expose config_AutoSaveConfigFile
---
include/vlc_configuration.h | 2 ++
......@@ -11,7 +11,7 @@ Subject: [PATCH 1/2] core: expose config_AutoSaveConfigFile
4 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/include/vlc_configuration.h b/include/vlc_configuration.h
index 2779e99d17..020db37aca 100644
index 209168615b..c521714ded 100644
--- a/include/vlc_configuration.h
+++ b/include/vlc_configuration.h
@@ -109,6 +109,8 @@ VLC_API ssize_t config_GetPszChoices(vlc_object_t *, const char *,
......@@ -48,7 +48,7 @@ index 6270a6bc9d..9f3b85494c 100644
{
int ret = 0;
diff --git a/src/libvlccore.sym b/src/libvlccore.sym
index a15ba0d923..3f18118c3f 100644
index db7f4030b9..4ad59b1fc0 100644
--- a/src/libvlccore.sym
+++ b/src/libvlccore.sym
@@ -44,6 +44,7 @@ block_shm_Alloc
......@@ -59,3 +59,6 @@ index a15ba0d923..3f18118c3f 100644
config_ChainCreate
config_ChainDestroy
config_ChainDuplicate
--
2.19.0
From 3865597b78cbb84d7b31bb372725d204d456a3f8 Mon Sep 17 00:00:00 2001
From 9dcab579a7124ba1a20075e4c50d9c606fd2b29d Mon Sep 17 00:00:00 2001
From: Thomas Guillem <thomas@gllm.fr>
Date: Wed, 17 Jan 2018 10:06:13 +0200
Subject: [PATCH 2/2] lib: save configuration after playback/parse
Subject: [PATCH 20/21] lib: save configuration after playback/parse
The configuration is also saved when the libvlc instance is terminated but this
doesn't happen often. Indeed, apps using libvlc will generally hold the libvlc
......@@ -13,10 +13,10 @@ case (app killed by OS to free up memory, crashes, reboot, force close...).
2 files changed, 3 insertions(+)
diff --git a/lib/media.c b/lib/media.c
index 58881e315f..5380250f9d 100644
index e1d23caaf5..843f3747dc 100644
--- a/lib/media.c
+++ b/lib/media.c
@@ -574,6 +574,8 @@ void libvlc_media_release( libvlc_media_t *p_md )
@@ -578,6 +578,8 @@ void libvlc_media_release( libvlc_media_t *p_md )
libvlc_event_send( &p_md->event_manager, &event );
libvlc_event_manager_destroy( &p_md->event_manager );
......@@ -26,10 +26,10 @@ index 58881e315f..5380250f9d 100644
free( p_md );
}
diff --git a/lib/media_player.c b/lib/media_player.c
index 6e00a4547f..3994925212 100644
index 7b4050164f..29285065f0 100644
--- a/lib/media_player.c
+++ b/lib/media_player.c
@@ -182,6 +182,7 @@ static void release_input_thread( libvlc_media_player_t *p_mi )
@@ -183,6 +183,7 @@ static void release_input_thread( libvlc_media_player_t *p_mi )
/* We owned this one */
input_Stop( p_input_thread );
input_Close( p_input_thread );
......@@ -37,3 +37,6 @@ index 6e00a4547f..3994925212 100644
}
/*
--
2.19.0
From 0e145be186d052da317a8a87fbcf474bcf50b0b2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Felix=20Paul=20K=C3=BChne?= <felix@feepk.net>
Date: Mon, 10 Sep 2018 20:55:11 +0200
Subject: [PATCH 21/21] http access: retain auth struct for the runtime of the
module
Previously, it was retained for a given connection only, so all information needed for a digest login was lost as soon as the module was reconnecting due to the expected 401 on attempted basic login
---
modules/access/http.c | 12 +++++++-----
src/network/http_auth.c | 17 ++++++++++++++++-
2 files changed, 23 insertions(+), 6 deletions(-)
diff --git a/modules/access/http.c b/modules/access/http.c
index 1d58a034b8..9078c8019e 100644
--- a/modules/access/http.c
+++ b/modules/access/http.c
@@ -269,6 +269,8 @@ static int Open( vlc_object_t *p_this )
p_sys->url.psz_username = (char *) credential.psz_username;
p_sys->url.psz_password = (char *) credential.psz_password;
}
+ vlc_http_auth_Init( &p_sys->auth );
+ vlc_http_auth_Init( &p_sys->proxy_auth );
connect:
/* Connect */
@@ -356,6 +358,8 @@ error:
free( p_sys->psz_referrer );
free( p_sys->psz_username );
free( p_sys->psz_password );
+ vlc_http_auth_Deinit( &p_sys->auth );
+ vlc_http_auth_Deinit( &p_sys->proxy_auth );
return ret;
}
@@ -384,6 +388,9 @@ static void Close( vlc_object_t *p_this )
free( p_sys->psz_username );
free( p_sys->psz_password );
+ vlc_http_auth_Deinit( &p_sys->auth );
+ vlc_http_auth_Deinit( &p_sys->proxy_auth );
+
Disconnect( p_access );
}
@@ -628,8 +635,6 @@ static int Connect( stream_t *p_access )
free( p_sys->psz_icy_name );
free( p_sys->psz_icy_title );
- vlc_http_auth_Init( &p_sys->auth );
- vlc_http_auth_Init( &p_sys->proxy_auth );
p_sys->psz_location = NULL;
p_sys->psz_mime = NULL;
p_sys->i_icy_meta = 0;
@@ -977,9 +982,6 @@ static void Disconnect( stream_t *p_access )
if( p_sys->fd != -1)
net_Close(p_sys->fd);
p_sys->fd = -1;
-
- vlc_http_auth_Deinit( &p_sys->auth );
- vlc_http_auth_Deinit( &p_sys->proxy_auth );
}
/*****************************************************************************
diff --git a/src/network/http_auth.c b/src/network/http_auth.c
index 07064ce226..2ad5c28970 100644
--- a/src/network/http_auth.c
+++ b/src/network/http_auth.c
@@ -243,7 +243,10 @@ void vlc_http_auth_ParseWwwAuthenticateHeader(
/* 2 Basic Authentication Scheme */
msg_Dbg( p_this, "Using Basic Authentication" );
psz_header += sizeof( psz_basic_prefix ) - 1;
+
+ free( p_auth->psz_realm );
p_auth->psz_realm = AuthGetParam( psz_header, "realm" );
+
if ( p_auth->psz_realm == NULL )
msg_Warn( p_this, "Basic Authentication: "
"Mandatory 'realm' parameter is missing" );
@@ -259,12 +262,24 @@ void vlc_http_auth_ParseWwwAuthenticateHeader(
return;
psz_header += sizeof( psz_digest_prefix ) - 1;
+ p_auth->psz_nonce = AuthGetParam( psz_header, "nonce" );
+
+ free( p_auth->psz_realm );
p_auth->psz_realm = AuthGetParam( psz_header, "realm" );
+
+ free( p_auth->psz_domain );
p_auth->psz_domain = AuthGetParam( psz_header, "domain" );
- p_auth->psz_nonce = AuthGetParam( psz_header, "nonce" );
+
+ free( p_auth->psz_opaque );
p_auth->psz_opaque = AuthGetParam( psz_header, "opaque" );
+
+ free( p_auth->psz_stale );
p_auth->psz_stale = AuthGetParamNoQuotes( psz_header, "stale" );
+
+ free( p_auth->psz_algorithm );
p_auth->psz_algorithm = AuthGetParamNoQuotes( psz_header, "algorithm" );
+
+ free( p_auth->psz_qop );
p_auth->psz_qop = AuthGetParam( psz_header, "qop" );
p_auth->i_nonce = 0;
--
2.19.0
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment