aboutsummaryrefslogtreecommitdiffstats
path: root/sharkd.c
diff options
context:
space:
mode:
authorJakub Zawadzki <darkjames-ws@darkjames.pl>2018-05-04 20:38:19 +0200
committerJakub Zawadzki <darkjames-ws@darkjames.pl>2018-05-06 09:22:25 +0000
commit5cdff2610799c8f02f671d1aa7d4ec481d9139be (patch)
tree871ec4a55fb9ca0411f479cf80f6177c3a31931d /sharkd.c
parenta834d3794d51253df92db196b61ab59b608e0b87 (diff)
sharkd: support for MaxMindDB.
Call maxmind_db_lookup_process() [via host_name_lookup_process()] before processing request. It's still buggy, webshark needs a refresh to show endpoint or conversation ipmap, but it's better than nothing. It seems to need refresh, cause maxmind_db_lookup_ipv[46] works only for cached entries. Also cause mmdbresolve is pipe-based, every sharkd need to have it own mmdbresolve process. Change-Id: I3d588d1fa9e9ba645cc3d0bff3d276b202159d21 Reviewed-on: https://code.wireshark.org/review/27335 Petri-Dish: Jakub Zawadzki <darkjames-ws@darkjames.pl> Tested-by: Petri Dish Buildbot Reviewed-by: Jakub Zawadzki <darkjames-ws@darkjames.pl>
Diffstat (limited to 'sharkd.c')
-rw-r--r--sharkd.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/sharkd.c b/sharkd.c
index 0070bcbc70..0b61074c8a 100644
--- a/sharkd.c
+++ b/sharkd.c
@@ -52,6 +52,7 @@
#include "epan/register.h"
#include <epan/epan_dissect.h>
#include <epan/tap.h>
+#include <epan/uat-int.h>
#include <codecs/codecs.h>
@@ -195,6 +196,12 @@ main(int argc, char *argv[])
/* Build the column format array */
build_column_format_array(&cfile.cinfo, prefs_p->num_cols, TRUE);
+#ifdef HAVE_MAXMINDDB
+ /* mmdbresolve is started from mmdb_resolve_start(), which is called from epan_load_settings via: read_prefs -> (...) uat_load_all -> maxmind_db_post_update_cb.
+ * Need to stop it, otherwise all sharkd will have same mmdbresolve process, including pipe descriptors to read and write. */
+ uat_clear(uat_get_table_by_name("MaxMind Database Paths"));
+#endif
+
ret = sharkd_loop();
clean_exit:
col_cleanup(&cfile.cinfo);