Added patch to create HKLM\Software\Microsoft\Cryptography\MachineGuid registry key.

This commit is contained in:
Sebastian Lackner 2015-05-03 18:52:56 +02:00
parent f3b8a3bfa3
commit ffb7bab285
5 changed files with 102 additions and 1 deletions

View File

@ -39,11 +39,12 @@ Wine. All those differences are also documented on the
Included bug fixes and improvements
-----------------------------------
**Bug fixes and features included in the next upcoming release [9]:**
**Bug fixes and features included in the next upcoming release [10]:**
* Add stub for D3DXFrameFind ([Wine Bug #38334](https://bugs.winehq.org/show_bug.cgi?id=38334))
* Add stub for advapi32.ImpersonateAnonymousToken
* Add stub for d3d11.D3D11CreateDeviceAndSwapChain ([Wine Bug #33153](https://bugs.winehq.org/show_bug.cgi?id=33153))
* Create HKLM\Software\Microsoft\Cryptography\MachineGuid registry key ([Wine Bug #38508](https://bugs.winehq.org/show_bug.cgi?id=38508))
* Emulate \Device\Null using /dev/null ([Wine Bug #38107](https://bugs.winehq.org/show_bug.cgi?id=38107))
* Fix regression caused by blacklisting supported OpenGL extensions ([Wine Bug #38480](https://bugs.winehq.org/show_bug.cgi?id=38480))
* Ignore garbage after decoding gif lines ([Wine Bug #32227](https://bugs.winehq.org/show_bug.cgi?id=32227))

1
debian/changelog vendored
View File

@ -10,6 +10,7 @@ wine-staging (1.7.42) UNRELEASED; urgency=low
* Added patch to return failure in NtProtectVirtualMemory when last argument is omitted.
* Added patch to emulate \Device\Null using /dev/null.
* Added patch to make sure OpenClipboard with current owner doesn't fail.
* Added patch to create HKLM\Software\Microsoft\Cryptography\MachineGuid registry key.
* Removed patch to avoid crash when trying to bind mshtml event scripts to window (fixed upstream).
* Removed patch for stub of ntdll.WinSqmIsOptedIn (fixed upstream).
* Removed patch to fix issues with invalid console handles for new processes (accepted upstream).

View File

@ -227,6 +227,7 @@ patch_enable_all ()
enable_wine_inf_Performance="$1"
enable_wine_inf_ProfileList_UserSID="$1"
enable_wineboot_HKEY_DYN_DATA="$1"
enable_wineboot_MachineGuid="$1"
enable_winebuild_LinkerVersion="$1"
enable_winecfg_Libraries="$1"
enable_winecfg_Staging="$1"
@ -760,6 +761,9 @@ patch_enable ()
wineboot-HKEY_DYN_DATA)
enable_wineboot_HKEY_DYN_DATA="$2"
;;
wineboot-MachineGuid)
enable_wineboot_MachineGuid="$2"
;;
winebuild-LinkerVersion)
enable_winebuild_LinkerVersion="$2"
;;
@ -4852,6 +4856,21 @@ if test "$enable_wineboot_HKEY_DYN_DATA" -eq 1; then
) >> "$patchlist"
fi
# Patchset wineboot-MachineGuid
# |
# | This patchset fixes the following Wine bugs:
# | * [#38508] Create HKLM\Software\Microsoft\Cryptography\MachineGuid registry key
# |
# | Modified files:
# | * programs/wineboot/Makefile.in, programs/wineboot/wineboot.c
# |
if test "$enable_wineboot_MachineGuid" -eq 1; then
patch_apply wineboot-MachineGuid/0001-wineboot-Create-MachineGuid-registry-value.patch
(
echo '+ { "Michael Müller", "wineboot: Create MachineGuid registry value.", 1 },';
) >> "$patchlist"
fi
# Patchset winebuild-LinkerVersion
# |
# | This patchset fixes the following Wine bugs:

View File

@ -0,0 +1,79 @@
From bfd906bdc1ca3af99ed62166a8ed2dbc4335e56d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Sun, 3 May 2015 18:47:30 +0200
Subject: wineboot: Create MachineGuid registry value.
---
programs/wineboot/Makefile.in | 2 +-
programs/wineboot/wineboot.c | 35 +++++++++++++++++++++++++++++++++++
2 files changed, 36 insertions(+), 1 deletion(-)
diff --git a/programs/wineboot/Makefile.in b/programs/wineboot/Makefile.in
index f6da0f9..525abde 100644
--- a/programs/wineboot/Makefile.in
+++ b/programs/wineboot/Makefile.in
@@ -1,7 +1,7 @@
MODULE = wineboot.exe
APPMODE = -mconsole
IMPORTS = uuid advapi32
-DELAYIMPORTS = shell32 shlwapi version user32
+DELAYIMPORTS = shell32 shlwapi version user32 rpcrt4
C_SRCS = \
shutdown.c \
diff --git a/programs/wineboot/wineboot.c b/programs/wineboot/wineboot.c
index a20b4e1..3b6abe4 100644
--- a/programs/wineboot/wineboot.c
+++ b/programs/wineboot/wineboot.c
@@ -354,6 +354,40 @@ static void create_environment_registry_keys( void )
RegCloseKey( env_key );
}
+/* create Cryptography registry keys */
+static void create_cryptography_registry_keys( void )
+{
+ static const WCHAR CryptographyW[] = {'S','o','f','t','w','a','r','e','\\',
+ 'M','i','c','r','o','s','o','f','t','\\',
+ 'C','r','y','p','t','o','g','r','a','p','h','y',0};
+ static const WCHAR MachineGuidW[] = {'M','a','c','h','i','n','e','G','u','i','d',0};
+ static const WCHAR formatW[] =
+ {
+ '%','0','8','x','-','%','0','4','x','-','%','0','4','x','-','%','0',
+ '2','x','%','0','2','x','-','%','0','2','x','%','0','2','x','%','0','2',
+ 'x','%','0','2','x','%','0','2','x','%','0','2','x',0
+ };
+
+ HKEY crypt_key;
+ WCHAR buffer[37];
+ UUID uuid;
+
+ if (RegCreateKeyW( HKEY_LOCAL_MACHINE, CryptographyW, &crypt_key )) return;
+
+ if (RegQueryValueExW( crypt_key, MachineGuidW, NULL, NULL, NULL, NULL ))
+ {
+ UuidCreate( &uuid );
+ wsprintfW(buffer, formatW, uuid.Data1, uuid.Data2,
+ uuid.Data3, uuid.Data4[0], uuid.Data4[1],
+ uuid.Data4[2], uuid.Data4[3], uuid.Data4[4],
+ uuid.Data4[5], uuid.Data4[6], uuid.Data4[7]);
+
+ RegSetValueExW( crypt_key, MachineGuidW, 0, REG_SZ, (BYTE *)buffer, sizeof(buffer) );
+ }
+
+ RegCloseKey( crypt_key );
+}
+
static void create_volatile_environment_registry_key(void)
{
static const WCHAR VolatileEnvW[] = {'V','o','l','a','t','i','l','e',' ','E','n','v','i','r','o','n','m','e','n','t',0};
@@ -1229,6 +1263,7 @@ int main( int argc, char *argv[] )
create_hardware_registry_keys();
create_dynamic_registry_keys();
create_environment_registry_keys();
+ create_cryptography_registry_keys();
wininit();
pendingRename();
--
2.3.5

View File

@ -0,0 +1 @@
Fixes: [38508] Create HKLM\Software\Microsoft\Cryptography\MachineGuid registry key