bug#70645: Reliable HTTPS networking

Christopher Baines <[email protected]>
Newsgroups gmane.lisp.guile.bugs
Message-ID <[email protected]>
For years now I've been trying to work out how to do reliable HTTPS
networking with Guile, where reliable just means that it can't hang
indefinitely.

After a few wrong turns, I believe the way to do this is use
non-blocking ports as that combined with suspendable ports in Guile
allows you to provide current-read-waiter/current-write-waiter
procedures that will timeout at some point.

I think the final hurdle is to get tls-wrap in (web client) to support
Asynchronous operation with GnuTLS [1] and I think there are only a
couple of things missing. make-session needs passing
connection-flag/nonblock and error/again plus error/interrupted
exceptions need handling for the handshake using the information from
record-get-direction about whether Guile should wait to write or read.

1: https://gnutls.org/manual/html_node/Asynchronous-operation.html

I think I forgot to move things forward after guile-gnutls 4.0.0
released with record-get-direction, so I'm opening this bug to try and
keep track of things.
signature.asc (application/pgp-signature, 987 B)
-----BEGIN PGP SIGNATURE-----

iQKlBAEBCgCPFiEEPonu50WOcg2XVOCyXiijOwuE9XcFAmYve7hfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF
ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcRHG1haWxAY2Jh
aW5lcy5uZXQACgkQXiijOwuE9XfnlhAArWnkH3YMqRxXbe+91T772lJq7LEto6EX
bWXZB01e2NuinHvzNzM60CVVlb7/WQ/+F5fuK+/bYNI0zYqyYHsPaZfK5NXMsVRi
SqvLmuhFGsEe7Lsf7nTWFeDf14J/2W3Pwa+ZzHI007R1iX/rBXARtWUSD0xPoHza
1cOsPT0R4PSi/EG413DYtxL/3d07MoFso5B0Am1IxrnxlL2PwaYuuw74h8qNjKpR
SqkV3DrAeXrboURtWSZMEOwaH85nHu+S3RxNi0PF0fvK2WLU89m/B/RHcD/ujrX8
vcRiNiceha30uiCPynWcvBWGp5Rl9a15R3CGOL39Qqx+SgFBpXKb7hjwF/eCc69K
jUTYtWc4krZaDCDQ5gsHXPFBdv0YMEQ/FCwoMQKE8HbSQor4sJdgFroQPh1XRsDm
2Odx/4+9pUTN2Q2PLHyps0vy96FZnkPU84nO3BZX/Bm9XXPsxc3hoQVJ8h05ljV/
DuavaHHJ1neJjK8R30Ex8J6F/jl3MHRSr7SXD3GN+pUcR0/jJnnkVWHqM4lGdrVa
FwEDDmnT0MWhBcwT4SfBu1gknmBGhIoH64NaqH8EMiubz35J6T5LgnyA49c1OuMG
5px8aOVaMqaTVRpE7fLTXdNXBOZ97cxF1caz4MpWD76W2Mz8XcJ+GGK3pnn9eabm
n2FtXs4JOXU=
=GopD
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.