[FFmpeg-devel] [PATCH] lavf/tls_gnutls: retry gnutls_handshake on non fatal errors
Michael Niedermayer
michael at niedermayer.cc
Thu Mar 28 01:51:05 EET 2019
On Wed, Mar 27, 2019 at 01:03:07PM +0100, Remita Amine wrote:
> fixes #7801
>
> Signed-off-by: Remita Amine <remitamine at gmail.com>
> ---
> libavformat/tls_gnutls.c | 12 +++++++-----
> 1 file changed, 7 insertions(+), 5 deletions(-)
>
> diff --git a/libavformat/tls_gnutls.c b/libavformat/tls_gnutls.c
> index e3c43683be..f32bc2821b 100644
> --- a/libavformat/tls_gnutls.c
> +++ b/libavformat/tls_gnutls.c
> @@ -182,11 +182,13 @@ static int tls_open(URLContext *h, const char *uri, int flags, AVDictionary **op
> gnutls_transport_set_push_function(p->session, gnutls_url_push);
> gnutls_transport_set_ptr(p->session, c->tcp);
> gnutls_priority_set_direct(p->session, "NORMAL", NULL);
> - ret = gnutls_handshake(p->session);
> - if (ret) {
> - ret = print_tls_error(h, ret);
> - goto fail;
> - }
> + do {
> + ret = gnutls_handshake(p->session);
> + if (gnutls_error_is_fatal(ret)) {
> + ret = print_tls_error(h, ret);
> + goto fail;
> + }
> + } while (ret);
is retrying the correct action for every non fatal error ?
is there a maximum retry count ? if not this could potentially
loop forever
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
Old school: Use the lowest level language in which you can solve the problem
conveniently.
New school: Use the highest level language in which the latest supercomputer
can solve the problem without the user falling asleep waiting.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: not available
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20190328/cac22de3/attachment.sig>
More information about the ffmpeg-devel
mailing list