From 85d50ecc2a00d900c3bfcebb1ca2ca0f1316b4c9 Mon Sep 17 00:00:00 2001 From: Sebastian Lackner Date: Sat, 31 Oct 2015 16:59:04 +0100 Subject: [PATCH] Added patch for SfcGetNextProtectedFile stub function. --- README.md | 3 +- debian/changelog | 1 + patches/patchinstall.sh | 19 +++++++ ...os-Implement-SfcGetNextProtectedFile.patch | 55 +++++++++++++++++++ .../sfc-SfcGetNextProtectedFile/definition | 1 + 5 files changed, 78 insertions(+), 1 deletion(-) create mode 100644 patches/sfc-SfcGetNextProtectedFile/0001-sfc_os-Implement-SfcGetNextProtectedFile.patch create mode 100644 patches/sfc-SfcGetNextProtectedFile/definition diff --git a/README.md b/README.md index 046f97f7..04dd8965 100644 --- a/README.md +++ b/README.md @@ -34,9 +34,10 @@ Wine. All those differences are also documented on the Included bug fixes and improvements ----------------------------------- -**Bug fixes and features included in the next upcoming release [6]:** +**Bug fixes and features included in the next upcoming release [7]:** * Add stub for SetCoalescableTimer ([Wine Bug #39509](https://bugs.winehq.org/show_bug.cgi?id=39509)) +* Add stub for SfcGetNextProtectedFile ([Wine Bug #38097](https://bugs.winehq.org/show_bug.cgi?id=38097)) * Do not allow interruption of system APC in server_select ([Wine Bug #14697](https://bugs.winehq.org/show_bug.cgi?id=14697)) * Implement FileNamesInformation class support for NtQueryDirectoryFile * Implement hal.KeQueryPerformanceCounter ([Wine Bug #39500](https://bugs.winehq.org/show_bug.cgi?id=39500)) diff --git a/debian/changelog b/debian/changelog index 322e5b88..6ef0954c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -17,6 +17,7 @@ wine-staging (1.7.54) UNRELEASED; urgency=low * Added patch to improve INetFwAuthorizedApplication::get_ProcessImageFileName stub. * Added patch for SetCoalescableTimer stub function. + * Added patch for SfcGetNextProtectedFile stub function. * Removed patch to implement kernel32.GetPhysicallyInstalledSystemMemory (accepted upstream). * Partially removed patches for ws2_32 TransmitFile (accepted upstream). diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index 73525899..43122567 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -249,6 +249,7 @@ patch_enable_all () enable_setupapi_SetupDiSelectBestCompatDrv="$1" enable_setupapi_SetupDiSetDeviceInstallParamsW="$1" enable_setupapi_SetupPromptForDisk="$1" + enable_sfc_SfcGetNextProtectedFile="$1" enable_shdocvw_ParseURLFromOutsideSource_Tests="$1" enable_shell32_Default_Path="$1" enable_shell32_File_Property_Dialog="$1" @@ -844,6 +845,9 @@ patch_enable () setupapi-SetupPromptForDisk) enable_setupapi_SetupPromptForDisk="$2" ;; + sfc-SfcGetNextProtectedFile) + enable_sfc_SfcGetNextProtectedFile="$2" + ;; shdocvw-ParseURLFromOutsideSource_Tests) enable_shdocvw_ParseURLFromOutsideSource_Tests="$2" ;; @@ -4974,6 +4978,21 @@ if test "$enable_setupapi_SetupPromptForDisk" -eq 1; then ) >> "$patchlist" fi +# Patchset sfc-SfcGetNextProtectedFile +# | +# | This patchset fixes the following Wine bugs: +# | * [#38097] Add stub for SfcGetNextProtectedFile +# | +# | Modified files: +# | * dlls/sfc/sfc.spec, dlls/sfc_os/sfc_os.c, dlls/sfc_os/sfc_os.spec +# | +if test "$enable_sfc_SfcGetNextProtectedFile" -eq 1; then + patch_apply sfc-SfcGetNextProtectedFile/0001-sfc_os-Implement-SfcGetNextProtectedFile.patch + ( + echo '+ { "Michael Müller", "sfc_os: Implement SfcGetNextProtectedFile.", 1 },'; + ) >> "$patchlist" +fi + # Patchset shdocvw-ParseURLFromOutsideSource_Tests # | # | Modified files: diff --git a/patches/sfc-SfcGetNextProtectedFile/0001-sfc_os-Implement-SfcGetNextProtectedFile.patch b/patches/sfc-SfcGetNextProtectedFile/0001-sfc_os-Implement-SfcGetNextProtectedFile.patch new file mode 100644 index 00000000..7595f4b9 --- /dev/null +++ b/patches/sfc-SfcGetNextProtectedFile/0001-sfc_os-Implement-SfcGetNextProtectedFile.patch @@ -0,0 +1,55 @@ +From b8ea046850c5c8e6b0a40d1414ca2ec7623266b7 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Michael=20M=C3=BCller?= +Date: Sat, 31 Oct 2015 16:41:46 +0100 +Subject: sfc_os: Implement SfcGetNextProtectedFile. + +--- + dlls/sfc/sfc.spec | 2 +- + dlls/sfc_os/sfc_os.c | 11 +++++++++++ + dlls/sfc_os/sfc_os.spec | 2 +- + 3 files changed, 13 insertions(+), 2 deletions(-) + +diff --git a/dlls/sfc/sfc.spec b/dlls/sfc/sfc.spec +index 04307d2..bdd66db 100644 +--- a/dlls/sfc/sfc.spec ++++ b/dlls/sfc/sfc.spec +@@ -7,7 +7,7 @@ + 7 stub @ + 8 stub @ + 9 stub @ +-@ stub SfcGetNextProtectedFile ++@ stdcall SfcGetNextProtectedFile(long ptr) sfc_os.SfcGetNextProtectedFile + @ stdcall SfcIsFileProtected(ptr wstr) sfc_os.SfcIsFileProtected + @ stdcall SfcIsKeyProtected(long wstr long) sfc_os.SfcIsKeyProtected + @ stub SfcWLEventLogoff +diff --git a/dlls/sfc_os/sfc_os.c b/dlls/sfc_os/sfc_os.c +index 5805342..fab4094 100644 +--- a/dlls/sfc_os/sfc_os.c ++++ b/dlls/sfc_os/sfc_os.c +@@ -123,3 +123,14 @@ BOOL WINAPI SfcIsKeyProtected(HKEY hKey, LPCWSTR lpSubKey, REGSAM samDesired) + SetLastError(ERROR_FILE_NOT_FOUND); + return FALSE; + } ++ ++/****************************************************************** ++ * SfcGetNextProtectedFile [sfc_os.@] ++ */ ++BOOL WINAPI SfcGetNextProtectedFile(HANDLE rpc, PROTECTED_FILE_DATA *data) ++{ ++ FIXME("(%p, %p) stub\n", rpc, data); ++ ++ SetLastError(ERROR_NO_MORE_FILES); ++ return FALSE; ++} +diff --git a/dlls/sfc_os/sfc_os.spec b/dlls/sfc_os/sfc_os.spec +index 1edcb83..6b216e0 100644 +--- a/dlls/sfc_os/sfc_os.spec ++++ b/dlls/sfc_os/sfc_os.spec +@@ -1,3 +1,3 @@ +-@ stub SfcGetNextProtectedFile ++@ stdcall SfcGetNextProtectedFile(long ptr) + @ stdcall SfcIsFileProtected(ptr wstr) + @ stdcall SfcIsKeyProtected(long wstr long) +-- +2.6.1 + diff --git a/patches/sfc-SfcGetNextProtectedFile/definition b/patches/sfc-SfcGetNextProtectedFile/definition new file mode 100644 index 00000000..9767d717 --- /dev/null +++ b/patches/sfc-SfcGetNextProtectedFile/definition @@ -0,0 +1 @@ +Fixes: [38097] Add stub for SfcGetNextProtectedFile