From 1928fdacbe15083dbf01e7494d771e8d504cb7bd Mon Sep 17 00:00:00 2001 From: Sebastian Lackner Date: Thu, 1 Oct 2015 21:52:45 +0200 Subject: [PATCH] Added patch to implement additional stub functions in authz.dll. --- README.md | 3 +- debian/changelog | 1 + ...uthz-Added-additional-stub-functions.patch | 119 ++++++++++++++++++ patches/authz-Stub_Functions/definition | 1 + patches/patchinstall.sh | 16 +++ 5 files changed, 139 insertions(+), 1 deletion(-) create mode 100644 patches/authz-Stub_Functions/0001-authz-Added-additional-stub-functions.patch create mode 100644 patches/authz-Stub_Functions/definition diff --git a/README.md b/README.md index ab5ad738..50b455bb 100644 --- a/README.md +++ b/README.md @@ -34,13 +34,14 @@ Wine. All those differences are also documented on the Included bug fixes and improvements ----------------------------------- -**Bug fixes and features included in the next upcoming release [10]:** +**Bug fixes and features included in the next upcoming release [11]:** * Add implementation for msidb commandline tool * Codepage conversion should fail when destination length is < 0 * Do not trust width/height passed to edit control in WM_SIZE message ([Wine Bug #37542](https://bugs.winehq.org/show_bug.cgi?id=37542)) * Do not use GdipAlloc and GdipFree in internal functions ([Wine Bug #32786](https://bugs.winehq.org/show_bug.cgi?id=32786)) * Fix calculation of listbox size when horizontal scrollbar is present ([Wine Bug #38142](https://bugs.winehq.org/show_bug.cgi?id=38142)) +* Implement additional stub functions in authz.dll * Implement semi-stub for d3d8 swapchain effect D3DSWAPEFFECT_COPY_VSYNC ([Wine Bug #39281](https://bugs.winehq.org/show_bug.cgi?id=39281)) * Protect TVM_GETITEM from invalid item pointers ([Wine Bug #33001](https://bugs.winehq.org/show_bug.cgi?id=33001)) * Reduce stack usage of virtual memory functions ([Wine Bug #34558](https://bugs.winehq.org/show_bug.cgi?id=34558)) diff --git a/debian/changelog b/debian/changelog index 7162c171..155efca6 100644 --- a/debian/changelog +++ b/debian/changelog @@ -17,6 +17,7 @@ wine-staging (1.7.52) UNRELEASED; urgency=low * Added patch to protect TVM_GETITEM from invalid item pointers. * Added patch to avoid using GdipAlloc and GdipFree in internal gdiplus functions. + * Added patch to implement additional stub functions in authz.dll. * Removed patch to fix possible memory leak in netprofm init_networks (fixed upstream). * Removed patch for stub of dwmapi.DwmUpdateThumbnailProperties (accepted diff --git a/patches/authz-Stub_Functions/0001-authz-Added-additional-stub-functions.patch b/patches/authz-Stub_Functions/0001-authz-Added-additional-stub-functions.patch new file mode 100644 index 00000000..1699bc45 --- /dev/null +++ b/patches/authz-Stub_Functions/0001-authz-Added-additional-stub-functions.patch @@ -0,0 +1,119 @@ +From 8d0a3775bda50733b566626b4ac0eb6d96be3e84 Mon Sep 17 00:00:00 2001 +From: Zhenbo Li +Date: Thu, 17 Sep 2015 16:11:06 +0800 +Subject: authz: Added additional stub functions. + +--- + dlls/authz/authz.c | 66 +++++++++++++++++++++++++++++++++++++++++++++++++++ + dlls/authz/authz.spec | 8 +++---- + 2 files changed, 70 insertions(+), 4 deletions(-) + +diff --git a/dlls/authz/authz.c b/dlls/authz/authz.c +index 08ca8c3..5755ab2 100644 +--- a/dlls/authz/authz.c ++++ b/dlls/authz/authz.c +@@ -25,6 +25,16 @@ + + WINE_DEFAULT_DEBUG_CHANNEL(authz); + ++DECLARE_HANDLE(AUTHZ_ACCESS_CHECK_RESULTS_HANDLE); ++DECLARE_HANDLE(AUTHZ_CLIENT_CONTEXT_HANDLE); ++DECLARE_HANDLE(AUTHZ_RESOURCE_MANAGER_HANDLE); ++DECLARE_HANDLE(AUTHZ_AUDIT_EVENT_HANDLE); ++ ++typedef AUTHZ_ACCESS_CHECK_RESULTS_HANDLE *PAUTHZ_ACCESS_CHECK_RESULTS_HANDLE; ++typedef AUTHZ_CLIENT_CONTEXT_HANDLE *PAUTHZ_CLIENT_CONTEXT_HANDLE; ++typedef struct _AUTHZ_ACCESS_REQUEST *PAUTHZ_ACCESS_REQUEST; ++typedef struct _AUTHZ_ACCESS_REPLY *PAUTHZ_ACCESS_REPLY; ++ + BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) + { + TRACE("(0x%p, %d, %p)\n", hinstDLL, fdwReason, lpvReserved); +@@ -67,3 +77,59 @@ BOOL WINAPI AuthzInstallSecurityEventSource(DWORD dwFlags, LPVOID pRegistration) + SetLastError(ERROR_CALL_NOT_IMPLEMENTED); + return FALSE; + } ++ ++ ++/*********************************************************************** ++ * AuthzAccessCheck (AUTHZ.@) ++ */ ++BOOL WINAPI AuthzAccessCheck(DWORD flags, AUTHZ_CLIENT_CONTEXT_HANDLE client_context, ++ PAUTHZ_ACCESS_REQUEST request, AUTHZ_AUDIT_EVENT_HANDLE audit_event, ++ PSECURITY_DESCRIPTOR security, PSECURITY_DESCRIPTOR *optional_security, ++ DWORD optional_security_count, PAUTHZ_ACCESS_REPLY reply, ++ PAUTHZ_ACCESS_CHECK_RESULTS_HANDLE access_check_result) ++{ ++ FIXME("(0x%x,%p,%p,%p,%p,%p,0x%x,%p,%p): stub\n", flags, client_context, ++ request, audit_event, security, optional_security, ++ optional_security_count, reply, access_check_result); ++ SetLastError(ERROR_CALL_NOT_IMPLEMENTED); ++ return FALSE; ++} ++ ++ ++/*********************************************************************** ++ * AuthzFreeContext (AUTHZ.@) ++ */ ++BOOL WINAPI AuthzFreeContext(AUTHZ_CLIENT_CONTEXT_HANDLE client_context) ++{ ++ FIXME("(%p): stub\n", client_context); ++ SetLastError(ERROR_CALL_NOT_IMPLEMENTED); ++ return FALSE; ++} ++ ++ ++/*********************************************************************** ++ * AuthzInitializeContextFromSid (AUTHZ.@) ++ */ ++BOOL WINAPI AuthzInitializeContextFromSid(DWORD flags, PSID sid, ++ AUTHZ_RESOURCE_MANAGER_HANDLE resource_manager, PLARGE_INTEGER expire_time, ++ LUID id, PVOID dynamic_group, PAUTHZ_CLIENT_CONTEXT_HANDLE client_context) ++{ ++ FIXME("(0x%x,%p,%p,%p,%08x:%08x,%p,%p): stub\n", flags, sid, resource_manager, ++ expire_time, id.HighPart, id.LowPart, dynamic_group, client_context); ++ SetLastError(ERROR_CALL_NOT_IMPLEMENTED); ++ return FALSE; ++} ++ ++ ++/*********************************************************************** ++ * AuthzInitializeContextFromToken (AUTHZ.@) ++ */ ++BOOL WINAPI AuthzInitializeContextFromToken(DWORD flags, HANDLE token_handle, ++ AUTHZ_RESOURCE_MANAGER_HANDLE resource_manager, PLARGE_INTEGER expire_time, ++ LUID id, PVOID dynamic_group, PAUTHZ_CLIENT_CONTEXT_HANDLE client_context) ++{ ++ FIXME("(0x%x,%p,%p,%p,%08x:%08x,%p,%p): stub\n", flags, token_handle, resource_manager, ++ expire_time, id.HighPart, id.LowPart, dynamic_group, client_context); ++ SetLastError(ERROR_CALL_NOT_IMPLEMENTED); ++ return FALSE; ++} +diff --git a/dlls/authz/authz.spec b/dlls/authz/authz.spec +index acf3228..eb9e044 100644 +--- a/dlls/authz/authz.spec ++++ b/dlls/authz/authz.spec +@@ -1,16 +1,16 @@ +-@ stub AuthzAccessCheck ++@ stdcall AuthzAccessCheck(long long ptr long ptr ptr long ptr ptr) + @ stub AuthzAddSidsToContext + @ stub AuthzCachedAccessCheck + @ stub AuthzEnumerateSecurityEventSources + @ stub AuthzEvaluateSacl + @ stub AuthzFreeAuditEvent +-@ stub AuthzFreeContext ++@ stdcall AuthzFreeContext(long) + @ stub AuthzFreeHandle + @ stub AuthzFreeResourceManager + @ stub AuthzGetInformationFromContext + @ stub AuthzInitializeContextFromAuthzContext +-@ stub AuthzInitializeContextFromSid +-@ stub AuthzInitializeContextFromToken ++@ stdcall AuthzInitializeContextFromSid(long ptr long ptr int64 ptr ptr) ++@ stdcall AuthzInitializeContextFromToken(long long long ptr int64 ptr ptr) + @ stub AuthzInitializeObjectAccessAuditEvent + @ stub AuthzInitializeObjectAccessAuditEvent2 + @ stdcall AuthzInitializeResourceManager(long ptr ptr ptr wstr ptr) +-- +2.5.1 + diff --git a/patches/authz-Stub_Functions/definition b/patches/authz-Stub_Functions/definition new file mode 100644 index 00000000..7463b2e5 --- /dev/null +++ b/patches/authz-Stub_Functions/definition @@ -0,0 +1 @@ +Fixes: Implement additional stub functions in authz.dll diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index a47bc7a5..9d9507da 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -90,6 +90,7 @@ patch_enable_all () enable_advpack_LaunchINFSection="$1" enable_amstream_GetMultiMediaStream="$1" enable_api_ms_win_crt_Stub_DLLs="$1" + enable_authz_Stub_Functions="$1" enable_browseui_Progress_Dialog="$1" enable_combase_String="$1" enable_comctl32_Button_Theming="$1" @@ -365,6 +366,9 @@ patch_enable () api-ms-win-crt-Stub_DLLs) enable_api_ms_win_crt_Stub_DLLs="$2" ;; + authz-Stub_Functions) + enable_authz_Stub_Functions="$2" + ;; browseui-Progress_Dialog) enable_browseui_Progress_Dialog="$2" ;; @@ -2300,6 +2304,18 @@ if test "$enable_api_ms_win_crt_Stub_DLLs" -eq 1; then ) >> "$patchlist" fi +# Patchset authz-Stub_Functions +# | +# | Modified files: +# | * dlls/authz/authz.c, dlls/authz/authz.spec +# | +if test "$enable_authz_Stub_Functions" -eq 1; then + patch_apply authz-Stub_Functions/0001-authz-Added-additional-stub-functions.patch + ( + echo '+ { "Zhenbo Li", "authz: Added additional stub functions.", 1 },'; + ) >> "$patchlist" +fi + # Patchset browseui-Progress_Dialog # | # | Modified files: