]> git.lizzy.rs Git - plan9front.git/blobdiff - sys/src/cmd/ndb/dnstcp.c
ip/ipconfig, ndb/dns, libndb: handle parseipmask() errors
[plan9front.git] / sys / src / cmd / ndb / dnstcp.c
index 3ccc5ee12a1a4554b3c76c922a470f0e5b329a4d..a5049eb77f4d1eaae7d77b11d9f018bea7cb84c5 100644 (file)
@@ -256,6 +256,7 @@ findserver(uchar *srcip, Server *servers, Request *req)
 {
        uchar ip[IPaddrlen];
        RR *list, *rp;
+       int tmp;
 
        for(; servers != nil; servers = servers->next){
                if(strcmp(ipattr(servers->name), "ip") == 0){
@@ -265,8 +266,13 @@ findserver(uchar *srcip, Server *servers, Request *req)
                                return servers;
                        continue;
                }
+
+               tmp = cfg.resolver;
+               cfg.resolver = 1;
                list = dnresolve(servers->name, Cin, isv4(srcip)? Ta: Taaaa,
                        req, nil, 0, Recurse, 0, nil);
+               cfg.resolver = tmp;
+
                for(rp = list; rp != nil; rp = rp->next){
                        if(parseip(ip, rp->ip->name) == -1)
                                continue;