> Yeah, but this isn't necessarily about not trusting Windows apps, i.e. malice or malware, but rather that they can't be designed around it (since they assume Windows environment), so they would have privacy issues without even wanting to. At the very least maybe use
Of course Windows apps can be designed around it. In the Windows environment they'd retrieve a real hardware ID that should be handled with the same care.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/4108#note_49556
On Sat Oct 21 10:27:59 2023 +0000, Jinoh Kang wrote:
> Okay, I've read the prior discussions regarding the rationale.
> Still, I don't think you should change the System UUID for *existing*
> prefixes. Perhaps we could use the registry to detect whether the
> prefix is new, and use the new algorithm for new prefixes. We could
> also record the UUID in the registry "permanently."
Maintaining any way of backward compat on this ID doesn't look feasible. E. g., the current way with a bug reports bios hashtag in serial field on my desktop due to missing fields not being handled. This ID is already non-unique, and maintaining these algorithms backwards would take unreasonable amount of effort (with arguably no gains). Probably more important, /etc/machine-id can be changed anytime by user or system resintall, it is not true hardware id. If anything firmly relies on HW id to persist forever, it is broken already.
Regarding the original discussion, I also don't really understand why we should necessarily obfuscate /etc/machine-id for uuid / serial reporting. App has access to the file anyway, and Wine neither sends the ID anywhere nor tracks the user, it is between the app and the user. On Windows fwiw it will get real motherboard serial and other information like that.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/4108#note_49550
On Sat Oct 21 10:25:18 2023 +0000, Jinoh Kang wrote:
> This changes the system GUID. Some DRMs and copy protections like to
> assume that things like System UUIDs are permanent and never change.
> Changing this will break such apps and the user might have to
> reinstall/re-purchase them again.
Okay, I've read the prior discussions regarding the rationale.
Still, I don't think you should change the System UUID for *existing* prefixes. Perhaps we could use the registry to detect whether the prefix is new, and use the new algorithm for new prefixes. We could also record the UUID in the registry "permanently."
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/4108#note_49548
Jinoh Kang (@iamahuman) commented about dlls/ntdll/unix/system.c:
> system_args.version = system_version;
> system_args.serial_len = get_smbios_string("/sys/class/dmi/id/product_serial", S(system_serial));
> system_args.serial = system_serial;
> - get_system_uuid(&system_args.uuid);
> + derive_machineid_to_uuid(&system_args.uuid);
This changes the system GUID. Some DRMs and copy protections like to assume that things like System UUIDs are permanent and never change. Changing this will break such apps and the user might have to reinstall/re-purchase them again.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/4108#note_49547
Resolves https://bugs.winehq.org/show_bug.cgi?id=9127 . (Some of the named programs in that issue may require additional currently-missing functionality, I didn't check; but if so, that's separate issues.)
Tested with
- winetest on Windows 7
- winetest on Windows 10
- winetest in Wine, of course
- microkiri https://bugs.winehq.org/show_bug.cgi?id=9127#c102
- Wagamama High Spec Trial Edition https://wagahigh.com/download_trial.php#normal (ダウンロード means download)
- Ninki Seiyuu no Tsukurikata Trial https://archive.org/details/sayou_trial
(WMV files in microkiri and Wagamama don't work, but that's separate issues. Also, they need the LC_ALL=ja_JP env, or they throw various goofy errors.)
--
v18: quartz/tests: Add tests for CLSID_CMpegVideoCodec.
quartz/tests: Add tests for new CLSID_MPEG1Splitter functionality.
winegstreamer: Implement CLSID_CMpegVideoCodec.
winegstreamer: Add program stream and video output support to CLSID_MPEG1Splitter.
winegstreamer: Add WG_MAJOR_TYPE_VIDEO_MPEG1 media type.
winegstreamer: Use the new output_compressed property instead of mpegaudioparse in MPEG splitter.
winegstreamer: Add output_compressed parameter to wg_parser_create().
winegstreamer: Implement parts of IAMStreamSelect::Info in CLSID_MPEG1Splitter.
winegstreamer: Implement IAMStreamSelect::Count in CLSID_MPEG1Splitter.
winegstreamer: Improve and clean up some debug logs.
winegstreamer: Include the framerate when converting video format to GstCaps.
winegstreamer: Seek to end of stream instead of to stream duration.
winegstreamer: Clamp QoS events to stay inside the stream's running time.
winegstreamer: Don't read format from unparsed MPEG audio.
https://gitlab.winehq.org/wine/wine/-/merge_requests/3938