diff --git a/CHANGES b/CHANGES index aae5dd7c59..fcfdeee328 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,7 @@ +5313. [bug] The default GeoIP2 database location did not match + the ARM. 'named -V' now reports the default + location. [GL #1301] + 5312. [bug] Do not flush the cache for `rndc validation status`. Thanks to Tony Finch. [GL !2462] diff --git a/bin/named/config.c b/bin/named/config.c index 17141ea16a..6ea56d8881 100644 --- a/bin/named/config.c +++ b/bin/named/config.c @@ -65,7 +65,7 @@ options {\n\ " files unlimited;\n" #endif #if defined(HAVE_GEOIP2) && !defined(WIN32) -" geoip-directory \"" MAXMINDDB_PREFIX "/share/GeoIP2\";\n" +" geoip-directory \"" MAXMINDDB_PREFIX "/share/GeoIP\";\n" #elif defined(HAVE_GEOIP2) " geoip-directory \".\";\n" #endif diff --git a/bin/named/main.c b/bin/named/main.c index 726a81d825..909b3ad52d 100644 --- a/bin/named/main.c +++ b/bin/named/main.c @@ -67,6 +67,7 @@ #include #include +#include #include #include #include /* Explicit, though named/log.h includes it. */ @@ -483,6 +484,12 @@ set_flags(const char *arg, struct flag_def *defs, unsigned int *ret) { static void printversion(bool verbose) { char rndcconf[PATH_MAX], *dot = NULL; +#if defined(HAVE_GEOIP2) + isc_mem_t *mctx = NULL; + cfg_parser_t *parser = NULL; + cfg_obj_t *config = NULL; + const cfg_obj_t *defaults = NULL, *obj = NULL; +#endif printf("%s %s%s%s \n", named_g_product, named_g_version, @@ -569,7 +576,20 @@ OPENSSL_VERSION_NUMBER >= 0x10100000L /* 1.1.0 or higher */ printf(" nsupdate session key: %s\n", named_g_defaultsessionkeyfile); printf(" named PID file: %s\n", named_g_defaultpidfile); printf(" named lock file: %s\n", named_g_defaultlockfile); - +#if defined(HAVE_GEOIP2) +#define RTC(x) RUNTIME_CHECK((x) == ISC_R_SUCCESS) + isc_mem_create(&mctx); + RTC(cfg_parser_create(mctx, named_g_lctx, &parser)); + RTC(named_config_parsedefaults(parser, &config)); + RTC(cfg_map_get(config, "options", &defaults)); + RTC(cfg_map_get(defaults, "geoip-directory", &obj)); + if (cfg_obj_isstring(obj)) { + printf(" geoip-directory: %s\n", cfg_obj_asstring(obj)); + } + cfg_obj_destroy(parser, &config); + cfg_parser_destroy(&parser); + isc_mem_detach(&mctx); +#endif /* HAVE_GEOIP2 */ } static void diff --git a/configure b/configure index 767c7c2d12..cd2b3540d5 100755 --- a/configure +++ b/configure @@ -14760,7 +14760,7 @@ fi ;; #( MAXMINDDB_CFLAGS="-I$with_maxminddb/include" - MAXMINDDB_LIBS="-L$with_maxminddb/libs" + MAXMINDDB_LIBS="-L$with_maxminddb/lib" CFLAGS="$CFLAGS $MAXMINDDB_CFLAGS" LDFLAGS="$LDFLAGS $MAXMINDDB_LIBS" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing MMDB_open" >&5 diff --git a/configure.ac b/configure.ac index 17b09511b7..385d715182 100644 --- a/configure.ac +++ b/configure.ac @@ -563,7 +563,7 @@ AS_IF([test "$enable_geoip" = "yes"], [ # default AX_SAVE_FLAGS([maxminddb]) MAXMINDDB_CFLAGS="-I$with_maxminddb/include" - MAXMINDDB_LIBS="-L$with_maxminddb/libs" + MAXMINDDB_LIBS="-L$with_maxminddb/lib" CFLAGS="$CFLAGS $MAXMINDDB_CFLAGS" LDFLAGS="$LDFLAGS $MAXMINDDB_LIBS" AC_SEARCH_LIBS([MMDB_open], [maxminddb],