I got a Windows 8.1 box running this weekend and spent some quality time making poll(2) emulation more robust, so that it can deal with more of the select->poll conversions in openssl(1) coming in the future. I also got the upstream poll conversion patches themselves in better working order. This Windows port is now achieved without any #ifdefs or odd workarounds. So, it should be possible to maintain support without having too many new warts in the LibreSSL tree.
So, what can it do now? Well, you can run this command in a powershell window: .\apps\openssl.exe s_server -cert tests\server.pem and this in another: .\apps\openssl.exe s_client and type on the console back and forth interactively. You can also run this from powershell and still get the expected result: cat .\README | apps\openssl.exe s_client -connect 127.0.0.1:4433 No big deal for those fancy 'everything works like a file' operating systems, but Windows very special in its handling of sockets vs. console IO vs pipes. Performance-wise, it's currently about 50x slower than Cygwin's native openssl.exe, but I have not begun to optimize anything yet. https://github.com/busterb/portable/commits/win32-minimal https://github.com/busterb/openbsd/commits/win32-minimal - Brent
