diff options
author | Sergey Poznyakoff <gray@gnu.org.ua> | 2017-10-20 18:36:47 +0300 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org.ua> | 2017-10-20 18:36:47 +0300 |
commit | ef49628b07df9ddb5f6035fc4941a10136a73b22 (patch) | |
tree | 50c3ae5ae4eb565c2a6736f3e691ba98b5abd66e /src/builtin/dns.bi | |
parent | 91217d82391e4480fa7f72b7bc66a7bc53a9c3dd (diff) | |
download | mailfromd-ef49628b07df9ddb5f6035fc4941a10136a73b22.tar.gz mailfromd-ef49628b07df9ddb5f6035fc4941a10136a73b22.tar.bz2 |
Bugfixes; implement test program for DNS API.
* lib/dns.c (ptr_lookup): Reverse IP octets prior to look up.
Use adns_r_ptr_raw to disable consistency checks.
(ptr_validate): Return values in struct dns_reply.
All uses changed.
* lib/dns.h (ptr_validate): Change signature.
* tests/resolv.c: New test program.
* tests/Makefile.am: Add resolv.c
* tests/.gitignore: Update.
Diffstat (limited to 'src/builtin/dns.bi')
-rw-r--r-- | src/builtin/dns.bi | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/src/builtin/dns.bi b/src/builtin/dns.bi index f63a2361..4bde9676 100644 --- a/src/builtin/dns.bi +++ b/src/builtin/dns.bi @@ -169,10 +169,10 @@ END MF_DEFUN(getmx, STRING, STRING domain, OPTIONAL, NUMBER no_resolve) { mf_status mxstat; - struct dns_reply repl; + struct dns_reply reply; if (MF_OPTVAL(no_resolve)) { - mxstat = getmxip(domain, &repl); + mxstat = getmxip(domain, &reply); if (!mf_resolved(mxstat)) { MF_THROW(mf_status_to_exception(mxstat), _("cannot get MX records for %s"), domain); @@ -183,20 +183,20 @@ MF_DEFUN(getmx, STRING, STRING domain, OPTIONAL, NUMBER no_resolve) int i; MF_OBSTACK_BEGIN(); - for (i = 0; i < repl.count; i++) { + for (i = 0; i < reply.count; i++) { struct in_addr s; - s.s_addr = htonl(repl.data.ip[i]); + s.s_addr = htonl(reply.data.ip[i]); if (i > 0) MF_OBSTACK_1GROW(' '); MF_OBSTACK_GROW(inet_ntoa(s)); } MF_OBSTACK_1GROW(0); - dns_reply_free(&repl); + dns_reply_free(&reply); MF_RETURN_OBSTACK(); } } else { - mxstat = getmx(domain, &repl); + mxstat = getmx(domain, &reply); if (!mf_resolved(mxstat)) { MF_THROW(mf_status_to_exception(mxstat), _("cannot get MX records for %s"), domain); @@ -207,13 +207,13 @@ MF_DEFUN(getmx, STRING, STRING domain, OPTIONAL, NUMBER no_resolve) int i; MF_OBSTACK_BEGIN(); - for (i = 0; i < repl.count; i++) { + for (i = 0; i < reply.count; i++) { if (i > 0) MF_OBSTACK_1GROW(' '); - MF_OBSTACK_GROW(repl.data.str[i]); + MF_OBSTACK_GROW(reply.data.str[i]); } MF_OBSTACK_1GROW(0); - dns_reply_free(&repl); + dns_reply_free(&reply); MF_RETURN_OBSTACK(); } } @@ -286,7 +286,7 @@ END MF_DEFUN(ptr_validate, NUMBER, STRING s) { int rc, res; - switch (rc = ptr_validate(s, NULL, NULL)) { + switch (rc = ptr_validate(s, NULL)) { case dns_success: res = 1; break; |