summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2015-09-16[bug] don't fail importing mismatched attached keyRuben Pollan
We can't import attached keys with different email address than the sender. Now we don't fail in this case, just log it. - Resolves: #7454
2015-09-16[pkg] bump leap versions neededKali Kaneko
2015-09-16[feat] use async events apiKali Kaneko
in this way, we're using twisted reactor instead of having another thread with zmq's own copy of tornado ioloop. Resolves: #7274
2015-09-10Merge pixelated's X-Leap-Encryption into developRuben Pollan
2015-09-08[feature] improve getmail utilityKali Kaneko
So now it: - Accepts credentials in a file pointed by environment variable. - Allows to specify the mailbox to select as a command line flag. - Allows to select a given message by subject. For example: BITMASK_CREDENTIALS=/tmp/bm.secrets ./getmail --mailbox INBOX --subject 'test mail The two flags are case-insensitive. This is intended to be used as a helper in end-to-end tests. Getting a message by subject it's suboptimal, but I think it's good enough for our testing purposes right now. Related: #7427
2015-09-02[style] fixing pep8 warningsDuda Dornelles
2015-09-02[feat] adding encryption header to msg before savingDuda Dornelles
This way we can tell if a message was originally encrypted, so that we can show that information to the end user.
2015-08-26[pkg] fold in changes0.4.0rc2Ivan Alejandro
2015-08-21[tests] properly skip not implemented tests, do not raiseKali Kaneko
2015-08-18[style] pep8 excludes + fixesKali Kaneko
2015-08-11[docs] add folker to authors + pep8Kali Kaneko
2015-08-11[bug] Fix missing _normailize_dict in DocumentWrapper constructor.Folker Bernitt
In the constructor values already is normalized (i.e. with underscores), while kwargs contains items that are not normalized (i.e. with dashes). Joining the dicts resulted in two entries that only differed by dash or underscores. The setattr then set the value that occurred later in items, thereby sometimes overriding the correct value with the default one.
2015-08-11[bug] Fix typo in content-transfer-encoding in walk.py.Folker Bernitt
The get_raw_docs method accesses header field content-transfer-encoding using the string 'content-transfer-type' so the raw doc dict always ends up with that value set to empty string.
2015-08-06[feat] WHEELHOUSE can be a url + --use-leap-wheelsParménides GV
--use-leap-wheels sets --trusted-host (remove it when we have a proper cert) and WHEELHOUSE to https://ftp.lizard.leap.se Until we get ftp.lizard cname, use lizard as the wheels server. - Related: #7339
2015-08-04[style] pep8 fixes + pep8 scriptKali Kaneko
2015-08-04[tests] Removed outdated testBruno Wagner
This test was not updated for a while and it doesn't make sense in this context, when we create acceptance tests we can make sure we cover this feature The issue for acceptance tests is: https://leap.se/code/issues/7341
2015-08-03[tests] Skipped tests that were not implementedBruno Wagner
Functionality that is not implemented should not fail, instead it should be skipped until it is implemented. Added a return to test_imap_store_fetch setup to make sure the deferred is being handled
2015-08-03[tests] Added requirements-latest help HEAD developmentBruno Wagner
Added requirements-latest to make sure we always use the latest develop of all dependencies in an automated way
2015-08-03[feat] use wheels to install dependenciesParménides GV
generate_wheels uses $WHEELHOUSE to generate and store the wheels for requirements.pip and requirements-testing.pip (if it exists). pip_install_requirements.sh installs requirements.pip from them if possible (if not, then it fetches them from pypi) or, if passed the --testing flag, it installs requirements-testing.pip. Related: #7327
2015-08-03Merge remote-tracking branch 'leapcode/pr/188' into developKali Kaneko
2015-07-29[bug] fixed syntax error in models.pyFolker Bernitt
The lambdas take two args, so it needs to be a tuple. Furthermore filter needs a collection.
2015-07-27[pkg] add script to install base requirementsKali Kaneko
- update pip - install base reqs
2015-07-27[pkg] add AUTHORS file + one-liner to generate itKali Kaneko
2015-07-22[pkg] separate leap requirementsKali Kaneko
this is part of a process to make the setup of the development mode less troublesome. from now on, setting up a virtualenv in pure development mode will be as easy as telling pip to just install the external dependencies:: pip install -r pkg/requirements.pip and traversing all the leap repos for the needed leap dependencies doing:: python setup.py develop - Related: #7288
2015-07-21Changed imap tests and messages assigned lambdas to functions because of pep8Bruno Wagner
2015-07-21Transformed assigned lambdas to functions in models and test_models because ↵Bruno Wagner
of pep8
2015-07-21Pep8 warns about lambdas being assigned to a variable, changed walk and ↵Bruno Wagner
sync_hooks to lambdas to real functions
2015-07-21Updated pep8 and fixed import and line break warningsBruno Wagner
2015-07-21Fixed all the pep8 warnings in the codeBruno Wagner
2015-07-13[docs] add some documentation about imap regression testsKali Kaneko
This is quite manual for the moment being, and it's not integrated into the unittests. But it is useful to have it documented, with some luck we can automate the process even more and add it to the CI quite soon.
2015-07-13[tests] get REGRESSIONS_FOLDER from env varKali Kaneko
in order to start with a fresh folder each time. current test script has some troubles with dirty state.
2015-07-13[tests] add symlink to the nested sample fileKali Kaneko
2015-07-13[tests] new sample mail addedKali Kaneko
For #7244, this is needed for regression tests
2015-07-13[style] slightly more meaningful test module nameKali Kaneko
2015-07-13[debug] add some more debug info to the regressions scriptKali Kaneko
2015-07-13[feature] add very basic support for message sequence numbersKali Kaneko
this is just the bare minimum implementation of MSN (message sequence numbers). It is not enough feature-wise, but I'm doing it now just to support testing with the default imap client that we're using with the regression tests.
2015-07-13[bug] Return the first cdoc if no body foundKali Kaneko
In the case of a message with just one non-text attachment, something has to be returned for the body payload. (For instance, a message with only one image).
2015-07-13[bug] do not raise if the pending insert cannot be removedKali Kaneko
2015-07-13[bug] fix keyerror when inserting msg on pending_inserts dictKali Kaneko
The decission to index the pending_inserts dict by message-id is a bit brittle. I assume any well-formed message in the RealWorld (tm) will have this header, but many samples used in the tests will break this assumption.
2015-07-13[bug] workaround for off-by-one error on nested multipartKali Kaneko
For some reason that I haven't discovered yet, nested multipart is hitting an off-by-one error (that had been wrongly ammended in a previous commit, breaking many other cases but fixing the particular Mail.app sample I was working with). This is just a temporary hack to make all the current regression tests happy, but further investigation is needed to discover the cause of the off-by-one part retrieval solved and correctly documented.
2015-07-13[bug] fix the rendering of nested multipartKali Kaneko
This commit fix a very simplistic and until now broken handling of nested multipart that went undetected due to the structure of the mails used in tests until now. Incidentally, the way that Mail.app structures attachments made this bug noticeable. There was also an off-by-one indexing error when retrieving the subpart message for a given subpart. Be aware that the current implementation will only handle correctly 2 levels of multipart nesting. Extending beyond in a more generic way will need further work. Closes: #7244
2015-07-10[pkg] bump dependencies0.4.0rc1Ivan Alejandro
2015-07-10[pkg] fold in changesIvan Alejandro
2015-07-03[bug] notify copied emailsRuben Pollan
When copying emails there was not notification produced, that makes thunderbird to see messages moved between folders until it gets restarted. Now the MaillCollection copy does notify the listeners. * Resolves: #7158
2015-07-02[bug] return the message uid after add it to the collectionRuben Pollan
MessageCollection.add_msg was not returning the uid of the message added making the incoming service not deleting the emails from the incoming queue. * Related: #7158
2015-07-02[bug] tear down of leap.common.events properly in testsRuben Pollan
The tests where writting their own implementation of env tear down instead of using leap.common's one. Using it fixes many tests.
2015-06-29[bug] allow mailbox to be notified of collection changesKali Kaneko
in a previous refactor, we decoupled the incoming mail service from the IMAP layer. However, this left the IMAPMailbox unable to react to changes in the underlying collection when a new message is inserted. in this commit, we add a Listener mechanism to the collection itself, so that IMAPMailbox (and any other object that uses it) can subscribe to changes on the number of messages of the collection. Resolves: #7191 Releases: 0.4.0
2015-06-29[bug] avoid KeyError on pending_insert_docs lookupKali Kaneko
in a previous commit, there was a bug inserted in which a key lookup was being made unconditionally, even when the pending_insert_docs was None. Releases: 0.4.0
2015-06-25[bug] avoid duplication of copies in draft folderKali Kaneko
Although this draft-saving feature seems to be somehow brittle, since it breaks from time to time, the causes are different and subtle on each case. This time the bug is related to having the notify_just_mdoc (or fast_notifies as I'm tempted to call it in the future for more clarity) set to True by default in the APPENDS. Fast notifies break the "save draft" functionality because what Thunderbird does is an Append of the newest message, followed by deletion of the old message and a SEARCH by Message-ID. For this we need the headers-doc to be already inserted in the store. Since the fast-notify makes a *big* difference in terms of insertion times for serialized appends, I've opted for using a heuristic for detecting if it's the case of a Draft message, using a mozilla-specific header. If this is found, we set the notify_just_mdoc unconditionally to False. We'll deal with other MUAs on its due time. Releases: 0.4.0
2015-06-25[bug] saving message to drafts folder hangsKali Kaneko
the bug consist on a fetch-while-pending-inserts hanging. the pending insert dict was not being cleaned up because the lookup for the Message-Id *is* case-sensitive (in the headers dict). by using a temporary all-keys-lowercase dict the lookup can be performed right, and the fetch returns successfully. at this point there's still a pending bug with Drafts, and it is that the new version is inserted but the MUA (TB) doesn't hide the older version (although a Delete flag is added). Resolves: #7189, #7190 Releases: 0.4.0