> It is not a matter of no-confidence, although I could argue that being told that my statements are non-sensical in several occasions isn't a great way to build confidence.
I suspect I know at least one of the occasions you're referring to, and I'd like to apologize for that. It's never been my intent to demean or insult, and I'm sorry for having done so anyway. I will try to be more mindful of my language in the future.
> I took maintainership of the wg_transform code, not just because I wrote most of it, but also in order to help with the bandwidth, and avoid bothering two persons on every single change. I believe I have taken every comment into account very carefully, and haven't bypassed your review or Nikolay's for MF related things, on any meaningful change.
I appreciate the wish to reduce my workload, and I will gladly agree that my reviews have been acknowledged. As I've stated, though, I would still like the opportunity to perform those reviews on any winegstreamer changes.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/2901#note_34600
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.
--
v12: ws2_32/tests: Add test for 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