Cleanup logging, add stats for strlists.
[apps/pfixtools.git] / postlicyd / strlist.c
index 2349139..07b358e 100644 (file)
@@ -119,6 +119,7 @@ static trie_t *strlist_create(const char *file, bool reverse, bool lock)
     file_map_t map;
     const char *p, *end;
     char line[BUFSIZ];
+    uint32_t count = 0;
 
     if (!file_map_open(&map, file, false)) {
         return NULL;
@@ -156,12 +157,14 @@ static trie_t *strlist_create(const char *file, bool reverse, bool lock)
             if (p < eos) {
                 strlist_copy(line, p, eos - p, reverse);
                 trie_insert(db, line);
+                ++count;
             }
         }
         p = eol + 1;
     }
     file_map_close(&map);
     trie_compile(db, lock);
+    info("%s loaded, %u entries", file, count);
     return db;
 }
 
@@ -241,6 +244,7 @@ static bool strlist_create_from_rhbl(const char *file, bool lock,
         trie_delete(&domains);
         *pdomains = NULL;
     }
+    info("rhbl %s loaded, %u hosts, %u domains", file, host_count, domain_count);
     return hosts != NULL || domains != NULL;
 
 }
@@ -522,7 +526,7 @@ static void strlist_filter_async(rbl_result_t *result, void *arg)
     --async->awaited;
 
     debug("got asynchronous request result for filter %s, rbl %d, still awaiting %d answers",
-          filter->name, result - array_ptr(async->results, 0), async->awaited);
+          filter->name, (int)(result - array_ptr(async->results, 0)), async->awaited);
 
     if (async->awaited == 0) {
         filter_result_t res = HTK_FAIL;
@@ -621,7 +625,9 @@ static filter_result_t strlist_filter(const filter_t *filter, const query_t *que
         for (uint32_t i = 0 ; len > 0 && i < config->host_offsets.len ; ++i) { \
             const char *rbl = array_ptr(config->hosts,                         \
                                         array_elt(config->host_offsets, i));   \
-            if (rhbl_check(normal, rbl, array_ptr(async->results, result_pos), \
+            debug("running check of field %s (%s) against %s", STR(Field),     \
+                  normal, rbl);                                                \
+            if (rhbl_check(rbl, normal, array_ptr(async->results, result_pos), \
                            strlist_filter_async, context)) {                   \
                 async->error = false;                                          \
                 ++async->awaited;                                              \