Subject: bug#47867: [1.2.1 pre-release testing] substitute downloading and TLS errors

From: Ludovic Courtès <[email-masked]>
Date: Mon, 21 Jun 2021 21:18:33 +0200

Hi,

Ludovic Courtès <[email-masked]> skribis:

>>> I double-checked and the GnuTLS Guile bindings already
>>> handle GNUTLS_E_AGAIN and GNUTLS_E_INTERRUPTED, so my guess is that this
>>> was just a side effect of dealing with stale TLS sessions:
>>>   https://gitlab.com/gnutls/gnutls/-/blob/master/guile/src/core.c#L1042
>>
>> Strange,.
>
> My bad: I was looking at ‘read_from_session_record_port’, but the
> problem is in ‘write_to_session_record_port’.  All is clear now.
>
> I’ve pushed these as two separate patches:
>
>   c50db7156d http-client: Remove exception mishandling in 'http-multiple-get'.
>   02d62978f4 http-client, substitute: Gracefully handle GnuTLS EAGAIN/EINTR.
>
> This bug should be gone now.
>
> I’ll go ahead and fix ‘write_to_session_record_port’ in GnuTLS.

It took a while but this is now fixed in GnuTLS:

  https://gitlab.com/gnutls/gnutls/-/merge_requests/1417

I *think* the fix will be included in 3.7.3 (it’s not in 3.7.2, released
a couple of weeks ago).

Ludo’.