Warning, /frameworks/kdesu/autotests/su 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 Su:
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('Password: ')
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.FAIL
0033                 print("su: Authentication failure")
0034                 exit(1)
0035 
0036 su = Su()
0037 while True:
0038     su.process()