Download Install Tutorial Docs FAQ Tools WikiLicense Team IRC Planet Involvement Shop Book

Changeset 1578

Show
Ignore:
Timestamp:
12/28/06 16:30:08
Author:
dowski
Message:

2.x backport of [1239] (more secure session key). See #567.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/cherrypy-2.x/cherrypy/filters/sessionfilter.py

    r1510 r1578  
    424424 
    425425 
    426 def generate_session_id(): 
    427     """ Return a new session_id """ 
    428     return sha.new('%s' % random.random()).hexdigest() 
     426try: 
     427    os.urandom(20) 
     428except (AttributeError, NotImplementedError): 
     429    # os.urandom not available until Python 2.4. Fall back to random.random. 
     430    def generate_session_id(): 
     431        """Return a new session id.""" 
     432        return sha.new('%s' % random.random()).hexdigest() 
     433else: 
     434    def generate_session_id(): 
     435        """Return a new session id.""" 
     436        return os.urandom(20).encode('hex') 
     437 
    429438generateSessionID = generate_session_id 
    430439 

Hosted by WebFaction

Log in as guest/cpguest to create tickets