summaryrefslogtreecommitdiff
path: root/tox.ini
Commit message (Collapse)AuthorAgeFilesLines
* Merge from stableEli Collins2020-10-081-11/+19
|\ | | | | | | | | | | | | As part of merge: * various: reverted the py26 compat fixes from rev 5e2f92012412 * test utils: stripped out "has_real_subtest" compat from rev c732a9e2a582, since now on py35+, which always has .subTest() method
| * passlib.ext.django: Updated UTs to work with latest django releaseEli Collins2020-10-071-11/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (should fix long-standing issue 98) * test_ext_django: - Simplified "stock config" setup code. It now gets it's "sha_rounds" value from the django source, so we don't have to manually update it every time django changes their default. This should require less maintenance across minor django releases. (Should fix issue 98, and prevent recurrence) - Updated tests to account for quirks in how encoded hashes are handled. Specifically: None, "", and invalid hashes all cause subtly different behaviors across django versions. tests pass against django 1.8 - 3.1. - split "empty hash" test out from the loop it shared with "null hash" test, since the two behave differently. * tox: expanded envlist to explicitly test a bunch more django versions (1.8 - 3.1); and remove some needless "django 2.x + py2" tests * passlib.apps: reformatted django CryptContext declarations; added one for django 2.1 (which dropped "django_bcrypt" it's default list) * passlib.ext.django: - added internal "quirks" helper as central place to track minor edge-case changes between django versions. - passlib_to_django() helper now falls back to searching hasher classes directly, even if patch isn't installed. this allows it to work for django hashers that have been removed from django's default list.
* | passlib.hash.bcrypt: remove support for "py-bcrypt" backendEli Collins2020-10-061-3/+0
| |
* | tox: removed py2 envs & depsEli Collins2020-10-061-20/+9
| |
* | cleanup old python compat -- removed PY26 conditional, and unittest2 imports.Eli Collins2020-10-061-1/+0
|/ | | | removing unittest2 also allowed removing "passlib.tests.backports"
* passlib.tests: silenced some internal warnings; fixed edge case in scrypt test;Eli Collins2020-10-061-24/+0
| | | | removed "gae" from tox suite (no meaningful difference from posix tests)
* tox.ini: disable 'rednose' for py34, no longer supportedEli Collins2020-10-031-3/+6
|
* passlib.utils: have safe_crypt() catch OSError thrown by crypt() -- py39 compatEli Collins2020-03-281-1/+2
| | | | (fixes issue 115)
* tests / tox: updated test settings.Eli Collins2019-11-191-9/+13
| | | | | | | | * removed py26, py33 from default list, tox/pip no longer handle them * added py37, py38 aliases * added "django1x" test target
* passlib.tests: fix imports that got dropped during a patchEli Collins2017-01-301-0/+1
|
* tox.ini: updated structure to make it easier to customizeEli Collins2017-01-301-16/+22
|
* tox.ini: added -py36Eli Collins2016-11-221-3/+4
|
* ran full tests to verify we work under pyston 0.5.1Eli Collins2016-07-151-0/+1
| | | | (a few minor tweaks to UTs so everything passes)
* tox.ini: added dependancies for django's internal testsEli Collins2016-06-261-0/+3
|
* docs: build fixesEli Collins2016-06-231-0/+14
| | | | | | * switched to custom sphinx-fulltoc branch for now, due to readthedocs issue * added tox.ini environment to test documentation building * fixed rst warnings about dup target & missing document
* scrypt: hash format changedEli Collins2016-06-201-1/+1
| | | | | | | * tweaked passlib's format to follow argon2 and use explicit param names + normal base64 encoding * added support for openwall's $7$ format * moved hash tests to separate file
* bugfix: fixed a bunch of small UT failuresEli Collins2016-06-201-2/+4
| | | | | | | | * b"" prefix added to a few strings in argon2 hash & tests * misc tests: get_handler_case() -- added argon2 to list of conditionally available hashes * consteq test: pypy's compare_digest() supports non-ascii unicode(), unlike cpython * old pbkdf2() tests: account for keylen=0 now throwing error * tox.ini: disable testing w/ cryptography under pypy, not installing properly.
* pbkdf2: removed support for M2Crypto backend -- was only useful for sha1Eli Collins2016-06-201-3/+0
| | | | | (a border case anyways), and hashlib or fastpbkdf2 are much better choices for this use case.
* rewrote tox.ini to use "factors", now requires tox >= 2.3Eli Collins2016-06-201-273/+116
|
* passlib.hash.argon2: support for Argon2 hash formatEli Collins2016-06-171-0/+22
| | | | | | | | | | * passlib.handlers.argon2 module contains 'argon2' hasher class, for both argon2_cffi & argon2pure packages as backends. * added UTs from argon2 clib source, as well as some from argon2_cffi, and some more custom hashes. * UT harness: added limit so salt range test doesn't eat up all the memory under argon2.
* passlib.handlers.scrypt: created scrypt hash handler, complete with UTs and docsEli Collins2016-06-101-0/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | * scrypt kdf code - relocated scrypt kdf code to passlib.crypto.scrypt - py3 compat fixes - split UTs out into separate file - removed "non-power of 2" support, not needed. - added wrapper which can toggle between builtin backend, and extenrnal scrypt package. - factored out n/r/p validation code so it can be used independantly of calling kdf itself. * passlib.handlers.scrypt: added scrypt handler which wraps the kdf. - added some custom test strings, as well as adapted some reference values from the scrypt whitepaper. - added documentation page - integrated scrypt kdf wrapper w/ hash's HasManyBackends api
* bugfix: passlib.totp: add missing import to UTs; add 'cryptography' package ↵Eli Collins2016-06-101-0/+2
| | | | to tox.ini
* passlib.ext.django: dropped support for django 1.6-1.7, per passlib 1.6.6 ↵Eli Collins2016-02-091-25/+9
| | | | | | | | | announcement motivation is that django hashers framework has matured greatly as of django 1.8, and dropping all prior versions not only eases support burden, but opens up opportunity for integration via less invasive method in a future passlib release, using django 1.8 as a common base.
* Merge with stableEli Collins2016-02-091-0/+8
|\
| * passlib.ext.django: fixes so we're compatible with django 1.9, fixes issue 68Eli Collins2016-02-081-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | failures were mostly in the unittests, not in passlib proper. however, to get things working, ended up making some internal improvements to django integration. * passlib.ext.django now patches get_hashers() for django 1.8+ * the (still internal) _PasslibHasherWrapper, which wraps a passlib hash in a django-hasher-compatible api, got an overhaul: - 'rounds' and 'iterations' attributes now populated from underlying passlib hasher, so inspecting them gives sane result. - now autohandles 'rounds' vs 'iterations' to match expected django api. - bugfix: correct OrderedDict import removed in django 1.9 - .must_update() now mimics django's semantics, using wrapped handler.parse_rounds(). previously just always returned False. - NOTE: all these changes bring this thing much closer to be able to provide passlib handlers TO django, rather than having to patch entire django framework. * unittests - django 1.7+: populate django apps before test; required as of 1.9 - added rounds settings required for 1.9 test to function - django tests integratio - now keeps context in sync for all hashers, not just pbkdf2_sha256; needed to pass some django 1.9 tests. * django 1.8 is LTS, and <= 1.7 is EOLed, per https://www.djangoproject.com/download/; so now planning to drop django 1.6 / 1.7 support in passlib 1.7.
* | notesEli Collins2015-07-251-0/+4
| |
* | passlib.ext.django cleanupsEli Collins2015-07-221-36/+1
|/ | | | | | | | | | | | * stripped out support for django 1.4/1.5; removes a TON of edge cases we no longer need. * added formal MIN_DJANGO_VERSION constant, moved version check to models._apply() so test cases don't throw error if older django is present. * monkeypatcher now supports passed wrapped function as first argument, simplifies imports & calls w/in models.py
* tox.ini: only pass in _DJANGO_SOURCE_PATH env var for the 'django-py{2,3}'Eli Collins2015-07-221-2/+4
| | | | environments, otherwise the others ones confusingly get the wrong django source.
* test framework fix: django 1.7+ puts tests in source, not in package.Eli Collins2015-07-211-1/+15
| | | | | | for full integration tests to run in this case, user has to provide path to django source as $PASSLIB_TESTS_DJANGO_SOURCE_PATH. should match version of django being tested.
* updated tox.ini -- derived from one in default branch,Eli Collins2015-07-211-105/+205
| | | | but with some additional updates. needs to be merged back.
* bugfix: passlib.ext.django: clarified & tweaked logic for when we passEli Collins2015-01-251-0/+10
| | | | | | | | | | | make_password()'s salt parameter on to the hash (fixes issue 52). old behavior would incorrectly pass explicit salt provided for hash that didn't need one; a situation that only occurs in django 1.4.0-1.4.5's unittests, and was corrected in django 1.4.6's. new behavior separates out a couple of the cases we were trying to handle, handles them separately, has better comment explaining what's going on.
* test_ext_django: fix spurious error if django 1.6 installed but not bcrypt; ↵Eli Collins2013-12-281-1/+8
| | | | added tox case to catch it also
* updated tox.ini with notes about different environmentsEli Collins2013-12-261-2/+17
|
* removed py27, gae25 from tox config, updated GAE app.yaml --Eli Collins2013-12-231-31/+4
| | | | | tox, virtualenv, setuptools no longer supporting py25, have to run those manually. should consider dropping py25 in passlib 1.7.
* updated rounds values based on timing tests. also:Eli Collins2013-12-221-1/+1
| | | | | * a number of hashes now feed off pbkdf2_XXX.default_rounds * added security note re: dlitz_pbkdf2_sha1
* django compatibility part 2Eli Collins2013-12-221-12/+18
| | | | | | | | * added implementation of django 1.6's bcrypt_sha256 hasher, and UTs * added django16 premade context to passlib.apps, made it default django_context * test_ext_django now makes use of django16_context * passlib.ext.django.utils.get_preset_config() now uses django16_context * tox 'django' and 'django-py3' now test bcrypt integration
* added support for bcrypt library (issue 49),Eli Collins2013-12-201-7/+28
| | | | also split bcrypt handler tests out into separate file for ease of testing
* django compatibility updates (should fix issue 50)Eli Collins2013-12-201-18/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | | passlib.ext.django & it's tests have gotten out of sync with django, leading to a number of UT failures, as reported in issue 50. tests now pass on django 1.2 through 1.6 passlib.ext.django ------------------ mimic changes in django's hasher logic: * handle unsalted_sha1 hasher (django 1.4.6+) * check_password(): empty hashes return False, rather throw error (django 1.5+ * allow empty passwords (django 1.6+) * generate unusuable password suffixes (django 1.6+) passlib.hash ------------ * django_des_crypt: added "use_duplicate_salt" class attr, allowing tests to enable django 1.4+ style hashes which omit 1st salt. * django_disabled: added support for django 1.6+ random suffixes passlib.tests ------------- * test_ext_django: lots of changes to verify django 1.5/1.6 behavior * test_handlers_django: split django tests out of test_handlers to make it easiers to run django-related tests. * added workaround for encoding glitch in salted_md5 / salted_sha1 hashers (django 1.5+)
* added pypy1.9 & py3.3 to toxEli Collins2012-08-021-3/+12
|
* large number of assorted documentation updatesEli Collins2012-08-011-1/+1
|
* project-wide whitespace & comment cleanup (it's been a couple of years)Eli Collins2012-08-011-1/+1
|
* misc testing fixesEli Collins2012-05-011-4/+3
| | | | | | | | | | | * bcrypt fuzz fix: detect $2$ hashes w/ passwords like 'abc' 'abcabc' and regenerate, since $2$ would hash them the same. one in a million chance, but I hit it. * django_bcrypt: skip multi-ident testing entirely, only one prefix is used. * get_fuzz_settings() now handles passwords too, so handlers can alter them * get_fuzz_ident() now checks os_supports_ident() directly, so bcrypt test doesn't have to * test_14_salt_chars now cleans up salt, so bcrypt test doesn't have to * glitch in fuzz skip code * add tox.ini to sdist
* final tweaks to test config filesEli Collins2012-05-011-18/+26
|
* unittest cleanups, better coverage, etcEli Collins2012-04-301-25/+62
| | | | | | | | | | | | | | | * split ut2 backports into separate module to keep them distinct from customizations * added backport of skip() / skipIf(), simplified a bunch of code * "PASSLIB_TESTS" env var renamed to "PASSLIB_TEST_MODE", has one of three values (quick,default,full) * assertWarningList() can now be used as context manager * added TestCase.mktemp(), and some capability tests via TestCase.require_xxx() * HandlerCase - subclasses can now modify do_xxx() settings and context using unified interface. - defaults to lower number of rounds for all hashes, to speed up UTs - create_backend_case() is now classmethod that yields multiple backends - added test to ensure os_crypt hashes forbid NULL chars - EncodingHandlerMixin for common tests of 'encoding' keyword
* assorted small details that weren't covered in the last few mergesEli Collins2012-04-271-2/+2
|
* add posargs supports to tox config, passes all args to noseEli Collins2012-04-171-6/+12
|
* updated tox config, moved GAE helper into tests module to silence tox warningEli Collins2012-04-171-21/+61
|
* added unittest2 to py3 tox configsEli Collins2011-10-091-2/+6
|
* added tox config file, may replace custom testing harnessEli Collins2011-10-071-0/+48