chiark / gitweb /
src/addrfam.c, src/...: Abstract out address-family-specific details.
[adns.git] / src / check.c
index 398c0917b08a26d233c1c3c33a7a8f37e3b7ac2e..3972ebef153c97f4449c8ea0269637596488f776 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,15 @@ 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++) {
+    sl= &ads->sortlist[i];
+    assert(adns__addr_match_p(sl->af,&sl->base, sl->af,&sl->base,&sl->mask));
+  }
 
   assert(ads->tcpserver >= 0 && ads->tcpserver < ads->nservers);