From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: =?utf-8?Q?Ludovic_Court=C3=A8s?= Newsgroups: gmane.lisp.guile.devel Subject: Re: [PATCH] download: Do not wrap TLS port on GnuTLS >= 3.7.7. Date: Fri, 05 Aug 2022 10:31:58 +0200 Message-ID: <877d3njdkx.fsf@gnu.org> References: <20220801090749.11655-1-ludo@gnu.org> <87pmhjuld1.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="2356"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.1 (gnu/linux) Cc: 56867@debbugs.gnu.org, guile-devel@gnu.org To: Maxime Devos Original-X-From: guile-devel-bounces+guile-devel=m.gmane-mx.org@gnu.org Fri Aug 05 10:32:45 2022 Return-path: Envelope-to: guile-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oJslB-0000WG-5g for guile-devel@m.gmane-mx.org; Fri, 05 Aug 2022 10:32:45 +0200 Original-Received: from localhost ([::1]:58572 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oJslA-00061d-48 for guile-devel@m.gmane-mx.org; Fri, 05 Aug 2022 04:32:44 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:37790) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oJskZ-0005zr-2Z for guile-devel@gnu.org; Fri, 05 Aug 2022 04:32:07 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:33864) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oJskW-0007Oc-Jx; Fri, 05 Aug 2022 04:32:04 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:In-Reply-To:Date:References:Subject:To: From; bh=fGDz28zEFuqRmW7TgnfRI6AcHBg/aKDvaQ+j2NRHYlo=; b=oMIUzWDBYQoIL6CoCCI2 KBNDu1O0Kug4QGBQXqcyRwRPH29etnHwc672Zt/gOXRb71JchgznV2LDFVp9AMxzxM/VvrvsFKXrl hdElyVTch+51DB4R52u2za/h9hczJkp7xxokJNqvbqaFpR9O2sF14d66EL3/cELngrcBHxfrIHUCh 3S7bOCLjTdqjQejriiYi82Ub4uC2AHbthNbttJLfd7Ym6h6N3NH/nZxybBu8nc09C6gOxDfj/lkq0 I+9xzjBeOh2jUtBN1BSfsyZxJcX8T/Bt/J+1CxeyPIHZqgBrvJapSeqxbUM96U0K3wwAK5lnk9tzt +AqRwf6awSZWDg==; Original-Received: from [2001:660:6102:320:e120:2c8f:8909:cdfe] (port=46964 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oJskT-00018K-PQ; Fri, 05 Aug 2022 04:32:04 -0400 X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: Octidi 18 Thermidor an 230 de la =?utf-8?Q?R=C3=A9vo?= =?utf-8?Q?lution=2C?= jour de l'Amande X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu In-Reply-To: (Maxime Devos's message of "Thu, 4 Aug 2022 21:37:44 +0200") X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-devel-bounces+guile-devel=m.gmane-mx.org@gnu.org Original-Sender: "guile-devel" Xref: news.gmane.io gmane.lisp.guile.devel:21297 Archived-At: Hi, Maxime Devos skribis: > On 02-08-2022 09:59, Ludovic Court=C3=A8s wrote: >>>> + (if (module-defined? (resolve-interface '(gnutls)) >>>> + 'set-session-record-port-close!) ;GnuTLS >= =3D 3.7.7 >>> resolve-module (and presumably also sets #:ensure #t by default, which >>> sometimes causes 'module not found' messages to be replaced by >>> 'unbound variable', which I don't think is useful behaviour, can >>> #:ensure be set to #false? >> This is unnecessary: see the =E2=80=98load-gnutls=E2=80=99 mechanism the= re. The idiom >> above is already used in a couple of places. > > I have looked at the 'load-gnutls' procedure, but I do not see how it > avoids the issue I mentioned (*). [...] > (*) The autoloading of gnutls in load-gnutls avoids compilation errors > when gnutls is absent, but by the way it does it, it causes the module > to be registered as 'it exists' even when it doesn't, so the > information in the module system of Guix becomes incorrect. I understand what you=E2=80=99re saying (I=E2=80=99m quite familiar with Gu= ile=E2=80=99s module system :-) and I do agree that #:ensure #t can lead to bad surprises), but I don=E2=80=99t think this is correct: --8<---------------cut here---------------start------------->8--- scheme@(guile-user)> (resolve-interface '(xxx)) ice-9/boot-9.scm:1685:16: In procedure raise-exception: no code for module (xxx) Entering a new prompt. Type `,bt' for a backtrace or `,q' to continue. scheme@(guile-user) [1]> ,q scheme@(guile-user)> (resolve-module '(xxx) #f #:ensure #f) $1 =3D #f --8<---------------cut here---------------end--------------->8--- This is because =E2=80=98resolve-interface=E2=80=99 does (resolve-module = =E2=80=A6 #:ensure #f). Does that make sense? Thanks, Ludo=E2=80=99.