|
1 | 1 | // dns-lists plugin |
2 | 2 |
|
3 | | -const dns = require('dns').promises; |
4 | 3 | const net = require('net'); |
5 | 4 | const net_utils = require('haraka-net-utils'); |
| 5 | +const dnsPromises = require('dns').promises; |
| 6 | +const dns = new dnsPromises.Resolver({timeout: 25000, tries: 1}); |
6 | 7 |
|
7 | 8 | exports.disable_allowed = false; |
8 | 9 | let redis_client; |
@@ -184,9 +185,9 @@ exports.lookup = async function (ip, zone) { |
184 | 185 | catch (err) { |
185 | 186 | this.stats_incr_zone(err, zone, start); // Statistics |
186 | 187 |
|
187 | | - if (err.code === dns.NOTFOUND) return; // unlisted, not an error |
| 188 | + if (err.code === dnsPromises.NOTFOUND) return; // unlisted, not an error |
188 | 189 |
|
189 | | - if (err.code === dns.TIMEOUT) { // list timed out |
| 190 | + if (err.code === dnsPromises.TIMEOUT) { // list timed out |
190 | 191 | this.disable_zone(zone, err.code); // disable it |
191 | 192 | return |
192 | 193 | } |
@@ -313,9 +314,9 @@ exports.checkZoneNegative = async function (zone, ip) { |
313 | 314 | } |
314 | 315 | catch (err) { |
315 | 316 | switch (err.code) { |
316 | | - case dns.NOTFOUND: // IP not listed |
| 317 | + case dnsPromises.NOTFOUND: // IP not listed |
317 | 318 | return true |
318 | | - case dns.TIMEOUT: // list timed out |
| 319 | + case dnsPromises.TIMEOUT: // list timed out |
319 | 320 | this.disable_zone(zone, err.code) |
320 | 321 | } |
321 | 322 | console.error(`${query} -> got err ${err}`) |
|
0 commit comments