ObjFW  History of src/OFDNSResolver.m of c165d49455fc8475

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

History of file src/OFDNSResolver.m at check-in c165d49455fc8475

2025-06-22
19:32
Deleted: Point to the new repository check-in: [ec62287f25] user: js branch: trunk, size: 0
2025-04-14
21:10
Continue migrating to the ARC functions for RR file: [2ded43c624] check-in: [8ad878075b] user: js branch: trunk, size: 37937
2025-04-13
19:37
Start migrating to the ARC functions for RR file: [1b9eac4686] check-in: [91f64fd0aa] user: js branch: trunk, size: 37951
2025-01-01
12:58
Update copyright file: [0bdfe81067] check-in: [9d802a786d] user: js branch: trunk, size: 37288
2024-08-21
20:14
Make ObjFW compile on macOS/PowerPC 64 file: [632303a834] check-in: [7b0cd744dc] user: js branch: trunk, size: 37288
2024-08-17
17:30
Delay socket initialization as long as possible On game consoles, initializing sockets takes a significant amount of time. When not delaying socket initializing, that time is spent during startup even when the application might never use sockets. Worse yet, on Amiga, sockets might not be available at all and the application will fail to start up, even when the application might never use sockets. file: [d30e19048e] check-in: [7460d2ccd8] user: js branch: trunk, size: 37266
09:51
Move private functions into private headers file: [152a6730bc] check-in: [b829f3e798] user: js branch: trunk, size: 37352
2024-04-29
21:42
Properly hide private symbols file: [8787fec7e7] check-in: [f16bccc7b3] user: js branch: trunk, size: 37302
2024-04-03
02:16
Change license to LGPLv3 only file: [ae23ada8bd] check-in: [7413a728a7] user: js branch: trunk, size: 37301
2024-02-24
19:40
Make everything work on macOS Leopard again file: [8ca1f870f4] check-in: [c3e83facc5] user: js branch: trunk, size: 37093
2024-02-03
11:41
Update copyright file: [c1395db642] check-in: [7324ec8590] user: js branch: 1.0, size: 32860
2024-01-20
21:40
Add support for LOC DNS resource records file: [294ed882f2] check-in: [d37c636a61] user: js branch: trunk, size: 37083
2024-01-15
02:26
Merge support for URI DNS resource records file: [1cf3f921a3] check-in: [e051d7d487] user: js branch: trunk, size: 36089
02:24
Fix parsing of URI resource records file: [a8a046f98e] check-in: [2b7bc4c106] user: js branch: uri-resource-record, size: 36092
02:08
OFDNSResolver: Fix wrong shifts file: [4b03d5ec64] check-in: [e7210cdbfd] user: js branch: 1.0, size: 32860
02:07
OFDNSResolver: Fix wrong shifts file: [c017e2232c] check-in: [328252420b] user: js branch: trunk, size: 35533
2024-01-14
22:47
Add support for URI DNS resource records file: [7df5d5c8bd] check-in: [16d99685ae] user: js branch: uri-resource-record, size: 36088
2024-01-06
15:36
OFDNSResolver: Use correct run loop mode for cache file: [b89d5a3a8f] check-in: [c13f9f78f1] user: js branch: trunk, size: 35536
2024-01-02
17:17
Update copyright file: [fc8783c17e] check-in: [26ddd2e4e4] user: js branch: trunk, size: 35261
17:14
OFDNSResolver: Invalidate cache on config changes file: [002fb3b586] check-in: [3f27f9cfbd] user: js branch: trunk, size: 35261
2023-12-29
23:47
Make GCC happy again file: [033477a200] check-in: [f538f5fb70] user: js branch: trunk, size: 35044
16:25
OFDNSResolver: Clean up expired cache entries file: [f3aa0cd47b] check-in: [219aa9cf65] user: js branch: trunk, size: 35042
15:53
OFDNSResolver: Cache responses file: [8da319df43] check-in: [252f11c431] user: js branch: trunk, size: 34101
2023-04-17
11:56
Always make DNS names lowercase This avoids problems when comparing them. file: [1f222a13ca] check-in: [ce2b268163] user: js branch: trunk, size: 32863
2023-04-10
18:51
OFDNSResolver: Rename usesTCP -> forcesTCP file: [476e39eb2a] check-in: [1e62dc40eb] user: js branch: trunk, size: 32847
2023-01-06
09:04
Update copyright file: [3af99bcca7] check-in: [8939cbdb52] user: js branch: trunk, size: 32829
2022-11-06
20:31
OFDatagramSocket: Make sender nullable file: [9048cbfc52] check-in: [6ed8be900e] user: js branch: trunk, size: 32829
2022-09-23
14:01
Rename OFInvalidServer{Reply -> Response}Exception file: [982d647b8f] check-in: [60ebc06824] user: js branch: trunk, size: 32806
2022-03-24
17:18
OFDNSResolver: Make canBlock = false opportunistic Some platforms just don't support non-blocking UDP sockets, but it should still be possible to resolve DNS names on those. file: [6722a88381] check-in: [ec07db28ed] user: js branch: trunk, size: 32743
2022-02-12
07:46
Update copyright file: [8bdba8e0dc] check-in: [1a86b8175b] user: js branch: trunk, size: 32503
2021-04-19
21:54
Rename a few more constants file: [9a8423f14c] check-in: [458420998c] user: js branch: new-naming-convention, size: 32503
2021-04-18
22:56
Rename all symbols marked extern file: [2c62153187] check-in: [e73c65a849] user: js branch: new-naming-convention, size: 32520
15:55
Rename all functions in macros.h file: [52dce07be7] check-in: [7392685ffc] user: js branch: new-naming-convention, size: 32522
13:24
Rename remaining functions in OFObject.h file: [ff5044c80c] check-in: [d9f8960fc5] user: js branch: new-naming-convention, size: 32533
2021-04-17
22:45
Rename of_(re)alloc and add OFFreeMemory file: [8ca7344c81] check-in: [498074dab9] user: js branch: new-naming-convention, size: 32534
14:59
Rename of_dns_* file: [2af65d33f1] check-in: [4badf3f127] user: js branch: new-naming-convention, size: 32521
13:58
of_socket_address_t -> OFSocketAddress file: [33f15c9fa5] check-in: [e3c5bb70dd] user: js branch: new-naming-convention, size: 32543
12:32
Rename of_socket_address_family_t file: [38aa9ebc9e] check-in: [d3fb3e902d] user: js branch: new-naming-convention, size: 32602
03:37
of_run_loop_mode_t -> OFRunLoopMode file: [ad1a046297] check-in: [b480ef54db] user: js branch: new-naming-convention, size: 32617
00:51
of_time_interval_t -> OFTimeInterval file: [082cdf22b7] check-in: [8c0d76f782] user: js branch: new-naming-convention, size: 32659
2021-03-07
20:25
*.m: Fold methods into one line where it fits file: [536c83ec11] check-in: [1b82d3bf4f] user: js branch: trunk, size: 32675
02:36
Style change: Allow more than 1 argument per line This is only migrating some places, others will be migrated as they are touched. file: [46f2a3f0a5] check-in: [a0fd103a0b] user: js branch: trunk, size: 32793
2021-01-02
22:04
Update copyright file: [9c1e2cde9e] check-in: [374e1a1bfa] user: js branch: trunk, size: 32808
2020-11-14
12:23
Rename of_malloc and of_calloc The new names should be more accurate. file: [2df523d351] check-in: [627511b032] user: js branch: trunk, size: 32897
2020-11-05
02:27
Further reduce usage of -[allocMemoryWithSize:] file: [3373845de9] check-in: [da1fb6b21c] user: js branch: trunk, size: 32898
2020-08-25
00:11
OFNumber: Remove (u)int{8,16,32,64} methods Since C guarantees minimum sizes for char, short, int, long and long long, these can be used instead. file: [abd3a40827] check-in: [25c985fec1] user: js branch: trunk, size: 32902
2020-07-12
10:35
Split of_random() into of_random{16,32,64}() file: [6319b8ebc8] check-in: [14f05841a3] user: js branch: trunk, size: 32881
2020-06-28
15:03
Use OF_DIRECT(_MEMBERS) where appropriate file: [7061e87e9f] check-in: [b6cb3addd0] user: js branch: trunk, size: 32889
2020-06-21
17:53
Throw an exception when there is no name server file: [e0d24431d9] check-in: [f3573582e1] user: js branch: trunk, size: 32871
2020-05-06
00:32
Improve names of several properties file: [5d30f91158] check-in: [bc67e98833] user: js branch: trunk, size: 32920
2020-04-25
23:02
Add OFIPXSocket file: [dbbe2fd8c5] check-in: [4a5822e7c0] user: js branch: trunk, size: 32920
2020-04-24
00:21
Add OFIPStreamSocket This is a new superclass for OFTCPSocket to allow sharing code with other IP stream socket types, namely SCTP. file: [6dace51fe8] check-in: [3dfe642dd3] user: js branch: trunk, size: 32920
2020-04-18
20:43
OFDNSResolver: Retry with TCP if TC is set file: [ff93d36ccb] check-in: [321f4c67a4] user: js branch: trunk, size: 32915
19:36
OFDNSResolver: Add support for queries over TCP file: [6d3a9fb443] check-in: [45452562b7] user: js branch: trunk, size: 32636
01:39
Support for multiple strings in a TXT DNS record file: [1003885810] check-in: [78eb25bdc4] user: js branch: trunk, size: 28214
2020-01-02
01:51
Update copyright file: [8f5030468c] check-in: [c7f0229795] user: js branch: trunk, size: 27855
2019-11-17
21:17
Fix incorrect indentation file: [dfbdc81c03] check-in: [abc9d84958] user: js branch: trunk, size: 27852
2019-10-20
01:13
Rename of_dns{_resource -> }_record_type_t file: [e2ce8a82a3] check-in: [7fa337b8a4] user: js branch: trunk, size: 27858
00:57
OFDNSResolver: Try all search domains This functionality was temporarily removed by the refactor. file: [14032f9f21] check-in: [355da9743c] user: js branch: trunk, size: 27980
2019-10-07
20:32
Split OFDNSResolverDelegate into two delegates These are different enough that it makes no sense to have them in one. Having them in one means all methods are @optional and typos cannot be caught by the compiler. file: [fbee61aa4a] check-in: [e3c911c7f5] user: js branch: trunk, size: 27938
01:20
Make GCC happy again file: [ae60f26781] check-in: [0e1d2f7b84] user: js branch: trunk, size: 27901
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: [4b225df12f] check-in: [ee592cf603] user: js branch: trunk, size: 27897
2019-10-06
17:05
OFDNSResolver: Improved error handling file: [3109b96d8a] check-in: [d31e244f55] user: js branch: trunk, size: 45180
16:27
Rename OFDNSRequest -> OFDNSQuery This is now in alignment with the terminology of the RFC. file: [d5d7184bab] check-in: [d69f7bc1ff] user: js branch: trunk, size: 44991
2019-10-03
21:43
OFDNSResolver: Split out settings This makes it easier to attach them to a query. file: [f3fddc6663] check-in: [4fd5a7086c] user: js branch: trunk, size: 45160
2019-10-01
00:40
Add OFDNSRequest file: [c5d465decc] check-in: [6b2fb27dca] user: js branch: trunk, size: 58175
2019-09-30
22:46
Add OFDNSResponse file: [8025fe1282] check-in: [da8eb2d43a] user: js branch: trunk, size: 59365
2019-09-01
15:20
Use u suffix on a few constants file: [77dfb36f29] check-in: [b7badc68a0] user: js branch: trunk, size: 61130
2019-08-11
18:56
Support sockets in multiple threads on AmigaOS file: [db347fdd7c] check-in: [a40f3fc829] user: js branch: trunk, size: 61129
2019-08-10
02:06
Clean up the AmigaOS 4 library mess file: [e6e0fe25fb] check-in: [3292a6fdbc] user: js branch: trunk, size: 61182
2019-08-09
23:44
Support sockets on AmigaOS 3 file: [2b5ef9baa7] check-in: [3dec8ecf2e] user: js branch: trunk, size: 61235
2019-06-19
00:45
OFEnumerator: Remove -[reset] It's not very useful and is a problem for the Foundation bridge, as NSEnumerator does not have it. file: [088c1eb5e1] check-in: [7214a2c7af] user: js branch: trunk, size: 61758
2019-06-17
02:33
Remove underscores from class names file: [a2fc2aa0b5] check-in: [17d57e01ff] user: js branch: trunk, size: 61752
2019-04-21
09:58
Fix compilation on AmigaOS 4 with 53.30 SDK file: [e622efd3e9] check-in: [50a6ffd4b1] user: js branch: trunk, size: 61760
2019-04-14
15:40
Use more const file: [d3f87f2f5a] check-in: [dfd61e781e] user: js branch: trunk, size: 61740
2019-03-08
00:35
Use dot syntax file: [b26d10f3a6] check-in: [bceb7ed4c9] user: js branch: trunk, size: 61730
2019-02-10
23:58
OFWindowsRegistryKey: Support for binary values file: [2303b7b240] check-in: [65b31518fc] user: js branch: trunk, size: 61807
2019-01-03
19:13
Update copyright file: [037adc045f] check-in: [0509d7a844] user: js branch: trunk, size: 61807
19:05
OFDNSResolver: Call back from correct runLoopMode file: [672d41b078] check-in: [a74c5d6a2d] user: js branch: trunk, size: 61801
2018-12-22
18:13
Make GCC happy file: [7b4ba10f06] check-in: [214e46a10f] user: js branch: trunk, size: 61699
00:29
OFDNSResolver: Use a delegate for async operations Because there is usually only one resolver per thread, having the delegate as a property on the resolver would not work. It is therefore passed as an argument. This only changes the public API so far. Internally, the old target / selector / context pattern is still being used. This will be changed later. file: [2001e1cd19] check-in: [0afb04d93c] user: js branch: trunk, size: 61695
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: [411a1eb381] check-in: [0f3ae90eef] user: js branch: trunk, size: 60148
2018-12-11
22:57
Include an exception in delegate methods Otherwise, there would be two methods for every operation: One for success and one for failure. It also makes it easy to forget about handling failure, so it's better to always pass an optional exception. file: [15c765674a] check-in: [064dbe5127] user: js branch: trunk, size: 60197
2018-12-08
22:01
Minor fix for OFDNSResolver and OFRunLoop file: [c60b82a6b2] check-in: [6387b16864] user: js branch: trunk, size: 60302
18:55
OFUDPSocket: Use a delegate for async operations file: [55442709eb] check-in: [da2dd2dde5] user: js branch: trunk, size: 60127
2018-11-17
23:13
OFDNSResolver: Make sure queries live long enough file: [e676e364e2] check-in: [d062db6708] user: js branch: trunk, size: 61017
2018-11-04
18:40
Sandbox ofdns file: [5e69e0a1d6] check-in: [605634184d] user: js branch: trunk, size: 60891
2018-10-07
02:39
OFDNSResolver: Look at static hosts to get address file: [5597695463] check-in: [4d335e89d6] user: js branch: trunk, size: 60865
02:06
Remove resolver.m Instead, OFDNSResolver is used for everything now. file: [f094c42133] check-in: [6e9ee122eb] user: js branch: trunk, size: 59067
2018-10-06
20:21
OFDNSResolver: Add sync resolve socket addresses file: [8f4fd230d2] check-in: [22700e6082] user: js branch: trunk, size: 58216
13:52
OFDNSResolver: Allow specifying the run loop mode file: [3ad875198a] check-in: [7efb3c590e] user: js branch: trunk, size: 56264
2018-09-15
23:35
OFDNSResolver: Send queries for unresolved CNAMEs file: [fc6f9bf825] check-in: [ae92690f92] user: js branch: trunk, size: 54360
20:04
OFDNSResolver: Fix compilation with GCC file: [c811322a6c] check-in: [c4836192b2] user: js branch: trunk, size: 51589
17:39
OFDNSResolver: Resolve CNAMEs for socket addresses This only resolves them when they have been included in the answer. Sending another query when they are not is the next step. file: [9407cece68] check-in: [25b05b7bce] user: js branch: trunk, size: 50908
13:45
OFDNSResolver: Group records by domain name file: [721e3310ec] check-in: [7ba597c52d] user: js branch: trunk, size: 49332
2018-09-10
20:44
OFDNSResolver: Method to resolve host to addresses This provides more convenience when the goal is to connect a socket and provides functionality similar to getaddrinfo(). No support for resolving CNAMEs yet - this will be the next step. file: [8914dd7f51] check-in: [8555d64ee6] user: js branch: trunk, size: 48894
2018-08-25
15:53
OFDNSResolver: Obtain name servers on Nintendo 3DS file: [f53bdeefa1] check-in: [81674093ac] user: js branch: trunk, size: 42989
2018-08-20
01:24
OFDNSResolver: Do not use gethostname() on Wii It's in the headers, but the symbol is missing. file: [fc33672140] check-in: [40bf53792d] user: js branch: trunk, size: 41668
2018-08-19
23:50
OFDNSResolver: Do not allow IPs as local domain file: [90b01a441b] check-in: [7050b3a480] user: js branch: trunk, size: 41624
2018-08-18
17:01
OFDNSResolver: Obtain name servers on AmigaOS 4 file: [deccb8b1de] check-in: [3d67a890fb] user: js branch: trunk, size: 41202
2018-08-15
21:37
OFDNSResolver: Move settings into a single object This allows easily passing around all settings rather than passing each one individually. file: [3f193a223c] check-in: [4162178e50] user: js branch: trunk, size: 39045
00:21
OFDNSResolver: Try all search domains file: [c86401e34e] check-in: [fcbb1100da] user: js branch: trunk, size: 38435
2018-08-13
21:53
OFDNSResolver: Let the buffer belong to the query This means the buffer automatically gets cleaned up when the query is deallocated. file: [24a25534b2] check-in: [1e6bb58863] user: js branch: trunk, size: 35580
21:48
OFDNSResolver: Require sender == receiver file: [71348d0e6d] check-in: [b004db730a] user: js branch: trunk, size: 35579
21:37
OFDNSResolver: Parse more options file: [cebc2efbe7] check-in: [0dc20b4226] user: js branch: trunk, size: 35320
21:22
OFDNSResolver: Configurable timeout and retries file: [30c75fb63e] check-in: [fb6ff94c52] user: js branch: trunk, size: 34690
21:06
OFDNSResolver: Reduce code size file: [b4efbde4c5] check-in: [5d169b2f58] user: js branch: trunk, size: 34299
00:00
OFDNSResolver: Periodic config reload file: [221615e7cb] check-in: [507d999b53] user: js branch: trunk, size: 35487
2018-08-12
22:21
OFDNSResolver: Pass the FQDN to the callback file: [ec8c7e0a0c] check-in: [457f722d18] user: js branch: trunk, size: 34416
12:37
OFDNSResolver: Parse authority and additional RRs file: [3362d8ffb1] check-in: [6305a0c7a4] user: js branch: trunk, size: 34132
01:12
OFDNSResolver: Multiple attempts for resolving file: [f296db2c83] check-in: [42cb3d287c] user: js branch: trunk, size: 33545
2018-08-11
20:31
OFDNSResolver: Reorder methods and make GCC happy file: [4bcaef27d1] check-in: [eb2ccce976] user: js branch: trunk, size: 33294
20:10
OFDNSResolver: Try all available name servers file: [f4753b6d8f] check-in: [56f80f9e5a] user: js branch: trunk, size: 32739
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: [9632f6597d] check-in: [75d2d3ba01] user: js branch: trunk, size: 32496
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: [bcc41be191] check-in: [8f810ecb7e] user: js branch: trunk, size: 33389
11:58
OFDNSResolver: Minor refactoring file: [037c3906cf] check-in: [4afaa63320] user: js branch: trunk, size: 33294
2018-08-05
19:31
OFDNSResolver: Do not close the sockets Instead, just release them. The reason for this is that -[close] immediately closes the file descriptor, meaning the next run loop iteration fails to remove them, as the file descriptor is no longer valid. file: [5d4867eed8] check-in: [97ccd4a3e4] user: js branch: trunk, size: 33788
15:24
OFDNSResolver: Let queries time out file: [7ee76905cc] check-in: [452616df69] user: js branch: trunk, size: 33832
2018-08-04
23:43
OFDNSResolver: Improve error reporting file: [ef5cd89abc] check-in: [647ec47eda] user: js branch: trunk, size: 32483
16:49
OFDNSResolver: Set UDP sockets to non-blocking file: [bce70b2657] check-in: [2b72aa8c86] user: js branch: trunk, size: 30454
15:50
OFDNSResolver: Have one shared IPv4/IPv6 socket file: [ee463ccad3] check-in: [0b475d18d5] user: js branch: trunk, size: 29766
15:35
Use OF_HAVE_IPV6 instead of HAVE_IPV6 This has always been wrong. file: [bad70f4110] check-in: [e36455441d] user: js branch: trunk, size: 29145
15:27
OFDNSResolver: Add support for parsing SRV records file: [9a40ea3367] check-in: [462cb8a108] user: js branch: trunk, size: 29139
14:37
OFDNSResolver: Add support for parsing RP records file: [ad00966ce8] check-in: [b5d9bd2fd0] user: js branch: trunk, size: 28391
13:05
OFDNSResolver: Add support for parsing HINFOs file: [a787c24bb0] check-in: [86e9130742] user: js branch: trunk, size: 27782
00:06
OFDNSResolver: Add a fallback for localhost file: [785a05654f] check-in: [4671310302] user: js branch: trunk, size: 26799
2018-08-02
01:16
OFDNSResolver: Add support for parsing SOA records file: [d938f274bb] check-in: [c165d49455] user: js branch: trunk, size: 26457
2018-08-01
23:02
OFDNSResourceRecord: Cleaner subclass separation file: [4b3c509e3e] check-in: [17397bfad4] user: js branch: trunk, size: 24951
2018-07-31
23:48
OFDNSResolver: Add support for {NS,PTR,TXT} RRs file: [7f7fd809d0] check-in: [1124f7d4d4] user: js branch: trunk, size: 25357
00:41
OFDNSResolver: Add support for parsing MX records file: [1105a5a101] check-in: [650fdd14e3] user: js branch: trunk, size: 24254
2018-07-30
22:24
Create an OFDNSResourceRecord subclass per type file: [16d3a398be] check-in: [bd5e1e2014] user: js branch: trunk, size: 23152
00:07
OFDNSResolver: Add support for parsing AAAAs file: [9fbb4cad64] check-in: [589a3e0f13] user: js branch: trunk, size: 22858
2018-07-29
19:13
OFDNSResolver: Allow specifying query class & type file: [11b30d4761] check-in: [af30016cfb] user: js branch: trunk, size: 21384
18:38
OFDNSResolver: Add support for parsing CNAMEs file: [f87770019a] check-in: [3826822733] user: js branch: trunk, size: 20975
14:32
OFDNSResolver: Initial support for resolving file: [f68c605682] check-in: [af4b18903d] user: js branch: trunk, size: 19884
2018-07-28
18:45
Rename OFLocalization -> OFLocale file: [4be9a58852] check-in: [aa0384d1bf] user: js branch: trunk, size: 9071
14:33
OFDNSResolver: Add resolv.conf path for MorphOS file: [bcdb2d2012] check-in: [d0099ed8c9] user: js branch: trunk, size: 9089
2018-07-10
22:58
OFDNSResolver: Get name servers & domain on Win32 file: [231fa481e0] check-in: [42bee3f920] user: js branch: trunk, size: 8998
21:24
OFDNSResolver: Win32: Get hosts path from registry file: [452969d7b3] check-in: [4b20f0e12c] user: js branch: trunk, size: 7588
2018-07-08
19:42
OFDNSResolver: Paths for hosts file on more OSes file: [07800749f7] check-in: [418965bae3] user: js branch: trunk, size: 7089
12:07
Added: Initial code for OFDNSResolver This does nothing more than parse /etc/hosts and /etc/resolv.conf so far. file: [54daba6e99] check-in: [dd375b6d4e] user: js branch: trunk, size: 6764