From: allfro Date: Tue, 19 Mar 2013 23:41:14 +0000 (-0400) Subject: Added support for per-tty sessions X-Git-Url: https://git.nothing2do.fr/?a=commitdiff_plain;h=d64d37ac7d77081401f0f2b59910bd8440e810dd;p=get-hack-src.git Added support for per-tty sessions --- diff --git a/src/scripts/pysudo b/src/scripts/pysudo index e19e7c2..3954341 100755 --- a/src/scripts/pysudo +++ b/src/scripts/pysudo @@ -2,6 +2,7 @@ import sys import subprocess +import getpass from canari.utils.fs import fmutex from canari.easygui import passwordbox @@ -11,7 +12,7 @@ __copyright__ = 'Copyright 2012, Canari Project' __credits__ = [] __license__ = 'GPL' -__version__ = '0.4' +__version__ = '0.5' __maintainer__ = 'Nadeem Douba' __email__ = 'ndouba@gmail.com' __status__ = 'Development' @@ -30,17 +31,17 @@ def main(): if not p.returncode: exit(0) - l = fmutex('pysudo.lock') + l = fmutex('pysudo.%s.lock' % getpass.getuser()) for i in range(0, 3): password = passwordbox('Please enter your password.', 'sudo', '') if password is None: exit(1) - p = subprocess.Popen(['sudo', '-S', 'true'], stdin=subprocess.PIPE) + p = subprocess.Popen(['sudo', '-S', 'true'], stdin=subprocess.PIPE, stderr=subprocess.PIPE) p.communicate(input='%s\n' % password) if not p.returncode: l.unlock() p = subprocess.Popen(['sudo', '-S'] + sys.argv[1:]) - p.communicate() + p.communicate(input='%s\n' % password) exit(p.returncode) exit(2)