From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Maxime Devos Newsgroups: gmane.lisp.guile.devel Subject: Re: [PATCH] download: Do not wrap TLS port on GnuTLS >= 3.7.7. Date: Thu, 4 Aug 2022 21:37:44 +0200 Message-ID: References: <20220801090749.11655-1-ludo@gnu.org> <87pmhjuld1.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="------------9BJQHS2mScLzR4udVfmHGkK0" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="24315"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.11.0 Cc: 56867@debbugs.gnu.org, guile-devel@gnu.org To: =?UTF-8?Q?Ludovic_Court=c3=a8s?= Original-X-From: guile-devel-bounces+guile-devel=m.gmane-mx.org@gnu.org Thu Aug 04 21:38:17 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 1oJgfg-0006Ai-Sg for guile-devel@m.gmane-mx.org; Thu, 04 Aug 2022 21:38:16 +0200 Original-Received: from localhost ([::1]:37040 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oJgff-0005d6-VG for guile-devel@m.gmane-mx.org; Thu, 04 Aug 2022 15:38:15 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:46724) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oJgfL-0005Zg-RH for guile-devel@gnu.org; Thu, 04 Aug 2022 15:37:55 -0400 Original-Received: from xavier.telenet-ops.be ([2a02:1800:120:4::f00:14]:54962) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oJgfJ-0005B0-Qj for guile-devel@gnu.org; Thu, 04 Aug 2022 15:37:55 -0400 Original-Received: from [IPV6:2a02:1811:8c09:9d00:5dba:d409:33f7:a16] ([IPv6:2a02:1811:8c09:9d00:5dba:d409:33f7:a16]) by xavier.telenet-ops.be with bizsmtp id 3Xdk2800A20ykKC01Xdkhh; Thu, 04 Aug 2022 21:37:50 +0200 Content-Language: en-US In-Reply-To: <87pmhjuld1.fsf@gnu.org> DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=telenet.be; s=r22; t=1659641870; bh=X4kocjzfsGiudZ5cXpDd55gcikSJCnt1Bi4Ryj4NEZI=; h=Date:To:Cc:References:From:Subject:In-Reply-To; b=G438wH5S1ce6Dbpi7OZLbZI7eS0VqdAagmJQQ77cC+wFyc/st+pAspBFFTzaJhoS5 vAPVbQeKNGxr8jZkUk9fvoemkMMZrrEFtdknyTGaDfxDALHiVNg5ekmkHTDnNWYXLo +Co558bmXpEnUmIj4aL3Fza3c4yd7oWfio0sYMV6HFktUvEqWVGvzgO8kLbNus6ozt +sTlIoh1Rnql2kbnCTz6oC4lMhlFNiYC2n4phrLLPAQONDUJtZUiu04FF2Wzxd+kMn OYpg4TcIfr40huj6E5M0UvEZzmhyf38cTcyRjMRO62ItfAmwk5sGDnCy5KGTdfIM5F +qxOpZ5h8/lLg== Received-SPF: pass client-ip=2a02:1800:120:4::f00:14; envelope-from=maximedevos@telenet.be; helo=xavier.telenet-ops.be X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, NICE_REPLY_A=-0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action 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:21296 Archived-At: This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --------------9BJQHS2mScLzR4udVfmHGkK0 Content-Type: multipart/mixed; boundary="------------wg4N7fLMqIXfytiDmw6Tj4Nn"; protected-headers="v1" From: Maxime Devos To: =?UTF-8?Q?Ludovic_Court=c3=a8s?= Cc: 56867@debbugs.gnu.org, guile-devel@gnu.org Message-ID: Subject: Re: [PATCH] download: Do not wrap TLS port on GnuTLS >= 3.7.7. References: <20220801090749.11655-1-ludo@gnu.org> <87pmhjuld1.fsf@gnu.org> In-Reply-To: <87pmhjuld1.fsf@gnu.org> --------------wg4N7fLMqIXfytiDmw6Tj4Nn Content-Type: multipart/mixed; boundary="------------shy7FN0PbyPxty9lzyvzsxwO" --------------shy7FN0PbyPxty9lzyvzsxwO Content-Type: multipart/alternative; boundary="------------6Y8COa7uL9jlo8AbJfZVbDEq" --------------6Y8COa7uL9jlo8AbJfZVbDEq Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64 DQpPbiAwMi0wOC0yMDIyIDA5OjU5LCBMdWRvdmljIENvdXJ0w6hzIHdyb3RlOg0KPj4+ICsg ICAgICAoaWYgKG1vZHVsZS1kZWZpbmVkPyAocmVzb2x2ZS1pbnRlcmZhY2UgJyhnbnV0bHMp KQ0KPj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2V0LXNlc3Npb24tcmVjb3Jk LXBvcnQtY2xvc2UhKSA7R251VExTID49IDMuNy43DQo+PiByZXNvbHZlLW1vZHVsZSAoYW5k IHByZXN1bWFibHkgYWxzbyBzZXRzICM6ZW5zdXJlICN0IGJ5IGRlZmF1bHQsIHdoaWNoDQo+ PiBzb21ldGltZXMgY2F1c2VzICdtb2R1bGUgbm90IGZvdW5kJyBtZXNzYWdlcyB0byBiZSBy ZXBsYWNlZCBieQ0KPj4gJ3VuYm91bmQgdmFyaWFibGUnLCB3aGljaCBJIGRvbid0IHRoaW5r IGlzIHVzZWZ1bCBiZWhhdmlvdXIsIGNhbg0KPj4gIzplbnN1cmUgYmUgc2V0IHRvICNmYWxz ZT8NCj4gVGhpcyBpcyB1bm5lY2Vzc2FyeTogc2VlIHRoZSDigJhsb2FkLWdudXRsc+KAmSBt ZWNoYW5pc20gdGhlcmUuICBUaGUgaWRpb20NCj4gYWJvdmUgaXMgYWxyZWFkeSB1c2VkIGlu IGEgY291cGxlIG9mIHBsYWNlcy4NCg0KSSBoYXZlIGxvb2tlZCBhdCB0aGUgJ2xvYWQtZ251 dGxzJyBwcm9jZWR1cmUsIGJ1dCBJIGRvIG5vdCBzZWUgaG93IGl0IA0KYXZvaWRzIHRoZSBp c3N1ZSBJIG1lbnRpb25lZCAoKikuDQoNCkkgaGF2ZSBhbHNvIHNlZW4gdGhpcyBpZGlvbSAo cmVzb2x2ZS1pbnRlcmZhY2UgYW5kIGZyaWVuZHMgd2l0aCAjOmVuc3VyZSANCiN0KSBiZWZv cmUsIGluIG90aGVyIHBsYWNlcywgYnV0IHRoYXQgZG9lc24ndCBtYWtlIHRoZSBpZGlvbSBj b3JyZWN0IC0tIA0KaW4gZmFjdCwgX2JlY2F1c2VfIEkndmUgc2VlbiB0aGUgaWRpb20gZWxz ZXdoZXJlIGNhdXNpbmcgcHJvYmxlbXMsIEkgDQpyZWNvbW1lbmQgYXZvaWRpbmcgdGhlIHNh bWUgbWlzdGFrZSBoZXJlIChhbmQgcHJlZmVyYWJseSBhbHNvIA0KZWxpbWluYXRpbmcgaXQg ZWxzZXdoZXJlKS4NCg0KTW9yZSBnZW5lcmFsbHksIHRoZSBzZWNvbmQgc2VudGVuY2UgaXMg YSBsb2dpY2FsIGZhbGxhY3ksIGEgdmFyaWFudCBvZiANCiJhZCBwb3B1bHVtIiAtLSB0aGUg cHJldmFsZW5jeSBvZiBhIG1pc3Rha2UgZG9lcyBub3QgbWFrZSBpdCBjb3JyZWN0IGFuZCAN CmRvZXMgbm90IGludmFsaWRhdGUgZXZpZGVuY2Ugb2YgaXQgYmVpbmcgYSBtaXN0YWtlLg0K DQpUbyBiZSBjbGVhciwgSSBhbSBub3QgcmVmZXJyaW5nIHRvIHRoZSBleGlzdGVuY2UvYWJz ZW5jZSBvZiBjb21waWxhdGlvbiANCmVycm9ycyB3aGVuIGNvbXBpbGluZyB0aGUgR3VpeCBw YWNrYWdlIHdpdGhvdXQgZ251dGxzIGluIHRoZSBidWlsZCANCmVudmlyb25tZW50LCBidXQg dG8gdGhlIGNvbmZ1c2luZyBfY29udGVudHNfIG9mIHRoZSBlcnJvciBtZXNzYWdlIGFuZCAN CnRoZSBvZGQgc2VtYW50aWNzIG9mICM6ZW5zdXJlICN0LCBhbmQgbm90IG9ubHkgYXQgY29t cGlsYXRpb24gdGltZSBidXQgDQphbHNvIGF0IHJ1bnRpbWUuDQoNCigqKSBUaGUgYXV0b2xv YWRpbmcgb2YgZ251dGxzIGluIGxvYWQtZ251dGxzIGF2b2lkcyBjb21waWxhdGlvbiBlcnJv cnMgDQp3aGVuIGdudXRscyBpcyBhYnNlbnQsIGJ1dCBieSB0aGUgd2F5IGl0IGRvZXMgaXQs IGl0IGNhdXNlcyB0aGUgbW9kdWxlIA0KdG8gYmUgcmVnaXN0ZXJlZCBhcyAnaXQgZXhpc3Rz JyBldmVuIHdoZW4gaXQgZG9lc24ndCwgc28gdGhlIGluZm9ybWF0aW9uIA0KaW4gdGhlIG1v ZHVsZSBzeXN0ZW0gb2YgR3VpeCBiZWNvbWVzIGluY29ycmVjdC4NCg0KR3JlZXRpbmdzLA0K TWF4aW1lLg0KDQo= --------------6Y8COa7uL9jlo8AbJfZVbDEq Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable


On 02-08-2022 09:59, Ludovic Court=C3=A8= s wrote:
+      (if (module-defin=
ed? (resolve-interface '(gnutls))
+                           'set-session-record-port-close!) ;GnuTLS >=
=3D 3.7.7
resolve-module (and presum=
ably 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 there.  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 (*).

I have also seen this idiom (resolve-interface and friends with #:ensure #t) before, in other places, but that doesn't make the idiom correct -- in fact, _because_ I've seen the idiom elsewhere causing problems, I recommend avoiding the same mistake here (and preferably also eliminating it elsewhere).

More generally, the second sentence is a logical fallacy, a variant of "ad populum" -- the prevalency of a mistake does not make it correct and does not invalidate evidence of it being a mistake.

To be clear, I am not referring to the existence/absence of compilation errors when compiling the Guix package without gnutls in the build environment, but to the confusing _contents_ of the error message and the odd semantics of #:ensure #t, and not only at compilation time but also at runtime.

(*) 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.<= br>

Greetings,
Maxime.

--------------6Y8COa7uL9jlo8AbJfZVbDEq-- --------------shy7FN0PbyPxty9lzyvzsxwO Content-Type: application/pgp-keys; name="OpenPGP_0x49E3EE22191725EE.asc" Content-Disposition: attachment; filename="OpenPGP_0x49E3EE22191725EE.asc" Content-Description: OpenPGP public key Content-Transfer-Encoding: quoted-printable -----BEGIN PGP PUBLIC KEY BLOCK----- xjMEX4ch6BYJKwYBBAHaRw8BAQdANPb/d6MrGnGi5HyvODCkBUJPRjiFQcRU5V+m xvMaAa/NL01heGltZSBEZXZvcyA8bWF4aW1lLmRldm9zQHN0dWRlbnQua3VsZXV2 ZW4uYmU+wpAEExYIADgWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCX4ch6AIbAwUL CQgHAwUVCgkICwUWAgMBAAIeAQIXgAAKCRBJ4+4iGRcl7japAQC3opZ2KGWzWmRc /gIWSu0AAcfMwyinFEEPa/QhUt2CogD/e2RdF4CYAgaRHJJmZ9WU7piKbLZ7llB4 LzgezVDHggzNJU1heGltZSBEZXZvcyA8bWF4aW1lZGV2b3NAdGVsZW5ldC5iZT7C kAQTFggAOBYhBMHzPuIMUo/bfdcBH0nj7iIZFyXuBQJf56ycAhsDBQsJCAcDBRUK CQgLBRYCAwEAAh4BAheAAAoJEEnj7iIZFyXujpQBAKV1SwDDl4f24rXciDlB9L8W ycZt30CgbewMSRQk4mvbAP9dFMbVVixYBd6C8cfhR+NsOBGiOJnQABlUmgNuqGFJ Dc44BF+HIegSCisGAQQBl1UBBQEBB0BOlzIWiJzgobMF6/cqwLaLk7jIcFSZ++c0 k9cCNT6YXwMBCAfCeAQYFggAIBYhBMHzPuIMUo/bfdcBH0nj7iIZFyXuBQJfhyHo AhsMAAoJEEnj7iIZFyXuMr0BAJc8cl5PGvVmVuSQVKjleNl4DK1/XAaPAYPe34AE fZJPAP9IqLCQhH/FeJanHqBP8gNdGNI2qn8RnnLVfRJgUjZ1BA=3D=3D =3DOVqp -----END PGP PUBLIC KEY BLOCK----- --------------shy7FN0PbyPxty9lzyvzsxwO-- --------------wg4N7fLMqIXfytiDmw6Tj4Nn-- --------------9BJQHS2mScLzR4udVfmHGkK0 Content-Type: application/pgp-signature; name="OpenPGP_signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="OpenPGP_signature" -----BEGIN PGP SIGNATURE----- wnsEABYIACMWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYuwgCAUDAAAAAAAKCRBJ4+4iGRcl7rxB AQDbKaNyf0g45ofg0A5XatnAdVfY6p/O2ekykeA1q1seggEAwQ4vWalQmOIKUBBNhMvxEUWrZLS9 ir33T/PnoeYGEAk= =Iu2N -----END PGP SIGNATURE----- --------------9BJQHS2mScLzR4udVfmHGkK0--