Re: [FFmpeg-devel] [PATCH] lavf/tls_gnutls: check for interrupt inside handshake loop

2020-04-21 Thread Jan Ekström
On Mon, Apr 20, 2020 at 8:07 PM Jan Ekström  wrote:
>
> On Thu, Sep 5, 2019 at 6:13 PM Michael Niedermayer
>  wrote:
> >
> > On Fri, Aug 16, 2019 at 10:38:46AM +0200, Błażej Szczygieł wrote:
> > > fixes #8080
> > >
> > > Signed-off-by: Błażej Szczygieł 
> > > ---
> > >  libavformat/tls_gnutls.c | 4 
> > >  1 file changed, 4 insertions(+)
> > >
> > > diff --git a/libavformat/tls_gnutls.c b/libavformat/tls_gnutls.c
> > > index f32bc2821b..f507b7d044 100644
> > > --- a/libavformat/tls_gnutls.c
> > > +++ b/libavformat/tls_gnutls.c
> > > @@ -184,6 +184,10 @@ static int tls_open(URLContext *h, const char *uri, 
> > > int flags, AVDictionary **op
> > >  gnutls_priority_set_direct(p->session, "NORMAL", NULL);
> > >  do {
> > >  ret = gnutls_handshake(p->session);
> > > +if (ff_check_interrupt(>interrupt_callback)) {
> > > +ret = AVERROR_EXIT;
> > > +goto fail;
> > > +}
> > >  if (gnutls_error_is_fatal(ret)) {
> > >  ret = print_tls_error(h, ret);
> > >  goto fail;
> >
> > probably ok
> >
> > Thanks
> >
>
> I've been meaning to look at this (and apply if it looks good), and
> while the other TLS wrappers don't seem to have this (I guess their
> handshake doesn't base on a loop?), it seems to almost match examples
> found in f.ex. libavformat/network.c, libavformat/libzmq.c or
> libavformat/libsrt.c.
>
> The only point I notice is that usually the interrupt check is the
> first thing done a loop, and unless people see any issues with it, I
> will apply this patch with that change during today or so?
>

Re-checked with Michael and pushed with the minor modification of
moving the interrupt handling to the beginning of the loop (as that is
how various similar I/O loops elsewhere in the code base seem to
handle these interrupts).

Jan
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Re: [FFmpeg-devel] [PATCH] lavf/tls_gnutls: check for interrupt inside handshake loop

2020-04-20 Thread Jan Ekström
On Thu, Sep 5, 2019 at 6:13 PM Michael Niedermayer
 wrote:
>
> On Fri, Aug 16, 2019 at 10:38:46AM +0200, Błażej Szczygieł wrote:
> > fixes #8080
> >
> > Signed-off-by: Błażej Szczygieł 
> > ---
> >  libavformat/tls_gnutls.c | 4 
> >  1 file changed, 4 insertions(+)
> >
> > diff --git a/libavformat/tls_gnutls.c b/libavformat/tls_gnutls.c
> > index f32bc2821b..f507b7d044 100644
> > --- a/libavformat/tls_gnutls.c
> > +++ b/libavformat/tls_gnutls.c
> > @@ -184,6 +184,10 @@ static int tls_open(URLContext *h, const char *uri, 
> > int flags, AVDictionary **op
> >  gnutls_priority_set_direct(p->session, "NORMAL", NULL);
> >  do {
> >  ret = gnutls_handshake(p->session);
> > +if (ff_check_interrupt(>interrupt_callback)) {
> > +ret = AVERROR_EXIT;
> > +goto fail;
> > +}
> >  if (gnutls_error_is_fatal(ret)) {
> >  ret = print_tls_error(h, ret);
> >  goto fail;
>
> probably ok
>
> Thanks
>

I've been meaning to look at this (and apply if it looks good), and
while the other TLS wrappers don't seem to have this (I guess their
handshake doesn't base on a loop?), it seems to almost match examples
found in f.ex. libavformat/network.c, libavformat/libzmq.c or
libavformat/libsrt.c.

The only point I notice is that usually the interrupt check is the
first thing done a loop, and unless people see any issues with it, I
will apply this patch with that change during today or so?

Best regards,
Jan
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Re: [FFmpeg-devel] [PATCH] lavf/tls_gnutls: check for interrupt inside handshake loop

2019-09-05 Thread Michael Niedermayer
On Fri, Aug 16, 2019 at 10:38:46AM +0200, Błażej Szczygieł wrote:
> fixes #8080
> 
> Signed-off-by: Błażej Szczygieł 
> ---
>  libavformat/tls_gnutls.c | 4 
>  1 file changed, 4 insertions(+)
> 
> diff --git a/libavformat/tls_gnutls.c b/libavformat/tls_gnutls.c
> index f32bc2821b..f507b7d044 100644
> --- a/libavformat/tls_gnutls.c
> +++ b/libavformat/tls_gnutls.c
> @@ -184,6 +184,10 @@ static int tls_open(URLContext *h, const char *uri, int 
> flags, AVDictionary **op
>  gnutls_priority_set_direct(p->session, "NORMAL", NULL);
>  do {
>  ret = gnutls_handshake(p->session);
> +if (ff_check_interrupt(>interrupt_callback)) {
> +ret = AVERROR_EXIT;
> +goto fail;
> +}
>  if (gnutls_error_is_fatal(ret)) {
>  ret = print_tls_error(h, ret);
>  goto fail;

probably ok

Thanks

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

Democracy is the form of government in which you can choose your dictator


signature.asc
Description: PGP signature
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Re: [FFmpeg-devel] [PATCH] lavf/tls_gnutls: check for interrupt inside handshake loop

2019-09-04 Thread Błażej Szczygieł

fixes #8080

Signed-off-by: Błażej Szczygieł 
---
  libavformat/tls_gnutls.c | 4 
  1 file changed, 4 insertions(+)

diff --git a/libavformat/tls_gnutls.c b/libavformat/tls_gnutls.c
index f32bc2821b..f507b7d044 100644
--- a/libavformat/tls_gnutls.c
+++ b/libavformat/tls_gnutls.c
@@ -184,6 +184,10 @@ static int tls_open(URLContext *h, const char *uri, int 
flags, AVDictionary **op
  gnutls_priority_set_direct(p->session, "NORMAL", NULL);
  do {
  ret = gnutls_handshake(p->session);
+if (ff_check_interrupt(>interrupt_callback)) {
+ret = AVERROR_EXIT;
+goto fail;
+}
  if (gnutls_error_is_fatal(ret)) {
  ret = print_tls_error(h, ret);
  goto fail;



Ping?
This causes QMPlay2 unstable in some cases: 
https://github.com/zaps166/QMPlay2/issues/239

___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".