Ticket #6081: ticket_6081__rev_6794.diff

File ticket_6081__rev_6794.diff, 1.9 KB (added by Ben Slavin, 16 years ago)

Removes functions specified in ticket.

  • django/contrib/sessions/models.py

     
    1818        pickled_md5 = md5.new(pickled + settings.SECRET_KEY).hexdigest()
    1919        return base64.encodestring(pickled + pickled_md5)
    2020
    21     def get_new_session_key(self):
    22         "Returns session key that isn't being used."
    23         # The random module is seeded when this Apache child is created.
    24         # Use SECRET_KEY as added salt.
    25         try:
    26             pid = os.getpid()
    27         except AttributeError:
    28             # No getpid() in Jython, for example
    29             pid = 1
    30         while 1:
    31             session_key = md5.new("%s%s%s%s" % (random.randint(0, sys.maxint - 1), pid, time.time(), settings.SECRET_KEY)).hexdigest()
    32             try:
    33                 self.get(session_key=session_key)
    34             except self.model.DoesNotExist:
    35                 break
    36         return session_key
    37 
    38     def get_new_session_object(self):
    39         """
    40         Returns a new session object.
    41         """
    42         # FIXME: There is a *small* chance of collision here, meaning we will
    43         # return an existing object. That can be fixed when we add a way to
    44         # validate (and guarantee) that non-auto primary keys are unique. For
    45         # now, we save immediately in order to reduce the "window of
    46         # misfortune" as much as possible.
    47         created = False
    48         while not created:
    49             obj, created = self.get_or_create(session_key=self.get_new_session_key(),
    50                     expire_date = datetime.datetime.now())
    51             # Collision in key generation, so re-seed the generator
    52             random.seed()
    53         return obj
    54 
    5521    def save(self, session_key, session_dict, expire_date):
    5622        s = self.model(session_key, self.encode(session_dict), expire_date)
    5723        if session_dict:
Back to Top