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!! <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>but you need to handle the EAGAIN yourself, hence my tls-handshake loop <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.. <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...