- Always default to 'python' if PYTHON env. var. unset.
- Enable SQLAlchemy warnings in daemon tests.
- Commit changes in schema initialisation script.
When we fail to produce byte representation of the email message being
processed, we may end up bouncing a message. An example of such case would be
a message with a Message-Id header that Python's email parser library cannot
process.
In such cases, just take whatever original content we have received and pass
it to the destination without touching it to minimise any chances of breaking
the overall flow.
- Provide a new reuqired parameter: [database]pooling_mode and use it during
SQLAlchemy engine initialisation.
- Update tests and configuration (including sample configuration).
- Adjust repository unit test to load config during setup.
- Pass an engine instance to repository constructors instead of connections.
Engine keeps a connection pool and we rely on it.
- Don't pass table definitions to repository constructors.
- Keep an internal reference to Engine in lacre.repository.
- Implement KeyConfirmationQueue.count_keys.
- Flush key-collecting structures each time a new public key entry is found.
This will avoid adding sub-keys and overwriting main keys with them.
- Use parseaddr from email.utils to parse emails (and drop realname part).
- Record logs produced during unit tests.
- Fix a small bug in test code.
Also: add basic information about available test identities to testing
documentation.
- Keep only one class to provide access to identities stored in the database.
- Remove old code and its tests.
- Align KeyRing and IdentityRepository APIs.
- Implement a (very) simple unit test for IdentityRepository.
- Use regular expressions instead of finding particular characters in gnupg
output to decide whether confirmation line was found.
- Use tempfile.mkdtemp to create secure temporary directories.
- Record information about the key considered by GnuPG. When missing in
exception, it means no key was found.
- ContentManager sets default Content-Type even if it was missing in the
original message.
- Make sure that when Content-Type is missing, copying parameters doesn't
raise an error.
- Add a unit-test to check that.