From: Razvan Becheriu Date: Tue, 16 Jun 2026 14:15:11 +0000 (+0300) Subject: [#4415] fixed indentation and typos X-Git-Tag: Kea-3.3.0~121 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=7dcf9d25a61227f0b7da1b25323313e87792c620;p=thirdparty%2Fkea.git [#4415] fixed indentation and typos --- diff --git a/ChangeLog b/ChangeLog index 2780b36f7a..15e5dd63c6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,5 @@ 2499. [func] razvan - Kea daemons now exit when a critical failure is detected when + Kea daemons now exit if a critical failure is detected when issuing "config-reload", "config-set" and "interface-add" commands. Changed database reconnect disabled and failed log messages from info to either ERROR or FATAL as diff --git a/src/bin/d2/tests/d2_http_command_unittest.cc b/src/bin/d2/tests/d2_http_command_unittest.cc index ccd9278812..f03f751899 100644 --- a/src/bin/d2/tests/d2_http_command_unittest.cc +++ b/src/bin/d2/tests/d2_http_command_unittest.cc @@ -2327,6 +2327,9 @@ TEST_F(HttpCtrlChannelD2Test, handleHttpToHttpsSwitch) { config_set_txt += d2_st.str(); config_set_txt += "}} \n"; + EXPECT_EQ(EXIT_SUCCESS, server_->getExitValue()); + EXPECT_FALSE(d2Controller()->getProcess()->shouldShutdown()); + // Send the config-set command. string response; sendHttpCommand(config_set_txt, response); @@ -2345,6 +2348,9 @@ TEST_F(HttpCtrlChannelD2Test, handleHttpToHttpsSwitch) { keys = d2_context->getKeys(); ASSERT_TRUE(keys); EXPECT_EQ(1U, keys->size()); + + EXPECT_EQ(EXIT_FAILURE, server_->getExitValue()); + EXPECT_TRUE(d2Controller()->getProcess()->shouldShutdown()); } // Verify that the "config-set" command will exit with an error @@ -2433,6 +2439,9 @@ TEST_F(HttpsCtrlChannelD2Test, handleHttpsToHttpSwitch) { config_set_txt += d2_cfg_txt; config_set_txt += "}} \n"; + EXPECT_EQ(EXIT_SUCCESS, server_->getExitValue()); + EXPECT_FALSE(d2Controller()->getProcess()->shouldShutdown()); + // Send the config-set command. string response; sendHttpCommand(config_set_txt, response); @@ -2452,6 +2461,9 @@ TEST_F(HttpsCtrlChannelD2Test, handleHttpsToHttpSwitch) { keys = d2_context->getKeys(); ASSERT_TRUE(keys); EXPECT_EQ(1U, keys->size()); + + EXPECT_EQ(EXIT_FAILURE, server_->getExitValue()); + EXPECT_TRUE(d2Controller()->getProcess()->shouldShutdown()); } } // end of anonymous namespace diff --git a/src/bin/dhcp4/ctrl_dhcp4_srv.cc b/src/bin/dhcp4/ctrl_dhcp4_srv.cc index c23c5dd32f..2644461a89 100644 --- a/src/bin/dhcp4/ctrl_dhcp4_srv.cc +++ b/src/bin/dhcp4/ctrl_dhcp4_srv.cc @@ -1853,7 +1853,7 @@ ControlledDhcpv4Srv::reclaimExpiredLeases(const size_t max_leases, } else { LOG_DEBUG(dhcp4_logger, DBG_DHCP4_BASIC, DHCP4_RECLAIM_EXPIRED_LEASES_SKIPPED) .arg(CfgMgr::instance().getCurrentCfg()-> - getCfgExpiration()->getReclaimTimerWaitTime()); + getCfgExpiration()->getReclaimTimerWaitTime()); } } catch (const std::exception& ex) { LOG_ERROR(dhcp4_logger, DHCP4_RECLAIM_EXPIRED_LEASES_FAIL) @@ -1896,19 +1896,19 @@ ControlledDhcpv4Srv::dbLostCallback(ReconnectCtlPtr db_reconnect_ctl) { if (!db_reconnect_ctl->retriesLeft() || !db_reconnect_ctl->retryInterval()) { if (db_reconnect_ctl->exitOnFailure()) { - LOG_FATAL(dhcp4_logger, DHCP4_FATAL_DB_RECONNECT_DISABLED) - .arg(db_reconnect_ctl->retriesLeft()) - .arg(db_reconnect_ctl->retryInterval()) - .arg(db_reconnect_ctl->id()) - .arg(db_reconnect_ctl->timerName()); + LOG_FATAL(dhcp4_logger, DHCP4_FATAL_DB_RECONNECT_DISABLED) + .arg(db_reconnect_ctl->retriesLeft()) + .arg(db_reconnect_ctl->retryInterval()) + .arg(db_reconnect_ctl->id()) + .arg(db_reconnect_ctl->timerName()); shutdownServer(EXIT_FAILURE); } else { - LOG_ERROR(dhcp4_logger, DHCP4_DB_RECONNECT_DISABLED) - .arg(db_reconnect_ctl->retriesLeft()) - .arg(db_reconnect_ctl->retryInterval()) - .arg(db_reconnect_ctl->id()) - .arg(db_reconnect_ctl->timerName()); - } + LOG_ERROR(dhcp4_logger, DHCP4_DB_RECONNECT_DISABLED) + .arg(db_reconnect_ctl->retriesLeft()) + .arg(db_reconnect_ctl->retryInterval()) + .arg(db_reconnect_ctl->id()) + .arg(db_reconnect_ctl->timerName()); + } return (false); } @@ -1947,16 +1947,16 @@ ControlledDhcpv4Srv::dbFailedCallback(ReconnectCtlPtr db_reconnect_ctl) { } if (db_reconnect_ctl->exitOnFailure()) { - LOG_FATAL(dhcp4_logger, DHCP4_FATAL_DB_RECONNECT_FAILED) - .arg(db_reconnect_ctl->maxRetries()) - .arg(db_reconnect_ctl->id()) - .arg(db_reconnect_ctl->timerName()); + LOG_FATAL(dhcp4_logger, DHCP4_FATAL_DB_RECONNECT_FAILED) + .arg(db_reconnect_ctl->maxRetries()) + .arg(db_reconnect_ctl->id()) + .arg(db_reconnect_ctl->timerName()); shutdownServer(EXIT_FAILURE); } else { - LOG_ERROR(dhcp4_logger, DHCP4_DB_RECONNECT_FAILED) - .arg(db_reconnect_ctl->maxRetries()) - .arg(db_reconnect_ctl->id()) - .arg(db_reconnect_ctl->timerName()); + LOG_ERROR(dhcp4_logger, DHCP4_DB_RECONNECT_FAILED) + .arg(db_reconnect_ctl->maxRetries()) + .arg(db_reconnect_ctl->id()) + .arg(db_reconnect_ctl->timerName()); } return (true); diff --git a/src/bin/dhcp4/dhcp4_messages.mes b/src/bin/dhcp4/dhcp4_messages.mes index 359d8d9545..11d5f91781 100644 --- a/src/bin/dhcp4/dhcp4_messages.mes +++ b/src/bin/dhcp4/dhcp4_messages.mes @@ -425,7 +425,7 @@ information. % DHCP4_FATAL_DB_RECONNECT_DISABLED database reconnect is disabled: retries left: %1, reconnect wait time: %2, manager ID: %3, timer: %4 This is an error message indicating that connectivity to either the lease or host database or both was lost and that automatic reconnect is -ot enabled. This causes the server to shut down as specified in the +not enabled. This causes the server to shut down as specified in the configuration. Loss of connectivity is typically a network or database server issue. diff --git a/src/bin/dhcp6/ctrl_dhcp6_srv.cc b/src/bin/dhcp6/ctrl_dhcp6_srv.cc index 3a6b9d93a6..564ec4b7c6 100644 --- a/src/bin/dhcp6/ctrl_dhcp6_srv.cc +++ b/src/bin/dhcp6/ctrl_dhcp6_srv.cc @@ -1744,6 +1744,7 @@ ControlledDhcpv6Srv::dbFailedCallback(ReconnectCtlPtr db_reconnect_ctl) { .arg(db_reconnect_ctl->id()) .arg(db_reconnect_ctl->timerName()); } + return (true); } diff --git a/src/lib/process/d_controller.cc b/src/lib/process/d_controller.cc index dd06c9659d..d5cc3e2684 100644 --- a/src/lib/process/d_controller.cc +++ b/src/lib/process/d_controller.cc @@ -684,6 +684,11 @@ DControllerBase::configSetHandler(const std::string&, ConstElementPtr args) { ConstElementPtr answer = updateConfig(module_config); int rcode = 0; parseAnswer(rcode, answer); + + if (rcode == CONTROL_RESULT_FATAL_ERROR) { + setExitValue(EXIT_FAILURE); + shutdownProcess(ElementPtr()); + } // In all cases the right logging configuration is in the context. process_->getCfgMgr()->getContext()->applyLoggingCfg(); return (answer);