Catch exception in redirect as pointed out by mgorny at PR #41
Merge pull request #45 from tampakrap/noreversematch

Catch exception in redirect as pointed out by mgorny at PR #41
urls: import the whole module rather than single views.

We import all the views anyway, so we end up repeating every name twice,
and potentially polluting the namespace.
use LDAPUser and ldapdb in profile page

Currently I am using anon LDAP queries to parse data.
In the future when we will implement a secondary password I'll add user
LDAP queries.
Merge pull request #46 from mgorny/views-no-import

urls: import the whole module rather than single views.
Move middleware & installed app settings to common.

Keeping them split into all those samples is not really beneficial,
and makes bisecting painful. Instead, keep the common middleware & apps
common, and override as necessary in devel/prod.
Merge pull request #49 from mgorny/merged-settings

Move middleware & installed app settings to common.
addition of helper bash scripts for development
python2 only, add --traceback
Introduce initial code for two-phase auth support.

This commit adds a simple NoOTPDevice model that currently serves
the purpose of responding successfully to any request. The login view
has been extended with proper OTP device setup and initial verification
support.
Introduce a dummy token input.
Support TOTP with database storage (temporarily).

A dedicated database model is used to store the secrets. If user does
not have a secret, it is assumed that he disabled OTP.
Introduce 'otp-setup', to set TOTP up.
Support displaying QRCode for TOTP URI.
Support SOTP recovery keys.
Revoke used tokens atomically.

This should prevent replay attacks on TOTP and SOTP.
Re-use TOTPDevice for handling 'OTP disabled'.

There's no point in having a special device that checks if TOTP secret
is set. Let's just do that in TOTPDevice.
Merge pull request #50 from tampakrap/bin

addition of helper bash scripts for development
Merge pull request #48 from mgorny/otp

First part of OTP support
Remove Modelbackend, it is useless