This series of patches enable Adobe PDF Reader 11 protected mode, which is essentially a Chromium sandbox, to work properly.
--
v2: server: Allow creating a real explorer desktop window for invisible window stations.
user32/tests: Test that an actual desktop window should be created on invisible window stations.
win32u: Use the window station name to check if an application is running as a service.
user32/tests: Test monitor information with an invisible window station.
win32u: Create explorer with the thread effective access token.
https://gitlab.winehq.org/wine/wine/-/merge_requests/3162
Ah, dammit, I wish I had caught this sooner.
MoltenVK has its own scheme for assigning a PCI device ID to the AGX GPUs. I wonder if it wouldn't be worth attempting to emulate that in case apps try to match the ID from Vulkan to this one.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/3187#note_37247
On Windows, `sendto()` ignores its destination parameters when provided with a connection-based socket (currently only SOCK_STREAM), even if they contain invalid data. This patch implements this behavior.
--
v3: ws2_32/tests: Add test for sendto() and recvfrom() on TCP sockets.
https://gitlab.winehq.org/wine/wine/-/merge_requests/3186
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 supported by this patch.
--
v31: ws2_32/tests: Add test for AF_UNIX sockets.
server: Fix getsockname() and accept() on AF_UNIX sockets.
server: Introduce error when attempting to connect() to abstract AF_UNIX sockets.
server: Allow for deletion of socket files.
ws2_32: Add support for AF_UNIX sockets.
ntdll/unix: Add support for AF_UNIX sockets to multiple functions.
ws2_32: Add afunix.h header.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2786
Yeah, I don't particularly remember what I was trying to do with this... it may have been an attempt to formalize the list of HLSL maintainers and/or avoid the need for Henri to sign off on those patches.
--
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/19#note_37232
It's probably as good a time as any to revisit this.
I don't think the project is quite large enough to really need this at this point; I think "git log" paints a fairly decent picture of who touches which code, and Wine essentially did fine without a maintainers file for the first two decades or so too. I could certainly be convinced the project would benefit from having this, but right now this feels a bit like a solution in search of a problem to me.
--
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/19#note_37231