From dc5860e16d60df4d4508bfe2d55b30bc38669be8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Wywia=C5=82?= Date: Thu, 6 Nov 2014 15:04:15 +0100 Subject: [PATCH] Ability to run any command instead of shell using --cmd command line parameter --- butterfly.server.py | 1 + butterfly/routes.py | 8 ++++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/butterfly.server.py b/butterfly.server.py index 793c796..b3415e5 100755 --- a/butterfly.server.py +++ b/butterfly.server.py @@ -36,6 +36,7 @@ tornado.options.define("more", default=False, tornado.options.define("host", default='localhost', help="Server host") tornado.options.define("port", default=57575, type=int, help="Server port") tornado.options.define("shell", help="Shell to execute at login") +tornado.options.define("cmd", help="Command to run instead of shell") tornado.options.define("unsecure", default=False, help="Don't use ssl not recommended") tornado.options.define("login", default=True, diff --git a/butterfly/routes.py b/butterfly/routes.py index 9380873..bd277e8 100644 --- a/butterfly/routes.py +++ b/butterfly/routes.py @@ -191,8 +191,12 @@ class TermWebSocket(Route, tornado.websocket.WebSocketHandler): 'if you want to log as different user\n') sys.exit(1) - args = [tornado.options.options.shell or self.callee.shell] - args.append('-i') + args = [ + tornado.options.options.cmd + or tornado.options.options.shell or self.callee.shell + ] + if not tornado.options.options.cmd: + args.append('-i') os.execvpe(args[0], args, env) # This process has been replaced