and how to prevent table-name truncation
Thanks russellm & timo for discussion, and timo for review.
Backported from master 317040a73b77be8f8210801793b2ce6d1a69301e
This gives a 2x speed increase compared to the existing implementation.
Thanks to Steve Thomas for the initial patch and Tim Graham for finishing it.
Backport of 1e4f53a6eb8d1816e51eb8bd8f95e704f6b89ead from master.
Pre 1.6 Django worked only with py-bcrypt, not with bcrypt. Skipped
test_bcrypt when using bcrypt to avoid false positives.
Backpatch of 9f8a36eb20895d9e542820d5190bfa77ad1b85d9 from stable/1.5.x.
Thanks go to Michael Gebetsroither for pointing out this issue and help on
the patch.
Backport of 68540fe4df44492571bc610a0a043d3d02b3d320 from master.
This reverts commit 3f3d887a6844ec2db743fee64c9e53e04d39a368.
This fix is no longer necessary, our pbkdf2 (see next commit) implementation
no longer rehashes the password every iteration.
* Limit the password length to 4096 bytes
* Password hashers will raise a ValueError
* django.contrib.auth forms will fail validation
* Document in release notes that this is a backwards incompatible change
Thanks to Josh Wright for the report, and Donald Stufft for the patch.
This is a security fix; disclosure to follow shortly.
Backport of aae5a96d5754ad34e48b7f673ef2411a3bbc1015 from master.
Backport of the Oracle-specific part of commit a18e43c5bb8cb7c82
from master. This commit made get_indexes more consistent across
backends.
Thanks Tim Graham for pointer to the commit, akaariai and ikelly
for the original commit.
Just skip the failing test, the failure isn't really relevant; also,
both the test and the reason for its failure were removed in 1.5.
Thanks Tim Graham for advice on 1.5.
In Django < 1.6, override_settings restores the settings module that was
active when the override_settings call was executed, not when it was
run. This can make a difference when override_settings is applied to a
class, since it's executed when the module is imported, not when the
test case is run.
In addition, if the settings module for tests is stored alongside the
tests themselves, importing the settings module can trigger an import
of the tests. Since the settings module isn't fully imported yet,
class-level override_settings statements may store a reference to an
incorrect settings module. Eventually this will result in a crash during
test teardown because the settings module restored by override_settings
won't the one that was active during test setup.
While Django should prevent this situation in the future by failing
loudly in such dubious import sequences, that change won't be backported
to 1.5 and 1.4. However, these versions received the "allowed hosts"
patch and they're prone to "AttributeError: 'Settings' object has no
attribute '_original_allowed_hosts'". To mitigate this regression, this
commits stuffs _original_allowed_hosts on a random module instead of the
settings module.
This problem shouldn't occur in Django 1.6, see #20290, but this patch
will be forward-ported for extra safety.
Also tweaked backup variable names for consistency.
Backport of 0261922 from stable/1.5.x.
Conflicts:
django/test/utils.py