From: William Pitcock Date: Fri, 8 Jan 2016 11:32:27 +0000 (-0600) Subject: authd: fix some DNS module logic X-Git-Url: https://jfr.im/git/solanum.git/commitdiff_plain/fa43f55940da56928a79bb0c1620077ad9401e36 authd: fix some DNS module logic --- diff --git a/authd/dns.c b/authd/dns.c index 9c993560..905393af 100644 --- a/authd/dns.c +++ b/authd/dns.c @@ -116,16 +116,14 @@ resolve_dns(int parc, char *parv[]) { case '4': type = T_A; - if(!rb_inet_pton_sock(rec, (struct sockaddr *) &req->addr)) - exit(6); break; case '6': type = T_AAAA; - if(!rb_inet_pton_sock(rec, (struct sockaddr *) &req->addr)) - exit(6); break; case 'R': case 'S': + if(!rb_inet_pton_sock(rec, (struct sockaddr *) &req->addr)) + exit(6); type = T_PTR; break; } @@ -133,5 +131,8 @@ resolve_dns(int parc, char *parv[]) req->query.ptr = req; req->query.callback = submit_dns_answer; - gethost_byname_type(rec, &req->query, type); + if (type != T_PTR) + gethost_byname_type(rec, &req->query, type); + else + gethost_byaddr(&req->addr, &req->query); }