Added patch to implement LdrRegisterDllNotification/LdrUnregisterDllNotification.

This commit is contained in:
Sebastian Lackner 2017-07-22 05:03:41 +02:00
parent c8a8ef48e5
commit 60870e076f
3 changed files with 588 additions and 16 deletions

View File

@ -0,0 +1,4 @@
Fixes: Implement LdrRegisterDllNotification/LdrUnregisterDllNotification
Depends: ntdll-HashLinks
Depends: ntdll-RtlQueryPackageIdentity
Depends: ntdll-Hide_Wine_Exports

View File

@ -250,6 +250,7 @@ patch_enable_all ()
enable_ntdll_Junction_Points="$1"
enable_ntdll_LDR_MODULE="$1"
enable_ntdll_LdrGetDllHandle="$1"
enable_ntdll_LdrRegisterDllNotification="$1"
enable_ntdll_Loader_Machine_Type="$1"
enable_ntdll_NtAccessCheck="$1"
enable_ntdll_NtAllocateUuids="$1"
@ -1008,6 +1009,9 @@ patch_enable ()
ntdll-LdrGetDllHandle)
enable_ntdll_LdrGetDllHandle="$2"
;;
ntdll-LdrRegisterDllNotification)
enable_ntdll_LdrRegisterDllNotification="$2"
;;
ntdll-Loader_Machine_Type)
enable_ntdll_Loader_Machine_Type="$2"
;;
@ -2482,6 +2486,21 @@ if test "$enable_ntdll_NtDevicePath" -eq 1; then
enable_ntdll_Pipe_SpecialCharacters=1
fi
if test "$enable_ntdll_LdrRegisterDllNotification" -eq 1; then
if test "$enable_ntdll_HashLinks" -gt 1; then
abort "Patchset ntdll-HashLinks disabled, but ntdll-LdrRegisterDllNotification depends on that."
fi
if test "$enable_ntdll_Hide_Wine_Exports" -gt 1; then
abort "Patchset ntdll-Hide_Wine_Exports disabled, but ntdll-LdrRegisterDllNotification depends on that."
fi
if test "$enable_ntdll_RtlQueryPackageIdentity" -gt 1; then
abort "Patchset ntdll-RtlQueryPackageIdentity disabled, but ntdll-LdrRegisterDllNotification depends on that."
fi
enable_ntdll_HashLinks=1
enable_ntdll_Hide_Wine_Exports=1
enable_ntdll_RtlQueryPackageIdentity=1
fi
if test "$enable_ntdll_Junction_Points" -eq 1; then
if test "$enable_ntdll_NtQueryEaFile" -gt 1; then
abort "Patchset ntdll-NtQueryEaFile disabled, but ntdll-Junction_Points depends on that."
@ -6111,6 +6130,38 @@ if test "$enable_ntdll_LdrGetDllHandle" -eq 1; then
) >> "$patchlist"
fi
# Patchset ntdll-RtlQueryPackageIdentity
# |
# | Modified files:
# | * dlls/ntdll/ntdll.spec, dlls/ntdll/rtl.c, dlls/ntdll/tests/Makefile.in, dlls/ntdll/tests/rtl.c, include/shobjidl.idl
# |
if test "$enable_ntdll_RtlQueryPackageIdentity" -eq 1; then
patch_apply ntdll-RtlQueryPackageIdentity/0001-ntdll-Add-stub-for-RtlQueryPackageIdentity.patch
patch_apply ntdll-RtlQueryPackageIdentity/0002-include-Add-IApplicationActivationManager-interface-.patch
patch_apply ntdll-RtlQueryPackageIdentity/0003-ntdll-tests-Add-basic-tests-for-RtlQueryPackageIdent.patch
(
printf '%s\n' '+ { "Michael Müller", "ntdll: Add stub for RtlQueryPackageIdentity.", 1 },';
printf '%s\n' '+ { "Michael Müller", "include: Add IApplicationActivationManager interface declaration.", 1 },';
printf '%s\n' '+ { "Michael Müller", "ntdll/tests: Add basic tests for RtlQueryPackageIdentity.", 1 },';
) >> "$patchlist"
fi
# Patchset ntdll-LdrRegisterDllNotification
# |
# | This patchset has the following (direct or indirect) dependencies:
# | * mscoree-CorValidateImage, ntdll-CLI_Images, ntdll-LDR_MODULE, ntdll-HashLinks, ntdll-Attach_Process_DLLs, ntdll-
# | ThreadTime, ntdll-Hide_Wine_Exports, ntdll-RtlQueryPackageIdentity
# |
# | Modified files:
# | * dlls/ntdll/loader.c, dlls/ntdll/ntdll.spec, dlls/ntdll/tests/rtl.c, include/winternl.h
# |
if test "$enable_ntdll_LdrRegisterDllNotification" -eq 1; then
patch_apply ntdll-LdrRegisterDllNotification/0001-ntdll-Implement-LdrRegisterDllNotification-and-LdrUn.patch
(
printf '%s\n' '+ { "Michael Müller", "ntdll: Implement LdrRegisterDllNotification and LdrUnregisterDllNotification.", 1 },';
) >> "$patchlist"
fi
# Patchset ntdll-NtAccessCheck
# |
# | Modified files:
@ -6356,22 +6407,6 @@ if test "$enable_ntdll_RtlCaptureStackBackTrace" -eq 1; then
) >> "$patchlist"
fi
# Patchset ntdll-RtlQueryPackageIdentity
# |
# | Modified files:
# | * dlls/ntdll/ntdll.spec, dlls/ntdll/rtl.c, dlls/ntdll/tests/Makefile.in, dlls/ntdll/tests/rtl.c, include/shobjidl.idl
# |
if test "$enable_ntdll_RtlQueryPackageIdentity" -eq 1; then
patch_apply ntdll-RtlQueryPackageIdentity/0001-ntdll-Add-stub-for-RtlQueryPackageIdentity.patch
patch_apply ntdll-RtlQueryPackageIdentity/0002-include-Add-IApplicationActivationManager-interface-.patch
patch_apply ntdll-RtlQueryPackageIdentity/0003-ntdll-tests-Add-basic-tests-for-RtlQueryPackageIdent.patch
(
printf '%s\n' '+ { "Michael Müller", "ntdll: Add stub for RtlQueryPackageIdentity.", 1 },';
printf '%s\n' '+ { "Michael Müller", "include: Add IApplicationActivationManager interface declaration.", 1 },';
printf '%s\n' '+ { "Michael Müller", "ntdll/tests: Add basic tests for RtlQueryPackageIdentity.", 1 },';
) >> "$patchlist"
fi
# Patchset ntdll-RtlGetUnloadEventTraceEx
# |
# | This patchset has the following (direct or indirect) dependencies: