`/mit/__init__.py` contains some useful functionality for Django applications
running at MIT, particularly on the scripts.mit.edu platform

- `zephyr(msg, clas, instance, rcpt)` sends a zephyr (by shelling out to
  zwrite).  This may be useful for debugging or logging
- `ScriptsRemoteUserMiddleware` and `ScriptsRemoteUserBackend` work together to
  auto-create users from certificates on scripts.mit.edu-hosted sites. Account
  details are automatically retrieved from LDAP.
- `scripts_login` is a view that tries to log users into a site using certs.

To use them, you'll probably want to symlink or copy the `mit` directory into
your project, add it to your apps list, and modify your middlewares and auth
backend appropriately. Do *not* link this (the `django` directory) into your
app; it's reasonably likely to break your `import django.foo` statements.

This code is descended from work on
[Remit](https://remit.scripts.mit.edu/trac/) and the [ASA
DB](https://asa.scripts.mit.edu/trac/); current and past bugs are likely to be
filed there.

Using certificate authentication
--------------------------------

1. Copy the `mit` directory into your project
2. Update settings.py
   - Add `mit.ScriptsRemoteUserMiddleware` to the end of `MIDDLEWARE_CLASSES`
   - Add `mit.ScriptsRemoteUserBackend` to the beginning of
     `AUTHENTICATION_BACKENDS`
3. Add `url(r'^accounts/login/',  'mit.scripts_login',  name='login', )` to
   your `urls.py`. This causes `@login_required` and similar mechanisms to
   automatically redirect users to port 444 and log them in with certificates.

