*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);
|
const hnsNs = await this.resolver.resolve(foundDomain, options);
|
||||||
|
|
||||||
if (hnsNs.records.length) {
|
if (hnsNs.records.length) {
|
||||||
return this.resolver.resolve(domain, {
|
let icannRecords = await this.resolver.resolve(domain, {
|
||||||
...options,
|
...options,
|
||||||
options: {
|
options: {
|
||||||
subquery: true,
|
subquery: true,
|
||||||
nameserver: hnsNs.records.pop()?.value,
|
nameserver: hnsNs.records.pop()?.value,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
if (icannRecords.records.length) {
|
||||||
|
records.push.apply(records, icannRecords.records);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return resolverEmptyResponse();
|
return resolverEmptyResponse();
|
||||||
}
|
}
|
||||||
|
|
||||||
return this.resolver.resolve(domain, {
|
let icannRecords = await this.resolver.resolve(domain, {
|
||||||
...options,
|
...options,
|
||||||
options: { subquery: true, nameserver: foundDomain },
|
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);
|
let result = await this.resolver.resolve(record.ns, options, bypassCache);
|
||||||
|
|
Loading…
Reference in New Issue