Overview
Comment: | Fix overlooked OFSocketAddress(Set)Port |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
64fc4f634438cfe268afe0bb9580c092 |
User & Date: | js on 2022-10-22 18:51:16 |
Other Links: | manifest | tags |
Context
2022-10-22
| ||
21:58 | Add support for AppleTalk DDP sockets check-in: b62cca0487 user: js tags: trunk | |
18:51 | Fix overlooked OFSocketAddress(Set)Port check-in: 64fc4f6344 user: js tags: trunk | |
18:41 | OFSocket: Don't combine port for IP and IPX check-in: a54730b88f user: js tags: trunk | |
Changes
Modified src/OFIPXSocket.h from [9798b4504d] to [8dc615311a].
︙ | ︙ | |||
32 33 34 35 36 37 38 | * * @brief A class which provides methods to create and use IPX sockets. * * Addresses are of type @ref OFSocketAddress. You can use * @ref OFSocketAddressMakeIPX to create an address or * @ref OFSocketAddressIPXNetwork to get the IPX network, * @ref OFSocketAddressIPXNode to get the IPX node and | | | 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | * * @brief A class which provides methods to create and use IPX sockets. * * Addresses are of type @ref OFSocketAddress. You can use * @ref OFSocketAddressMakeIPX to create an address or * @ref OFSocketAddressIPXNetwork to get the IPX network, * @ref OFSocketAddressIPXNode to get the IPX node and * @ref OFSocketAddressIPXPort to get the port (sometimes also called * socket number). * * @warning Even though the OFCopying protocol is implemented, it does *not* * return an independent copy of the socket, but instead retains it. * This is so that the socket can be used as a key for a dictionary, * so context can be associated with a socket. Using a socket in more * than one thread at the same time is not thread-safe, even if copy |
︙ | ︙ |
Modified src/OFTCPSocket.m from [74ced9f7d1] to [246d2d6fc1].
︙ | ︙ | |||
353 354 355 356 357 358 359 | for (;;) { uint16_t rnd = 0; int ret; while (rnd < 1024) rnd = (uint16_t)rand(); | | | 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 | for (;;) { uint16_t rnd = 0; int ret; while (rnd < 1024) rnd = (uint16_t)rand(); OFSocketAddressSetIPPort(&address, rnd); if ((ret = bind(_socket, (struct sockaddr *)&address.sockaddr, address.length)) == 0) { port = rnd; break; } |
︙ | ︙ |
Modified src/OFUDPSocket.h from [c4641067b3] to [9190ffdfc0].
︙ | ︙ | |||
31 32 33 34 35 36 37 | * @class OFUDPSocket OFUDPSocket.h ObjFW/OFUDPSocket.h * * @brief A class which provides methods to create and use UDP sockets. * * Addresses are of type @ref OFSocketAddress. You can use the current thread's * @ref OFDNSResolver to create an address for a host / port pair, * @ref OFSocketAddressString to get the IP address string for an address and | | | 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | * @class OFUDPSocket OFUDPSocket.h ObjFW/OFUDPSocket.h * * @brief A class which provides methods to create and use UDP sockets. * * Addresses are of type @ref OFSocketAddress. You can use the current thread's * @ref OFDNSResolver to create an address for a host / port pair, * @ref OFSocketAddressString to get the IP address string for an address and * @ref OFSocketAddressIPPort to get the port for an address. If you want to * compare two addresses, you can use * @ref OFSocketAddressEqual and you can use @ref OFSocketAddressHash to get a * hash to use in e.g. @ref OFMapTable. * * @warning Even though the OFCopying protocol is implemented, it does *not* * return an independent copy of the socket, but instead retains it. * This is so that the socket can be used as a key for a dictionary, |
︙ | ︙ |
Modified src/OFUDPSocket.m from [f8c53776df] to [67c55bc52f].
︙ | ︙ | |||
88 89 90 91 92 93 94 | for (;;) { uint16_t rnd = 0; int ret; while (rnd < 1024) rnd = (uint16_t)rand(); | | | 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 | for (;;) { uint16_t rnd = 0; int ret; while (rnd < 1024) rnd = (uint16_t)rand(); OFSocketAddressSetIPPort(address, rnd); if ((ret = bind(_socket, (struct sockaddr *)&address->sockaddr, address->length)) == 0) break; if (OFSocketErrNo() != EADDRINUSE) { |
︙ | ︙ |