From b550dd7a53907a506c5df2e9ccc16b855d645eb9 Mon Sep 17 00:00:00 2001 From: Bryan Roe Date: Mon, 2 Aug 2021 22:45:32 -0700 Subject: [PATCH] Fixed bug introduced by previous fix that imported .msh file earlier. Settings file cannot be imported when running agent installer, so modified behavior so if agent installer is going to run, the .msh is not imported. --- meshcore/agentcore.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/meshcore/agentcore.c b/meshcore/agentcore.c index 20df3ff..3f0bcbe 100644 --- a/meshcore/agentcore.c +++ b/meshcore/agentcore.c @@ -4552,21 +4552,23 @@ int MeshAgent_AgentMode(MeshAgentHostContainer *agentHost, int paramLen, char ** } paramLen -= ixr; - // Check to see if we need to import a settings file - if (importSettings(agentHost, MeshAgent_MakeAbsolutePath(agentHost->exePath, ".mshx")) == 0) + if (ILibSimpleDataStore_IsCacheOnly(agentHost->masterDb) == 0) { - if (importSettings(agentHost, MeshAgent_MakeAbsolutePath(agentHost->exePath, ".msh")) == 0) + // Check to see if we need to import a settings file + if (importSettings(agentHost, MeshAgent_MakeAbsolutePath(agentHost->exePath, ".mshx")) == 0) { - if ((importSettings(agentHost, "mesh_linumshx") == 0) && (importSettings(agentHost, "mesh_limshx") == 0)) // Do this because the old agent would generate this bad file name on linux. + if (importSettings(agentHost, MeshAgent_MakeAbsolutePath(agentHost->exePath, ".msh")) == 0) { - // Let's check to see if an .msh was embedded into our binary - checkForEmbeddedMSH(agentHost); - importSettings(agentHost, MeshAgent_MakeAbsolutePath(agentHost->exePath, ".msh")); + if ((importSettings(agentHost, "mesh_linumshx") == 0) && (importSettings(agentHost, "mesh_limshx") == 0)) // Do this because the old agent would generate this bad file name on linux. + { + // Let's check to see if an .msh was embedded into our binary + checkForEmbeddedMSH(agentHost); + importSettings(agentHost, MeshAgent_MakeAbsolutePath(agentHost->exePath, ".msh")); + } } } } - #ifdef WIN32 if (agentHost->noCertStore == 0) { agentHost->noCertStore = ILibSimpleDataStore_Get(agentHost->masterDb, "nocertstore", NULL, 0); } #endif