*Properly handle recursive queries to the icann resolver
This commit is contained in:
parent
f86a05f2be
commit
faad982f0f
13
src/index.ts
13
src/index.ts
|
@ -193,22 +193,31 @@ export default class Handshake extends AbstractResolverModule {
|
|||
const hnsNs = await this.resolver.resolve(foundDomain, options);
|
||||
|
||||
if (hnsNs.records.length) {
|
||||
return this.resolver.resolve(domain, {
|
||||
let icannRecords = await this.resolver.resolve(domain, {
|
||||
...options,
|
||||
options: {
|
||||
subquery: true,
|
||||
nameserver: hnsNs.records.pop()?.value,
|
||||
},
|
||||
});
|
||||
if (icannRecords.records.length) {
|
||||
records.push.apply(records, icannRecords.records);
|
||||
}
|
||||
}
|
||||
|
||||
return resolverEmptyResponse();
|
||||
}
|
||||
|
||||
return this.resolver.resolve(domain, {
|
||||
let icannRecords = await this.resolver.resolve(domain, {
|
||||
...options,
|
||||
options: { subquery: true, nameserver: foundDomain },
|
||||
});
|
||||
if (icannRecords.records.length) {
|
||||
records.push.apply(records, icannRecords.records);
|
||||
return;
|
||||
}
|
||||
|
||||
return resolverEmptyResponse();
|
||||
}
|
||||
|
||||
let result = await this.resolver.resolve(record.ns, options, bypassCache);
|
||||
|
|
Loading…
Reference in New Issue