chiark / gitweb /
Much decoding of incoming packets.
[adns.git] / src / query.c
index 8aef53282a4641c201c37c03c7a1ba8fca087a52..2b21da473dd2a6f404067112fbc79cfae5b72413 100644 (file)
@@ -17,7 +17,8 @@ adns_status adns__mkquery(adns_state ads, const char *owner, int ol, int id,
 #define MKQUERY_ADDB(b) *rqp++= (b)
 #define MKQUERY_ADDW(w) (MKQUERY_ADDB(((w)>>8)&0x0ff), MKQUERY_ADDB((w)&0x0ff))
 
-  if (!adns__vbuf_ensure(&ads->rqbuf,12+strlen(owner)+3)) return adns_s_nolocalmem;
+  if (!adns__vbuf_ensure(&ads->rqbuf,DNSHDRSIZE+strlen(owner)+1+5))
+    return adns_s_nolocalmem;
   rqp= ads->rqbuf.buf;
 
   MKQUERY_ADDW(id);
@@ -64,10 +65,10 @@ adns_status adns__mkquery(adns_state ads, const char *owner, int ol, int id,
 
   MKQUERY_ADDB(0);
   MKQUERY_ADDW(type & adns__rrt_typemask); /* QTYPE */
-  MKQUERY_ADDW(1); /* QCLASS=IN */
+  MKQUERY_ADDW(DNS_CLASS_IN); /* QCLASS=IN */
 
   ads->rqbuf.used= rqp - ads->rqbuf.buf;
-  assert(ads->rqbuf.used < ads->rqbuf.avail);
+  assert(ads->rqbuf.used <= ads->rqbuf.avail);
   
   return adns_s_ok;
 }