ObjFW  Check-in [ce2b268163]

Overview
Comment:Always make DNS names lowercase

This avoids problems when comparing them.

Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: ce2b26816313ad34958b5d92eb5e6e53c6f5beaaf8ed175c32e9ce35a549d0df
User & Date: js on 2023-04-17 11:56:02
Other Links: manifest | tags
Context
2023-04-17
14:54
GitHub Actions: Significantly reduce *BSD tests check-in: 31cd763da0 user: js tags: trunk
11:56
Always make DNS names lowercase check-in: ce2b268163 user: js tags: trunk
2023-04-16
22:44
GitHub Actions: Fix wrong pkg for clang on DFBSD check-in: 076889bd2e user: js tags: trunk
Changes

Modified src/OFDNSQuery.m from [dd82bc9fff] to [f7f99b0724].

39
40
41
42
43
44
45
46

47
48
49
50
51
52
53
39
40
41
42
43
44
45

46
47
48
49
50
51
52
53







-
+








	@try {
		void *pool = objc_autoreleasePoolPush();

		if (![domainName hasSuffix: @"."])
			domainName = [domainName stringByAppendingString: @"."];

		_domainName = [domainName copy];
		_domainName = [domainName.lowercaseString copy];
		_DNSClass = DNSClass;
		_recordType = recordType;

		objc_autoreleasePoolPop(pool);
	} @catch (id e) {
		[self release];
		@throw e;

Modified src/OFDNSResolver.m from [476e39eb2a] to [1f222a13ca].

419
420
421
422
423
424
425
426

427
428
429
430
431
432
433
419
420
421
422
423
424
425

426
427
428
429
430
431
432
433







-
+







{
	OFMutableDictionary *ret = [OFMutableDictionary dictionary];
	OFEnumerator OF_GENERIC(OFMutableArray *) *objectEnumerator;
	OFMutableArray *array;

	for (uint_fast16_t j = 0; j < count; j++) {
		OFString *name = parseName(buffer, length, i,
		    maxAllowedPointers);
		    maxAllowedPointers).lowercaseString;
		OFDNSClass DNSClass;
		OFDNSRecordType recordType;
		uint32_t TTL;
		uint16_t dataLength;
		OFDNSResourceRecord *record;

		if (*i + 10 > length)

Modified src/OFDNSResolverSettings.m from [efbcc5cf61] to [179fc83ef4].

290
291
292
293
294
295
296
297
298




299
300
301
302
303
304
305
290
291
292
293
294
295
296


297
298
299
300
301
302
303
304
305
306
307







-
-
+
+
+
+







			continue;

		address = components.firstObject;
		hosts = [components objectsInRange:
		    OFMakeRange(1, components.count - 1)];

		for (OFString *host in hosts) {
			OFMutableArray *addresses =
			    [staticHosts objectForKey: host];
			OFMutableArray *addresses;

			host = host.lowercaseString;
			addresses = [staticHosts objectForKey: host];

			if (addresses == nil) {
				addresses = [OFMutableArray array];
				[staticHosts setObject: addresses forKey: host];
			}

			[addresses addObject: address];
498
499
500
501
502
503
504
505
506




507
508
509
510
511
512
513
500
501
502
503
504
505
506


507
508
509
510
511
512
513
514
515
516
517







-
-
+
+
+
+







			continue;

		address = components.firstObject;
		hosts = [components objectsInRange:
		    OFMakeRange(1, components.count - 1)];

		for (OFString *host in hosts) {
			OFMutableArray *addresses =
			    [staticHosts objectForKey: host];
			OFMutableArray *addresses;

			host = host.lowercaseString;
			addresses = [staticHosts objectForKey: host];

			if (addresses == nil) {
				addresses = [OFMutableArray array];
				[staticHosts setObject: addresses forKey: host];
			}

			[addresses addObject: address];

Modified src/OFHostAddressResolver.m from [3e742a19ee] to [1a75dd0a5b].

287
288
289
290
291
292
293
294


295
296
297
298
299
300
301
287
288
289
290
291
292
293

294
295
296
297
298
299
300
301
302







-
+
+







		    addresses, exception);

		objc_autoreleasePoolPop(pool);
		return;
	} @catch (OFInvalidFormatException *e) {
	}

	if ((aliases = [_settings->_staticHosts objectForKey: _host]) != nil) {
	if ((aliases = [_settings->_staticHosts objectForKey:
	    _host.lowercaseString]) != nil) {
		OFMutableData *addresses = [OFMutableData
		    dataWithItemSize: sizeof(OFSocketAddress)];
		id exception = nil;

		for (OFString *alias in aliases) {
			OFSocketAddress address;