On Tue May 16 07:36:20 2023 +0000, **** wrote:
> Marvin replied on the mailing list:
> ```
> Hi,
> It looks like your patch introduced the new failures shown below.
> Please investigate and fix them before resubmitting your patch.
> If they are not new, fixing them anyway would help a lot. Otherwise
> please ask for the known failures list to be updated.
> The tests also ran into some preexisting test failures. If you know how
> to fix them that would be helpful. See the TestBot job for the details:
> The full results can be found at:
> https://testbot.winehq.org/JobDetails.pl?Key=132716
> Your paranoid android.
> === debian11 (32 bit report) ===
> ntdll:
> file.c:4097: Test failed: got attributes 0x22
> === debian11 (32 bit zh:CN report) ===
> ntdll:
> file.c:4097: Test failed: got attributes 0x22
> === debian11b (64 bit WoW report) ===
> ntdll:
> file.c:4097: Test failed: got attributes 0x22
> ```
It looks to me like the only way around this would be to treat prefixes separately from other paths but it is not clear to me how one would positively identify a path that lies within a prefix.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/2827#note_32872
The real motivation for the patches is to stop using PRINTERINFO structure in unixlib. I was planning to move AFM handling to unixlib initially but it depends on string to float parsing.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/2828
Signed-off-by: Nikolay Sivov <nsivov(a)codeweavers.com>
--
v7: tests: Add RWBuffer writing test.
tests: Add support for UAV buffers to d3d12 runner.
tests: Add support for UAV buffers in Vulkan runner.
vkd3d-shader/hlsl: Improve UAV format type checking for buffer types.
vkd3d-shader/hlsl: Add support for writing RWStructuredBuffer declarations.
vkd3d-shader/hlsl: Add support for RWBuffer object.
vkd3d-shader: Fix dcl_uav_typed_* formatting.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/193
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.
--
v4: ws2_32/tests: Add test for AF_UNIX sockets.
server: Introduce error when attempting to connect() to abstract AF_UNIX sockets.
ws2_32: Fix pointer arithmetic error in bind().
server: Fix pointer arithmetic error in sock_ioctl().
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
Windows only provides the 32-bit API and using todo_wine win_skip() in
the 64-bit case would imply Wine needs fixing. So it's simpler to use
a plain skip().
Other schemes like picking between skip() and win_skip() based on bitness feel like they would be way overkill.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/2811