holger krekel
d14c6ea202
refine uid_next handling and rename and resultify configure_folder to ensure_configurer_folders
2019-11-30 23:53:35 +01:00
holger krekel
7be5fe925a
revert logic to get last_seen_uid
2019-11-30 23:53:35 +01:00
holger krekel
8f43d7fa34
remove commented errors and fix fmt
2019-11-30 23:53:35 +01:00
holger krekel
b6e9bcee3c
when first looking at a folder, look at "uid_next" as returned from server
...
and otherwise properly fetch the last messages to determine the last seen uid.
also add some tracing.
2019-11-30 23:53:35 +01:00
holger krekel
2dbef704e9
rework select_folder error handling (thanks @flub and @link2xt for helping along)
2019-11-30 23:53:35 +01:00
Alexander Krotov
430d4e5f6e
Replace DC_CREATE_MVBOX with boolean
2019-11-28 18:24:29 +01:00
holger krekel
6f6791c1b5
(flub/r10s/hpk42) remove MoveState and related functions because we don't actually need it anymore
2019-11-28 15:57:26 +01:00
B. Petersen
de228bdb4b
also move messages sent to ourselves via bcc_self to the DeltaChat folder (other messages are moved in receive_imf())
2019-11-28 15:57:26 +01:00
holger krekel
618d74cd67
safer interruptability of fake-idle -- reusing the same skip_next_idle pattern as with idle
2019-11-27 05:52:14 +01:00
Floris Bruynooghe
fc1a136448
Remove unused (async)Arc
...
This identical naming of sync and async arcs is not confusing at all
btw.
2019-11-27 05:39:36 +01:00
Alexander Krotov
8d81c8c1e0
Do not crash on messages without message-id
2019-11-23 22:52:16 +01:00
holger krekel
7e3c61eb41
address @dignifiedquire err.to_string() comment and avoid extra virtualenv building
2019-11-22 12:28:19 +01:00
holger krekel
bb396685ab
some comments fix imap->inbox naming in example
2019-11-22 12:28:19 +01:00
holger krekel
8ef0ea8aea
simplify double-fetching
2019-11-22 12:28:19 +01:00
holger krekel
34c766dc2b
merge JobThread::connect_to_imap with Imap::connect_configured for simplicity
2019-11-22 12:28:19 +01:00
holger krekel
a30fa710ad
resultify fetch and simplify fake_idle
2019-11-22 12:28:19 +01:00
holger krekel
fa01884350
proper handling of IdleResponse codes
2019-11-22 12:28:19 +01:00
holger krekel
eae9ad6f8b
remove context.inbox in favour of a context.inbox_thread following the mvbox_thread and sentbox_thread patterns. Also some streamlining of shutdown logic.
2019-11-22 12:28:19 +01:00
holger krekel
be533fa66a
resultify some imap operations
2019-11-22 12:28:19 +01:00
holger krekel
8e7dc5e86f
reconfigure running of rust and python tests
2019-11-22 12:28:19 +01:00
holger krekel
e13ce3140b
introduce a trigger_reconnect helper
2019-11-22 12:28:19 +01:00
holger krekel
0405c945e2
shortcut fetch/idle on mvbox/sentbox if we don't know the folder and prevent busy-looping
2019-11-22 12:28:19 +01:00
holger krekel
5293ea70ae
steramline some teardown decision code, and add webpki_roots for cert-checking
2019-11-22 12:28:19 +01:00
holger krekel
c6f4d6d8bd
* fix interrupt_idle by signalling "skip_next_idle_wait" to the potentially concurrently "fn idle" function
...
* fixes double-export issue
2019-11-22 12:28:19 +01:00
holger krekel
8723aa097e
make select_folder return ImapActionResult's and early-return from idle if there is no selected folder
2019-11-22 12:28:19 +01:00
dignifiedquire
86f66f4d78
cleanup imap impl
2019-11-22 12:28:19 +01:00
dignifiedquire
1a1a59a14e
implement idle again
2019-11-22 12:28:19 +01:00
dignifiedquire
1687e8d26f
it compiles with async-imap, remove local dependency
2019-11-22 12:28:19 +01:00
holger krekel
911c0e45dc
expose empty server functionality and test it (also introducing a new DC_EVENT_IMAP_FOLDER_EMPTIED event)
2019-10-29 22:19:13 +01:00
holger krekel
7628ee1e05
rust-part of empty_server
2019-10-29 22:19:13 +01:00
holger krekel
de3e5e1c39
fix deadlock issue with config access
2019-10-29 16:08:24 +01:00
B. Petersen
27627b4f74
show better error message for a simple 'bad credentials' error and give some more hints for other errors
2019-10-29 16:08:24 +01:00
Floris Bruynooghe
c8d296ea0e
A MsgId newtype
...
This more strongly types the ubiquitous message id type by no longer
making it an integer. It keeps the actual ID opaque. Only for the
generic job API the number keeps being used. Some locations also need
to create it from an integer and call MsgId::new().
2019-10-29 15:30:53 +01:00
holger krekel
b4464ab0a3
address @dignifiedquire comments
2019-10-28 20:51:17 +01:00
holger krekel
1cc4f56025
make imap-idle survive disconnects (during and at the beginning of an app)
2019-10-28 20:51:17 +01:00
holger krekel
1d03e0822e
seems to work
2019-10-28 20:51:17 +01:00
B. Petersen
049077f13b
reconnect on io errors and broken pipes
2019-10-22 09:58:05 +02:00
dignifiedquire
076616bfb9
fix(imap): read server greeting
2019-10-20 13:10:17 +02:00
Alexander Krotov
66e53e6804
Return bool from Imap::fetch()
...
It is unused anyway
2019-10-11 21:52:47 +02:00
holger krekel
7f5b362eda
remove ok_to_continue and simplify/refactor imap and smtp connection trying
...
address @r10s review comments and also remove unneccessary "unsafe fn"
2019-10-07 13:39:01 +02:00
B. Petersen
2317518e5e
cargo fmt
2019-10-04 23:07:34 +02:00
B. Petersen
477af413c6
if in doubt, prefer unwrap_or_default()
...
if the past we had lots of crashes because of unexpected unwrap failures,
mostly related to string.
this commit avoids them eg. for string-conversions that may panic
eg. when encountering a null-byte or by logical programming errors
where an object is assumed to be set but is not under unexpected circumstances.
2019-10-04 23:07:33 +02:00
B. Petersen
93f0f5ccae
rename sql-config-setters to set_raw_config*()
...
the rename is reasonable as the getter is called get_raw_config*()
and to make the functional difference to context.set|get_config() clearer.
2019-10-04 11:18:26 +02:00
B. Petersen
dca9afa10b
rename sql.get_config() to sql.get_raw_config() to make clearer that there is not default handling
2019-10-03 17:35:43 +02:00
Alexander Krotov
130d485cac
Fix some clippy warnings
2019-10-03 14:30:40 +02:00
Alexander Krotov
216266d7bf
Apply imap_certificate_checks config to StartTLS connections
2019-10-03 02:02:51 +03:00
Alexander Krotov
bf1652a1be
Move common code for IMAP and SMTP to login_param.rs
2019-10-03 01:26:38 +03:00
Alexander Krotov
6343ae8161
Rename {mail,send}_certificate_checks into {imap,smtp}_certificate_checks
2019-10-03 01:26:07 +03:00
Alexander Krotov
063d989225
Use mail_certificate_checks configuration in imap.rs
2019-10-03 01:26:07 +03:00
holger krekel
509a21ff05
introduce DC_IMAP_MESSAGE_MOVED event and try harder to send out MDNs
2019-10-02 23:51:14 +02:00