14 char *logfile = "dns";
25 uchar ipaddr[IPaddrlen]; /* my ip address */
27 char *zonerefreshprogram;
34 fprint(2, "usage: dnstcp [-dr] [-f dbfile]\n");
35 threadexitsall("usage");
39 threadmain(int argc, char *argv[])
48 dbfile = EARGF(usage());
68 * the following varies between dnsdebug and dns
71 logreply(int id, uchar *addr, DNSmsg *mp)
75 syslog(0, LOG, "%d: rcvd %I flags:%s%s%s%s%s", id, addr,
76 mp->flags & Fauth ? " auth" : "",
77 mp->flags & Ftrunc ? " trunc" : "",
78 mp->flags & Frecurse ? " rd" : "",
79 mp->flags & Fcanrec ? " ra" : "",
80 mp->flags & (Fauth|Rname) == (Fauth|Rname) ?
82 for(rp = mp->qd; rp != nil; rp = rp->next)
83 syslog(0, LOG, "%d: rcvd %I qd %s", id, addr, rp->owner->name);
84 for(rp = mp->an; rp != nil; rp = rp->next)
85 syslog(0, LOG, "%d: rcvd %I an %R", id, addr, rp);
86 for(rp = mp->ns; rp != nil; rp = rp->next)
87 syslog(0, LOG, "%d: rcvd %I ns %R", id, addr, rp);
88 for(rp = mp->ar; rp != nil; rp = rp->next)
89 syslog(0, LOG, "%d: rcvd %I ar %R", id, addr, rp);
93 logsend(int id, int subid, uchar *addr, char *sname, char *rname, int type)
97 syslog(0, LOG, "%d.%d: sending to %I/%s %s %s",
98 id, subid, addr, sname, rname, rrname(type, buf, sizeof buf));
102 getdnsservers(int class)
104 return dnsservers(class);