2
0
mirror of https://gitlab.isc.org/isc-projects/bind9 synced 2025-08-29 13:38:26 +00:00

libdns refactoring: get rid of two versions of dns_adb_createfind and dns_adb_probesize

This commit is contained in:
Witold Kręcicki 2018-04-03 13:10:03 +02:00
parent 3687648384
commit f0a07b7546
7 changed files with 21 additions and 47 deletions

View File

@ -258,7 +258,8 @@ lookup(const char *target) {
options |= DNS_ADBFIND_GLUEOK; options |= DNS_ADBFIND_GLUEOK;
result = dns_adb_createfind(adb, t2, lookup_callback, client, result = dns_adb_createfind(adb, t2, lookup_callback, client,
&client->name, dns_rootname, 0, options, &client->name, dns_rootname, 0, options,
now, NULL, view->dstport, &client->find); now, NULL, view->dstport, 0, NULL,
&client->find);
if (result != ISC_R_SUCCESS) if (result != ISC_R_SUCCESS)
printf("DNS_ADB_CREATEFIND -> %s\n", dns_result_totext(result)); printf("DNS_ADB_CREATEFIND -> %s\n", dns_result_totext(result));
dns_adb_dumpfind(client->find, stderr); dns_adb_dumpfind(client->find, stderr);

View File

@ -120,7 +120,7 @@ do_find(isc_boolean_t want_event) {
dns_fixedname_name(&fixed), dns_fixedname_name(&fixed),
dns_rootname, 0, options, 0, dns_rootname, 0, options, 0,
dns_fixedname_name(&target), 0, dns_fixedname_name(&target), 0,
&find); 0, NULL, &find);
if (result == ISC_R_SUCCESS) { if (result == ISC_R_SUCCESS) {
if (!ISC_LIST_EMPTY(find->list)) { if (!ISC_LIST_EMPTY(find->list)) {
/* /*

View File

@ -2937,20 +2937,8 @@ dns_adb_createfind(dns_adb_t *adb, isc_task_t *task, isc_taskaction_t action,
void *arg, const dns_name_t *name, const dns_name_t *qname, void *arg, const dns_name_t *name, const dns_name_t *qname,
dns_rdatatype_t qtype, unsigned int options, dns_rdatatype_t qtype, unsigned int options,
isc_stdtime_t now, dns_name_t *target, isc_stdtime_t now, dns_name_t *target,
in_port_t port, dns_adbfind_t **findp) in_port_t port, unsigned int depth, isc_counter_t *qc,
{ dns_adbfind_t **findp)
return (dns_adb_createfind2(adb, task, action, arg, name,
qname, qtype, options, now,
target, port, 0, NULL, findp));
}
isc_result_t
dns_adb_createfind2(dns_adb_t *adb, isc_task_t *task, isc_taskaction_t action,
void *arg, const dns_name_t *name, const dns_name_t *qname,
dns_rdatatype_t qtype, unsigned int options,
isc_stdtime_t now, dns_name_t *target,
in_port_t port, unsigned int depth, isc_counter_t *qc,
dns_adbfind_t **findp)
{ {
dns_adbfind_t *find; dns_adbfind_t *find;
dns_adbname_t *adbname; dns_adbname_t *adbname;
@ -4481,12 +4469,7 @@ dns_adb_getudpsize(dns_adb_t *adb, dns_adbaddrinfo_t *addr) {
} }
unsigned int unsigned int
dns_adb_probesize(dns_adb_t *adb, dns_adbaddrinfo_t *addr) { dns_adb_probesize(dns_adb_t *adb, dns_adbaddrinfo_t *addr, int lookups) {
return dns_adb_probesize2(adb, addr, 0);
}
unsigned int
dns_adb_probesize2(dns_adb_t *adb, dns_adbaddrinfo_t *addr, int lookups) {
int bucket; int bucket;
unsigned int size; unsigned int size;

View File

@ -333,15 +333,9 @@ isc_result_t
dns_adb_createfind(dns_adb_t *adb, isc_task_t *task, isc_taskaction_t action, dns_adb_createfind(dns_adb_t *adb, isc_task_t *task, isc_taskaction_t action,
void *arg, const dns_name_t *name, const dns_name_t *qname, void *arg, const dns_name_t *name, const dns_name_t *qname,
dns_rdatatype_t qtype, unsigned int options, dns_rdatatype_t qtype, unsigned int options,
isc_stdtime_t now, dns_name_t *target, isc_stdtime_t now, dns_name_t *target, in_port_t port,
in_port_t port, dns_adbfind_t **find); unsigned int depth, isc_counter_t *qc,
isc_result_t dns_adbfind_t **find);
dns_adb_createfind2(dns_adb_t *adb, isc_task_t *task, isc_taskaction_t action,
void *arg, const dns_name_t *name, const dns_name_t *qname,
dns_rdatatype_t qtype, unsigned int options,
isc_stdtime_t now, dns_name_t *target, in_port_t port,
unsigned int depth, isc_counter_t *qc,
dns_adbfind_t **find);
/*%< /*%<
* Main interface for clients. The adb will look up the name given in * Main interface for clients. The adb will look up the name given in
* "name" and will build up a list of found addresses, and perhaps start * "name" and will build up a list of found addresses, and perhaps start
@ -611,9 +605,7 @@ dns_adb_getudpsize(dns_adb_t *adb, dns_adbaddrinfo_t *addr);
*/ */
unsigned int unsigned int
dns_adb_probesize(dns_adb_t *adb, dns_adbaddrinfo_t *addr); dns_adb_probesize (dns_adb_t *adb, dns_adbaddrinfo_t *addr, int lookups);
unsigned int
dns_adb_probesize2(dns_adb_t *adb, dns_adbaddrinfo_t *addr, int lookups);
/*% /*%
* Return suggested EDNS UDP size based on observed responses / failures. * Return suggested EDNS UDP size based on observed responses / failures.
* 'lookups' is the number of times the current lookup has been attempted. * 'lookups' is the number of times the current lookup has been attempted.

View File

@ -2538,9 +2538,9 @@ resquery_send(resquery_t *query) {
if ((flags & FCTX_ADDRINFO_EDNSOK) != 0 && if ((flags & FCTX_ADDRINFO_EDNSOK) != 0 &&
(query->options & DNS_FETCHOPT_EDNS512) == 0) { (query->options & DNS_FETCHOPT_EDNS512) == 0) {
udpsize = dns_adb_probesize2(fctx->adb, udpsize = dns_adb_probesize(fctx->adb,
query->addrinfo, query->addrinfo,
fctx->timeouts); fctx->timeouts);
if (udpsize > res->udpsize) if (udpsize > res->udpsize)
udpsize = res->udpsize; udpsize = res->udpsize;
} }
@ -3346,13 +3346,13 @@ findname(fetchctx_t *fctx, const dns_name_t *name, in_port_t port,
* See what we know about this address. * See what we know about this address.
*/ */
find = NULL; find = NULL;
result = dns_adb_createfind2(fctx->adb, result = dns_adb_createfind(fctx->adb,
res->buckets[fctx->bucketnum].task, res->buckets[fctx->bucketnum].task,
fctx_finddone, fctx, name, fctx_finddone, fctx, name,
&fctx->name, fctx->type, &fctx->name, fctx->type,
options, now, NULL, options, now, NULL,
res->view->dstport, res->view->dstport,
fctx->depth + 1, fctx->qc, &find); fctx->depth + 1, fctx->qc, &find);
if (result != ISC_R_SUCCESS) { if (result != ISC_R_SUCCESS) {
if (result == DNS_R_ALIAS) { if (result == DNS_R_ALIAS) {
char namebuf[DNS_NAME_FORMATSIZE]; char namebuf[DNS_NAME_FORMATSIZE];

View File

@ -32,7 +32,6 @@ dns_adb_cancelfind
dns_adb_changeflags dns_adb_changeflags
dns_adb_create dns_adb_create
dns_adb_createfind dns_adb_createfind
dns_adb_createfind2
dns_adb_destroyfind dns_adb_destroyfind
dns_adb_detach dns_adb_detach
dns_adb_dump dns_adb_dump
@ -50,7 +49,6 @@ dns_adb_marklame
dns_adb_noedns dns_adb_noedns
dns_adb_plainresponse dns_adb_plainresponse
dns_adb_probesize dns_adb_probesize
dns_adb_probesize2
dns_adb_setadbsize dns_adb_setadbsize
dns_adb_setcookie dns_adb_setcookie
dns_adb_setquota dns_adb_setquota

View File

@ -10858,7 +10858,7 @@ notify_find_address(dns_notify_t *notify) {
&notify->ns, dns_rootname, 0, &notify->ns, dns_rootname, 0,
options, 0, NULL, options, 0, NULL,
notify->zone->view->dstport, notify->zone->view->dstport,
&notify->find); 0, NULL, &notify->find);
/* Something failed? */ /* Something failed? */
if (result != ISC_R_SUCCESS) if (result != ISC_R_SUCCESS)