diff options
author | Roberto Hueso Gómez <rhueso@soleta.eu> | 2020-01-20 12:47:35 +0100 |
---|---|---|
committer | Alvaro Neira Ayuso <aneira@soleta.eu> | 2020-01-21 17:32:48 +0100 |
commit | 9890d60300d4e2d2cd6d4a87de81471f943e975c (patch) | |
tree | 24aae4600b60fc0fcbe5aa1aecc778904ff18d1e | |
parent | 96c2ddea2d407845441cd740c8330f15fc75b7a0 (diff) |
Fix /shell/run commands splitting
This patch splits shell commands either with ';' or '\n'.
-rw-r--r-- | src/linux/ogOperations.py | 2 | ||||
-rw-r--r-- | src/ogRest.py | 2 | ||||
-rw-r--r-- | tests/units/test_0003_shellrun.py | 2 |
3 files changed, 3 insertions, 3 deletions
diff --git a/src/linux/ogOperations.py b/src/linux/ogOperations.py index 505894b..357dd2f 100644 --- a/src/linux/ogOperations.py +++ b/src/linux/ogOperations.py @@ -49,7 +49,7 @@ def reboot(): def execCMD(request, ogRest): cmd = request.getrun() - cmds = cmd.split(" ") + cmds = cmd.split(";|\n") try: ogRest.proc = subprocess.Popen(cmds, stdout=subprocess.PIPE, shell=True) (output, error) = ogRest.proc.communicate() diff --git a/src/ogRest.py b/src/ogRest.py index 781fb80..f46a331 100644 --- a/src/ogRest.py +++ b/src/ogRest.py @@ -62,7 +62,7 @@ class restResponse(): class ogThread(): def execcmd(client, request, ogRest): - if request.getrun() == None: + if not request.getrun(): response = restResponse(ogResponses.BAD_REQUEST) client.send(response.get()) return diff --git a/tests/units/test_0003_shellrun.py b/tests/units/test_0003_shellrun.py index ada1795..79b7305 100644 --- a/tests/units/test_0003_shellrun.py +++ b/tests/units/test_0003_shellrun.py @@ -14,7 +14,7 @@ class TestShellRunMethods(unittest.TestCase): def test_post_with_echo(self): req_json = '{"run":"echo \\"croqueta\\"", "echo":true}' - response_json = '{"out": "\\"croqueta\\"\\n"}' + response_json = '{"out": \"croqueta\\n\"}' req = 'POST /shell/run HTTP/1.0\r\nContent-Length:'+ \ str(len(req_json)) + \ '\r\nContent-Type:application/json\r\n\r\n' + req_json |