The Simulation Coordinator and Zone Separation Enforcer Captain returned with rolling eyes from that meeting. "You know what they said? They said that this framework we're using is faulty. There's this other test package called 'gemini-diagnostics' which was used in the old days to verify whether implementations were any good and it seems that our simulation fails the test because this Perl language thing doesn't send a TLS close_notify signal. Does it it or doesn't it? And is it because of Mojo::IOLoop and it's TLS integration, or IO::Socket::SSL, or Net::SSLeay? Who can explain this arcane nonsense to me? Call one of those Archaeo-Librarians with a scripting language tag. Now!"
3 years ago
The Manager of Second Floor Files and Old Protocols was tired, and maybe also a bit drunk. Their eyes locked. Sigh! "It is a shame, really. All this time spent on the documentation, going through the code, writing toy servers late at night. We'll never catch up to Alliance tech if we continue like this. I'm not even sure the Department of Alliance Artifact Management and Operations will accept my patch." https://github.com/mojolicious/mojo/pull/1875 · 3 years ago
https://github.com/mojolicious/mojo/pull/1875
Don't tell the Alliance oficials, but their test suite is on the claer net and there is one script that might give you an insight on how to do it : websocket_proxy_tls.t, line 193 using acceptor.
There is also some leaked examples, and connect-proxy.pl use Mojo::IOLoop->remove, not sure if that only remove the event handler.
I don't know if either of those do the proper TLS close. I wouldn't be surprise if it doesn't, after all Alliance is all but HTTP/S with keep-alive directives so they can keep tracking you. I guess Mojo is optimized for that. · 3 years ago
I knew it! Experimental Alliance tech is going to be the downfall of Station! We'll see about monkey patching alternate code into this simulation. · 3 years ago
Its the com working?! Ohh Shiny!
Your Mojo::IOLoop looks like experimental Alliance tech: Looks cool but is too abstract and controling. How do you use user certs with that? I made a Gemini service with IO::Socket::SSL and Net::SSLeay (like we do on the independent planets) and you have to read the manuals to get it right. In IO::Socket::SSL there is a secction about clossing. If you are writing sftware with this, make sure you read it first. Also the "Common problems with SSL" an the FAQ in the manual are very useful. · 3 years ago