for (qi=0; qi<qc; qi++) {
for (ti=0; ti<tc; ti++) {
- fprintf(stdout,"submitting %s %d\n",argv[qi],types[ti]);
+ fprintf(stdout,"%s type %d",argv[qi],types[ti]);
r= adns_submit(ads,argv[qi],types[ti],0,0,&qus[qi*tc+ti]);
- if (r) failure("submit",r);
+ if (r == adns_s_notimplemented) {
+ fprintf(stdout," not implemented\n");
+ qus[qi*tc+ti]= 0;
+ } else if (r) {
+ failure("submit",r);
+ } else {
+ fprintf(stdout," submitted\n");
+ }
}
}
for (qi=0; qi<qc; qi++) {
for (ti=0; ti<tc; ti++) {
qu= qus[qi*tc+ti];
+ if (!qu) continue;
r= adns_wait(ads,&qu,&ans,0);
if (r) failure("wait",r);
union {
void *untyped;
unsigned char *bytes;
- char *(*str); /* ns_raw, cname, ptr, ptr_raw, txt */
+ char *(*str); /* ns_raw, cname, ptr, ptr_raw */
+ char *(**manystr); /* txt (list is null-terminated) */
struct in_addr *inaddr; /* a */
adns_rr_dmaddr *dmaddr; /* ns */
adns_rr_strpair *strpair; /* hinfo, rp, rp_raw */
return st;
}
-static adns_status pa_txt(adns_query qu, int serv,
- const byte *dgram, int dglen, int cbyte, int max,
- void *store_r) {
- vbuf vb;
-
- adns__vbuf_init(&vb);
-
- while (dg
- char *bp;
-
- max-= cbyte;
- dgram+= cbyte;
-
- bp= adns__alloc_interim(qu,max+1); if (!bp) return adns_s_nolocalmem;
- bp[max]= 0;
- memcpy(bp,dgram,max);
- *(char**)store_r= bp;
- return adns_s_ok;
-}
-
static void mf_str(adns_query qu, void *data) {
char **ddp= data;
#if 0 /*fixme*/
{ adns_r_hinfo, "HINFO", 0, DEEP_MEMB(strpair), pa_hinfo },
{ adns_r_mx_raw, "MX", "raw", DEEP_MEMB(intstr), pa_mx_raw },
-#endif
- { adns_r_txt, "TXT", 0, DEEP_MEMB(str), pa_txt },
-#if 0 /*fixme*/
+ { adns_r_txt, "TXT", 0, DEEP_MEMB(manystr), pa_txt },
{ adns_r_rp_raw, "RP", "raw", DEEP_MEMB(strpair), pa_rp },
{ adns_r_ns, "NS", "+addr", DEEP_MEMB(dmaddr), pa_dmaddr },