summaryrefslogtreecommitdiff
path: root/passlib/utils
Commit message (Collapse)AuthorAgeFilesLines
* removed pure-python bcrypt implementation, wasn't fast enough to be usuable, ↵Eli Collins2011-03-241-640/+0
| | | | and probably never will be.
* added phpass_context & phpbb3_context to passlib.appsEli Collins2011-03-241-1/+7
|
* big rename: changed base handler class namesEli Collins2011-03-221-20/+20
| | | | | | | | ============================================ renamed the classes in passlib.utils.handlers, for clarity in code: * BaseHash -> SimpleHandler * ExtHash -> ExtendedHandler * BackendExtHash -> MultiBackendHandler
* big rename: driver->handlerEli Collins2011-03-222-1/+1
| | | | | | =========================== Renamed all references from password hash "driver" -> password hash "handler", to be more consistent with existing phrasing. This also required rearranging quite a lot of modules.
* documentation work & rearrangingEli Collins2011-03-221-5/+23
| | | | | | | | | | ================================ * added documentation for overview, ldap digests * lots of other documentation updates * renamed passlib.unix -> passlib.hosts * renamed passlib.sqldb -> passlib.servers * added passlib.servers.custom_app_context for quickstart purposes * added ldap {CLEARTEXT} support
* cleaned up registry code, added more UTs.Eli Collins2011-03-211-1/+20
|
* bugfixes, tweaks, test casesEli Collins2011-03-185-61/+16
| | | | | | | | | | | | | | | | | ============================ * now at 99% coverage * changed some error types * bugfix to min_verify_time code * tests for registry, some cryptcontext border cases * ldap hash tests * tests for rest of utils * tests for skeleton hash classes in passlib.utils.drivers * moved validate_class code from skeleton hash classes to HandlerCase main things still needing testing: * category support for CryptContext/Policy * some bits of registry
* coverage workEli Collins2011-03-184-7/+8
| | | | | | | | | | | ============= * restored "default" mode for set_backend() * bugfix: HandlerCase now sets backend explicitly, incorrect backend checks were previously happening * added UT for genhash(secret, None) * enabled HandlerCase.supports_unicode for all hashes * added some needed test cases revealed by coverage check * added "pragma: no cover" for a select few branches that don't need testing * all UTs pass, 92% coverage
* disabled pure-python bcrypt backend - just too painfully slow to count as ↵Eli Collins2011-03-171-1/+5
| | | | "supporting" bcrypt
* to simplify things, merged StaticHash's minimal amount of code into ExtHash, ↵Eli Collins2011-03-171-85/+34
| | | | and removed StaticHash entirely
* bugfixesEli Collins2011-03-171-1/+1
| | | | | | | | | | ======== * bugfix: test_apache now backdates mtime on files instead of time.sleep() - more reliable across OS's * bugfix: bcrypt & md5_crypt used classmethod() on _has_backend_xxx attrs instead of classproperty() * added backendmixin test suite to HandlerCase to detect regression of above backend bug * added test case for CryptContext.replace() * added setUp/cleanUp support to create_backend_case() (fixes ut test bug) * all UTs passed
* supporting hashes addedEli Collins2011-03-142-2/+3
| | | | | | | | ======================= * added unix_fallback scheme, for detecting wildcard/disabled passwords in /etc/shadow files * added plaintext scheme, for migrating existing application * added hex md4/md5/sha1/sha256/sha512 schemes, for migrating existing applications * docs & UTs added for above schemes
* finished documenting specific interface details for all existing password hashesEli Collins2011-03-031-4/+0
|
* removed autodocument() method (stub left for now)Eli Collins2011-03-021-204/+2
|
* documentation workEli Collins2011-02-242-18/+27
| | | | | | | | | | | ================== updated des crypt, crypt16, bigcrypt, bsdi crypt docs: * added details of algorithm * added security issues section * updated deviations text * other doc updates
* misc documentation updatesEli Collins2011-02-242-8/+32
|
* large rearrangment of structureEli Collins2011-02-162-29/+29
| | | | | | | | | | | | | | | | | | | | =============================== * moved passlib.hash package to passlib.drivers * combined some passlib.driver modules together (eg ext_des_crypt merged w/ des_crypt) * renamed all hash classes to lower case, to match name attrs. * renamed ext_des_crypt to bsdi_crypt * added special proxy module "passlib.hash" which lazily loads drivers from correct location - registry system reworked, has list of locations for builtin drivers, and capability for apps to add more - passlib.hash *is* the registry, changes to it affect list - thanks to this, documentation can remain, pointing to passlib.hash.xxx as location for driver * moved passlib.utils.handlers to passlib.utils.drivers, renamed classes from XxxHandler -> XxxHash * combined all driver tests into single passlib/tests/test_drivers.py file * NOTE: disabled default unicode testing, not ready for that yet * all driver UTs pass (others not checked)
* passlib.utils:rng now uses SystemRandom if urandom available (previously ↵Eli Collins2011-02-161-4/+9
| | | | just seeded a prng *from* urandom)
* combined sha256/512crypt handlers into sha2_crypt module; updated their UTs; ↵Eli Collins2011-02-161-0/+1
| | | | bugfixes
* notes, cleanupsEli Collins2011-02-141-51/+0
|
* cleanupsEli Collins2011-02-142-371/+265
| | | | | | | | | | | | | ======== * removed from utils since they're not used: norm_salt, norm_rounds, gen_salt * commented out from utils since they're not used: abstractmethod, abstractclassmethod, memoized_class_property * removed passlib.hash.__skel - no longer used * rearranged utils.handlers: - all handler helper classes now inherit from eachother - BaseHandler (renamed from WrappedHandler) - ExtHandler (inherits from BaseHandler, was previously the one named BaseHandler) - StaticHandler (inherits from ExtHandler, renamed from PlainHandler) * converted test_handler classes to use ExtHandler & StaticHandler
* converted NTHash, PostgresMD5, SHA256Crypt, SunMD5Crypt to classesEli Collins2011-02-142-56/+82
|
* convert BCrypt, MySQL 41 to classesEli Collins2011-02-142-107/+63
|
* added some internal notes about linux/bsd des-crypt border casesEli Collins2011-02-131-0/+4
|
* lazy backend selectionEli Collins2011-02-132-0/+80
| | | | | | | | ====================== * added BackendBaseHandler with framework for multiple backends * used it to implement os crypt / builtin backends for des-crypt, sha512-crypt * better than old method, since it does lazy checking only if hash is used * allows backends to be selected via set_backend(), making UTs easier
* bugfixes; h64.encode_int/decode_int now have big-endian flagEli Collins2011-02-131-12/+23
|
* cleaned up helper handler classes, converted some more hashesEli Collins2011-02-122-374/+394
|
* bugfix: h64.encode_dc_int64Eli Collins2011-02-121-5/+16
| | | | | | | des crypt & ext des crypt were using h64.encode_int64, which has been using wrong format since #fabd4b7f8ff5. this adds encode_dc_int64, which generates specific format used to encode des digest for those schemes.
* trying out sha512_crypt class-based handlerEli Collins2011-02-112-19/+263
| | | | | | | | * added passlib.utils.handlers.BaseSRHandler - class providing framework for hashes w/ salt & rounds * converted sha512_crypt to use it (registers class when module imported) * tweaked autodocument to work w/ classes - FIXME: won't work right with common methods in parent class * tweaked handler registration to check if module registered class after import
* renamed rounds_cost constants to "linear" and "log2"Eli Collins2011-02-091-2/+2
|
* added rounds_cost informational attributeEli Collins2011-02-071-1/+4
|
* misc fixesEli Collins2011-02-071-187/+6
| | | | | | | ========== * CryptContext.is_compliant() now checks rounds parameter * some typo fixes * removed docs from CryptHandler - text is now in docs/password_hash_api.rst
* misc notesEli Collins2011-02-041-2/+4
|
* encode transposed bytesEli Collins2011-02-041-64/+105
| | | | | | ======================= * replaced h64.encode_xxx_offsets() functions with h64.encode_transposed_bytes() and list of offsets * affects sha256-crypt, sha512-crypt, md5-crypt, sun-md5-crypt
* documentation updatesEli Collins2011-02-041-39/+81
| | | | | | | ===================== * documentation added for mysql & postgres hashes * enhanced autodocument() function's output * added usage examples for more hashes
* more documentation workEli Collins2011-02-021-3/+3
|
* work on autogenerating function docstrings for hash modulesEli Collins2011-02-021-8/+145
|
* added nthash support; document updatesEli Collins2011-02-011-13/+32
|
* added phpass portable hashEli Collins2011-02-011-0/+18
|
* miscEli Collins2011-02-011-2/+2
| | | | | | ==== * added documentation * bugfix: ext-des-crypt rounds were being capped at 12 bits, not 24. added ut for regression.
* updated docsEli Collins2011-01-315-97/+73
|
* rearranged some modulesEli Collins2011-01-301-0/+520
|
* working on policy for CryptContext, names must now use underscores instead ↵Eli Collins2011-01-301-0/+31
| | | | of hyphens
* wow. lots of rearrangingEli Collins2011-01-284-235/+249
| | | | | | | | ======================== * back to 1.2 structure * moved h64 helpers into utils.h64 module * pared down CryptHandler * tightened UTs somewhat
* md5-crypt now uses stdlib backend if availableEli Collins2011-01-251-1/+1
|
* moved DES routines to separate moduleEli Collins2011-01-254-698/+771
|
* work on lanman hashEli Collins2011-01-253-2/+71
|
* misc stuffEli Collins2011-01-241-0/+189
|
* optimized _slow_bcrypt, now somewhat faster (still not really usuable in ↵Eli Collins2011-01-211-156/+177
| | | | production)
* _slow_crypt: merged des_setkey & des_cipher, since crypt doesnt need multiblockEli Collins2011-01-211-43/+40
|