Warning, /frameworks/kdesu/autotests/sudo is written in an unsupported language. File is not indexed.
0001 #!/usr/bin/env python3 0002 0003 import sys 0004 import getpass 0005 from enum import Enum, unique 0006 from subprocess import call 0007 0008 0009 @unique 0010 class State(Enum): 0011 NEW = 1 0012 SECOND = 2 0013 THIRD = 3 0014 GOOD = 4 0015 FAIL = 5 0016 0017 class Sudo: 0018 0019 def __init__(self): 0020 self.state = State.NEW 0021 self.read = None 0022 self.password = 'ilovekde' 0023 0024 def process(self): 0025 if self.state == State.NEW: 0026 self.read = getpass.getpass('[sudo] password for jr: ') 0027 if self.read == self.password: 0028 self.state = State.GOOD 0029 call([sys.argv[3]]) 0030 exit(0) 0031 else: 0032 self.state = State.SECOND 0033 elif self.state == State.SECOND: 0034 print('Sorry, try again.') 0035 self.read = getpass.getpass('[sudo] password for jr: ') 0036 if self.read == self.password: 0037 self.state = State.GOOD 0038 exit(0) 0039 else: 0040 self.state = State.THIRD 0041 elif self.state == State.THIRD: 0042 print('Sorry, try again.') 0043 self.read = getpass.getpass('[sudo] password for jr: ') 0044 if self.read == self.password: 0045 self.state = State.GOOD 0046 exit(0) 0047 else: 0048 print("sudo: 3 incorrect password attempts") 0049 self.state = State.FAIL 0050 exit(1) 0051 0052 sudo = Sudo() 0053 while True: 0054 sudo.process()