From 2f1352416400280550f3b1a2fe41e842536b3580 Mon Sep 17 00:00:00 2001 From: Evan Hunt Date: Tue, 5 Feb 2019 14:13:04 -0800 Subject: [PATCH] initalize a named_g_defaultbindkeys variable --- bin/named/include/named/globals.h | 3 ++- bin/named/server.c | 3 ++- bin/named/win32/os.c | 1 + lib/isc/win32/include/isc/ntpaths.h | 3 ++- lib/isc/win32/ntpaths.c | 7 +++++++ 5 files changed, 14 insertions(+), 3 deletions(-) diff --git a/bin/named/include/named/globals.h b/bin/named/include/named/globals.h index d8d2f2a78e..c86f7e1eab 100644 --- a/bin/named/include/named/globals.h +++ b/bin/named/include/named/globals.h @@ -90,7 +90,8 @@ EXTERN cfg_obj_t * named_g_config INIT(NULL); EXTERN const cfg_obj_t * named_g_defaults INIT(NULL); EXTERN const char * named_g_conffile INIT(NAMED_SYSCONFDIR "/named.conf"); -EXTERN cfg_obj_t * named_g_bindkeys INIT(NULL); +EXTERN cfg_obj_t * named_g_defaultbindkeys INIT(NAMED_SYSCONFDIR + "/bind.keys"); EXTERN const char * named_g_keyfile INIT(NAMED_SYSCONFDIR "/rndc.key"); diff --git a/bin/named/server.c b/bin/named/server.c index 1bd098a228..2f941ce4f8 100644 --- a/bin/named/server.c +++ b/bin/named/server.c @@ -9714,7 +9714,8 @@ named_server_create(isc_mem_t *mctx, named_server_t **serverp) { CHECKFATAL(server->statsfile == NULL ? ISC_R_NOMEMORY : ISC_R_SUCCESS, "isc_mem_strdup"); - server->bindkeysfile = isc_mem_strdup(server->mctx, "bind.keys"); + server->bindkeysfile = isc_mem_strdup(server->mctx, + named_g_defaultbindkeys); CHECKFATAL(server->bindkeysfile == NULL ? ISC_R_NOMEMORY : ISC_R_SUCCESS, "isc_mem_strdup"); diff --git a/bin/named/win32/os.c b/bin/named/win32/os.c index 813cc6ce27..99bdaf61c2 100644 --- a/bin/named/win32/os.c +++ b/bin/named/win32/os.c @@ -59,6 +59,7 @@ named_paths_init(void) { named_g_defaultlockfile = isc_ntpaths_get(NAMED_LOCK_PATH); named_g_keyfile = isc_ntpaths_get(RNDC_KEY_PATH); named_g_defaultsessionkeyfile = isc_ntpaths_get(SESSION_KEY_PATH); + named_g_defaultbindkeys = isc_ntpaths_get(BIND_KEYS_PATH); named_g_defaultdnstap = NULL; Initialized = TRUE; diff --git a/lib/isc/win32/include/isc/ntpaths.h b/lib/isc/win32/include/isc/ntpaths.h index d781d990cf..acadc36a72 100644 --- a/lib/isc/win32/include/isc/ntpaths.h +++ b/lib/isc/win32/include/isc/ntpaths.h @@ -33,7 +33,8 @@ enum NtPaths { LOCAL_STATE_DIR, SYS_CONF_DIR, RNDC_KEY_PATH, - SESSION_KEY_PATH + SESSION_KEY_PATH, + BIND_KEYS_PATH }; /* diff --git a/lib/isc/win32/ntpaths.c b/lib/isc/win32/ntpaths.c index 69abaaad5c..6e9b918435 100644 --- a/lib/isc/win32/ntpaths.c +++ b/lib/isc/win32/ntpaths.c @@ -39,6 +39,7 @@ static char sys_conf_dir[MAX_PATH]; static char rndc_keyFile[MAX_PATH]; static char session_keyFile[MAX_PATH]; static char resolv_confFile[MAX_PATH]; +static char bind_keysFile[MAX_PATH]; static DWORD baseLen = MAX_PATH; static BOOL Initialized = FALSE; @@ -98,6 +99,9 @@ isc_ntpaths_init(void) { strlcat(resolv_confFile, "\\etc\\resolv.conf", sizeof(resolv_confFile)); + strlcpy(bind_keysFile, namedBase, sizeof(bind_keysFile)); + strlcat(bind_keysFile, "\\etc\\bind.keys", sizeof(bind_keysFile)); + Initialized = TRUE; } @@ -134,6 +138,9 @@ isc_ntpaths_get(int ind) { case SESSION_KEY_PATH: return (session_keyFile); break; + case BIND_KEYS_PATH: + return (bind_keysFile); + break; default: return (NULL); }