pick better request sequence numbers. by the way, rand(2) says that rand returns n s.t. n ≤ 215 when in fact it returns n ≤ 0x7fff. Notes: Sun Jul 27 12:20:29 EDT 2008 geoff doesn't seem worth it given our existing counter-measures. re 215: don't believe nroffed manual pages. Reference: /n/sources/patch/sorry/dnrand Date: Sun Jul 27 15:07:23 CES 2008 Signed-off-by: quanstro@quanstro.net Reviewed-by: geoff --- /sys/src/cmd/ndb/dnnotify.c Sun Jul 27 14:04:24 2008 +++ /sys/src/cmd/ndb/dnnotify.c Sun Jul 27 14:04:22 2008 @@ -56,7 +56,7 @@ DNSmsg repmsg; /* create the request */ - reqno = rand(); + reqno = nrand(0xffff); n = mkreq(soa->owner, Cin, obuf, Fauth | Onotify, reqno); /* get an address */ --- /sys/src/cmd/ndb/dnresolve.c Sun Jul 27 14:04:33 2008 +++ /sys/src/cmd/ndb/dnresolve.c Sun Jul 27 14:04:30 2008 @@ -1250,7 +1250,7 @@ // Dest dest[Maxdest]; /* pack request into a udp message */ - req = rand(); + req = nrand(0xffff); len = mkreq(qp->dp, qp->type, obuf, Frecurse|Oquery, req); /* no server addresses yet */