Error loading mod_authnz_sspi - not a valid Win32 application

Started by jleveille1337, May 25, 2020, 09:14:12 PM

Previous topic - Next topic

jleveille1337

My company is attempting to deploy mod_authnz_sspi.  We have done so successfully under Windows 2012, but now we are trying to do so on Windows 2019 and encountering errors.

I have acquired Apache 2 through a download of Subversion WANDisco 1.11.0.  This shows that Apache 2.4.34 is installed.
C:\Software\Subversion\Apache2\bin>httpd.exe -v
Server version: Apache/2.4.34 (Win32)
Server built:   Jul 23 2018 14:58:15

The server runs just fine until I try to plug in the sspi module.  Once I do I get this error:
C:\Software\Subversion\Apache2\bin>httpd
httpd: Syntax error on line 186 of C:/Software/Subversion/Apache2/conf/httpd.conf: Cannot load modules/mod_authnz_sspi.so into server: %1 is not a valid Win32 application.

I have attempted to deploy with all four of the zip files located on this web page https://www.apachehaus.net/modules/mod_authnz_sspi/
All four of them fail with the same load error.

I do not understand if I have the correct version alignment between the httpd server and the sspi module.

Thank you for any help you can provide.
John

Gregg

Well, all i know with the info you've given is that it's 2.4.34 Win32, what also matters is the Visual C++ version it was built on. You can run modules with lower VC number but not higher. For example, if the VC number is 11, you can run modules of VC11, 10, 9, 8 etc. but not VC12, 14, 15 or VS16 (they skipped 13). Since all I have available at this time is VC14 & 15 modules, this may be your problem.

Unfortunately this is somewhat tough to figure out. Was that Apache part of an installer?
Do you maybe have an msvcrXXX.dll in Apache's bin folder and if so what is the numeric (XXX) part of the filename?

jleveille1337

I see this in the bin folder: msvcr120.dll

So I see that the sspi modules are labeled vc14 and vc15.  Do you suggest that I try to replace the msvcr with a newer one?  Or is it the case that I need a whole different build of Apache?  Maybe I need a sspi build for vc12?  Sorry if I am floundering in response.

Thanks,
John

Gregg

Ouch,  you could use a VC11 module module but I cannot find the ones I had, and I never throw anything away. I just forget where I put them. I'll dig around for my VC11 version or a VC11 version of mod_authn_ntlm which is a much better choice anyway. We used to have it here so it's in my backup somewhere.

jleveille1337

Thanks Gregg.  However, something doesn't add up here.  On a separate machine at work, one of my team members got this working.  He was running Windows 2012, not 2019 like I am.  He was also running a system with, perhaps, some slightly different software packages on it.  I am really bothered by not understanding how this fresh build could fail on me while he was able to make that other setup work.

Before you go digging for old stuff - how about I check in with him tomorrow at work and try to dig into that other virtual machine and see if I can figure out how it is working for him?

I suppose the best way for me to compare the systems is to look at his setup and see what msvcr version he has in the Apache bin folder, eh?

Thanks,
John

jleveille1337

Gregg,

I did a bit of tinkering.  I verified that the Apache setup that my co-worker built is working on Windows 2012.  Then I lifted the entire Apache2 directory, dragged it over to Windows 2019 and swapped it into place for my Apache server root folder.  When I tried starting it on Windows 2019 I got the very same library load error.  My conclusion is that there is something to do with one of these two things:
1. Somehow, mod_authnz_sspi is not compatible with Windows 2019.
2. Since my Windows 2019 server build is very fresh (not much software is on the virutal machine at this point) there is some third variable in play on the Windows 2012 system.  For instance, some other piece of software got installed that somehow enabled Apache to be able to load the module correctly.

I have no idea how to make progress with either theory.  Any advice that you (or anyone else) can give would be greatly appreciated.

Kind regards,
John

mario


jleveille1337

Thank you Mario and Gregg.  I switched to NTLM and I was able to get subversion working where it captures userid in the subversion log.  Many thanks!

John