X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=client%2Fadnslogres.c;h=750a198f69aa45547ef0f27821b2578a1a135fab;hb=HEAD;hp=10d95f06bb0defbb279ba7b314aef5342fc9d6db;hpb=ae8cc9775a6eb23901a89a2604f73525b0553db8;p=adns.git diff --git a/client/adnslogres.c b/client/adnslogres.c index 10d95f0..3ce05ff 100644 --- a/client/adnslogres.c +++ b/client/adnslogres.c @@ -3,19 +3,12 @@ * - a replacement for the Apache logresolve program using adns */ /* - * This file is - * Copyright (C) 1999-2000 Tony Finch - * Copyright (C) 1999-2000 Ian Jackson - * - * It is part of adns, which is - * Copyright (C) 1997-2000,2003,2006 Ian Jackson - * Copyright (C) 1999-2000,2003,2006 Tony Finch - * Copyright (C) 1991 Massachusetts Institute of Technology - * (See the file INSTALL for full details.) + * This file is part of adns, which is Copyright Ian Jackson + * and contributors (see the file INSTALL for full details). * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2, or (at your option) + * the Free Software Foundation; either version 3, or (at your option) * any later version. * * This program is distributed in the hope that it will be useful, @@ -24,17 +17,13 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * along with this program; if not, write to the Free Software Foundation. * * This version was originally supplied by Tony Finch, but has been * modified by Ian Jackson as it was incorporated into adns and * subsequently. */ -static const char * const cvsid = - "$Id$"; - #include #include @@ -64,6 +53,7 @@ static const char * const cvsid = /* option flags */ #define OPT_DEBUG 1 #define OPT_POLL 2 +#define OPT_CHECKC 4 static const char *const progname= "adnslogres"; static const char *config_text; @@ -154,7 +144,7 @@ static logline *readline(FILE *inf, adns_state adns, int opts) { strcpy(line->start, buf); str= ipaddr2domain(line->start, &line->addr, &line->rest); if (opts & OPT_DEBUG) - msg("submitting %.*s -> %s", line->rest-line->addr, guard_null(line->addr), str); + msg("submitting %.*s -> %s", (int)(line->rest-line->addr), guard_null(line->addr), str); if (adns_submit(adns, str, adns_r_ptr, adns_qf_quoteok_cname|adns_qf_cname_loose, NULL, &line->query)) @@ -173,7 +163,8 @@ static void proclog(FILE *inf, FILE *outf, int maxpending, int opts) { logline *head, *tail, *line; adns_initflags initflags; - initflags= (opts & OPT_DEBUG) ? adns_if_debug : 0; + initflags= (((opts & OPT_DEBUG) ? adns_if_debug : 0) | + ((opts & OPT_CHECKC) ? adns_if_checkc_entex : 0)); if (config_text) { errno= adns_init_strcfg(&adns, initflags, stderr, config_text); } else { @@ -186,7 +177,7 @@ static void proclog(FILE *inf, FILE *outf, int maxpending, int opts) { while (head) { if (opts & OPT_DEBUG) msg("%d in queue; checking %.*s", len, - head->rest-head->addr, guard_null(head->addr)); + (int)(head->rest-head->addr), guard_null(head->addr)); if (eof || len >= maxpending) { if (opts & OPT_POLL) err= adns_wait_poll(adns, &head->query, &answer, NULL); @@ -241,6 +232,13 @@ int main(int argc, char *argv[]) { extern char *optarg; FILE *inf; + opts= 0; + + if (argv[1] && !strcmp(argv[1],"--checkc-freq")) { + opts|= OPT_CHECKC; + argv++; argc--; + } + if (argv[1] && !strncmp(argv[1],"--",2)) { if (!strcmp(argv[1],"--help")) { printhelp(stdout); @@ -254,7 +252,6 @@ int main(int argc, char *argv[]) { } maxpending= DEFMAXPENDING; - opts= 0; while ((c= getopt(argc, argv, "c:C:dp")) != -1) switch (c) { case 'c':