diff options
Diffstat (limited to 'src/dnsmxip.c')
-rw-r--r-- | src/dnsmxip.c | 102 |
1 files changed, 51 insertions, 51 deletions
diff --git a/src/dnsmxip.c b/src/dnsmxip.c index de3bb7c..9148bdc 100644 --- a/src/dnsmxip.c +++ b/src/dnsmxip.c @@ -1,25 +1,27 @@ -#include <sys/types.h> #include <sys/socket.h> +#include <sys/types.h> #include <unistd.h> + #include "buffer.h" -#include "stralloc.h" -#include "fmt.h" #include "dnsresolv.h" -#include "ip.h" -#include "now.h" #include "exit.h" -#include "dns.h" +#include "fmt.h" +#include "ip.h" #include "logmsg.h" #include "str.h" +#include "stralloc.h" + +#include "dns.h" +#include "now.h" #define WHO "dnsmxip" static stralloc sa = {0}; -static stralloc ia = {0}; +static stralloc ia = {0}; static stralloc out = {0}; -static stralloc ipaddr = {0}; +static stralloc ipaddr = {0}; -int dns_ia(stralloc *ip,char *s) +int dns_ia(stralloc *ip, char *s) { int i; int j = 0; @@ -27,79 +29,77 @@ int dns_ia(stralloc *ip,char *s) char ip4str[IP4_FMT]; char ip6str[IP6_FMT]; - if (!stralloc_copys(&sa,s)) return -1; - if (sa.s[sa.len-1] != '.') - if (!stralloc_append(&sa,".")) return -1; - if (!stralloc_copys(ip,"")) return -1; - - DNS_INIT - if (dns_ip6(&ia,&sa) > 0) { + if (!stralloc_copys(&sa, s)) return -1; + if (sa.s[sa.len - 1] != '.') + if (!stralloc_append(&sa, ".")) return -1; + if (!stralloc_copys(ip, "")) return -1; + + DNS_INIT + if (dns_ip6(&ia, &sa) > 0) { for (i = 0; i + 16 <= ia.len; i += 16) { - if (ip6_isv4mapped(ia.s + i)) continue; - j = ip6_fmt(ip6str,ia.s + i); + if (ip6_isv4mapped(ia.s + i)) continue; + j = ip6_fmt(ip6str, ia.s + i); r += j; - if (!stralloc_catb(ip,ip6str,j)) return -1; - if (!stralloc_cats(ip," ")) return -1; + if (!stralloc_catb(ip, ip6str, j)) return -1; + if (!stralloc_cats(ip, " ")) return -1; r++; } } - if (dns_ip4(&ia,&sa) > 0) { + if (dns_ip4(&ia, &sa) > 0) { for (i = 0; i + 4 <= ia.len; i += 4) { - j = ip4_fmt(ip4str,ia.s + i); + j = ip4_fmt(ip4str, ia.s + i); r += j; - if (!stralloc_catb(ip,ip4str,j)) return -1; - if (!stralloc_cats(ip," ")) return -1; + if (!stralloc_catb(ip, ip4str, j)) return -1; + if (!stralloc_cats(ip, " ")) return -1; r++; } } if (!stralloc_0(ip)) return -1; - return r?r-1:0; + return r ? r - 1 : 0; } -int main(int argc,char **argv) +int main(int argc, char **argv) { int j, k, r; uint16 u; int len; char num[FMT_ULONG]; - if (!argv[1]) - logmsg(WHO,100,USAGE,"dnsmx fqdn"); - if (!stralloc_copys(&sa,argv[1])) - logmsg(WHO,111,FATAL,"out of memory"); + if (!argv[1]) logmsg(WHO, 100, USAGE, "dnsmx fqdn"); + if (!stralloc_copys(&sa, argv[1])) logmsg(WHO, 111, FATAL, "out of memory"); - DNS_INIT - if ((r = dns_mx(&out,&sa)) < 0) _exit(1); + DNS_INIT + if ((r = dns_mx(&out, &sa)) < 0) _exit(1); if (r > 0) { j = len = 0; do { - j = str_chr(out.s + len + 2,'\0'); - k = dns_ia(&ipaddr,out.s + len + 2); /* IP */ + j = str_chr(out.s + len + 2, '\0'); + k = dns_ia(&ipaddr, out.s + len + 2); /* IP */ if (k) { - buffer_put(buffer_1,out.s + len + 2,j); /* MX */ - buffer_puts(buffer_1,": "); + buffer_put(buffer_1, out.s + len + 2, j); /* MX */ + buffer_puts(buffer_1, ": "); out.s[len + 3] = '\0'; - uint16_unpack_big(out.s + len,&u); - buffer_put(buffer_1,num,fmt_ulong(num,u)) ; - buffer_puts(buffer_1," ["); - buffer_put(buffer_1,ipaddr.s,k); - buffer_puts(buffer_1,"]"); + uint16_unpack_big(out.s + len, &u); + buffer_put(buffer_1, num, fmt_ulong(num, u)); + buffer_puts(buffer_1, " ["); + buffer_put(buffer_1, ipaddr.s, k); + buffer_puts(buffer_1, "]"); } - buffer_putsflush(buffer_1,"\n"); + buffer_putsflush(buffer_1, "\n"); len += j + 3; } while (len < out.len); - } else { /* A/AAAA */ - k = dns_ia(&ipaddr,argv[1]); /* IP */ + } else { /* A/AAAA */ + k = dns_ia(&ipaddr, argv[1]); /* IP */ if (k) { - buffer_puts(buffer_1,argv[1]); - buffer_puts(buffer_1,": -"); - buffer_puts(buffer_1," ["); - buffer_put(buffer_1,ipaddr.s,k); - buffer_puts(buffer_1,"]"); - buffer_putsflush(buffer_1,"\n"); - } + buffer_puts(buffer_1, argv[1]); + buffer_puts(buffer_1, ": -"); + buffer_puts(buffer_1, " ["); + buffer_put(buffer_1, ipaddr.s, k); + buffer_puts(buffer_1, "]"); + buffer_putsflush(buffer_1, "\n"); + } } _exit(0); |