Changeset 2171
- Timestamp:
- 04/10/07 22:28:33 (2 years ago)
- Files:
-
- accountmanagerplugin/0.10/acct_mgr/htfile.py (modified) (3 diffs)
- accountmanagerplugin/0.10/acct_mgr/tests/htfile.py (modified) (4 diffs)
- accountmanagerplugin/trunk/acct_mgr/htfile.py (modified) (3 diffs)
- accountmanagerplugin/trunk/acct_mgr/tests/htfile.py (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
accountmanagerplugin/0.10/acct_mgr/htfile.py
r2128 r2171 63 63 if not os.path.exists(filename): 64 64 return False 65 prefix = self.prefix(user.encode('utf-8'))65 user = user.encode('utf-8') 66 66 password = password.encode('utf-8') 67 prefix = self.prefix(user) 67 68 fd = file(filename) 68 69 try: 69 70 for line in fd: 70 71 if line.startswith(prefix): 71 return self._check_userline( password, prefix,72 return self._check_userline(user, password, 72 73 line[len(prefix):].rstrip('\n')) 73 74 finally: … … 135 136 return self.prefix(user) + htpasswd(password) 136 137 137 def _check_userline(self, password, prefix, suffix):138 def _check_userline(self, user, password, suffix): 138 139 return suffix == htpasswd(password, suffix) 139 140 … … 173 174 return self.prefix(user) + htdigest(user, self.realm, password) 174 175 175 def _check_userline(self, password, prefix, suffix):176 def _check_userline(self, user, password, suffix): 176 177 return suffix == htdigest(user, self.realm, password) 177 178 accountmanagerplugin/0.10/acct_mgr/tests/htfile.py
r2128 r2171 41 41 return filename 42 42 43 def _do_password_test(self, filename, content): 44 filename = self._create_file(filename, content=content) 45 self.env.config.set('account-manager', 'password_file', filename) 46 self.assertTrue(self.store.check_password('user', 'password')) 47 43 48 44 49 class HtDigestTestCase(_BaseTestCase): … … 49 54 self.env.config.set('account-manager', 'htdigest_realm', 50 55 'TestRealm') 56 self.store = HtDigestStore(self.env) 51 57 52 58 def test_userline(self): 53 store = HtDigestStore(self.env) 54 self.assertEqual(store.userline('user', 'password'), 59 self.assertEqual(self.store.userline('user', 'password'), 55 60 'user:TestRealm:752b304cc7cf011d69ee9b79e2cd0866') 61 62 def test_file(self): 63 self._do_password_test('test_file', 64 'user:TestRealm:752b304cc7cf011d69ee9b79e2cd0866') 56 65 57 66 class HtPasswdTestCase(_BaseTestCase): … … 60 69 self.env.config.set('account-manager', 'password_store', 61 70 'HtPasswdStore') 71 self.store = HtPasswdStore(self.env) 62 72 63 73 def test_md5(self): … … 76 86 'user:$apr1$xW/09...$fb150dT95SoL1HwXtHS/I0') 77 87 78 def _do_password_test(self, filename, content):79 store = HtPasswdStore(self.env)80 filename = self._create_file(filename, content=content)81 self.env.config.set('account-manager', 'password_file', filename)82 self.assertTrue(store.check_password('user', 'password'))83 84 88 85 89 def suite(): accountmanagerplugin/trunk/acct_mgr/htfile.py
r2128 r2171 54 54 if not os.path.exists(filename): 55 55 return False 56 prefix = self.prefix(user.encode('utf-8'))56 user = user.encode('utf-8') 57 57 password = password.encode('utf-8') 58 prefix = self.prefix(user) 58 59 fd = file(filename) 59 60 try: 60 61 for line in fd: 61 62 if line.startswith(prefix): 62 return self._check_userline( password, prefix,63 return self._check_userline(user, password, 63 64 line[len(prefix):].rstrip('\n')) 64 65 finally: … … 126 127 return self.prefix(user) + htpasswd(password) 127 128 128 def _check_userline(self, password, prefix, suffix):129 def _check_userline(self, user, password, suffix): 129 130 return suffix == htpasswd(password, suffix) 130 131 … … 164 165 return self.prefix(user) + htdigest(user, self.realm, password) 165 166 166 def _check_userline(self, password, prefix, suffix):167 def _check_userline(self, user, password, suffix): 167 168 return suffix == htdigest(user, self.realm, password) 168 169 accountmanagerplugin/trunk/acct_mgr/tests/htfile.py
r2128 r2171 41 41 return filename 42 42 43 def _do_password_test(self, filename, content): 44 filename = self._create_file(filename, content=content) 45 self.env.config.set('account-manager', 'password_file', filename) 46 self.assertTrue(self.store.check_password('user', 'password')) 47 43 48 44 49 class HtDigestTestCase(_BaseTestCase): … … 49 54 self.env.config.set('account-manager', 'htdigest_realm', 50 55 'TestRealm') 56 self.store = HtDigestStore(self.env) 51 57 52 58 def test_userline(self): 53 store = HtDigestStore(self.env) 54 self.assertEqual(store.userline('user', 'password'), 59 self.assertEqual(self.store.userline('user', 'password'), 55 60 'user:TestRealm:752b304cc7cf011d69ee9b79e2cd0866') 61 62 def test_file(self): 63 self._do_password_test('test_file', 64 'user:TestRealm:752b304cc7cf011d69ee9b79e2cd0866') 56 65 57 66 class HtPasswdTestCase(_BaseTestCase): … … 60 69 self.env.config.set('account-manager', 'password_store', 61 70 'HtPasswdStore') 71 self.store = HtPasswdStore(self.env) 62 72 63 73 def test_md5(self): … … 76 86 'user:$apr1$xW/09...$fb150dT95SoL1HwXtHS/I0') 77 87 78 def _do_password_test(self, filename, content):79 store = HtPasswdStore(self.env)80 filename = self._create_file(filename, content=content)81 self.env.config.set('account-manager', 'password_file', filename)82 self.assertTrue(store.check_password('user', 'password'))83 84 88 85 89 def suite():
