summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/conf.py2
-rw-r--r--docs/index.rst4
-rw-r--r--docs/install.rst23
-rw-r--r--docs/lib/passlib.context.rst2
-rw-r--r--docs/lib/passlib.hash.bcrypt.rst2
-rw-r--r--docs/lib/passlib.hash.scram.rst2
-rw-r--r--docs/lib/passlib.hash.sha256_crypt.rst6
-rw-r--r--docs/password_hash_api.rst2
8 files changed, 29 insertions, 14 deletions
diff --git a/docs/conf.py b/docs/conf.py
index d9ed120..d28206c 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -77,7 +77,7 @@ index_doc = 'index'
# General information about the project.
project = u'Passlib'
-copyright = u'2008-2011, Assurance Technologies, LLC'
+copyright = u'2008-2012, Assurance Technologies, LLC'
# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
diff --git a/docs/index.rst b/docs/index.rst
index 5118c31..433c251 100644
--- a/docs/index.rst
+++ b/docs/index.rst
@@ -30,6 +30,10 @@ using the :doc:`SHA256-Crypt </lib/passlib.hash.sha256_crypt>` algorithm::
Contents
========
+.. rst-class:: floater
+
+.. seealso:: :ref:`What's new in Passlib 1.6 <whats-new>`
+
Introductory Materials
----------------------
diff --git a/docs/install.rst b/docs/install.rst
index 4f7742c..5007686 100644
--- a/docs/install.rst
+++ b/docs/install.rst
@@ -50,6 +50,8 @@ To install from a source directory using :command:`setup.py`::
python setup.py install
+.. rst-class:: html-toggle
+
Testing
=======
Passlib contains a comprehensive set of unittests providing nearly complete coverage.
@@ -59,18 +61,21 @@ and are designed to be run using the
Once Passlib and Nose have been installed, the tests may be run from the source directory::
- # to run the platform-relevant tests...
- nosetests -v --tests passlib/tests
+ # to run the full passlib test suite...
+ PASSLIB_TEST_MODE="full" nosetests -v --tests passlib/tests
+
+Tests may also be run via ``setup.py test`` or the included ``tox.ini`` file.
- # to run all tests...
- PASSLIB_TESTS="all" nosetests -v --tests passlib/tests
+.. note::
- # to run nose with the optional coverage plugin...
- # (results will be in build/coverage)
- PASSLIB_TESTS="all" nosetests -v --tests passlib/tests --with-coverage \
- --cover-package=passlib --cover-html --cover-html-dir build/coverage
+ Due to the critical nature of password hashing, Passlib's unittest framework
+ is rather extensive, covering the behavior of all the classes, 8-bit
+ test vectors for all supported hashes, and some primitive fuzz testing;
+ it occupies ~38% of the Passlib codebase. Because of this, the full test
+ suite make take some time to run. Setting ``PASSLIB_TEST_MODE`` to
+ ``"quick"`` or ``"default"`` will speed things up.
-(There will be a large proportion of skipped tests, this is normal).
+.. rst-class:: html-toggle
Documentation
=============
diff --git a/docs/lib/passlib.context.rst b/docs/lib/passlib.context.rst
index 210569c..185b183 100644
--- a/docs/lib/passlib.context.rst
+++ b/docs/lib/passlib.context.rst
@@ -147,6 +147,8 @@ Options which directly affect the behavior of the CryptContext instance:
.. seealso:: :ref:`context-migration-example` in the tutorial
+.. _context-min-verify-time-option:
+
``min_verify_time``
If specified, unsuccessful :meth:`~CryptContext.verify`
diff --git a/docs/lib/passlib.hash.bcrypt.rst b/docs/lib/passlib.hash.bcrypt.rst
index 70c6341..f917dae 100644
--- a/docs/lib/passlib.hash.bcrypt.rst
+++ b/docs/lib/passlib.hash.bcrypt.rst
@@ -40,6 +40,8 @@ Interface
=========
.. autoclass:: bcrypt()
+.. _bcrypt-backends:
+
.. note::
This class will use the first available of four possible backends:
diff --git a/docs/lib/passlib.hash.scram.rst b/docs/lib/passlib.hash.scram.rst
index 9a232a4..177ed3b 100644
--- a/docs/lib/passlib.hash.scram.rst
+++ b/docs/lib/passlib.hash.scram.rst
@@ -136,7 +136,7 @@ any digests. An example would be::
The algorithm used to calculate each digest is::
- pbkdf2(salsprep(password).encode("utf-8"), salt, rounds, -1, alg)
+ pbkdf2(salsprep(password).encode("utf-8"), salt, rounds, alg_digest_size, "hmac-"+alg)
...as laid out in the SCRAM specification [#scram]_. All digests
should verify against the same password, or the hash is considered malformed.
diff --git a/docs/lib/passlib.hash.sha256_crypt.rst b/docs/lib/passlib.hash.sha256_crypt.rst
index bbe9c4e..c0f44d8 100644
--- a/docs/lib/passlib.hash.sha256_crypt.rst
+++ b/docs/lib/passlib.hash.sha256_crypt.rst
@@ -5,8 +5,10 @@
.. currentmodule:: passlib.hash
SHA-256 Crypt and SHA-512 Crypt were developed in 2008 by Ulrich Drepper [#f1]_,
-designed as the successor to :class:`~passlib.hash.md5_crypt`. They include fixes
-and advancements such as variable rounds, and use of NIST-approved cryptographic primitives.
+designed as the successor to :class:`~passlib.hash.md5_crypt`.
+They include fixes and advancements such as variable rounds, and use of NIST-approved cryptographic primitives.
+The design involves repeated composition of the underlying digest algorithm,
+using various arbitrary permutations of inputs.
SHA-512 / SHA-256 Crypt are currently the default password hash for many systems
(notably Linux), and have no known weaknesses.
SHA-256 Crypt is one of the three hashes Passlib :ref:`recommends <recommended-hashes>`
diff --git a/docs/password_hash_api.rst b/docs/password_hash_api.rst
index 13ace1d..4dc2314 100644
--- a/docs/password_hash_api.rst
+++ b/docs/password_hash_api.rst
@@ -389,7 +389,7 @@ There is currently one additional support method, :meth:`~PasswordHash.identify`
If you are considering using this method to select from multiple
algorithms in order to verify a password, you may be better served
- by the :doc:`CryptContext <context-overview>` class.
+ by the :ref:`CryptContext <context-overview>` class.
..
the undocumented and experimental support methods currently include