From dda596ca3296f5b2574cf4876a4e176594f52834 Mon Sep 17 00:00:00 2001 From: InvalidInterrupt Date: Tue, 11 Apr 2017 17:35:17 -0700 Subject: Fixed #28066 -- Prevented SessionBase.cycle_key() from discarding data. --- django/contrib/sessions/backends/base.py | 5 +---- django/contrib/sessions/backends/signed_cookies.py | 3 +-- 2 files changed, 2 insertions(+), 6 deletions(-) (limited to 'django') diff --git a/django/contrib/sessions/backends/base.py b/django/contrib/sessions/backends/base.py index 10d564b752..a395b589b1 100644 --- a/django/contrib/sessions/backends/base.py +++ b/django/contrib/sessions/backends/base.py @@ -295,10 +295,7 @@ class SessionBase: """ Create a new session key, while retaining the current session data. """ - try: - data = self._session_cache - except AttributeError: - data = {} + data = self._session key = self.session_key self.create() self._session_cache = data diff --git a/django/contrib/sessions/backends/signed_cookies.py b/django/contrib/sessions/backends/signed_cookies.py index 6391b3ef3e..1ee7790b8e 100644 --- a/django/contrib/sessions/backends/signed_cookies.py +++ b/django/contrib/sessions/backends/signed_cookies.py @@ -71,9 +71,8 @@ class SessionStore(SessionBase): Instead of generating a random string, generate a secure url-safe base64-encoded string of data as our session key. """ - session_cache = getattr(self, '_session_cache', {}) return signing.dumps( - session_cache, compress=True, + self._session, compress=True, salt='django.contrib.sessions.backends.signed_cookies', serializer=self.serializer, ) -- cgit v1.3