------------------
- MemCache reliability fixes:
+ **SECURITY FIX**: do not use the same cache key for all users.
Previously when one user logged in successfully, others could not log in
using their own passwords -- but the first user could now use her password
to log in as anyone else.
+ Do not store custom classes in memcached so we don't get unpickling
errors caused by the special execution environment set up by
pam_python.so. Previously the cached value was a subclass of tuple,
now it's a plain tuple, so old caches will continue to work with the
new code.
- FileCache reliability fixes:
+ Avoid incorrect cache lookups (or invalidations) when a username is a
proper prefix of some other username.
+ Avoid cache poisoning if usernames contain embedded '::' separators or
newlines.
+ Avoid exceptions on a race condition if the cache file disappears after
we check for its existence but before we open it for reading.
- Add missing test file for multi-group support. It was accidentally left
out of the last release causing a test failure.
- Make add-google-users skip users that already exist without printing
scary error messages that make it seem the script aborted early.