]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
initalize a named_g_defaultbindkeys variable
authorEvan Hunt <each@isc.org>
Tue, 5 Feb 2019 22:13:04 +0000 (14:13 -0800)
committerMark Andrews <marka@isc.org>
Wed, 6 Feb 2019 02:18:00 +0000 (13:18 +1100)
bin/named/include/named/globals.h
bin/named/server.c
bin/named/win32/os.c
lib/isc/win32/include/isc/ntpaths.h
lib/isc/win32/ntpaths.c

index d8d2f2a78eb401cc7b342204423565b8d0777d50..c86f7e1eab3b7faef610861d46e27407f6fed6cf 100644 (file)
@@ -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");
 
index 1bd098a22811131cff9a7f431ded3f2908f28d11..2f941ce4f899904fc518d5fd5f8e48d6a60ca2a1 100644 (file)
@@ -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");
index 813cc6ce272b5255670568257d8e3a2261cfe92a..99bdaf61c2e5cec4ff1e597d9e07c6df5e78e762 100644 (file)
@@ -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;
index d781d990cf9ee3b43ca48f2693f2a231820ef57c..acadc36a728edfed398ff4185cd66a6119a156ab 100644 (file)
@@ -33,7 +33,8 @@ enum NtPaths {
        LOCAL_STATE_DIR,
        SYS_CONF_DIR,
        RNDC_KEY_PATH,
-       SESSION_KEY_PATH
+       SESSION_KEY_PATH,
+       BIND_KEYS_PATH
 };
 
 /*
index 69abaaad5c747e5be4ad103c1a607252aaa23f44..6e9b9184354c2bd9c1e65cdcd2e7f2829c8011e1 100644 (file)
@@ -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);
        }