This clears up much of the todo list for mspatcha. GetFilePatchSignature* and NormalizeFileForPatchSignature have now been implemented in these changes.
These changes bring better support for things like the Adobe Acrobat installer without the need for things like the winetricks mspatcha.dll native dll override. Still needed is support for interleaved streams in the LZXD decompression logic, however this is a great start to better supporting software installers that use the Windows interface for creating and applying patches to files.
This is the beginning of the fixes required for bug 12501: https://bugs.winehq.org/show_bug.cgi?id=12501
--
v31: mspatcha: Use unaligned typedefs for basic types
mspatcha: Use string comparison for section names
mspatcha: Relocate PE/COFF image functions
mspatcha: Add support for 32-bit file image patch transforms
mspatcha: Add implementations for GetFilePatchSignature* routines
mspatcha: Add support for 32-bit file normalization
https://gitlab.winehq.org/wine/wine/-/merge_requests/3870
This clears up much of the todo list for mspatcha. GetFilePatchSignature* and NormalizeFileForPatchSignature have now been implemented in these changes.
These changes bring better support for things like the Adobe Acrobat installer without the need for things like the winetricks mspatcha.dll native dll override. Still needed is support for interleaved streams in the LZXD decompression logic, however this is a great start to better supporting software installers that use the Windows interface for creating and applying patches to files.
This is the beginning of the fixes required for bug 12501: https://bugs.winehq.org/show_bug.cgi?id=12501
--
v30: mspatcha: Use unaligned typedefs for basic types
mspatcha: Use string comparison for section names
https://gitlab.winehq.org/wine/wine/-/merge_requests/3870
This clears up much of the todo list for mspatcha. GetFilePatchSignature* and NormalizeFileForPatchSignature have now been implemented in these changes.
These changes bring better support for things like the Adobe Acrobat installer without the need for things like the winetricks mspatcha.dll native dll override. Still needed is support for interleaved streams in the LZXD decompression logic, however this is a great start to better supporting software installers that use the Windows interface for creating and applying patches to files.
This is the beginning of the fixes required for bug 12501: https://bugs.winehq.org/show_bug.cgi?id=12501
--
v29: mspatcha: Use string comparison for section names
mspatcha: Use unaligned typedefs for basic types
https://gitlab.winehq.org/wine/wine/-/merge_requests/3870
Windows 10 [received support](https://devblogs.microsoft.com/commandline/af_unix-comes-to-window… for AF_UNIX sockets in Insider Build 17063. This merge request adds basic support for AF_UNIX sockets to ws2_32 and wineserver.
Of particular note is the difficulty in handling `sun_path`. Most of the functions that allow for translating Windows paths to Unix paths are not accessible from ws2_32. I considered the following options:
* Pass the Windows path to wineserver and do the conversion there.
* This is, as far as I can tell, not possible without major rearchitecting. wineserver does not have functions to translate Windows paths to Unix paths, for obvious reasons.
* Obtain the current working directory of the requesting process and temporarily change directories to there.
* This only handles relative paths and fails for absolute paths, UNC paths, etc.
* Conditionally change directories based on whether the path is relative or not.
* This is error-prone and wineserver does not have the requisite functions to do this cleanly.
I ultimately decided to pass the translated Unix path to wineserver, which changes directories to `dirname(path)`. It then provides `bind` and `connect` with `basename(path)`. This is not threadsafe, but wineserver is not (currently) multithreaded.
Abstract sockets are not fully supported by this patch, matching the behavior of Windows.
--
v58: ws2_32/tests: Add test for AF_UNIX sockets.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2786
This clears up much of the todo list for mspatcha. GetFilePatchSignature* and NormalizeFileForPatchSignature have now been implemented in these changes.
These changes bring better support for things like the Adobe Acrobat installer without the need for things like the winetricks mspatcha.dll native dll override. Still needed is support for interleaved streams in the LZXD decompression logic, however this is a great start to better supporting software installers that use the Windows interface for creating and applying patches to files.
This is the beginning of the fixes required for bug 12501: https://bugs.winehq.org/show_bug.cgi?id=12501
--
v28: mspatcha: Use string comparison for section names
mspatcha: Use unaligned typedefs
mspatcha: Relocate PE/COFF image functions
mspatcha: Add support for 32-bit file image patch transforms
https://gitlab.winehq.org/wine/wine/-/merge_requests/3870
> Understood. Should the tests be added (`todo_wine`'d) to document the behavior discrepancy or should those only be included with the implementation if it becomes necessary to fix a real application?
If you want to submit the tests alone I think they'd be accepted.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/3367#note_46211
Looks okay I think although I find the seat locking again a bit overkill. I don't really see a scenario where a wine process would be used across seats, can this really happen on Wayland?
I understand that as the event is dynamically sent we may have to support it, but I would find it simpler if we could assume that we have a seat from the start (eventually waiting for it on startup, idk), and where we'd just abort if the seat is removed.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/3909#note_46203
This clears up much of the todo list for mspatcha. GetFilePatchSignature* and NormalizeFileForPatchSignature have now been implemented in these changes.
These changes bring better support for things like the Adobe Acrobat installer without the need for things like the winetricks mspatcha.dll native dll override. Still needed is support for interleaved streams in the LZXD decompression logic, however this is a great start to better supporting software installers that use the Windows interface for creating and applying patches to files.
This is the beginning of the fixes required for bug 12501: https://bugs.winehq.org/show_bug.cgi?id=12501
--
v27: mspatcha: Use string comparison for section names
mspatcha: Use unaligned typedefs
mspatcha: Relocate PE/COFF image functions
mspatcha: Add support for 32-bit file image patch transforms
mspatcha: Add implementations for GetFilePatchSignature* routines
https://gitlab.winehq.org/wine/wine/-/merge_requests/3870