|
@@ -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
|
|
|
{
|