[PATCH 0/1] MR9617: kerberos: Add translation of 32-bit SecPkgContext_SessionKey in wow64_query_context_attributes() thunk.
From: Dmitry Timoshkov <dmitry(a)baikal.ru> Signed-off-by: Dmitry Timoshkov <dmitry(a)baikal.ru> --- dlls/kerberos/unixlib.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/dlls/kerberos/unixlib.c b/dlls/kerberos/unixlib.c index 159eb6a824e..46665bd554a 100644 --- a/dlls/kerberos/unixlib.c +++ b/dlls/kerberos/unixlib.c @@ -1273,6 +1273,12 @@ static NTSTATUS wow64_make_signature( void *args ) return make_signature( ¶ms ); } +struct SecPkgContext_SessionKey32 +{ + ULONG SessionKeyLength; + PTR32 SessionKey; +}; + static NTSTATUS wow64_query_context_attributes( void *args ) { struct @@ -1287,6 +1293,17 @@ static NTSTATUS wow64_query_context_attributes( void *args ) params32->attr, ULongToPtr(params32->buf), }; + SecPkgContext_SessionKey key; + + if (params.attr == SECPKG_ATTR_SESSION_KEY) + { + struct SecPkgContext_SessionKey32 *key32 = (struct SecPkgContext_SessionKey32 *)params.buf; + + key.SessionKeyLength = key32->SessionKeyLength; + key.SessionKey = ULongToPtr(key32->SessionKey); + params.buf = &key; + } + return query_context_attributes( ¶ms ); } -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/9617
participants (2)
-
Dmitry Timoshkov -
Dmitry Timoshkov (@dmitry)