ObjFW  History of src/OFSocket.m of f847f82b75f5361c

History of file src/OFSocket.m at check-in f847f82b75f5361c

2024-10-27
18:38
Remove nullable in .m files file: [a8a6d0c3aa] check-in: [7d1275cb49] user: js, branch: trunk, size: 29958 [annotate] [blame] [check-ins using] [diff]
2024-08-21
20:14
Make ObjFW compile on macOS/PowerPC 64 file: [7f6fdd5754] check-in: [7b0cd744dc] user: js, branch: trunk, size: 29967 [annotate] [blame] [check-ins using] [diff]
2024-08-17
09:51
Move private functions into private headers file: [a3175107a5] check-in: [b829f3e798] user: js, branch: trunk, size: 29907 [annotate] [blame] [check-ins using] [diff]
2024-05-04
21:50
Use -[substring{To,From}Index:] in more places file: [08fad4b779] check-in: [2ba9aa1fd6] user: js, branch: trunk, size: 29907 [annotate] [blame] [check-ins using] [diff]
2024-04-29
21:42
Properly hide private symbols file: [0dcfbd34b6] check-in: [f16bccc7b3] user: js, branch: trunk, size: 29972 [annotate] [blame] [check-ins using] [diff]
2024-04-03
02:16
Change license to LGPLv3 only file: [b9e69c4209] check-in: [7413a728a7] user: js, branch: trunk, size: 29953 [annotate] [blame] [check-ins using] [diff]
2024-02-03
11:41
Update copyright file: [b16466444e] check-in: [7324ec8590] user: js, branch: 1.0, size: 28908 [annotate] [blame] [check-ins using] [diff]
2024-01-02
17:17
Update copyright file: [df2e9d8f9d] check-in: [26ddd2e4e4] user: js, branch: trunk, size: 29745 [annotate] [blame] [check-ins using] [diff]
2023-10-22
21:47
Fix OFSocketAddressString() for AppleTalk file: [cb58b19af7] check-in: [b64b8e3b3f] user: js, branch: 1.0, size: 28908 [annotate] [blame] [check-ins using] [diff]
21:47
Fix OFSocketAddressString() for AppleTalk file: [c32eb17f99] check-in: [4056d5e2b6] user: js, branch: trunk, size: 29745 [annotate] [blame] [check-ins using] [diff]
21:45
Add OFSocketAddressDescription() file: [c153f444b0] check-in: [a8c9d73327] user: js, branch: trunk, size: 29732 [annotate] [blame] [check-ins using] [diff]
2023-08-01
22:25
Fix OFSocketAddressString() for IPX file: [0cd5c67cfd] check-in: [198e8b6aff] user: js, branch: trunk, size: 28895 [annotate] [blame] [check-ins using] [diff]
2023-07-16
17:53
OFUNIXDatagramSocket: Allow binding to nil path file: [602607c474] check-in: [36c65b8468] user: js, branch: trunk, size: 28880 [annotate] [blame] [check-ins using] [diff]
2023-07-15
17:18
Set sockaddr_un.sun_len if it exists file: [f0f36303c9] check-in: [3067a56f0d] user: js, branch: trunk, size: 28837 [annotate] [blame] [check-ins using] [diff]
2023-06-11
16:45
Add support for IPv4s embedded into IPv6s file: [d7a63b18b9] check-in: [af9084b456] user: js, branch: trunk, size: 28747 [annotate] [blame] [check-ins using] [diff]
2023-05-20
21:07
OFSocketAddressString: Add IPX support file: [788a494072] check-in: [bd332cc15f] user: js, branch: trunk, size: 27822 [annotate] [blame] [check-ins using] [diff]
20:54
OFSocketAddressString: Add AppleTalk support file: [8fc5b1646d] check-in: [79c5eeefcc] user: js, branch: trunk, size: 27162 [annotate] [blame] [check-ins using] [diff]
2023-04-10
15:08
Work around newer amiga-gcc defining Class file: [70652127c8] check-in: [abbed5c008] user: js, branch: trunk, size: 26852 [annotate] [blame] [check-ins using] [diff]
2023-01-06
09:04
Update copyright file: [ade572cc8e] check-in: [8939cbdb52] user: js, branch: trunk, size: 26808 [annotate] [blame] [check-ins using] [diff]
2022-11-05
19:47
Always support IPv6 addresses with numeric scope file: [3facc57fe7] check-in: [df7580d5e1] user: js, branch: trunk, size: 26808 [annotate] [blame] [check-ins using] [diff]
10:01
Don't include <net/if.h> on MorphOS

MorphOS has the header, but it's broken and including it makes the
compiler fail. file: [d36d90a400] check-in: [6235989999] user: js, branch: trunk, size: 27529 [annotate] [blame] [check-ins using] [diff]

2022-11-04
23:30
configure: Check for if_{indextoname,nametoindex} file: [f8a99adefe] check-in: [d5310a5145] user: js, branch: trunk, size: 27477 [annotate] [blame] [check-ins using] [diff]
23:25
Make Windows XP work again file: [1bb1aecd92] check-in: [631661004a] user: js, branch: trunk, size: 27313 [annotate] [blame] [check-ins using] [diff]
20:23
Add support for IPv6 addresses with scope file: [4c24f8dfd3] check-in: [027b704b66] user: js, branch: trunk, size: 26537 [annotate] [blame] [check-ins using] [diff]
2022-11-02
20:26
Use native endian for AppleTalk network on Windows

For some strange reason, Windows does not use big endian here like
everyone else. file: [da4b96c1d5] check-in: [4571eada47] user: js, branch: trunk, size: 25851 [annotate] [blame] [check-ins using] [diff]

2022-10-22
18:46
Merge trunk into branch "appletalk" file: [4fc1cbbf22] check-in: [d1c9ed8498] user: js, branch: appletalk, size: 25643 [annotate] [blame] [check-ins using] [diff]
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: [d0ea6d0ea9] check-in: [a54730b88f] user: js, branch: trunk, size: 22894 [annotate] [blame] [check-ins using] [diff]

18:21
Merge trunk into branch "appletalk" file: [60f126f761] check-in: [ec6ee4c269] user: js, branch: appletalk, size: 25157 [annotate] [blame] [check-ins using] [diff]
16:41
OF[IS]PX(Stream)Socket: Bind with network & node file: [85e7c00ebd] check-in: [b29f11ed25] user: js, branch: trunk, size: 22619 [annotate] [blame] [check-ins using] [diff]
13:49
OFSocket: Add support for AppleTalk file: [713c3da7b8] check-in: [6d7be6020e] user: js, branch: appletalk, size: 25154 [annotate] [blame] [check-ins using] [diff]
2022-09-19
19:10
Fix missing void in function declarations file: [65b91d8086] check-in: [41c2b305ce] user: js, branch: trunk, size: 22616 [annotate] [blame] [check-ins using] [diff]
2022-08-30
00:48
OFObject: Small API change file: [6267eed94e] check-in: [4ad0c363f3] user: js, branch: trunk, size: 22612 [annotate] [blame] [check-ins using] [diff]
2022-08-06
14:43
Reorder node and network of IPX sockets

This is more standard, albeit -[connectToNetwork:node:port:] sounding a
little bit more like you connect to a network rather than a node. file: [b9058d4f4d] check-in: [ccc6a77c55] user: js, branch: trunk, size: 22537 [annotate] [blame] [check-ins using] [diff]

2022-07-31
13:55
Add initial socket code for Nintendo Switch

This doesn't work yet (it crashes on recvfrom), so it's not enabled in
configure for now. file: [16116f3ca3] check-in: [a30a0ab261] user: js, branch: nintendo-switch, size: 22537 [annotate] [blame] [check-ins using] [diff]

2022-02-12
07:46
Update copyright file: [8f11763ca5] check-in: [1a86b8175b] user: js, branch: trunk, size: 22416 [annotate] [blame] [check-ins using] [diff]
2021-10-24
22:36
OFSocketAddressMakeUNIX: Better length calculation file: [a6e136f9fe] check-in: [ba552986b4] user: js, branch: trunk, size: 22416 [annotate] [blame] [check-ins using] [diff]
22:09
Fix OFSocketAddressUNIXPath file: [626dd6d6ed] check-in: [24ffb76ae2] user: js, branch: unix-sockets, size: 22437 [annotate] [blame] [check-ins using] [diff]
15:14
Add OFUNIXDatagramSocket file: [0370baa1c4] check-in: [94110c9553] user: js, branch: unix-sockets, size: 22529 [annotate] [blame] [check-ins using] [diff]
2021-04-25
20:25
Minor style fix file: [25a9151924] check-in: [05dbd482bf] user: js, branch: unix-sockets, size: 23161 [annotate] [blame] [check-ins using] [diff]
20:22
Renamed src/socket.m → src/OFSocket.m. Merge trunk into branch "unix-sockets" file: [a17f72fec0] check-in: [fb40f7048d] user: js, branch: unix-sockets, size: 23163 [annotate] [blame] [check-ins using] [diff]
2021-04-18
22:56
Rename all symbols marked extern file: [941bbd3cbe] check-in: [e73c65a849] user: js, branch: new-naming-convention, size: 20528 [annotate] [blame] [check-ins using] [diff]
20:51
Renamed src/socket.m → src/OFSocket.m. Rename everything in several smaller files file: [3ac6ff523b] check-in: [35de667566] user: js, branch: new-naming-convention, size: 20570 [annotate] [blame] [check-ins using] [diff]
15:55
Rename all functions in macros.h file: [7a2fb62340] check-in: [7392685ffc] user: js, branch: new-naming-convention, size: 20563 [annotate] [blame] [check-ins using] [diff]
2021-04-17
16:29
of_spinlock_t -> OFSpinlock file: [1838fee786] check-in: [fabf53041a] user: js, branch: new-naming-convention, size: 20578 [annotate] [blame] [check-ins using] [diff]
16:13
of_once_t -> OFOnceControl file: [88d75056c4] check-in: [26aa88fc9b] user: js, branch: new-naming-convention, size: 20580 [annotate] [blame] [check-ins using] [diff]
15:45
of_tlskey_t -> OFTLSKey file: [36cae0ca62] check-in: [cc3a4a7b43] user: js, branch: new-naming-convention, size: 20567 [annotate] [blame] [check-ins using] [diff]
14:05
Minor fixes for last commit file: [35ea54e031] check-in: [c45a108585] user: js, branch: new-naming-convention, size: 20589 [annotate] [blame] [check-ins using] [diff]
13:58
of_socket_address_t -> OFSocketAddress file: [b7f2de7d48] check-in: [e3c5bb70dd] user: js, branch: new-naming-convention, size: 20617 [annotate] [blame] [check-ins using] [diff]
12:30
of_socket_t -> OFSocketHandle file: [debecc65de] check-in: [c4ae62dd34] user: js, branch: new-naming-convention, size: 21019 [annotate] [blame] [check-ins using] [diff]
01:24
OF_NOT_FOUND -> OFNotFound file: [d3698b60b2] check-in: [83dc0fe6e5] user: js, branch: new-naming-convention, size: 21016 [annotate] [blame] [check-ins using] [diff]
2021-04-05
16:30
Add support for UNIX socket addresses file: [70908a62f5] check-in: [1db6618bb9] user: js, branch: unix-sockets, size: 23686 [annotate] [blame] [check-ins using] [diff]
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: [21df00d3c4] check-in: [1833194867] user: js, branch: trunk, size: 21022 [annotate] [blame] [check-ins using] [diff]

2021-01-13
23:01
Wrap _XOPEN_SOURCE_EXTENDED define in #ifndef file: [12ec02f9d9] check-in: [430d54e2a9] user: js, branch: trunk, size: 20987 [annotate] [blame] [check-ins using] [diff]
19:16
Define _XOPEN_SOURCE_EXTENDED where necessary file: [67f21d5ed8] check-in: [d55b73f38e] user: js, branch: trunk, size: 20948 [annotate] [blame] [check-ins using] [diff]
2021-01-02
22:04
Update copyright file: [2d1d9f46b4] check-in: [374e1a1bfa] user: js, branch: trunk, size: 20916 [annotate] [blame] [check-ins using] [diff]
2020-12-21
21:29
Don't send messages in destructors

In our tests, we call objc_exit() using atexit(), so the runtime is
already gone by the time any destructors get called. file: [d886e134b6] check-in: [9cedc18bb3] user: js, branch: trunk, size: 21005 [annotate] [blame] [check-ins using] [diff]

00:36
Add destructors for global mutexes file: [f216b06c37] check-in: [68214158ee] user: js, branch: trunk, size: 20947 [annotate] [blame] [check-ins using] [diff]
2020-12-20
21:26
Return error instead of using errno for threading

errno is problematic for Amiga libraries and is also not thread-safe on
some systems, even though it should. file: [7f38594dbe] check-in: [5b37fbeb82] user: js, branch: trunk, size: 21102 [annotate] [blame] [check-ins using] [diff]

2020-12-06
17:49
Use a single global socket base on MorphOS

MorphOS allows sharing a single socket base between tasks, so having a
per-task socket base is unnecessary. file: [d03343d8fd] check-in: [b45a563f2b] user: js, branch: trunk, size: 21070 [annotate] [blame] [check-ins using] [diff]

2020-11-22
00:33
socket.m: Fix #ifdef chaos file: [3d8eb3c453] check-in: [23ab7988f9] user: js, branch: trunk, size: 20794 [annotate] [blame] [check-ins using] [diff]
2020-11-01
11:35
OFString: Add -[substring{From,To}Index:] file: [2544d0730b] check-in: [4bbac7ab17] user: js, branch: trunk, size: 20774 [annotate] [blame] [check-ins using] [diff]
2020-10-10
14:27
OFObject: Change type of -[hash] to unsigned long

The internal hash is still 32 bit in most places, but this way, it is at
least not baked into the API and ABI and can be upgraded later, should
that ever be necessary. file: [4343bc563f] check-in: [aeb403a1ed] user: js, branch: trunk, size: 20842 [annotate] [blame] [check-ins using] [diff]

2020-09-27
00:57
Work around bugs in Apple GCC 4.2.1 file: [e490baa3be] check-in: [cbc09c6e26] user: js, branch: trunk, size: 20837 [annotate] [blame] [check-ins using] [diff]
2020-08-11
19:45
OFString: Rework number parsing API

This solves the old signed vs. unsigned problem and allows for more
bases than just 8, 10 and 16, as well as auto-detection of the base (if
base is 0). file: [0757bca949] check-in: [b6ee372b98] user: js, branch: trunk, size: 20789 [annotate] [blame] [check-ins using] [diff]

2020-05-02
15:25
OFSPXSocket: Make async connect work file: [fb89efec65] check-in: [6a6f7fb146] user: js, branch: trunk, size: 20756 [annotate] [blame] [check-ins using] [diff]
2020-04-26
10:56
Replace of_socket_address_ipx_get()

Instead, provide getters and setters for the various address parts. file: [b25bff7c1b] check-in: [2ff4218405] user: js, branch: trunk, size: 20756 [annotate] [blame] [check-ins using] [diff]

2020-04-25
23:02
Add OFIPXSocket file: [685346fedf] check-in: [4a5822e7c0] user: js, branch: trunk, size: 19913 [annotate] [blame] [check-ins using] [diff]
2020-04-18
10:10
socket.m: Remove a TODO

Supporting other styles of IPv4 is non-standard and is a BSD legacy. file: [41dfcc5d04] check-in: [66c1192d94] user: js, branch: trunk, size: 17463 [annotate] [blame] [check-ins using] [diff]

2020-01-16
01:23
Fix compilation on MorphOS file: [353f4118f9] check-in: [7f83956d3e] user: js, branch: trunk, size: 17525 [annotate] [blame] [check-ins using] [diff]
2020-01-02
01:51
Update copyright file: [a70c769a92] check-in: [c7f0229795] user: js, branch: trunk, size: 17490 [annotate] [blame] [check-ins using] [diff]
2019-10-07
00:23
Fix of_socket_address_parse_ipv6() file: [8c4ab8f800] check-in: [d98af41d84] user: js, branch: trunk, size: 17487 [annotate] [blame] [check-ins using] [diff]
2019-08-11
18:56
Support sockets in multiple threads on AmigaOS file: [b18a1905f9] check-in: [a40f3fc829] user: js, branch: trunk, size: 17487 [annotate] [blame] [check-ins using] [diff]
2019-08-09
23:44
Support sockets on AmigaOS 3 file: [54314146cb] check-in: [3dec8ecf2e] user: js, branch: trunk, size: 15355 [annotate] [blame] [check-ins using] [diff]
2019-08-01
20:14
Split threading.[hm] into multiple files

This allows the runtime to only link against the parts it needs, without
pulling in unnecessary parts like thread spawning, TLS and conditions. file: [2f5d16033d] check-in: [5358e9ea6a] user: js, branch: trunk, size: 14637 [annotate] [blame] [check-ins using] [diff]

2019-03-08
00:35
Use dot syntax file: [b2488d7024] check-in: [bceb7ed4c9] user: js, branch: trunk, size: 14749 [annotate] [blame] [check-ins using] [diff]
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: [e7074a55dd] check-in: [ab89c47f42] user: js, branch: trunk, size: 14769 [annotate] [blame] [check-ins using] [diff]

2019-01-03
19:13
Update copyright file: [4c91a4fb68] check-in: [0509d7a844] user: js, branch: trunk, size: 14670 [annotate] [blame] [check-ins using] [diff]
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: [b9d1cba50d] check-in: [0f3ae90eef] user: js, branch: trunk, size: 14664 [annotate] [blame] [check-ins using] [diff]

2018-10-28
11:57
Fix compilation on OpenIndiana file: [fd66b3751b] check-in: [23b09a2f41] user: js, branch: trunk, size: 14634 [annotate] [blame] [check-ins using] [diff]
2018-10-07
02:06
Remove resolver.m

Instead, OFDNSResolver is used for everything now. file: [00380c738c] check-in: [6e9ee122eb] user: js, branch: trunk, size: 14578 [annotate] [blame] [check-ins using] [diff]

2018-08-27
23:21
socket.m: Clean up #ifdefs file: [72b93f58cf] check-in: [fa952c4c48] user: js, branch: trunk, size: 14219 [annotate] [blame] [check-ins using] [diff]
2018-08-26
21:06
socket.m: Set the sin_len field on Wii file: [6e3f77394d] check-in: [8386b52824] user: js, branch: trunk, size: 14289 [annotate] [blame] [check-ins using] [diff]
2018-08-11
21:53
Fix build on 3DS and Wii file: [83494e19e7] check-in: [9a494f183b] user: js, branch: trunk, size: 14192 [annotate] [blame] [check-ins using] [diff]
14:29
OFDNSResourceRecord: Use of_socket_address_t

This avoids unnecessary string construction and parsing and removes
duplicate code to convert an address into a string. file: [62a31a2fc1] check-in: [75d2d3ba01] user: js, branch: trunk, size: 14194 [annotate] [blame] [check-ins using] [diff]

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: [23b837d278] check-in: [8f810ecb7e] user: js, branch: trunk, size: 14200 [annotate] [blame] [check-ins using] [diff]

2018-08-06
22:34
socket.m: Replace inet_{ntop,pton} with own impl

Not all OSes supported by ObjFW provide them. file: [2650e52f57] check-in: [ab9810ef69] user: js, branch: trunk, size: 13826 [annotate] [blame] [check-ins using] [diff]

2018-08-05
20:00
Add a few missing casts file: [06c3fc8fe2] check-in: [4f49f55859] user: js, branch: trunk, size: 9819 [annotate] [blame] [check-ins using] [diff]
2018-08-04
15:35
Use OF_HAVE_IPV6 instead of HAVE_IPV6

This has always been wrong. file: [93c697cb3c] check-in: [e36455441d] user: js, branch: trunk, size: 9786 [annotate] [blame] [check-ins using] [diff]

2018-07-29
14:41
socket.m: Rename sin to addrIn

This avoids shadowing sin(). file: [fac7286c11] check-in: [2f73172fd6] user: js, branch: trunk, size: 9757 [annotate] [blame] [check-ins using] [diff]

2018-07-28
20:21
Add of_socket_address_ip_string()

This replaces of_address_to_string_and_port(). file: [9e65efeb36] check-in: [8aeee6680a] user: js, branch: trunk, size: 9710 [annotate] [blame] [check-ins using] [diff]

18:45
Rename OFLocalization -> OFLocale file: [2bd834cec4] check-in: [aa0384d1bf] user: js, branch: trunk, size: 8408 [annotate] [blame] [check-ins using] [diff]
18:29
Add of_socket_address_parse_ip() file: [17b33daff7] check-in: [2a1546da86] user: js, branch: trunk, size: 8426 [annotate] [blame] [check-ins using] [diff]
17:38
Rename of_{udp_ -> }socket_address file: [d4a188ba53] check-in: [b16f2b9e25] user: js, branch: trunk, size: 6952 [annotate] [blame] [check-ins using] [diff]
2018-03-18
01:01
socket.m: Minor cleanup

This should make the init behavior the same for --enable-threads and
--disable-threads. file: [d3a737b015] check-in: [885d84a1a7] user: js, branch: trunk, size: 4180 [annotate] [blame] [check-ins using] [diff]

2018-01-03
19:49
Update copyright notice file: [07290bee4c] check-in: [7e5c81e186] user: js, branch: trunk, size: 4109 [annotate] [blame] [check-ins using] [diff]
2017-10-22
14:09
Make Apple GCC with -Wshadow happy file: [ac7909760b] check-in: [31c0f5b89e] user: js, branch: 0.90, size: 4086 [annotate] [blame] [check-ins using] [diff]
2017-05-07
20:10
Small code style change

Casts are now written like types in variable declarations. file: [c5f416940a] check-in: [4af49a13c3] user: js, branch: trunk, size: 4104 [annotate] [blame] [check-ins using] [diff]

2017-01-09
17:36
Update copyright

Forgot to add 2017, even though I already did quite some changes in
2017. file: [798d29602d] check-in: [44f45c2e35] user: js, branch: trunk, size: 4097 [annotate] [blame] [check-ins using] [diff]

2016-03-28
19:50
socket.m: Remove leftover from port registry file: [46181077da] check-in: [9394805757] user: js, branch: trunk, size: 4091 [annotate] [blame] [check-ins using] [diff]
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: [1832892042] check-in: [12b8a7552e] user: js, branch: trunk, size: 4219 [annotate] [blame] [check-ins using] [diff]

2016-01-03
00:43
Update copyright

While at it, also update the mail address. file: [ac5bad5b02] check-in: [cec0f072f8] user: js, branch: 0.8, size: 3612 [annotate] [blame] [check-ins using] [diff]

00:41
Update copyright

While at it, also update the mail address. file: [deff42ec22] check-in: [2a27cf3000] user: js, branch: trunk, size: 5419 [annotate] [blame] [check-ins using] [diff]

2015-10-19
22:15
Add platform.h & make platform defines consistent file: [34bd39e695] check-in: [1ba08eebc5] user: js, branch: trunk, size: 5415 [annotate] [blame] [check-ins using] [diff]
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: [ebf56cad93] check-in: [ed4549ddd3] user: js, branch: trunk, size: 5411 [annotate] [blame] [check-ins using] [diff]

2015-03-22
11:42
Abstract int vs SOCKET as of_socket_t file: [a318aca5b3] check-in: [099e939079] user: js, branch: trunk, size: 3608 [annotate] [blame] [check-ins using] [diff]
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: [a024642fe6] check-in: [f18615e057] user: js, branch: trunk, size: 3600 [annotate] [blame] [check-ins using] [diff]

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: [f110c9fc59] check-in: [62e2de30b9] user: js, branch: trunk, size: 3012 [annotate] [blame] [check-ins using] [diff]

2015-01-03
20:57
Update copyright file: [32dd0de4f8] check-in: [cfd374b906] user: js, branch: trunk, size: 1084 [annotate] [blame] [check-ins using] [diff]
2014-02-28
00:38
threading.h: Add of_once() file: [e7e7f50976] check-in: [ba5e756264] user: js, branch: trunk, size: 1078 [annotate] [blame] [check-ins using] [diff]
2014-02-03
14:43
Added: Move socket initialization to a single place file: [75d8ae44e0] check-in: [414c87ec13] user: js, branch: trunk, size: 888 [annotate] [blame] [check-ins using]
2010-07-07
20:57
Deleted: Rename OFSocket to OFStreamSocket.

This is to reflect that it is a connection-based, sequenced, reliable,
two-way byte stream. check-in: [28ea4a8a67] user: js, branch: trunk, size: 0

20:46
Add -[fileDescriptor] to OFStream. file: [26b969d2ec] check-in: [9d064462a3] user: js, branch: trunk, size: 2325 [annotate] [blame] [check-ins using] [diff]
2010-04-17
15:46
Don't return self where not necessary, return void or something useful. file: [7d46692d8a] check-in: [062a052b50] user: js, branch: trunk, size: 2284 [annotate] [blame] [check-ins using] [diff]
2010-04-10
21:37
Don't set errno in sockets on Win32. file: [eff73867f1] check-in: [1e35805366] user: js, branch: trunk, size: 2293 [annotate] [blame] [check-ins using] [diff]
16:46
Improve error handling with sockets. file: [3aa367c99c] check-in: [baad47ed5b] user: js, branch: trunk, size: 2129 [annotate] [blame] [check-ins using] [diff]
2010-04-09
14:59
Better hiding of the internal OFStream methods. file: [3f6d8a7208] check-in: [2a9e91b67c] user: js, branch: trunk, size: 2018 [annotate] [blame] [check-ins using] [diff]
00:55
Add an optional write cache to OFStream. file: [df33a24aa3] check-in: [66c1d7718d] user: js, branch: trunk, size: 2059 [annotate] [blame] [check-ins using] [diff]
2010-02-19
16:36
Update copyright. file: [76195a13fc] check-in: [42886185fd] user: js, branch: trunk, size: 2042 [annotate] [blame] [check-ins using] [diff]
2010-01-30
14:14
Fix missing includes and typos. file: [7c0069f9e8] check-in: [35f59c61c6] user: js, branch: trunk, size: 2042 [annotate] [blame] [check-ins using] [diff]
13:33
Move some stuff from OFSocket to OFTCPSocket. file: [e6b38c0bf2] check-in: [fe6787bc79] user: js, branch: trunk, size: 1969 [annotate] [blame] [check-ins using] [diff]
2010-01-22
18:40
Clean up OFStream and OFSocket interface.
This allows better compile-time checks.
file: [90f67dc16d] check-in: [273d5b90f8] user: js, branch: trunk, size: 2058 [annotate] [blame] [check-ins using] [diff]
2009-12-06
00:27
Remove two method implementations not used anymore. file: [58e9bceec8] check-in: [a0a5ecf01f] user: js, branch: trunk, size: 2924 [annotate] [blame] [check-ins using] [diff]
2009-12-03
18:50
Make OFStream caching invisible to the programmer. file: [866349c818] check-in: [fc0b2500b9] user: js, branch: trunk, size: 3119 [annotate] [blame] [check-ins using] [diff]
2009-11-09
22:45
Rename libobjfw to ObjFW. file: [d65c17ca33] check-in: [a3cc34b139] user: js, branch: trunk, size: 3090 [annotate] [blame] [check-ins using] [diff]
2009-07-19
14:05
Rename andFoo: to foo: in all methods. file: [ee6abc7e26] check-in: [4eae61a78f] user: js, branch: trunk, size: 3093 [annotate] [blame] [check-ins using] [diff]
2009-06-09
20:44
Make OFSocket a class cluster. file: [f493de3de8] check-in: [f847f82b75] user: js, branch: trunk, size: 3093 [annotate] [blame] [check-ins using] [diff]
13:10
Implement -[atEndOfStream] for OFSocket. file: [e3b5644b59] check-in: [41d7910a65] user: js, branch: trunk, size: 2227 [annotate] [blame] [check-ins using] [diff]
2009-06-02
19:25
Improve -[readLine] in OFStream. file: [4843a4b3cd] check-in: [f1dae95070] user: js, branch: trunk, size: 2369 [annotate] [blame] [check-ins using] [diff]
2009-05-29
09:28
Always use [self alloc]. file: [309a255317] check-in: [282aadb9df] user: js, branch: trunk, size: 2299 [annotate] [blame] [check-ins using] [diff]
2009-05-24
18:04
Always use #include "config.h" instead of #import "config.h". file: [17814ea548] check-in: [94ea6848a8] user: js, branch: trunk, size: 2242 [annotate] [blame] [check-ins using] [diff]
2009-05-23
01:59
Prevent + initialize from being called twice. file: [ae3a81111f] check-in: [e0163c30a9] user: js, branch: trunk, size: 2241 [annotate] [blame] [check-ins using] [diff]
2009-05-15
22:59
As we memset our ivars to 0, get rid of some useless ivar inits. file: [f1c982e206] check-in: [4c6d6c56ac] user: js, branch: trunk, size: 2199 [annotate] [blame] [check-ins using] [diff]
2009-05-13
19:49
There's no need for + initialize to return anything. file: [3e54369073] check-in: [917188fdcc] user: js, branch: trunk, size: 2215 [annotate] [blame] [check-ins using] [diff]
2009-05-07
16:08
Added: Add OFSocket base class. file: [84d000978b] check-in: [0110aec5c0] user: js, branch: trunk, size: 2224 [annotate] [blame] [check-ins using]
2008-12-07
10:24
Deleted: OFSocket -> OFTCPSocket. check-in: [d1a5065e69] user: js, branch: trunk, size: 0
03:06
Remove writeWideCString as that's a bad idea.

Endianess, size etc. may differ from system to system. While this might
be ok when writing files that are only read local again, this is
definitely not ok with sockets. So it's better to remove it from the
OFStream protocol. file: [9c27c4838b] check-in: [70874cf3c5] user: js, branch: trunk, size: 2951 [annotate] [blame] [check-ins using] [diff]

02:59
glibc is broken once again. I guess no other libc is that broken... file: [8a25c414b4] check-in: [6d069e2a83] user: js, branch: trunk, size: 3276 [annotate] [blame] [check-ins using] [diff]
02:53
Add writeCString and writeWideCString to OFStream. file: [ebbb94e27f] check-in: [6ed7c33611] user: js, branch: trunk, size: 3218 [annotate] [blame] [check-ins using] [diff]
02:35
Added: Add inital OFSocket class. file: [b2671e0dfd] check-in: [ba7219b1b6] user: js, branch: trunk, size: 2775 [annotate] [blame] [check-ins using]