]> git.lizzy.rs Git - plan9front.git/blobdiff - sys/src/cmd/ndb/dn.c
fix misleading/wrong fd checks
[plan9front.git] / sys / src / cmd / ndb / dn.c
index 08b86369f24e053ff2af62f9f4b283706689718d..f565a38fe653ae133c6dd292f069ad3635944d16 100644 (file)
@@ -1,7 +1,6 @@
 #include <u.h>
 #include <libc.h>
 #include <ip.h>
-#include <pool.h>
 #include <ctype.h>
 #include "dns.h"
 
@@ -229,11 +228,20 @@ idnlookup(char *name, int class, int enter)
 {
        char dom[Domlen];
 
-       if(utf2idn(name, dom, sizeof dom) != nil)
+       if(utf2idn(name, dom, sizeof dom) >= 0)
                name = dom;
        return dnlookup(name, class, enter);
 }
 
+DN*
+ipalookup(uchar *ip, int class, int enter)
+{
+       char addr[64];
+
+       snprint(addr, sizeof(addr), "%I", ip);
+       return dnlookup(addr, class, enter);
+}
+
 static int
 rrsame(RR *rr1, RR *rr2)
 {
@@ -673,8 +681,6 @@ getactivity(Request *req, int recursive)
 void
 putactivity(int recursive)
 {
-       static ulong lastclean;
-
        if(traceactivity)
                dnslog("put: %d active by pid %d",
                        dnvars.active, getpid());
@@ -702,17 +708,11 @@ putactivity(int recursive)
        }
        unlock(&dnvars);
 
-       dncheck();
-
        db2cache(needrefresh);
-       dncheck();
 
        dnageall(0);
 
-       dncheck();
-
        /* let others back in */
-       lastclean = now;
        needrefresh = 0;
        dnvars.mutex = 0;
 }
@@ -1172,7 +1172,7 @@ idnname(DN *dn, char *buf, int nbuf)
        char *name;
 
        name = dnname(dn);
-       if(idn2utf(name, buf, nbuf) != nil)
+       if(idn2utf(name, buf, nbuf) >= 0)
                return buf;
        return name;
 }
@@ -1466,31 +1466,6 @@ dnslog(char *fmt, ...)
        syslog(0, logfile, dnserr);
 }
 
-/*
- * based on libthread's threadsetname, but drags in less library code.
- * actually just sets the arguments displayed.
- */
-void
-procsetname(char *fmt, ...)
-{
-       int fd;
-       char *cmdname;
-       char buf[128];
-       va_list arg;
-
-       va_start(arg, fmt);
-       cmdname = vsmprint(fmt, arg);
-       va_end(arg);
-       if (cmdname == nil)
-               return;
-       snprint(buf, sizeof buf, "#p/%d/args", getpid());
-       if((fd = open(buf, OWRITE)) >= 0){
-               write(fd, cmdname, strlen(cmdname)+1);
-               close(fd);
-       }
-       free(cmdname);
-}
-
 /*
  *  create a slave process to handle a request to avoid one request blocking
  *  another
@@ -1548,39 +1523,6 @@ slave(Request *req)
        }
 }
 
-/*
- *  chasing down double free's
- */
-void
-dncheck(void)
-{
-       int i;
-       DN *dp;
-       RR *rp;
-
-       if(!testing)
-               return;
-
-       lock(&dnlock);
-       poolcheck(mainmem);
-       for(i = 0; i < HTLEN; i++)
-               for(dp = ht[i]; dp; dp = dp->next){
-                       assert(dp->magic == DNmagic);
-                       for(rp = dp->rr; rp; rp = rp->next){
-                               assert(rp->magic == RRmagic);
-                               assert(rp->cached);
-                               assert(rp->owner == dp);
-                               /* also check for duplicate rrs */
-                               if (rronlist(rp, rp->next)) {
-                                       dnslog("%R duplicates its next chain "
-                                               "(%R); aborting", rp, rp->next);
-                                       abort();
-                               }
-                       }
-               }
-       unlock(&dnlock);
-}
-
 static int
 rrequiv(RR *r1, RR *r2)
 {
@@ -1713,20 +1655,7 @@ sencodefmt(Fmt *f)
        ilen = f->prec;
        f->prec = 0;
        f->flags &= ~FmtPrec;
-       switch(f->r){
-       case '<':
-               len = (8*ilen+4)/5 + 3;
-               break;
-       case '[':
-               len = (8*ilen+5)/6 + 4;
-               break;
-       case 'H':
-               len = 2*ilen + 1;
-               break;
-       default:
-               goto error;
-       }
-
+       len = 2*ilen + 1;
        if(len > sizeof(obuf)){
                buf = malloc(len);
                if(buf == nil)
@@ -1736,20 +1665,7 @@ sencodefmt(Fmt *f)
 
        /* convert */
        out = buf;
-       switch(f->r){
-       case '<':
-               rv = enc32(out, len, b, ilen);
-               break;
-       case '[':
-               rv = enc64(out, len, b, ilen);
-               break;
-       case 'H':
-               rv = enc16(out, len, b, ilen);
-               break;
-       default:
-               rv = -1;
-               break;
-       }
+       rv = enc16(out, len, b, ilen);
        if(rv < 0)
                goto error;