use domain as the port
diff --git a/src/cmd/ndb/dns.c b/src/cmd/ndb/dns.c
index 31da9db..c60a574 100755
--- a/src/cmd/ndb/dns.c
+++ b/src/cmd/ndb/dns.c
@@ -96,8 +96,8 @@
 void	freejob(Job*);
 void	setext(char*, int, char*);
 
-char *tcpaddr = "tcp!*!dns";
-char *udpaddr = "udp!*!dns";
+char *tcpaddr = "tcp!*!domain";
+char *udpaddr = "udp!*!domain";
 char	*logfile = "dns";
 char	*dbfile;
 char	mntpt[Maxpath];
@@ -162,10 +162,10 @@
 		sendnotifies = 1;
 		break;
 	case 'U':
-		udpaddr = estrdup(netmkaddr(EARGF(usage()), "udp", "dns"));
+		udpaddr = estrdup(netmkaddr(EARGF(usage()), "udp", "domain"));
 		break;
 	case 'T':
-		tcpaddr = estrdup(netmkaddr(EARGF(usage()), "tcp", "dns"));
+		tcpaddr = estrdup(netmkaddr(EARGF(usage()), "tcp", "domain"));
 		break;
 	default:
 		usage();
diff --git a/src/cmd/ndb/dntcpserver.c b/src/cmd/ndb/dntcpserver.c
index 59d0e04..017ab76 100644
--- a/src/cmd/ndb/dntcpserver.c
+++ b/src/cmd/ndb/dntcpserver.c
@@ -200,8 +200,6 @@
 		close(rfd);
 		now = time(0);
 		memset(&repmsg, 0, sizeof(repmsg));
-		freenetconninfo(caller);
-		caller = getnetconninfo(0, fd);
 		if (fd == 0) {
 			len = readmsg(fd, buf, sizeof buf);
 			rfd = 1;
@@ -210,6 +208,8 @@
 		}
 		if(len <= 0)
 			continue;
+		freenetconninfo(caller);
+		caller = getnetconninfo(0, fd);
 		getactivity(&req);
 		req.aborttime = now + 15*Min;
 		err = convM2DNS(buf, len, &reqmsg);