<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/python-packages/passlib.git/passlib/ext/django, branch ironpython-support-dev</title>
<subtitle>foss.heptapod.net: python-libs/passlib
</subtitle>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/passlib.git/'/>
<entry>
<title>CryptPolicy deprecated, part2 - updated rest of library to use CryptContext directly</title>
<updated>2012-04-17T19:34:14+00:00</updated>
<author>
<name>Eli Collins</name>
<email>elic@assurancetechnologies.com</email>
</author>
<published>2012-04-17T19:34:14+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/passlib.git/commit/?id=e56e08c56ea0a4a8ac45aff7bfcd39d351e04e53'/>
<id>e56e08c56ea0a4a8ac45aff7bfcd39d351e04e53</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>ran full UTs, found and fixed a few bugs introduced in last few commits.</title>
<updated>2012-04-11T23:31:37+00:00</updated>
<author>
<name>Eli Collins</name>
<email>elic@assurancetechnologies.com</email>
</author>
<published>2012-04-11T23:31:37+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/passlib.git/commit/?id=046cfe8a3489ccf87e06a5a9982b283eb71945b0'/>
<id>046cfe8a3489ccf87e06a5a9982b283eb71945b0</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>clarify behavior for secret=None and hash=None</title>
<updated>2012-04-11T21:49:09+00:00</updated>
<author>
<name>Eli Collins</name>
<email>elic@assurancetechnologies.com</email>
</author>
<published>2012-04-11T21:49:09+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/passlib.git/commit/?id=5bd6deb8144cb24caa51e82c7682f706ecc09a6c'/>
<id>5bd6deb8144cb24caa51e82c7682f706ecc09a6c</id>
<content type='text'>
* passing a non-string secret or non-string hash to any
  CryptContext or handler method will now reliably result
  in a TypeError.

  previously, passing hash=None to many handler identify() and verify()
  methods would return False, while others would raise a TypeError.
  other handler methods would alternately throw ValueError or TypeError
  when passed a value that wasn't unicode or bytes.
  the various CryptContext methods also behaved inconsistently,
  depending on the behavior of the underlying handler.

  all of these behaviors are gone, they should all raise the same TypeError.

* redid many of the from_string() methods to verify the hash type.

* moved secret type &amp; size validation to GenericHandler's encrypt/genhash/verify methods.
  this cheaply made the secret validation global to all hashes, and lets
  _calc_digest() implementations trust that the secret is valid.

* updated the CryptContext and handler unittests to verify the above behavior is adhered to.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* passing a non-string secret or non-string hash to any
  CryptContext or handler method will now reliably result
  in a TypeError.

  previously, passing hash=None to many handler identify() and verify()
  methods would return False, while others would raise a TypeError.
  other handler methods would alternately throw ValueError or TypeError
  when passed a value that wasn't unicode or bytes.
  the various CryptContext methods also behaved inconsistently,
  depending on the behavior of the underlying handler.

  all of these behaviors are gone, they should all raise the same TypeError.

* redid many of the from_string() methods to verify the hash type.

* moved secret type &amp; size validation to GenericHandler's encrypt/genhash/verify methods.
  this cheaply made the secret validation global to all hashes, and lets
  _calc_digest() implementations trust that the secret is valid.

* updated the CryptContext and handler unittests to verify the above behavior is adhered to.
</pre>
</div>
</content>
</entry>
<entry>
<title>updated passlib.ext.django; made some notes about django 1.4</title>
<updated>2012-03-13T02:41:12+00:00</updated>
<author>
<name>Eli Collins</name>
<email>elic@assurancetechnologies.com</email>
</author>
<published>2012-03-13T02:41:12+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/passlib.git/commit/?id=ca830cd76a655f20488aebd082aba1a320e230d0'/>
<id>ca830cd76a655f20488aebd082aba1a320e230d0</id>
<content type='text'>
(may not support django 1.4 until passlib 1.7)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
(may not support django 1.4 until passlib 1.7)
</pre>
</div>
</content>
</entry>
<entry>
<title>split exceptions/warnings to separate module; added some additional warning classes to make filtering easier</title>
<updated>2012-01-19T01:36:38+00:00</updated>
<author>
<name>Eli Collins</name>
<email>elic@assurancetechnologies.com</email>
</author>
<published>2012-01-19T01:36:38+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/passlib.git/commit/?id=6f816a3d7f1f3a394fedcc0aa410792a95b9ece6'/>
<id>6f816a3d7f1f3a394fedcc0aa410792a95b9ece6</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>import cleanups</title>
<updated>2012-01-18T22:51:32+00:00</updated>
<author>
<name>Eli Collins</name>
<email>elic@assurancetechnologies.com</email>
</author>
<published>2012-01-18T22:51:32+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/passlib.git/commit/?id=666aa14bf15ed898472463d2ec890de0b8c60923'/>
<id>666aa14bf15ed898472463d2ec890de0b8c60923</id>
<content type='text'>
* moved bytes compat functions from utils to utils.compat
  (bord, bjoin, bjoin_ints, bjoin_elems, ujoin)
* renamed bord -&gt; belem_ord for clarify
* a bunch of to_native_str() always use ascii, and
  have fixed input types (always bytes or always unicode).
  these don't need overhead of to_native_str(), so replaced
  those calls with two new funcs: compat.bascii_to_str() /
  compat.uascii_to_str()
* cleaned up a lot of imports from utils/utils.compat to
  pull from correct module
* simplified the to_string() logic of a bunch of handlers
  to reduce unicode&lt;-&gt;byte transitions
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* moved bytes compat functions from utils to utils.compat
  (bord, bjoin, bjoin_ints, bjoin_elems, ujoin)
* renamed bord -&gt; belem_ord for clarify
* a bunch of to_native_str() always use ascii, and
  have fixed input types (always bytes or always unicode).
  these don't need overhead of to_native_str(), so replaced
  those calls with two new funcs: compat.bascii_to_str() /
  compat.uascii_to_str()
* cleaned up a lot of imports from utils/utils.compat to
  pull from correct module
* simplified the to_string() logic of a bunch of handlers
  to reduce unicode&lt;-&gt;byte transitions
</pre>
</div>
</content>
</entry>
<entry>
<title>added compat.unicode imports in a number of places</title>
<updated>2011-12-06T21:08:52+00:00</updated>
<author>
<name>Eli Collins</name>
<email>elic@assurancetechnologies.com</email>
</author>
<published>2011-12-06T21:08:52+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/passlib.git/commit/?id=c5ec1f9c49522a357075c9a0353b028f930e04ad'/>
<id>c5ec1f9c49522a357075c9a0353b028f930e04ad</id>
<content type='text'>
this distinguishes the types, so that for isinstance() tests...

* 'unicode' always means the unicode type
* 'bytes' always means the bytes type
* 'str' always means the native string type
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
this distinguishes the types, so that for isinstance() tests...

* 'unicode' always means the unicode type
* 'bytes' always means the bytes type
* 'str' always means the native string type
</pre>
</div>
</content>
</entry>
<entry>
<title>added get_method_function() to alias meth.im_func / meth.__func__</title>
<updated>2011-12-06T18:09:13+00:00</updated>
<author>
<name>Eli Collins</name>
<email>elic@assurancetechnologies.com</email>
</author>
<published>2011-12-06T18:09:13+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/passlib.git/commit/?id=9a4996c38e1980ac290eceae8ee608ce67b5db0c'/>
<id>9a4996c38e1980ac290eceae8ee608ce67b5db0c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>added django 0.9 support to passlib.ext.django &amp; tests (such as may be found on GAE)</title>
<updated>2011-09-20T01:22:14+00:00</updated>
<author>
<name>Eli Collins</name>
<email>elic@assurancetechnologies.com</email>
</author>
<published>2011-09-20T01:22:14+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/passlib.git/commit/?id=1d94bf68a9ce60e10d6a7786f3a3b22f7b160e6e'/>
<id>1d94bf68a9ce60e10d6a7786f3a3b22f7b160e6e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>improvements to passlib.ext.django</title>
<updated>2011-09-14T18:42:39+00:00</updated>
<author>
<name>Eli Collins</name>
<email>elic@assurancetechnologies.com</email>
</author>
<published>2011-09-14T18:42:39+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/passlib.git/commit/?id=f21eb07e034690520afc8e844d91b14314f31a7e'/>
<id>f21eb07e034690520afc8e844d91b14314f31a7e</id>
<content type='text'>
even though it hasn't been officially documented,
some people are using it, so...

major
-----
* DEFAULT_CTX now uses SHA512-Crypt instead of PBKDF2-HMAC-SHA256,
  this should be natively supported on a larger number of platforms.

* added full unittest suite for passlib.ext.django:
  	- checks monkeypatch implementation
	- checks full plugin behavior
	- STOCK_CTX is compared against official Django behavior

minor
-----
* ``set_django_password_context()`` now patches ``django.contrib.auth.models.check_password()``
  as well as User methods.

* now exposes active context as ``User.password_context`` when patch is enabled.

* replacement ``User.check_password`` now handles None and unusable passwords explicitly,
  even if context doesn't include support for django_disabled.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
even though it hasn't been officially documented,
some people are using it, so...

major
-----
* DEFAULT_CTX now uses SHA512-Crypt instead of PBKDF2-HMAC-SHA256,
  this should be natively supported on a larger number of platforms.

* added full unittest suite for passlib.ext.django:
  	- checks monkeypatch implementation
	- checks full plugin behavior
	- STOCK_CTX is compared against official Django behavior

minor
-----
* ``set_django_password_context()`` now patches ``django.contrib.auth.models.check_password()``
  as well as User methods.

* now exposes active context as ``User.password_context`` when patch is enabled.

* replacement ``User.check_password`` now handles None and unusable passwords explicitly,
  even if context doesn't include support for django_disabled.
</pre>
</div>
</content>
</entry>
</feed>
