#### Pre-Submission Checklist - [x] Commit message has the format required by CONTRIBUTING guide - [x] Commits are split per component (core, individual modules, libs, utils, ...) - [x] Each component has a single commit (if not, squash them into one commit) - [x] No commits to README files for modules (changes must be done to docbook files in `doc/` subfolder, the README file is autogenerated)
#### Type Of Change - [ ] Small bug fix (non-breaking change which fixes an issue) - [x] New feature (non-breaking change which adds new functionality) - [ ] Breaking change (fix or feature that would change existing functionality)
#### Checklist: - [ ] PR should be backported to stable branches - [x] Tested changes locally - [ ] Related to issue #XXXX (replace XXXX with an open issue number)
#### Description Added distance function which allows to calculate the distance between the geocoordinates of the the IP-address passed as incoming parameter (coordinates for the IP are determined inside the function) and the geocoordinates passed as parameters for the function. Functions can be used to evaluate the RTPengine server closest to a user. You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/3506
-- Commit Summary --
* geoip2: added distance function
-- File Changes --
M src/modules/geoip2/doc/geoip2_admin.xml (23) M src/modules/geoip2/geoip2_mod.c (154) M src/modules/geoip2/geoip2_pv.c (8) M src/modules/geoip2/geoip2_pv.h (2)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/3506.patch https://github.com/kamailio/kamailio/pull/3506.diff
This function does not added to `geoip` module because: 1) `geoip` does not supports IPv6 addresses; 2) after IPv6 support was added to `geoip` found two databases (IPv4 and IPv6) cannot be added as module config parameters; 3) ASAN reported a memory leak.
Think `geoip2` module prefered to extend then `geoip`.
@sergey-safarov pushed 1 commit.
36025f8762a6eb7e55218f5fdd7d2c5ac51296b8 geoip2: added distance function
Merged #3506 into master.
Note that the config function was renamed to geoip2_distance() to be coherent with the other exported function and reflect the module name.