Age | Commit message (Collapse) | Author |
|
I'm updating (1) some very outdated doc from when the program was not yet
written, and (2) some small stuff inside classes docstrings.
|
|
If we do not adhere to the standads, we may have a lot of problems when
bouncing a message. This commit implements a bounce message according to:
* RFC 6522 - The Multipart/Report Media Type for the Reporting of Mail
System Administrative Messages
* RFC 3834 - Do not bounce for unknown or invalid addresses.
* RFC 3464 - An Extensible Message Format for Delivery Status Notification.
Closes: #6858.
|
|
Before this commit, the mail receiver system used to compare the domain of the
delivery addresses found in the "Delivered-To" header to find out the final
delivery address. If we assume that the mail server delivery to the spool mail
directory was correct, then we have two facts: (1) the topmost "Delivered-To"
header is the one that indicates the correct final delivery address; and (2)
we should expect the address to be <uuid>@<domain> because of the earlier
alias resolve query made by the mail server.
Another problem is that the domain comparison would compare whatever is in the
"Delivered-To" header with whatever the python's socket module would return,
which depends on the values on /etc/hosts and the order of the values in that
file. This was causing problems whenever the platform made changes in
/etc/hosts.
So this commit eliminates the domain check and gets the uuid from the first
"Delivered-To" header found in the message.
Related: #6858.
|
|
This fixes a bug introduced on b0ef529cc882a96903597fb5279919969fa286c3, when
the alias resolver was modified to return the user's address instead of the
uuid.
In order to fix this, I had to revert one of the changes made by the commit
above, which is to don't make use of reduced view for the uuid query. The
pgp public key query remains reduced, as implemented in the commit above.
We also refactor the code a bit to allow for log messages specific to each of
tcp map's sublasses.
Related: #6858.
|
|
The bounce message was using the original message's "From:" header instead of
the "To:" header to indicate the original recipient. This commit fixes that.
Closes: #6854.
Releases: 0.6.2, 0.7.0
|
|
The way uuid and pgp key were being queried by means of couch views was not
efficient because they weren't using the reduce function and were filtering
the views results in the python code. Also, the uuid is not actually needed to
find out either if the address exists or if there's a pgp public key for that
address. This commit refactors the couch helper to make use of the reduce
functions in queried views and to get rid of the intermediate uuid querying.
|
|
In order to minimize the number of couchdb queries and the number of mx
lookups in case of junk mail this commit restricts the pgp key lookup to the
access check server (and removes it from the alias server).
Closes: #6795.
|
|
Separate the common tcp map server code, used for both alias resolver and
recipient access checker, to its own file.
|
|
Implement a PGP key lookup in the postfix smtp recipient restriction and
virtual alias mapping levels. If no PGP key is found, then the address is
rejected with a temporary error.
Closes: #6795
|
|
|
|
|
|
|
|
|
|
_build_key_from_gpg in keymanager has changed
|
|
|
|
|
|
|
|
'refs/remotes/drebs/bug/4475_use-couch-document' into develop
Conflicts:
src/leap/mx/mail_receiver.py
|
|
The message is already in str type, so we don't care about
encoding. json.dumps will ignore convertion.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Also add some files I forgot to add in a different feature branch.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
'drebs/feature/3487-split-soledad-into-common-client-and-server' into develop
Conflicts:
src/leap/mx/mail_receiver.py
|
|
|
|
|
|
|
|
develop
|
|
|
|
|
|
|
|
|
|
|