Commit Graph

4485 Commits

Author SHA1 Message Date
Alexander Krotov
f0f020d9d2 chat: get rid of ChatId.is_error()
get_rowid should not return 0, as we have inserted a row right above.

And using is_error() instead of comparing row_id to 0 is a strange way
to check this condition.

As all functions that actually returned 0 chat ID to indicate error have
been removed, the function is gone too.
2020-06-06 19:49:57 +03:00
bjoern
ec441b16f1 Revert "Enable strict TLS certificate checks by default"
This reverts commit 6d9ff3d248.
2020-06-06 18:42:54 +03:00
Alexander Krotov
5239f2edad dc_receive_imf: replace chat_id.is_error() with chat_id.is_unset()
Both methods do the same: compare chat_id to 0. However, in these cases
0 refers to the state when chat_id is not determined yet, because no
corresponding chat has been found.

All functions that returned 0 to indicate error have already been
resultified.
2020-06-06 18:29:35 +03:00
Alexander Krotov
6d9ff3d248 Enable strict TLS certificate checks by default 2020-06-06 00:08:29 +02:00
Hocuri
05e1c00cd1 fix: update message ids correctly
Fixes #1495
2020-06-05 16:27:22 +02:00
Floris Bruynooghe
ca95f25639 Use the Fingerprint type to handle fingerprints
This uses the Fingerprint type more consistenly when handling
fingerprits rather then have various string representations passed
around and sometimes converted back and forth with slight differences
in strictness.

It fixes an important bug in the existing, but until now unused,
parsing behaviour of Fingerprint.  It also adds a default length check
on the fingerprint as that was checked in some existing places.

Fially generating keys is no longer expensive, so let's not ignore
these tests.
2020-06-04 22:46:59 +02:00
dignifiedquire
86c6b09814 fix: trigger reconnects when errors occur during idle and fetch 2020-06-03 15:40:54 +02:00
dignifiedquire
7addb15be5 fix(imap): deterministically detect folder meaning 2020-06-02 15:18:24 +02:00
Hocuri
7b3a962498 Sanitize address book 2020-05-31 17:04:25 +02:00
Hocuri
41bba7e780 Fix #880 Don't vary advanced login settings if a user set a particular setting 2020-05-29 20:31:34 +02:00
dignifiedquire
6d8b4a7ec0 simplify further and apply CR 2020-05-29 19:09:45 +02:00
B. Petersen
84963e198e do autoconfig only when no advanced options are entered
the advanced options are not used anyway later,
but prevent imap/smtp connections from being altered.

nb: we want to stop altering when some advanced options
are entered, however, we want to do this probaby
not depending on autoconfig.
2020-05-29 19:09:45 +02:00
dignifiedquire
408e9946af refactor(configure): cleanup logic 2020-05-29 19:09:45 +02:00
dignifiedquire
43f49f8917 refactor(configure): remove step-counter 2020-05-29 19:09:45 +02:00
Hocuri
b6161c431b Fix #1474 "Sending message to contact with < or > in Recipient gets treated as "Sent" but is not received" (#1476)
Fix #1474 "Sending message to contact with < or > in Recipient gets treated as "Sent" but is not received".

As I was at it, I also extracted the correct name and address from addresses like Mueller, Dave <dave@domain.com>.
2020-05-29 18:14:21 +02:00
Floris Bruynooghe
a236a619ad Finish Key->DcKey refactoring
Migrates .verify() and .split_key() to DcKey.  Removes all remaining
uses of Key.
2020-05-29 11:25:52 +02:00
Floris Bruynooghe
cdbd3d7d84 Move ascii-armored stuff from Key to DcKey
This means all key conversions/serialisation/deserialisation can be
done with DcKey rather than Key.  Also migrate all key conversion
tests to DcKey rather than Key.
2020-05-29 11:25:52 +02:00
Floris Bruynooghe
8efc880b77 Move Keyring and fingerprint to DcKey trait
This moves both the Keyring and the fingerprints to the DcKey trait,
unfortunately I was not able to disentangle these two changes.  The
Keyring now ensures only the right kind of key is added to it.

The keyring now uses the DcKey::load_self method rather than
re-implement the SQL to load keys from the database.  This vastly
simpliefies the use and fixes an error where a failed key load or
unconfigured would result in the message being treated as plain text
and benefits from the in-line key generation path.

For the fingerprint a new type representing it is introduced.  The aim
is to replace more fingerpring uses with this type as now there are
various string representations being passed around and converted
between.  The Display trait is used for the space-separated and
multiline format, which is perhaps not the most obvious but seems
right together with FromStr etc.
2020-05-29 11:25:52 +02:00
Friedel Ziegelmayer
103ee966f4 Merge pull request #1531 from deltachat/forgiving-start-io 2020-05-27 17:20:35 +02:00
dignifiedquire
6100a23e80 fix: avoid lock for probe_network, avoiding deadlock on startup
Closes #1532
2020-05-27 15:13:29 +02:00
dignifiedquire
bd903d8e8f fix: avoid short smtp interruptions 2020-05-26 19:40:30 +02:00
B. Petersen
3db6d5a458 allow calls to start_io when already running and to stop_io when not running, only log a message in these cases 2020-05-26 14:08:47 +02:00
dignifiedquire
157dd44df0 refactor: improve structure of fetch_messages
also fixes updating last_seen_uid to the correct value
2020-05-25 17:03:08 +02:00
dignifiedquire
13811c06ee mark generate_key as blocking 2020-05-25 12:08:16 +02:00
dignifiedquire
2adeadfd73 fix: avoid blocking on expensive pgp operations 2020-05-25 00:17:01 +02:00
dignifiedquire
9442df0cf8 fix: restore logic to original in configure 2020-05-24 21:24:13 +02:00
Friedel Ziegelmayer
f13fbe4398 Merge pull request #1527 from deltachat/feat/async-jobs-parallel-fetch 2020-05-24 19:07:08 +02:00
holger krekel
7f4627356b test and fix buggy parsing of incoming message which would show MDNs as empty incoming messages 2020-05-24 15:22:55 +02:00
dignifiedquire
72d4da0095 feat(imap): process incoming messages in bulk 2020-05-24 00:06:39 +02:00
dignifiedquire
0ea442ca36 feat: add chat::send_msg_sync 2020-05-23 18:56:45 +02:00
dignifiedquire
05f79c1c01 update dependencies 2020-05-23 00:17:50 +02:00
dignifiedquire
c53a3d5cb4 update rust api to match ffi 2020-05-22 22:04:20 +02:00
Friedel Ziegelmayer
014d2946b2 feat: use EventEmitter for events 2020-05-22 21:03:01 +02:00
dignifiedquire
28ef5164ce happy clippy 2020-05-22 11:37:12 +02:00
dignifiedquire
d1f9563e1f remove tracking of current sql query
this will not work like this anymore with async
2020-05-22 11:37:03 +02:00
dignifiedquire
70a2dbb4bb back to stable async-std + use surf instead of reqwest
removes tokio from our dependency tree, now only one async executor
2020-05-22 11:10:26 +02:00
dignifiedquire
7b10ec26a3 improve connection management 2020-05-21 15:38:04 +02:00
dignifiedquire
82c85566dc fix securejoin cancelation 2020-05-21 15:09:32 +02:00
dignifiedquire
c89d7b5b18 fix and improve load_next job logic 2020-05-21 14:48:55 +02:00
dignifiedquire
e8e82d9760 improve error handling and fix sleeps 2020-05-21 14:35:07 +02:00
dignifiedquire
9817ccebcf improve logging 2020-05-21 12:00:34 +02:00
dignifiedquire
16e519430a fix(job): avoid double insertion 2020-05-20 18:38:53 +02:00
dignifiedquire
3c7b3faa7f unify deps and more strict start and stop 2020-05-20 16:42:59 +02:00
dignifiedquire
03fd311bfe log shutdown msg 2020-05-20 13:04:44 +02:00
dignifiedquire
71f7a3e902 avoid clone 2020-05-19 18:07:04 +02:00
dignifiedquire
84abe257f1 bring back intermediate job fetching 2020-05-19 17:44:37 +02:00
dignifiedquire
133ff4914d first pass at resolving CR 2020-05-19 17:26:22 +02:00
dignifiedquire
f81c1afde7 bring back busy_timeout 2020-05-19 13:30:15 +02:00
dignifiedquire
af56ebb04e Merge remote-tracking branch 'origin/master' into feat/async-jobs 2020-05-19 12:07:34 +02:00
B. Petersen
6483b8c138 change to WAL only on one handle.
journal_mode is persisted, it is sufficient to change it only for one handle.
with_init() is called for a bunch of handles directly on pool-creation,
so changing to WAL here easily results in busy-errors.
2020-05-18 18:19:08 +02:00