From eef01a1064e6516c4448cd5f8f7829856f2b30d4 Mon Sep 17 00:00:00 2001 From: Sven Velt Date: Wed, 29 Nov 2017 11:57:11 +0100 Subject: [PATCH] Version 3 --- ssh-wrapper.py | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/ssh-wrapper.py b/ssh-wrapper.py index 0c52dd1..8aea125 100755 --- a/ssh-wrapper.py +++ b/ssh-wrapper.py @@ -16,15 +16,23 @@ allowed = [ ] cmdline = os.getenv('SSH_ORIGINAL_COMMAND') +if not cmdline: + print 'This is just a wrapper, no command specified!' + sys.exit(3) for maybe in allowed: if re.match(maybe, cmdline): cmdline = shlex.split(cmdline) - cmd = subprocess.Popen(cmdline, stdout=subprocess.PIPE) - print cmd.communicate()[0].rstrip() - sys.exit(cmd.returncode) + try: + cmd = subprocess.Popen(cmdline, stdout=subprocess.PIPE) + except Exception, exc: + print 'Could not execute plugin ("%s"): %s' % (' '.join(cmdline), exc) + sys.exit(3) + else: + print cmd.communicate()[0].rstrip() + sys.exit(cmd.returncode) -print '%s: No command found!' % sys.argv[0] +print '%s: No allowed command found!' % sys.argv[0] sys.exit(3)