Floris Bruynooghe
642276c90c
Attempt to fix race in securejoin handling
...
The ongoing process of dc_join_securejoin() was stopped before the
corresponding chat was created. This resulted in a race-condition
between the sqlite threads executing the creation and query
statements, thus sometimes the query would not find the group and
mysteriously fail.
Tripple-programming with hpk & r10s.
2019-11-30 00:48:14 +01:00
björn petersen
e4b2fd87de
Merge pull request #911 from deltachat/draft-sorting
...
sort newly created chats atop of chatlist
2019-11-29 15:11:06 +01:00
Alexander Krotov
dacde72456
Respect CertificateChecks in IMAP Client::secure
2019-11-29 00:40:50 +01:00
Alexander Krotov
7e66af05ff
Calculate job backoff relative to the current time
...
Otherwise it is possible that desired_timestamp is in the past.
2019-11-29 00:26:25 +01:00
B. Petersen
b6bb5b79af
target comments of @flub
2019-11-28 23:56:12 +01:00
Floris Bruynooghe
f0486eb820
Skip bad jobs in the database
...
Be more defensive: if somehow we got corrupt jobs in the database skip
over them rather than fail to do anything.
This only modifies the query_map() call, the rest is only split off
into it's own function to make it testable. Smaller functions are
good anyway.
2019-11-28 23:41:47 +01:00
B. Petersen
cdc2847b96
use created_timestamp as secondary sort criterion for chatlists
2019-11-28 22:38:53 +01:00
B. Petersen
1d996d9ed9
track created_timetamp for chats
2019-11-28 22:38:48 +01:00
Alexander Krotov
e06ac87c0d
Convert the number of retries to u32
2019-11-28 21:44:16 +01:00
Alexander Krotov
0c19fcd79f
Use Rust for instead of while
2019-11-28 21:44:16 +01:00
Alexander Krotov
02fe3d1b99
Process PerformJobsNeeded::AvoidDos case explicitly
2019-11-28 21:44:16 +01:00
Alexander Krotov
95b90a59dc
Add PerformJobsNeeded enum (DC_JOBS_NEEDED_* in core)
2019-11-28 21:44:16 +01:00
Alexander Krotov
fe7852b64e
Restore JOB_RETRIES constant
2019-11-28 21:44:16 +01:00
holger krekel
f87cb4231c
rename jobs to make "rg Markseen" and other searches for the job enum produce all places dealing with the enum
2019-11-28 19:42:24 +01:00
B. Petersen
7484fb6120
remove boilderplate from sql-statements, see #852
2019-11-28 19:29:44 +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
76610f1e72
rename to more specific name, also not using the difficult to type "succeeded" word :)
2019-11-27 13:02:07 +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
Alexander Krotov
59700cb477
Restore peerstate constants from C core
2019-11-27 05:41:54 +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
B. Petersen
f53b3c2e7b
add DC_EVENT_SECUREJOIN_SUCCEEDED
2019-11-27 00:43:50 +01:00
Alexander Krotov
22a0e3fe9c
job: try_again refactoring
...
Introduce TryAgain type with C core constants
Make try_again field and method private.
Remove try_again == 2 processing, it was never used.
2019-11-26 22:14:34 +01:00
Floris Bruynooghe
e0601bab3d
Leave the avatar in place if it already is in the blobdir
2019-11-25 12:59:55 +01:00
Floris Bruynooghe
69369b02ea
Copy Selfavatar to blobdir and store as proper blob
...
When a new Selfavatar is set the file needs to be copied into the
blobdir and as a proper blob it should be stored in the database as
$BLOBDIR/$filename.
This should fix #868 .
2019-11-25 12:59:55 +01:00
B. Petersen
966b9fac49
fix cast to libc::c_char, signed i8 fails eg. on android
2019-11-24 18:12:42 +01:00
Alexander Krotov
6412adcfa7
Use forked version of async-imap and imap-proto
...
This attempts to fix fetching when the inbox contains mail with non-utf8 subjects.
2019-11-24 12:05:30 +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
b5cbc97333
also make smtp respect CertificateChecks setting roughly
2019-11-22 12:28:19 +01:00
holger krekel
a867452927
rough integration of async-tls CertChecks (strict and automatic but not more finegrained work)
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
97e6bc2be3
bust ci cache, update deps, use a different rust version, remove rustup install
2019-11-22 12:28:19 +01:00
dignifiedquire
2c2555fad9
refactor: drop native-tls
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