lavf/tls_gnutls: retry gnutls_handshake on non fatal errors

fixes #7801

Signed-off-by: Remita Amine <remitamine@gmail.com>
(cherry picked from commit bc1749c6e4)
This commit is contained in:
Remita Amine 2019-03-27 13:03:07 +01:00 committed by Jan Ekström
parent f0fc6dd272
commit 90f9f23279

View File

@ -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);
p->need_shutdown = 1;
if (c->verify) {
unsigned int status, cert_list_size;