[FFmpeg-devel] [PATCH] ipfsgateway: Remove default gateway

Michael Niedermayer michael at niedermayer.cc
Mon Aug 15 20:53:06 EEST 2022


On Wed, Aug 10, 2022 at 11:27:08PM +0100, Derek Buitenhuis wrote:
> A gateway can see everything, and we should not be shipping a hardcoded
> default from a third party company; it's a security risk.
> 
> Signed-off-by: Derek Buitenhuis <derek.buitenhuis at gmail.com>
> ---
>  libavformat/ipfsgateway.c | 11 ++++-------
>  1 file changed, 4 insertions(+), 7 deletions(-)
> 
> diff --git a/libavformat/ipfsgateway.c b/libavformat/ipfsgateway.c
> index 5a5178c563..907b61b017 100644
> --- a/libavformat/ipfsgateway.c
> +++ b/libavformat/ipfsgateway.c
> @@ -240,13 +240,8 @@ static int translate_ipfs_to_http(URLContext *h, const char *uri, int flags, AVD
>          ret = populate_ipfs_gateway(h);
>  
>          if (ret < 1) {
> -            // We fallback on dweb.link (managed by Protocol Labs).
> -            snprintf(c->gateway_buffer, sizeof(c->gateway_buffer), "https://dweb.link");
> -
> -            av_log(h, AV_LOG_WARNING,
> -                   "IPFS does not appear to be running. "
> -                   "You’re now using the public gateway at dweb.link.\n");
> -            av_log(h, AV_LOG_INFO,
> +            av_log(h, AV_LOG_ERROR,
> +                   "IPFS does not appear to be running.\n\n"
>                     "Installing IPFS locally is recommended to "
>                     "improve performance and reliability, "
>                     "and not share all your activity with a single IPFS gateway.\n"
> @@ -259,6 +254,8 @@ static int translate_ipfs_to_http(URLContext *h, const char *uri, int flags, AVD
>                     "3. Define an $IPFS_PATH environment variable "
>                     "and point it to the IPFS data path "
>                     "- this is typically ~/.ipfs\n");
> +            ret = AVERROR(EINVAL);
> +            goto err;
>          }
>      }

Before this patch, only "experts" needed to change the IPFS settings.
After this patch everyone who wants to use IPFS needs to change the IPFS
settings.
The printed text is adequate to experts but not to the average user.
It should either explain the privacy & security implications of the
different options or point to some external documentation.
Such external documentation needs to stay available at the given link
also for the lifetime of the releases it is part of

Said differently, a user choosing a gateway needs to understand that this
choice can affect her privacy. Similarly that the choice betweem gateway and
node affects privacy too

Please add better documentation to achieve that. (maybe in a seperate patch
would be cleanest)

thx

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

I do not agree with what you have to say, but I'll defend to the death your
right to say it. -- Voltaire
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20220815/f32f4076/attachment.sig>


More information about the ffmpeg-devel mailing list