v0.5.0 - 2016-07-01

commit: e3ab6427

Added

  • Add more password scheme support to the mysql authentication backend: ldap user attribute scheme encoding and simple password hash in hexa for md5, sha1, sha224, sha256, sha384, sha512.
  • Add a main heading to template "Central Authentication Service" with a logo controled by CAS_LOGO_URL
  • Add logos to the project (svg, png)
  • Add coverage computation
  • link project to codacy
  • Update doc: add debian requirement, correct typos, correct links

Changed

  • Use settings to set tests username password and attributes
  • Tweak the css and html for small screens
  • Update travis cache for faster build
  • clean Makefile, use pip to install, add target for tests

Fixed

  • Fix "warn me": we generate the ticket after the user agree to be connected to the service. we were generating first and the connect button was a link to the service url with the ?ticket= this could lead to situation where the ticket validity expire if the user is slow to click the connect button.
  • Fix authentication renewal: the renew parameter were not transmited when POST the login request and self.renew (aks for auth renewal) was use instead of self.renewed (auth was renewd) when generating a ticket.
  • Fix attribute value replacement when generating a ticket: we were using the 'name' attribute instead of the 'attribut' attribut on ReplaceAttributValue
  • Fix attribute value replacement when generating a ticket then the value is a list: iterate over each element of the list.
  • Fix a NameError in utils.import_attr
  • Fix serviceValidate and samlValidate when user_field is an attribute that is a list: we use the first element of the list as username. we were serializing the list before that.
  • Correct typos

Cleaned

  • Clean some useless conditional branches found with coverage
  • Clean cas.js: use compact object declararion
  • Use six for python{2|3} compatibility
  • Move all unit tests to cas_server.tests and use django primitive. We also have a 100% tests coverage now. Using the django classes for tests, we do not need to use our own dirty mock.
  • Move mysql backend password check to a function in utils