CHANGES.txt | ●●●●● patch | view | raw | blame | history | |
repoze/who/plugins/auth_tkt.py | ●●●●● patch | view | raw | blame | history | |
repoze/who/plugins/tests.py | ●●●●● patch | view | raw | blame | history | |
setup.py | ●●●●● patch | view | raw | blame | history |
CHANGES.txt
@@ -2,6 +2,12 @@ repoze.who changes ================== After 1.0.11 ============ - Extended auth_tkt plugin factory to allow passing secret in a separate file from the main config file. See http://bugs.repoze.org/issue40 . 1.0.11 (2009/4/10) ================== repoze/who/plugins/auth_tkt.py
@@ -1,5 +1,6 @@ from codecs import utf_8_decode from codecs import utf_8_encode import os from paste.request import get_cookies from paste.auth import auth_tkt @@ -153,10 +154,20 @@ return value def make_plugin(secret=None, secretfile=None, cookie_name='auth_tkt', secure=False, include_ip=False): if secret is None: raise ValueError('secret must not be None') secure=False, include_ip=False, ): if (secret is None and secretfile is None): raise ValueError("One of 'secret' or 'secretfile' must not be None.") if (secret is not None and secretfile is not None): raise ValueError("Specify only one of 'secret' or 'secretfile'.") if secretfile: secretfile = os.path.abspath(os.path.expanduser(secretfile)) if not os.path.exists(secretfile): raise ValueError("No such 'secretfile': %s" % secretfile) secret = open(secretfile).read().strip() plugin = AuthTktCookiePlugin(secret, cookie_name, _bool(secure), _bool(include_ip)) return plugin repoze/who/plugins/tests.py
@@ -954,7 +954,19 @@ self.assertEqual(name, 'Set-Cookie') self.assertEqual(value, 'auth_tkt=""""; Path=/; Domain=.localhost') def test_factory(self): def test_factory_wo_secret_wo_secretfile_raises_ValueError(self): from repoze.who.plugins.auth_tkt import make_plugin self.assertRaises(ValueError, make_plugin) def test_factory_w_secret_w_secretfile_raises_ValueError(self): from repoze.who.plugins.auth_tkt import make_plugin self.assertRaises(ValueError, make_plugin, 'secret', 'secretfile') def test_factory_w_bad_secretfile_raises_ValueError(self): from repoze.who.plugins.auth_tkt import make_plugin self.assertRaises(ValueError, make_plugin, secretfile='nonesuch.txt') def test_factory_w_secret(self): from repoze.who.plugins.auth_tkt import make_plugin plugin = make_plugin('secret') self.assertEqual(plugin.cookie_name, 'auth_tkt') @@ -962,6 +974,15 @@ self.assertEqual(plugin.include_ip, False) self.assertEqual(plugin.secure, False) def test_factory_w_secretfile(self): from tempfile import NamedTemporaryFile from repoze.who.plugins.auth_tkt import make_plugin ntf = NamedTemporaryFile() ntf.write('s33kr1t\n') ntf.flush() plugin = make_plugin(secretfile=ntf.name) self.assertEqual(plugin.secret, 's33kr1t') class TestSQLAuthenticatorPlugin(unittest.TestCase): def _makeEnviron(self, kw=None): setup.py
@@ -19,7 +19,7 @@ from setuptools import setup, find_packages __version__ = '1.0.11' __version__ = '1.0.11+' here = os.path.abspath(os.path.dirname(__file__)) README = open(os.path.join(here, 'README.txt')).read()