test-servers: put unix-domain-path inside LOGDIR#19810
test-servers: put unix-domain-path inside LOGDIR#19810icing wants to merge 4 commits intocurl:masterfrom
Conversation
Seeing errors in Windows runs like `Error binding socket on path C:/msys64/tmp/curl-socksd-42Ne8CeN`, place the UDS paths into the test runners $LOGDIR to avoid possible interferences in parallel runs. The UDS paths are created as temp files, but unlinked right away before passing them on to started servers. By using $LOGDIR, we avoid possible mixups here.
|
@dfandrich I hope this is a good way to achieve this. My perl is not what it used to be... |
|
Tried in a local Win 11 VM, and the result is similar (WSAEOPNOTSUPP): Support seems to be present: https://devblogs.microsoft.com/commandline/af_unix-comes-to-windows/ |
|
Testing now with #19812. It seems to make it work in the above env. |
|
With this applied over #19812, curl uses an absolute filename to connect to the socks5 server, https://github.com/curl/curl/actions/runs/19898592049/job/57035659366?pr=19812#step:13:2682 Without this applied, the URL confusion does not happen, but the socks5 filename is an incorrect, https://github.com/curl/curl/actions/runs/19896583933/job/57028545111?pr=19812 I think this patch helps, but the URL format does not support Windowsy names: |
|
@vszakats can I close this one, since you have merged it into yours? |
|
@icing I planned to merge it separately, but was still thinking how to describe Change Unix domain socket paths from Ref: https://github.com/curl/curl/actions/runs/19896583933/job/57028545111?pr=19812 The curl tool is pending #19825 to fix accepting an absolute unix domain |
Windows 10.17063+ (having unix socket support) fails to set for unix sockets the `SO_REUSEADDR` option, with error 10045 (`WSAEOPNOTSUPP`), and also fails to set `SO_KEEPALIVE` with error 10042 (`WSAENOPROTOOPT`). Fix by not enabling these socket options on Windows for unix sockets. Also: - fixing test 1435, 1436 to run in CI. - fixing the `socksd` test server for test 1467, 1468, 1470. But, also disable these for now due to another Windows issue: #19825 Ref: https://stackoverflow.com/questions/68791319/unix-domain-socket-bind-failed-in-windows/68794755#68794755 Ref: #19810 Closes #19812
|
Merged now with the text above. Thanks! |
Seeing errors in Windows runs like
Error binding socket on path C:/msys64/tmp/curl-socksd-42Ne8CeN, place the UDS paths into the test runners $LOGDIR to avoid possible interferences in parallel runs.The UDS paths are created as temp files, but unlinked right away before passing them on to started servers. By using $LOGDIR, we avoid possible mixups here.