Overview
Comment: | Enable UNIX sockets on Windows
Windows 10 supports UNIX sockets since Insider Preview Build 17063, but |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | unix-sockets |
Files: | files | file ages | folders |
SHA3-256: |
d5373ff70f3a3c7167cf17f1c2b5db98 |
User & Date: | js on 2021-10-24 18:11:41 |
Other Links: | branch diff | manifest | tags |
Context
2021-10-24
| ||
21:15 | Add OFUNIXStreamSocket check-in: aaf477fc88 user: js tags: unix-sockets | |
18:11 | Enable UNIX sockets on Windows check-in: d5373ff70f user: js tags: unix-sockets | |
16:07 | Don't try to use UNIX sockets on MorphOS check-in: 2f49b4aec2 user: js tags: unix-sockets | |
Changes
Modified configure.ac from [9898bb4925] to [6fe2736e44].
︙ | ︙ | |||
1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 | #endif ], [ AC_DEFINE(OF_HAVE_IPX, 1, [Whether we have IPX/SPX]) AC_SUBST(USE_SRCS_IPX, '${SRCS_IPX}') ]) ]) AC_CHECK_MEMBER(struct sockaddr_un.sun_path, [ AC_DEFINE(OF_HAVE_UNIX_SOCKETS, 1, [Whether we have UNIX sockets]) AC_SUBST(USE_SRCS_UNIX_SOCKETS, '${SRCS_UNIX_SOCKETS}') ], [], [ #ifdef OF_HAVE_SYS_TYPES_H # include <sys/types.h> #endif #ifdef OF_HAVE_SYS_UN_H # include <sys/un.h> #endif #ifdef __morphos__ # error MorphOS has the struct but does not support it #endif ]) AC_CHECK_FUNCS(paccept accept4, break) | > > > > > > > > > > > > > | 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 | #endif ], [ AC_DEFINE(OF_HAVE_IPX, 1, [Whether we have IPX/SPX]) AC_SUBST(USE_SRCS_IPX, '${SRCS_IPX}') ]) ]) AC_CHECK_HEADERS(afunix.h, [ AC_DEFINE(OF_HAVE_AFUNIX_H, 1, [Whether we have afunix.h]) ], [], [ #ifdef _WIN32 # include <winsock2.h> #endif ]) AC_CHECK_MEMBER(struct sockaddr_un.sun_path, [ AC_DEFINE(OF_HAVE_UNIX_SOCKETS, 1, [Whether we have UNIX sockets]) AC_SUBST(USE_SRCS_UNIX_SOCKETS, '${SRCS_UNIX_SOCKETS}') ], [], [ #ifdef OF_HAVE_SYS_TYPES_H # include <sys/types.h> #endif #ifdef OF_HAVE_SYS_UN_H # include <sys/un.h> #endif #ifdef _WIN32 # include <winsock2.h> #endif #ifdef HAVE_AFUNIX_H # include <afunix.h> #endif #ifdef __morphos__ # error MorphOS has the struct but does not support it #endif ]) AC_CHECK_FUNCS(paccept accept4, break) |
︙ | ︙ |
Modified src/OFSocket.h from [19afd95fa7] to [65bba562bd].
︙ | ︙ | |||
36 37 38 39 40 41 42 43 44 45 46 47 48 49 | # include <netinet/tcp.h> #endif #ifdef OF_HAVE_NETIPX_IPX_H # include <netipx/ipx.h> #endif #ifdef OF_HAVE_SYS_UN_H # include <sys/un.h> #endif #ifdef OF_WINDOWS # include <windows.h> # include <ws2tcpip.h> # ifdef OF_HAVE_IPX # include <wsipx.h> | > > > | 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | # include <netinet/tcp.h> #endif #ifdef OF_HAVE_NETIPX_IPX_H # include <netipx/ipx.h> #endif #ifdef OF_HAVE_SYS_UN_H # include <sys/un.h> #endif #ifdef OF_HAVE_AFUNIX_H # include <afunix.h> #endif #ifdef OF_WINDOWS # include <windows.h> # include <ws2tcpip.h> # ifdef OF_HAVE_IPX # include <wsipx.h> |
︙ | ︙ |
Modified src/objfw-defs.h.in from [b4d2598296] to [a0cd235af2].
1 2 3 4 5 6 7 8 9 10 | #undef OF_APPLE_RUNTIME #undef OF_BIG_ENDIAN #undef OF_FLOAT_BIG_ENDIAN #undef OF_HAVE_ATOMIC_BUILTINS #undef OF_HAVE_ATOMIC_OPS #undef OF_HAVE_BUILTIN_BSWAP16 #undef OF_HAVE_BUILTIN_BSWAP32 #undef OF_HAVE_BUILTIN_BSWAP64 #undef OF_HAVE_CHMOD #undef OF_HAVE_CHOWN | > | 1 2 3 4 5 6 7 8 9 10 11 | #undef OF_APPLE_RUNTIME #undef OF_BIG_ENDIAN #undef OF_FLOAT_BIG_ENDIAN #undef OF_HAVE_AFUNIX_H #undef OF_HAVE_ATOMIC_BUILTINS #undef OF_HAVE_ATOMIC_OPS #undef OF_HAVE_BUILTIN_BSWAP16 #undef OF_HAVE_BUILTIN_BSWAP32 #undef OF_HAVE_BUILTIN_BSWAP64 #undef OF_HAVE_CHMOD #undef OF_HAVE_CHOWN |
︙ | ︙ |
Modified tests/OFUNIXDatagramSocketTests.m from [9cfb905769] to [3efedf5cad].
︙ | ︙ | |||
38 39 40 41 42 43 44 | * We can have sockets, including UNIX sockets, while file support is * disabled. */ path = [OFString stringWithFormat: @"/tmp/%@", [[OFUUID UUID] UUIDString]]; #endif | < | > > > > > > > > > > > > > > > | 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 | * We can have sockets, including UNIX sockets, while file support is * disabled. */ path = [OFString stringWithFormat: @"/tmp/%@", [[OFUUID UUID] UUIDString]]; #endif TEST(@"+[socket]", (sock = [OFUNIXDatagramSocket socket])) @try { TEST(@"-[bindToPath:]", R(address1 = [sock bindToPath: path])) } @catch (OFBindFailedException *e) { if (e.errNo == EAFNOSUPPORT) { [OFStdOut setForegroundColor: [OFColor lime]]; [OFStdOut writeLine: @"\r[OFUNIXDatagramSocket] -[bindToPath:]: " @"UNIX datagram sockets unsupported, skipping " @"tests"]; objc_autoreleasePoolPop(pool); return; } else @throw e; } @try { TEST(@"-[sendBuffer:length:receiver:]", R([sock sendBuffer: "Hello" length: 5 receiver: &address1])) TEST(@"-[receiveIntoBuffer:length:sender:]", [sock receiveIntoBuffer: buffer length: 5 sender: &address2] == 5 && |
︙ | ︙ |