Commit Graph

3320 Commits

Author SHA1 Message Date
Hocuri
f32e248d90 Finally fix test_parse_receive_headers_integration() 2022-10-26 15:09:00 +02:00
Hocuri
8b64a39542 Check that the character right before dkim= is a space or a tab 2022-10-26 15:03:21 +02:00
Hocuri
6e528d6349 Merge remote-tracking branch 'origin/master' into hoc/migitate-from-forgery 2022-10-24 18:02:26 +02:00
Hocuri
e39e853feb Small fixes 2022-10-23 14:55:11 +02:00
link2xt
aa14015919 sql: every Result is anyhow::Result 2022-10-23 11:25:27 +00:00
link2xt
434e53e922 Use UPSERT to insert into msgs table
This way no temporary rows are created and it is easier to maintain
because UPDATE statement is right below the INSERT statement,
unlike `merge_messages` function which is easy to forget about.
2022-10-22 21:34:56 +00:00
Hocuri
8aaea4817d For setting dkim_works, use the message's time 2022-10-22 22:16:13 +02:00
Hocuri
c5e93bf057 Only assume that DKIM works for a month after the last valid email 2022-10-22 22:02:35 +02:00
Hocuri
2b388d0eb7 Add test_handle_authres_fails() 2022-10-22 21:58:04 +02:00
link2xt
b5d238f7f4 Keep reactions when downloading partially downloaded message 2022-10-22 15:02:05 +00:00
link2xt
e5c9fea52d Implement reactions
Co-Authored-By: bjoern <r10s@b44t.com>
Co-Authored-By: Simon Laux <mobile.info@simonlaux.de>
2022-10-22 09:59:43 +00:00
Hocuri
2d68005b43 More small fixes 2022-10-18 15:35:48 +02:00
link2xt
b2939d3df3 imap: simplify UPSERT queries on imap_sync
Use `excluded` and remove noop `WHERE` query.

See <https://www.sqlite.org/lang_UPSERT.html> for official SQLite documentation.
2022-10-16 16:34:13 +00:00
Hocuri
f358bdbff1 Some fixes from link2xt's review 2022-10-16 14:57:54 +02:00
Hocuri
ba323609fa Show the authentication results in the message info 2022-10-15 17:18:43 +02:00
Hocuri
e45747ea99 small fixes 2022-10-15 10:20:05 +02:00
Hocuri
097830120b More small improvements
"alice@mailo.com/alice@mail.ru" was a really uninteresting file that
needed a special-case in the test since for some reason, there just was
no good Authentication-Results header
2022-10-15 10:12:59 +02:00
Hocuri
63ddc927a2 Improve tests 2022-10-15 10:12:59 +02:00
Hocuri
2bf88108a6 fix ci 2022-10-15 10:12:59 +02:00
Hocuri
74fb567470 clippy 2022-10-15 10:12:59 +02:00
Hocuri
255d24ac69 comments 2022-10-15 10:12:19 +02:00
Hocuri
4c80eb51dc Improve/fix realworld test 2022-10-15 10:12:19 +02:00
Hocuri
f0efff2c99 Clear the dkim_works data when authservid candidates change 2022-10-15 10:12:19 +02:00
Hocuri
c17eafa793 Look at all the authservid candidate's headers 2022-10-15 10:12:19 +02:00
Hocuri
4d88cfc78d Don't use empty authserv id candidates if intersection is empty 2022-10-15 10:12:18 +02:00
Hocuri
5d8cb8084f Improve tests 2022-10-15 10:12:18 +02:00
Hocuri
50de29a4ba Fix sql error, improve test_realworld_authentication_results 2022-10-15 10:12:18 +02:00
Hocuri
c624e3b2e0 Recognize comments 2022-10-15 10:12:18 +02:00
Hocuri
2967b5030f Nicer error handling, comments 2022-10-15 10:12:18 +02:00
Hocuri
415b58a059 Cleanup, renames, comments 2022-10-15 10:12:17 +02:00
Hocuri
65040fe6f2 Fix some stuff 2022-10-15 10:12:17 +02:00
Hocuri
47500bb3ea Fix some things, move to new file src/authentication_results_handling.rs 2022-10-15 10:12:17 +02:00
Hocuri
0d221cced9 Yet another solution: Keep track of candidates for our authserv-id 2022-10-15 10:12:17 +02:00
Hocuri
906f95ee84 Next idea: any_header_says_pass for each authserv_id 2022-10-15 10:12:17 +02:00
Hocuri
6e7136db4a Start looking at Authentication-Results 2022-10-15 10:12:16 +02:00
Hocuri
7877187894 Join all migration messages into one (#3665) 2022-10-15 07:06:40 +00:00
link2xt
6f329c9e96 Fix unix timestamp used for daymarker 2022-10-12 18:38:03 +00:00
Hocuri
0e2445c7a0 Move the actual logic of email parsing to EmailAddress::new() (#3656)
Very small PR; Motivation: Easier navigation using Go-To-definition.

Because, using go-to-definition of rust-analyzer on parse() doesn't take you to the actual parse() implementation but its trait definiton. On the other hand, it's very easy to find EmailAddress::new().
2022-10-12 20:37:17 +02:00
Hocuri
7ed947f598 Remove forgotten dbg! 2022-10-12 10:49:34 +02:00
link2xt
b85f6ea6c3 contact: do not ignore SQL errors in add_or_lookup 2022-10-11 16:42:17 +00:00
Simon Laux
3fab9e4cec more jsonrpc porting (#3645)
* Port setChatVisbility to jsonrpc

* jsonrpc add functions

- setChatEphemeralTimer
- getChatEphemeralTimer
and changelog

* add pr number to changelog

* jsonrpc: getLocations function

* Port imex() to jsonrpc

* autogenerate types

* jsonrpc: add `getAccountFileSize()`

* jsonrpc: `estimateAutodeleteCount`

* jsonrpc: setStockStrings

* Refactor imex into exportSelfKeys and importSelfKeys

* generate typings

* rustformat

* fix clippy

* update changelog

Co-authored-by: jikstra <jikstra@disroot.org>
2022-10-10 15:14:17 +00:00
link2xt
8b6290120e Create bob with new_bob(), not new_alice() 2022-10-09 22:51:37 +00:00
link2xt
9277b46620 Suppress welcome device messages after account import
Add dummy `devmsglabels` entries on import to avoid welcome messages
being added when user runs reconfiguration on imported account.
2022-10-02 21:55:27 +00:00
link2xt
261926222b Use anyhow::Result in stock_str.rs 2022-10-02 20:49:45 +00:00
link2xt
35cfefd934 Share stock strings across accounts
All contexts created by the same account manager
share stock string translations. Setting translation on
a single context automatically sets translations for all other
accounts, so it is enough to set translations on the active account.
2022-10-02 19:12:04 +00:00
Simon Laux
110f56777d implement dclogin scheme (#3541)
* start implementing dclogin scheme

* fix formatting

* add test for usename+extension@host cases

* add test with all advanced options

* add changelog

* jsonrpc api and regenerate node constants

* Update src/qr/dclogin_scheme.rs

Co-authored-by: Hocuri <hocuri@gmx.de>

* apply Hocuris comments from code review

* fix clippy

* Use .eq_ignore_ascii_case()

* rename internal function apply_from_login_qr
to configure_from_login_qr

* fix error message

* cargo fmt

* remove test todo comment

Co-authored-by: Hocuri <hocuri@gmx.de>
2022-09-29 18:32:17 +02:00
link2xt
450d113993 Fix Rust 1.64 clippy warnings and tests 2022-09-25 03:17:00 +00:00
bjoern
cd6d181bbc enable BccSelf by default (#3612)
* enable `BccSelf` by default

enabling `BccSelf` improves user experience as
it is easier to set up another device
and ppl will also see "all" messages in other user agents directly.

for uncounted user problems, after diving into the issue,
the resulting device was "turn on BccSelf".
disabled `BccSelf` was probably the the number one single reason
of user problems.

main drawback of the change are potentially double notifications
when using a shared account and having another mail app on the same device.
however, we meanwhile do not recommend shared accounts at all,
the issue is also fixable by the other mail apps (as done by K-9)
and could be even regarded as a feature (you can decide which app to use for ansering).
but at the end the drawback is probably much smaller than the issues reported above.

* adapt tests to `BccSelf` enabled

* update CHANGELOG
2022-09-24 21:54:06 +02:00
link2xt
ffe7216194 Emit per-message events for expired messages
Instead of emitting single MsgsChanged event
with zero chat and msg IDs, emit one event per message.

Also emit WebxdcInstanceDeleted event if expired message
contains a webxdc.
2022-09-17 21:23:47 +00:00
link2xt
252b528f40 Update "How messages are deleted" documentation
"IMAP folder and UID information" is no longer stored
in the `msgs` table since creation of the `imap` table.
As a result `msgs` table entries do not contain UID information in the
first place.

This commit updates documentation to reflect this change and also
points to `prune_tombstones()` procedure which actually deletes `msgs`
rows.
2022-09-17 17:18:53 +00:00