Module: wine Branch: master Commit: 5df33ec591604b56499a552de7c4538bc34497e3 URL: https://source.winehq.org/git/wine.git/?a=commit;h=5df33ec591604b56499a552de...
Author: Dmitry Timoshkov dmitry@baikal.ru Date: Thu Feb 1 18:04:12 2018 +0800
secur32: Implement MakeSignature in the SSP/AP wrapper.
Signed-off-by: Dmitry Timoshkov dmitry@baikal.ru Signed-off-by: Hans Leidekker hans@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/secur32/lsa.c | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-)
diff --git a/dlls/secur32/lsa.c b/dlls/secur32/lsa.c index 479a2d2..832303f 100644 --- a/dlls/secur32/lsa.c +++ b/dlls/secur32/lsa.c @@ -580,6 +580,27 @@ static SECURITY_STATUS WINAPI lsa_QueryContextAttributesA(CtxtHandle *context, U return SEC_E_UNSUPPORTED_FUNCTION; }
+static SECURITY_STATUS WINAPI lsa_MakeSignature(CtxtHandle *context, ULONG quality_of_protection, + SecBufferDesc *message, ULONG message_seq_no) +{ + struct lsa_package *lsa_package; + LSA_SEC_HANDLE lsa_context; + + TRACE("%p %#x %p %u)\n", context, quality_of_protection, message, message_seq_no); + + if (!context) return SEC_E_INVALID_HANDLE; + + lsa_package = (struct lsa_package *)context->dwUpper; + lsa_context = (LSA_SEC_HANDLE)context->dwLower; + + if (!lsa_package) return SEC_E_INVALID_HANDLE; + + if (!lsa_package->user_api || !lsa_package->user_api->MakeSignature) + return SEC_E_UNSUPPORTED_FUNCTION; + + return lsa_package->user_api->MakeSignature(lsa_context, quality_of_protection, message, message_seq_no); +} + static const SecurityFunctionTableW lsa_sspi_tableW = { 1, @@ -596,7 +617,7 @@ static const SecurityFunctionTableW lsa_sspi_tableW = lsa_QueryContextAttributesW, NULL, /* ImpersonateSecurityContext */ NULL, /* RevertSecurityContext */ - NULL, /* MakeSignature */ + lsa_MakeSignature, NULL, /* VerifySignature */ NULL, /* FreeContextBuffer */ NULL, /* QuerySecurityPackageInfoW */ @@ -628,7 +649,7 @@ static const SecurityFunctionTableA lsa_sspi_tableA = lsa_QueryContextAttributesA, NULL, /* ImpersonateSecurityContext */ NULL, /* RevertSecurityContext */ - NULL, /* MakeSignature */ + lsa_MakeSignature, NULL, /* VerifySignature */ NULL, /* FreeContextBuffer */ NULL, /* QuerySecurityPackageInfoA */