Differences From Artifact [d5d7184bab]:
- File
src/OFDNSResolver.m
— part of check-in
[d69f7bc1ff]
at
2019-10-06 16:27:12
on branch trunk
— Rename OFDNSRequest -> OFDNSQuery
This is now in alignment with the terminology of the RFC. (user: js, size: 44991) [annotate] [blame] [check-ins using]
To Artifact [3109b96d8a]:
- File src/OFDNSResolver.m — part of check-in [d31e244f55] at 2019-10-06 17:05:05 on branch trunk — OFDNSResolver: Improved error handling (user: js, size: 45180) [annotate] [blame] [check-ins using]
︙ | ︙ | |||
1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 | [query->_cancelTimer invalidate]; [query->_cancelTimer release]; query->_cancelTimer = nil; [_queries removeObjectForKey: ID]; @try { const unsigned char *queryDataBuffer; size_t i; of_dns_resolver_error_t error; uint16_t numQuestions, numAnswers, numAuthorityRecords; uint16_t numAdditionalRecords; if (length < 12) | > | 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 | [query->_cancelTimer invalidate]; [query->_cancelTimer release]; query->_cancelTimer = nil; [_queries removeObjectForKey: ID]; @try { bool tryNextNameServer = false; const unsigned char *queryDataBuffer; size_t i; of_dns_resolver_error_t error; uint16_t numQuestions, numAnswers, numAuthorityRecords; uint16_t numAdditionalRecords; if (length < 12) |
︙ | ︙ | |||
1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 | case 0: break; case 1: error = OF_DNS_RESOLVER_ERROR_SERVER_INVALID_FORMAT; break; case 2: error = OF_DNS_RESOLVER_ERROR_SERVER_FAILURE; break; case 3: if (query->_searchDomainsIndex + 1 < query->_settings->_searchDomains.count) { of_run_loop_mode_t runLoopMode = [OFRunLoop currentRunLoop].currentMode; size_t nameServersIndex = | > > > > > > > > > > > > > > > > > > | | < < < < < < < < < < < < | 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 | case 0: break; case 1: error = OF_DNS_RESOLVER_ERROR_SERVER_INVALID_FORMAT; break; case 2: error = OF_DNS_RESOLVER_ERROR_SERVER_FAILURE; tryNextNameServer = true; break; case 3: error = OF_DNS_RESOLVER_ERROR_SERVER_NAME_ERROR; break; case 4: error = OF_DNS_RESOLVER_ERROR_SERVER_NOT_IMPLEMENTED; tryNextNameServer = true; break; case 5: error = OF_DNS_RESOLVER_ERROR_SERVER_REFUSED; tryNextNameServer = true; break; default: error = OF_DNS_RESOLVER_ERROR_UNKNOWN; tryNextNameServer = true; break; } if (tryNextNameServer) { if (query->_searchDomainsIndex + 1 < query->_settings->_searchDomains.count) { of_run_loop_mode_t runLoopMode = [OFRunLoop currentRunLoop].currentMode; size_t nameServersIndex = query->_nameServersIndex + 1; size_t searchDomainsIndex = query->_searchDomainsIndex + 1; query->_searchDomainsIndex++; [self of_asyncPerformQuery: query->_query settings: query->_settings nameServersIndex: nameServersIndex searchDomainsIndex: searchDomainsIndex runLoopMode: runLoopMode target: query->_target selector: query->_selector context: query->_context]; return true; } } if (buffer[3] & 0x0F) @throw [OFDNSQueryFailedException exceptionWithQuery: query->_query error: error]; |
︙ | ︙ |