diff options
author | Ludovic Courtès <ludo@gnu.org> | 2021-04-29 15:41:48 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2021-04-29 15:41:48 +0200 |
commit | 2c11e7be745a790320a42a357635997310d731d0 (patch) | |
tree | 226aafaccf6f77758ab6e0e174ff8f08318a1772 /guix/scripts/substitute.scm | |
parent | e12210dc92098d8581cea3007d57dbb6be16bb41 (diff) | |
parent | 041d62f7cc244d7f6c0bd6d60cdf08e72d400313 (diff) |
Merge remote-tracking branch 'origin/master' into wip-ungrafting
Diffstat (limited to 'guix/scripts/substitute.scm')
-rwxr-xr-x | guix/scripts/substitute.scm | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/guix/scripts/substitute.scm b/guix/scripts/substitute.scm index 48309f9b3a..8e4eae00b3 100755 --- a/guix/scripts/substitute.scm +++ b/guix/scripts/substitute.scm @@ -45,7 +45,7 @@ #:select (uri-abbreviation nar-uri-abbreviation (open-connection-for-uri . guix:open-connection-for-uri))) - #:autoload (gnutls) (error/invalid-session) + #:autoload (gnutls) (error/invalid-session error/again error/interrupted) #:use-module (guix progress) #:use-module ((guix build syscalls) #:select (set-thread-name)) @@ -417,7 +417,14 @@ server certificates." (if (or (and (eq? key 'system-error) (= EPIPE (system-error-errno `(,key ,@args)))) (and (eq? key 'gnutls-error) - (eq? (first args) error/invalid-session)) + (memq (first args) + (list error/invalid-session + + ;; XXX: These two are not properly handled in + ;; GnuTLS < 3.7.2, in + ;; 'write_to_session_record_port'; see + ;; <https://bugs.gnu.org/47867>. + error/again error/interrupted))) (memq key '(bad-response bad-header bad-header-component))) (proc (open-connection-for-uri/cached uri #:verify-certificate? #f |