summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--rfc1035/rfc1035mxlist.c6
-rw-r--r--rfc1035/rfc1035mxlist.h1
2 files changed, 7 insertions, 0 deletions
diff --git a/rfc1035/rfc1035mxlist.c b/rfc1035/rfc1035mxlist.c
index 48c5f3c..cd08a11 100644
--- a/rfc1035/rfc1035mxlist.c
+++ b/rfc1035/rfc1035mxlist.c
@@ -382,6 +382,12 @@ int seen_good=0;
replyp->allrrs[index]->rr.mx.mx_label, mxname) == 0)
continue;
+ if (*mxname == 0) /* MX . */
+ {
+ rfc1035_replyfree(replyp);
+ return (RFC1035_MX_NONE);
+ }
+
switch (add_arecords(res, list, replyp,
replyp->allrrs[index]->rr.mx.preference,
mxname,
diff --git a/rfc1035/rfc1035mxlist.h b/rfc1035/rfc1035mxlist.h
index a4417b6..7846cfb 100644
--- a/rfc1035/rfc1035mxlist.h
+++ b/rfc1035/rfc1035mxlist.h
@@ -24,6 +24,7 @@ extern "C" {
#define RFC1035_MX_HARDERR 2 /* Hard DNS error */
#define RFC1035_MX_INTERNAL 3 /* Internal library error */
#define RFC1035_MX_BADDNS 4 /* Bad DNS records */
+#define RFC1035_MX_NONE 5 /* "MX ." record */
struct rfc1035_mxlist {
struct rfc1035_mxlist *next;