From: Mark Andrews Date: Tue, 5 Nov 2019 01:56:58 +0000 (+1100) Subject: Have 'named -V' report geoip-directory X-Git-Tag: v9.15.6~34^2~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2eaa75c3801252e6dd7a40dd87618bd07a915e20;p=thirdparty%2Fbind9.git Have 'named -V' report geoip-directory --- diff --git a/bin/named/main.c b/bin/named/main.c index 726a81d825e..909b3ad52d4 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