Skip to content
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

t\local\39_pkcs12.t gives runtime error OPENSSL_Uplink(00007FFFBC46D000,08): no OPENSSL_Applink #281

Closed
vrkosk opened this issue Jul 1, 2021 · 2 comments · Fixed by #405

Comments

@vrkosk
Copy link

vrkosk commented Jul 1, 2021

I'm compiling Perl, openssl and Net::SSLeay using Visual Studio on Windows. I've tried all 36 combinations of: VS2015 and VS2017; Perl 5.30, 5.32, 5.34; openssl 1.0.2q, 1.1.1k; and Net::SSLeay 1.85. 1.88 and 1.90. In all cases, the 39_pkcs12.t test of Net::SSLeay fails with:

t\local\39_pkcs12.t .................... OPENSSL_Uplink(00007FFFBC46D000,08): no OPENSSL_Applink

Operating system is Windows Server 2019 (1809). This problem was reported many years ago in RT and updated as recently as 2020:

https://rt.cpan.org/Public/Bug/Display.html?id=101638

I couldn't find it in github issues (which is a bit shocking), so I'm opening a new issue.

When I apply the patch from the RT bug 101638 to Net::SSLeay 1.88 and recompile Net::SSLeay, the tests succeed. I haven't tried the patched version in a production system yet, because I don't fully understand what the patch does or whether it could cause other issues.

@jddurand
Copy link
Contributor

An alternative seems to not depend on applink, using BIO. An example is here: confluentinc/librdkafka@6f33aee
Worked for me.

@h-vn
Copy link
Contributor

h-vn commented Dec 18, 2022

Here are some more examples about discussions where avoiding applink is recommended as the correct solution:

Here's a snippet from the above openssl-dev list message for posterity. The OpenSSL project's mailing list archive seems not to reach that far:

Re: Win32 OPENSSL_USE_APPLINK usage
Andy Polyakov Tue, 20 Apr 2010 13:38:00 -0700

It should be noted that applink was introduced primarily in order to facilitate migration for legacy applications. New code should rather abstain from using above mentioned subset of OpenSSL API (whatever using FILE *) and simply avoid applink.

@h-vn h-vn closed this as completed in #405 Dec 18, 2022
h-vn pushed a commit that referenced this issue Dec 18, 2022
Use BIO API functions instead of FILE * and Unix type file descriptors
to avoid errors such as these:
 
OPENSSL_Uplink(00007FFFBC46D000,08): no OPENSSL_Applink
OPENSSL_Uplink(02831000,08): no OPENSSL_Applink

In addition to GitHub issue GH-281, this also addresses
CPAN Request Tracker Bug 101638.
https://rt.cpan.org/Public/Bug/Display.html?id=101638
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants