Keep Server Online
If you find the Apache Lounge, the downloads and overall help useful, please express your satisfaction with a donation.
or
A donation makes a contribution towards the costs, the time and effort that's going in this site and building.
Thank You! Steffen
Your donations will help to keep this site alive and well, and continuing building binaries. Apache Lounge is not sponsored.
| |
|
Topic: OPENSSL_Applink runtime error (vc15 - 2.4.x -openssl 1.1.0g) |
|
Author |
|
nono303
Joined: 20 Dec 2016 Posts: 205 Location: Lille, FR, EU
|
Posted: Thu 28 Dec '17 15:34 Post subject: OPENSSL_Applink runtime error (vc15 - 2.4.x -openssl 1.1.0g) |
|
|
Hi,
I actually try to make a vc15 x64 build from 2.4.x-mod_md branch and openssl 1.1.0g.
All sounds good during compilation time and httpd –V execution.
But when I launch it with my config (with mod_md directives), I have a OPENSSL_Uplink(000007FEED2453A8,08): no OPENSSL_Applink exception on stdout.
I searched on this point and had found few information (same issue for abs, openssl FAQ...) around including openssl/applink.c, adding CRYPTO_malloc_init...
Maybe I miss something!
However, what's the ''tips'' to make it working, according to Apache httpd 2.4.29 GA available :: update
Quote: | httpd.exe with OPENSSL_Applink and VC14/15 SupportedOS Manifest |
Note that I encounter the same issue with tag 2.4.29 version
Thanks in advance!
Last edited by nono303 on Sat 30 Dec '17 8:23; edited 1 time in total |
|
Back to top |
|
admin Site Admin
Joined: 15 Oct 2005 Posts: 692
|
Posted: Thu 28 Dec '17 15:51 Post subject: |
|
|
Do you have the issue, when you run it with the Apachelounge binary ? |
|
Back to top |
|
nono303
Joined: 20 Dec 2016 Posts: 205 Location: Lille, FR, EU
|
Posted: Thu 28 Dec '17 16:06 Post subject: |
|
|
admin wrote: | Do you have the issue, when you run it with the Apachelounge binary ? |
NO
I actually use Apachelounge binary and add my own module builds |
|
Back to top |
|
nono303
Joined: 20 Dec 2016 Posts: 205 Location: Lille, FR, EU
|
Posted: Wed 03 Jan '18 15:42 Post subject: |
|
|
Finaly, after some good reading, problem solved adding not one but TWO good lines in server/main.c :
Code: |
@@ -45,6 +45,10 @@
#include <unistd.h>
#endif
+#include "openssl\applink.c"
+CRYPTO_malloc_init();
|
|
|
Back to top |
|
Steffen Moderator
Joined: 15 Oct 2005 Posts: 3092 Location: Hilversum, NL, EU
|
Posted: Wed 03 Jan '18 16:01 Post subject: |
|
|
I do not have the line CRYPTO_malloc_init();
I have:
...
#include <unistd.h>
#endif
#include "openssl\applink.c"
... |
|
Back to top |
|
nono303
Joined: 20 Dec 2016 Posts: 205 Location: Lille, FR, EU
|
Posted: Thu 04 Jan '18 15:09 Post subject: |
|
|
Hi Steffen,
You're right!
I play too much with the C flags on perl & httpd compile^^
Incidentally, what's the point (advantage) of flagging httpd.exe with the manifest listing ids of the 5 OS?
Regards |
|
Back to top |
|
Steffen Moderator
Joined: 15 Oct 2005 Posts: 3092 Location: Hilversum, NL, EU
|
Posted: Thu 04 Jan '18 16:07 Post subject: |
|
|
It is needed for example for correct funtioning of PHP.
An issue GetVersionEx was reported by the PHP team, PHP failed to recognize the correct OS it's actually running under.
This is a mail from the PHP team:
We've got a simple issue which was made bigger with win10. With win8.1 it was already, but there was a trick how to workaround it. No more tricks in the pocket when win10 is out.
To the point - at least GetVersionEx won't work properly already on win 8.1. It'll deliver 6.2 as windows major.minor when there's no manifest. As I've said, there's a trick in PHP to avoid manifest, but that won't work in win10, there it'll be always 6.2. With manifest, the correct result is 6.3 on win8.1 and 10.0 on win10. For more info, see
https://msdn.microsoft.com/en-us/library/windows/desktop/dn481241%28v=vs.85%29.aspx
http://blogs.msdn.com/b/chuckw/archive/2013/09/10/manifest-madness.aspx
https://bugs.php.net/bug.php?id=69642 (here especially my last posts)
Why this affects Apache - I've already implemented manifests in master. However, if an exe has no manifest, but loads a dll with manifest - that has no effect. So PHP under httpd.exe without manifest will show 6.2 as windows number, and that will cause many WTFs that will hit us back. As PHP will fail to recognize the correct OS it's actually running under. |
|
Back to top |
|
|
|
|
|
|