Zebediah Figura (@zfigura) commented about server/sock.c:
if (unix_addr.addr.sa_family == AF_INET && !memcmp( &unix_addr.in.sin_addr, magic_loopback_addr, 4 )) unix_addr.in.sin_addr.s_addr = htonl( INADDR_LOOPBACK );
if (sock->family == WS_AF_UNIX && *((char *)(params + 1) + params->addr_len)){char *unix_path = (char *)(params + 1) + params->addr_len;char unix_path_copy[PATH_MAX];strcpy(unix_path_copy, unix_path);if (chdir( dirname( unix_path_copy ) ) == -1){set_error( sock_get_ntstatus( errno ) );return;}memcpy( unix_addr.un.sun_path, basename( unix_path ), sizeof(unix_addr.un.sun_path) );
We shouldn't need this anymore now that we're pssing the real unix path, right?