diff options
author | 2019-08-23 15:39:11 +0000 | |
---|---|---|
committer | 2019-08-23 15:39:11 +0000 | |
commit | cc302d382ff9bb601d7082ca852271c6b671a58c (patch) | |
tree | e8d0d69c6694d2d26ef43c0ee36ccf6130e26c80 | |
parent | document RSAPrivateKey_dup(3) and RSAPublicKey_dup(3) (diff) | |
download | wireguard-openbsd-cc302d382ff9bb601d7082ca852271c6b671a58c.tar.xz wireguard-openbsd-cc302d382ff9bb601d7082ca852271c6b671a58c.zip |
only process records of the expected type.
fix an issue where CNAME records generate bogus results.
ok gilles@
-rw-r--r-- | usr.sbin/smtpd/spfwalk.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/usr.sbin/smtpd/spfwalk.c b/usr.sbin/smtpd/spfwalk.c index 22b057963f9..40d4888d564 100644 --- a/usr.sbin/smtpd/spfwalk.c +++ b/usr.sbin/smtpd/spfwalk.c @@ -229,6 +229,9 @@ dispatch_mx(struct dns_rr *rr) { char buf[512]; + if (rr->rr_type != T_MX) + return; + print_dname(rr->rr.mx.exchange, buf, sizeof(buf)); buf[strlen(buf) - 1] = '\0'; if (buf[strlen(buf) - 1] == '.') @@ -243,6 +246,9 @@ dispatch_a(struct dns_rr *rr) char buffer[512]; const char *ptr; + if (rr->rr_type != T_A) + return; + if ((ptr = inet_ntop(AF_INET, &rr->rr.in_a.addr, buffer, sizeof buffer))) printf("%s\n", ptr); @@ -254,6 +260,9 @@ dispatch_aaaa(struct dns_rr *rr) char buffer[512]; const char *ptr; + if (rr->rr_type != T_AAAA) + return; + if ((ptr = inet_ntop(AF_INET6, &rr->rr.in_aaaa.addr6, buffer, sizeof buffer))) printf("%s\n", ptr); |