From d6054896c7b58153d6b33511e37f88f8c5872c93 Mon Sep 17 00:00:00 2001 From: Amos Jeffries Date: Fri, 12 Oct 2012 06:50:01 -0600 Subject: [PATCH] Windows: C++ conversion for libsspwin32 Updates this Squid convenience library to build as C++. Also, fixed header include path for libntlmauth symbol definitions. --- include/sspwin32.h | 9 +++++---- lib/Makefile.am | 4 ++-- lib/{sspwin32.c => sspwin32.cc} | 12 ++++++------ 3 files changed, 13 insertions(+), 12 deletions(-) rename lib/{sspwin32.c => sspwin32.cc} (98%) diff --git a/include/sspwin32.h b/include/sspwin32.h index 505c346b6d..8e7a2ec688 100644 --- a/include/sspwin32.h +++ b/include/sspwin32.h @@ -32,12 +32,12 @@ #ifndef _LIBSSPWIN32_H_ #define _LIBSSPWIN32_H_ -#ifdef __cplusplus +#if _SQUID_WINDOWS_ + +#if defined(__cplusplus) extern "C" { #endif -#if _SQUID_WINDOWS_ - #define SECURITY_WIN32 #define NTLM_PACKAGE_NAME "NTLM" #define NEGOTIATE_PACKAGE_NAME "Negotiate" @@ -79,8 +79,9 @@ extern "C" { extern BOOL Use_Unicode; extern BOOL NTLM_LocalCall; -#ifdef __cplusplus +#if defined(__cplusplus) } #endif + #endif /* _SQUID_WINDOWS_ */ #endif /* LIBSSPWIN32_H_ */ diff --git a/lib/Makefile.am b/lib/Makefile.am index bf97ce697d..05d363e8c8 100644 --- a/lib/Makefile.am +++ b/lib/Makefile.am @@ -25,10 +25,10 @@ noinst_LTLIBRARIES = \ # if ENABLE_WIN32SPECIFIC noinst_LTLIBRARIES += libsspwin32.la -libsspwin32_la_SOURCES = sspwin32.c +libsspwin32_la_SOURCES = sspwin32.cc else SUBDIRS += rfcnb smblib -EXTRA_DIST += sspwin32.c +EXTRA_DIST += sspwin32.cc endif if ENABLE_AUTH_NTLM SUBDIRS += ntlmauth diff --git a/lib/sspwin32.c b/lib/sspwin32.cc similarity index 98% rename from lib/sspwin32.c rename to lib/sspwin32.cc index 6ffa912d9f..32acd0fb8a 100644 --- a/lib/sspwin32.c +++ b/lib/sspwin32.cc @@ -32,10 +32,10 @@ */ #include "squid.h" -#include "util.h" - -#include "libntlmauth/ntlmauth.h" +#include "base64.h" +#include "ntlmauth/ntlmauth.h" #include "sspwin32.h" +#include "util.h" typedef struct _AUTH_SEQ { BOOL fInitialized; @@ -106,7 +106,7 @@ void UnloadSecurityDll(void) hModule = NULL; } -HMODULE LoadSecurityDll(int mode, char * SSP_Package) +HMODULE LoadSecurityDll(int mode, const char * SSP_Package) { TCHAR lpszDLL[MAX_PATH]; OSVERSIONINFO VerInfo; @@ -513,8 +513,8 @@ const char * WINAPI SSP_MakeChallenge(PVOID PNegotiateBuf, int NegotiateLen) } while (0); if (fResult != NULL) { challenge = (ntlm_challenge *) fResult; - Use_Unicode = NEGOTIATE_UNICODE & challenge->flags; - NTLM_LocalCall = NEGOTIATE_THIS_IS_LOCAL_CALL & challenge->flags; + Use_Unicode = NTLM_NEGOTIATE_UNICODE & challenge->flags; + NTLM_LocalCall = NTLM_NEGOTIATE_THIS_IS_LOCAL_CALL & challenge->flags; encoded = base64_encode_bin((char *) fResult, cbOut); } return encoded; -- 2.47.3