[Bug 49160] New: Unity: SystemInfo.deviceUniqueIdentifier always the same under Wine
WineHQ Bugzilla
wine-bugs at winehq.org
Thu May 14 20:42:57 CDT 2020
https://bugs.winehq.org/show_bug.cgi?id=49160
Bug ID: 49160
Summary: Unity: SystemInfo.deviceUniqueIdentifier always the
same under Wine
Product: Wine
Version: 5.8
Hardware: x86-64
OS: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: wmi&wbemprox
Assignee: wine-bugs at winehq.org
Reporter: jamiesonc2 at gmail.com
Distribution: Ubuntu
Unity's SystemInfo.deviceUniqueIdentifier always returns the same value under
Wine, because the underlying data used to populate the property are hardcoded
in Wine. Applications that depend on SystemInfo.deviceUniqueIdentifier being
unique between different systems may behave unexpectedly, including identity
collisions in cloud services clients.
This behavior was observed in the Syrinscape Online (beta) application, which
relies on SystemInfo.deviceUniqueIdentifier to link desktop apps with online
accounts. Wine users are getting linked with other Wine users' online accounts
because all of the Syrinscape Online clients appear to be running on the same
device.
https://www.syrinscape.com/online/
See this Syrinscape support forum thread where the issue was discussed:
https://forum.syrinscape.com/t/who-is-stuart-kehoe/8850
Details about Unity's SystemInfo.deviceUniqueIdentifier:
https://docs.unity3d.com/ScriptReference/SystemInfo-deviceUniqueIdentifier.html
The following data is retrieved from wbemprox to generate a UID:
Win32_BaseBoard::SerialNumber
Win32_BIOS::SerialNumber
Win32_Processor::UniqueId
Win32_DiskDrive::SerialNumber
Win32_OperatingSystem::SerialNumber
As of Wine 5.8, these values are hardcoded. From the latest wbemprox/builtin.c
at the time of this writing:
https://source.winehq.org/git/wine.git/blob/93758fc3ef16eed6cf1639aa6c31f6ab7fdccd72:/dlls/wbemprox/builtin.c
Line 1103: Baseboard serial number = L"None"
Line 1295: BIOS serial number = L"0"
Line 2117: DiskDrive serial number = L"WINEHDISK"
Line 3216: Processor unique ID = NULL
Line 3417: OS serial number = L"12345-OEM-1234567-12345"
As a consequence of the above, the value of Unity's
SystemInfo.deviceUniqueIdentifier is always:
12a9126b14ff9b78b28d00f78e2bff20a224611b
PROPOSED:
If it is impractical to obtain actual serial numbers/IDs for the aforementioned
components, consider populating the values in a way that facilitates more
convenient user customization to workaround application issues.
1. Consider sourcing the values from specially designated registry keys,
populated during new WINE_PREFIX setup.
2. Consider populating said registry keys with random values rather than fixed
values. This will obviate the need for users to do any manual workarounds. (Not
sure if it would break other things, but philosophically, it's not unreasonable
to treat every WINE_PREFIX as though it's a whole new system build.)
--
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.
More information about the wine-bugs
mailing list