These files are a subset of the python-2.7.2.tgz distribution from python.org. Changed files from PyMod-2.7.2 have been copied into the corresponding directories of this tree, replacing the original files in the distribution. Signed-off-by: daryl.mcdaniel@intel.com git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13197 6f19259b-4bc3-4df7-8a09-765794883524
		
			
				
	
	
		
			34 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
class Security:
 | 
						|
 | 
						|
    def __init__(self):
 | 
						|
        import os
 | 
						|
        env = os.environ
 | 
						|
        if env.has_key('PYTHON_KEYFILE'):
 | 
						|
            keyfile = env['PYTHON_KEYFILE']
 | 
						|
        else:
 | 
						|
            keyfile = '.python_keyfile'
 | 
						|
            if env.has_key('HOME'):
 | 
						|
                keyfile = os.path.join(env['HOME'], keyfile)
 | 
						|
            if not os.path.exists(keyfile):
 | 
						|
                import sys
 | 
						|
                for dir in sys.path:
 | 
						|
                    kf = os.path.join(dir, keyfile)
 | 
						|
                    if os.path.exists(kf):
 | 
						|
                        keyfile = kf
 | 
						|
                        break
 | 
						|
        try:
 | 
						|
            self._key = eval(open(keyfile).readline())
 | 
						|
        except IOError:
 | 
						|
            raise IOError, "python keyfile %s: cannot open" % keyfile
 | 
						|
 | 
						|
    def _generate_challenge(self):
 | 
						|
        import random
 | 
						|
        return random.randint(100, 100000)
 | 
						|
 | 
						|
    def _compare_challenge_response(self, challenge, response):
 | 
						|
        return self._encode_challenge(challenge) == response
 | 
						|
 | 
						|
    def _encode_challenge(self, challenge):
 | 
						|
        p, m = self._key
 | 
						|
        return pow(long(challenge), p, m)
 |