Commit graph

450 commits

Author SHA1 Message Date
cketti
09a155bcfd Add header folding to MimeHeaderEncoder 2024-03-06 12:44:12 +01:00
cketti
7e5cbf124e Add logging when checking SMTP server settings fails 2024-02-12 14:10:05 +01:00
cketti
1ac7d1bb3d Add logging when checking POP3 server settings fails 2024-02-12 14:07:28 +01:00
cketti
32f847622c Don't wrap IOException in RealImapStore.checkSettings()
Also adds logging for exceptions being thrown while checking server settings.
2024-02-12 13:57:16 +01:00
cketti
4486988c9d Remove unnecessary test server operation 2024-01-26 12:57:49 +01:00
Wolf-Martell Montwé
69010f478f
Rename isSameAs/isNotSameAs to isSameInstanceAs/isNotSameInstanceAs 2024-01-03 15:02:15 +01:00
Meen Beese
5347ebd48b Convert Pop3Commands to Kotlin 2023-12-13 23:49:02 +01:00
Meen Beese
cc169a1d12 Rename .java to .kt 2023-12-13 23:49:02 +01:00
cketti
928b18422e Add more errors to ServerSettingsValidationResult 2023-12-08 15:18:29 +01:00
cketti
025272bbbb Convert CertificateChainException to Kotlin 2023-12-07 21:36:35 +01:00
cketti
34f4d18716 Rename .java to .kt 2023-12-07 21:00:49 +01:00
cketti
5c58b03fb2 Convert CertificateValidationException to Kotlin 2023-12-07 20:58:53 +01:00
cketti
3cf4395fa1 Rename .java to .kt 2023-12-07 20:58:53 +01:00
cketti
dd2ec736b0
Merge pull request #7418 from thunderbird/simplify_CertificateValidationException
Simplify `CertificateValidationException` to only be used when there's a certificate chain
2023-12-07 13:48:45 +01:00
Wolf-Martell Montwé
c04e7de4b0
Merge pull request #7414 from thunderbird/bump_dependencies
Bump dependencies
2023-12-07 12:42:05 +00:00
cketti
07c97cd039 Simplify CertificateValidationException to only be used when there's a certificate chain 2023-12-06 15:53:10 +01:00
Wolf-Martell Montwé
a230e11910
Bump Spotless 6.22.0 -> 6.23.3 and Ktlint 0.50.0 -> 1.0.1 2023-12-06 15:04:55 +01:00
cketti
0d13561b22
Merge pull request #7415 from thunderbird/clean_up_CertificateValidationException
Remove unused code from `CertificateValidationException`
2023-12-06 13:24:26 +01:00
cketti
ce64385708 Remove unused code from CertificateValidationException 2023-12-05 15:26:01 +01:00
Wolf-Martell Montwé
c08902759d
Change ConnectionSecurity to Kotlin
Signed-off-by: Wolf-Martell Montwé <wolf@thunderbird.net>
2023-12-04 17:45:19 +01:00
Wolf-Martell Montwé
9b4ce6b0d8
Rename .java to .kt
Signed-off-by: Wolf-Martell Montwé <wolf@thunderbird.net>
2023-12-04 17:42:12 +01:00
cketti
891294f926
Merge pull request #7403 from thunderbird/move_copyuid_response
IMAP: Add support for untagged COPYUID responses
2023-12-04 14:28:11 +01:00
cketti
462736e0d6 IMAP: Add support for untagged COPYUID responses 2023-12-02 18:31:53 +01:00
cketti
4e344b13b9 Convert UidCopyResponseTest to Kotlin 2023-12-02 00:51:25 +01:00
cketti
68c1180e77 Rename .java to .kt 2023-12-02 00:51:25 +01:00
cketti
fdbfb06d07 Convert UidCopyResponse to Kotlin 2023-12-02 00:51:22 +01:00
cketti
2516846945 Rename .java to .kt 2023-12-02 00:15:48 +01:00
cketti
2160a759e4 Don't start ImapBackendPusher when the app doesn't have permission to schedule exact alarms 2023-12-01 15:23:14 +01:00
cketti
ae2fbfe72d Add ClientCertificateException 2023-11-28 15:14:06 +01:00
cketti
8a3da93314 Remove check for open connection in Pop3ConnectionTest
Right now the behavior of `Pop3Connection.open()` isn't very predictable when it comes to the state of the socket connection in the case of an error. Fixing this would require more changes to the POP3 code than we want to do right now. So this change relaxes the test to not check whether the connection is open or closed.
2023-11-28 14:51:18 +01:00
cketti
6500e16fd9 Remove unused import 2023-11-28 14:02:35 +01:00
cketti
68eec72c7b
Merge pull request #7381 from thunderbird/add_MissingCapabilityException
Add `MissingCapabilityException`
2023-11-28 12:21:09 +01:00
cketti
f79db8e28d Add MissingCapabilityException 2023-11-27 18:49:52 +01:00
cketti
122eac0b57 Use AuthenticationFailedException when appropriate 2023-11-27 15:29:37 +01:00
cketti
b4ef2fb15b IMAP: Use MOVE command if available 2023-11-20 17:39:46 +01:00
cketti
8b66b04692 IMAP move operation should ignore expunge policy
Because the original IMAP specification doesn't include a move operation, we implement it as copy, followed by deleting the source message. Deleting messages in IMAP is a two stage process. First a message is marked as deleted, then the EXPUNGE command is issued. However, the EXPUNGE command will remove all messages in a folder marked as deleted. For a move operation, we don't want to remove other messages, and therefore won't issue the EXPUNGE command. However, if the server supports the UIDPLUS extension, we can specify which messages exactly should be expunged. So if that extension is available, we will use the UID EXPUNGE command on the source message of a move operation.

Since the EXPUNGE command removes all messages marked as deleted, K-9 Mail has a setting that controls when the command is issued (when deleting a message, when polling, manually via a menu option). Previously this setting was also used for move operations. However, that probably should have never been the case.
2023-11-18 18:09:08 +01:00
cketti
1de41d9177 Add FolderFetcher 2023-11-10 22:24:15 +01:00
Wolf-Martell Montwé
7565bb8e66
Fix max-line-length issues manually as auto format does fail 2023-11-07 10:40:08 +01:00
cketti
77ff16bcf7 IMAP: Add app version to ID command 2023-11-02 17:56:55 -04:00
Wolf-Martell Montwé
1236d7114c
Change repository links from thundernest/k-9 to thunderbird/thunderbird-android 2023-11-02 14:35:06 +01:00
Wolf-Martell Montwé
b970e2f90f
Enable AlsoCouldBeApply rule 2023-10-10 13:34:45 +02:00
Wolf-Martell Montwé
e9535ecdaa
Bump Spotless 6.14.0 -> 6.21.0 and KtLint 0.48.2 -> 0.50.0, and reformat/fix code 2023-09-06 18:13:23 +02:00
cketti
4efbf3d0d9 Add OAuth to auto discovery flow 2023-07-31 15:16:09 +02:00
cketti
8e7a5f3541 Add an AuthStateStorage parameter to ServerSettingsValidator
Typically we use `Account` to hold the (OAuth 2.0) authorization state. But during account setup we don't have an `Account` instance yet. So we allow a `ServerSettingsValidator` caller to pass an `AuthStateStorage` that we then use with `OAuth2TokenProviderFactory` to create an `OAuth2TokenProvider` instance. When setting up an account we can use an `AuthStateStorage` implementation that will simply hold the state in memory.
2023-07-29 23:36:02 +02:00
cketti
84f132c148 Add abstraction for storing and retrieving the OAuth state 2023-07-26 15:28:34 +02:00
Wolf-Martell Montwé
ea8c0beb5c
Add server config validation use cases and change check interface to SAM 2023-06-27 11:33:46 +02:00
cketti
ed49b34412
Merge pull request #7024 from thundernest/check_imap_server_settings
Add `ImapServerSettingsValidator`
2023-06-26 13:39:37 +02:00
cketti
2706107519 Add ImapServerSettingsValidator 2023-06-23 17:20:06 +02:00
cketti
1e42e92b1b Include more information in IMAP-specific ServerSettings
The additional properties are necessary to validate server settings.
2023-06-23 17:13:22 +02:00
cketti
8143ae53ec Add responseText property to NegativeImapResponseException 2023-06-23 14:11:30 +02:00