From: Peter van Dijk Date: Thu, 3 Dec 2020 08:57:20 +0000 (+0100) Subject: auth geoip: set netmask on all string formatting types X-Git-Tag: rec-4.5.0-alpha1~88^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=refs%2Fpull%2F9813%2Fhead;p=thirdparty%2Fpdns.git auth geoip: set netmask on all string formatting types (via Kees Monshouwer) --- diff --git a/modules/geoipbackend/geoipbackend.cc b/modules/geoipbackend/geoipbackend.cc index eaa99f3c32..5aaa06b47a 100644 --- a/modules/geoipbackend/geoipbackend.cc +++ b/modules/geoipbackend/geoipbackend.cc @@ -635,6 +635,7 @@ string GeoIPBackend::format2str(string sformat, const Netmask& addr, GeoIPNetmas double s1, s2; if (!queryGeoLocation(addr, gl, lat, lon, alt, prec)) { rep = ""; + tmp_gl.netmask = (addr.isIPv6()?128:32); } else { ns = (lat>0) ? 'N' : 'S'; ew = (lon>0) ? 'E' : 'W'; @@ -660,6 +661,7 @@ string GeoIPBackend::format2str(string sformat, const Netmask& addr, GeoIPNetmas } else if (!sformat.compare(cur,4,"%lat")) { if (!queryGeoLocation(addr, gl, lat, lon, alt, prec)) { rep = ""; + tmp_gl.netmask = (addr.isIPv6()?128:32); } else { rep = str(boost::format("%lf") % lat); } @@ -667,6 +669,7 @@ string GeoIPBackend::format2str(string sformat, const Netmask& addr, GeoIPNetmas } else if (!sformat.compare(cur,4,"%lon")) { if (!queryGeoLocation(addr, gl, lat, lon, alt, prec)) { rep = ""; + tmp_gl.netmask = (addr.isIPv6()?128:32); } else { rep = str(boost::format("%lf") % lon); }