bd911976d51f102751848568ccf56592fd5f6d77Tinderbox User * Copyright (C) 2001, 2004, 2007, 2009, 2014-2017 Internet Systems Consortium, Inc. ("ISC")
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews * This Source Code Form is subject to the terms of the Mozilla Public
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews * License, v. 2.0. If a copy of the MPL was not distributed with this
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews * file, You can obtain one at http://mozilla.org/MPL/2.0/.
08f860f800d32007a0c9bf456f6c35fbb2ecbc81Evan Hunt/* $Id: ntpaths.c,v 1.15 2009/07/14 22:54:57 each Exp $ */
e76d4c91bfadf823f04dcca1c1c5bcc14c67671dAndreas Gustafsson * This module fetches the required path information that is specific
72c0894efaecc71c53fcf0c6b47814a6589c1c61Danny Mayer * to NT systems which can have its configuration and system files
72c0894efaecc71c53fcf0c6b47814a6589c1c61Danny Mayer * almost anywhere. It can be used to override whatever the application
72c0894efaecc71c53fcf0c6b47814a6589c1c61Danny Mayer * had previously assigned to the pointer. Basic information about the
72c0894efaecc71c53fcf0c6b47814a6589c1c61Danny Mayer * file locations are stored in the registry.
72c0894efaecc71c53fcf0c6b47814a6589c1c61Danny Mayer * Module Variables
68c2ccc953059f389cefc0f8a5ce0f83be7458c9Danny Mayer if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, BIND_SUBKEY, 0, KEY_READ, &hKey)
68c2ccc953059f389cefc0f8a5ce0f83be7458c9Danny Mayer /* Get the named directory */
68c2ccc953059f389cefc0f8a5ce0f83be7458c9Danny Mayer if (RegQueryValueEx(hKey, "InstallDir", NULL, NULL,
68c2ccc953059f389cefc0f8a5ce0f83be7458c9Danny Mayer /* Use the System Directory as a default */
5a93d3be4e0c652f455066bb764416173a00c951Mark Andrews strlcpy(namedBase, systemDir, sizeof(namedBase));
5a93d3be4e0c652f455066bb764416173a00c951Mark Andrews strlcpy(lwresd_confFile, namedBase, sizeof(lwresd_confFile)) ;
5a93d3be4e0c652f455066bb764416173a00c951Mark Andrews strlcat(lwresd_defaultpidfile, "\\etc\\lwresd.pid",
5a93d3be4e0c652f455066bb764416173a00c951Mark Andrews strlcat(lwresd_resolvconfFile, "\\Drivers\\etc\\resolv.conf",
5a93d3be4e0c652f455066bb764416173a00c951Mark Andrews strlcpy(ns_confFile, namedBase, sizeof(ns_confFile));
5a93d3be4e0c652f455066bb764416173a00c951Mark Andrews strlcat(ns_confFile, "\\etc\\named.conf", sizeof(ns_confFile));
5a93d3be4e0c652f455066bb764416173a00c951Mark Andrews strlcpy(rndc_keyFile, namedBase, sizeof(rndc_keyFile));
5a93d3be4e0c652f455066bb764416173a00c951Mark Andrews strlcat(rndc_keyFile, "\\etc\\rndc.key", sizeof(rndc_keyFile));
5a93d3be4e0c652f455066bb764416173a00c951Mark Andrews strlcpy(session_keyFile, namedBase, sizeof(session_keyFile));
5a93d3be4e0c652f455066bb764416173a00c951Mark Andrews strlcat(session_keyFile, "\\etc\\session.key", sizeof(session_keyFile));
5a93d3be4e0c652f455066bb764416173a00c951Mark Andrews strlcpy(rndc_confFile, namedBase, sizeof(rndc_confFile));
5a93d3be4e0c652f455066bb764416173a00c951Mark Andrews strlcat(rndc_confFile, "\\etc\\rndc.conf", sizeof(rndc_confFile));
5a93d3be4e0c652f455066bb764416173a00c951Mark Andrews strlcpy(ns_defaultpidfile, namedBase, sizeof(ns_defaultpidfile));
5a93d3be4e0c652f455066bb764416173a00c951Mark Andrews strlcpy(ns_lockfile, namedBase, sizeof(ns_lockfile));
5a93d3be4e0c652f455066bb764416173a00c951Mark Andrews strlcat(ns_lockfile, "\\etc\\named.lock", sizeof(ns_lockfile));
5a93d3be4e0c652f455066bb764416173a00c951Mark Andrews strlcpy(local_state_dir, namedBase, sizeof(local_state_dir));
5a93d3be4e0c652f455066bb764416173a00c951Mark Andrews strlcat(local_state_dir, "\\bin", sizeof(local_state_dir));
5a93d3be4e0c652f455066bb764416173a00c951Mark Andrews strlcpy(sys_conf_dir, namedBase, sizeof(sys_conf_dir));
5a93d3be4e0c652f455066bb764416173a00c951Mark Andrews strlcat(sys_conf_dir, "\\etc", sizeof(sys_conf_dir));