Evengard / cntlm

PLEASE NOTE THAT THIS FORK IS NOT MAINTAINED! For the maintained fork please refer to https://github.com/versat/cntlm. Cntlm is an NTLM / NTLM Session Response / NTLMv2 authenticating HTTP proxy intended to help you break free from the chains of Microsoft proprietary world. More info on http://cntlm.sourceforge.net/ website. THIS VERSION SUPPORTS SSPI, WHICH ALLOWS USERS WITH SMARTCARD AUTHENTICATION TO USE IT ON WINDOWS BOXES!
GNU General Public License v2.0
129 stars 46 forks source link

Compiled version #6

Open me0wday opened 8 years ago

me0wday commented 8 years ago

Hello, could you please provide a pre-compiled release for this project? My team is very interested in this, however I can't seem to stand up an environment that can build this without errors. We are looking to deploy pre-configured packages to windows and mac computers.

Thank you in advance!

nilleb commented 8 years ago

Just use cygwin x64 to compile it. Make sure you've gcc and make in your setup.

Then, deploy cntlm.exe to c:\program files\cntlm (a folder), deploy doc/cntlm.conf to c:\program files\cntlm\cntlm.ini deploy C:\cygwin64\bin\cygwin1.dll to c:\program files\cntlm (a folder)

Finally, execute c:\program files\cntlm\cntlm and answer 'yes' to the windows firewall pop-up (make sure that your http_proxy is set to http://localhos:3128)

me0wday commented 8 years ago

It just won't compile, it won't even compile for me on OSX either, it says Compiling ntlm.c In file included from ntlm.c:28: In file included from ./ntlm.h:27:

./auth.h:45:21: error: field has incomplete type 'struct sspi_handle'
        struct sspi_handle sspi;
                           ^
./auth.h:45:9: note: forward declaration of 'struct sspi_handle'
        struct sspi_handle sspi;
               ^
1 error generated.
make: *** [ntlm.o] Error 1
jongiddy commented 8 years ago

This is completely untested, but it looks like you could add a struct definition for the case that __CYGWIN__ is not defined. In sspi.h try replacing #endif /* __CYGWIN__ */ with

#else
struct sspi_handle
{
    int dummy;
};
#endif /*  __CYGWIN__ */

(The proper long-term solution is probably to wrap uses of struct sspi_handle in auth.h and auth.c with #ifdef __CYGWIN__.)

jongiddy commented 8 years ago

PR #10 provides that last parenthesized solution.