aboutsummaryrefslogtreecommitdiffstats
path: root/epan/maxmind_db.h
AgeCommit message (Collapse)AuthorFilesLines
2023-10-31wsutil: Consolidate IP address codeJoão Valverde1-2/+1
Consolidate code to handle IP addresses in inet_addr.[ch].
2023-04-07MaxMindDB: Move pref to Name Resolution prefsJohn Thacker1-0/+2
Move MaxMind lookups to a global Name Resolution preference. That's a bit of a misnomer (it's not name resolution, but it is using external sources of data to update information about a network object), but the MaxMind DB path location is already there. This means that MaxMind lookups can be disabled with the '-n' option, and enabled with a 'g' for the '-N' option. This is significant for tshark, because MaxMind lookups are now synchronous. Disabling the new global preference also keeps the Endpoints window from doing MaxMind lookups; currently, even if the IPv4 and IPv6 GeoIP prefs are disabled the data is still looked up and inserted in the Endpoints window. Fix #14692
2021-11-29Add files with WS_DLL_PUBLIC to DoxygenMoshe Kaplan1-1/+1
Add @file markers for most files that contain functions exported with WS_DLL_PUBLIC so that Doxygen will generate documentation for them.
2021-04-02maxmind: add optional synchronous lookupsDavid Perry1-0/+12
When tshark enables synchronous resolution of IP addresses to names, forces calls to maxmind_db_lookup_ipv4()/_ipv6() to block-wait for the maxmind response. Proposed fix for #14691.
2021-03-16Move more headers outside extern "C".Guy Harris1-4/+4
If a header declares a function, or anything else requiring the extern "C" decoration, have it wrap the declaration itself; don't rely on the header itself being included inside extern "C".
2019-02-16Re-implement "Map" feature for EndpointsPeter Wu1-0/+10
This feature was removed in v2.5.1rc0-427-gf529ab5d0a, anticipating that MaxMind would remove support for it in 2019. They have however changed their mind and maintained latitude and longitude information. They recommend displaying an accuracy radius, but the reported values are 50, 100, 200 and 1000km. When implemented literally, a marker in Ireland would cover the whole island plus mainland, so I have instead opted to use a fixed radius of 1km at deeper zoom levels. The old ipmap.html file was outdated and had broken tiles, I rewrote a new one from scratch using the light-weight Leaflet library combined with tiles from OpenStreetMap. This is more mobile-friendly and secure (https, SRI). To improve handling of nearby or overlapping nodes, clustering is used (individual nodes can still be inspected). Browser compatibility results: IE8 is unusable, IE9 partially works (tooltips sometimes disappear and the cluster radius control is gone), IE11 works. Of course Firefox 65 and Chromium 72 have no issues. The map popup description in the generated GeoJSON structure is now split in several properties, allowing presentation to be handled by the HTML page instead of the C code. Bug: 14693 Change-Id: If2ec9c518f7723ac0ab27b6272463356875a0ff2 Reviewed-on: https://code.wireshark.org/review/31952 Petri-Dish: Peter Wu <peter@lekensteyn.nl> Tested-by: Petri Dish Buildbot Reviewed-by: Gerald Combs <gerald@wireshark.org> Reviewed-by: Peter Wu <peter@lekensteyn.nl>
2019-02-11Change maxmind_db_lookup_ipv4 to look more like maxmind_db_lookup_ipv6Peter Wu1-2/+3
Both functions accept an address in network byte order, but maxmind_db_lookup_ipv4 does not accept a pointer. Add an indirection and remove unnecessary memcpy calls. This removes some confusion for me. Change-Id: I291c54c8c55bc8048ca011b84918c8a5d3ed1398 Reviewed-on: https://code.wireshark.org/review/31951 Petri-Dish: Peter Wu <peter@lekensteyn.nl> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-03-15MaxMind DB: Shut down our mmdbresolve process.Gerald Combs1-2/+2
Call maxmind_db_pref_cleanup from prefs_cleanup. Change-Id: I0c48e1015a38ab198beea168e12b646336ffe115 Reviewed-on: https://code.wireshark.org/review/26485 Petri-Dish: Gerald Combs <gerald@wireshark.org> Tested-by: Petri Dish Buildbot Reviewed-by: Gerald Combs <gerald@wireshark.org>
2018-03-11maxmind: use ws_strtou32 to convert AS numbers.Dario Lombardo1-1/+1
Change-Id: I0578f8a674feee6e4763d5481a2285b7b2a054dc Reviewed-on: https://code.wireshark.org/review/26416 Petri-Dish: Dario Lombardo <lomato@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Gerald Combs <gerald@wireshark.org>
2018-03-10MaxMindDB: Add country ISO codes.Gerald Combs1-0/+1
Add and dissect country ISO codes. Prefer them when printing summary information. Change-Id: I3ce2bde88fa5ca2604c8bb745c42f239660252ff Reviewed-on: https://code.wireshark.org/review/26415 Petri-Dish: Gerald Combs <gerald@wireshark.org> Tested-by: Petri Dish Buildbot Reviewed-by: Gerald Combs <gerald@wireshark.org>
2018-03-06Transition from GeoIP Legacy to MaxMindDB.Gerald Combs1-0/+93
MaxMind is discontinuing its legacy databases in April in favor of GeoIP2, which use a newer database format (MaxMind DB). The reference C library (libmaxminddb) is available under the Apache 2.0 license which isn't quite compatible with ours. Add mmdbresolve, a utility that reads IPv4 and IPv6 addresses on stdin and prints resolved information on stdout. Place it under a liberal license (MIT) so that we can keep libmaxminddb at arm's length. Add epan/maxmind_db.[ch], which spawns mmdbresolve and communicates with it via stdio. Migrate the preferences and documentation to MaxMindDB. Change the IPv4 and IPv6 asnum fields to FT_UINT32s. Change the geographic coordinate fields to FT_DOUBLEs. Bug: 10658 Change-Id: I24aeed637bea1b41d173270bda413af230f4425f Reviewed-on: https://code.wireshark.org/review/26214 Petri-Dish: Gerald Combs <gerald@wireshark.org> Tested-by: Petri Dish Buildbot Reviewed-by: Gerald Combs <gerald@wireshark.org>