]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
bugfixes
authorGuido van Rossum <guido@python.org>
Wed, 21 Jun 1995 02:08:55 +0000 (02:08 +0000)
committerGuido van Rossum <guido@python.org>
Wed, 21 Jun 1995 02:08:55 +0000 (02:08 +0000)
Demo/pdist/client.py
Demo/pdist/security.py

index b644180406ed9cd94dd8f19247d62c8afa25cce4..d8f210e71bb51d7e5a211c2c036b8919fb934929 100755 (executable)
@@ -16,6 +16,10 @@ class Client:
        """RPC Client class.  No need to derive a class -- it's fully generic."""
        
        def __init__(self, address, verbose = VERBOSE):
+               self._pre_init(address, verbose)
+               self._post_init()
+       
+       def _pre_init(self, address, verbose = VERBOSE):
                if type(address) == type(0):
                        address = ('', address)
                self._address = address
@@ -29,6 +33,8 @@ class Client:
                self._replies = {} # Unprocessed replies
                self._rf = self._socket.makefile('r')
                self._wf = self._socket.makefile('w')
+       
+       def _post_init(self):
                self._methods = self._call('.methods')
        
        def __del__(self):
@@ -127,15 +133,16 @@ class SecureClient(Client, Security):
 
        def __init__(self, *args):
                import string
-               apply(Client.__init__, (self,) + args)
+               apply(self._pre_init, args)
                Security.__init__(self)
                line = self._rf.readline()
-               challenge = string.atoi(string.strip(firstline))
+               challenge = string.atoi(string.strip(line))
                response = self._encode_challenge(challenge)
                line = `long(response)`
                if line[-1] in 'Ll': line = line[:-1]
                self._wf.write(line + '\n')
                self._wf.flush()
+               self._post_init()
 
 class _stub:
        
index 29bc94587437bb3bebd2f9ec4cd2748b2ace6ced..a11294a91c0cec7181075ec57da2b87b616d9e91 100755 (executable)
@@ -5,10 +5,10 @@ class Security:
                env = os.environ
                if env.has_key('PYTHON_KEYFILE'):
                        keyfile = env['PYTHON_KEYFILE']
-               elif env.has_key('HOME'):
-                       keyfile = env['HOME'] + '.python_keyfile'
                else:
                        keyfile = '.python_keyfile'
+                       if env.has_key('HOME'):
+                               keyfile = os.path.join(env['HOME'], keyfile)
                try:
                        self._key = eval(open(keyfile).readline())
                except IOError:
@@ -23,4 +23,4 @@ class Security:
 
        def _encode_challenge(self, challenge):
                p, m = self._key
-               return pow(challenge, p, m)
+               return pow(long(challenge), p, m)