Changeset 7730 for django/branches/newforms-admin/django/contrib/sessions
- Timestamp:
- 06/23/08 16:05:02 (7 months ago)
- Files:
-
- django/branches/newforms-admin (modified) (1 prop)
- django/branches/newforms-admin/django/contrib/sessions/backends/base.py (modified) (2 diffs)
- django/branches/newforms-admin/django/contrib/sessions/backends/cache.py (modified) (1 diff)
- django/branches/newforms-admin/django/contrib/sessions/backends/db.py (modified) (1 diff)
- django/branches/newforms-admin/django/contrib/sessions/backends/file.py (modified) (3 diffs)
- django/branches/newforms-admin/django/contrib/sessions/middleware.py (modified) (2 diffs)
- django/branches/newforms-admin/django/contrib/sessions/models.py (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
django/branches/newforms-admin
- Property svnmerge-integrated changed from /django/trunk:1-4345,4350-4357,4359-4365,4371-4372,4374-4377,4380-4386,4388,4390-4391,4400-4402,4404-4408,4410,4412-4419,4426-4427,4430-4432,4434,4441,4443-4444,4446-4447,4450,4452-4453,4455-4458,4476,4503,4546,4564-4569,4580-4586,4617,4630,4641-6390,6392-7706 to /django/trunk:1-4345,4350-4357,4359-4365,4371-4372,4374-4377,4380-4386,4388,4390-4391,4400-4402,4404-4408,4410,4412-4419,4426-4427,4430-4432,4434,4441,4443-4444,4446-4447,4450,4452-4453,4455-4458,4476,4503,4546,4564-4569,4580-4586,4617,4630,4641-6390,6392-7729
django/branches/newforms-admin/django/contrib/sessions/backends/base.py
r7707 r7730 6 6 import time 7 7 from datetime import datetime, timedelta 8 from django.conf import settings9 from django.core.exceptions import SuspiciousOperation10 11 8 try: 12 9 import cPickle as pickle 13 10 except ImportError: 14 11 import pickle 12 13 from django.conf import settings 14 from django.core.exceptions import SuspiciousOperation 15 15 16 16 17 class SessionBase(object): … … 170 171 def set_expiry(self, value): 171 172 """ 172 Sets a custom expiration for the session. ``value`` can be an integer, a173 Python ``datetime`` or ``timedelta`` object or ``None``.173 Sets a custom expiration for the session. ``value`` can be an integer, 174 a Python ``datetime`` or ``timedelta`` object or ``None``. 174 175 175 176 If ``value`` is an integer, the session will expire after that many django/branches/newforms-admin/django/contrib/sessions/backends/cache.py
r7604 r7730 2 2 from django.contrib.sessions.backends.base import SessionBase 3 3 from django.core.cache import cache 4 4 5 5 6 class SessionStore(SessionBase): django/branches/newforms-admin/django/contrib/sessions/backends/db.py
r7604 r7730 1 import datetime 2 1 3 from django.conf import settings 2 4 from django.contrib.sessions.models import Session 3 5 from django.contrib.sessions.backends.base import SessionBase 4 6 from django.core.exceptions import SuspiciousOperation 5 import datetime 7 6 8 7 9 class SessionStore(SessionBase): 8 10 """ 9 Implements database session store 11 Implements database session store. 10 12 """ 11 13 def __init__(self, session_key=None): django/branches/newforms-admin/django/contrib/sessions/backends/file.py
r7351 r7730 1 1 import os 2 2 import tempfile 3 3 4 from django.conf import settings 4 5 from django.contrib.sessions.backends.base import SessionBase 5 6 from django.core.exceptions import SuspiciousOperation, ImproperlyConfigured 7 6 8 7 9 class SessionStore(SessionBase): … … 16 18 # Make sure the storage path is valid. 17 19 if not os.path.isdir(self.storage_path): 18 raise ImproperlyConfigured( "The session storage path %r doesn't exist. "\19 "Please set your SESSION_FILE_PATH setting "\20 "to an existing directory in which Django "\21 "can store session data." % self.storage_path)20 raise ImproperlyConfigured( 21 "The session storage path %r doesn't exist. Please set your" 22 " SESSION_FILE_PATH setting to an existing directory in which" 23 " Django can store session data." % self.storage_path) 22 24 23 25 self.file_prefix = settings.SESSION_COOKIE_NAME … … 32 34 33 35 # Make sure we're not vulnerable to directory traversal. Session keys 34 # should always be md5s, so they should never contain directory components. 36 # should always be md5s, so they should never contain directory 37 # components. 35 38 if os.path.sep in session_key: 36 raise SuspiciousOperation("Invalid characters (directory components) in session key") 39 raise SuspiciousOperation( 40 "Invalid characters (directory components) in session key") 37 41 38 42 return os.path.join(self.storage_path, self.file_prefix + session_key) django/branches/newforms-admin/django/contrib/sessions/middleware.py
r7604 r7730 7 7 TEST_COOKIE_NAME = 'testcookie' 8 8 TEST_COOKIE_VALUE = 'worked' 9 9 10 10 11 class SessionMiddleware(object): … … 41 42 path=settings.SESSION_COOKIE_PATH, 42 43 secure=settings.SESSION_COOKIE_SECURE or None) 43 44 44 return response django/branches/newforms-admin/django/contrib/sessions/models.py
r7233 r7730 7 7 from django.conf import settings 8 8 9 9 10 class SessionManager(models.Manager): 10 11 def encode(self, session_dict): 11 "Returns the given session dictionary pickled and encoded as a string." 12 """ 13 Returns the given session dictionary pickled and encoded as a string. 14 """ 12 15 pickled = pickle.dumps(session_dict) 13 16 pickled_md5 = md5.new(pickled + settings.SECRET_KEY).hexdigest() … … 21 24 s.delete() # Clear sessions with no data. 22 25 return s 26 23 27 24 28 class Session(models.Model): … … 39 43 on the Django website). 40 44 """ 41 session_key = models.CharField(_('session key'), max_length=40, primary_key=True) 45 session_key = models.CharField(_('session key'), max_length=40, 46 primary_key=True) 42 47 session_data = models.TextField(_('session data')) 43 48 expire_date = models.DateTimeField(_('expire date'))
