summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Limit account id and id to longsstable/cm-12.1-YOG4PRohan Shah2016-10-131-5/+9
| | | | | | | | | | | | | | | The security issue occurs because id is allowed to be an arbitrary path instead of being limited to what it is -- a long. Both id and account id are now parsed into longs (and if either fails, an error will be logged and null will be returned). Tested/verified error is logged using the reported attack. CYNGNOS-3286 BUG=30745403 Change-Id: Ia21418545bbaeb96fb5ab6c3f4e71858e57b8684 (cherry picked from commit 9794d7e8216138adf143a3b6faf3d5683316a662)
* stop exporting EmailAccountCacheProviderAndy Huang2016-09-121-1/+1
| | | | | | | CYNGNOS-3235 Bug: 29767043 Change-Id: Ib9f16385a5e63557b6f293d148e49c9ad044c9b4 (cherry picked from commit a17c6c6dddd79883223208a921f2faf9b7966b26)
* Automatic translation importAbhisek Devkota2016-06-13112-21/+6654
| | | | | Change-Id: I08ab0cf5d7d13db76705aa23f58da06df3eab3c0 Ticket: RM-154
* Don't allow cachedFile Attachments if the content Uri is pointing to ↵Sam Lee2016-05-091-0/+6
| | | | | | | | | | | | EmailProvider. This is to backport a security fix reported by b/27308057 and b/27335139. Also, add Analytics for these errors. Ticket: CYNGNOS-2373 Bug: b/27335139 Change-Id: Iaacb34e4983cdf9a85487222ae930cb64d80a193 (cherry picked from commit 4cd604447745e25c4aa486fd7cc463595db21cd7)
* Automatic translation importTom Powell2015-08-212-2/+4
| | | | Change-Id: I3788414aaa622ea6a9fb1bdd496314ba2ccfb4e7
* Automatic translation importTom Powell2015-08-201-0/+27
| | | | Change-Id: I62f9837f18625f827ff3ed1df3eb1574c7d64da1
* Automatic translation importTom Powell2015-08-111-0/+2
| | | | Change-Id: I099dc2db2e4f1db8b3e8cc95d606108e9206ea77
* Automatic translation importMichael Bestas2015-07-274-0/+85
| | | | Change-Id: I27808a9f2c08b848bcf44b07cbf3c8e0aeee7500
* Automatic translation importMichael Bestas2015-07-192-0/+8
| | | | Change-Id: I08bd531f3bfaab3feb3ee72ea0eaadeb657eb5a1
* Automatic translation importMichael Bestas2015-07-133-0/+6
| | | | Change-Id: I851a2a39059f7db6b773515475e9001a0b90806c
* Automatic translation importMichael Bestas2015-07-023-1/+8
| | | | Change-Id: I976db98cec4a120d7d9bb9810c0e0dd597bf9f8c
* Allow saving attachments even if there's no intent handling them.Danny Baumann2015-06-271-1/+0
| | | | | | | For e.g. compressed files that doesn't mean they can't be opened, as they still can be unpacked by the file manager. Change-Id: I53c80b7bedb44732bc1cf346a83c1f6e39fb0da0
* Allow download of compressed attachments.Danny Baumann2015-06-271-2/+0
| | | | | | Assuming all compressed files are malware is a little extreme. Change-Id: I0ef776f3ad4af1fb73199989c99ab05171353d17
* Automatic translation importMichael Bestas2015-06-231-0/+24
| | | | Change-Id: If61323bf1d0cdbdff1ad6f090b24debc96a2213a
* Don't cancel PendingIntents used for AlarmManager.Danny Baumann2015-06-181-10/+6
| | | | | | | | | | | | | | Creating new ones (which is the implicit effect of FLAG_CANCEL_CURRENT) causes PendingIntent.equals() to return false for the new and the old instance, which in turn leads to AlarmManager failing to remove the alarm. Also remove the unneeded request code offsets. The intent actions for the various actions are already distinct, so we need to only identify between the intents that have the same actions; using the mailbox ID as request code is sufficient for that purpose. Change-Id: I9030c24a9c6b1c722b246601fde741f7027d3de7
* Optimize connection loss and re-gain behaviour.Danny Baumann2015-06-181-54/+106
| | | | | | | | | Schedule the ping restart through AlarmManager to be able to cancel it properly on connection loss, and make sure to only restart idle connections that aren't already idling (which may happen e.g. on bootup or if there was a sync request in the 30 second wait window). Change-Id: If62ffa0981a7a0a71ed7764a9724c07466c6d8a3
* Refine thread handling.Danny Baumann2015-06-181-26/+28
| | | | | | | Remove mailboxes from the list synchronously and just do the network I/O and thread joins in the background. Change-Id: I2a339e5982c103b69f1212627f1cc98e98a8a068
* Properly unregister alarm manager callbacks.Danny Baumann2015-06-182-0/+18
| | | | Change-Id: I2d474bc1cee168a5b76b8710b382498cd6c2fd59
* Use AlarmManager to schedule an IDLE connection restart.Danny Baumann2015-06-181-60/+70
| | | | | | We also want to restart it during sleep. Change-Id: Ib2c26e06fb923487b10d94edc1bbd743ebb39fb1
* Don't auto-register IDLE when gaining connection.Danny Baumann2015-06-182-47/+3
| | | | | | | | We request a sync in this case anyway, which in turn starts the IDLE connection anyway. If we're starting IDLE earlier, we do unnecessary work as the sync will tear it down just a few moments later. Change-Id: I9b99023fbe1aaab72638f6ef9d29223d9a325b7b
* Do less work on IDLE refresh.Danny Baumann2015-06-184-57/+126
| | | | | | | | | | | Don't do a full reconnection, but just a stopIdling/startIdling pair. In order to be able to do that, make sure the IDLE connection is fully shut down when stopIdling() returns, for which some refactoring was needed to avoid a deadlock on mIdledFolders: the ImapIdleListener callbacks acquire this lock, so stopIdling() now MUST NOT be called with mIdledFolders lock held. Change-Id: Ifa1677d7845722ccee2b1b9380c7b7e4014bcd97
* Improve debug logging.Danny Baumann2015-06-172-5/+10
| | | | Change-Id: I13a99d5caadcc7bd2682791527f71a697d07f8d0
* Automatic translation importMichael Bestas2015-06-131-0/+27
| | | | Change-Id: I47a88655494be6161c944d96532534d1c2ac1ad2
* Use an inexact timer for the IDLE refresh.Danny Baumann2015-06-111-13/+26
| | | | | | | Also use a wakeup timer, as we can't rely on the screen being turned on at refresh time. Change-Id: If64c164fd151c63404d0d63d9c463556cc3d0658
* Don't throw a NPE when operating on a destroyed list.Danny Baumann2015-06-111-2/+2
| | | | Change-Id: Ie4ca1fdd55031efa56448bf0237d0edab51ea349
* Fix some more argument order issues.Danny Baumann2015-06-111-4/+4
| | | | Change-Id: I1ea17a0fba4ff3af03ee8c0acbe9967bed92aae1
* Simplify logic.Danny Baumann2015-06-111-23/+25
| | | | | | | Make sure that either messages are fetched or a sync is initiated, and there can be no situation where neither happens. Change-Id: I73ec2482a5a86c54309634f434b7d8fd77d7c079
* Fix some typos.Danny Baumann2015-06-111-4/+4
| | | | Change-Id: Idd3018a03023efe02c3bcf40b44c8f5a5e304436
* Don't solely rely on the presence of RECENT for checking for new mail.Danny Baumann2015-06-111-5/+25
| | | | | | | | | It may happen (depending on server and/or timing) that only an EXISTS response is sent to the IDLE connection when new mail arrives. Don't discard that response, but evaluate it to determine whether there's new mail by checking whether the message count increased. Change-Id: Ia49714e6cd42dd71dfda8b7bbdf1fd622972edda
* Don't re-sync when refreshing the IDLE connection.Danny Baumann2015-06-111-12/+4
| | | | | | | The refreshing (done every 25 minutes) should be a cheap operation. Instead, do a (quick) re-sync after idling failed. Change-Id: Idfcc775417dc02417142e51ca546c9564c660aab
* Fix crash when attempting to view EML files.Danny Baumann2015-06-101-2/+2
| | | | | | Use the correct, AppCompat based, theme. Change-Id: Ib8e72f781a69cadb738a5783371253b8bba328e7
* Reset idling flag when cancelling early due to being cancelled.Danny Baumann2015-06-091-0/+1
| | | | Change-Id: Idde5f3a3fa04a1aa80ef4cdb9e3ba1ab01d3fcb5
* Add some debug statements.Danny Baumann2015-06-091-0/+2
| | | | Change-Id: I9295bedb5b7908c8ee873285c255816373d2c602
* Assign debug tags to IMAP communication output.Danny Baumann2015-06-094-7/+44
| | | | | | Allows better tracking of the output if multiple connections are active. Change-Id: I900c9f9ecda06d3191c4cf82af7e774ae70b7dac
* Fix argument order.Danny Baumann2015-06-092-6/+6
| | | | Change-Id: I087937c1323cfa1fd3d5400ef0a69d7476e36d20
* Simplify code.Danny Baumann2015-06-091-3/+1
| | | | Change-Id: I6c783afb9c436a35176134bfe7ae5264f2255b2f
* Automatic translation importMichael Bestas2015-06-092-0/+2
| | | | Change-Id: If5410fff5db8cc70779e4523cc1483c3416c5256
* email: catch the correct exception while closing the buffersJorge Ruesga2015-06-091-1/+1
| | | | | | | | | | BinaryTempFileBody#getBody()#getInputStream() returns a MessagingException not an IOException. This causes "com.android.emailcommon.mail.MessagingException: Unable to open body" exception messages and attachment messages not flagged as loaded. Change-Id: Ia8f25dd0a212ce52e3dd202c523c5db4a009604f Signed-off-by: Jorge Ruesga <jorge@ruesga.com>
* Fix ArrayIndexOutOfBoundsException.Danny Baumann2015-06-081-1/+5
| | | | | | | | | | | | | This crash happens when the server isn't able to resolve the MSN: FATAL EXCEPTION: IdleReader 3:Inbox Process: com.android.email, PID: 3200 java.lang.ArrayIndexOutOfBoundsException: length=0; index=0 at com.android.email.mail.store.ImapFolder.extractImapChanges(ImapFolder.java:1641) at com.android.email.mail.store.ImapFolder.access$700(ImapFolder.java:77) at com.android.email.mail.store.ImapFolder$1.run(ImapFolder.java:294) Change-Id: I8a8c7cf3f2949630ee9db3646e5832246d69132d
* email: fix NPEJorge Ruesga2015-06-031-1/+1
| | | | | | | Fix possible NPE when protocol don't offers offerLookback (pop3) Change-Id: Id924e06e691d0ed99179fcd37fd213ac379340fd Signed-off-by: Jorge Ruesga <jorge@ruesga.com>
* Automatic translation importMichael Bestas2015-05-314-1/+9
| | | | Change-Id: I3579d02a37301a73d65b27173e2b376046251641
* EmailTests: fix api changeScott Mertz2015-05-273-13/+13
| | | | Change-Id: I170478bb91d847ba9d42515c5d5c29a92f3765dc
* email: fix testsJorge Ruesga2015-05-272-3/+3
| | | | | Change-Id: I237337c0c86ad66023db684c8a01c89ee1ef7aef Signed-off-by: Jorge Ruesga <jorge@ruesga.com>
* email: fix Exchange sync frequency account setupJorge Ruesga2015-05-261-4/+4
| | | | | | | | Auto sync is not displayed as an option in sync frequency settings, because capabilities aren't filled. Just ensure account capabilities are always saved. Change-Id: I70b7ab9464a99eebf7f82726faa0fb2418e09a99 Signed-off-by: Jorge Ruesga <jorge@ruesga.com>
* Automatic translation importMichael Bestas2015-05-2511-0/+38
| | | | Change-Id: I302532a0d88f6cf8a5987ab52738cfd24a736777
* email: imap pushJorge Ruesga2015-05-2029-58/+2097
| | | | | Change-Id: I8a184a5644e4322ee65d969e14cd47fe119f5df2 Signed-off-by: Jorge Ruesga <jorge@ruesga.com>
* Automatic translation importMichael Bestas2015-05-1626-237/+168
| | | | Change-Id: I906df0fcdea123d5278c0de34a1cca4c0c9625eb
* Automatic translation importMichael Bestas2015-05-022-0/+46
| | | | Change-Id: I1a364a4b794a8228155dc1dbb8758eed15ac4ea5
* email: fix Account table creationJorge Ruesga2015-05-011-1/+7
| | | | | | | | | | | Due to a bug in commit 44a064e5f16ddaac25f2acfc03c118f65bc48aec, AUTO_FETCH_ATTACHMENTS column could not be available in the Account table. Since cm12 and up doesn't use this column, we are leave as is it. In case the feature were added, then we need to create a new exception to ensure that the columns is re-added. Change-Id: I1803e343dde2e841fdc99b4489a74eb08b0a8352 Signed-off-by: Jorge Ruesga <jorge@ruesga.com>
* email: custom notification lightsstable/cm-12.1-YOG3CJorge Ruesga2015-04-296-2/+132
| | | | | Change-Id: I3aaed3c682ae33da925316a5b9a586796fe71229 Signed-off-by: Jorge Ruesga <jorge@ruesga.com>