Description
We have had several issues with OpenSSL statically linked in the Windows gem. Issues include #250 and #290. Symptoms of using OpenSSL v1.0.x include:
- Slow initial connections.
- tiny_tds.so not a valid win32 application
Potential Workarounds
- Adding TinyTDS just before Rails starts up, for example above Bundler's setup in boot.rb.
- Setting chcp 866 for tiny_tds.so
Proposed Next Steps
One of the following two have been proposed.
- Hacks for old OpenSSL. Like using libeay32.dll.
- Use a modern OpenSSL v1.1.0
Test Appveyor Build
It would be really nice if we changed our OpenSSL version in extconsts.rb to use 1.1.0.x. I found when doing this that there are some Perl errors on Appveyor because the version is too low. We have a path config set to SET PATH=C:\MinGW\msys\1.0\bin;%PATH%
and that seems to put a old version of Perl in. I did try adding SET PATH=C:\Perl\bin
after the MinGW, but it does not seem to add totally fix the issue.
Update Docker Usage
I will be doing some CircleCI testing to ensure 1.1.x works for posix systems. However, there is a fair amount of work to make the native rake gem:windows
tasks work for us to distribute native Windows gems.