Philip Whitehouse
044564f843
Clean up prior to submitting a PR
2016-03-10 01:04:27 +00:00
Philip Whitehouse
2137e8bc68
Fix another bug with synchronizing messages
2016-03-10 01:04:26 +00:00
Philip Whitehouse
950dad02db
Refactoring of WebDAV code
2016-03-10 01:04:08 +00:00
Philip Whitehouse
2bc92441e9
Fix bug fetching flags and envelopes
2016-03-10 00:34:58 +00:00
Philip Whitehouse
b12c048190
Support binary encoding
2016-03-05 14:46:05 +00:00
cketti
14054ec977
Avoid ClassCastException in ImapResponseParser
...
Fixes #811
2016-03-02 23:21:57 +01:00
cketti
a349398f4f
Explicitly set time zone when testing date formatting
...
This should fix the test failure on CloudBees.
2016-02-27 07:13:34 +01:00
Vincent
f99dd61bc4
Merge pull request #1098 from k9mail/imap_store_refactoring
...
Refactor ImapStore
2016-02-26 14:40:55 +01:00
cketti
07c5f0ffba
Use ThreadLocal for RFC3501_DATE
...
… instead of serializing access to one single SimpleDateFormat instance.
2016-02-24 11:34:03 +01:00
cketti
126a8766d6
Avoid incrementing field inside expression
2016-02-24 11:08:34 +01:00
cketti
f88a915a5d
Don't hang on to ImapConnection for too long
2016-02-18 00:28:43 +01:00
cketti
ca4a6b6cfc
Close connection when IDLE command fails
2016-02-17 20:14:01 +01:00
cketti
200ee27980
Don't hold 'connections' monitor while checking retrieved connection
2016-02-17 20:04:08 +01:00
cketti
66930c0081
Merge pull request #1048 from k9mail/mime-migration
...
Migrate old messages to new mime format
2016-02-13 01:25:17 +01:00
cketti
b34f3ad669
Make sure ImapFolderPusher is not started or stopped twice
2016-02-12 06:27:14 +01:00
cketti
01a14b9f1f
Synchronize access to storedUntaggedResponses
2016-02-12 06:13:03 +01:00
cketti
41ca6b7899
Use volatile booleans for 'stop' and 'idling'
...
We don't use compound actions that would need to be protected.
2016-02-12 05:57:09 +01:00
cketti
42e07d0355
Move fields that are only used by listener thread into PushRunnable
...
Also, there's no need for them to use Atomic* instances.
2016-02-12 05:52:17 +01:00
cketti
b8957f6fee
Move all messages that are only called from listener thread into PushRunnable
2016-02-12 05:44:49 +01:00
cketti
ca4e6c2139
Remove unnecessary method
2016-02-12 05:36:19 +01:00
cketti
1db9fc169e
Make wakeLock final
2016-02-12 05:30:00 +01:00
cketti
af941396bc
Make sure that stopping, then starting ImapPusher is atomic
2016-02-12 04:11:48 +01:00
cketti
2c5bcac66f
Exclude CRLF when logging sent commands
...
Android Studio 2.0 beta 3 skips those log messages in its logcat view.
2016-02-11 23:55:02 +01:00
cketti
1d52a357a6
Make sure DONE continuation is only sent at appropriate times
2016-02-11 21:53:17 +01:00
cketti
690693a21c
Synchronize access to listeningThread
2016-02-11 00:00:47 +01:00
cketti
23d4c3fd68
Reorder methods
2016-02-10 23:55:59 +01:00
cketti
51723e46ca
Extract methods to make the code a bit more readable
2016-02-10 00:06:47 +01:00
cketti
4a80ab6aa3
Extract Push thread code to named inner class
2016-02-09 22:38:30 +01:00
cketti
6b4da35035
Remove unnecessary variable increment
2016-02-09 22:33:11 +01:00
cketti
5b58aac748
Remove unnecessary local variable
2016-02-09 22:28:21 +01:00
cketti
39c4cf3218
Code style fixes and minor cleanup
2016-02-09 22:25:37 +01:00
cketti
54963b6e1e
Extract code to encode/decode folder names to FolderNameCodec
2016-02-09 21:41:55 +01:00
cketti
d1cbac47b1
Remove now unused methods from remote Folder subclasses
2016-02-09 19:03:12 +01:00
cketti
ab1e5ce691
Remove LocalFolder-specific methods from Folder
2016-02-09 18:53:59 +01:00
cketti
61e0df5513
Extract code to parse SEARCH response to SearchResponse
2016-02-09 18:24:56 +01:00
cketti
51ab4d23dc
Extract code to parse COPYUID response to CopyUidResponse
2016-02-09 18:21:35 +01:00
cketti
ed7221be03
Extract code to parse SELECT/EXAMINE response to SelectOrExamineResponse
2016-02-09 18:21:07 +01:00
cketti
ef82fe9df1
Extract code to parse PERMANENTFLAGS to PermanentFlagsResponse
2016-02-09 17:37:29 +01:00
cketti
7875b4e99d
Tidy up return type of getMessagesFromUids()
2016-02-09 05:01:04 +01:00
cketti
60da56fa7a
Inline constant arguments for getMessagesFromUids()
2016-02-09 05:00:07 +01:00
cketti
a4072d30e5
Code style fixes and minor code cleanup
2016-02-09 04:54:05 +01:00
cketti
d9f8d86ff4
Add unit tests for ImapFolder
2016-02-09 03:48:10 +01:00
cketti
877ad2aa72
[WIP] Add unit tests for ImapFolder
2016-02-09 02:08:01 +01:00
cketti
f1bc2b4f21
Reduce visibility of some methods in ImapFolder
2016-02-04 02:11:13 +01:00
cketti
1f766b6919
Avoid unnecessary creation of ImapFolder instances
2016-02-03 22:09:49 +01:00
cketti
d8cd58e42b
Move encodeString() from ImapStore to ImapUtility
2016-02-03 21:53:14 +01:00
cketti
e562c4bd5e
Move RFC3501_DATE constant to ImapFolder
2016-02-03 21:51:42 +01:00
cketti
2f9a427b22
Code style fixes
2016-02-03 21:33:50 +01:00
cketti
ad1e2caa9c
Extract code to encode/decode ImapStore URIs
2016-02-03 20:54:51 +01:00
cketti
06ee1ff1b9
Move url encoding/decoding functionality from Store to UrlEncodingHelper
2016-02-03 20:37:29 +01:00
cketti
d9797d02bf
Also use special LIST path in ImapResponseParser for LSUB response
2016-02-03 20:16:43 +01:00
cketti
d0f4ab84fc
Extract LIST response parsing to ListResponse
2016-02-03 20:08:43 +01:00
cketti
13663dbc1d
Remove support for Gmail-specific XLIST command
...
Nowadays Google implements RFC 6154 and XLIST was deprecated in 2013.
2016-02-03 19:52:57 +01:00
cketti
2d887b31ac
Add unit tests for ImapStore
2016-02-02 19:02:31 +01:00
cketti
7f3fc84c11
Extract helper method to ImapResponseHelper
2016-02-02 19:02:31 +01:00
cketti
bbf6a07e94
Extract ImapStoreSettings from ImapStore
2016-02-02 19:02:31 +01:00
cketti
0c31ed9119
Get rid of ImapFolderPusher caching mechanism
...
start() will never reuse ImapFolderPusher instances because stop() is called
unconditionally, and that will clear the "cache".
2016-02-02 19:02:31 +01:00
cketti
5cd64dc241
Code style fixes in ImapPusher
2016-02-02 19:02:30 +01:00
cketti
ee25de07db
Add unit tests for ImapPusher
2016-02-02 19:02:30 +01:00
cketti
7b5e5bc223
Refactor ImapPushState
...
The old code supported a more complex input argument format. But as far as I
can tell this "feature" was never used.
2016-02-02 19:02:30 +01:00
cketti
619ab8629d
Add unit tests for ImapPushState
2016-02-02 19:02:30 +01:00
cketti
a7f53f0c3b
Extract ImapSearcher from ImapStore
2016-02-02 19:02:30 +01:00
cketti
caca473465
Extract ImapPusher from ImapStore
2016-02-02 19:02:30 +01:00
cketti
b092ab0f5b
Make ImapPusher as static class
2016-02-02 19:02:30 +01:00
cketti
62befc0c9c
Extract ImapMessage from ImapStore
2016-02-02 19:02:30 +01:00
cketti
fb1d0ad533
Extract ImapPushState from ImapStore
2016-02-02 19:02:30 +01:00
cketti
6dd220cc5a
Extract ImapFolderPusher from ImapStore
2016-02-02 19:02:30 +01:00
cketti
973b674cf2
Make ImapFolderPusher a static class
2016-02-02 19:02:30 +01:00
cketti
e1a2c68d56
Extract ImapFolder from ImapStore
2016-02-02 19:02:30 +01:00
cketti
3aa80f3ce1
Make ImapFolder a static class
2016-02-02 19:02:30 +01:00
cketti
d3391ae135
Fix test flakiness
2016-02-02 18:55:08 +01:00
cketti
9dc267f56d
Make classes package-private
2016-02-01 20:30:33 +01:00
cketti
96f99f6e1c
Extract CAPABILITY response parsing to CapabilityResponse
2016-02-01 20:30:33 +01:00
cketti
bc5069bfac
Extract NAMESPACE response parsing to NamespaceResponse
2016-02-01 20:30:33 +01:00
cketti
0dbfa5ab9d
Extract command/capability/response constants
2016-02-01 20:30:33 +01:00
cketti
6859eef35a
Be more specific by using NegativeImapResponseException in some cases
2016-02-01 20:30:33 +01:00
cketti
9b5a3bfff3
Rename ImapException to NegativeImapResponseException
2016-02-01 20:30:33 +01:00
cketti
c427f6df26
Extract methods to make ImapConnection.open() more readable
2016-02-01 20:30:33 +01:00
cketti
c4a4a3bb16
Get rid of ImapConnection.getCapabilities()
2016-02-01 20:30:33 +01:00
cketti
cf718c6380
Reorder methods
2016-02-01 20:30:33 +01:00
cketti
37fbbb0b21
Make internal methods private
2016-02-01 20:30:32 +01:00
cketti
c4d62b13d0
Code style fixes
2016-02-01 20:30:32 +01:00
cketti
5fb5e011b7
Merge pull request #1052 from k9mail/imap_connection_tests
...
Add unit tests for ImapConnection
2016-02-01 20:29:38 +01:00
cketti
cf92ccaae5
Remove test that no longer compiles
2016-02-01 20:00:37 +01:00
cketti
a76f7e8f7e
Fix support for capabilities in initial response
2016-01-29 17:40:06 +01:00
cketti
7887c23bef
Don't swallow IOExceptions leaving the connection open
2016-01-29 17:40:06 +01:00
cketti
0a80335ba7
Use lower socket timeouts for tests
2016-01-29 17:40:06 +01:00
cketti
21204f8bec
Add tests for ImapConnection
2016-01-29 17:39:49 +01:00
Vincent Breitmoser
b6e3587aeb
migration: add MIGRATED_FROM_V50 flag
2016-01-28 22:40:56 +01:00
Vincent Breitmoser
cad01ab5b2
migration: first steps for migration
2016-01-28 22:37:24 +01:00
cketti
d81b2031e5
Merge pull request #1030 from k9mail/localfolder-cleanup
...
Break migration down into methods, clean up some warnings in mailstore
2016-01-24 02:36:20 +01:00
Vincent Breitmoser
ac83b0062d
break migration down into methods, clean up some warnings in mailstore
2016-01-22 15:48:52 +01:00
Vincent Breitmoser
bb8a9e8994
compose: work on SignSafeOutputStream
2016-01-20 21:27:25 +01:00
alexandre
90c6b666c8
RFC-2015 : further encode text quoted-printable to be sign safe #572 #576
2016-01-20 21:27:25 +01:00
alexandre
e70b5076c6
add parameters to Content-Type header #572
2016-01-20 21:27:25 +01:00
cketti
93df7525c4
Merge pull request #1021
...
Enable syncing while idle on Android M devices
2016-01-15 10:49:48 +01:00
TETRA2000
deff0ce80d
update to API 23
2016-01-15 08:11:05 +09:00
Maximilian Mehnert
0366633ff8
replace saslAuthPlain() with saslAuthPlainWithLoginFallback()
...
Microsoft Exchange Server and probably others need this in some cases.
closes k9mail/k-9#899
2016-01-12 01:18:21 +01:00
cketti
2055e42933
Don't abort on Lint errors
2015-12-22 18:13:05 +01:00
cketti
b202661e62
Set sourceCompatibility and targetCompatibility to JavaVersion.VERSION_1_7
2015-12-22 17:54:57 +01:00
cketti
49d239af56
Remove targetSdkVersion from k9mail-library
2015-12-22 17:54:57 +01:00
cketti
c69b7400f8
Update to Robolectric 3.0
2015-12-22 17:54:57 +01:00
cketti
ff18f9b3f8
Update test dependencies
2015-12-22 17:54:57 +01:00
cketti
e8d16722ed
Update build tools to 23.0.1
2015-12-22 17:54:57 +01:00
cketti
c34b9b5ad7
Increase compileSdkVersion to 22
2015-12-22 17:54:02 +01:00
cketti
667ac923bd
Merge pull request #962
...
Key-aware recipient chooser
Fixes #915
2015-12-21 01:22:23 +01:00
cketti
a5ad84481d
Merge pull request #959 from k9mail/display_encrypted_in_message_preview
...
Display "*Encrypted*" in message preview
2015-12-19 18:25:32 +01:00
Vincent Breitmoser
b6fa7b8322
compose: use TokenCompleteTextView for recipient selection
2015-12-17 03:16:29 +01:00
cketti
d6b4452ade
Display "*Encrypted*" in preview of encrypted messages
2015-12-16 21:33:19 +01:00
Marcel Wiegand
51fe459dfc
Remove Flag.X_GOT_ALL_HEADERS. Fixes #891
2015-12-13 02:17:38 +01:00
s3b
e1d34a27b5
Don't throw CertificateValidationException on generic SSLExceptions
2015-11-28 22:30:12 +01:00
cketti
2567f8c7af
Merge pull request #829 from k9mail/auto_detect_archive_folder
...
Add support for auto-detecting Archive folder
2015-10-11 15:37:00 +02:00
cketti
0fe317c7ac
IMAP: read LIST response until end of line
...
Fixes a bug introduced in de401db9cd
2015-10-11 14:53:22 +02:00
cketti
ecef32141f
Add support for auto-detecting Archive folder
2015-10-04 08:54:50 +02:00
cketti
de401db9cd
Add support for folder names with brackets encoded as 'astring' in LIST response
...
Fixes #786
2015-10-02 06:37:47 +02:00
cketti
d686ae86b2
Increase test coverage of ImapResponseParserTest
2015-10-02 01:00:30 +02:00
cketti
bb4c0b07a0
Reformat code
2015-10-01 20:07:11 +02:00
cketti
952da74b0e
Merge pull request #718
2015-09-15 21:34:13 +02:00
cketti
c0924c2031
Reverse order of conditions in if clause
2015-09-15 21:32:08 +02:00
cketti
732463a89f
Clean up code
2015-09-15 21:30:29 +02:00
cketti
c4bbae288b
Hide the "Load up to X more" footer when there are no more relevant messages on the server
...
This is tricky for IMAP because we only care about non-deleted messages and
there's no easy way to count these. So when necessary we list all remaining
messages on the server to check whether any of them are relevant for us.
2015-09-06 21:06:18 +02:00
cketti
767976c973
Use helper method to case-insensitively compare MIME types
...
Fixes #741
2015-08-21 21:14:30 +02:00
moparisthebest
54f9fd36a7
Set SNI hostname if we can for TLS connections
2015-07-24 23:52:14 -04:00
cketti
9050ef16a2
Merge pull request #686 from k9mail/art/more-static-analysis-fixes
...
Fix static analysis warnings and stop using nulls everywhere
2015-07-16 08:39:34 +02:00
cketti
9d44f0e062
Improve send failure handling
...
We now no longer parse the exception message in MessagingController to find
out if it was a permanent SMTP failure.
Overall the code is still a mess, but the error handling should be a little
bit better and more readable now.
2015-06-22 00:43:31 +02:00
cketti
ee7a95b750
Merge pull request #685 from k9mail/art/static-analysis-fixes
...
static analysis fixes
2015-06-17 21:51:11 +02:00
cketti
366531bdf7
Fix code style
2015-06-17 21:11:24 +02:00
Art O Cathain
7fc8767a5c
fix static analysis warnings and stop using nulls everywhere
2015-06-13 16:47:35 +01:00
Art O Cathain
591785a3ab
fix up some dodgy nulls
2015-06-13 16:24:58 +01:00
cketti
2fdf076d4e
Merge pull request #669 from vt0r/disable_sslv3_and_rc4
...
Disabling support for SSLv3 protocol/ciphers and all RC4 ciphers.
2015-06-10 01:41:23 +02:00
Jan Berkel
3c1c1e4e58
Remove unneeded static modifier
2015-06-06 12:11:20 +01:00
Jan Berkel
270d22681f
Merge pull request #652 from k9mail/gradle_unit_test_support
...
Gradle unit test support
2015-06-03 10:19:45 +01:00
Salvatore LaMendola
f0962fdb6a
Create a protocols blacklist that should work in the same way as the ciphers one does.
2015-06-01 17:55:59 -04:00
Salvatore LaMendola
37a313efb5
Disabling support for SSLv3 protocol/ciphers and all RC4 ciphers.
2015-05-29 12:57:23 -04:00
cketti
4fb12ff12b
Fix cipher suite names
2015-05-25 18:24:00 +02:00
brian m. carlson
a63a91fa54
Support GCM cipher suites.
2015-05-23 21:32:22 +00:00
cketti
916929e507
Fix getting code coverage on CI builds
2015-05-21 14:52:50 +02:00
cketti
a24d85d754
Move library tests to k9mail-library module
2015-05-21 02:21:38 +02:00
cketti
ab964cf8af
Merge branch 'pgp_mime_preparations'
2015-03-16 16:14:45 +01:00
cketti
f0e1b14b58
Merge pull request #567
...
Move NetworkType to k9mail-library, use on StoreConfig
2015-03-16 13:39:59 +01:00
Art O Cathain
110400a85b
move NetworkType to k9mail-library, use on StoreConfig
2015-03-08 12:59:15 +00:00
Art O Cathain
d0cd7c368d
formatting
2015-03-08 11:07:33 +00:00
Art O Cathain
810d0cf6b4
Move default port and default TLS port to a single location
2015-03-08 11:05:53 +00:00
cketti
5330fe5b27
Extract code to parse a message header to its own class
2015-02-25 03:36:48 +01:00
Art O Cathain
5035e7e3d1
review comments, also use == in preference to equals for enums
2015-02-22 21:30:26 +00:00
Art O Cathain
583a637d79
Remove duplication, enum-ify String
2015-02-18 19:42:33 +00:00
cketti
1a20ca06f1
Handle "cid:" URIs in HTML message body
2015-02-06 18:31:26 +01:00
Vincent Breitmoser
e8c591e6be
ignore application/pgp-signature parts for display
2015-01-30 13:19:53 +01:00
cketti
7f811fce2c
First attempt at decrypting PGP/MIME messages
2015-01-28 17:24:05 +01:00
cketti
8f7f656355
Add method to find multipart/encrypted parts
2015-01-26 20:37:27 +01:00
cketti
378acbd313
Write large message parts to file system
...
Actually, we just move the temporary file to avoid having to copy the
data to a new file.
2015-01-25 19:25:00 +01:00
cketti
98bdf54672
Don't save empty multipart body
...
This will correctly mark the body as missing when the message is written to
the database.
2015-01-23 03:57:13 +01:00
cketti
74d09943c0
Use MimeMessageHelper.setBody() when parsing BODYSTRUCTURE
...
This will correctly set the MIME type of the part containing the body.
Otherwise multiparts end up having a content type of text/plain (default)
in the database... oops.
2015-01-23 03:55:54 +01:00
cketti
fe7b88f7c2
Work around the BinaryTempFileBodyInputStream mess
2015-01-22 04:56:08 +01:00
cketti
64e92ab1c1
Remove unused LocalAttachment* classes
2015-01-22 04:18:20 +01:00
cketti
c9b2ec533c
Add MessagePreviewExtractor
2015-01-21 01:21:02 +01:00
cketti
23c9398c03
Merge branch 'master' into pgp_mime_preparations
...
Conflicts:
k9mail/src/androidTest/java/com/fsck/k9/mailstore/LocalMessageTest.java
2015-01-20 18:35:07 +01:00
Jan Berkel
ecd316d0af
Simplify ImapConnection#connect
2015-01-14 04:41:21 +01:00
Jan Berkel
b481d3f978
Adding tests for IMAP connection, use greenmail snapshot
2015-01-13 01:10:56 +01:00
cketti
bd97004ebd
Fix downloading/saving single message parts
2015-01-10 04:38:57 +01:00
cketti
d7edb0ed4f
Minimal version that reconstructs original message from the database
...
This change breaks all kinds of things, e.g.
- deleting messages
- updating messages
- downloading attachments
- deleting attachments
- searching in message bodies
2015-01-06 03:20:38 +01:00
Jan Berkel
c7229e4724
Enable lint checks for k9mail-library
2015-01-05 23:26:36 +01:00
cketti
3eb25a011f
Don't automatically create Message-ID when none is found
2015-01-05 02:25:17 +01:00
cketti
d7085a2f07
Properly decode the body in MessageExtractor.getTextFromPart()
2015-01-05 00:57:25 +01:00
cketti
57ad0fd6b3
Remove unused implementation from abstract class
2015-01-03 04:39:25 +01:00
cketti
e45d780c6f
Fix WebDavFolder.equals()
2015-01-03 02:12:37 +01:00
cketti
82736f3a8b
Merge pull request #524 from k9mail/merge_pgp_mime_branch
...
Merge changes from PGP/MIME repository
2015-01-02 22:04:28 +01:00
cketti
c96a11212e
Update dependencies
2014-12-22 23:09:05 +01:00
Jan Berkel
b0d401c3b7
Added note about expected method parameter format
...
8194c20ffe (commitcomment-9069167)
2014-12-22 22:37:17 +01:00
cketti
152e0a0530
Revert ImapStore URI change
...
Reverts changes introduced with commit 8194c20ffe
Adds test to make sure usernames/passwords with special characters encode/decode properly.
2014-12-22 18:24:22 +01:00
Jan Berkel
8194c20ffe
Fix IMAP uri decode when user/pw contains ':'
2014-12-21 11:52:05 +01:00
cketti
4f8fc5bc5b
Merge remote-tracking branch 'k9mail_pgp_mime/master'
...
Fixed lots of conflicts
2014-12-20 08:07:46 +01:00
cketti
7752f42db6
Merge branch 'gradle_only_and_k9mail_library'
...
Conflicts:
k9mail-library/src/main/java/com/fsck/k9/mail/transport/imap/ImapSettings.java
src/com/fsck/k9/mail/store/imap/ImapSettings.java
src/com/fsck/k9/mail/transport/imap/ImapSettings.java
2014-12-20 04:46:14 +01:00
cketti
52b3974c4f
Run checkstyle and findbugs on k9mail-library
2014-12-20 01:49:09 +01:00
cketti
105bca735b
Move 'mail' package to library project
2014-12-20 01:31:33 +01:00