summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2017-09-30[bug] fix delivery using Soledad Server incoming APIHEADmasterdrebs
MX was mistakenly adding a prefix of "user-" to the uuid when delivering using the new Soledad Server incoming APi. That was probably introduced by mistake because the CouchDB user databases are all prefixed with that prefix.
2017-09-28[bug] fix incompatibility with six==1.11.0Kali Kaneko
add the version of with_metaclass found in six==1.10.0 See https://github.com/SecurityInnovation/PGPy/issues/217 - Resolves: #8672
2017-09-12[bug] fail gracefully if latest six lib not foundKali Kaneko
- Resolves: #8668
2017-09-02[feature] add support for soledad incoming apiVictor Shyba
-- Related: #8664
2017-06-27[pkg] vendor pgpy 0.4.1Kali Kaneko
2017-06-27[feat] use PGPy instead of leap.keymanager to encryptRuben Pollan
In PGPy 0.4.0 keys are not accepted if they have empty lines before the ascii armored text. I addapt the tests around that for now. This is fixed already in PGPy repo, so it will not be an issue in comming releases. - Resolves: #8558, #8663
2017-05-26[bug] check if key is expiredRuben Pollan
For expired keys gnupg will not allow us to encrypt (to force it we'll need to fake the system date). Let's bounce the email properly in this case, and register the error. Make sure as well that _encrypt_message does not return None, let's raise exceptions in case of failure. - Related: #8663
2017-03-17Fix logging of couchdb errors.drebs
Leap MX was previously wrapping soledad's couchdb-related exceptions messages in its own exception. The problem was that message attribute of those exceptions were actually empty, and so the information of the actual error was lost. This commit removes the wrapper exception and forwards whatever exception was received from soledad to the logging system. Signed-off-by: Ruben Pollan <meskio@sindominio.net>
2017-01-27[style] pep8 fixesdrebs
2017-01-27Returns doc as None if we have some error during the encryptionThais Siqueira
When we had an error during encryption, the doc property "_enc_json" was empty and we were saving this empty data on CouchDb. Then it was causing the [GNUPG:] NODATA 2 error during decryption. Related with: https://github.com/pixelated/pixelated-user-agent/issues/908 with @tayanefernandes
2017-01-26[style] improve readabilityKali Kaneko
2017-01-26[bug] check if 'enabled' field exist in the Identity documentRuben Pollan
- Related: #7961
2016-04-14[feature] Bounce stalled emails after a timeout.Ruben Pollan
* Resolves: #7998
2016-04-07[style] remove unused codeRuben Pollan
2016-04-01[pkg] update versioneer to 0.16Kali Kaneko
2016-03-11[bug] Check if the account is enabledRuben Pollan
- Resolves: #7961
2015-12-09[feat] use the original message for encryptionRuben Pollan
Do not reconstruct the message from the parsed one. Added test for missleading encoding. - Resolves: #7253
2015-12-09[feat] postfix lookup against couchdb for client smtp fingerprintRuben Pollan
- Resolves: #4285
2015-11-26[style] fix pep8 errorsRuben Pollan
2015-11-23[feat] add '@deliver.local' to uuidRuben Pollan
- Resolves: #5959
2015-11-12[feat] update leap.mx usage of soledad CouchDatabaseRuben Pollan
- Related: #7565
2015-09-15[feat] return a more meaningful msg if user exists but has no keyRuben Pollan
- Resolves: #7272
2015-09-15[test] add test infrastructureRuben Pollan
Some refactor on the couchdb usage was needed to be able to mock couchdb. - Resolves: #7435
2015-09-11[feat] Don't add any X-Leap-Provenance headerRuben Pollan
- Resolves: #7439
2015-04-24[feat] make log messages match postfix's configdrebs
Change the virtual alias map and the access recipien access checker log messages so they match postfix's configuration statements.
2015-04-20[doc] update documentationdrebs
I'm updating (1) some very outdated doc from when the program was not yet written, and (2) some small stuff inside classes docstrings.
2015-04-20[bug] implement message bouncing according to RFCsdrebs
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.
2015-04-16[bug] fix extraction of uuid from message headersdrebs
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.
2015-04-16[bug] return uuid as result of alias resolverdrebs
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.
2015-04-13[bug] fix bounce message recipientdrebs
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
2015-04-09[refactor] use couch reduced views for lookupsdrebs
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.
2015-04-09[bug] limit pgp key lookup to access check serverdrebs
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.
2015-03-25[refactor] separate tcp map server codedrebs
Separate the common tcp map server code, used for both alias resolver and recipient access checker, to its own file.
2015-03-25[feat] reject incoming mail if no pgp key founddrebs
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
2015-03-25[bug] correctly return async bouncer deferreddrebs
2015-02-06Retry watching dirs if failed for some reason (closes #6687).drebs
2015-02-05Add ability to trigger processing on SIGUSR1 (Related: #2591)Kali Kaneko
2015-02-05Process unprocessed mail when MX starts (closes #2591).drebs
2014-12-22Use gpg key directlyRuben Pollan
_build_key_from_gpg in keymanager has changed
2014-09-12Add errdecr key to each mail Soledad DocumentTomás Touceda
2014-09-11Implement mail bouncing under certain problematic situationsTomás Touceda
2014-09-04Leap mx will not stop working for everyone if an user is inconsistentBruno Wagner Goncalves
2013-12-19Merge remote-tracking branch ↵Tomás Touceda
'refs/remotes/drebs/bug/4475_use-couch-document' into develop Conflicts: src/leap/mx/mail_receiver.py
2013-12-17Ignore encoding, use message.as_string directly.Tomás Touceda
The message is already in str type, so we don't care about encoding. json.dumps will ignore convertion.
2013-12-16Use CouchDocument from new backend (#4475).drebs
2013-12-05Merge remote-tracking branch 'chiiph/bug/fix_deadlock' into developKali Kaneko
2013-12-05Fix deadlock situation if adding a skipped mail failsTomás Touceda
2013-11-26Add tester script to ease debugging problematic mails.Tomás Touceda
2013-11-25Add X-Leap-Provenance header. Closes #4356.drebs
2013-11-08Implement processing skipped mail regularlyTomás Touceda