chiark / gitweb /
src/: Fix internals to carry around address families.
[adns.git] / src / check.c
index 398c0917b08a26d233c1c3c33a7a8f37e3b7ac2e..44f52b909e31cd1792144dab8d3939c8556aa9ef 100644 (file)
@@ -3,12 +3,11 @@
  * - consistency checks
  */
 /*
- *  This file is
- *    Copyright (C) 1997-1999 Ian Jackson <ian@davenant.greenend.org.uk>
- *
- *  It is part of adns, which is
- *    Copyright (C) 1997-2000 Ian Jackson <ian@davenant.greenend.org.uk>
- *    Copyright (C) 1999-2000 Tony Finch <dot@dotat.at>
+ *  This file 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 program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
@@ -76,12 +75,19 @@ static void checkc_notcpbuf(adns_state ads) {
 }
 
 static void checkc_global(adns_state ads) {
+  const struct sortlist *sl;
   int i;
   
   assert(ads->udpsocket >= 0);
 
-  for (i=0; i<ads->nsortlist; i++)
-    assert(!(ads->sortlist[i].base.s_addr & ~ads->sortlist[i].mask.s_addr));
+  for (i=0; i<ads->nsortlist; i++) {
+    assert(ads->sortlist[i].af==AF_INET);
+    assert(!(ads->sortlist[i].base.v4.s_addr &
+            ~ads->sortlist[i].mask.v4.s_addr));
+    sl= &ads->sortlist[i];
+    assert(sl->af==AF_INET);
+    assert(!(sl->base.v4.s_addr & ~sl->mask.v4.s_addr));
+  }
 
   assert(ads->tcpserver >= 0 && ads->tcpserver < ads->nservers);