IRC channel logs

2023-05-11.log

back to list of logs

<civodul>dthompson: guile-gnutls 3.7.12, released yesterday, fixes a bug in this area
<civodul>so yes, it should work with suspendable ports
<civodul>the restriction is that you have to use set-session-transport-fd! so that it knows about the underlying FD
<civodul>(and not set-session-transport-port!)
<dthompson>sneek: later tell civodul oh! I was using set-session-transport-port! so I'll have to try updating and switching to set-session-transport-fd! thanks for the heads up!!
<sneek>Okay.
<flatwhatson>a subtle detail in the guile-gemini example ;)
<dthompson>I did notice that in your code
<dthompson>but I hadn't investigated if the procedures behaved differently
<flatwhatson>iirc it avoids the "custom" port stuff that fibers can't deal with
<flatwhatson>*suspendable ports
<flatwhatson>but you need to handle the EAGAIN yourself, hence my tls-handshake loop
<dthompson>what a mess
<flatwhatson>it's not pretty!
<dthompson>the gnutls manual also has a tutorial that includes several procedures that do not exist
<flatwhatson>i think guile-gnutls was only recently separated from gnutls, so it should be easier to fix some of that now
<dthompson>wasted plenty of time figuring out how to make a session with anonymous DH key exchange
<dthompson>I stripped all the TLS stuff away and finally got a minimal, unencrypted tcp+dns netlayer for goblins working. a lot of time for not much code haha but I'll keep iterating on it..
<flatwhatson>nice!
<dthompson>flatwhatson: I have adapted your retry code. very cool. thanks again for the link that was super helpful.
<flatwhatson>dthompson: glad it helped! i still bear the scars. it's a bit unintuitive but gnutls holds the handshake state, and subsequent calls to handshake are resuming that operation
<flatwhatson>there was a fair bit of C groveling to piece that stuff together...
<dthompson>yeah, makes sense. first time using gnutls so there's so much I don't know.
<dthompson>I got a non-goblins program to do the handshake with suspendable ports
<dthompson>now to work that into the goblins netlayer...