diff options
| author | InvalidInterrupt <InvalidInterrupt@users.noreply.github.com> | 2017-04-11 17:35:17 -0700 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2017-04-17 22:27:59 -0400 |
| commit | 5d556d2aaf64a4181b121e3cb51009d59f02869e (patch) | |
| tree | a8823972b1a189849d7bd38bc6fc0b23590ece0d /django | |
| parent | 844ae40a7cdcb1738ca3a2e8f13bb6b8c2e22efd (diff) | |
[1.11.x] Fixed #28066 -- Prevented SessionBase.cycle_key() from discarding data.
Backport of dda596ca3296f5b2574cf4876a4e176594f52834 from master
Diffstat (limited to 'django')
| -rw-r--r-- | django/contrib/sessions/backends/base.py | 5 | ||||
| -rw-r--r-- | django/contrib/sessions/backends/signed_cookies.py | 3 |
2 files changed, 2 insertions, 6 deletions
diff --git a/django/contrib/sessions/backends/base.py b/django/contrib/sessions/backends/base.py index 40c557ba0b..8e09fd8d80 100644 --- a/django/contrib/sessions/backends/base.py +++ b/django/contrib/sessions/backends/base.py @@ -306,10 +306,7 @@ class SessionBase(object): """ Creates 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 f4c085fb59..c790fbe90f 100644 --- a/django/contrib/sessions/backends/signed_cookies.py +++ b/django/contrib/sessions/backends/signed_cookies.py @@ -74,9 +74,8 @@ class SessionStore(SessionBase): 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, ) |
