New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Wrong time_t size in Strawberry GCC leads to OpenSSL failures #15
Comments
I see two ways to fix it, either openssl shouldn't be built with Building perl with that flag without patching mingw is IMO not an option because it may potentially break libraries built for perl using strawberry's mingw but without perl's infrastructure (that is, without the knowledge of |
What would be downsides of building openssl without |
Here's more information about what happens with In short: it looks like for best results with |
FYI I am going to build the next openssl binaries without |
The Net::SSLeay tests now succeed with 32bit Strawberry Perl 5.30.3.1. Also with 32bit 5.32.0.1 the tests pass correctly. Thanks! |
We first noticed this while investigating failures reported by Windows smoke testers in the latest developer release of Net-SSLeay, although we've since been able to reproduce the bug without Net-SSLeay or Perl at all:
https://www.cpantesters.org/cpan/report/11408f94-6c8c-1014-bd64-355a9ee28768
https://www.cpantesters.org/cpan/report/d35ef3c0-6c47-1014-8a31-59579ee28768
OpenSSL's
ASN1_*
functions behave strangely with 64-bit editions of Windows and the GCC in 32-bit versions of Strawberry Perl >= 5.30.0.1. This MWE should output the current UTC time plus 1 hour:This outputs the expected result when compiled with the VS compiler, and when compiled with Strawberry Perl 5.28.2.1 x86's GCC. However, with Strawberry Perl 5.30.0.1 x86's GCC:
As you can see, the date is off by almost 10 years.
I brought this up in #win32, and @xenu suggested that it could be down to the introduction of the
-D__MINGW_USE_VC2005_COMPAT
flag when building OpenSSL, which causes MinGW to use a 64-bittime_t
.The text was updated successfully, but these errors were encountered: