From 4aa639cf62a86636dc1e0bb4fbe7a32ab5ade8ef Mon Sep 17 00:00:00 2001 From: Bryan Roe Date: Fri, 9 Apr 2021 10:18:02 -0700 Subject: [PATCH] Updated logging, so it does not log that a certificate as not found, on first load. --- meshcore/agentcore.c | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/meshcore/agentcore.c b/meshcore/agentcore.c index e6bdad3..a82d4f7 100644 --- a/meshcore/agentcore.c +++ b/meshcore/agentcore.c @@ -2155,6 +2155,11 @@ int agent_GenerateCertificates(MeshAgentHostContainer *agent, char* certfile) ILibRemoteLogging_printf(ILibChainGetLogger(agent->chain), ILibRemoteLogging_Modules_Agent_GuardPost, ILibRemoteLogging_Flags_VerbosityLevel_1, "...READY"); return 0; } + +void agent_LoadCertificates_DB_Check(ILibSimpleDataStore sender, char* Key, int KeyLen, void *user) +{ + ((size_t*)user)[0] += 1; +} int agent_LoadCertificates(MeshAgentHostContainer *agent) { int len; @@ -2240,10 +2245,17 @@ int agent_LoadCertificates(MeshAgentHostContainer *agent) } #endif - // No certificate in the database. Return 1 here so we can generate one. - ILibRemoteLogging_printf(ILibChainGetLogger(agent->chain), ILibRemoteLogging_Modules_Agent_GuardPost, ILibRemoteLogging_Flags_VerbosityLevel_1, "...Failed to load Node Certificate from Database"); - SSL_TRACE2("agent_LoadCertificates([ERROR: SelfNodeCert])"); - ILIBLOGMESSAGEX("Info: No certificate was found in db"); + size_t keycount = 0; + ILibSimpleDataStore_EnumerateKeys(agent->masterDb, agent_LoadCertificates_DB_Check, &keycount); + + if (keycount > 1) + { + // No certificate in the database. Return 1 here so we can generate one. + ILibRemoteLogging_printf(ILibChainGetLogger(agent->chain), ILibRemoteLogging_Modules_Agent_GuardPost, ILibRemoteLogging_Flags_VerbosityLevel_1, "...Failed to load Node Certificate from Database"); + SSL_TRACE2("agent_LoadCertificates([ERROR: SelfNodeCert])"); + ILIBLOGMESSAGEX("Info: No certificate was found in db"); + } + return 1; }