Commit Graph

3411 Commits

Author SHA1 Message Date
link2xt
3986bb6c4e Fix provider update script 2023-01-06 00:44:15 +00:00
link2xt
10349b7be4 Update provider database 2023-01-06 00:39:40 +00:00
link2xt
f69acaa13d Add more logging and improve errors around folder selection 2023-01-05 21:22:34 +00:00
link2xt
754c7324f5 Print more anyhow errors with their causes 2023-01-05 21:21:42 +00:00
link2xt
2b4e32d2cf Remove unused KeyType from DcKey trait
It always equals Self.
2023-01-05 21:20:15 +00:00
bjoern
c5d1802346 "archive" consistency and improvements (#3918)
* move 'archived link' betweeen pinned and normal cahts or above normal chats

* add icon for 'archived chats' link

* let get_fresh_msg_cnt() work for DC_CHAT_ID_ARCHIVED_LINK

* move 'archived link' topmost

* use less noticeable archived-icon

* slightly smaller archived icon

* update CHANGELOG
2023-01-05 10:31:47 +01:00
link2xt
138e62e1ef Improve error handling of existing messages fetch and never retry
There are at least two user reports that fetching existing messages
sometimes results in infinite loop of retrying it. Account is working
if set up from the backup, but never starts working if set up
from scratch.

This change improves error reporting, but also sets FetchedExistingMsgs
before actually trying to do it. This way if the operation fails,
connection is reestablished, but fetching existing messages is not
retried again over and over.
2023-01-03 18:57:45 +00:00
link2xt
468356b120 Trigger reconnection when failing to fetch existing messages 2023-01-03 13:50:37 +00:00
link2xt
f0a28b9168 Log the error before triggering reconnect
This way "Dropping an IMAP connection" message appears
after the cause for connection drop.
2023-01-03 12:08:24 +00:00
link2xt
c8f0c6b5f6 Add more IMAP logs 2023-01-03 12:06:27 +00:00
link2xt
1e5c90ed65 Fix STARTTLS connection 2023-01-02 22:11:09 +00:00
link2xt
f694d2e150 Format configure() logs with error causes 2023-01-02 22:11:09 +00:00
link2xt
9aaf5cf914 Disable Nagle's algorithm for TCP connections 2023-01-02 11:15:21 +00:00
link2xt
08af7419af Format configuration error with causes 2023-01-02 11:15:21 +00:00
link2xt
035b711ee3 Buffer IMAP client writes
async-imap does not do its own buffering, but calls flush() after
sending each command. Using BufWriter reduces the number of write()
system calls used to send a single command.

Note that BufWriter is set up on top of TLS streams, because
we can't guarantee that TLS libraries flush the stream before
waiting for response.
2023-01-02 11:15:21 +00:00
Rafael Diniz
4e943d52e4 Add mappings for some file types to Viewtype / MIME type
Namely: ppt, pptx, xls, heif, heic, avif, txt.
But use Viewtype::File for medias without uniform support on all platforms.
2022-12-29 08:37:31 -03:00
link2xt
7082f9f882 Fix fuzzing module warnings 2022-12-28 19:01:48 +00:00
link2xt
4a982fe632 Add fuzzing tests 2022-12-28 16:23:19 +00:00
link2xt
1e351bd05f Add documentation to simplify.rs 2022-12-28 15:09:20 +00:00
dependabot[bot]
f0d5bfd42f Merge pull request #3722 from deltachat/dependabot/cargo/quick-xml-0.26.0 2022-12-27 17:36:11 +00:00
link2xt
256ef7c5ec Add missing documentation for location streaming 2022-12-27 17:31:24 +00:00
link2xt
6e63555bc8 Add missing documentation for the download state 2022-12-27 17:30:39 +00:00
dependabot[bot]
5432e108a1 cargo: bump quick-xml from 0.23.0 to 0.26.0
Bumps [quick-xml](https://github.com/tafia/quick-xml) from 0.23.0 to 0.26.0.
- [Release notes](https://github.com/tafia/quick-xml/releases)
- [Changelog](https://github.com/tafia/quick-xml/blob/master/Changelog.md)
- [Commits](https://github.com/tafia/quick-xml/compare/v0.23.0...v0.26.0)

---
updated-dependencies:
- dependency-name: quick-xml
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-27 14:01:33 -03:00
link2xt
3fcd17e6a5 Add missing documentation for Summary constructor 2022-12-27 12:02:23 +00:00
Sebastian Klähn
c562d17925 Add verifier information (#3839)
* add verifier information

* cleanup

Co-authored-by: bjoern <r10s@b44t.com>

* finish name change

* simple improvements & new ffi

* fixs

Co-authored-by: bjoern <r10s@b44t.com>
Co-authored-by: septias <xxsebastian.kleahnxx@gmail.com>
2022-12-27 10:41:15 +00:00
link2xt
89b7ce4c4e Move format_flowed to a separate crate
This makes it possible to fuzz test the functions
without exposing the module interface in the deltachat core
interface.

Also ensure that format_flowed will not grow a dependency
on deltachat core types.
2022-12-26 19:21:44 +00:00
iequidoo
6dc790f447 Don't parse the message again after detached signatures validation
If we move the detached signatures validation code out of try_decrypt(), we don't need to convert an
already parsed signed message part to Vec and then parse it back. Also this simplifies the
try_decrypt() semantics and return type. It can't make a good coffee anyway.
2022-12-26 18:48:38 +04:00
link2xt
6f7bb8a777 Do not trim leading spaces from message lines 2022-12-26 12:20:30 +00:00
link2xt
8de7014eeb Fix nightly clippy warnings 2022-12-26 00:26:17 +00:00
link2xt
d73c4a92a7 Silence clippy warning about type complexity 2022-12-26 00:25:56 +00:00
link2xt
e328de5293 Make try_decrypt non-async
Private keyring is now loaded outside of try_decrypt
2022-12-24 10:57:51 +00:00
link2xt
93054ef87c Use new_alice() instead of new() in mimeparser tests
This way contexts have a private key and attempts to
load it does not result in an error.
2022-12-24 10:40:11 +00:00
link2xt
2cd1da5222 Pass private keyring around as a reference 2022-12-23 18:43:24 +00:00
link2xt
ed24eac29c Make decrypt_part synchronous 2022-12-23 18:17:31 +00:00
link2xt
3de53a313f Make pk_decrypt synchronous 2022-12-23 18:15:38 +00:00
link2xt
06ead557dc Do not add an error if the message is encrypted but not signed
Services like Lacre [1] on Disroot and Inbound Encryption on Posteo [2]
offer to encrypt all incoming messages with the provided OpenPGP
public key. Resulting messages are encrypted, but not end-to-end encrypted
and not signed by the sender, therefore should not have a padlock displayed.
However, such encrypted and unsigned message is also not an indication
of an error on ongoing attack, so we shoud not report this as a problem
to the user.

[1] https://lacre.io/
[2] https://posteo.de/en/help/how-do-i-activate-inbound-encryption-with-my-public-pgp-key
2022-12-23 10:49:41 +00:00
link2xt
736950ab3f Do not return Result from validate_detached_signature
It never returns errors.
2022-12-23 01:18:03 +00:00
iequidoo
ba82ce2798 Validate signatures in try_decrypt() even if the message isn't encrypted (#3844)
This way we don't need a separate code path for signatures validation for unencrypted
messages. Also, now we degrade encryption only if there are no valid signatures, so the code for
upgrading encryption back isn't needed.
2022-12-21 13:24:10 -03:00
link2xt
1f7ad78f40 Move receive_imf tests into a separate file 2022-12-21 11:06:52 +00:00
link2xt
5922fb38da Store relative accounts path in accounts.toml
This makes it possible to move accounts dir, especially useful for bots.
2022-12-20 12:26:20 +00:00
iequidoo
a3fe105256 Prefer encryption for the peer if the message is encrypted or signed with the known key (#3844)
Note that if the message is encrypted, we don't check whether it's signed with an attached key
currently, otherwise a massive refactoring of the code is needed because for encrypted messages a
signature is checked and discarded first now.
2022-12-19 19:33:39 +04:00
iequidoo
03c273e30f Don't send GroupNameChanged message if the group name doesn't change in terms of
improve_single_line_input() (#3650)
2022-12-18 21:27:18 +04:00
link2xt
90c478e58d Do not send ephemeral timer updates to unpromoted chats 2022-12-15 22:47:06 +00:00
iequidoo
c3a0bb2b77 Fix cargo clippy and doc errors after Rust update to 1.66 2022-12-16 02:46:04 +04:00
link2xt
2cd63234c1 Do not allow missing documentation by default 2022-12-13 23:45:12 +00:00
bjoern
ccd0842df8 do not SELECT * on old tables to fill new ones (#3842)
* do not `SELECT *` on old tables to fill new ones

the old table may contain deprecrated columns for whatever reason;
as a result the query fails as the statement tries to insert eg.
16 columns into 12 colums
(concrete error for acpeerstate that have several deprecated columns)

* update CHANGELOG
2022-12-13 20:12:29 +01:00
iequidoo
21f1439ad8 Treat attached PGP keys as peer keys with mutual encryption preference (#3778) 2022-12-13 04:57:45 +04:00
iequidoo
4cbcd3c606 Revert "mimeparser: assume all Thunderbird users prefer encryption" except for the test (#3778)
This partially reverts commit b341cfd4d9.
2022-12-13 04:57:45 +04:00
iequidoo
1f14767fe9 Revert "Fix misplaced info! message" (#3778)
This reverts commit 08de326930.
2022-12-13 04:57:45 +04:00
Hocuri
0b53c35523 Add new recipients of MUA emails to the group member list (#3781) 2022-12-12 21:46:23 +00:00