summaryrefslogtreecommitdiff
path: root/src/leap/bitmask/mail
AgeCommit message (Collapse)Author
2017-10-11[bug] Keep content-type when it is set in message headersSimon Fondrie-Teitler
When content-type was set in the message headers instead of the MIMEPart (e.g. when not using MIMEParts in the message) bitmask would ignore it and add the content as text/plain. This caused problems with Nylas. To fix this, if the message is not Multipart I'm keeping the assumption that everything is going to have the maintype of "text" but copying the subtype from the original message. This also decodes the original message's payload before attaching the old content to the new message to make up for the loss of encoding information. -Resolves: #9064
2017-09-29[bug] workaround for using private parseMbox functionKali Kaneko
we're doing something that shouldn't be done, that is relying on private methods of the imap server implementation. until I get to cleanup properly and submit patches for the several things we're patching in the imap server implementation, keeping up with the evolution of the imap server implementation is the only thing to do. specially when we want to get 0.10 out of the door asap.
2017-09-15[feat] Add 7bit to the list of supported encodingsSimon Fondrie-Teitler
This is required for Nylas to be able to send emails though bitmask.
2017-09-13[bug] send UIDNEXT on selectKali Kaneko
node-mail chokes if we don't.
2017-08-25[bug] replace content-type after removing the signatureRuben Pollan
- Resolves: #9003
2017-08-15[bug] encode pgp/mime parts as 7bit encodingRuben Pollan
We were encoding some parts as base64 and others with our manual encoders. Let's not do base64 and use the email standard library encoders instead. - Resolves: #8957
2017-06-12[feat] push private key updates into nicknymRuben Pollan
Deal as well with sending key if key is outdated in the providers nicknym. - Resolves: #8819, #8832
2017-05-31[bug] fix deprecated import of cryptography multibackendKali Kaneko (leap communications)
- Resolves: #8910
2017-05-24[tests] fix testsKali Kaneko (leap communications)
2017-05-24[refactor] simplify wrapper create and add_msgKali Kaneko (leap communications)
- remove premature optimization for fast-notifies. blobs will cover that, no point in maintaning the optimization at the price of creeping complexity.
2017-05-24[bug] fix sending mail error from pixelatedKali Kaneko (leap communications)
- Create the 'Sent folder' ourselves to avoid pixelated hitting a bug in mailbox creation. - I believe there's still a problem with bitmask desing for the adaptor (in get-or-create mailbox). This needs further tests. - Case manipualation to avoid having a 'Sent' and 'SENT' folder when Thunderbird and Pixelated write to those. - Further hacks to monkeypatch the leap-mail-adapter that Pixelated uses (make them reuse the account instance!). This is getting insane, I am really looking forward to the fork. - Duly note our technical debt in the area of Pixelated integration. Keeping the Pixelated codebase untouched for a long time will backfire. As far as I've noticed, we have a basic violation of the assumptions about a single-instance writes and notifications to all listeners. As commented in the commit, this should go either for a guarantee that only one account object is created per user (creating it in the bootstrapping process in bitmask), or for the opposite direction in which the listeners are communicated in some other way (zmq events, for instance). - In any case, it's strongly recommended to deduplicate the Pixelated libraries as soon as possible and make Pixelated use a better defined set of Bitmask's public apis. - Modify the wrapper create methods so that they return the modified wrapper itself. - Resolves: #8903, #8904
2017-05-16[bug] allow incoming mail to be properly notified to pixelatedKali Kaneko (leap communications)
If we do fast-notifies with pixelated running, the poll notifications for new mail on inbox break on pixelated side, because the email is not ready. - Related: #8798
2017-05-16[bug] fix notification for incoming mail with several listeners registeredKali Kaneko (leap communications)
When setting the listeners in the IMAP Folder, we avoid setting more than one listener for the same imap mailbox (because in some situations we were registering way too many listeners). this was making the pixelated inbox registering the notification and therefore the imap mailbox not being registered. this MR also refactors the way pixelated is initialized, so that it avoid creating a second Account instance. In this way, we make sure that the pixelated mua and the imap server share the same collections for a given mailbox, and therefore any of the two is able to get a notification whenever the other adds a message to the mailbox. - Resolves: #8846, #8798
2017-05-01[bug] remove remanents of IMAP profiling codeRuben Pollan
- Resolves: #8870
2017-05-01[feature] streamline and move manhole into coreKali Kaneko (leap communications)
2017-04-27[style] pep8 fixesKali Kaneko (leap communications)
2017-04-27[bug] unify logging style using class attrKali Kaneko (leap communications)
I changed most of the logger statements to use a class attribute, in this way it's easier to identify which class it's logging them. in some cases I leave a module-level logger, when we're either using functions or when the module it's too small. at the same time I did a general review and cleanup of the logging statements.
2017-04-27[bug] migrate all failures to twisted loggerKali Kaneko (leap communications)
2017-04-27[bug] catch failures with newer twisted loggerKali Kaneko (leap communications)
the migration from the stdlib python's logger to twisted logger is unable to format properly the failures unless the call is adapted - Related: #8849
2017-04-12[bug] delay initialization of pixelatedKali Kaneko (leap communications)
- Related: #8798
2017-03-31[bug] Log error in case JSON parsing fails for decrypted docSriram Viswanathan
In addition to the UnicodeError exception in _process_decrypted_doc function, we have added ValueError to the exception list so that we can catch any error in JSON parsing, specially a 'NODATA' error that we were getting with some of the emails. This is in reference to issues - https://github.com/pixelated/pixelated-user-agent/issues/908 & https://github.com/pixelated/pixelated-user-agent/issues/981 - to ignore documents that have this problem and not have Soledad try to sync them again and again. with @deniscostadsc
2017-03-31[bug] fix errBack in _decrypt_doc in incoming mail serviceSriram Viswanathan
with @deniscostadsc
2017-03-15[feature] Add errBack to log the doc_id when decrypt failsSriram Viswanathan
with @deniscostadsc
2017-03-12[bug] remove offline toggledrebs
The offline toggle added a race condition in which the client could end up offline forever. We decided to remove it for now and then decide if soledad client needs to know about network connectivity (check: https://0xacab.org/leap/soledad/issues/8789).
2017-03-05[feature] pixelated UA integrationKali Kaneko (leap communications)
a bit hacky and all, but this should launch the service and allow interacting from the default site (localhost:9090). this is the first example of a pyqt-js bridge, it's an interesting mechanism that we can use more in the future. no efforts made so far in authenticating the app.
2017-02-27[test] pass a fake shared db to soledad during testsdrebs
2017-02-27[refactor] use new soledad client parameterdrebs
- Resolves: #8721
2017-02-09[style] remove unused signaling new mail methodRuben Pollan
2017-02-09[feat] Get more detailed status report for emailRuben Pollan
- Resolves: #8754
2017-01-31Extract re-decrypt with new key methodTulio Casagrande
Signed-off-by: Ruben Pollan <meskio@sindominio.net>
2017-01-31Propagate errors to the calling methodsTulio Casagrande
Signed-off-by: Ruben Pollan <meskio@sindominio.net>
2017-01-31[docs] update parameters and return namesTulio Casagrande
Signed-off-by: Ruben Pollan <meskio@sindominio.net>
2017-01-31Repeat decryption if signed with attached keyTulio Casagrande
Previously, if an email was signed with a new key, that was also sent as an attachment, the verification of the signature could fail if the only available source of this new key is the attachment ifself. I changed to extract the attachment before adding the leap header, which is responsible for the signed/encrypted flags. Also, if the previous verification failed and a new key was successful imported, it's going to decrypt the original email again, just to update the verify status. Signed-off-by: Ruben Pollan <meskio@sindominio.net>
2017-01-31Indicate a successful/failure OpenPGP header importTulio Casagrande
Signed-off-by: Ruben Pollan <meskio@sindominio.net>
2017-01-31Extract method for easy reuseTulio Casagrande
Signed-off-by: Ruben Pollan <meskio@sindominio.net>
2017-01-31Add missing errbackTulio Casagrande
Signed-off-by: Ruben Pollan <meskio@sindominio.net>
2017-01-31Remove unused parameterTulio Casagrande
Signed-off-by: Ruben Pollan <meskio@sindominio.net>
2016-11-22[tests] fix keymanager tests after refactor and mergeZara Gebru
- some pep8 problems - some confusion with old and new code after merging from old keymanager
2016-11-06[feat] change update period with environment variabledrebs
2016-11-04[doc] fix typoTulio Casagrande
2016-11-03[bug] message can also be a BytesIOVictor Shyba
Twisted 16.5 sends a BytesIO as message, which was unexpected in this types list.
2016-10-21[bug] capture the exception value properlyKali Kaneko (leap communications)
this looks like a careless migration to twisted failures. who knows how long this was like this, this should be covered by tests.
2016-10-21[bug] fix yet another logger syntax errorKali Kaneko (leap communications)
2016-10-19[bug] Fix warning logging.Denis Costa
Following Twisted documentation, I found out that the warning method doesn't exist on logger class. That class has warn method instead. And I got a error because of that. https://twistedmatrix.com/documents/16.4.1/api/twisted.logger.Logger.html
2016-10-19[feat] leap.mail: expose content charset as a separated attributeNavaL
Before we used to have content_doc.content_type = 'text/plain; charset="utf-8"'. Currently, we have content_doc.content_type = 'text/plain'. This change will give us, on top of that: content_doc.charset = 'utf-8'. One can reconstruct the original one using .content_type and .charset.
2016-10-17[bug] use twisted.logger and fix logging namespacedrebs
2016-10-10[feat] improve mail service log messagesdrebs
2016-10-10[bug] fix error logging calls using twisted loggerdrebs
2016-10-07[style] pep8Kali Kaneko (leap communications)
2016-10-07[refactor] use new logger infrastructureKali Kaneko (leap communications)