bug#79451: (web server http) make-default-socket hard-codes PF_INET

"Athena L. Martin" via "Bug reports for GUILE, GNU's Ubiquitous Extension Language" <[email protected]> Mon, 15 Sep 2025 01:09:21 +0100
Newsgroups gmane.lisp.guile.bugs
Message-ID <1931408.tdWV9SEqCh@spock>
--nextPart2235441.irdbgypaU6
Content-Transfer-Encoding: 7Bit
Content-Type: text/plain; charset="utf-8"; protected-headers="v1"
From: "Athena L. Martin" <[email protected]>
To: [email protected]
Subject: (web server http) make-default-socket hard-codes PF_INET
Date: Mon, 15 Sep 2025 01:09:21 +0100
Message-ID: <1931408.tdWV9SEqCh@spock>
MIME-Version: 1.0

scheme@(guile-user)> (use-modules (web server))
scheme@(guile-user)> (define (handler request body) (values '((content-type . 
(text/plain))) "Hello world"))
scheme@(guile-user)> (run-server handler 'http `(#:family ,AF_INET6 #:port 
8081))

Expected result: A Web server starts and serves "Hello world" to all requests, 
via IPv6.
Actual result:
ice-9/boot-9.scm:1685:16: In procedure raise-exception:
In procedure bind: Address family not supported by protocol

I traced this problem to make-default-socket, which hard-codes PF_INET, 
heedless of the fact that different address families may require different 
protocol families as well (indeed, the two terms are nearly synonymous 
nowadays).

Guile version:
guile (GNU Guile) 3.0.9

Distributor: GNU Guix
--nextPart2235441.irdbgypaU6
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part.
Content-Transfer-Encoding: 7Bit

-----BEGIN PGP SIGNATURE-----

iQEzBAABCAAdFiEELAGoSzc6nHIdbhP+S8DcQuG8sXMFAmjHWTIACgkQS8DcQuG8
sXPKUgf+I2FFKPe3UffmqXLZZCbGxc1dFcpizwSgWpij8U2wBcIlgZL94dxpkp77
X924VtPnJad+bNyWVrCL6oQXxbsgqFY3li0yH+ptVxuwOR/E0Gk1a9K1gH4R+ubz
ywAX5HfWCXDdRErc6ga/K2WJItMQ7NCbe4y3tx+eghTvsZOEjXhI7conSw21LHm4
TBIRLiAPQb2slab6DAtSac5pE0V3u9nsaC67+uZlsV8KfTrihOk913fNLo6C0NHk
XrvoGqLuLcUGnajmduFu18TMXjdi+SQ4z/dR/498nukkMwefpwANZqkqm9G3EN24
GLq/KCjF9Jbslb9jq3sbEvO30D/pKA==
=jGDA
-----END PGP SIGNATURE-----

--nextPart2235441.irdbgypaU6--