From 5476fe648e50a32b81edc2006a2c7ab8cc9dc30a Mon Sep 17 00:00:00 2001 From: ian Date: Sat, 17 Apr 1999 14:20:20 +0000 Subject: [PATCH] Can set query flags, and static version. --- client/.cvsignore | 1 + client/Makefile.in | 11 +++++++++-- client/adnstest.c | 33 +++++++++++++++++++++++---------- 3 files changed, 33 insertions(+), 12 deletions(-) diff --git a/client/.cvsignore b/client/.cvsignore index 777b57a..e6b4fa8 100644 --- a/client/.cvsignore +++ b/client/.cvsignore @@ -1,2 +1,3 @@ Makefile adnstest +adnstest_s diff --git a/client/Makefile.in b/client/Makefile.in index 24a8a6e..a3a6327 100644 --- a/client/Makefile.in +++ b/client/Makefile.in @@ -19,12 +19,16 @@ srcdir= @srcdir@ VPATH= @srcdir@ -TARGETS= adnstest +TARG_LOCAL= adnstest_s +TARG_INSTALL= adnstest +TARGETS= $(TARG_LOCAL) $(TARG_INSTALL) include $(srcdir)/../settings.make DIRCFLAGS= -I$(srcdir)/../src -install: $(TARGETS) +all: $(TARGETS) + +install: $(TARG_INSTALL) set -xe; for f in $(TARGETS); \ do $(INSTALL_PROGRAM) $$f $(bin_dir)/$$f; done @@ -32,3 +36,6 @@ uninstall: for f in $(TARGETS); do rm -f $(bin_dir)/$$f; done adnstest: adnstest.o $(srcdir)/../dynamic/$(SHLIBFILE) + +adnstest_s: adnstest.o $(srcdir)/../src/libadns.a + $(CC) $(LDFLAGS) $^ -o $@ $(LIBS) diff --git a/client/adnstest.c b/client/adnstest.c index 98caf2f..6827cbd 100644 --- a/client/adnstest.c +++ b/client/adnstest.c @@ -67,14 +67,23 @@ static void dumptype(adns_status ri, const char *rrtn, const char *fmtn) { ri ? " " : "", ri ? adns_strerror(ri) : ""); } +static void fdom_split(const char *fdom, const char **dom_r, int *qf_r) { + int qf; + char *ep; + + qf= strtoul(fdom,&ep,0); + if (*ep != '/') { *dom_r= fdom; *qf_r= 0; } + else { *dom_r= ep+1; *qf_r= qf; } +} + int main(int argc, char *const *argv) { adns_state ads; adns_query *qus, qu; adns_answer *ans; const char *initstring, *rrtn, *fmtn; - const char *const *domlist; + const char *const *fdomlist, *domain; char *show, *cp; - int len, i, qc, qi, tc, ti, ch; + int len, i, qc, qi, tc, ti, ch, qflags; adns_status r, ri; const adns_rrtype *types; struct timeval now; @@ -108,10 +117,10 @@ int main(int argc, char *const *argv) { types= defaulttypes; } - if (argv[0] && argv[1]) domlist= (const char *const*)argv+1; - else domlist= defaultargv; + if (argv[0] && argv[1]) fdomlist= (const char *const*)argv+1; + else fdomlist= defaultargv; - for (qc=0; qc[domlist]; qc++); + for (qc=0; fdomlist[qc]; qc++); for (tc=0; types[tc] != adns_r_none; tc++); qus= malloc(sizeof(qus)*qc*tc); if (!qus) { perror("malloc qus"); exit(3); } @@ -124,9 +133,10 @@ int main(int argc, char *const *argv) { if (r) failure("init",r); for (qi=0; qitype, &rrtn,&fmtn,&len, 0,0); - fprintf(stdout, "%s type ", domlist[qi]); + fprintf(stdout, "%s type ",domain); dumptype(ri,rrtn,fmtn); - fprintf(stdout, ": %s; nrrs=%d; cname=%s; ttl=%ld\n", - adns_strerror(ans->status), + fprintf(stdout, " flags %d: %s; nrrs=%d; cname=%s; ttl=%ld\n", + qflags, adns_strerror(ans->status), ans->nrrs, ans->cname ? ans->cname : "$", (long)ans->expires - (long)now.tv_sec); if (ans->nrrs) { -- 2.30.2