ObjFW  History of src/OFUDPSocket.m of d9ae4fa74a680c9e

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

History of file src/OFUDPSocket.m at check-in d9ae4fa74a680c9e

2025-06-22
19:32
Deleted: Point to the new repository check-in: [ec62287f25] user: js branch: trunk, size: 0
2025-03-26
02:24
Fix OF_DIRECT_MEMBERS with Clang 21 file: [96f3330697] check-in: [d9ae4fa74a] user: js branch: trunk, size: 5005
2025-01-01
12:58
Update copyright file: [8e3e9f8c23] check-in: [9d802a786d] user: js branch: trunk, size: 5015
2024-04-29
21:42
Properly hide private symbols file: [b9116525f2] check-in: [f16bccc7b3] user: js branch: trunk, size: 5015
2024-04-03
02:16
Change license to LGPLv3 only file: [d9b5e328f7] check-in: [7413a728a7] user: js branch: trunk, size: 5009
2024-01-02
17:17
Update copyright file: [a826172472] check-in: [26ddd2e4e4] user: js branch: trunk, size: 4801
2023-05-21
10:04
OFUDPSocket: Return socket address bound to file: [c3dd64f929] check-in: [65154c2576] user: js branch: trunk, size: 4801
2023-01-06
09:04
Update copyright file: [bb467c718b] check-in: [8939cbdb52] user: js branch: trunk, size: 5109
2022-12-27
13:58
Rename OFAlready{Connected -> Open}Exception file: [2ed8120a61] check-in: [29a41e5a78] user: js branch: trunk, size: 5109
2022-10-22
18:51
Fix overlooked OFSocketAddress(Set)Port file: [67c55bc52f] check-in: [64fc4f6344] user: js branch: trunk, size: 5119
18:41
OFSocket: Don't combine port for IP and IPX While it works for those two protocols, it's a bad precedent as other protocols have different types for ports. file: [f8c53776df] check-in: [a54730b88f] user: js branch: trunk, size: 5117
16:00
Split OFBindSocketFailedException into subclasses file: [fd8f9dff29] check-in: [72db6b3c6f] user: js branch: trunk, size: 5099
15:07
Rename OFBind{ -> Socket}FailedException file: [080326bc21] check-in: [35b565d369] user: js branch: trunk, size: 5085
2022-08-06
21:14
Don't use struct sockaddr in OFSocketAddress struct sockaddr can contain a variable length array, which breaks the union. file: [61fa5cfa02] check-in: [25adea9a23] user: js branch: trunk, size: 5043
2022-02-12
07:46
Update copyright file: [b89b6c4724] check-in: [1a86b8175b] user: js branch: trunk, size: 5004
2021-10-15
16:15
OFUDPSocket: Fix compiling for HP-UX / Wii / 3DS file: [bb035d1ec6] check-in: [50641eb716] user: js branch: trunk, size: 5004
2021-04-18
23:18
INVALID_SOCKET -> OFInvalidSocketHandle file: [5d65cff83a] check-in: [4b587c8874] user: js branch: new-naming-convention, size: 5033
22:56
Rename all symbols marked extern file: [36850f3267] check-in: [e73c65a849] user: js branch: new-naming-convention, size: 4984
20:51
Rename everything in several smaller files file: [c0ef3d326a] check-in: [35de667566] user: js branch: new-naming-convention, size: 4995
15:55
Rename all functions in macros.h file: [24f3c5b76d] check-in: [7392685ffc] user: js branch: new-naming-convention, size: 4992
2021-04-17
13:58
of_socket_address_t -> OFSocketAddress file: [b4763512f7] check-in: [e3c5bb70dd] user: js branch: new-naming-convention, size: 4990
2021-03-07
20:25
*.m: Fold methods into one line where it fits file: [ab91d5347a] check-in: [1b82d3bf4f] user: js branch: trunk, size: 5043
2021-01-14
02:29
Define _HPUX_ALT_XOPEN_SOCKET_API where necessary There is a nasty bug in HP-UX: When using the proper socket APIs that take a socklen_t (which is 64 bit in LP64 mode), it still calls into methods that expect an int - so there is a type mismatch between the headers and the compiled system libraries. This leads to all socklen_t being interpreted as 0 (due to big endian). Defining _HPUX_ALT_XOPEN_SOCKET_API makes it use the correct symbols in the system libraries instead. file: [26835c8d41] check-in: [1833194867] user: js branch: trunk, size: 5054
2021-01-02
22:06
Update copyright file: [44b93ee23f] check-in: [27b401c7c2] user: js branch: amiga-library, size: 4887
22:04
Update copyright file: [284e645ef0] check-in: [374e1a1bfa] user: js branch: trunk, size: 4948
2021-01-01
22:27
Workaround for binding to UDP port 0 on HP-UX file: [19321c5f2d] check-in: [c98b667229] user: js branch: trunk, size: 5037
2020-06-28
15:03
Use OF_DIRECT(_MEMBERS) where appropriate file: [8b135fcca2] check-in: [b6cb3addd0] user: js branch: trunk, size: 4976
2020-05-06
00:32
Improve names of several properties file: [851b1788ef] check-in: [bc67e98833] user: js branch: trunk, size: 4966
2020-04-26
16:21
Add OFSequencedPacketSocket This is intended for SCTP and SPX. file: [2b709ddc80] check-in: [e5b2ee56ff] user: js branch: trunk, size: 4966
2020-04-25
17:05
Add OFDatagramSocket as base class for OFUDPSocket This makes it easier to reuse code for other datagram sockets, namely IPX. file: [62f6a25c2d] check-in: [b02c4b05bb] user: js branch: trunk, size: 4891
2020-01-02
01:51
Update copyright file: [c8408c9960] check-in: [c7f0229795] user: js branch: trunk, size: 11926
2019-10-07
00:07
OFDNSResolver: Major refactor This temporarily doesn't use the search domains anymore and makes CNAMEs slightly more inefficient. The next commits will fix both. file: [de0f80ba6e] check-in: [ee592cf603] user: js branch: trunk, size: 11923
2019-08-09
23:44
Support sockets on AmigaOS 3 file: [e6c74d7c76] check-in: [3dec8ecf2e] user: js branch: trunk, size: 11928
2019-01-07
22:59
Partially fix sockets on Nintendo 3DS/Wii This does not fully fix it yet, but at least the socket tests in the test suite pass on 3DS now. file: [08c14deedf] check-in: [ab89c47f42] user: js branch: trunk, size: 11896
2019-01-03
19:13
Update copyright file: [20728b2787] check-in: [0509d7a844] user: js branch: trunk, size: 11865
2018-12-18
21:17
Use OFData instead of a buffer for async UDP sends This avoids the entire problem of keeping the buffer alive until the send finished. file: [83f1dff89c] check-in: [0f3ae90eef] user: js branch: trunk, size: 11859
17:10
Slightly decrease binary size file: [9559b91b20] check-in: [3501205f07] user: js branch: trunk, size: 12072
2018-12-08
18:55
OFUDPSocket: Use a delegate for async operations file: [a173a95dac] check-in: [da2dd2dde5] user: js branch: trunk, size: 11927
2018-11-04
18:40
Sandbox ofdns file: [c73a7a1b74] check-in: [605634184d] user: js branch: trunk, size: 12457
2018-10-27
21:14
Fix compilation with newer MinGW-w64 versions file: [11089b6c20] check-in: [0036c4c22e] user: js branch: trunk, size: 12394
2018-10-07
02:06
Remove resolver.m Instead, OFDNSResolver is used for everything now. file: [073268c5ca] check-in: [6e9ee122eb] user: js branch: trunk, size: 12389
2018-09-29
14:45
OFUDPSocket: Allow specifying the run loop mode file: [e0fb2ac475] check-in: [b90d4055a1] user: js branch: trunk, size: 15948
2018-09-24
00:13
OFRunLoop: Add support for modes file: [a374d3e9ed] check-in: [3fb96dff3c] user: js branch: trunk, size: 14477
2018-08-26
18:39
Fix compilation for Wii This pretends that net_getsockopt() exists, which it does not yet. As soon as it lands in libogc, this will work again. file: [06139f0b65] check-in: [bed2db0fd3] user: js branch: trunk, size: 14277
2018-08-11
21:53
Fix build on 3DS and Wii file: [22a70e2ff3] check-in: [9a494f183b] user: js branch: trunk, size: 14274
14:00
Change the layout of of_socket_address_t Instead of containing a struct sockaddr_storage - which does not exist on all supported platforms - it now contains a union of all struct sockaddr_* types. Additionally, if struct sockaddr_in6 does not exist, it is defined so that an IPv6 can be stored even if the system does not support IPv6. file: [1e4bb48119] check-in: [8f810ecb7e] user: js branch: trunk, size: 14217
2018-08-04
16:23
Support for non-blocking UDP sockets file: [6cab00e4d5] check-in: [7de9d67be9] user: js branch: trunk, size: 13776
15:35
Use OF_HAVE_IPV6 instead of HAVE_IPV6 This has always been wrong. file: [6754e57a6e] check-in: [e36455441d] user: js branch: trunk, size: 12961
2018-07-28
20:21
Add of_socket_address_ip_string() This replaces of_address_to_string_and_port(). file: [df2fd645d0] check-in: [8aeee6680a] user: js branch: trunk, size: 12952
17:38
Rename of_{udp_ -> }socket_address file: [a0a08f26fb] check-in: [b16f2b9e25] user: js branch: trunk, size: 13188
2018-01-03
19:49
Update copyright notice file: [f99cdecba3] check-in: [7e5c81e186] user: js branch: trunk, size: 16016
2017-10-22
15:05
Make Apple GCC with -Wshadow happy file: [488e7d77d9] check-in: [a06354b42a] user: js branch: trunk, size: 15993
14:09
Make Apple GCC with -Wshadow happy file: [fdfc6330cc] check-in: [31c0f5b89e] user: js branch: 0.90, size: 14929
2017-10-17
00:33
Do not use implicit method return types Instead, explicitly declare them, as OF_ASSUME_NONNULL_{BEGIN,END} does not apply to implicit return types. This means that after this commit, all init methods have a nonnull return type, as they should have. file: [8a3b636da1] check-in: [2f4e0df8be] user: js branch: trunk, size: 15924
2017-09-24
17:35
OFUDPSocket: Add support for async sending file: [35a4b455a8] check-in: [842c55dd83] user: js branch: trunk, size: 15814
11:24
Change type for async exceptions to id file: [971c30a9d2] check-in: [f8498bb114] user: js branch: trunk, size: 15069
2017-09-23
22:07
Support for passing a context to async IO handlers file: [c1cf4f8ea1] check-in: [958da109d3] user: js branch: trunk, size: 15111
2017-06-12
22:29
OFWriteFailedException: Add -[bytesWritten] This allows retrieving the number of bytes already written before the write failed, allowing to retry without writing data that has already been written. file: [c8e3c83553] check-in: [2ae01218ef] user: js branch: trunk, size: 14860
2017-05-22
23:31
Make includes of unistd.h and fcntl.h conditional file: [a9d215ce51] check-in: [1287e77e04] user: js branch: trunk, size: 14577
2017-05-21
23:57
Use closesocket() instead of close() Previously, socket_helpers.h would just define close() to whatever is needed to close a socket. However, this makes it possible to accidentally call a socket-specific close on something that is not a socket. Having to explicitly call closesocket() (and defining it to close() on platforms where it's the same) prevents this. file: [83754f70d8] check-in: [b4cd87cd81] user: js branch: trunk, size: 14549
21:28
Prefix private methods with of_ instead of OF_ This matches Apple's style. file: [06ff6d8241] check-in: [6b77a5dd8b] user: js branch: trunk, size: 14519
2017-05-07
20:10
Small code style change Casts are now written like types in variable declarations. file: [f67659d08d] check-in: [4af49a13c3] user: js branch: trunk, size: 14519
2017-01-09
17:36
Update copyright Forgot to add 2017, even though I already did quite some changes in 2017. file: [7e2210cd91] check-in: [44f45c2e35] user: js branch: trunk, size: 14478
2016-05-06
20:54
Make GCC happy with -Wsign-compare file: [bc2dead81f] check-in: [e840997cc8] user: js branch: trunk, size: 14472
2016-03-27
23:10
Add socket support for Nintendo 3DS This removes the port registry that existed for the Wii and instead tries binding to random ports in a loop until it succeeds or errno is not EADDRINUSE. This is done for the Wii and Nintendo 3DS now. This also includes several other socket-related cleanups. file: [ad50b942db] check-in: [12b8a7552e] user: js branch: trunk, size: 14423
2016-02-21
15:37
Make use of C99-style for loops file: [40c5efdd20] check-in: [e0b9167693] user: js branch: trunk, size: 13796
2016-01-03
00:43
Update copyright While at it, also update the mail address. file: [966fc51bdc] check-in: [cec0f072f8] user: js branch: 0.8, size: 13305
00:41
Update copyright While at it, also update the mail address. file: [0280b236b8] check-in: [2a27cf3000] user: js branch: trunk, size: 13800
2015-10-19
22:15
Add platform.h & make platform defines consistent file: [3db951aa5f] check-in: [1ba08eebc5] user: js branch: trunk, size: 13796
2015-10-17
10:59
Add a port registry for the Wii This is necessary as the Wii does not allow picking a random free port, and thus we need to track which ports are used. file: [b7f838da94] check-in: [ed4549ddd3] user: js branch: trunk, size: 13789
2015-10-04
11:30
Better length checks for write / send calls file: [3c90c2bfad] check-in: [fc73801932] user: js branch: trunk, size: 13301
11:11
Special cases for the Wii's weird network stack This fixes the tests on Wii. file: [182b0b3dfd] check-in: [4cecf82254] user: js branch: trunk, size: 13205
2015-09-14
13:50
OFUDPSocket: More constness file: [b3ff5858a7] check-in: [605fc10fad] user: js branch: trunk, size: 12968
2015-06-28
16:16
Extremely minor API inconsistency fix file: [c798b7ff61] check-in: [1b1db13483] user: js branch: trunk, size: 12962
2015-05-14
09:58
Clean up a few file and socket related checks file: [1641047e8d] check-in: [b37fdafac1] user: js branch: trunk, size: 12966
2015-05-06
20:18
OFNotConnectedException -> OFNotOpenException file: [4e13070b06] check-in: [ff759684e2] user: js branch: trunk, size: 12946
2015-03-22
11:42
Abstract int vs SOCKET as of_socket_t file: [5a2d407327] check-in: [099e939079] user: js branch: trunk, size: 12966
2015-02-18
22:56
Add of_getsockname() and make use of it of_getsockname() calls getsockname() after acquiring a mutex. This is necessary as some implementations of getsockname() are not thread-safe. file: [455c967f24] check-in: [f18615e057] user: js branch: trunk, size: 12874
2015-02-16
08:39
Explicitly pass errno to exceptions The old behaviour where the exception would access errno directly on creation of the exception was very fragile. The two main problems with it were that sometimes it would pick up an errno even though none had been set and in other cases that when the exception was created errno had already been overridden. This also greatly increases errno handling on Win32, especially in conjunction with sockets. It can still be improved further, though. file: [3c38516b1b] check-in: [62e2de30b9] user: js branch: trunk, size: 12842
2015-01-17
18:39
Fix compilation on Win32 file: [386cfc0afe] check-in: [8b0caeabde] user: js branch: trunk, size: 12521
2015-01-03
20:57
Update copyright file: [195d7f3dac] check-in: [cfd374b906] user: js branch: trunk, size: 12429
2014-12-13
16:52
Use CLOEXEC for files and sockets file: [a6f8078486] check-in: [06d2de4571] user: js branch: trunk, size: 12423
2014-06-21
21:43
Move all macros from OFObject.h to macros.h This means that OFObject.h imports macros.h now, making it unnecessary to manually import macros.h in almost every file. And while at it, also import autorelease.h in OFObject.h, so that this doesn't need to be manually imported in almost every file as well. file: [2b1705fa68] check-in: [13ee56edf3] user: js branch: trunk, size: 12231
2014-04-26
00:40
Fix a few issues on LLP64 and Win64 LLP64 was mostly fast enumeration using an unsigned long for the state, which can't store a pointer or a size_t on LLP64. This is now solved by either throwing an OFOutOfRangeException if the value of the size_t is bigger than ULONG_MAX or storing the pointer in the extra field (copied using memcpy, as it's an array of unsigned long, which again would be too small to store a pointer). Win64 was mostly Microsoft not being able to decide whether a length is a size_t, a DWORD, an int or an unsigned int (thus the different types in places that seem to be almost the same). But since that would not be confusing enough, a file descriptor is an int if it's for a file, but a long long if it is for a socket. But of course, for ReadFile and friends it's a DWORD instead of an int then. file: [473e259227] check-in: [4e59d2692f] user: js branch: trunk, size: 12274
2014-04-14
00:45
Coding style No functional change intended. file: [9fe4ea7a6f] check-in: [9da9b2b64c] user: js branch: trunk, size: 11390
2014-02-21
17:17
Cast return of sizeof() to socklen_t It caused a warning about an implicit cast on OS X/PPC64. file: [aca7fe3ad4] check-in: [3fa37632f9] user: js branch: trunk, size: 11385
2014-02-04
21:45
OFUDPSocket: Conform to OFCopying file: [19a4211bbd] check-in: [f836f5e65d] user: js branch: trunk, size: 11363
2014-02-03
14:43
Move socket initialization to a single place file: [e488747830] check-in: [414c87ec13] user: js branch: trunk, size: 11324
2014-01-31
13:07
Minor fixes (missing ifdefs, etc.) file: [851d26fee8] check-in: [60cb25ab50] user: js branch: trunk, size: 11111
2014-01-30
22:02
OFUDPSocket: Add async resolve / receive file: [4a64bf06a1] check-in: [ff3c507941] user: js branch: trunk, size: 11111
12:26
Rename +[UDPSocket hostForAddress:port:] It is now called +[getHost:andPort:forAddress:]. This makes it much clearer from the selector alone what it actually does. file: [584c86fff6] check-in: [fb590316ba] user: js branch: trunk, size: 6996
2014-01-29
15:59
OFUDPSocket: Add observing file: [e5e2000892] check-in: [c4f36e3692] user: js branch: trunk, size: 6964
2014-01-27
22:01
Added: Add OFUDPSocket Async operations will follow later. file: [72deb2c0c0] check-in: [5025cba435] user: js branch: trunk, size: 6856