chiark
/
gitweb
/
~ianmdlvl
/
adns.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
src/: Pass the wanted query's type code to adns__internal_submit.
[adns.git]
/
src
/
query.c
diff --git
a/src/query.c
b/src/query.c
index a3ce68d8051aa7c821af959c0cbf9e19e53ad378..541d8ac35d11fc40d69e6195bf41079b2962f5db 100644
(file)
--- a/
src/query.c
+++ b/
src/query.c
@@
-148,8
+148,8
@@
static adns_status check_domain_name(adns_state ads, adns_queryflags flags,
}
adns_status adns__internal_submit(adns_state ads, adns_query *query_r,
}
adns_status adns__internal_submit(adns_state ads, adns_query *query_r,
- const typeinfo *typei,
vbuf *qumsg_vb
,
- int id,
+ const typeinfo *typei,
adns_rrtype type
,
+
vbuf *qumsg_vb,
int id,
adns_queryflags flags, struct timeval now,
qcontext *ctx) {
adns_query qu;
adns_queryflags flags, struct timeval now,
qcontext *ctx) {
adns_query qu;
@@
-157,7
+157,7
@@
adns_status adns__internal_submit(adns_state ads, adns_query *query_r,
err= check_domain_name(ads, flags,ctx,typei, qumsg_vb->buf,qumsg_vb->used);
if (err) goto x_err;
err= check_domain_name(ads, flags,ctx,typei, qumsg_vb->buf,qumsg_vb->used);
if (err) goto x_err;
- qu= query_alloc(ads,typei,type
i->typekey
,flags,now);
+ qu= query_alloc(ads,typei,type,flags,now);
if (!qu) { err = adns_s_nomemory; goto x_err; }
*query_r= qu;
if (!qu) { err = adns_s_nomemory; goto x_err; }
*query_r= qu;
@@
-364,7
+364,9
@@
int adns_submit_reverse(adns_state ads,
adns_queryflags flags,
void *context,
adns_query *query_r) {
adns_queryflags flags,
void *context,
adns_query *query_r) {
- if (type != adns_r_ptr && type != adns_r_ptr_raw) return EINVAL;
+ if (((type^adns_r_ptr) & adns_rrt_reprmask) &&
+ ((type^adns_r_ptr_raw) & adns_rrt_reprmask))
+ return EINVAL;
return adns_submit_reverse_any(ads,addr,"in-addr.arpa",
type,flags,context,query_r);
}
return adns_submit_reverse_any(ads,addr,"in-addr.arpa",
type,flags,context,query_r);
}