Don't allow is_managed without any valid admin_keys

This commit is contained in:
Chris Danis 2025-03-13 11:32:02 -04:00
parent 4d34b3d73c
commit 36672943df

View File

@ -637,6 +637,14 @@ void AdminModule::handleSetConfig(const meshtastic_Config &c)
#if !MESHTASTIC_EXCLUDE_PKI #if !MESHTASTIC_EXCLUDE_PKI
crypto->setDHPrivateKey(config.security.private_key.bytes); crypto->setDHPrivateKey(config.security.private_key.bytes);
#endif #endif
if (config.security.is_managed && !(config.security.admin_key[0].size == 32 || config.security.admin_key[1].size == 32 ||
config.security.admin_key[2].size == 32)) {
config.security.is_managed = false;
const char *warning = "You must provide at least one admin public key to enable managed mode";
LOG_WARN(warning);
sendWarning(warning);
}
if (config.security.debug_log_api_enabled == c.payload_variant.security.debug_log_api_enabled && if (config.security.debug_log_api_enabled == c.payload_variant.security.debug_log_api_enabled &&
config.security.serial_enabled == c.payload_variant.security.serial_enabled) config.security.serial_enabled == c.payload_variant.security.serial_enabled)
requiresReboot = false; requiresReboot = false;