* - 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-1999 Ian Jackson <ian@davenant.greenend.org.uk>
- * Copyright (C) 1999 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
adns__consistency(ads,qu,cc_user);
}
-#define DLIST_CHECK(list, nodevar, part, body) \
- if ((list).head) { \
- assert(! (list).head->part back); \
- for ((nodevar)= (list).head; (nodevar); (nodevar)= (nodevar)->part next) { \
- assert((nodevar)->part next \
- ? (nodevar) == (nodevar)->part next->part back \
- : (nodevar) == (list).tail); \
- body \
- } \
+#define DLIST_CHECK(list, nodevar, part, body) \
+ if ((list).head) { \
+ assert(! (list).head->part back); \
+ for ((nodevar)= (list).head; \
+ (nodevar); \
+ (nodevar)= (nodevar)->part next) { \
+ assert((nodevar)->part next \
+ ? (nodevar) == (nodevar)->part next->part back \
+ : (nodevar) == (list).tail); \
+ body \
+ } \
}
-#define DLIST_ASSERTON(node, nodevar, list, part) \
- do { \
- for ((nodevar)= (list).head; \
- (nodevar) != (node); \
- (nodevar)= (nodevar)->part next) { \
- assert((nodevar)); \
- } \
+#define DLIST_ASSERTON(node, nodevar, list, part) \
+ do { \
+ for ((nodevar)= (list).head; \
+ (nodevar) != (node); \
+ (nodevar)= (nodevar)->part next) { \
+ assert((nodevar)); \
+ } \
} while(0)
static void checkc_query_alloc(adns_state ads, adns_query qu) {
}
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);