I'm working on implementing a Gemini server framework (yes, I'm aware of the gemini-server
package, but mine doesn't need to link against OpenSSL).
Everything's working as it should with one exception: when the client connects with a certificate, that certificate isn't being passed on to my handler. Admittedly, I had to resort to some unconventional means to try to obtain it, as the tcp-streams
package I'm using didn't seem to natively support doing that.
My code is on Codeberg, with my current attempts to fix it under the certfix
branch.
The most pertinent functions are likely runGemCapsule
, listenLoop
and adjustServerParams
(all in the Network.Gemini.Capsule
module).
Any thoughts about what might be going wrong?