diff --git a/README.md b/README.md index d3616b16..0935d980 100644 --- a/README.md +++ b/README.md @@ -31,6 +31,7 @@ Wine-compholio contains fixes for the following Wine bugs: * Support for Junction Points ([Wine Bug #12401](http://bugs.winehq.org/show_bug.cgi?id=12401 "Support junction points, i.e. DeviceIoCtl(FSCTL_SET_REPARSE_POINT/FSCTL_GET_REPARSE_POINT)")) * Support for PulseAudio backend for audio ([Wine Bug #10495](http://bugs.winehq.org/show_bug.cgi?id=10495 "Wine should support PulseAudio")) * Support for TransmitFile ([Wine Bug #5048](http://bugs.winehq.org/show_bug.cgi?id=5048 "Multiple applications and games need support for ws2_32 SIO_GET_EXTENSION_FUNCTION_POINTER TransmitFile (WSAID_TRANSMITFILE)")) +* Support for [Get|Set]SystemFileCacheSize ([Wine Bug #35886](http://bugs.winehq.org/show_bug.cgi?id=35886 "Lotus Notes 9 'cacheset.exe' utility needs KERNEL32.dll.SetSystemFileCacheSize")) * Support for inherited file ACLs ([Wine Bug #34406](http://bugs.winehq.org/show_bug.cgi?id=34406 "Finale Notepad 2012 doesn't copy/create user files on program start")) * Support for interface change notifications ([Wine Bug #32328](http://bugs.winehq.org/show_bug.cgi?id=32328 "Many .NET and Silverlight applications require SIO_ADDRESS_LIST_CHANGE for interface change notifications")) * Support for process ACLs ([Wine Bug #22006](http://bugs.winehq.org/show_bug.cgi?id=22006 "OpenProcess does not enforce ACL")) diff --git a/debian/changelog b/debian/changelog index 1d6354c7..b5bad63d 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,6 +1,7 @@ wine-compholio (1.7.24) UNRELEASED; urgency=low * Added patch to implement inet_pton. * Added patch to implement SHCreateSessionKey. + * Added patch with stubs for [Get|Set]SystemFileCacheSize. * Added patch to implement AllocateAndGetTcpExTableFromStack. * Added patch to fix ConnectNamedPort return value in overlapped mode. * Added patch to store IOCS data in a property instead of GWLP_USERDATA. diff --git a/patches/Makefile b/patches/Makefile index 96540839..dc1deb49 100644 --- a/patches/Makefile +++ b/patches/Makefile @@ -12,6 +12,7 @@ PATCHLIST := Miscellaneous.ok \ iphlpapi-TCP_Table.ok \ kernel32-GetVolumePathName.ok \ kernel32-Named_Pipe.ok \ + kernel32-SystemFileCacheSize.ok \ loader-Cmdline_Diagnostics.ok \ ntdll-Dynamic_DST.ok \ ntdll-FD_Cache.ok \ @@ -189,6 +190,24 @@ kernel32-Named_Pipe.ok: echo '+ { "kernel32-Named_Pipe", "Sebastian Lackner / Dan Kegel", "Support for NamedPipe operations. [rev 2]" },'; \ ) > kernel32-Named_Pipe.ok +# Patchset kernel32-SystemFileCacheSize +# | +# | Included patches: +# | * Add stub for [Get|Set]SystemFileCacheSize. [by Austin English] +# | +# | This patchset fixes the following Wine bugs: +# | * [#35886] Lotus Notes 9 'cacheset.exe' utility needs KERNEL32.dll.SetSystemFileCacheSize +# | +# | Modified files: +# | * dlls/api-ms-win-core-memory-l1-1-1/api-ms-win-core-memory-l1-1-1.spec, dlls/kernel32/heap.c, dlls/kernel32/kernel32.spec +# | +.INTERMEDIATE: kernel32-SystemFileCacheSize.ok +kernel32-SystemFileCacheSize.ok: + $(PATCH) < kernel32-SystemFileCacheSize/0001-kernel32-Add-stub-for-Get-Set-SystemFileCacheSize.patch + @( \ + echo '+ { "kernel32-SystemFileCacheSize", "Austin English", "Add stub for [Get|Set]SystemFileCacheSize." },'; \ + ) > kernel32-SystemFileCacheSize.ok + # Patchset loader-Cmdline_Diagnostics # | # | Included patches: diff --git a/patches/kernel32-SystemFileCacheSize/0001-kernel32-Add-stub-for-Get-Set-SystemFileCacheSize.patch b/patches/kernel32-SystemFileCacheSize/0001-kernel32-Add-stub-for-Get-Set-SystemFileCacheSize.patch new file mode 100644 index 00000000..1e42a25f --- /dev/null +++ b/patches/kernel32-SystemFileCacheSize/0001-kernel32-Add-stub-for-Get-Set-SystemFileCacheSize.patch @@ -0,0 +1,78 @@ +From e39e6d6e4d4b849c74a60c9fe9344883aa5b9f6e Mon Sep 17 00:00:00 2001 +From: Austin English +Date: Sun, 27 Jul 2014 10:33:33 -0600 +Subject: kernel32: Add stub for [Get|Set]SystemFileCacheSize. + +--- + .../api-ms-win-core-memory-l1-1-1.spec | 4 ++-- + dlls/kernel32/heap.c | 14 ++++++++++++++ + dlls/kernel32/kernel32.spec | 2 ++ + 3 files changed, 18 insertions(+), 2 deletions(-) + +diff --git a/dlls/api-ms-win-core-memory-l1-1-1/api-ms-win-core-memory-l1-1-1.spec b/dlls/api-ms-win-core-memory-l1-1-1/api-ms-win-core-memory-l1-1-1.spec +index 891582a..5d3eb13 100644 +--- a/dlls/api-ms-win-core-memory-l1-1-1/api-ms-win-core-memory-l1-1-1.spec ++++ b/dlls/api-ms-win-core-memory-l1-1-1/api-ms-win-core-memory-l1-1-1.spec +@@ -5,7 +5,7 @@ + @ stdcall FlushViewOfFile(ptr long) kernel32.FlushViewOfFile + @ stub GetLargePageMinimum + @ stub GetProcessWorkingSetSizeEx +-@ stub GetSystemFileCacheSize ++@ stdcall GetSystemFileCacheSize(ptr ptr ptr) kernel32.GetSystemFileCacheSize + @ stdcall GetWriteWatch(long ptr long ptr ptr ptr) kernel32.GetWriteWatch + @ stdcall MapViewOfFile(long long long long long) kernel32.MapViewOfFile + @ stdcall MapViewOfFileEx(long long long long long ptr) kernel32.MapViewOfFileEx +@@ -16,7 +16,7 @@ + @ stdcall ReadProcessMemory(long ptr ptr long ptr) kernel32.ReadProcessMemory + @ stdcall ResetWriteWatch(ptr long) kernel32.ResetWriteWatch + @ stub SetProcessWorkingSetSizeEx +-@ stub SetSystemFileCacheSize ++@ stdcall SetSystemFileCacheSize(long long long) kernel32.SetSystemFileCacheSize + @ stdcall UnmapViewOfFile(ptr) kernel32.UnmapViewOfFile + @ stub UnmapViewOfFileEx + @ stdcall VirtualAlloc(ptr long long long) kernel32.VirtualAlloc +diff --git a/dlls/kernel32/heap.c b/dlls/kernel32/heap.c +index db1b401..9037f8e 100644 +--- a/dlls/kernel32/heap.c ++++ b/dlls/kernel32/heap.c +@@ -1447,3 +1447,17 @@ VOID WINAPI GlobalMemoryStatus( LPMEMORYSTATUS lpBuffer ) + lpBuffer->dwAvailPhys, lpBuffer->dwTotalPageFile, lpBuffer->dwAvailPageFile, + lpBuffer->dwTotalVirtual, lpBuffer->dwAvailVirtual ); + } ++ ++BOOL WINAPI GetSystemFileCacheSize(PSIZE_T mincache, PSIZE_T maxcache, PDWORD flags) ++{ ++ FIXME("stub: %p %p %p\n", mincache, maxcache, flags); ++ SetLastError(ERROR_CALL_NOT_IMPLEMENTED); ++ return FALSE; ++} ++ ++BOOL WINAPI SetSystemFileCacheSize(SIZE_T mincache, SIZE_T maxcache, DWORD flags) ++{ ++ FIXME("stub: %ld %ld %d\n", mincache, maxcache, flags); ++ SetLastError(ERROR_CALL_NOT_IMPLEMENTED); ++ return FALSE; ++} +diff --git a/dlls/kernel32/kernel32.spec b/dlls/kernel32/kernel32.spec +index 2de2119..d08f90c 100644 +--- a/dlls/kernel32/kernel32.spec ++++ b/dlls/kernel32/kernel32.spec +@@ -637,6 +637,7 @@ + @ stdcall GetStringTypeExA(long long str long ptr) + @ stdcall GetStringTypeExW(long long wstr long ptr) + @ stdcall GetStringTypeW(long wstr long ptr) ++@ stdcall GetSystemFileCacheSize(ptr ptr ptr) + @ stdcall GetSystemDefaultLCID() + @ stdcall GetSystemDefaultLangID() + @ stdcall GetSystemDefaultLocaleName(ptr long) +@@ -1166,6 +1167,7 @@ + @ stdcall SetProcessShutdownParameters(long long) + @ stdcall SetProcessWorkingSetSize(long long long) + @ stdcall SetStdHandle(long long) ++@ stdcall SetSystemFileCacheSize(long long long) + @ stdcall SetSystemPowerState(long long) + @ stdcall SetSystemTime(ptr) + @ stdcall SetSystemTimeAdjustment(long long) +-- +1.7.9.5 + diff --git a/patches/kernel32-SystemFileCacheSize/definition b/patches/kernel32-SystemFileCacheSize/definition new file mode 100644 index 00000000..2e745218 --- /dev/null +++ b/patches/kernel32-SystemFileCacheSize/definition @@ -0,0 +1,4 @@ +Author: Austin English +Subject: Add stub for [Get|Set]SystemFileCacheSize. +Revision: 1 +Fixes: [35886] Support for [Get|Set]SystemFileCacheSize