2
0
mirror of https://gitlab.isc.org/isc-projects/bind9 synced 2025-08-30 05:57:52 +00:00

Merge branch 'aram/fix-lock-file-option-and--X-argument-issues' into 'main'

Fix assertion failure when using -X none and lock-file in configuration

See merge request isc-projects/bind9!8432
This commit is contained in:
Arаm Sаrgsyаn 2023-10-26 13:11:30 +00:00
commit c70e9f0fef

View File

@ -8151,8 +8151,8 @@ check_lockfile(named_server_t *server, const cfg_obj_t *config,
(void)named_config_get(maps, "lock-file", &obj);
if (!first_time) {
if (obj != NULL && !cfg_obj_isstring(obj) &&
server->lockfile != NULL &&
if (obj != NULL && cfg_obj_isstring(obj) &&
server->lockfile != NULL && !named_g_forcelock &&
strcmp(cfg_obj_asstring(obj), server->lockfile) != 0)
{
isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL,
@ -8166,27 +8166,24 @@ check_lockfile(named_server_t *server, const cfg_obj_t *config,
}
if (obj != NULL) {
if (cfg_obj_isvoid(obj)) {
isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL,
NAMED_LOGMODULE_SERVER, ISC_LOG_DEBUG(1),
"skipping lock-file check ");
return (ISC_R_SUCCESS);
} else if (named_g_forcelock) {
if (named_g_forcelock) {
isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL,
NAMED_LOGMODULE_SERVER, ISC_LOG_WARNING,
"'lock-file' has no effect "
"because the server was run with -X");
server->lockfile = isc_mem_strdup(
server->mctx, named_g_defaultlockfile);
} else {
if (named_g_defaultlockfile != NULL) {
server->lockfile = isc_mem_strdup(
server->mctx, named_g_defaultlockfile);
}
} else if (cfg_obj_isvoid(obj)) {
isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL,
NAMED_LOGMODULE_SERVER, ISC_LOG_DEBUG(1),
"skipping lock-file check");
} else if (cfg_obj_isstring(obj)) {
filename = cfg_obj_asstring(obj);
server->lockfile = isc_mem_strdup(server->mctx,
filename);
}
if (server->lockfile == NULL) {
return (ISC_R_NOMEMORY);
}
} else if (named_g_forcelock && named_g_defaultlockfile != NULL) {
server->lockfile = isc_mem_strdup(server->mctx,
named_g_defaultlockfile);