tristangurtler 3 лет назад
Родитель
Сommit
321f2a0f82
1 измененных файлов с 18 добавлено и 21 удалено
  1. 18 21
      prsona/src/networkOrchestrator.cpp

+ 18 - 21
prsona/src/networkOrchestrator.cpp

@@ -32,12 +32,8 @@ void start_remote_actor(
     const char* serverFile = "bin/server";
     const char* clientFile = "bin/client";
     const char* calledFile = (target != "tick0" && !target.empty() ? sshFile : (server ? serverFile : clientFile));
-    const char* remoteScript = "\"~/prsona/prsona/scripts/startup.sh";
-    const char* serverStr = "server";
-    const char* clientStr = "client";
-    const char* calledScript = (server ? serverStr : clientStr);
 
-    char *argv[10];
+    char *argv[6];
 
     char fileBuffer[13];
     strncpy(fileBuffer, calledFile, 13);
@@ -49,11 +45,8 @@ void start_remote_actor(
     char targetBuffer[64];
     strncpy(targetBuffer, target.c_str(), 64);
 
-    char scriptBuffer[36];
-    strncpy(scriptBuffer, remoteScript, 36);
-
-    char whichScriptBuffer[7];
-    strncpy(whichScriptBuffer, calledScript, 7);
+    std::string fullArgString;
+    char fullArgBuffer[256];
 
     char idBuffer[64];
     strncpy(idBuffer, id.c_str(), 64);
@@ -74,19 +67,23 @@ void start_remote_actor(
 
     if (target != "tick0" && !target.empty())
     {
+        fullArgString = "~/prsona/prsona/scripts/startup.sh ";
+        fullArgString += (server ? "server" : "client");
+        fullArgString += " ";
+        fullArgString += id;
+        fullArgString += " ";
+        fullArgString += output;
+        fullArgString += " ";
+        fullArgString += lambdaStream.str();
+        fullArgString += " ";
+        fullArgString += (maliciousServers ? "T" : "F");
+
+        strncpy(fullArgBuffer, fullArgString.c_str(), 256);
+
         argv[1] = flagBuffer;
         argv[2] = targetBuffer;
-        argv[3] = scriptBuffer;
-        argv[4] = whichScriptBuffer;
-        argv[5] = idBuffer;
-        argv[6] = outputBuffer;
-        argv[7] = lambdaBuffer;
-
-        maliciousBuffer[1] = '\"';
-        maliciousBuffer[2] = 0;
-        argv[8] = maliciousBuffer;
-
-        argv[9] = NULL;
+        argv[3] = fullArgBuffer;
+        argv[4] = NULL;
     }
     else
     {