chiark / gitweb /
SECURITY: Ignore apparent answers before first RR we found the first time
[adns.git] / client / adnsheloex.c
index 6fff9a3f484b6a6d0549d83deb5f8c94192a2981..5c0befe2b431e38bb2a133dac57b7a7cff305903 100644 (file)
@@ -7,12 +7,15 @@
  *   Copyright (C) 2004 Tony Finch <dot@dotat.at>
  *
  *  It is part of adns, which is
- *    Copyright (C) 1997-2000 Ian Jackson <ian@davenant.greenend.org.uk>
- *    Copyright (C) 1999-2004 Tony Finch <dot@dotat.at>
+ *    Copyright (C) 1997-2000,2003,2006,2014-2016  Ian Jackson
+ *    Copyright (C) 2014  Mark Wooding
+ *    Copyright (C) 1999-2000,2003,2006  Tony Finch
+ *    Copyright (C) 1991 Massachusetts Institute of Technology
+ *  (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,
  *  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 file is by Tony Finch, based on adnslogres.c.
  */
 
-static const char * const cvsid =
-       "$Id$";
-
 #include <sys/types.h>
 #include <sys/socket.h>
 #include <sys/time.h>
@@ -166,7 +165,7 @@ static void proclog(FILE *inf, FILE *outf, int maxpending, int opts) {
       if (head->query) {
        if (opts & OPT_DEBUG)
          msg("%d in queue; checking %.*s", len,
-             head->rest-head->name, guard_null(head->name));
+             (int)(head->rest-head->name), guard_null(head->name));
        if (eof || len >= maxpending) {
          if (opts & OPT_POLL)
            err= adns_wait_poll(adns, &head->query, &answer, NULL);
@@ -183,7 +182,7 @@ static void proclog(FILE *inf, FILE *outf, int maxpending, int opts) {
        if (answer->status == adns_s_ok) {
          const char *addr;
          int ok = 0;
-         fprintf(outf, "%.*s", head->rest-head->start, head->start);
+         fprintf(outf, "%.*s", (int)(head->rest-head->start), head->start);
          while(answer->nrrs--) {
            addr= inet_ntoa(answer->rrs.inaddr[answer->nrrs]);
            ok |= !strncmp(addr, head->addr, strlen(addr));