1. ==========================
    
  2. Django 1.5.4 release notes
    
  3. ==========================
    
  4. 
    
  5. *September 14, 2013*
    
  6. 
    
  7. This is Django 1.5.4, the fourth release in the Django 1.5 series. It addresses
    
  8. two security issues and one bug.
    
  9. 
    
  10. Denial-of-service via password hashers
    
  11. ======================================
    
  12. 
    
  13. In previous versions of Django, no limit was imposed on the plaintext
    
  14. length of a password. This allowed a denial-of-service attack through
    
  15. submission of bogus but extremely large passwords, tying up server
    
  16. resources performing the (expensive, and increasingly expensive with
    
  17. the length of the password) calculation of the corresponding hash.
    
  18. 
    
  19. As of 1.5.4, Django's authentication framework imposes a 4096-byte
    
  20. limit on passwords, and will fail authentication with any submitted
    
  21. password of greater length.
    
  22. 
    
  23. Corrected usage of :func:`~django.views.decorators.debug.sensitive_post_parameters` in :mod:`django.contrib.auth`’s admin
    
  24. =========================================================================================================================
    
  25. 
    
  26. The decoration of the ``add_view`` and ``user_change_password`` user admin
    
  27. views with :func:`~django.views.decorators.debug.sensitive_post_parameters`
    
  28. did not include :func:`~django.utils.decorators.method_decorator` (required
    
  29. since the views are methods) resulting in the decorator not being properly
    
  30. applied. This usage has been fixed and
    
  31. :func:`~django.views.decorators.debug.sensitive_post_parameters` will now
    
  32. throw an exception if it's improperly used.
    
  33. 
    
  34. Bugfixes
    
  35. ========
    
  36. 
    
  37. * Fixed a bug that prevented a ``QuerySet`` that uses
    
  38.   :meth:`~django.db.models.query.QuerySet.prefetch_related` from being pickled
    
  39.   and unpickled more than once (the second pickling attempt raised an
    
  40.   exception) (#21102).