From f56bd1e27a5080ed9b8dedb702cc274bc1599ac8 Mon Sep 17 00:00:00 2001 From: Zachary Lund Date: Fri, 17 May 2024 11:29:09 -0500 Subject: [PATCH] Use ANSI functions explicitly --- include/wintls/detail/encrypt_buffers.hpp | 2 +- include/wintls/detail/sspi_functions.hpp | 16 ++++++++-------- include/wintls/detail/sspi_handshake.hpp | 8 ++++---- include/wintls/detail/sspi_shutdown.hpp | 2 +- 4 files changed, 14 insertions(+), 14 deletions(-) diff --git a/include/wintls/detail/encrypt_buffers.hpp b/include/wintls/detail/encrypt_buffers.hpp index d07edd48..ea7c6aaa 100644 --- a/include/wintls/detail/encrypt_buffers.hpp +++ b/include/wintls/detail/encrypt_buffers.hpp @@ -29,7 +29,7 @@ class encrypt_buffers : public sspi_buffer_sequence<4> { template std::size_t operator()(const ConstBufferSequence& buffers, SECURITY_STATUS& sc) { if (data_.empty()) { - sc = sspi_functions::QueryContextAttributes(ctxt_handle_.get(), SECPKG_ATTR_STREAM_SIZES, &stream_sizes_); + sc = sspi_functions::QueryContextAttributesA(ctxt_handle_.get(), SECPKG_ATTR_STREAM_SIZES, &stream_sizes_); if (sc != SEC_E_OK) { return 0; } diff --git a/include/wintls/detail/sspi_functions.hpp b/include/wintls/detail/sspi_functions.hpp index cb8a0217..1303b53f 100644 --- a/include/wintls/detail/sspi_functions.hpp +++ b/include/wintls/detail/sspi_functions.hpp @@ -15,14 +15,14 @@ namespace wintls { namespace detail { namespace sspi_functions { -inline SecurityFunctionTable* sspi_function_table() { - static SecurityFunctionTable* impl = InitSecurityInterface(); +inline SecurityFunctionTableA* sspi_function_table() { + static SecurityFunctionTableA* impl = InitSecurityInterfaceA(); // TODO: Figure out some way to signal this to the user instead of aborting WINTLS_ASSERT_MSG(impl != nullptr, "Unable to initialize SecurityFunctionTable"); return impl; } -inline SECURITY_STATUS AcquireCredentialsHandle(SEC_CHAR* pPrincipal, +inline SECURITY_STATUS AcquireCredentialsHandleA(SEC_CHAR* pPrincipal, SEC_CHAR* pPackage, unsigned long fCredentialUse, void* pvLogonId, @@ -31,7 +31,7 @@ inline SECURITY_STATUS AcquireCredentialsHandle(SEC_CHAR* pPrincipal, void* pvGetKeyArgument, PCredHandle phCredential, PTimeStamp ptsExpiry) { - return sspi_function_table()->AcquireCredentialsHandle(pPrincipal, + return sspi_function_table()->AcquireCredentialsHandleA(pPrincipal, pPackage, fCredentialUse, pvLogonId, @@ -46,7 +46,7 @@ inline SECURITY_STATUS DeleteSecurityContext(PCtxtHandle phContext) { return sspi_function_table()->DeleteSecurityContext(phContext); } -inline SECURITY_STATUS InitializeSecurityContext(PCredHandle phCredential, +inline SECURITY_STATUS InitializeSecurityContextA(PCredHandle phCredential, PCtxtHandle phContext, SEC_CHAR* pTargetName, unsigned long fContextReq, @@ -58,7 +58,7 @@ inline SECURITY_STATUS InitializeSecurityContext(PCredHandle phCredential, PSecBufferDesc pOutput, unsigned long* pfContextAttr, PTimeStamp ptsExpiry) { - return sspi_function_table()->InitializeSecurityContext(phCredential, + return sspi_function_table()->InitializeSecurityContextA(phCredential, phContext, pTargetName, fContextReq, @@ -80,8 +80,8 @@ inline SECURITY_STATUS DecryptMessage(PCtxtHandle phContext, PSecBufferDesc pMes return sspi_function_table()->DecryptMessage(phContext, pMessage, MessageSeqNo, pfQOP); } -inline SECURITY_STATUS QueryContextAttributes(PCtxtHandle phContext, unsigned long ulAttribute, void* pBuffer) { - return sspi_function_table()->QueryContextAttributes(phContext, ulAttribute, pBuffer); +inline SECURITY_STATUS QueryContextAttributesA(PCtxtHandle phContext, unsigned long ulAttribute, void* pBuffer) { + return sspi_function_table()->QueryContextAttributesA(phContext, ulAttribute, pBuffer); } inline SECURITY_STATUS EncryptMessage(PCtxtHandle phContext, unsigned long fQOP, PSecBufferDesc pMessage, unsigned long MessageSeqNo) { diff --git a/include/wintls/detail/sspi_handshake.hpp b/include/wintls/detail/sspi_handshake.hpp index 292f2c33..e2339a44 100644 --- a/include/wintls/detail/sspi_handshake.hpp +++ b/include/wintls/detail/sspi_handshake.hpp @@ -88,7 +88,7 @@ class sspi_handshake { } TimeStamp expiry; - last_error_ = detail::sspi_functions::AcquireCredentialsHandle(nullptr, + last_error_ = detail::sspi_functions::AcquireCredentialsHandleA(nullptr, const_cast(UNISP_NAME), static_cast(usage), nullptr, @@ -106,7 +106,7 @@ class sspi_handshake { DWORD out_flags = 0; handshake_output_buffers buffers; - last_error_ = detail::sspi_functions::InitializeSecurityContext(cred_handle_.get(), + last_error_ = detail::sspi_functions::InitializeSecurityContextA(cred_handle_.get(), nullptr, const_cast(server_hostname_.c_str()), client_context_flags, @@ -148,7 +148,7 @@ class sspi_handshake { switch(handshake_type_) { case handshake_type::client: - last_error_ = detail::sspi_functions::InitializeSecurityContext(cred_handle_.get(), + last_error_ = detail::sspi_functions::InitializeSecurityContextA(cred_handle_.get(), ctxt_handle_.get(), const_cast(server_hostname_.c_str()), client_context_flags, @@ -281,7 +281,7 @@ class sspi_handshake { return SEC_E_OK; } const CERT_CONTEXT* ctx_ptr = nullptr; - last_error_ = detail::sspi_functions::QueryContextAttributes(ctxt_handle_.get(), SECPKG_ATTR_REMOTE_CERT_CONTEXT, &ctx_ptr); + last_error_ = detail::sspi_functions::QueryContextAttributesA(ctxt_handle_.get(), SECPKG_ATTR_REMOTE_CERT_CONTEXT, &ctx_ptr); if (last_error_ != SEC_E_OK) { return last_error_; } diff --git a/include/wintls/detail/sspi_shutdown.hpp b/include/wintls/detail/sspi_shutdown.hpp index 2c8aba3e..1d58e0a1 100644 --- a/include/wintls/detail/sspi_shutdown.hpp +++ b/include/wintls/detail/sspi_shutdown.hpp @@ -36,7 +36,7 @@ class sspi_shutdown { } DWORD out_flags = 0; - sc = detail::sspi_functions::InitializeSecurityContext(cred_handle_.get(), + sc = detail::sspi_functions::InitializeSecurityContextA(cred_handle_.get(), ctxt_handle_.get(), nullptr, client_context_flags,