cketti
24f55ee03e
Add test for RetrieveMessageOperations.getHeaders()
2021-04-01 01:32:46 +02:00
cketti
0e1ff7d6b1
Remove LocalKeyStore's dependency on Android's Context
...
And lazily initialize the KeyStore so we're not doing any work when the instance is created.
2021-03-30 22:08:06 +02:00
cketti
bb1c9c32be
Convert 'LocalKeyStore' to Kotlin
2021-03-30 22:06:12 +02:00
cketti
ac0a2525f7
Rename .java to .kt
2021-03-30 21:34:28 +02:00
cketti
f47862d789
Add tests for LocalKeyStore
2021-03-30 21:34:28 +02:00
cketti
00f13c0c8e
Pass keystore directory as File instance to LocalKeyStore
2021-03-30 20:03:13 +02:00
mehdisadeghi
a0b160c7cd
Add support for In-Reply-To parameter in mailto: URIs ( #5194 )
2021-03-09 15:32:30 +01:00
cketti
a205920510
Add 'MessageIdParser'
...
Can be used to parse the value of 'Message-ID', 'In-Reply-To', and 'References' header fields.
2021-03-05 18:45:21 +01:00
cketti
06de64cd2c
Make MessageHeaderParser more flexible
2021-02-20 13:28:15 +01:00
cketti
33d06a5ac9
Convert 'MessageHeaderParser' to Kotlin
2021-02-18 17:49:23 +01:00
cketti
224d56526e
Rename .java to .kt
2021-02-18 17:49:22 +01:00
cketti
987325d226
SMTP: Read all responses before issuing DATA command
2021-02-16 13:34:46 +01:00
cketti
1f2404557b
Migrate storeUri/transportUri to new server settings format
2021-02-01 17:30:21 +01:00
cketti
08d6d9bebc
Delete remaining store/transport URI functionality
2021-02-01 17:30:21 +01:00
cketti
69ed32ff8a
Convert 'ServerSettings' to Kotlin
2021-02-01 10:39:19 +01:00
cketti
2338381de1
Rename .java to .kt
2021-01-31 18:50:14 +01:00
cketti
1ebc487b56
Don't use custom ServerSettings subclass in SettingsImporter
2021-01-31 18:50:14 +01:00
cketti
97051f3f7c
Make WebDavStore use ServerSettings directly
...
Instead of using WebDavStoreSettings as a ServerSettings subclass make it a helper to extract WebDav-specific settings.
2021-01-31 18:50:14 +01:00
cketti
42e180d6fa
Make ImapStore use ServerSettings directly
...
Instead of using ImapStoreSettings as a ServerSettings subclass make it a helper to extract IMAP-specific settings.
2021-01-31 18:50:14 +01:00
cketti
7ae88bb61d
Treat FolderNotFoundException as permanent error
2020-12-23 01:23:24 +01:00
cketti
1873593dc5
Format Kotlin code
2020-10-16 16:41:19 +02:00
cketti
ed8009d9fa
Update ktlint-gradle to 9.4.1, ktlint to 0.39.0
...
Apply ktlint-gradle plugin to all Gradle subprojects.
2020-10-16 14:27:23 +02:00
cketti
5bc7ac3901
When constructing new messages check header values
2020-10-13 03:29:20 +02:00
cketti
8663bbb5b9
Check (unstructured) header field syntax when adding them to MimeHeader
2020-10-13 03:29:20 +02:00
cketti
fac346009a
Only pass encoded headers to MimeHeader
...
Remove code to encode header values from from MimeHeader.writeTo()
2020-10-11 02:28:36 +02:00
cketti
3b7c5ea10f
Display message headers in the original order
2020-10-08 16:16:50 +02:00
cketti
3c0d9b99f9
Remove unused Message.setCharset() mechanism
2020-10-04 23:33:31 +02:00
cketti
2a3cc1d422
Don't pass charset to EncoderUtil.encodeEncodedWord()
2020-10-04 23:30:23 +02:00
cketti
267c658492
Only consider US-ASCII and UTF-8 in EncoderUtil.determineCharset()
2020-10-04 23:30:23 +02:00
cketti
357e197256
Remove remaining (non-working) 'androidTest' tests
2020-10-04 23:11:42 +02:00
cketti
0c97e2a4e0
Update Robolectric to 4.4
...
Replace usage of classes from transitive dependencies that are no longer available.
2020-09-18 03:14:46 +02:00
cketti
3211e3942c
Show image previews even when wrong MIME type is used
...
More precisely, show image preview when the MIME type is application/octet-stream and the file extension maps to a supported image MIME type.
2020-09-09 12:16:03 +02:00
cketti
9234b16c13
Convert 'ImapSync' to Kotlin
2020-08-27 22:35:36 +02:00
Tobias Preuss
f8e6e59fd6
Use io extension functions to make code more concise.
...
+ This change replaces a few usages of BufferedWriter, ByteArrayInputStream,
OutputStreamWriter with their equivalent Kotlin extension functions.
2020-08-24 19:22:29 +02:00
Tobias Preuss
9c6d08142a
Infer type.
2020-07-08 13:58:23 +02:00
cketti
e42e0fa8b9
IMAP: Support negative responses to APPEND command
2020-06-19 18:55:04 +02:00
cketti
dc119f9068
Convert 'ImapFolder' to Kotlin
2020-06-18 14:44:26 +02:00
cketti
be7849eb5d
Rename 'ImapFolder' prior to conversion to Kotlin
2020-06-18 14:44:22 +02:00
cketti
84ffe7b3cd
Convert 'ImapFolderTest' to Kotlin
2020-06-18 14:44:20 +02:00
cketti
3d97acde5c
Rename 'ImapFolderTest' prior to conversion to Kotlin
2020-06-18 14:44:18 +02:00
cketti
4b8d6bf50c
Replace 'blacklisted' with 'disallowed'
2020-06-02 17:15:51 +02:00
cketti
4e2ae11238
Don't select charset depending on the recipient address
...
It's 2020. We now always use UTF-8 for outgoing emails.
2020-05-27 03:07:29 +02:00
cketti
789769ef39
Replace Account.getOutboxFolder() with Account.getOutboxFolderId()
2020-05-04 16:31:00 +02:00
cketti
767f7e0efe
Remove StoreConfig
2020-05-01 05:42:50 +02:00
cketti
02049c5882
Create DraftsFolderProvider
2020-05-01 05:38:37 +02:00
cketti
82db38bd08
Create ImapStoreConfig
2020-05-01 05:30:34 +02:00
cketti
a6f75dc587
Remove StoreConfig.getMaximumAutoDownloadMessageSize()
2020-05-01 05:15:51 +02:00
cketti
d7d1fe0c0e
Remove StoreConfig.isRemoteSearchFullText()
2020-05-01 04:18:16 +02:00
cketti
1858986fc4
Remove StoreConfig.isAllowRemoteSearch()
2020-05-01 04:03:02 +02:00
cketti
88bcea1552
Remove StoreConfig.getOutboxFolder()
2020-05-01 03:36:42 +02:00
cketti
fcfc7e6a22
Remove unused method StoreConfig.getInboxFolder()
2020-05-01 03:31:11 +02:00
cketti
94489bf55a
Change List<? extends Message> to List<Message> where appropriate
2020-04-27 18:37:10 +02:00
cketti
7ac210956a
Change List<? extends Message> to List<WebDavMessage> where appropriate
2020-04-27 18:37:10 +02:00
cketti
db7760a9e2
Change List<? extends Message> to List<Pop3Message> where appropriate
2020-04-27 18:37:10 +02:00
cketti
d3bdebccf3
Change List<? extends Message> to List<ImapMessage> where appropriate
2020-04-27 18:37:10 +02:00
cketti
8abac750af
Make ImapStore.getFolders() return the proper server ID
2020-04-24 22:00:10 +02:00
cketti
37eea88f82
Refactor ImapStore.getPersonalNamespaces()
2020-04-24 20:33:22 +02:00
cketti
d70564e423
Remove unused code
2020-04-18 19:51:48 +02:00
cketti
a44732ee38
Remove FolderClass.NONE
...
Rewrite entries in the database to use FolderClass.NO_CLASS
2020-04-08 19:33:03 +02:00
cketti
61f3f06ba7
Merge pull request #4641 from k9mail/remove_old_push_code
...
Remove old push code
2020-04-06 19:21:53 +02:00
cketti
2a78418911
Remove old Push code
2020-04-05 20:08:29 +02:00
cketti
59630fb13b
Change appearance of attachment boxes in message compose screen
2020-04-05 03:40:24 +02:00
cketti
68213ac717
Merge pull request #4634 from k9mail/uidvalidity
...
IMAP: Clear local message cache when UIDVALIDITY value changes
2020-04-02 21:45:03 +02:00
cketti
0554dfcd04
Clear local message cache when UIDVALIDITY value changes
2020-03-31 22:20:46 +02:00
cketti
5791253122
Add support for UIDVALIDITY to ImapFolder
2020-03-31 16:42:38 +02:00
cketti
f1b73a11b9
Convert 'MessageIdGeneratorTest' to Kotlin
2020-03-29 22:24:11 +02:00
cketti
576696e87e
Change fallback hostname for Message-ID to "fallback.k9mail.app"
2020-03-29 22:14:00 +02:00
cketti
ab0aae46c4
Extract interface for UUID generation
2020-03-29 22:10:20 +02:00
cketti
9ef845fda5
Convert 'MessageIdGenerator' to Kotlin
2020-03-29 22:00:03 +02:00
cketti
c71b1f0699
WIP: Renaming file 'MessageIdGenerator' with Kotlin extension
2020-03-29 21:49:11 +02:00
cketti
cfed7b0c08
Don't use android.net.MailTo in ListHeaders
2020-03-28 21:57:04 +01:00
cketti
b0aa07aef9
Move MailTo class to :mail:common module
2020-03-28 21:39:04 +01:00
cketti
982013ded4
Make sure Part.getMimeType() returns a valid MIME type
2020-03-24 02:29:01 +01:00
cketti
7918ffad85
Add MimeType class
2020-03-24 01:53:06 +01:00
cketti
c4ab630161
Remove 'androidTest' tests
...
We don't regularly run them and most of them don't even compile anymore.
2020-03-11 18:01:41 +01:00
cketti
e4cc7b9a91
Merge pull request #4575 from k9mail/MimeMessage_setReplyTo
...
Use AddressHeaderBuilder for MimeMessage.setReplyTo()
2020-03-02 14:33:49 +01:00
cketti
4325509d43
Use AddressHeaderBuilder for MimeMessage.setReplyTo()
2020-02-29 22:50:07 +01:00
cketti
916015b1f0
Convert 'MimeHeader' to Kotlin
2020-02-29 21:29:46 +01:00
cketti
21891f1d1d
WIP: Renaming file 'MimeHeader' with Kotlin extension
2020-02-29 18:27:13 +01:00
cketti
eccf4738b6
Get rid of 'm' prefix in MimeHeader fields
2020-02-29 18:26:18 +01:00
cketti
2333899afb
We no longer need MimeHeader to implement Cloneable
2020-02-29 18:24:04 +01:00
cketti
ab7feffa68
Add JMAP message sync (part 1)
...
This only supports doing a full sync and downloading complete messages.
2020-02-12 19:12:11 +01:00
cketti
58f32df670
Remove now unused class 'Folder'
2020-01-28 16:22:09 +01:00
cketti
35da218170
Make WebDavFolder no longer extend Folder
...
This highlighted that a bunch of code in backend-webdav was unused.
2020-01-28 16:22:09 +01:00
cketti
579027e66c
Make Pop3Folder no longer extend Folder
...
This highlighted that a bunch of code in backend-pop3 was unused.
2020-01-26 23:35:25 +01:00
cketti
76bc52beef
Make ImapFolder no longer extend Folder
2020-01-26 23:35:25 +01:00
cketti
9335080545
Get rid of common base class RemoteStore
...
This also allows removing some unnecessary methods in former subclasses.
2020-01-26 05:16:01 +01:00
cketti
0b21a7521d
Add JMAP folder sync
2020-01-15 16:14:16 +01:00
cketti
2d470c73a0
Move FolderType and FolderClass out of Folder
2020-01-09 14:08:41 +01:00
cketti
83ad4197b8
Remove unused code from Folder
2020-01-09 14:08:41 +01:00
cketti
13bc16caf8
Remove Message.getFolder()
2020-01-08 23:30:03 +01:00
cketti
aa13a46e3e
Don't pass Folder instance to PushReceiver
2019-12-18 01:05:28 +01:00
cketti
079d166ce6
Convert 'EncoderUtilTest' to Kotlin
2019-12-12 00:10:00 +01:00
Bastian Wilhelm
7a8a67ea25
Make sure encoded word encoding doesn't split surrogate pairs
2019-12-11 23:04:54 +01:00
cketti
93d0e14b68
Fix code style issues found by ktlint
2019-11-29 13:44:00 +01:00
cketti
88d863c4c2
Add ktlint and Kotlin code style settings for Android Studio
2019-11-29 13:39:16 +01:00
cketti
d4def08551
Filter duplicate folder names in IMAP LIST response
2019-11-19 23:15:31 +01:00
cketti
6325e4deea
Remove now unused code in 'DefaultTrustedSocketFactory'
2019-11-19 15:06:53 +01:00
cketti
57ff989edd
Add kotlinOptions.jvmTarget to Gradle projects using Kotlin
2019-11-17 14:45:05 +01:00
cketti
b241201e88
Fix check for invalid IMAP capability response
2019-11-15 14:37:47 +01:00
cketti
e3973096d3
Remove Checkstyle
2019-11-13 16:51:52 +01:00
cketti
56a37d9e14
Remove FindBugs
...
It's not maintained anymore and we're not currently using it.
2019-11-13 16:41:51 +01:00
cketti
105622a999
Use variable for 'sourceCompatibility' and 'targetCompatibility' values
2019-11-13 16:26:29 +01:00
cketti
6f0bae80b9
Fix test in 'SmtpTransportTest'
...
We tested whether the connection was still open. But we should test
whether the connection was closed. The test passed most of the time
because closing a connection takes some time.
2019-05-24 13:45:29 +02:00
cketti
3ccabbf95f
Remove unused code
2019-03-09 19:31:54 +01:00
cketti
7c7ce6eb84
Remove Message.setRecipients() and manually set recipient headers
...
Use AddressHeaderBuilder to encode the recipient addresses and fold the
header value.
2019-02-14 02:28:36 +01:00
cketti
58d72e0df3
Add AddressHeaderBuilder to correctly fold recipient headers
2019-02-14 02:28:36 +01:00
cketti
47deb4e5ba
Switch to androidx artifacts
2019-02-09 22:08:25 +01:00
cketti
eeb820b958
Remove Folder.delete(boolean)
2019-01-10 00:15:35 +01:00
cketti
e4d7482bef
Add test to make sure hasCapability() opens a connection if necessary
2019-01-09 19:06:47 +01:00
cketti
2a4f1c4314
Don't only list special folders when SPECIAL-USE capability is present
2019-01-07 02:02:46 +01:00
cketti
0422268efc
Make sure connection has been opened before checking capability
2019-01-06 23:32:17 +01:00
cketti
2861d93a7f
Check for LIST-EXTENDED capability before issuing LIST with SPECIAL-USE
2018-12-21 18:57:16 +01:00
cketti
b5588a8d02
Remove compatibility code for pre-API 19 versions
2018-12-16 02:49:49 +01:00
Vincent Breitmoser
af09f7b02e
Merge pull request #3799 from k9mail/smtp-pipeline-first-error
...
Return first, rather than last, response for pipelined SMTP commands
2018-12-12 12:05:29 +01:00
Vincent Breitmoser
fda70cbea7
respect first overall negative reply in smtp pipelining
2018-12-10 17:21:10 +01:00
Vincent Breitmoser
d1c4701256
Merge pull request #3808 from artbristol/remove-exception-todo
...
Remove TODO
2018-12-10 12:55:12 +01:00
Art O Cathain
5e3141d236
Remove TODO
2018-12-09 14:06:17 +01:00
Vincent Breitmoser
3c663098b3
Use local ip statically for SMTP HELO/EHLO
2018-12-05 22:26:17 +01:00
Vincent Breitmoser
bad3f20852
add unit test for negative response in smtp pipeline
2018-12-05 15:58:23 +01:00
Vincent Breitmoser
64c6a14e77
Return first, rather than last, response for pipelined SMTP commands
2018-12-05 14:50:57 +01:00
Vincent Breitmoser
4333a3a16f
remove "hideHostnameWhenConnecting" from global settings
2018-12-05 14:39:08 +01:00
Vincent Breitmoser
c06e1a9d9b
always just send IP instead of hostname in SMTP EHLO message
...
Clients are very often behind NATs, which makes the hostname in
HELO/EHLO messages virtually useless these days. Attempting to figure
out a hostname we could use also led to issues with some strict Postfix
configurations (see https://github.com/k9mail/k-9/issues/3387 ). This
commit changes our behavior to simply send the local IP always, getting
rid of this metadata.
Fixes #3387
2018-12-05 14:36:06 +01:00
Vincent Breitmoser
e6e0d7c1c2
Merge pull request #3772 from k9mail/cleanup-localkeystore
...
Clean up LocalKeyStore and related
2018-12-02 05:08:03 +01:00
Vincent Breitmoser
268ccfc0ff
Stop ImapFolderPusher on CertificateValidationException
...
This is a permanent error, but apparently not treated as one. I got
a certificate error notification every two seconds just now (because
LocalKeyStore is broken, see #3772 ). This PR simply stops the pusher on
a certificate error.
2018-12-01 14:15:42 +01:00
Vincent Breitmoser
8fd2b56a67
clean up some warnings in trust management classes
2018-11-30 15:50:38 +01:00
Vincent Breitmoser
df85d7b0f3
Clean up TrustManager, KeyStore and SocketFactory use
2018-11-30 15:47:57 +01:00
Vincent Breitmoser
7819045e1b
Extract deletion and saving of accounts into AccountManager
2018-11-29 18:19:07 +01:00
Wiktor Kwapisiewicz
4e6d642ddd
Disallow Addresses with null
address part
...
This change ensures that Address objects are always created with a valid
`address` part. If an Address contains only `personal` part then it is
silently skipped from parsed list.
Unit tests have been adjusted to this new requirement.
Removed inserting Address with `null` address component introduced in
commit 68cecb168e
.
Fixes #3652 .
See: https://github.com/k9mail/k-9/pull/3739#issuecomment-441242481
2018-11-28 20:42:14 +01:00
cketti
72a664458e
Remove StoreConfig.set*Folder()
2018-11-13 20:38:46 +01:00
cketti
aecdbf5a6a
Add FolderType support to WebDavStore + WebDavBackend
2018-11-13 16:57:32 +01:00
cketti
cea3c41269
Add FolderType support to ImapStore + ImapBackend
2018-11-13 16:57:32 +01:00
cketti
91ae94d432
Add FolderType support to (Local)Folder
2018-11-13 16:57:32 +01:00
cketti
9711b42412
Remove unused Folder.FolderType
2018-11-09 14:19:36 +01:00
cketti
cda778e491
Remove unused method Message.clone()
2018-09-03 01:17:25 +02:00
cketti
83b6ab0620
Merge pull request #3570 from k9mail/mime_parameter_decoder
...
Add proper header parameter parser/decoder
2018-09-03 00:43:30 +02:00
cketti
56882dc6c3
Fix unresolved references in Javadoc comments
2018-09-03 00:13:58 +02:00
BO41
c043eb0df4
Replace explicit type arguments with <>
2018-09-02 23:35:09 +02:00
cketti
ffd57c4e86
Merge pull request #3589 from k9mail/BO41_code_cleanup
...
[Cleanup] Improve accessibility, correctness and performance
2018-09-02 23:04:02 +02:00
BO41
f24cb76d9e
Improve accessibility, correctness and performance
2018-09-02 22:49:48 +02:00
cketti
ae76f07ada
Merge pull request #3588 from k9mail/simplify_if_statements
...
[Cleanup] Simplify if statements
2018-09-02 22:48:21 +02:00
BO41
86dde4dabf
Remove unused imports
2018-09-02 22:31:34 +02:00
BO41
dbea2cafa6
Simplify if statements
2018-09-02 22:27:28 +02:00
cketti
5d98c15bce
Use MimeParameterEncoder and MimeParameterDecoder in MimeMessageHelper
2018-08-26 18:09:29 +02:00
cketti
5f7dac4556
Remove unwarranted usage of MimeUtility.unfoldAndDecode()
2018-08-26 17:18:22 +02:00
cketti
942ecb5a4e
Use MimeParameterDecoder to extract header parameters
2018-08-26 17:18:21 +02:00
cketti
4ea798fdf6
Make MimeParameterEncoder use functions in MimeExtensions.kt
2018-08-26 16:02:15 +02:00
cketti
95465ea6d7
Add proper parser for header parameters (RFC 2045 + RFC 2231)
2018-08-26 16:02:15 +02:00
cketti
5c50f367e4
Change AuthenticationFailedException to expose alert text from server
2018-08-14 16:08:30 +02:00
cketti
1f0f4285d2
Add support for local_only column to LocalFolder
2018-07-23 14:25:30 +02:00
cketti
87132562f8
Remove unused parameter
2018-07-22 18:31:41 +02:00
cketti
0af83029cc
Change ServerSettings#type to a String
2018-07-19 12:40:57 +02:00
cketti
50e955d2da
Remove default port information from ServerSettings.Type
2018-07-18 19:25:43 +02:00
cketti
7c16fe2e35
Remove getStore/TransportUri() from StoreConfig
2018-07-17 22:43:42 +02:00
cketti
902d959c10
Remove knowledge of transport URI from SmtpTransport
2018-07-17 21:53:30 +02:00
cketti
7ca3806c33
Remove knowledge of store URI from :mail:protocols:webdav module
2018-07-17 21:33:04 +02:00
cketti
9cb5c70e4b
Remove knowledge of store URI from :mail:protocols:pop3 module
2018-07-17 20:39:18 +02:00
cketti
f046313d98
Remove knowledge of store URI from :mail:protocols:imap module
2018-07-17 20:39:18 +02:00
cketti
2b97211612
Remove WebDavStore.createUri/decodeUri
2018-07-17 20:39:18 +02:00
cketti
6758b6546e
Remove Pop3Store.createUri/decodeUri
2018-07-17 20:39:18 +02:00
cketti
4e22b1c509
Remove ImapStore.createUri/decodeUri
2018-07-17 20:39:18 +02:00
cketti
ec9ba959f8
Remove TransportUris
2018-07-15 20:08:11 +02:00
cketti
e2c09e4155
Make account setup code use Backend to check outgoing server settings
2018-07-11 19:57:51 +02:00
cketti
f6713ea55a
Clean up modules' dependencies
2018-07-08 16:06:19 +02:00
cketti
b46594fed4
Move UI code to ui module
2018-07-02 16:19:21 +02:00
cketti
689d3d9308
Fix tests
2018-06-19 12:51:00 +02:00
cketti
782f3cc4c5
Move code to create Pusher to Backend implementations
2018-06-18 15:36:47 +02:00
cketti
455315f62e
Move code to upload messages to Backend implementations
2018-06-17 17:43:32 +02:00
cketti
80c76e6fb9
Move code to search/fetch messages to Backend implementations
2018-06-17 16:57:18 +02:00
cketti
3b393964e2
Move code to get folder list to Backend implementations
2018-06-17 03:26:56 +02:00
cketti
294a678b16
Move code to set message flags to Backend implementations
2018-06-16 17:41:53 +02:00
cketti
606f8c2934
Fix issue with Apache HTTP Client not being on the classpath
2018-06-02 23:18:41 +02:00
cketti
e5c1351aba
Create Gradle modules for POP3 and WebDAV backends
2018-06-02 22:25:17 +02:00
cketti
297352858d
Use per account instances of RemoteMessageStore
2018-05-29 15:54:04 +02:00
cketti
d66968393a
Merge :mail:k9mail into :k9mail
2018-05-24 17:30:43 +02:00
cketti
47520d7ae1
Clean up
2018-05-24 13:57:36 +02:00
cketti
fd7a21bec6
Create :mail:protocols:smtp Gradle module
2018-05-24 13:57:35 +02:00
cketti
c71c1464fd
Create :mail:protocols:webdav Gradle module
2018-05-24 13:57:35 +02:00
cketti
26d02ebb0d
Create :mail:protocols:pop3 Gradle module
2018-05-24 13:57:35 +02:00
cketti
6961295de4
Create :mail:protocols:imap Gradle module
2018-05-24 13:57:35 +02:00
cketti
a1cfe76dc0
Decouple RemoteStore from implementations
2018-05-23 23:04:48 +02:00
cketti
7397402ba7
Move k9mail-library in preparation of splitting it up
2018-05-23 20:26:11 +02:00