holger krekel
f9befa8f39
prepare 1.40.0 python deltachat release
2020-07-17 23:17:10 +02:00
Alexander Krotov
1c73021d77
Update rust toolchain to 1.45.0
2020-07-17 01:08:32 +03:00
holger krekel
933b14eedf
fix #1480
...
make ac_member_removed and ac_member_added work if the action was triggered remotely.
also pass in the "actor" contact so one can know who did this.
2020-07-16 11:56:13 +02:00
holger krekel
650bd822bf
some cleanup to finalize PR
2020-07-16 11:55:51 +02:00
holger krekel
37943d3d16
fix another flaky test
2020-07-16 11:55:51 +02:00
Alexander Krotov
6067d40a6f
cargo fmt
2020-07-16 11:55:51 +02:00
Alexander Krotov
cde587fefa
idle: drain unsolicited response channel
...
This prevents multiple unsolicited messages from skipping multiple IDLEs.
Also skip IDLE only if an EXISTS message was received.
2020-07-16 11:55:51 +02:00
holger krekel
fc12beda24
fix a problem where IDLE would run but miss messages
2020-07-16 11:55:51 +02:00
holger krekel
ccebca5f99
fix python timeout settings
2020-07-16 11:55:51 +02:00
holger krekel
e07869ae95
improve debugging
2020-07-16 11:55:51 +02:00
holger krekel
90be708791
fix dump of messages to files when a test fails
2020-07-16 11:55:51 +02:00
holger krekel
a27b379ce0
fix #1720 -- don't wait for the daemon eventhread to terminate but count on it to eventually die
2020-07-16 11:55:51 +02:00
Alexander Krotov
f461e2a2fd
import_backup: do not load all blobs into memory at once
2020-07-16 10:58:52 +02:00
bjoern
40dc72b2b1
Merge pull request #1717 from deltachat/sync-encrypted-avatars-only
...
sync encrypted avatars only
2020-07-15 12:07:26 +02:00
holger krekel
99babcc4bd
add a draft for how to simplify and replace imap-jobs handling
2020-07-15 11:23:23 +02:00
B. Petersen
6e6823f395
sync encrypted avatars only
2020-07-15 02:34:32 +02:00
B. Petersen
964f60ff4b
simple sync of Selfavatar
...
when seeing our own profile image send from other devices,
we use them as Selfavatar on the current device as well.
as there is no special message sent on avatar changes,
this is a simple approach to sync the avatar across devices.
2020-07-15 03:11:12 +03:00
B. Petersen
7624e574bb
let BlobObject::new_from_path() also accept , this allows to use the function for values from the database and from outside, which is handy in situations where you do not really know
2020-07-15 03:11:12 +03:00
Alexander Krotov
667364b90e
Mark location-only messages as auto-generated
2020-07-15 02:16:20 +03:00
holger krekel
ef954ed99e
set_version now ensures lto = true, more logging
2020-07-14 23:46:36 +02:00
Alexander Krotov
7bb6890f26
Send MDNs for messages deleted on the server
...
Now MarkseenMsgOnImap sends MDN even if it can't mark the message as
seen on the server.
To prevent multiple MDNs from being sent, MarkseenMsgOnImap is postponed
until the message is detected in a folder from which it is not going to
be moved.
2020-07-14 23:26:48 +03:00
Alexander Krotov
2aa808756e
Add test for MDN not sent for server deleted messages
2020-07-14 23:26:48 +03:00
Alexander Krotov
81a2e510f5
Move proxy.py from scripts/ to contrib/
...
This change makes it clear that core does not depend on this code.
2020-07-14 20:41:38 +02:00
B. Petersen
82a3af97df
adapt repl to new marker api and make it compile again
2020-07-13 18:34:37 +02:00
bjoern
f1b3527ad0
Merge pull request #1613 from deltachat/warn-wrong-pw
...
Show a better toast and a notification when the password is wrong (because it was changed on the server)
2020-07-13 13:12:31 +02:00
Alexander Krotov
6902250d6b
securejoin: do not check the signatures existance twice
...
Mimeparser.was_encrypted() checks if the message is an Autocrypt encrypted
message. It already means the message has a valid signature.
This commit documents a few functions to make it clear that signatures
stored in Mimeparser must be valid and must always come from encrypted
messages.
Also one unwrap() is eliminated in encrypted_and_signed(). It is possible
to further simplify encrypted_and_signed() by skipping the was_encrypted()
check, because the function only returns true if there is a matching
signature, but it is helpful for debugging to distinguish between
non-Autocrypt messages and messages whose fingerprint does not match.
2020-07-13 12:36:14 +02:00
bjoern
64ab86a1a6
Merge pull request #1705 from deltachat/seen_ephemeral_timer
...
Start ephemeral timer immediately for already seen messages
2020-07-13 02:21:22 +02:00
B. Petersen
4b445b7dd7
use time::SystemTime instead of time::Instant as the latter may use libc::clock_gettime(CLOCK_MONOTONIC) eg. on android and does not advance while being in deep sleep mode. therefore, time::Instant is not a reliable way for timeouts or stoping times.
2020-07-13 02:27:03 +03:00
Alexander Krotov
6cb75114c1
Cleanup test_basic_imap_api()
2020-07-13 01:53:28 +03:00
Alexander Krotov
d54ade5891
Start ephemeral timer for non-fresh messages
2020-07-13 01:20:16 +03:00
Alexander Krotov
0da21aa9f6
dc_receive_imf: rename timer into ephemeral_timer
2020-07-13 01:15:51 +03:00
Alexander Krotov
1e84e81e7d
imap: expunge folder before IDLE if needed
...
This ensures Inbox is expunged timely in setups that don't watch
DeltaChat folder.
2020-07-13 00:54:20 +03:00
Alexander Krotov
d3eb209d27
Add test for immediate server deletion
2020-07-13 00:54:20 +03:00
Alexander Krotov
49a6a5b23c
testplugin.py: print HTTP response text on error
2020-07-12 22:58:57 +03:00
Alexander Krotov
4f78e2e14e
Do not show an error on IMAP connection failure
...
It is annoying as it happens every time the server is rebooted.
2020-07-12 17:17:26 +02:00
Alexander Krotov
7da69a4644
Add dc_msg_get_ephemeral_{timer, timestamp}()
2020-07-11 22:25:17 +03:00
Alexander Krotov
8efe7cade7
Rename part_mut into part
2020-07-11 21:43:02 +03:00
Alexander Krotov
18e4abc1df
Remove some and deny new indexing and slicing
2020-07-11 21:43:02 +03:00
Hocuri
ee7b7eb4f2
Once more, fix #1575 Messages sent by DeltaChat trigger spam filters due to incorrect/non-compliant formatting options
2020-07-11 21:10:06 +03:00
B. Petersen
4378fe21ee
delete now superfluous ASYNC-API-TODO.txt, the things are implemented that way :)
2020-07-11 18:26:42 +02:00
Hocuri
b50410ab15
Fix #1687
2020-07-11 17:38:48 +02:00
Hocuri
9f7567c1d1
Abort on failing imap configuring
2020-07-11 14:27:15 +02:00
Hocuri
68e3bce60e
Remove error!() from https://github.com/deltachat/deltachat-core-rust/pull/1539
...
it led to a less clear error message being shown when the configure
failed.
2020-07-11 14:27:15 +02:00
Hocuri
86bc54508f
More explicit
2020-07-11 14:27:15 +02:00
Hocuri
ae2fd4014a
Emit Event::ErrorNetwork again
2020-07-11 14:27:15 +02:00
Hocuri
2c23433185
Make it work
...
Add a mutex to prevent a race condition when a "your pw is wrong" warning is sent, resulting in multiple messeges being sent.
Do not mute the device chat but "only" send MsgsChanged event when no
notification shall be shown.
More logging.
2020-07-11 14:27:15 +02:00
Hocuri
3f2e67f07a
First try for notification
2020-07-11 14:27:14 +02:00
Hocuri
06a4f15995
Better warning if the pw is wrong
2020-07-11 14:27:14 +02:00
Alexander Krotov
e2c532704a
Fix documentation typo
2020-07-11 00:04:38 +03:00
bjoern
baa0dffdfd
Merge pull request #1696 from deltachat/ephemeral-timer-modified-event
...
Ephemeral timer modified event fix
2020-07-10 14:07:09 +02:00
Alexander Krotov
f28a0db7d0
Store typed timer in ChatEphemeralTimerModified event
2020-07-10 02:55:17 +03:00
Alexander Krotov
e5d5009d6a
Emit ChatEphemeralTimerModified when user changes the timer
2020-07-10 02:52:45 +03:00
bjoern
2071478e11
Merge pull request #1695 from deltachat/prep-1.40
...
prepare 1.40
2020-07-10 00:27:01 +02:00
B. Petersen
797375ff43
update changelog
2020-07-09 23:46:27 +02:00
B. Petersen
18045c9c14
bump version to 1.40
2020-07-09 23:42:23 +02:00
B. Petersen
14d09ce75f
update changelog for 1.40
2020-07-09 23:42:23 +02:00
Alexander Krotov
0ae8663eed
imap: call dc_receive_imf sequentially
...
Parallel processing of messages results in bugs such as messages sent by
a new member being processed before the message that adds this member to
the chat, even when it has lower UID. In this case, messages are shown as
"[Unknown sender for this chat. See 'info' for more details.]", while
there is a message "Member ... added" right before, because writing the
information about new member to the database takes longer then reading
old index from the database.
2020-07-10 00:40:52 +03:00
Alexander Krotov
d1ec0e2de6
Fix Chatlist::try_load() doc comment
2020-07-09 23:19:33 +03:00
Alexander Krotov
7f8f871813
Make ephemeral timer changes not ephemeral
2020-07-08 20:25:05 +03:00
Alexander Krotov
43c4816739
Display source for IMAP IDLE errors
2020-07-08 01:32:49 +03:00
Alexander Krotov
1b5d08e6ee
Start ephemeral timers during housekeeping
2020-07-08 01:16:01 +03:00
Alexander Krotov
bb9603661a
Fix a typo
2020-07-07 22:38:50 +03:00
dignifiedquire
7d08397b48
cleanup interrupt and exit of imap idle
2020-07-07 16:09:13 +03:00
bjoern
3df0ef50a4
Merge pull request #1685 from deltachat/update-ffi-doc
...
update ffi docs
2020-07-06 19:13:43 +02:00
B. Petersen
6a99e31de4
document the new option (see #1677 ) to get the reliable time of a DAYMARKER
2020-07-06 17:27:11 +02:00
Alexander Krotov
d9314227ee
Do not duplicate system messages about timer changes
...
Instead, replace them with localized stock strings using set_better_msg.
2020-07-02 14:20:55 +03:00
Alexander Krotov
6050f0e2a1
Always schedule next ephemeral task after message deletion
...
If no messages were deleted, it means the task was scheduled earlier
then needed and should be rescheduled.
2020-07-01 22:18:36 +03:00
Alexander Krotov
d4dea0d5c6
Schedule ephemeral task 1 second later
...
This accounts for 1-second rounding, otherwise the task is always too early.
2020-07-01 22:18:36 +03:00
Alexander Krotov
0b187131b2
Cargo.toml: disable LTO
2020-07-01 20:35:50 +03:00
Alexander Krotov
5a28b669f9
Set ephemeral timer for info messages
2020-07-01 20:32:37 +03:00
Alexander Krotov
d59475f9bb
Fix a typo in UnknownSenderForChat
2020-07-01 19:11:48 +03:00
Alexander Krotov
db6623d0cf
Add stock strings for ephemeral timer changes
2020-07-01 12:31:51 +03:00
Alexander Krotov
059caee527
Add "by me" to "Ephemeral message timer changed to"
...
Otherwise this message looks different on other devices of the sender.
2020-07-01 12:31:51 +03:00
Alexander Krotov
97599bd78e
dc_array: remove unused binding
2020-07-01 12:31:11 +03:00
Alexander Krotov
d6b30c9703
Fix python test for ephemeral timer
2020-07-01 09:32:08 +03:00
Alexander Krotov
7a7dcc8b8f
constants.rs: remove unused DC_STR_* constants
...
They are also outdated.
2020-07-01 07:55:22 +03:00
Alexander Krotov
d79c918c9e
Replace 1 with DC_CONTACT_ID_SELF
2020-07-01 00:59:07 +03:00
Alexander Krotov
56518420bc
Add get_marker method to dc_array_t
2020-06-30 01:21:18 +03:00
Alexander Krotov
615a76f35e
Add timestamp to DayMarker
...
With this change, API user does not need to look at the timestamp of
the next message to display the day marker, but can get the timestamp
directly from the marker. This way there is no database query and no
risk of error as a result of database being busy or message being deleted.
2020-06-30 01:21:18 +03:00
Alexander Krotov
0c47489a3b
Use ephemeral::Timer in MsgId.ephemeral_timer() method
2020-06-29 23:04:34 +03:00
Alexander Krotov
f931a905a7
Remove useless comment
2020-06-29 23:04:34 +03:00
Alexander Krotov
7d048ac419
Add autodelete timers
2020-06-29 23:04:34 +03:00
Alexander Krotov
41fe3db79d
Add ChatItem type
...
ChatItem can represent markers as enum variants instead of special MsgIds.
2020-06-29 00:30:17 +03:00
Alexander Krotov
42f6a7c77c
Remove dc_array_get_raw
...
It does not work with typed arrays, such as locations and messages.
Use dc_array_get_id in a loop instead.
2020-06-26 01:22:10 +03:00
Alexander Krotov
09833eb74d
dc_array: introduce MsgIds variant
...
This avoids allocation of u32 vector.
2020-06-26 01:22:10 +03:00
Alexander Krotov
2c11df46a7
dc_array: remove unnecessary "as u32" cast
2020-06-26 01:22:10 +03:00
Alexander Krotov
443ad04f46
Mark all dc_array method as pub(crate)
...
This make it easier to find unused methods.
2020-06-26 01:22:10 +03:00
Alexander Krotov
f2d09cc51e
dc_array: simplify and test search_id
...
This also makes it possible to search for location IDs.
2020-06-26 01:22:10 +03:00
Alexander Krotov
83dde57afa
Remove unused dc_array methods
2020-06-26 01:22:10 +03:00
Alexander Krotov
fdacf98b69
handle_mdn: compare from_id to DC_CONTACT_ID_LAST_SPECIAL
...
DC_MSG_ID_LAST_SPECIAL has the same value, but from_id is not a msg id.
2020-06-26 01:11:15 +03:00
bjoern
9152f93a46
Merge pull request #1668 from deltachat/add-sanitise-tests
...
add more tests for BlobObject::sanitise_name()
2020-06-23 19:04:51 +02:00
bjoern
6a4b6fddac
Merge pull request #1659 from deltachat/prep-1.39
...
prepare 1.39
2020-06-23 19:01:36 +02:00
B. Petersen
e3c90aff22
add more tests for BlobObject::sanitise_name()
2020-06-23 18:51:40 +02:00
B. Petersen
b7464f7a5c
bump version to 1.39
2020-06-23 18:41:45 +02:00
B. Petersen
53128cc64b
update changelog for 1.39 and fix the one for 1.36
2020-06-23 18:41:45 +02:00
bjoern
ccf8eeacd6
Merge pull request #1667 from deltachat/revert-1664-sanitize-filename-reader-friendly
...
Revert "Switch to sanitize-filename-reader-friendly"
2020-06-23 18:40:40 +02:00
bjoern
aeb8a2e260
Revert "Switch to sanitize-filename-reader-friendly"
...
This reverts commit 93797bc82f .
2020-06-23 18:11:18 +02:00
Alexander Krotov
93797bc82f
Switch to sanitize-filename-reader-friendly
...
One advantage is that it does not depend on any crates, so there is a
higher chance of dropping regex crate eventually.
2020-06-23 14:37:35 +03:00
holger krekel
07236efc45
fix bcc_self to remain "0" for testrun/fivechat test accounts
2020-06-23 08:06:32 +02:00
B. Petersen
0fbddc939b
update provider-db
2020-06-23 08:06:32 +02:00
Alexander Krotov
a031151587
Fix two +nightly clippy suggestions
2020-06-23 03:17:07 +03:00
B. Petersen
545ff4f7ba
apply config_defaults only for unset values
...
instead of applying all config_defaults unconditionally
after the first configure, a config_defaults for a given key
is now applied when this key has never been set before.
this way, you can set some keys before calling configure()
and also, later versions can add new defaults for new keys
(that would require another call to configure() then, however)
2020-06-23 00:48:40 +02:00
B. Petersen
73e695537a
add missing doc for bcc_self
2020-06-22 22:49:26 +02:00
B. Petersen
16e3c113b7
update ffi docs; avatar is sent with messages since end 2019
2020-06-22 22:49:26 +02:00
bjoern
88d7bf49ff
Merge pull request #1658 from deltachat/remove-config-changes-interrupt
...
remove config changes interrupt
2020-06-22 14:18:48 +02:00
B. Petersen
74ea884aa4
remove now superfluous interrupting on watch-settings-changes
2020-06-22 13:48:33 +02:00
B. Petersen
16c53637d9
update docs to new watch-settings behavior
2020-06-22 13:47:47 +02:00
Friedel Ziegelmayer
f63f0550b0
Merge pull request #1654 from deltachat/fix-move-loops
...
fix(scheduler): only start watch loops if the appropriate config is set
2020-06-22 12:51:43 +02:00
Friedel Ziegelmayer
530503932b
Merge pull request #1655 from deltachat/feat-update-deps
...
feat: update deps
2020-06-22 12:23:26 +02:00
Friedel Ziegelmayer
d2dc4edd82
Merge pull request #1657 from deltachat/fix-move-loops-inbox
...
perform jobs also if inbox_watch disabled
2020-06-22 12:23:10 +02:00
Alexander Krotov
8de1bc6cbd
sql: fix potential panic in maybe_add_file
...
When maybe_add_file was called with "$BLOBDIR" it tried to remove 9
bytes from the string, while it only contains 8.
2020-06-22 13:22:37 +03:00
B. Petersen
76e39bfa7c
this pr creates the inbox_loop inpendendingly of inbox_watch config-setting as the loop is also required to perform jobs. the config-setting is checked inside the loop then
2020-06-22 12:00:25 +02:00
Alexander Krotov
cf09942737
deltachat-ffi: use as_deref() as suggested by clippy
2020-06-22 12:37:29 +03:00
dignifiedquire
6fe1f01c5f
feat: update deps
...
includes async-std@1.6.2 and smol@0.1.18 which fix various hangs and possible deadlocks
2020-06-22 10:04:10 +02:00
dignifiedquire
f880d6188b
fix(scheduler): only start watch loops if the appropriate config is set
2020-06-22 10:00:50 +02:00
bjoern
22c62ea6af
Merge pull request #1649 from deltachat/freepascal
...
README: add link to Free Pascal bindings
2020-06-21 21:52:51 +02:00
Alexander Krotov
e3af3a24a8
README: add link to Free Pascal bindings
2020-06-21 20:14:30 +03:00
Alexander Krotov
7bfadb14ea
Fix a typo (prover -> provider)
2020-06-21 20:13:06 +03:00
bjoern
75d20b899a
Merge pull request #1646 from deltachat/prep-1.38
...
prepare 1.38
2020-06-21 12:12:02 +02:00
B. Petersen
31a5811241
bump version to 1.38
2020-06-20 19:16:07 +02:00
B. Petersen
cd1f5bf229
update changelog for 1.38
2020-06-20 19:09:33 +02:00
bjoern
632fc19f41
Merge pull request #1645 from deltachat/correct-seen
...
give correct "fresh" flag to calc_sort_timestamp()
2020-06-20 19:05:34 +02:00
B. Petersen
7ad95ea165
give correct "fresh" flag to calc_sort_timestamp()
...
for "fresh" messages, calc_sort_timestamp() makes sure,
the sorting timestamp is not less than the last-non-fresh message.
this commit fixes the "fresh" state we give to calc_sort_timestamp(),
it just uses the message-state we've already calculated.
the old assumption, that unseen messages are always fresh
is wrong as this "seen" flag just comes from an imap-flag
that is not set for self-sent messages.
therefore, in a multi-device-setup, things are totally messed up.
(the bug was probably in there since a long time,
however did not came to light until the async-move)
2020-06-20 18:36:09 +02:00
Floris Bruynooghe
9d7b756ddb
Unify some testing interfaces
...
This tidies up our testing tools a little bit. We had several
functions which through various changes ended up doing the same and
some more which did very similar stuff, so I merged them to have
things simpler. Also moved towards methods on the TestContext struct
while cleaning this up anyway, seems like this structure is going to
stay around for a bit anyway.
The intersting change is in `test_utils.rs`, everything else is just
updating callers. A few tests used example.org which I moved to
example.com to be able to re-use more configuration of the test
context.
2020-06-20 14:37:41 +02:00
bjoern
73412db267
Merge pull request #1644 from deltachat/stop-time-in-repl
...
print time needed to build chatlist in repl tool
2020-06-20 13:07:50 +02:00
B. Petersen
059a7bcd7f
print time needed to build chatlist in repl tool
...
the chatlist is the most complicated list to get from sql
and is also the most used list,
so it makes sense to keep an eye on the timing of that.
2020-06-20 00:56:43 +02:00
bjoern
3e47564b2f
Merge pull request #1643 from deltachat/prep-1.37
...
prepare 1.37
2020-06-19 21:54:04 +02:00
B. Petersen
d8be0cdf35
bump version to 1.37
2020-06-19 21:32:47 +02:00
B. Petersen
26a44b6d32
update changelog for 1.37
2020-06-19 21:31:34 +02:00
bjoern
12eacaae36
Merge pull request #1641 from deltachat/oauth2-provider-db
...
get Oauth2-information from provider-db
2020-06-19 21:13:36 +02:00
B. Petersen
2d8148a1a3
make use of new oauth2-authorizer information in the provider-db
2020-06-19 17:06:31 +02:00
B. Petersen
916007ed2d
run update.py
2020-06-19 16:38:03 +02:00
B. Petersen
b91b88e11b
let update.py add information of oauth2-authorizer
2020-06-19 16:37:43 +02:00
bjoern
b6c0f44608
Merge pull request #1635 from deltachat/fix-chatlist-hidden
...
fix getting last message for chatlist, avoid empty summaries
2020-06-19 13:36:08 +02:00
Alexander Krotov
2a623541d7
configure/mod.rs: forbid indexing and slicing
2020-06-19 14:24:53 +03:00
Alexander Krotov
0007e93e80
scheduler: forbid indexing and slicing
2020-06-19 14:24:53 +03:00
Alexander Krotov
c655fd8a64
contact: forbid indexing and slicing
2020-06-19 14:24:53 +03:00
Alexander Krotov
ad531876fd
contact: simplify name normalization
...
This removes one indexing operation and reduces surprises when comma
means something other than first name and last name separator.
2020-06-19 14:24:53 +03:00
Alexander Krotov
53bee68acb
smtp/mod.rs: forbid indexing and slicing
2020-06-19 00:56:01 +03:00
Alexander Krotov
b5400cf551
Refactor imap/mod.rs to avoid indexing
...
Also replace assert! with debug_assert!
2020-06-19 00:56:01 +03:00
B. Petersen
491af1b583
fix getting last message for chatlist
...
the last message shown in a chatlist
is the one with the largets timestamp that is not hidden.
in the past, we calcualted the last timestamp using a subquery
and uses that timestamp to finally get the message.
this may fail when there are two messages with the same max. timestamp.
with this fix, we return the id from the subquery and use that
(the subquery already filters by hidden etc.)
in practise, by time-smearing,
usually delta-chat avoids messages from the same device
having the same timestamp - however, this may not be true for multi-device
and/or read-receipts.
i have not seen this error all the years, however, it happens with
the async move several times - maybe because things are just sent faster
and things become more probabe.
2020-06-18 14:46:04 +02:00
bjoern
5b1d06cb28
Merge pull request #1634 from deltachat/typo-faild
...
fix typo
2020-06-18 03:02:23 +02:00
B. Petersen
7df5195d77
fix typo
2020-06-18 00:31:40 +02:00
dignifiedquire
baff13ecab
fix warnings and bugs, noticed on nightly
2020-06-17 19:27:27 +02:00
bjoern
a7bf05bebb
Merge pull request #1629 from deltachat/prep-1.36
...
prepare 1.36
2020-06-17 16:06:21 +02:00
B. Petersen
aa9b5da1c0
bump version to 1.36
2020-06-17 15:45:38 +02:00
B. Petersen
dfd705f9c6
update changelog for 1.36.0
2020-06-17 15:45:37 +02:00
bjoern
472c0bcea5
Merge pull request #1631 from deltachat/fix-securejoin
...
s/fingerprint/fingerprint.hex()/
2020-06-17 15:45:11 +02:00
Hocuri
8c2af132c8
Sync heuristically_parse_ndn() and maybe_ndn in prefetch_should_download()
2020-06-17 12:42:40 +02:00
Hocuri
79145576ab
s/fingerprint/fingerpring.hex()/
2020-06-17 11:08:38 +02:00
Hocuri
8ca55b0f60
clippy
2020-06-17 10:58:27 +02:00
Hocuri
74cb4ca1cd
Check for mime_parser.has_chat_version() instead of is_dc_message != MessengerMessage::No and avoid passing is_dc_message around, this will save us output &mut argument and simplify the logic.
2020-06-17 10:58:27 +02:00
Hocuri
351e5dc6f3
Add Python test
2020-06-17 10:58:27 +02:00
Hocuri
4eee4a08e7
Mark read receipts as read
2020-06-17 10:58:27 +02:00
Maykel Moya
b5fa0f8924
Add support for G Suite domains
...
Do a lookup based on domain's MX servers. G Suite domains are expected
to have at least 'aspmx.l.google.com' listed in MXs.
See https://support.google.com/a/answer/140034
fixes #1425
2020-06-17 11:50:46 +03:00
Alexander Krotov
baba91c054
pgp: refactor and document pk_decrypt()
...
Avoid unnecessary indexing, decompress only once and check if the message
is Signed before trying to verify it.
2020-06-17 11:48:29 +03:00
Hocuri
40c9c2752b
Parse ndns from Tiscali
2020-06-17 10:39:05 +02:00
bjoern
f4a1a526f5
Merge pull request #1628 from deltachat/lto
...
Re-enable lto=true for release builds
2020-06-16 22:58:54 +02:00
Alexander Krotov
7d80179ed1
Re-enable lto=true for release builds
2020-06-16 23:12:07 +03:00
bjoern
71080ed6d5
Merge pull request #1620 from deltachat/update-docs
...
update docs
2020-06-16 18:41:00 +02:00
bjoern
44037dd711
Update deltachat-ffi/deltachat.h
...
Co-authored-by: Hocuri <hocuri@gmx.de >
2020-06-15 23:36:22 +02:00
B. Petersen
bc275d8670
update docs
2020-06-15 23:36:22 +02:00
Hocuri
eb29f9c4c1
Parse testrun NDNs
2020-06-15 16:20:23 +02:00
bjoern
6340b278d9
Merge pull request #1619 from deltachat/rotate-images
...
respect image orientation from exif on recoding
2020-06-15 11:37:31 +02:00
B. Petersen
519e1c1cd0
warn about unused orientation values, add a comment about the orientation values
2020-06-15 02:18:48 +02:00
B. Petersen
d2320394ca
convert exif orientation to desired pixel rotation
2020-06-15 01:13:37 +02:00
B. Petersen
9307f2d49f
rotate image pixels, prototype a function to get exif data
2020-06-15 01:13:37 +02:00
B. Petersen
7362941245
add kamadak-exif crate
2020-06-15 00:32:13 +02:00
Alexander Krotov
f7c7f414ed
refactor: remove .unwrap() from Peerstate.has_verified_key()
2020-06-15 00:47:25 +03:00
Hocuri
23d6012c1f
Start parsing ndns ( #1552 )
...
Fix #1478
I changed my original plans a little because I had so many extra ideas and then sorted that I should rather look at actual NDNs and look what is necessary to parse them:
- Recognize NDNs by ~the sender address, which is in a regex the providers database. The problem with heuristics would be that someone could send fake-NDNs and mark messages as failed.~ the standard ("report/delivery-status") and heuristics ("subject contains 'fail' and sender contains 'daemon'"). If there is a valid Message-ID, then rely on that this is an NDN (of course, generally someone might try to find out a Message-ID and send a fake NDN).
- ~Look for `In-Reply-To`~ (only Gmail did this and Gmail uses rfc822 anyway.)
- ~Look for a mimepart `message/delivery-status`, which might contain a `X-Original-Message-ID`~ (only Gmail did this and Gmail uses rfc822, too, anyway.).
- Search through the body and look for a line `Message-ID: *` (remember to remove `<`, `>`), in the hope that that's the original header
- Look for a mime-part containing the string `rfc822`, which will contain the original header. Parse them with Mailparse and look for `Message-ID`.
2020-06-13 17:44:29 +02:00
Hocuri
15b30ceed1
check for sender mailer-daemon as link2xt proposed
2020-06-13 17:29:38 +02:00
Hocuri
45b871f76d
Look at From instead of Subject and ContentType in prefetch_should_download.
2020-06-13 14:18:16 +02:00
Hocuri
9f1112833f
let prefetch_should_download() check if it might be an ndn
2020-06-13 12:06:30 +02:00
B. Petersen
fc88bff32f
make clippy happy
2020-06-13 10:18:18 +02:00
Hocuri
bbf049e95b
string
2020-06-13 10:18:18 +02:00
Hocuri
52dfa9b536
Renaming, comment
2020-06-13 10:18:18 +02:00
Hocuri
1fe85dfb3c
more functional
2020-06-13 10:18:17 +02:00
Hocuri
27ff1c4a75
check in heuristically_parse_ndn() that rfc724_mid_exists() so that we do not ignore emails because we erreneously thought that it was an ndn
2020-06-13 10:18:17 +02:00
Hocuri
adf4035775
rename reports
2020-06-13 10:18:17 +02:00
Hocuri
990c80cedf
lots of small fixes from the reviews
2020-06-13 10:18:17 +02:00
Hocuri
8ebce0c861
warn instead of error
2020-06-13 10:18:16 +02:00
Hocuri
ffb6a84b1f
Warn instead of error
2020-06-13 10:18:16 +02:00
Hocuri
c60ec00aac
Oops #2 , adapt DC_STR_COUNT in deltachat.h
2020-06-13 10:18:16 +02:00
Hocuri
dd3f81a556
Oops, add FAILED_SENDING_TO to deltachat.h
2020-06-13 10:18:16 +02:00
Hocuri
8938cb2573
clippy
2020-06-13 10:18:16 +02:00
Hocuri
995660020b
rm unused aol_ndn.eml (aol's ndns are very similar to these of Yahoo)
2020-06-13 10:18:15 +02:00
Hocuri
7997e7dde4
remove println
2020-06-13 10:18:15 +02:00
Hocuri
20ad98d168
typo
2020-06-13 10:18:15 +02:00
Hocuri
c827c9d209
Add yahoo test
2020-06-13 10:18:15 +02:00
Hocuri
bde97b20e9
Repair getting x-failed-recipients header, all tests passing now
2020-06-13 10:18:15 +02:00
Hocuri
777df24c75
Make the gmx test pass
2020-06-13 10:18:14 +02:00
Hocuri
e1711855cc
Make the posteo test pass
2020-06-13 10:18:14 +02:00
Hocuri
3899d70b3c
I hate SQL
2020-06-13 10:18:14 +02:00
Hocuri
e7aee5b4f4
add gmx and posteo tests
2020-06-13 10:18:14 +02:00
Hocuri
bd2a7a3d40
Correct failed recipient
2020-06-13 10:18:13 +02:00
Hocuri
2e59d5674e
fix sql
2020-06-13 10:18:13 +02:00
Hocuri
98b5f768b6
Improve test, fixed compile errors from rebasing
2020-06-13 10:18:13 +02:00
Hocuri
b7d0f29002
Add test-data/message/gmx_ndn.eml
2020-06-13 10:18:13 +02:00
Hocuri
df9cb5e3b8
Fix error in message info
2020-06-13 10:18:12 +02:00
Hocuri
a30486112f
Add test
2020-06-13 10:18:12 +02:00
Hocuri
016b96e30e
Fix migration
2020-06-13 10:18:12 +02:00
Hocuri
6b763bf417
Return true for MessageState::OutMdnRcvd.can_fail() because it could be a group message and only some recipients failed
2020-06-13 10:18:12 +02:00
Hocuri
6ded0d3bc1
Do not show error messages in chat
2020-06-13 10:18:12 +02:00
Hocuri
f0837cfa73
Repair errors saved for messages
2020-06-13 10:18:11 +02:00
Hocuri
8350729cbb
Improve errors
2020-06-13 10:18:11 +02:00
Hocuri
3757e5dca1
Try to add decent error msg (doesnt work yet)
2020-06-13 10:18:11 +02:00
Hocuri
f02c17cae4
Parse standard ndns (e.g. Gmail)
2020-06-13 10:18:11 +02:00
dignifiedquire
e08e817988
fix: update deps to fix nightly builds
2020-06-13 08:45:01 +02:00
Alexander Krotov
dad6381519
run_bot_process: remove account from _accounts before starting the bot
...
Otherwise wait_configure_and_start_io() will start account, and it will
operate on the same database as the bot.
2020-06-13 06:36:07 +02:00
bjoern
d35cf7d6a2
Merge pull request #1606 from deltachat/fix1589
...
attempt to fix #1598 -- less chatty on errors
2020-06-12 12:40:53 +02:00
holger krekel
1d34e1f27a
attempt to fix #1589 -- if we trigger a reconnect we don't need to "error!" which shows a toast to the user.
...
the next reconnect will report if it can't connect.
2020-06-12 11:57:38 +02:00
Alexander Krotov
e03246d105
refactor: replace calc_timestamps with calc_sort_timestamp
2020-06-12 09:13:56 +02:00
dignifiedquire
944f1ec005
feat: update dependencies for new rustcrypto releases
2020-06-12 09:12:38 +02:00
Friedel Ziegelmayer
d208905473
fix(receive): improve message sorting
2020-06-11 17:30:57 +02:00
Hocuri
6d2d31928d
Warn about the correct folder
2020-06-11 14:36:08 +02:00
Alexander Krotov
f5156f3df6
IMAP: logout from the server with a LOGOUT command
...
CLOSE, which was used previously, only expunges messages and deselects
folder, and it should only be called if some folder is selected. For that,
Imap.close_folder() method is used.
2020-06-11 13:54:14 +02:00
holger krekel
554160db15
also catch DC_KEY_GEN_RSA2048 as const
2020-06-11 09:22:31 +02:00
Floris Bruynooghe
d8bd9b0515
Import constants from cffi
...
This replaces the constants list with those compiled by CFFI. There
is perhaps not much point in having this module anymore but this is
easy to do.
2020-06-11 09:22:31 +02:00
Floris Bruynooghe
27b75103ca
Refactor cffi build script to extract defines from header file
...
This adds functionality to the cffi build script to also extract
defines so that we can ask the compiler to figure out what the correct
values are. To do this we need to be able to locate the header file
used in the first place, for which we add a small utility in the
header file itself guarded to only be compiled for this specific case.
2020-06-11 09:22:31 +02:00
Hocuri
69e01862b7
More verbose SMTP connect error to see what is going on at #1556
2020-06-11 08:55:47 +02:00
B. Petersen
91f46b1291
bump version to 1.35.0
2020-06-10 19:24:23 +02:00
B. Petersen
9de3774715
update changelog
2020-06-10 19:24:23 +02:00
Hocuri
4dbe836dfa
rebuild cargo.lock
2020-06-10 13:22:03 +02:00
Hocuri
322cc5a013
Cargo update
2020-06-10 13:22:03 +02:00
Hocuri
7cc5243130
Also revert cargo.lock
2020-06-10 13:22:03 +02:00
Hocuri
ba549bd559
Revert "Use cloned repos until https://github.com/deltachat/rust-email/pull/4 is merged"
...
This reverts commit df66f16c84f1a827619e67b3b989a6070f526f31.
2020-06-10 13:22:03 +02:00
Hocuri
84be82c670
Add test
2020-06-10 13:22:03 +02:00
Hocuri
acb42982b7
Use cloned repos until https://github.com/deltachat/rust-email/pull/4 is merged
2020-06-10 13:22:03 +02:00
Hocuri
3370c51b35
Add test
2020-06-10 13:22:03 +02:00
Hocuri
dcfed03702
MISSING_MIME_VERSION, MIME_HEADER_CTYPE_ONLY
2020-06-10 13:22:03 +02:00
holger krekel
e7dd74e4b1
simplify configure() and don't keep state on the account in non-test mode
2020-06-10 12:47:49 +02:00
Alexander Krotov
19b53c76da
Add strict_tls support
2020-06-10 10:52:53 +03:00
holger krekel
95b40ad1d8
avoid hello.com and use example.org
2020-06-09 14:39:00 +02:00
holger krekel
0efb2215e4
renamings and parallel sending
2020-06-09 14:39:00 +02:00
holger krekel
0c8f951d8f
address @hocuri comment -- remove as_contact() as it's synonym with create_contact
...
and the latter is already an established API and conveys better that a contact
object will be created if it doesn't exist.
2020-06-09 14:39:00 +02:00
holger krekel
0bb4ef0bd9
introduce chat.num_contacts() as a more efficient shortcut
2020-06-09 14:39:00 +02:00
holger krekel
f93a863f5f
fix and steamline tests and test setup
2020-06-09 14:39:00 +02:00
holger krekel
f263843c5f
route all flexible contact add/remove through account.as_contact(obj)
2020-06-09 14:39:00 +02:00
holger krekel
503202376a
remove logid from Account creation, one can now just use the "displayname" for log purposes
2020-06-09 14:39:00 +02:00
holger krekel
ca70c6a205
remove account.create_chat_by_message in favor of message.create_chat(), simplifing the API
2020-06-09 14:39:00 +02:00
holger krekel
7d5fba8416
refine contact API and introduce account.create_chat() helper
...
strike create_chat_by_contact in favor of contact.create_chat()
2020-06-09 14:39:00 +02:00
holger krekel
3a85b671a1
remove acfactory.get_chat() in favour of account.create_chat(account2) directly working.
2020-06-09 14:39:00 +02:00
holger krekel
1083cab972
as discussed with @dignifiedquire only do package-building and upload on master, not on branches.
2020-06-09 14:23:07 +02:00
Friedel Ziegelmayer
7677650b39
Merge pull request #1580 from deltachat/fix/imap-connection
2020-06-09 13:44:57 +02:00
dignifiedquire
1f2087190e
ci(github): dont build all branches on push
2020-06-09 13:42:40 +02:00
dignifiedquire
59fadee9e0
ci(circle): remove outdated reference
2020-06-09 13:24:19 +02:00
dignifiedquire
4a3825c302
fix: improve imap connection establishment
...
- fixes blocking on start_io
- attempts to connect to the imap on all tasks when needed
2020-06-09 13:20:16 +02:00
dignifiedquire
52e74c241f
update pipeline name
2020-06-09 13:14:55 +02:00
dignifiedquire
3fa69c1852
fixup: ci
2020-06-09 13:10:25 +02:00
dignifiedquire
b3074f854e
remove beta from matrix
2020-06-09 13:07:56 +02:00
dignifiedquire
95c5128d9f
fixup: ci
2020-06-09 13:07:18 +02:00
dignifiedquire
dc17006b16
fixup: ci
2020-06-09 13:05:21 +02:00
dignifiedquire
e4a4c230fe
fixup: ci
2020-06-09 13:02:17 +02:00
dignifiedquire
f56a4450f3
switch rust tests to github ci
2020-06-09 12:59:53 +02:00
dignifiedquire
913db3b958
ci(github): update toolchain
2020-06-09 12:55:25 +02:00
Alexander Krotov
7de23f86b1
Do not reply to messages that can't be decrypted
...
This commit fixes the test broken in previous commit.
2020-06-08 23:16:35 +02:00
Alexander Krotov
35566f5ea5
Extend undecipherable group test
...
Reply to group messages assigned to 1:1 chat on ac4 and see where they
end up on ac1 and ac2. Currently they contain group ID in Reply-To field
and go to group chat, so the test is failing.
2020-06-08 23:16:35 +02:00
Alexander Krotov
34579974c3
Don't make ad-hoc groups when message cannot be decrypted
...
This fixes the test added in the parent commit.
2020-06-08 23:16:35 +02:00
Alexander Krotov
c6f19ea0a4
Add failing test for undecipherable group messages
2020-06-08 23:16:35 +02:00
Alexander Krotov
64ab955ad7
create_or_lookup_group: streamline group ID parsing
2020-06-08 19:25:36 +03:00
holger krekel
4fdf496cac
refine one more test to "newstyle"
2020-06-08 16:31:21 +02:00
holger krekel
6497e6397d
merge direct imap tests into their already existing counterparts
2020-06-08 16:31:21 +02:00
holger krekel
d8bbe2fcce
refine test / chat API
2020-06-08 16:31:21 +02:00
holger krekel
b6cc44a956
integrate direct imap test in existing BCC test
2020-06-08 16:31:21 +02:00
holger krekel
0105c831f1
make direct_imap a permanent feature of online accounts
2020-06-08 16:31:21 +02:00
holger krekel
d40f96ac65
fixing imap interactions
2020-06-08 16:31:21 +02:00
holger krekel
69135709ac
more refines and test fixes
2020-06-08 16:31:21 +02:00
holger krekel
612a9d012c
snap using imapclient
2020-06-08 16:31:21 +02:00
bjoern
2ad014faf4
Merge pull request #1563 from deltachat/recode-images
...
recode images
2020-06-08 11:02:35 +02:00
B. Petersen
f3a59e19d8
simplify condition for jpeg-check
2020-06-08 10:37:13 +02:00
bjoern
17283c86a3
Update src/chat.rs
...
Co-authored-by: Hocuri <hocuri@gmx.de >
2020-06-08 10:37:13 +02:00
bjoern
945943a849
Update src/constants.rs
...
Co-authored-by: Hocuri <hocuri@gmx.de >
2020-06-08 10:37:13 +02:00
bjoern
34c69785d0
Update src/blob.rs
...
Co-authored-by: Hocuri <hocuri@gmx.de >
2020-06-08 10:37:12 +02:00
B. Petersen
d5ea4f9b1a
make clippy happy
2020-06-08 10:37:12 +02:00
B. Petersen
191009372b
basically recode images
2020-06-08 10:37:12 +02:00
Alexander Krotov
39faddc74d
create_or_lookup_adhoc_group: move comment to the correct place
...
The comment is related to member list processing, not mailing list check.
2020-06-08 08:30:26 +03:00
bjoern
5d1623b98f
Merge pull request #1574 from deltachat/better-subject-addon
...
add new string to deltachat.h
2020-06-07 12:41:21 +02:00
B. Petersen
af0dc42df3
add new string to deltachat.h
2020-06-07 12:29:29 +02:00
Hocuri
c18705fae3
Improve test
2020-06-07 12:11:52 +02:00
Hocuri
22973899b8
Assume that thare always is Config::Addr set
2020-06-07 12:11:52 +02:00
Hocuri
f172e92098
Repair test
2020-06-07 12:11:52 +02:00
Hocuri
e1ff657c78
Dont Hardcode 'Delta Chat'
2020-06-07 12:11:52 +02:00
Hocuri
3e6cd3ff34
Adapt to async, set first subject to 'Message from <sender name>'
2020-06-07 12:11:52 +02:00
Hocuri
f8680724f8
Set subject to Re: <last subject> for better compability with normal MUAs
...
The code in dc_receive_imf.rs looks a bit funny, an alternative would be a function:
fn upcate_chat_last_subject(context: &Context, chat_id: &ChatId, mime_parser: &mut MimeMessage) -> Result<()> {
let mut chat = Chat::load_from_db(context, *chat_id)?;
chat.param.set(Param::LastSubject, mime_parser.get_subject().ok_or_else(||Error::Message("No subject in email".to_string()))?);
chat.update_param(context)?;
Ok(())
}
2020-06-07 12:11:52 +02:00
holger krekel
30c76976fc
update links and add a little boilerplate / status info
2020-06-06 19:20:37 +02:00
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
Hocuri
17a13f0f83
Adapt spec.md to new subject ( #1395 )
2020-06-06 18:34:50 +02: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
cd751a64cb
python tests: fix typos
2020-06-06 16:11:59 +03:00
Alexander Krotov
6d9ff3d248
Enable strict TLS certificate checks by default
2020-06-06 00:08:29 +02:00
holger krekel
d97d9980dd
cleanup
2020-06-05 23:28:27 +02:00
holger krekel
4ad4d6d10d
Update python/src/deltachat/direct_imap.py
...
Co-authored-by: Hocuri <hocuri@gmx.de >
2020-06-05 23:28:27 +02:00
holger krekel
82731ee86c
fix test
2020-06-05 23:28:27 +02:00
holger krekel
04bdfa17f7
improve shutdown order
2020-06-05 23:28:27 +02:00
holger krekel
7a5759de4b
some streamlining and test fixing
2020-06-05 23:28:27 +02:00
holger krekel
e29dcbf8eb
remove wrong inbox folders
2020-06-05 23:28:27 +02:00
holger krekel
882f90b5ff
more cleanups, don't run the test 30 times anymore -- it's too wasteful
...
and doesn't gurantee test failure.
2020-06-05 23:28:27 +02:00
holger krekel
469451d5dd
rework imap structure logging
2020-06-05 23:28:27 +02:00
holger krekel
af33c2dea7
test pass again
2020-06-05 23:28:27 +02:00
holger krekel
d076ab4d6d
fix grouping / helper function
2020-06-05 21:59:33 +02:00
holger krekel
e66ed8eadb
shift tests away a little, mark "ignored" for regular pytest runs
2020-06-05 21:59:33 +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
Friedel Ziegelmayer
95cde55a7f
Merge pull request #1549 from deltachat/fix-reconnect-logic
2020-06-03 16:17:15 +02:00
dignifiedquire
8756c0cbe1
test(python): avoid race condition in unicode test
2020-06-03 16:10:44 +02:00
dignifiedquire
86c6b09814
fix: trigger reconnects when errors occur during idle and fetch
2020-06-03 15:40:54 +02:00
bjoern
6ce27a7f87
Merge pull request #1548 from deltachat/fix-folders
...
fix(imap): deterministically detect folder meaning
2020-06-02 16:18:49 +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
Friedel Ziegelmayer
419b7d1d5c
Merge pull request #1539 from deltachat/sane-configure
...
refactor(configure): simplify logic and code
2020-05-29 19:32:49 +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
jikstra
4bade7e13a
Update cargo lock
2020-05-28 20:38:11 +02:00
Jikstra
53099bbfd1
Merge pull request #1537 from deltachat/fix_dc_str_constants
...
Add missing DC_STR_* constants to deltachat.h
2020-05-28 18:24:11 +02:00
jikstra
7d1d02bf3b
Add missing DC_STR_* constants to deltachat.h
2020-05-28 13:41:56 +02:00
bjoern
4f477ec6d2
Merge pull request #1536 from deltachat/prep-1.34
...
Prep 1.34
2020-05-27 20:33:53 +02:00
B. Petersen
0a4d6fe09b
bump version to 1.34.0
2020-05-27 19:33:27 +02:00
B. Petersen
8640bd5ee6
update changelog
2020-05-27 19:31:51 +02:00
bjoern
19a6a30fe2
Merge pull request #1356 from deltachat/feat/async-jobs
...
asyncify core & remove manual thread handling
2020-05-27 18:17:51 +02:00
dignifiedquire
23b6974386
Merge master
2020-05-27 17:21:39 +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
9f7f387540
examples: fix blocking the scheduler in the repl
2020-05-27 15:05:29 +02:00
dignifiedquire
307357df70
update simple exaple
2020-05-26 19:40:37 +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
B. Petersen
4330da232c
tweak async ffi-docs
2020-05-26 08:20:17 +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
bjoern
460e60063c
Merge pull request #1528 from deltachat/ffi-doc
...
ffi doc for async-jobs, keep name for data2_str
2020-05-25 14:41:33 +02:00
B. Petersen
ec601a3381
revert renaming of data2_str to data3_str, while this looks clearer at a first glance, it would mean to introduce much noise in the existing bindings and understandings
2020-05-25 12:58:21 +02:00
B. Petersen
2156c6cd7a
basic documentation of ffi
2020-05-25 12:36:07 +02:00
dignifiedquire
13811c06ee
mark generate_key as blocking
2020-05-25 12:08:16 +02:00
dignifiedquire
230d40daa0
fixup dependency
2020-05-25 01:05:17 +02:00
dignifiedquire
45aba61ac8
update smol fork
2020-05-25 00:56:58 +02:00
dignifiedquire
2adeadfd73
fix: avoid blocking on expensive pgp operations
2020-05-25 00:17:01 +02:00
holger krekel
477e689c74
fix python lint
2020-05-24 22:11:14 +02:00
dignifiedquire
00e8f2271a
improve simple example
2020-05-24 21:24:21 +02:00
dignifiedquire
9442df0cf8
fix: restore logic to original in configure
2020-05-24 21:24:13 +02:00
holger krekel
d9de33820f
add a stress test
2020-05-24 21:25: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
dignifiedquire
811655bc98
update deps, for real
2020-05-24 19:06:22 +02:00
dignifiedquire
0760bfaf7b
use patched version of smol to avoid nix dependency
2020-05-24 17:20:04 +02:00
holger krekel
fa3ee4205d
refactor some python infra, and don't do shutdown on __del__, it's not prepared for running during teardown
2020-05-24 15:48:12 +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
holger krekel
a068b82671
actually this test passes, hum -- but there is a problem i swear
2020-05-24 08:10:03 +02:00
bjoern
177cd52039
Merge pull request #1524 from lupine/add-padfoot
...
Add telepathy-padfoot to the README
2020-05-24 00:11:16 +02:00
dignifiedquire
72d4da0095
feat(imap): process incoming messages in bulk
2020-05-24 00:06:39 +02:00
holger krekel
d4ddc2f9da
make wheel building work again -- switch manylinux2014 ( #1522 )
2020-05-23 21:57:50 +02:00
Nick Thomas
1ab6186eaa
Add telepathy-padfoot to the README
2020-05-23 20:06:14 +01:00
dignifiedquire
0ea442ca36
feat: add chat::send_msg_sync
2020-05-23 18:56:45 +02:00
holger krekel
e55dc2213a
fix python lifecycles so that termination works
2020-05-23 10:17:56 +02:00
dignifiedquire
05f79c1c01
update dependencies
2020-05-23 00:17:50 +02:00
dignifiedquire
8569e1c18b
python: first pass at updates for dc_open/dc_close removal
2020-05-22 23:56:03 +02:00
dignifiedquire
2b1d4651fb
remove dc_open and dc_close
2020-05-22 22:40:55 +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
Hocuri
26b0c43cc4
Remove help for nonexisting open and close commands.
...
See #1496
2020-05-22 18:45:42 +02:00
holger krekel
4b4e6e1732
use bjoern's naming suggestion
2020-05-22 18:44:57 +02:00
holger krekel
d0686ada83
a round of renaming towards dc_io_* methods for start/stop/io scheduling
2020-05-22 18:44:57 +02:00
holger krekel
c43285f6ac
fix python data2/string handling and reduce extra code needed
2020-05-22 16:24:46 +02:00
dignifiedquire
3947e90b36
update names
2020-05-22 16:24:46 +02:00
dignifiedquire
916935b8d0
ffi: refactor event handling
2020-05-22 16:24:46 +02:00
holger krekel
229606fcc5
fix last failing test -- make account.shutdown() robust against getting called from event thread
2020-05-22 15:12:55 +02:00
holger krekel
23ceda5ad9
add notes from little a/v we just did
2020-05-22 14:58:17 +02:00
dignifiedquire
12e66f5a96
switch to stable toolchain by default
2020-05-22 13:28:49 +02:00
holger krekel
371a7552f5
fix superflous shutdowns -- those are called automatically after the test
...
function ends
2020-05-22 13:06:20 +02:00
holger krekel
641955a1ec
try fix inbox ordering issue
2020-05-22 13:06:13 +02:00
holger krekel
f97538a399
slightly refine increation tests wrt to ordering
2020-05-22 12:46:12 +02:00
holger krekel
7c8758dc26
fix ordering issues with test_forward_increation
2020-05-22 12:24:52 +02:00
dignifiedquire
da7db04c0e
example: happy clippy
2020-05-22 11:48:40 +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
holger krekel
c43e7cdbdc
fix lint and a typo
2020-05-22 10:31:41 +02:00
dignifiedquire
931967353e
Merge remote-tracking branch 'origin/master' into feat/async-jobs
2020-05-21 16:26:26 +02:00
dignifiedquire
69f095687d
check correct running flag in scheduler stop
2020-05-21 15:50:56 +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
holger krekel
ad522cd798
simplify and speedup configuration handling
...
refactor conftest.py away
2020-05-20 22:15:27 +02:00
holger krekel
fedc946886
fix online configure tests
2020-05-20 19:44:06 +02:00
holger krekel
c3458ec59f
fix test
2020-05-20 19:17:48 +02:00
holger krekel
2f09bb468e
fix configure_canceled test
2020-05-20 19:10:36 +02:00
holger krekel
2279e18329
fix logging and docstrings
2020-05-20 18:57:51 +02:00
dignifiedquire
16e519430a
fix(job): avoid double insertion
2020-05-20 18:38:53 +02:00
holger krekel
0ec5b8d6dd
fix --ignored handling
2020-05-20 18:10:13 +02:00
holger krekel
1029c63a20
python fixes
2020-05-20 17:21:57 +02:00
holger krekel
9e43540dfa
fix docs, some renames
2020-05-20 17:05:00 +02:00
dignifiedquire
3c7b3faa7f
unify deps and more strict start and stop
2020-05-20 16:42:59 +02:00
holger krekel
4855584de9
rename eventlogger to events
2020-05-20 16:37:27 +02:00
holger krekel
f67c86cb39
refactor callback thread handling
2020-05-20 16:32:12 +02:00
B. Petersen
779a906d97
move standards.md here
...
the document standards.md exist since a long time
to get an overview but also a nice reference to get some links.
however, its placement in the android-repo is a bit unlogical,
probably comes from a time where there was only one implementation :)
as ios and desktop use the same standards and as
all acutal implementations are in the core,
we move it to the core repo.
android can have a link to the new place.
2020-05-20 15:48:13 +02:00
holger krekel
b91d7f314b
progress
2020-05-20 14:52:17 +02:00
holger krekel
3703a1c36c
refinement startup
2020-05-20 13:31:45 +02:00
dignifiedquire
03fd311bfe
log shutdown msg
2020-05-20 13:04:44 +02:00
B. Petersen
7e78d6a92b
fix link
2020-05-19 22:52:11 +03: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
ba4df23bff
python: remove unused start_threads calls
2020-05-19 15:47:20 +02:00
dignifiedquire
14c9161268
python: fix basic start and stop
2020-05-19 15:45:08 +02:00
dignifiedquire
236e9562fd
python: run and shutdown
2020-05-19 15:31:28 +02:00
holger krekel
a6409dcd27
attempt to fix cb/python event handling
2020-05-19 15:02:05 +02:00
dignifiedquire
cfd68f9f2e
python: remove unused queue
2020-05-19 14:40:59 +02:00
dignifiedquire
2cfd5754ca
python: start integration of get_next_event
2020-05-19 14:29:47 +02:00
dignifiedquire
f81c1afde7
bring back busy_timeout
2020-05-19 13:30:15 +02:00
dignifiedquire
f7a7debd9d
update dependencies
2020-05-19 12:18:47 +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
B. Petersen
9702647044
enable sqlite's WAL-mode unconditionally
2020-05-18 06:55:06 +02:00
B. Petersen
3b2192a046
make clippy happy
2020-05-18 06:55:06 +02:00
B. Petersen
b864911e18
return current journal_mode in dc_get_info()
...
values are either 'delete' or 'wal';
having this info in debug reports is useful for debugging anyway,
if we switch to WAL or not.
2020-05-18 06:55:06 +02:00
bjoern
9e0506cb48
Merge pull request #1488 from deltachat/fix-get-sent-folder
...
improve finding out the sent-folder
2020-05-17 03:01:39 +02:00
B. Petersen
a0000b9489
update provider-db
2020-05-16 23:26:53 +02:00
Hocuri
df3fac4e5e
Make clear that dc_set_chat_mute_duration() and dc_chat_is_muted() belong together.
2020-05-16 22:32:07 +02:00
bjoern
8a36f55439
Merge pull request #1491 from deltachat/fix-get-sent-folder1
...
Code style (#1488 )
2020-05-16 15:25:04 +02:00
Hocuri
ab253744f8
Code style
2020-05-16 15:07:01 +02:00
bjoern
fff1eaba45
Merge pull request #1485 from deltachat/tweak-delete-docs
...
clarify delete_server_after option
2020-05-16 11:29:13 +02:00
B. Petersen
eafb7b979d
make clippy happy
2020-05-16 00:09:22 +02:00
B. Petersen
9e22bf39cc
smoother searching for sentbox
...
search for the sentbox in two passes:
- first check the folder attributes
- only if that fails, check for some known names
this way, the sent-attribute always has precedence
over the name; this was not the case before.
moreover, this fixes an possibly wrong early exist
when the attribute list is completely empty.
2020-05-16 00:01:42 +02:00
B. Petersen
fc6691ce5b
add 'sentmail' to the list of known names for 'sent', acutally used by chello.at
2020-05-15 23:05:23 +02:00
holger krekel
598dc86ca5
make sure we don't garble output during test runs by more carefully
...
switching logging on/off globally
2020-05-15 21:19:57 +02:00
Alexander Krotov
3e2bfc35e3
Delete hidden expired messages
...
The condition remains from the time when expired messages were hidden
instead of being moved into trash chat. As a result, old hidden
messages, such as location messages, were not deleted.
2020-05-15 20:46:41 +03:00
B. Petersen
6658ad8618
clarify delete_server_after option
2020-05-15 17:12:19 +02:00
bjoern
759ccdbee2
Merge pull request #1441 from deltachat/config-from-provider-db
...
optionally get default-options from provider-db
2020-05-15 12:19:14 +02:00
bjoern
635060a02d
Merge pull request #1481 from deltachat/adbenitez-patch-1
...
Update CHANGELOG.md
2020-05-14 11:16:15 +02:00
Asiel Díaz Benítez
a128e7e7ab
Update CHANGELOG.md
2020-05-14 03:22:45 -04:00
Jikstra
3cb69b8035
Merge pull request #1479 from deltachat/prep-1.33
...
Prep 1.33
2020-05-13 23:17:54 +02:00
B. Petersen
7dc58bb330
bump version
2020-05-13 22:46:04 +02:00
B. Petersen
8bd0a62cb3
changelog
2020-05-13 22:45:01 +02:00
dignifiedquire
b25bec53d8
refactor next_event
2020-05-13 18:42:56 +02:00
dignifiedquire
8a7923c974
Merge remote-tracking branch 'origin/master' into feat/async-jobs
2020-05-13 18:29:22 +02:00
Alexander Krotov
3ee81cbee0
Revert "imap: simplify select_folder() interface"
...
This reverts commit b614de2f80 .
2020-05-13 11:36:33 +02:00
B. Petersen
4b744337fe
apply user_defaults after the first successful call to dc_configure()
2020-05-12 23:02:22 +02:00
B. Petersen
8d7d2f7a44
run provider/update.py
2020-05-12 23:02:22 +02:00
B. Petersen
24bf1dbffb
fixup
2020-05-12 23:02:22 +02:00
B. Petersen
c1890bb126
adapt provider/update.py so that it generates config_defaults
2020-05-12 23:02:22 +02:00
B. Petersen
a4a570896a
add config_defaults array to provider-db
2020-05-12 23:02:22 +02:00
bjoern
0594034ee6
Merge pull request #1477 from deltachat/extract-flags
...
Extract flags in try_load() to variables
2020-05-12 22:56:00 +02:00
bjoern
396e376f49
Merge pull request #1475 from deltachat/clarify-flags
...
clarify docs for DC_GCL_FOR_FORWARDING
2020-05-12 22:55:48 +02:00
Hocuri
fca9eae0fd
Extract flags in try_load() to variables
2020-05-12 20:28:20 +02:00
B. Petersen
f0d9bdd901
clarify docs for DC_GCL_FOR_FORWARDING
2020-05-12 17:48:03 +02:00
Alexander Krotov
c185d5b0b5
Fix python lint error about unused format
2020-05-12 11:02:27 +02:00
bjoern
6ece2a3449
Merge pull request #1471 from deltachat/tweak-help
...
add dc_estimate_deletion_cnt() to docs, add some references
2020-05-11 16:01:28 +02:00
B. Petersen
682d52441d
add dc_estimate_deletion_cnt() to docs, add some references
2020-05-11 15:31:54 +02:00
Simon Laux
c2c0c81f1c
cargo fmt
2020-05-11 11:51:40 +02:00
Simon Laux
fe23907eb3
fix muting dm chats
...
and rewrite the erroro message so that it makes more sense
2020-05-11 11:51:40 +02:00
bjoern
e2bf8a8a11
Merge pull request #1469 from deltachat/prep-1.32
...
prep 1.32
2020-05-11 00:15:13 +02:00
B. Petersen
3f0136ae7c
bump version to 1.32.0
2020-05-10 23:58:22 +02:00
B. Petersen
9f992409c7
changelog
2020-05-10 23:57:21 +02:00
bjoern
cd53ed16e9
Merge pull request #1468 from deltachat/log_precheck_error
...
Log precheck_imf errors
2020-05-10 23:30:56 +02:00
Alexander Krotov
cc56edc91d
Log precheck_imf errors
2020-05-11 00:19:14 +03:00
bjoern
25eb4b3547
Merge pull request #1463 from deltachat/rfc724_mid_exists-ensure
...
Do not return "empty rfc724_mid" errors from rfc724_mid_cnt
2020-05-10 23:13:14 +02:00
bjoern
c5eb112f5a
Merge pull request #1465 from deltachat/smtp-network-error
...
Better SMTP ErrorNetwork message
2020-05-10 23:05:20 +02:00
bjoern
8d904f415a
Merge pull request #1464 from deltachat/database_busy-warn
...
sql: do not send DC_EVENT_ERROR on database errors
2020-05-10 22:59:24 +02:00
bjoern
c34173ca6e
Merge pull request #1466 from deltachat/fix-prefetch
...
do normal receive_imf() if message-id is empty or if prefetch failed …
2020-05-10 22:54:16 +02:00
B. Petersen
aa292ac6b8
do normal receive_imf() if message-id is empty or if prefetch failed for other reasons. there are servers not sending a message ids, this and other cases is handled in receive_imf() - but not in prefetch (would be too much to maintain, also we need more information). this normal processing also prevents trying over the same message over and over as the server_uid is updated.
2020-05-10 22:43:04 +02:00
Alexander Krotov
c36227e2fc
Better SMTP ErrorNetwork message
...
It uses stock string, just as for IMAP errors, and is distinguishable
from IMAP errors: protocol is specified in the error message now.
2020-05-10 23:24:03 +03:00
B. Petersen
a406e0416f
use new Message-ID parser
2020-05-10 22:58:22 +03:00
B. Petersen
215cc5e71d
add function for parsing multiple Message-Ids
2020-05-10 22:58:22 +03:00
B. Petersen
0e72acee10
more tolerant message-id parsing
2020-05-10 22:58:22 +03:00
B. Petersen
000ed3175d
add failing test
2020-05-10 22:58:22 +03:00
Alexander Krotov
2f6bae4e2a
sql: do not send DC_EVENT_ERROR on database errors
...
These errors are usually just "database busy" errors, it is enough to
write them to the log instead of displaying to the user.
2020-05-10 17:51:01 +03:00
Alexander Krotov
0fefe11bfd
Do not return "empty rfc724_mid" errors from rfc724_mid_cnt
...
This function should only return temporary errors, e.g. database errors,
as precheck_imf() and dc_receive_imf::add_parts() treat them as such,
retrying the fetch on failure. When permanent errors, like missing
Message-ID, are bubbled up, they cause infinite fetch loop.
2020-05-10 16:43:26 +03:00
Alexander Krotov
2dbb1bbbea
Do not reply to hidden messages
...
Especially with read receipts, it is wrong, because they are never
encrypted and their Message-IDs are not known to other users in a group.
2020-05-09 19:11:23 +03:00
Hocuri
a586a1d525
Fix #1120 Contact requests are not shown when name of sender includes a comma character ( #1438 )
...
* First try making get_recipients use MailHeader (nice and functional)
* Get it to compile by using not-so-functional style
* Add "empty-from" test, drop unnecessary check for error; continue using addrparse_header() instead of addrparse()
* Try to use functional style, unfortunately, I can't get the compiler to accept it
* Do it imperative-style: Do not overwrite To with Cc and vice versa
* Use addrparse_header() once more
* Still addrparse_header()
* Clippy
* Fix compile errors in tests
* Fix typo
* Fix tests again ;-)
* Code style
* Code style; try a HashMap<addr: String, display_name: String> as an address list but I am not convinced
* Code style; Use Vec<SingleInfo> as address list
* Clippy
* Add tests
* Add another test
* Remove stale comments
2020-05-07 13:55:09 +02:00
holger krekel
4724101e75
fix upload error?! ( #1454 )
...
* use latest setuptools
* clear indexes also if nothing was uploaded to dc/* branches
2020-05-06 17:31:43 +02:00
bjoern
1b921cd533
Merge pull request #1457 from deltachat/prep-1.31
...
prep 1.31
2020-05-06 00:15:34 +02:00
B. Petersen
fcf3786fc5
bump version to 1.31.0
2020-05-05 23:53:54 +02:00
B. Petersen
d78f75aa60
changelog
2020-05-05 23:52:53 +02:00
bjoern
56056cf10e
Merge pull request #1451 from deltachat/better-errors
...
Always describe the context of the displayed error
2020-05-05 23:40:35 +02:00
Alexander Krotov
5fd9b20213
Parse attachment filenames from Content-Type "name" attribute
...
Outlook specifies filename there and omits Content-Disposition.
2020-05-06 00:37:36 +03:00
B. Petersen
076cdae3fd
do not show errors during sending as a ephemeral popup or so, just set the message-state to failed, the error can be queried by the user at any time via 'Info' or so
2020-05-05 21:44:03 +02:00
Alexander Krotov
6543c7c26f
fetch_single_msg: do not ignore dc_receive_imf errors
...
If error is ignored, the message will never be fetched again, even if
there was a database write error.
dc_receive_imf itself is modified to ignore unrecoverable errors, to
prevent endless refetching of incorrect messages.
2020-05-04 18:19:32 +03:00
Alexander Krotov
3035c8af30
Always describe the context of the displayed error
2020-05-04 16:35:42 +03:00
bjoern
3cbd647dad
Merge pull request #1449 from deltachat/media-quality
...
support dc_get|set_config("media_quality")
2020-05-04 10:55:35 +02:00
B. Petersen
4efcbee772
support dc_get|set_config("media_quality")
2020-05-03 13:38:39 +02:00
B. Petersen
bb59cf94e9
bump version to 1.30.0
2020-05-02 19:14:35 +03:00
B. Petersen
96436814f5
changelog
2020-05-02 19:14:35 +03:00
Alexander Krotov
e8763e936d
imap: simplify select_folder() interface
...
Accept AsRef<str> instead of Option<impl AsRef<str>>.
There is no need to pass None to force expunge anymore.
2020-04-30 23:48:41 +03:00
Alexander Krotov
c41a6b87b8
imap: always close folder before selecting if expunge is needed
2020-04-30 23:48:41 +03:00
B. Petersen
54395a7252
do not send DC_EVENT_MSGS_CHANGED or DC_EVENT_INCOMING_MSG for hidden messages
...
these events take the message-id as parameter and might be used
to update an existing list (although to recommended)
if the event is issued for hidden messages,
this might led to "empty" messages flashing up -
the ui tries to get the message from the event,
after a moment, on the next update, the message disappears again
as hidden messages are of course not returned eg. by dc_get_chat_msgs().
the effect was probably always visible for secure-join-messages on ios,
however, become much more visible recently when read-receipts are added
as hidden messages as well (to make them auto-deletable).
2020-04-30 19:44:33 +03:00
bjoern
4322b8b932
Merge pull request #1435 from deltachat/prep-1.29
...
prepare release 1.29
2020-04-29 16:36:48 +02:00
B. Petersen
f444af825f
bump version to 1.29.0
2020-04-29 14:49:40 +02:00
B. Petersen
0d0e7f774e
update readme
2020-04-28 23:01:10 +02:00
bjoern
30ed27ae5c
Merge pull request #1436 from deltachat/get_info_btreemap
...
Return BTreeMap instead of HashMap from get_info()
2020-04-28 23:00:28 +02:00
bjoern
b7283487b2
Merge pull request #1426 from deltachat/fix-uptime
...
fix uptime debug output
2020-04-28 23:00:07 +02:00
jikstra
551f7dc05a
Make starts_with_ignore_case() private
2020-04-28 22:52:39 +03:00
jikstra
1b485770b6
cargo fmt
2020-04-28 22:52:39 +03:00
jikstra
50e18f84c2
Also support lowercased dcaccount: uris
2020-04-28 22:52:39 +03:00
jikstra
9eab96090d
Cargo fmt
2020-04-28 22:52:39 +03:00
jikstra
737a741a54
Support lowercased openpgp4fpr uri scheme
2020-04-28 22:52:39 +03:00
Alexander Krotov
46253039df
Return BTreeMap instead of HashMap from get_info()
...
BTreeMap is sorted by keys when iterated, making it easier to find the
required line.
2020-04-28 21:26:04 +03:00
B. Petersen
2f5b6a115d
update provider database
2020-04-28 21:02:42 +03:00
bjoern
05d63fcbe6
Merge pull request #1430 from deltachat/fix-footer
...
regard line with ony '--' as footer mark partly
2020-04-28 17:35:15 +02:00
bjoern
ae5bc76123
Merge pull request #1432 from deltachat/Explain-database-path
...
Update Readme.md: Explain database path, fix #1431
2020-04-27 19:45:55 +02:00
Hocuri
b70e92effb
Update Readme.md: Explain database path, fix #1431
...
Also set the database path to ~/deltachat-db so that nothing has to be changed in the command (it can just be copy-pasted).
2020-04-27 19:18:19 +02:00
B. Petersen
2a9b967d2d
remove footer-escape-character from message texts
2020-04-27 16:47:16 +02:00
B. Petersen
459fec56db
protect '--' in message from being treated as a footer-beginning
2020-04-27 16:47:16 +02:00
B. Petersen
bfdd6f36e2
regard line with ony '--' as footer mark partly
...
the footer mark normally used in email-conversations is `-- `,
note the trailing space, see RFC 3676, §4.3
unfortunately, the final space is removed by some providers,
which lead to footers showing up on delta-to-delta-conversations
(on nondc-to-delta, this is not an issue as we cannot be sure anyway
and show a [...] therefore)
this change accepts lines with only `--` as a footer separator
if there is no other footer separator
and if the line before is empty and the line after is not.
as there is still some chance to remove text accidentally,
see tests, some protection against that is needed in another commit.
2020-04-27 16:32:59 +02:00
B. Petersen
432e4b7f0a
use std::time::SystemTime for uptime calculation
...
std::time::Instant does not count eg. doze-time on android
2020-04-26 11:44:27 +02:00
B. Petersen
39cb9c425c
fixup
2020-04-26 11:44:27 +02:00
B. Petersen
dff1ae0fb4
move duration-formatting to a separate function and add tests for that
2020-04-26 11:16:59 +02:00
bjoern
2943624439
Merge pull request #1424 from deltachat/show-uptime
...
add context-uptime to dc_get_info()
2020-04-25 16:27:53 +02:00
bjoern
94064e526a
Merge pull request #1423 from deltachat/perform-20-jobs
...
job: perform no more than 20 IMAP jobs in a row
2020-04-25 01:49:20 +02:00
B. Petersen
95cac4dfb9
add context-uptime to dc_get_info()
2020-04-25 01:37:56 +02:00
Alexander Krotov
46fb6a21ee
job: perform no more than 20 IMAP jobs in a row
...
Let the thread load new messages. This may happen when user switches
the setting to delete messages on the server on and there are a lot of
messages to delete.
2020-04-25 01:43:35 +03:00
bjoern
3d6ca973c4
Merge pull request #1417 from deltachat/dynamic-imap-delete-job-generation
...
Dynamic imap delete job generation
2020-04-24 21:16:21 +02:00
Alexander Krotov
fc03f4c87a
job: generate IMAP deletion jobs dynamically
...
This prevents generation of a large number of jobs when IMAP deletion
setting is enabled for the first time. Writing jobs to the database
locks it for readers and may cause UI freezing, because chatlist and
messages can't be read until all jobs are written.
Note that on failure job will be written to the database, to make sure
it is postponed instead of being retried immediately.
2020-04-24 21:06:57 +03:00
Alexander Krotov
502ec2a56f
job: new API for dynamic job creation
...
Job::new() can be used to create jobs in-memory
Job.update() is replaced with Job.save() which can create new database
entries and consumes Job to avoid the need to update job ID after saving
it to the database.
2020-04-24 21:06:57 +03:00
Alexander Krotov
66d5c3f620
job: derive PartialEq for Action
...
This makes it possible to compare action priorities in Rust code.
2020-04-24 21:06:57 +03:00
Floris Bruynooghe
220500efbb
Move key loading from deprecated Key struct to DcKey trait
...
This moves the loading of the keys from the database to the trait and
thus with types differing between public and secret keys. This
fetches the Config::ConfiguredAddr (configured_addr) directly from the
database in the SQL to simplify the API and consistency instead of
making this the responsiblity of all callers to get this right.
Since anyone invoking these methods also wants to be sure the keys
exist, move key generation here as well. This already simplifies some
code in contact.rs and will eventually replace all manual checks for
existing keys.
To make errors more manageable this gives EmailAddress it's own error
type and adds some conversions for it. Otherwise the general error
type leaks to far. The EmailAddress type also gets its ToSql trait impl
to be able to save it to the database directly.
2020-04-24 01:11:11 +02:00
Hocuri
d29c5eabbb
Improve descriptions for the profile image files
2020-04-23 22:47:53 +02:00
Alexander Krotov
979d7c5625
Do not ignore database read errors in precheck_imf
...
If precheck_imf fails to check if message with the same rfc724_mid
already exists, the same message may be downloaded twice. Instead,
abort the whole operation and retry later.
2020-04-23 15:36:45 +03:00
B. Petersen
4e828199c8
test, that also unrecoded avatars are copied to the blob-directory
2020-04-23 06:49:41 +02:00
Hocuri
61c84c8e01
Log more in tests
2020-04-23 06:48:18 +02:00
bjoern
30be5e33d7
Merge pull request #1410 from deltachat/remove_addremove
...
remove all member_added/remove_events
2020-04-23 00:59:09 +02:00
bjoern
b1c524d4a3
Merge pull request #1415 from deltachat/py_fresh
...
expose obtaining list of fresh messages to python
2020-04-21 14:14:24 +02:00
holger krekel
7c33c7f7da
expose obtaining list of fresh messages to python
2020-04-21 13:53:56 +02:00
bjoern
7846c23edd
Merge pull request #1411 from deltachat/delete-no-hide
...
Delete expired messages instead of hiding them
2020-04-20 18:04:30 +02:00
Alexander Krotov
6c0dd8543d
Delete expired messages instead of hiding them
...
For hidden messages, blobs are not deleted during housekeeping. To
actually free the space used by media files, messages should be moved to
trash instead of being hidden.
2020-04-20 02:29:55 +03:00
holger krekel
70c082a1b1
remove all member_added/remove_events
2020-04-19 21:15:45 +02:00
holger krekel
02cda1e611
refine member/add remove further, and introduce ac_outgoing_message
2020-04-19 21:00:55 +02:00
holger krekel
a1c82eaea6
refine bot testing and ac_member* handling
2020-04-19 21:00:55 +02:00
holger krekel
9eda710538
refine member-added and member-removed plugin hooks to signal the sender (who added/removed a contact )
...
add ac_chat_modified hook event
add account.get_contact_by_addr (thanks @r10s)
2020-04-19 21:00:55 +02:00
Hocuri
a87a2d0b71
Change to functional style
2020-04-19 18:28:10 +03:00
Hocuri
6e2f4d85a3
Do not ellipsize non-standard footers in chat messages
2020-04-19 18:28:10 +03:00
Hocuri
511727fdfa
Do not ellipsize everything in a message
2020-04-19 18:28:10 +03:00
bjoern
a86c7c767a
Merge pull request #1409 from deltachat/ffi-doc-fix
...
fix doc for dc_lookup_contact_id_by_addr()
2020-04-18 13:17:50 +02:00
bjoern
da88d8f17f
Update deltachat-ffi/deltachat.h
...
Co-Authored-By: holger krekel <holger@merlinux.eu >
2020-04-18 13:17:33 +02:00
B. Petersen
dbd3705441
fix doc for return value of dc_lookup_contact_id_by_addr()
2020-04-18 01:47:36 +02:00
Alexander Krotov
8d2f526ee7
Fix a typo
2020-04-17 22:29:58 +03:00
B. Petersen
b075a73222
adapt doc wrt events not longer having a return value
2020-04-17 21:26:58 +02:00
bjoern
eb5387ca38
Merge pull request #1403 from deltachat/remove-unused
...
remove unused api
2020-04-17 13:02:09 +02:00
B. Petersen
1eaef94c71
make clippy happy
2020-04-16 22:49:34 +02:00
B. Petersen
e1903edd04
remove unused dc_array_add_id() api
2020-04-16 22:11:54 +02:00
B. Petersen
0b6b8ced92
remove unused dc_chat_get_subtitle() api
2020-04-16 22:08:17 +02:00
B. Petersen
cc6ce72f6e
remove unused dc_get_version_str() api
2020-04-16 21:48:51 +02:00
Alexander Krotov
857a384d8b
Switch to nightly-2020-03-12
2020-04-16 08:51:41 +02:00
Alexander Krotov
13dd88b7ad
mimeparser: display inline images received from Thunderbird
2020-04-15 11:13:26 +02:00
Alexander Krotov
e85cdc8c9f
mimeparser: test parsing of inline images
2020-04-14 07:01:50 +02:00
Alexander Krotov
1760740a4c
Parse inline attachments from non-DC email clients
...
Some mobile email clients, such as apple mail, attach or inline images
after description, just like Delta Chat. It is better to display them
instead of ignoring.
2020-04-14 07:01:50 +02:00
Alexander Krotov
daf40fde82
mimefactory: use .next() instead of .nth(0)
2020-04-13 23:02:57 +03:00
Alexander Krotov
e909b8199b
lot: use as_deref()
2020-04-13 23:02:57 +03:00
Alexander Krotov
ec089faf3a
configure/auto_mozilla: remove indexing
2020-04-13 23:02:57 +03:00
Alexander Krotov
9fcb30ac33
Remove indexing in chatlist.get_summary()
2020-04-13 23:02:57 +03:00
Alexander Krotov
cb92579461
Use slice patterns in EmailAddress::from_str()
2020-04-13 23:02:57 +03:00
Alexander Krotov
0327000f8d
squash_attachment_parts: use slice patterns
2020-04-13 23:02:57 +03:00
Alexander Krotov
3a91c87c73
clippy: use as_deref()
2020-04-13 23:02:57 +03:00
Alexander Krotov
db5b5d321b
clippy: remove redundant imports
2020-04-13 23:02:57 +03:00
Alexander Krotov
76b7e7408a
chatlist: remove indexing in get_{chat,msg}_id()
2020-04-13 23:02:57 +03:00
Alexander Krotov
324e5d0258
Use slice pattern to parse KML coordinates
2020-04-13 23:02:57 +03:00
Alexander Krotov
d997bbc081
skip_forward_header: get rid of indexing with subslice patterns
2020-04-13 23:02:57 +03:00
Alexander Krotov
1c21d4f356
constants: remove unnecessary parenthesis
...
Rust warns about them now
2020-04-13 23:02:57 +03:00
Alexander Krotov
5f574cf283
get_next_media: replace indexing with .get()
2020-04-13 23:02:57 +03:00
Alexander Krotov
92f1e6da1e
get_next_media: enumerate() instead of indexing
2020-04-13 23:02:57 +03:00
Alexander Krotov
24aa3c781b
Remove indexing in Aheader::from_str
2020-04-13 23:02:57 +03:00
Alexander Krotov
32bd6109e3
Update rust-toolchain and proptest
...
It is required for stabilized subslice patterns.
proptest 0.9.6 fixes compatibility with the latest rustc nightly.
2020-04-13 23:02:57 +03:00
B. Petersen
52442017e2
mark contacts as verified if a secure-join for them was observed on another device
2020-04-13 19:15:16 +02:00
B. Petersen
278454287c
make sure, Secure-Join-Fingerprint is not accepted unencrypted
2020-04-13 19:15:16 +02:00
B. Petersen
5ded8fb400
add vc-contact-confirm-received message needed for multi-device-verification
2020-04-13 19:15:16 +02:00
B. Petersen
24730e7ad6
do not delete handshake-messages needed for a multi-device-verification
2020-04-13 19:15:16 +02:00
B. Petersen
016a780632
check that incoming read-receipts do not unarchive chats
2020-04-13 17:51:56 +02:00
Hocuri
6d89638ca4
Get ChatId from Message
2020-04-13 17:43:01 +02:00
Hocuri
fdc091319b
Make Clippy happy
2020-04-13 17:43:01 +02:00
Hocuri
960c8745d9
For smtp error 5.5.0, try again. For others, send info message (doesn't work)
2020-04-13 17:43:01 +02:00
Hocuri
134b09dba5
Fix #1373 , ignore incorrect html close tags
2020-04-13 17:40:07 +02:00
holger krekel
76b93274e8
use latest sphinx -- seems to work again
2020-04-13 17:39:31 +02:00
holger krekel
ea455323d8
increase timeout while waiting for rsa2048 keygen -- default timeout is 30secs, and it sometimes takes 31 or more on the CI machines
2020-04-13 17:39:31 +02:00
holger krekel
1855f84fe0
fix bug in that remove-contact failed on new groups where we didn't have the peerstate of the removed-contact yet
2020-04-13 17:39:31 +02:00
holger krekel
323d996d5f
a few streamlinings
2020-04-13 17:39:31 +02:00
holger krekel
1b858393c5
make create_contact accept email addresses that parse into routable_email and display_name
2020-04-13 17:39:31 +02:00
holger krekel
ca88c5b41c
rename hooks to use "ac_" (account) and "dc_" (global)
2020-04-13 17:39:31 +02:00
holger krekel
7e1470ea46
refactor preconfigure handling to not break deltabot's usage of deltachat's test fixtures and
...
relax timestamp comparisons
2020-04-13 17:39:31 +02:00
holger krekel
f98d0bbc1f
fix failing sync test
2020-04-13 17:39:31 +02:00
holger krekel
2a34022619
refine example doc and address https://github.com/deltachat/deltachat-core-rust/pull/1307#pullrequestreview-380876587
2020-04-13 17:39:31 +02:00
holger krekel
57f879a6ba
fix buffer handling so that the group-tracking bot example passes
2020-04-13 17:39:31 +02:00
holger krekel
d4ba09c753
refactor bot-setup and testing into a helper function
2020-04-13 17:39:31 +02:00
holger krekel
6c3a8448cf
Apply suggestions from code review
...
some fixes thanks to @adbenitez
Co-Authored-By: Asiel Díaz Benítez <asieldbenitez@gmail.com >
2020-04-13 17:39:31 +02:00
holger krekel
d4e1c1b109
refine handling of accepted contacts in example
2020-04-13 17:39:31 +02:00
holger krekel
a1d5120e58
sipmlify plugins and tests and remove superflous core event
2020-04-13 17:39:31 +02:00
holger krekel
724e1ea97e
simplify example
2020-04-13 17:39:31 +02:00
holger krekel
6f8067ffd3
address @adbenitez and @r10s comments
2020-04-13 17:39:31 +02:00
holger krekel
f38386d164
fix member_added/member_removed event with tests and and provide a group-tracking example
2020-04-13 17:39:31 +02:00
holger krekel
d66829702f
fix #164 add MEMBER_REMOVED event and member_removed plugin python hook
2020-04-13 17:39:31 +02:00
holger krekel
36b50436d7
add Message.mark_seen shortcut
2020-04-13 17:39:31 +02:00
holger krekel
33dd747ec7
some more test setup refinements and make example testing part of tox runs
2020-04-13 17:39:31 +02:00
holger krekel
d8e14d9993
refine example and make Contact accept Account object
2020-04-13 17:39:31 +02:00
holger krekel
f61b9f7964
add a test echo_and_quit examples
2020-04-13 17:39:31 +02:00
holger krekel
91cdc76414
refactor docs and ffi/high level event handling to pass all tests again
2020-04-13 17:39:31 +02:00
holger krekel
a1379f61da
fix up docs
2020-04-13 17:39:31 +02:00
holger krekel
a665d6de59
add chat.is_group() API to help callers avoid having to check with constants
...
deprecate get_type()
2020-04-13 17:39:31 +02:00
holger krekel
6a6a719ab6
shift pytest support code into deltachat package so deltabot can make use of the test infrastructure
2020-04-13 17:39:31 +02:00
holger krekel
84f17b7539
emit "DC_EVENT_MEMBER_ADDED" and python plugin event "member_added" for securejoin or non-securejoin additions of a contact to a chat. also fixup some docs
2020-04-13 17:39:31 +02:00
holger krekel
57141e478c
also add a changelog for plugin things
2020-04-13 17:39:31 +02:00
holger krekel
6213917089
start some docs
2020-04-13 17:39:31 +02:00
holger krekel
fb33c31378
fix a couple of issues wrt to configuring move/mvbox behaviour in tests
2020-04-13 17:39:31 +02:00
holger krekel
79f5e736b0
make eventlogger module a global plugin
2020-04-13 17:39:31 +02:00
holger krekel
0d4b6f5627
move io thread handling into own module
2020-04-13 17:39:31 +02:00
holger krekel
5c8f558f60
- simplify to offer start() and shutdown() as primary account methods, strike start_threads/stop_threads.
...
- introduce update_config(kwargs) method.
- group APIs a bit better
2020-04-13 17:39:31 +02:00
holger krekel
c851f9d5a3
simplify internal thread handling
2020-04-13 17:39:31 +02:00
holger krekel
2d74514dd0
add some incoming/outgoing message hooks
2020-04-13 17:39:31 +02:00
holger krekel
84012e760e
refine low level event handling
...
slight refactor on printing
2020-04-13 17:39:31 +02:00
holger krekel
6baef49f9d
add after_shutdown hook
2020-04-13 17:39:31 +02:00
holger krekel
f55d4fa73a
rename process_low_level_event to process_ffi_event
2020-04-13 17:39:31 +02:00
holger krekel
ce00c627d4
don't run Eventlogging by default -- the tests instantiate it, though.
2020-04-13 17:39:31 +02:00
holger krekel
d3c6f530e2
introduce global plugin manager
2020-04-13 17:39:31 +02:00
holger krekel
cf6391d51b
move event tracking to new tracker.py file
...
some api cleanups
2020-04-13 17:39:31 +02:00
holger krekel
57311d731e
simplify logging
2020-04-13 17:39:31 +02:00
holger krekel
95d45b386f
separate out FFI eventracking to only be used in running tests
2020-04-13 17:39:31 +02:00
holger krekel
bbc8bed39c
move temp_plugin to account
2020-04-13 17:39:31 +02:00
holger krekel
ec67b3975c
good bye global plugin manager ... we only do per-account object plugin_management for now
2020-04-13 17:39:31 +02:00
Alexander Krotov
e9967c32e6
chat: filter parent messages by state instead of UID
...
Since introduction of server message deletion, message may not have
server UID even when it is not a draft or pending message. To handle
such messages correctly, we explicitly check message state.
2020-04-13 17:38:42 +02:00
Alexander Krotov
493a213d41
sql: move QueryReturnedNoRows and NULL handling into query_row_optional()
2020-04-13 17:38:42 +02:00
Alexander Krotov
f65dbee74b
Add basic test for ChatId.parent_is_encrypted()
2020-04-13 17:38:42 +02:00
Alexander Krotov
f51fd1267f
chat: move parent_query() and related methods from Chat to ChatId
2020-04-13 17:38:42 +02:00
Hocuri
711f3f69da
Emit an event when SMTP fails (the same is already done for IMAP)
2020-04-12 18:17:24 +03:00
Friedel Ziegelmayer
24f4cbbb27
refactor: replace failure
...
- failure is deprecated
- thiserror for deriving Error impl
- anyhow for highlevel error handling
2020-04-10 22:39:28 +02:00
dignifiedquire
307a3e078e
Merge remote-tracking branch 'origin/master' into feat/async-jobs
2020-04-09 23:41:34 +02:00
Alexander Krotov
d31265895d
Update rPGP to 0.5.2
2020-04-03 12:57:13 +03:00
bjoern
6e35a879a3
Merge pull request #1375 from deltachat/robust-hide-device-expired-messages
...
Make "hide_device_expired_messages" more robust
2020-04-03 11:48:09 +02:00
Alexander Krotov
9c2a3b8a82
Chatlist::try_load: make hide_device_expired_messages errors non-fatal
2020-04-03 12:13:42 +03:00
Alexander Krotov
916fab7d4b
hide_device_expired_messages: allow missing self or device chat
2020-04-03 12:12:56 +03:00
Alexander Krotov
3163ef87c6
imap: display errors with {}, not {:?}
2020-04-01 23:27:15 +03:00
Alexander Krotov
1934181b52
Terminate new SQL statement lines with \
...
This way rustfmt can change indentation. However, care should be taken
to keep a space before each \
2020-04-01 20:06:27 +03:00
Alexander Krotov
1b815a7d96
Display an error if message cannot be trashed
2020-04-01 20:06:27 +03:00
Alexander Krotov
4e0a08106d
ChatId.get_param: remove unnecessary type annotation
2020-04-01 20:06:27 +03:00
Alexander Krotov
e8cc739fbd
Reload chatlist when "delete_device_after" is set
2020-04-01 20:06:27 +03:00
Alexander Krotov
fc57cbfb49
Refactor hiding of expired messages
...
Now there is only one function: hide_device_expired_messages().
If any messages are hidden event DC_EVENT_MSGS_CHANGED(0,0) is emitted
now, which is more correct than DC_EVENT_CHAT_MODIFIED and also triggers
chatlist reload.
2020-04-01 20:06:27 +03:00
Alexander Krotov
7522fec044
Do not emit "chat modified" events when loading chatlist
...
Otherwise chatlist will be loaded twice, once right after hiding expired
messages, and once in response to event emitted by try_load().
2020-04-01 20:06:27 +03:00
Alexander Krotov
237dabb907
Do not hide hidden messages in ChatId.delete_device_expired_messages()
...
This prevents infinite event loop, when chatlist is reloaded in response
to event, and event is emitted by hiding messages before chatlist reload.
2020-04-01 20:06:27 +03:00
Alexander Krotov
3686048ab6
chatlist: hide all expired messages before loading
2020-04-01 20:06:27 +03:00
Alexander Krotov
2bf4c5d7e7
Emit "chat modified" event when messages expire
2020-04-01 20:06:27 +03:00
Alexander Krotov
051d80b2f3
Move delete_device_expired_messages() to ChatId
...
This allows to check if chat is a self-talk or device chat.
Messages are deleted only in viewed chats now.
2020-04-01 20:06:27 +03:00
Alexander Krotov
adaa1e856c
chat: add ChatId.is_self_talk() and ChatId.is_device_talk()
2020-04-01 20:06:27 +03:00
Alexander Krotov
4daa57c98e
delete_device_expired_messages: set text to DELETED for hidden messages
...
This makes debugging easier: DELETED messages should never be shown.
2020-04-01 20:06:27 +03:00
Alexander Krotov
7e67b2cbb3
Do not delete messages from special chats
2020-04-01 20:06:27 +03:00
Alexander Krotov
270d18a88a
Move prune_tombstones() to sql:: and call from housekeeping()
2020-04-01 20:06:27 +03:00
Alexander Krotov
25f8a735a9
get_chat_msgs: remove locally expired messages
...
Expired messages are hidden right before retrieving messages from the
database, so expired messages are not shown to the user.
2020-04-01 20:06:27 +03:00
Alexander Krotov
9eb672ea17
Move removal of chat message tombstones to a separate function
...
DELETE operation may be slow compared to UPDATE. It is better to do in
a separate job.
2020-04-01 20:06:27 +03:00
Alexander Krotov
9febc762da
Add chat::delete_device_expired_messages() function
2020-04-01 20:06:27 +03:00
Alexander Krotov
4b742c220c
Add Context.get_config_delete_device_after() method
...
In contrast to get_config_delete_server_after(), value 1 does not mean
"delete at once", because it does not make sense to delete messages
immediately after receivning them.
2020-04-01 20:06:27 +03:00
Alexander Krotov
9d03d441e1
Add Config::DeleteDeviceAfter option
2020-04-01 20:06:27 +03:00
B. Petersen
ff8b249cc6
For now, 'Saved messages' are auto-deleted from the server, but not from device
2020-04-01 20:06:27 +03:00
B. Petersen
248e6ea5e7
make clippy happy
2020-04-01 20:06:27 +03:00
B. Petersen
be0afdebfd
target comments of @link2xt, fix ci
2020-04-01 20:06:27 +03:00
B. Petersen
9f19d20344
implement message estimating
2020-04-01 20:06:27 +03:00
B. Petersen
aea8a32ba5
add 'estimatedeletion' to repl tool
2020-04-01 20:06:27 +03:00
B. Petersen
d1a4c82937
prototype ffi for ephemeral messages
2020-04-01 20:06:27 +03:00
Alexander Krotov
4f73812673
Prioritize message deletion over message moving
...
If Delta Chat goes online and gets an expired message is in the Inbox,
it should delete it instead of moving and then deleting.
2020-04-01 20:06:27 +03:00
Alexander Krotov
33150615a1
Improve logging for server UID updates in precheck_imf()
...
Log all folders and UIDs and warn about UID changes without folder change.
2020-04-01 20:06:27 +03:00
Alexander Krotov
491f83c86d
Remove ServerFolder and ServerUid job parameters
...
They were used by MarkseenMdnOnImap
2020-04-01 20:06:27 +03:00
Alexander Krotov
41f776763b
Remove MarkseenMdnOnImap
...
MarkseenMdnOnImap stored server folder and UID which are never updated
by update_server_uid. Now hidden entries are created for MDNs, so they
should be handled as ordinary messages.
2020-04-01 20:06:27 +03:00
Alexander Krotov
65fdfac866
Remove unused dest_uid argument from Imap.mv()
...
It was always set to 0 because we don't know the destination UID.
2020-04-01 20:06:27 +03:00
Alexander Krotov
cb0c00bc6d
Log rfc724_mid in DeleteMsgOnImap
2020-04-01 20:06:27 +03:00
Alexander Krotov
ad53678c19
Remove msgs.unlinked column
...
It is not used anymore.
Database version 64 migration introducing this column is also removed.
2020-04-01 20:06:27 +03:00
Alexander Krotov
62097765a6
update_server_uid: set server_uid even for unlinked messages
...
Sometimes message deletion job marks message as unlinked without
actually deleting it. It is possible if the message was already moved
into another folder, possibly by second device, but not detected there
yet. It should be detected later in the other folder, and the
server_uid in the database should be set.
Since introduction of add_imap_deletion_jobs() any expired message
record will be marked as unlinked eventually, because another message
deletion job will be scheduled even if update_server_uid() resurrects
the message once.
2020-04-01 20:06:27 +03:00
Alexander Krotov
efb7280e99
Do not schedule delayed DeleteMsgOnImap jobs
...
All IMAP deletion jobs are scheduled either immediately, or later by
job::add_imap_deletion_jobs().
2020-04-01 20:06:27 +03:00
Alexander Krotov
bdb2a47743
Revert "Automatically delete messages in 2 weeks window only"
...
This may result in messages not being deleted. Optimization and
traffic-saving is postponed for later, one idea is to optimize message
deletion to avoid checking if Message-ID on the server matches
Message-ID in the database.
2020-04-01 20:06:27 +03:00
Alexander Krotov
c4677190be
Postpone DeleteMsgOnImap on error
...
If job returns Status::Finished, it will be deleted. Then
add_imap_deletion_jobs will recreate it immediately if the message is
expired. To actually backoff the job, we should postpone it instead of
removing.
2020-04-01 20:06:27 +03:00
Alexander Krotov
055aba189c
Automatically delete messages in 2 weeks window only
...
This is to avoid creating thousands of jobs when user enables
"delete_server_after" setting for the first time.
If device is offline for more than 2 weeks, some messages may not be
deleted.
2020-04-01 20:06:27 +03:00
Alexander Krotov
314c3d5e78
add_imap_deletion_jobs: check only for DeleteMsgOnImap jobs
...
Other jobs may have different meaning for foreign_id.
Also removed " \" at the end of lines.
2020-04-01 20:06:27 +03:00
Alexander Krotov
6db03356b5
Return AlreadyDone from Imap.delete_msg if message is gone
...
This way DeleteMsgOnImap will remove invalid server_uid from the database.
2020-04-01 20:06:27 +03:00
Alexander Krotov
28af919b09
Create DeleteMsgOnImap jobs before performing IMAP jobs
...
When "delete_server_after" setting is configured, postponed
DeleteMsgOnImap jobs are created for incoming messages.
This commit adds job::add_imap_deletion_jobs function which creates
DeleteMsgOnImap jobs right before performing IMAP jobs. This way even
messages that expired when the setting was disabled are going to be
deleted.
Job creation on message reception is unnecessary now, and even harmful
because it will create jobs with an expiration time which may later be
reduced. It is planned to be removed in following commits.
2020-04-01 20:06:27 +03:00
Alexander Krotov
8f7a456a39
Use 0 value for "delete_server_after" default.
...
Now 0 means "never delete", 1 means "delete at once" and other values
indicate the number of seconds after which them message should be
deleted from the server.
Configuration value interpretation is moved into
Context.get_config_delete_server_after() function.
2020-04-01 20:06:27 +03:00
Alexander Krotov
5b3bec1aac
Create entries in msgs table for MDNs
...
At least one entry is required for DeleteMsgOnImap job. Additionally,
adding a hidden entry makes it possible to avoid redownloading the
message if it gets a new UID on the server.
2020-04-01 20:06:27 +03:00
Alexander Krotov
f2aa17c9d0
Resultify MsgId.delete_from_db()
2020-04-01 20:06:27 +03:00
Alexander Krotov
bc06b9e051
Do not send BCC-Self copy if we are going to remove it immediately
2020-04-01 20:06:27 +03:00
Alexander Krotov
6d216af507
Delete BCC-self messages after "delete_server_after" time
2020-04-01 20:06:27 +03:00
Alexander Krotov
b2f1d9f376
Do not remove rfc724_mid for unlinked messages
...
Message-ID is used to send read receipts. Instead, add a separate
"unlinked" column.
2020-04-01 20:06:27 +03:00
Alexander Krotov
a653e469f2
Add user-configurable option "delete_server_after"
...
The option sets timer in seconds after which all parts of the message
are deleted from the server.
2020-04-01 20:06:27 +03:00
Alexander Krotov
4f4241ba3a
dc_receive_imf: delete all message parts if message should be deleted
...
DeleteMsgOnImap deletes files from the server only when the last part
is deleted. Removing only the first part of the hidden or trashed
message does not result in message deletion.
2020-04-01 20:06:27 +03:00
Alexander Krotov
2cf9c68040
Implement MsgId.unlink() and use it in DeleteMsgOnImap
...
Currently only trashed or hidden messages are deleted by
DeleteMsgOnImap, so it is safe to remove database records.
It is planned to delete messages on IMAP server after
user-configurable time to cleanup the server even for messages
displayed in chats. For such messages, we unlink them from the
Message-ID, but keep the database record to display them.
2020-04-01 20:06:27 +03:00
Alexander Krotov
cc0f977d6f
Document rfc724_mid_cnt
2020-04-01 20:06:27 +03:00
Alexander Krotov
7879952fde
Delete MDNs first in MsgId.delete_from_db()
2020-04-01 20:06:27 +03:00
Alexander Krotov
4452cab987
Turn Message::Delete_from_db into MsgId method
2020-04-01 20:06:27 +03:00
Alexander Krotov
98bd64621a
Refactor Imap.delete_msg() error handling
...
Mutable UID reference is removed. Instead, ImapActionResult is
returned immediately.
If message has changed and UID does not correspond to expected
message, ImapActionResult::Failed is returned. Temprorary IMAP errors
result in ImapActionResult::RetryLater.
On the job side, ImapActionResult::RetryLater does not result in
immediate job retry anymore. Instead, job is retried with a backoff.
2020-04-01 20:06:27 +03:00
Alexander Krotov
c1c769ceb0
Add MsgId.trash() and use it to delete messages locally
...
In addition to moving the message into trash chat, this function
removes message text to make sure the message does not remain in the
database. Only the information necessary to delete message from the
server and avoid redownloading it should be kept, such as Message-Id
and IMAP UID.
2020-04-01 20:06:27 +03:00
Alexander Krotov
d64e55c66f
delete_msgs: remove explicit .iter()
2020-04-01 20:06:27 +03:00
Alexander Krotov
76fc84be37
job: document DeleteMsgOnImap
2020-04-01 20:06:27 +03:00
bjoern
8cd5f5990e
Merge pull request #1295 from deltachat/draft_group_consistency
...
draft doc for healing group-inconsistencies
2020-03-31 18:27:57 +02:00
B. Petersen
6ffe54d68f
do no longer ignore keypair generation test, due to the ecc-move, it is no longer expensive
2020-03-31 18:20:40 +02:00
Alexander Krotov
d78ea882c8
Update mailparse to 0.12
2020-03-31 18:11:44 +02:00
Alexander Krotov
958802a233
Add system message only if contact was removed successfully
2020-03-31 18:08:19 +02:00
bjoern
00b02efdc2
Merge pull request #1367 from deltachat/no-forward-to-device-chat
...
hide the device-chat from default forward-to-lists
2020-03-31 16:03:53 +02:00
Floris Bruynooghe
50569f12f5
Remove unsafe CString::yolo from ffi
...
CString::yolo was still used in the ffi, this was an unsafe
transitional thing. To remove it there were two choices: 1. make
errors in creating CStrings hard errors or 2. try and be as lenient as
possible. Given the to_string_lossy() convention adopted in the ffi
this choose the lenient option and simply skips over embedded null
bytes, leaving the rest of the strings intact.
Thus now CString::new_lossy(). It's only used for .strdup() however
so no longer a public trait.
This also cleans up the public visibility of things in the strings.rs
file:
- Rename StrExt/OptStrExt traits to what they actually do: provide
.strdup() -> Strdup/OptStrdup.
- dc_strdup() should be an implementation detail, replace all usages
with Strdup.strdup() method.
- Only allow visibility inside the crate for all things.
- Reduce visibility to only the module for things not used in lib.rs.
2020-03-31 09:12:41 +02:00
B. Petersen
8aa4ceb570
hide the device-chat from default forward-to-lists
2020-03-30 15:59:07 +02:00
Alexander Krotov
a7afbf85ad
Replace test Alice key with ed25519 key
...
Autocrypt Setup Message does not contain "==" anymore since key length
has changed.
2020-03-29 19:52:45 +03:00
bjoern
8fdf3dcdb8
Merge pull request #1314 from deltachat/fix-secure-join
...
ignore handshake messages seen from another device
2020-03-28 10:28:55 +01:00
B. Petersen
818c20e0cb
switch to ecc keys
...
after fixing some issues wrt ecc keys, see #1319 ,
and waiting some time (three core releases, two ios/android/desktop releases),
it is now the time to switch again to ecc keys again,
after the first attempt was stopped in #1319
2020-03-28 01:05:24 +03:00
dignifiedquire
49b2f80ded
Merge remote-tracking branch 'origin/master' into feat/async-jobs
2020-03-26 16:52:07 +01:00
bjoern
c1d4996777
Merge pull request #1361 from deltachat/prep-1.28
...
Prep 1.28
2020-03-25 22:09:34 +01:00
B. Petersen
fd3e6e0ee4
bump version to 1.28
2020-03-25 19:30:52 +01:00
B. Petersen
edc5754c68
changelog
2020-03-25 19:29:44 +01:00
bjoern
bd75dea000
Merge pull request #1359 from deltachat/fix-imap-delimiter
...
fix imap delimiter
2020-03-25 19:01:58 +01:00
B. Petersen
e09a0a548f
using first() instead of [0]
2020-03-25 18:10:02 +01:00
bjoern
15ee8b4362
Merge pull request #1357 from deltachat/ad-hoc-groups
...
fix classic-email interactions
2020-03-25 17:57:59 +01:00
dignifiedquire
f8cd602cbd
happy python lint
2020-03-25 17:56:35 +01:00
dignifiedquire
97951aec15
implement imape secure upgrade
2020-03-25 15:41:27 +01:00
dignifiedquire
3871c5a4a0
fix some more python test
2020-03-25 13:48:02 +01:00
B. Petersen
ab8d75b192
remove now unused ImapConfig.imap_delimiter
2020-03-25 13:23:29 +01:00
B. Petersen
e135c969c9
figure out and use folder-delimiter provided by LIST command
2020-03-25 13:16:23 +01:00
B. Petersen
36e7090466
force folder-reconfigure on dc_configure()
2020-03-25 02:39:48 +01:00
B. Petersen
f28f177c6b
use constant for folders_configured cache
2020-03-24 19:18:18 +01:00
B. Petersen
785973c624
allow ad-hoc-group creation if there is an accepted chat with the contact
2020-03-24 16:47:54 +01:00
B. Petersen
9c06acff72
add tests wrt classic email-interaction
2020-03-24 16:47:54 +01:00
dignifiedquire
69f1e1753c
improve logging and avoid race
2020-03-23 19:49:37 +01:00
bjoern
4fabddeb47
Merge pull request #1354 from deltachat/fix-bcc-self-group-crash
...
fix crash in self-only-groups with bcc_self enabled
2020-03-23 12:21:27 +01:00
B. Petersen
17ff1ab372
this corrects the To:-list for group-messages with only SELF as member.
...
before, the list was empty
and trying to send to groups that only contain SELF lead to a crash.
in theory, this happens for both, bcc_self enabled or not, however,
if bcc_self was disabled (default setting),
things worked as the whole mimerendering was skipped on a higher level.
also, the saved-messages-chat was not affected as this was checked explicitly.
this pr changes the mimerendering so that From: is used as To:
if there is no recipient-list and the messasge will be sent to SELF only.
2020-03-23 01:48:27 +01:00
dignifiedquire
01b88f876e
fix idle interrupts
2020-03-23 00:09:22 +01:00
dignifiedquire
0ead27a05b
update toolchain
2020-03-22 22:33:07 +01:00
dignifiedquire
c9742bb6ea
update toolchain for gh actions
2020-03-22 22:13:02 +01:00
dignifiedquire
d50c1e3658
fixes from merge with master
2020-03-22 22:05:37 +01:00
dignifiedquire
3a9c2a0356
Merge remote-tracking branch 'origin/master' into feat/async-jobs
2020-03-22 22:02:42 +01:00
dignifiedquire
b616a2b3e7
fix more tests
2020-03-22 21:57:26 +01:00
B. Petersen
3c34096392
add a failing test that crashes when sending a message to a self-only group with bcc_self enabled
2020-03-22 18:23:55 +01:00
bjoern
70e0d3b571
Merge pull request #1353 from deltachat/show-nondc-replies
...
fix showing non-dc replies
2020-03-22 16:48:49 +01:00
dignifiedquire
20ef115eb2
fix various integration tests with the python bindings
2020-03-22 16:21:15 +01:00
B. Petersen
ae5a2396f3
fix typo
2020-03-22 16:18:53 +01:00
B. Petersen
8f82bf40e0
let function that search for Message-IDs accept widly used square brackets format
2020-03-22 12:20:28 +01:00
B. Petersen
fe398de2fa
add test that fail on checking existance of a Message-ID with angle brackets
2020-03-22 12:20:28 +01:00
Alexander Krotov
a770d75e2e
Fix condition in normalize_name()
2020-03-22 00:11:41 +00:00
Alexander Krotov
a330104e9b
Add tests that crash normalize_name()
2020-03-22 00:11:41 +00:00
dignifiedquire
9b4c195872
minimal get_next_event api
2020-03-22 01:07:06 +01:00
dignifiedquire
11fa60d690
stop python tests from blowing up
2020-03-21 23:37:52 +01:00
dignifiedquire
1214609546
get ffi api to compile
2020-03-21 23:13:38 +01:00
dignifiedquire
d798356c19
refactor stop logic
2020-03-21 19:05:50 +01:00
dignifiedquire
4d6a9e4f14
improve simple example
2020-03-21 17:00:07 +01:00
dignifiedquire
8a7eaba668
fix imap fetch loop and watch folders
2020-03-21 16:26:27 +01:00
dignifiedquire
1846f20f6e
upgrade repl
2020-03-21 14:24:41 +01:00
dignifiedquire
18c1787552
Merge remote-tracking branch 'origin/master' into feat/async-jobs
2020-03-21 12:17:27 +01:00
bjoern
aae3cae4bb
Merge pull request #1342 from deltachat/group-rejoin-bug
...
Rebuild group member list on group rejoin
2020-03-20 00:39:26 +01:00
Alexander Krotov
e7e4821804
Reset group member list when we are added to the group
...
This makes test_synchronize_member_list_on_group_rejoin pass.
2020-03-19 17:03:31 +03:00
Alexander Krotov
9654802acc
Add failing group rejoin test
2020-03-19 17:03:31 +03:00
Friedel Ziegelmayer
06a24fa4d0
Merge pull request #1345 from deltachat/ci/fix-online-tests
...
ci: ensure dcc_new_temp_email is propagated
2020-03-19 15:02:30 +01:00
dignifiedquire
62b1b0519a
ci: ensure dcc_new_temp_email is propagated
...
Closes #1344
2020-03-19 11:14:37 +01:00
dignifiedquire
9981e84a42
avoid race condition on scheduler start
2020-03-18 16:34:18 +01:00
dignifiedquire
9d313b4e0e
cleanup and fix most of imap
2020-03-18 16:29:34 +01:00
dignifiedquire
ab2cb1ad1f
add missing loops
2020-03-18 15:31:37 +01:00
dignifiedquire
f85b14a7f7
the basics work
2020-03-18 15:11:36 +01:00
dignifiedquire
94c6a01420
some cleanup
2020-03-18 02:23:22 +01:00
dignifiedquire
563b550f08
integrate imex and imap
2020-03-18 01:50:19 +01:00
dignifiedquire
aa45716ef7
cleanup and setup configure
2020-03-18 00:36:13 +01:00
dignifiedquire
846ef043d5
hook up scheduler with jobs
2020-03-18 00:01:59 +01:00
dignifiedquire
ce5b95f8e5
start setting up new scheduler
2020-03-17 13:48:03 +01:00
dignifiedquire
efc17983c3
switch to queue based logging
2020-03-17 10:07:52 +01:00
dignifiedquire
7140898db9
async file io
2020-03-14 16:26:15 +01:00
dignifiedquire
6db253e1cc
rebase fixes
2020-03-14 15:21:19 +01:00
dignifiedquire
4c9d049b10
blocking for with_conn
2020-03-14 15:17:47 +01:00
dignifiedquire
818e921192
it compiles
2020-03-14 15:17:47 +01:00
dignifiedquire
6ea1d665bb
start making sql async
2020-03-14 15:17:23 +01:00
dignifiedquire
7326ba1403
send bounds wip
2020-03-14 15:16:27 +01:00
dignifiedquire
62bfa5157b
async sleep
2020-03-14 15:16:27 +01:00
dignifiedquire
43a8828430
asyncify smtp thread state handling
2020-03-14 15:16:27 +01:00
dignifiedquire
618202cf8b
more async
2020-03-14 15:16:27 +01:00
dignifiedquire
9614a23506
first pass at async job
2020-03-14 15:14:49 +01:00
bjoern
10afdfecdd
Merge pull request #1336 from deltachat/forward-to-saved
...
optionally sort 'saved messages' atop of the chatlist
2020-03-11 22:05:50 +01:00
B. Petersen
c0e08fb927
fix typo
2020-03-11 16:17:29 +01:00
B. Petersen
6d6bc9b050
for forwarding, sort 'saved messages' atop of the chatlist
2020-03-09 23:30:22 +01:00
Alexander Krotov
4714fb6887
Reset server_folder and server_uid in Imap.empty_folder()
...
This way we avoid trying to delete already deleted messages in the future.
2020-03-09 01:21:12 +03:00
bjoern
5f47810964
Merge pull request #1328 from deltachat/prep-1.27
...
Prep 1.27
2020-03-04 18:37:31 +01:00
B. Petersen
0f6024e055
bump version to 1.27
2020-03-04 17:04:26 +01:00
B. Petersen
fafc15f80c
changelog
2020-03-04 16:55:44 +01:00
bjoern
9a85ea861d
Merge pull request #1327 from deltachat/fix/update-rpgp
...
fix: update to pgp@0.5
2020-03-04 16:49:56 +01:00
dignifiedquire
9541960307
update fixed rpgp
2020-03-04 15:10:19 +01:00
dignifiedquire
95073deb96
fix: update to pgp@0.5
2020-03-04 14:51:58 +01:00
Alexander Krotov
82b4647b95
Update dc_truncate() comment
2020-03-02 23:09:38 +03:00
Alexander Krotov
0c770a8b37
Fix Origin::AddressBook spelling
2020-03-02 22:57:22 +03:00
B. Petersen
0e4031348f
remove unwrap-flag from dc_truncate() - it was never really used on-purpose
2020-03-02 14:10:44 +01:00
B. Petersen
5cc26762c2
unwrap lineends in summaries
2020-03-02 14:10:44 +01:00
B. Petersen
b8b4853d1f
add failing test for checking linebreak-unwrapping in get_summary
2020-03-02 14:10:44 +01:00
Alexander Krotov
fbabe27fc1
Make add_or_lookup errors non-fatal in add_address_book()
2020-03-02 14:08:20 +01:00
bjoern
4d1554c85b
Merge pull request #1323 from deltachat/prep-1.26
...
prepare 1.26.0
2020-03-01 22:34:37 +01:00
B. Petersen
ab40495d5c
update rPGP in .toml, this was missed in #1321
2020-03-01 21:54:11 +01:00
B. Petersen
42ebf49f92
bump version to 1.26.0
2020-03-01 21:46:26 +01:00
B. Petersen
c5ccd88f79
changelog
2020-03-01 21:43:57 +01:00
B. Petersen
dbd1b227d9
revert generating ecc keys for now
...
the currently released versions fail sometimes in encrypting to ecc keys,
see #1313 , the issue is about to be fixed,
however, we should not generate ecc keys until the
fix is rolled out - otherwise new users will get encryption errors every some
messages if their counterpart is not yet using the most recent version.
we can start generating ecc keys a few weeks after the fix is rolled out.
2020-03-01 21:34:04 +03:00
Alexander Krotov
63baac3c61
Update rPGP to 0.4.1
...
This version fixes incorrect serialization of ECC session keys with
leading zeros.
2020-03-01 20:52:08 +03:00
B. Petersen
7c39bb6659
ignore handshake messages seen from another device
...
moreover, prepare for marking peers as verified accross devices,
see detailed comment for observe_securejoin_on_other_device()
2020-02-27 15:04:11 +01:00
B. Petersen
4f8c5965ac
get fix wrt aol from provider-database
...
aol is not proken, it just needs some prepararions :)
command for updating:
./src/provider/update.py ../provider-db/_providers/ > src/provider/data.rs
2020-02-24 23:39:40 +03:00
holger krekel
900a17fc00
another fix, thanks @adbenitez
2020-02-22 17:11:37 +01:00
holger krekel
78f36aaa0d
another bug fix
2020-02-22 17:11:37 +01:00
holger krekel
e064e02794
fix eventlogger
2020-02-22 17:11:37 +01:00
holger krekel
e22e5045f1
add missing file, some streamlining
2020-02-22 17:11:37 +01:00
holger krekel
087f35482b
factor out imex tracking
2020-02-22 17:11:37 +01:00
holger krekel
23ff5fea28
move towards pluggy
2020-02-22 17:11:37 +01:00
holger krekel
34347ccaf5
strike get_infostring
2020-02-22 17:11:37 +01:00
holger krekel
e704eb6cef
move eventlogging to own module, start distinguishing ll events
2020-02-22 17:11:37 +01:00
holger krekel
bf63423fec
strike footer and refine index page
2020-02-22 17:11:37 +01:00
holger krekel
f6d71ed8ef
strike one Account parameter, always do eventlogging
2020-02-22 17:11:37 +01:00
Alexander Krotov
3c342339a1
imap: use parse_message_id from mimeparser
2020-02-22 16:41:07 +01:00
Alexander Krotov
33463856c5
Use mailparse::msgidparse to parse Message-IDs
2020-02-22 16:41:07 +01:00
holger krekel
a18f4c9b1b
prepare py-0.800.0
2020-02-21 14:09:05 +01:00
bjoern
783c7ee4c5
Merge pull request #1303 from deltachat/prep-core25
...
prepare 1.25.0
2020-02-21 10:41:07 +01:00
B. Petersen
a0b2a692d0
bump version to 1.25.0
2020-02-20 23:49:49 +01:00
B. Petersen
a59d368101
changelog
2020-02-20 23:47:43 +01:00
B. Petersen
5c36fb29ed
update python version examples
2020-02-20 23:47:23 +01:00
Alexander Krotov
508b8ef2e2
Improve documentation, mostly by hiding behind pub(crate)
2020-02-20 23:37:13 +03:00
holger krekel
e94c62e5b3
Update src/contact.rs
...
fix typo
2020-02-20 02:10:56 +01:00
B. Petersen
b65a6c2829
target comment of @hpk42
2020-02-20 02:10:56 +01:00
B. Petersen
c4a20d0798
fix updating names from incoming mails
...
- if a manual name was never given, always update names from incoming mails
- if a manual name is cleared, fall back to names from incoming mails
2020-02-20 02:10:56 +01:00
B. Petersen
9cb7ea524e
add failing test where a contact-name is not updated as expected
2020-02-20 02:10:56 +01:00
holger krekel
0ac0eeda34
better naming, less code
2020-02-20 01:30:21 +01:00
holger krekel
4d066b4fd2
refine processing of errors and result handling
2020-02-20 01:30:21 +01:00
Alexander Krotov
840e321dd9
Process Permanent and Transient SMTP errors
2020-02-20 01:30:21 +01:00
holger krekel
4b6963122b
Update src/smtp/mod.rs
...
Co-Authored-By: Alexander Krotov <ilabdsf@gmail.com >
2020-02-20 01:30:21 +01:00
holger krekel
d5d662bc41
fix ordering error
2020-02-20 01:30:21 +01:00
holger krekel
0b0ed56901
directly attempt to re-connect if the smtp connection is maybe stale
...
also refactor performing the job-action into own function
2020-02-20 01:30:21 +01:00
holger krekel
13e361aabc
add two variants
2020-02-19 14:21:15 +01:00
holger krekel
d1a26e66a7
update
2020-02-19 13:48:05 +01:00
holger krekel
ffe3c84e7c
small refinements
2020-02-19 13:39:33 +01:00
holger krekel
702c7382a7
move
2020-02-19 13:35:07 +01:00
holger krekel
b138d486e4
two ideas to tackle group consistency
2020-02-19 13:29:58 +01:00
B. Petersen
3a25d6b275
target comment of @link2xt
2020-02-18 17:51:28 +01:00
B. Petersen
66e2f51233
adapt spec
2020-02-18 17:51:28 +01:00
B. Petersen
8fdb048b6a
alter the memberlist more carefully
...
up to now, Chat-Group-Member-Added and -Removed commands
result in a complete recreation of the memberlist
by collecting all addresses from the From: and To: headers.
this easily results in missed and accidentally removed members,
esp. when several people at the same time scan a qr code to join a group.
this commit changes the behavior of adding members by
not removing members on the Chat-Group-Member-Added command.
instead the existing memberlist is conjuncted
with the memberlist seen in the message.
only adding the member from the Chat-Group-Member-Added
seems not to be sufficient - imaging a group of Alice and Bob:
- Alice adds Claire
- Bob adds Dave _before_ seeing that Alice added Claire
- Dave would never get the information that Claire is in the group
wrt Chat-Group-Member-Removed: this command
does no longer recreate the memberlist but just remove _exactly_ the member
mentioned in the header. there are situations, where a just removed member
will be readded by out-of-order-messages, however, compared to missed
members, this is seems to be acceptable - also as this is more visible
and easier to fix (just remove the member again).
might be that, in practise, this is not a big issue. while adding members
is typically done in masses on bootstraping a group,
this is typically not true for removing members.
2020-02-18 17:51:28 +01:00
B. Petersen
fa3d98a492
add a function to delete records from the chats_contacts table
2020-02-18 17:51:28 +01:00
Alexander Krotov
d9dda44409
Add integration test for RSA and Ed25519 keys
...
Test that two chat clients using different key types can communicate
using Autocrypt.
2020-02-18 17:51:06 +01:00
Alexander Krotov
7368c01a8f
Add key_gen_type config option
2020-02-18 17:51:06 +01:00
Alexander Krotov
21ac5be7ca
Change generated key type to Ed25519
...
rPGP generates EdDSA and and ECDH keys using Ed25519 only, so there is
no need to specify it explicitly anywhere.
2020-02-18 17:51:06 +01:00
B. Petersen
e14a113277
add testrun to provider-db
2020-02-18 17:50:38 +01:00
Alexander Krotov
66d3440675
Update const.py
2020-02-18 11:58:11 +03:00
Alexander Krotov
6b6be3b03d
Fix some "`" code markup
2020-02-18 05:06:11 +03:00
bjoern
cda8158bec
Merge pull request #1286 from deltachat/spec-location
...
add location handling to spec
2020-02-17 19:03:30 +01:00
B. Petersen
332e0dc4a8
update providers from provider-db
...
command:
./src/provider/update.py ../provider-db/_providers/ > src/provider/data.rs
2020-02-17 18:18:14 +01:00
B. Petersen
f7b4c6837b
add location handling to spec
2020-02-17 17:58:25 +01:00
Asiel Díaz Benítez
531928bf0b
Update proxy.py
2020-02-17 14:43:43 +01:00
Asiel Díaz Benítez
490c8e055b
Create proxy.py
2020-02-17 14:43:43 +01:00
Alexander Krotov
bcbf192bbc
Remove deprecated Chat-Group-Image header
2020-02-17 13:41:50 +01:00
Alexander Krotov
78d855c5ca
Include prefer-encrypt attribute in Autocrypt-Gossip headers
2020-02-17 13:39:32 +01:00
Alexander Krotov
1fa9aa88a8
Search for Flag::Deleted and Flag::Seen with == instead of match
2020-02-17 10:50:34 +01:00
Alexander Krotov
08c77c2668
fetch_single_msg: use if let Some(...) instead of is_empty()
2020-02-17 10:50:34 +01:00
Alexander Krotov
793ebe1b0f
imap: move IdleHandle from session.rs to idle.rs
2020-02-17 10:50:34 +01:00
Alexander Krotov
4c42acc7e1
Factor src/imap/session.rs out of src/imap/client.rs
2020-02-17 10:50:34 +01:00
Alexander Krotov
4eb9660bfa
Move src/imap_client.rs into src/imap/client.rs
2020-02-17 10:50:34 +01:00
Alexander Krotov
8ed08f701d
Do not use grpid to find last inserted row in chats table
...
Instead, use last_insert_rowid() function to find the row.
There is no race condition in using last_insert_rowid(), because
last_insert_rowid() returns row id last inserted in this connection. As
we hold the connection during the whole transaction, it is impossible
that some other thread will execute INSERT statement in parallel.
This commit is part of the effort to get rid of sql::get_rowid hack and
use transactions more for related SQL statements.
2020-02-17 01:35:56 +03:00
Alexander Krotov
784964efad
Make sql::with_conn and sql::start_stmt public
...
Existing public methods that use these functions, like sql::execute, are
only suitable for executing a single statement.
Sometimes it is useful to execute multiple statements within one
connection, for example to begin a transaction, execute mutliple SELECT
and INSERT queries and commit or rollback the whole transaction.
2020-02-17 01:35:56 +03:00
Alexander Krotov
adb96e72b9
Pass mutable Connection reference to with_conn callback
...
This makes it possible to call .transaction() method on connection.
2020-02-17 01:35:56 +03:00
Alexander Krotov
439c6f7296
Fix a typo
2020-02-17 01:35:56 +03:00
Floris Bruynooghe
e2f1ea1444
Add .strdup() method to Option<AsRef<str>>
...
We already have a .strdup() method on AsRef<str>, this adds this
method also to an option of this. In case the option is None a NULL
pointer is returned.
This is done by using a new trait, as the type system otherwise
considers such an implementation conflicting with the existing one.
2020-02-16 23:15:53 +01:00
Alexander Krotov
2977ceb459
Turn deltachat::configure functions into Context methods
...
Now configure module is no longer public. Users should call
Context.configure() and Context.is_configured() methods.
Configure module is completely hidden from documentation unless
--document-private-items option is specified.
2020-02-16 21:17:03 +01:00
Alexander Krotov
e00d4e0ed8
Remove AvatarAction::None
...
Where needed, Option<AvatarAction> can be used to extend it.
2020-02-16 15:03:37 +03:00
Alexander Krotov
772127d9d8
Remove outdated comment
...
delete_msg no longer returns an integer
2020-02-16 03:43:25 +03:00
bjoern
6ba45c88ec
Merge pull request #1281 from deltachat/fix-pin-test
...
fix pinning test by forcing a reliable order
2020-02-16 01:32:37 +01:00
Alexander Krotov
5a4040cf0b
cargo fmt
2020-02-16 03:22:30 +03:00
Alexander Krotov
b54f580e66
mimeparser: allow "inline" attachments
...
RFC 2183 specifically allows filenames to be specified for MIME parts
with "inline" Content-Disposition.
Previously we treated such attachments as an error, causing the whole
message parsing to fail. Now it is only an error if Content-Disposition
cannot be parsed.
MIME parts with filename are now considered to be attachments
regardless of their Content-Disposition type. However, "attachment"
Content-Disposition is still processed differently: we generate a
filename for it even if it is not specified.
2020-02-16 03:22:30 +03:00
B. Petersen
a9ac69fe9c
fix pinning test by forcing a reliable order
2020-02-16 00:55:13 +01:00
B. Petersen
5c52b5e404
fix order of shared chats, move pinned up
...
we forgot to respect the new pinned-state for the list of shared chats
as it is shown eg. in the profile of a contact.
2020-02-15 21:15:01 +01:00
Alexander Krotov
b80360b7da
Pass avatar file path to build_selfavatar_file as &str
2020-02-15 22:20:05 +03:00
Alexander Krotov
2753883687
Rename add_selfavatar into attach_selfavatar to match field name
2020-02-15 21:22:25 +03:00
bjoern
ced73ffb14
Merge pull request #1248 from deltachat/pinned_chats
...
feat: pin chats
2020-02-15 00:15:33 +01:00
Alexander Krotov
672fe2dfd7
Parse KML without converting to UTF-8 and back to bytes
2020-02-14 22:34:41 +01:00
Alexander Krotov
04bb6997a2
Remove unused imap::idle::Error::ImapError variant
2020-02-14 22:33:36 +01:00
B. Petersen
c8a8dbbbae
adapt python bindings
2020-02-14 13:43:49 +01:00
B. Petersen
1f9520dc78
target comments from @flub
2020-02-14 13:43:48 +01:00
B. Petersen
84f8627890
fix repl tool
2020-02-14 13:43:48 +01:00
B. Petersen
a177df32b7
omit values in ChatVisibility enum as suggested by @dignifiedquire and @flub
2020-02-14 13:43:48 +01:00
B. Petersen
f25d5dd123
do not unpin chats on sending/receiving messages
2020-02-14 13:43:48 +01:00
B. Petersen
4cfa9e6165
send event as before, uis depend on that
2020-02-14 13:43:48 +01:00
B. Petersen
0303ea7f57
rename to ChatVisibility, simplify ffi
2020-02-14 13:43:48 +01:00
B. Petersen
2813e01e61
remove unneeded sql-roundtrip on getting archived state
2020-02-14 11:28:55 +01:00
B. Petersen
e3420da60f
reword ffi from 'archived' to 'visibility'
2020-02-14 11:28:55 +01:00
B. Petersen
60493d30f6
target comment from @dignifiedquire, use ArchiveState inside core
2020-02-14 11:28:55 +01:00
Simon Laux
6efe8e7d7c
change ChatInfo.archived to tri-state
...
and add to the changelog
2020-02-14 11:28:55 +01:00
Simon Laux
2e8409f146
address some of flubs comments
2020-02-14 11:28:55 +01:00
Simon Laux
ac4b2b9dfe
python bindings for archive and py tests
2020-02-14 11:28:55 +01:00
Simon Laux
23b6178e78
add rust test for pin chat
2020-02-14 11:28:55 +01:00
Simon Laux
5e5d45fb0a
better fallbacks
2020-02-14 11:28:54 +01:00
Simon Laux
1765b8f2cf
show pinned chats again and order them to the top
2020-02-14 11:28:54 +01:00
Simon Laux
5678562ce2
represent archivestate as enum
...
before it was a boolean, even though it is a 3 state
2020-02-14 11:28:54 +01:00
Floris Bruynooghe
7274197da0
Remove comment about method being deprecated
...
I had a look for two mintues at converting things to .try_inner() and
I don't think this is currently worth the effort or would increase
readability a lot. So let's leave this for now.
2020-02-14 01:02:28 +01:00
Floris Bruynooghe
c79fcb380b
Clean up result traits
...
There is no need to have both a .log_warn() and .log_err(), even their
names are confusing by now. Let's just have the most liberal one and
reduce one more thing we need to know about.
Also, these traits don't need to be pub.
2020-02-14 01:02:28 +01:00
Floris Bruynooghe
6a98eade07
Remove the error method from the ffi
...
No ffi method should be reporting errors to the user. That's
exclusively the domain of core. All errors in the ffi are programing
errors.
2020-02-14 01:02:28 +01:00
Alexander Krotov
9008a65c14
Remove DC_IMAP_SEEN constant
...
Replace "flags" integer with a "seen" boolean.
2020-02-13 13:55:06 +01:00
Alexander Krotov
4e07e4c7f3
Fix a typo (bbc-self instead of bcc-self)
2020-02-12 23:15:04 +03:00
dignifiedquire
e440d8503a
fixup
2020-02-12 19:12:22 +01:00
dignifiedquire
e9bacff830
fixup
2020-02-12 19:12:22 +01:00
dignifiedquire
9cc99ffcd6
add more ser and de impls
2020-02-12 19:12:22 +01:00
Alexander Krotov
beb91271de
Unlock session before calling add_flag_finalized
...
add_flag_finalized tries to lock session again and IMAP thread deadlocks
if session is not unlocked.
2020-02-12 11:38:18 +00:00
Alexander Krotov
7e9585ebc5
cargo fmt
2020-02-12 11:38:18 +00:00
Alexander Krotov
0c4b3f71e5
Check for MOVE capability before using MOVE command
2020-02-12 11:38:18 +00:00
holger krekel
5c17ec5f01
use new URL format and service provided by mailadm
2020-02-11 22:48:24 +01:00
B. Petersen
8b4edc46a7
implement dc_set_config_from_qr()
2020-02-11 21:04:18 +01:00
B. Petersen
2b7a0a4585
prototype dc_set_config_from_qr()
2020-02-11 21:04:18 +01:00
B. Petersen
1882176489
let dc_check_qr() accept DCACCOUNT-schemes
2020-02-11 21:04:18 +01:00
holger krekel
875e89e71a
better event information for moved messages
2020-02-11 20:38:14 +01:00
Alexander Krotov
52520635ea
Fix a typo ("requests")
2020-02-11 22:32:35 +03:00
Friedel Ziegelmayer
aa50a9ba83
Merge pull request #1258 from deltachat/cargo-check-ci
...
GitHub actions: check all packages, examples, tests and features
2020-02-11 11:50:26 +01:00
Alexander Krotov
489e5111ac
GitHub actions: check all packages, examples, tests and features
2020-02-11 02:09:47 +03:00
Alexander Krotov
2d4c20af35
Revert "Make dc_receive_imf non-public"
...
This reverts commit cabb58a9aa .
dc_receive_imf() is used in the "repl" example.
This was not caught by CI because it does not build examples.
2020-02-11 02:03:36 +03:00
Alexander Krotov
66fdb447f7
Rename get_headerdef into get_header_value
2020-02-11 01:59:41 +03:00
Alexander Krotov
c801775a39
Implement get_headerdef method for MailHeader slices
2020-02-11 01:59:41 +03:00
Alexander Krotov
f5bb57d6a6
Fix a typo ("Messag")
2020-02-11 00:07:37 +03:00
Alexander Krotov
1071ab05db
Move created_db_entries into cleanup closure instead of borrowing
2020-02-10 23:31:46 +03:00
Simon Laux
8461cf6443
Merge pull request #1143 from deltachat/feat_mute_chat
...
feat: mute chat
2020-02-10 01:39:50 +01:00
Alexander Krotov
bb10501f56
Improve test_one_account_send_bcc_setting
...
Clone the first account and check that second device actually sees the
message copied via BCC-to-self.
2020-02-10 01:17:28 +01:00
Alexander Krotov
c4d5f657da
python tests: remove peek_online_config()
...
Using peek_online_config() results in a message being sent to some
other account, used by previous test. If tests are run in parallel,
for example with pytest-xdist, we could be sending a message to a still
online DC client.
2020-02-10 01:17:28 +01:00
Alexander Krotov
cabb58a9aa
Make dc_receive_imf non-public
2020-02-09 23:30:06 +00:00
Alexander Krotov
e64ce5bb4f
Reduce is_msgrmsg_rfc724_mid_in_list scope to pub(crate)
2020-02-09 23:28:29 +00:00
Alexander Krotov
bc750d61d2
Remove outdated comment
2020-02-09 23:28:29 +00:00
Alexander Krotov
3150901b6e
Improve logs for prefetch checks
2020-02-09 23:28:29 +00:00
Alexander Krotov
4f6745b742
Check if contact is blocked or accepted before downloading it
2020-02-09 23:28:29 +00:00
Alexander Krotov
bcdc323a97
Factor from_field_to_contact_id out of dc_receive_imf
2020-02-09 23:28:29 +00:00
Alexander Krotov
4fd4cc709d
Prefetch FROM field
2020-02-09 23:28:29 +00:00
Alexander Krotov
0fac463144
Prefetch Message-ID header instead of envelope
...
Envelope has the same Message-ID, but using other fields from the
envelope, such as From field, is error-prone. They may contain values
different from the message body. As we don't parse the envelope later on,
it is better not to fetch it during prefetch too.
2020-02-09 23:28:29 +00:00
Alexander Krotov
d809dfac65
Do not download messages that are not displayed
2020-02-09 23:28:29 +00:00
Alexander Krotov
983fd70260
Update imap-proto to 0.10.2
...
It adds support for parsing of BODY[HEADER.FIELDS (...)] fetches.
2020-02-09 23:28:29 +00:00
Alexander Krotov
ea11a5274e
Remove unwrap() in prefetch_get_message_id
2020-02-09 23:28:29 +00:00
Alexander Krotov
42356c2a67
Fix a typo in prefetch_get_message_id
2020-02-09 23:28:29 +00:00
Alexander Krotov
5a84ab2011
Fix a typo (s/ideling/idling/)
2020-02-09 23:28:29 +00:00
Alexander Krotov
b4573e341f
Return &'static str from HeaderDef.get_headername()
2020-02-09 19:17:27 +01:00
Alexander Krotov
df252c4704
Do not check for XLIST capability
...
This capability is not used by Delta Chat. Moreover, XLIST is deprecated
in favor of https://tools.ietf.org/html/rfc6154 , which should be
supported instead. Delta Chat already looks for \Sent attribute in
get_folder_meaning().
2020-02-09 19:15:20 +01:00
Alexander Krotov
d1912f873b
Resultify fetch_single_msg
2020-02-09 19:14:36 +01:00
Floris Bruynooghe
e525c42c7d
Unmute should also raise exceptions
...
And tests should not care about return values.
2020-02-09 19:12:21 +01:00
Floris Bruynooghe
0242322d24
Tweak error halding a little
...
- Python should raise exceptions on error. Not return False.
- Negative durations are nonense.
- ChatID validity is already checked by the Rust API, let's not duplicate.
2020-02-09 18:01:42 +01:00
Simon Laux
ded6fafc8a
Merge pull request #1250 from deltachat/flub-feat-mute-chat
...
Use SystemTime instead of i64
2020-02-09 15:46:19 +01:00
Floris Bruynooghe
4aebd678c3
Use SystemTime instead of i64
...
This clarifies some behaviour with negative times and propagates
errors a bit better around places.
2020-02-09 13:35:37 +01:00
Simon Laux
afc9ed2274
fix python formatting
2020-02-09 12:36:37 +01:00
Simon Laux
d73d021e3c
cargo fmt
2020-02-09 12:25:47 +01:00
bjoern
c8fe81e21d
Merge pull request #1243 from Ampli-fier/master
...
Minor changes in comments
2020-02-09 12:01:31 +01:00
Simon Laux
621f1df913
rename MutedUntilTimestamp to Until
2020-02-09 12:01:09 +01:00
Simon Laux
5f4274b449
fix naming
2020-02-09 10:42:32 +01:00
Simon Laux
4acb37156f
fix building of ffi
2020-02-09 10:39:21 +01:00
Alexander Krotov
1ca23a7479
Update link to C core issue
2020-02-09 03:28:59 +03:00
Alexander Krotov
61daf7218d
Preconfigure the key in clone_online_account()
...
This avoids generating the key in test_ac_setup_message
2020-02-08 22:39:34 +00:00
Floris Bruynooghe
dc6671fc4e
Add an integration tests which generates a key
...
Configuring an online account generates a key, we would like this
code-path tested too. So add some functionality to the AccountManager
to not use the pre-generated keys.
Because this slows down interactively running the tests by hand add an
ignored marker which only runs if --ignored is used. This name was
chosen because this matches the naming used by rust/cargo #[ignored].
The difference however is that --ignored on cargo *only* runs ignored
tests while here it runs *all* tests.
To ensure the ignored/slow tests are run on CI we add it as an
argument to the tox configuration, which is used by the CI to run the
tests.
2020-02-08 22:39:34 +00:00
Alexander Krotov
f34237ebc8
Run python tests on CI in debug mode
...
This should speed up compilation and enable additional integer overflow checks.
2020-02-08 16:58:55 +01:00
Alexander Krotov
aadeb3b87e
job: do not render messages without recipients
2020-02-08 16:58:55 +01:00
Simon Laux
1fb75c1af3
rename dc_chat_get_mute_duration
...
to dc_chat_get_remaining_mute_duration
2020-02-08 13:29:24 +01:00
Simon Laux
e04d28c885
use from- and to-sql traits
2020-02-08 13:29:24 +01:00
Simon Laux
6d80b3675a
dtransform mute chat to use relative durations
...
instead of absolute timestamps
2020-02-08 13:26:48 +01:00
Simon Laux
07d698f8dc
add python tests
2020-02-08 13:26:21 +01:00
Simon Laux
ef158504e7
remove success variable
...
(replace with else statement)
2020-02-08 13:26:21 +01:00
Simon Laux
63be1ae5a9
change muted forever to -1
2020-02-08 13:25:22 +01:00
Simon Laux
b9ba1a4f69
implement ffi part
2020-02-08 13:25:22 +01:00
Simon Laux
e006d9b033
rustfmt
2020-02-08 13:25:22 +01:00
Simon Laux
1538684c6c
simplify test code
2020-02-08 13:23:55 +01:00
Simon Laux
b37e83caab
add possibility to mute chat in core
2020-02-08 13:23:55 +01:00
Simon Laux
d11d3ab08b
fix typo
2020-02-08 13:11:22 +01:00
Floris Bruynooghe
1144a536a5
Pre-generate more keys for use in integration tests
2020-02-08 08:28:41 +00:00
Floris Bruynooghe
515c753d11
Use pre-generated keys for python integration tests
...
This changes the AccountMaker to use pre-generated keys when
available, speeding up test runs.
As a side-effect we no longer need to compile the integration tests in
release mode with debug symbols. Losing debug symbols (-g) means
cargo no longer wants to recompile everything all the time too.
Tested locally and seems to works.
2020-02-08 08:28:41 +00:00
Alexander Krotov
0864e640ed
Simplify Peerstate.peek_key()
2020-02-08 00:02:42 +01:00
Ampli-fier
b876e49393
Minor changes in comments
2020-02-07 20:01:17 +01:00
Floris Bruynooghe
fc0292bf8a
Rename save_self_keypair
...
For the ffi rename to dc_preconfigure_keypair. For the internal API
to store_self_keypair.
2020-02-06 22:00:29 +01:00
Floris Bruynooghe
a903805cd9
Rename MessageChain to MessageWithCause
2020-02-06 22:00:29 +01:00
Floris Bruynooghe
abab34573e
Remove unused method
...
Forgot to do this earlier.
2020-02-06 22:00:29 +01:00
Floris Bruynooghe
fa1b94af60
Simplify returning None from a Result
2020-02-06 22:00:29 +01:00
Floris Bruynooghe
81ff5d1224
Let save_self_keypair() also remove a previously used key
...
The imex code was deleting the key if it was already used. Turns out
none of the callers would not want this behaviour, so let's just
handle this case generally.
2020-02-06 22:00:29 +01:00
Floris Bruynooghe
5c3a8819a4
Avoid pointless conversions, just return the result
2020-02-06 22:00:29 +01:00
Floris Bruynooghe
4d0a08d858
DcKey::to_base64 can not fail
...
As this can't fail, we don't have to expose Result on this and can
keep the API simpler.
2020-02-06 22:00:29 +01:00
Floris Bruynooghe
c41bdaa2b7
Avoid for-else loop
...
And here I thought this pythonic
2020-02-06 22:00:29 +01:00
Floris Bruynooghe
4bf2fc18e5
Write with_inner() in function of try_inner()
...
I guess this is a little neater. Note that this does change all the
existing error logging to warning logging. I believe this is correct
as these error log messages are really programming errors rather than
errors which need to be show to the user.
Also chose to make entire with_inner unsafe, there is little to be
gained from hiding the unsafe as this is only used from unsafe
functions in the first place.
2020-02-06 22:00:29 +01:00
Floris Bruynooghe
145fd8657f
Update deltachat-ffi/src/lib.rs
...
Co-Authored-By: Alexander Krotov <ilabdsf@gmail.com >
2020-02-06 22:00:29 +01:00
Floris Bruynooghe
01b55d1d29
Update deltachat-ffi/src/lib.rs
...
Co-Authored-By: Alexander Krotov <ilabdsf@gmail.com >
2020-02-06 22:00:29 +01:00
Floris Bruynooghe
98b3151c5f
Refactor keypair handling and expose storing keypairs on ffi
...
The user-visible change here is that it allows the FFI API to save
keys in the database for a context. This is primarily intended for
testing purposes as it allows you to get a key without having to
generate it.
Internally the most important change is to start using the
SignedPublicKey and SignedPrivateKey types from rpgp instead of
wrapping them into a single Key object. This allows APIs to be
specific about which they want instead of having to do runtime checks
like .is_public() or so. This means some of the functionality of the
Key impl now needs to be a trait.
A thid API change is to introduce the KeyPair struct, which binds
together the email address, public and private key for a keypair.
All these changes result in a bunch of cleanups, though more more
should be done to completely replace the Key type with the
SignedPublicKye/SignedPrivateKey + traits. But this change is large
enough already.
Testing-wise this adds two new keys which can be loaded from disk and
and avoids a few more key-generating tests. The encrypt/decrypt tests
are moved from the stress tests into the pgp tests and split up.
2020-02-06 22:00:29 +01:00
Alexander Krotov
c7eca8deb3
chat: resultify parent_is_encrypted and don't ignore the error
...
This should prevent accidental sending of unencrypted messages when
parent_is_encrypted returns an error. For example, if the database is
busy due to other thread activity, parent_is_encrypted should not return
false. Instead, message sending job should retry later.
2020-02-04 02:54:56 +03:00
Alexander Krotov
627b54f712
sql: add resultified version of query_get_value
2020-02-04 02:54:56 +03:00
Alexander Krotov
8ef7b6fc54
mimeparser: pass the Context around explicitly
2020-02-03 23:48:55 +03:00
Alexander Krotov
d83652b0fc
Add standard reference for UID FETCH quirk
2020-02-02 12:46:31 +00:00
B. Petersen
cce32229e0
do not bubble up errors on dc_has_import()
...
error!() will show the error directly to the user,
this is not useful in this case,
and also the message with the function-name is not for the end-user.
instead, the ui shall (and already does)
show some explaining text if dc_has_import() returns false;
the error!() is disturbing here as this results in two hints shown to the user.
2020-02-01 22:33:18 +00:00
bjoern
24edd83c8a
Merge pull request #1207 from deltachat/provider-db
...
streamline provider-db
2020-01-30 23:33:04 +01:00
B. Petersen
268c5b6482
update provider-db
2020-01-30 23:31:44 +01:00
B. Petersen
a66a754126
use EmailAddress object correctly
2020-01-30 17:47:43 +01:00
B. Petersen
18059734ce
make 'cargo fmt' happy with generated code: avoid two lineends at end of file
2020-01-30 17:47:43 +01:00
B. Petersen
c883e709c3
make sure, a domain is not used twice
2020-01-30 17:47:43 +01:00
B. Petersen
7be0bd3583
skip providers without data, cleanup
2020-01-30 17:47:43 +01:00
B. Petersen
d9ab37ea58
check for missing before_login_hint
2020-01-30 17:47:43 +01:00
B. Petersen
ff075ba612
update provider-db
2020-01-30 17:47:42 +01:00
B. Petersen
9c9294a730
use P_DOMAIN_NAME instead of P_123 to make a diff easier, make sure, domains are lowercase
2020-01-30 17:47:42 +01:00
B. Petersen
2a0842b8ae
rough check for valid domains
2020-01-30 17:47:42 +01:00
B. Petersen
3cfe45ffc2
disable a clippy warning, add a comment on that
2020-01-30 17:47:42 +01:00
B. Petersen
80dc7bfc52
make 'cargo fmt' happy
2020-01-30 17:47:42 +01:00
B. Petersen
10f26f17ba
replace provider/data.rs by auto-generated file
2020-01-30 17:47:42 +01:00
B. Petersen
4ba7402f28
tweak yaml->rust script, generated code compiles and works now :)
2020-01-30 17:47:42 +01:00
B. Petersen
d4da2e0d9c
add update.py that takes a folder with yaml-md-files as argument
2020-01-30 17:47:41 +01:00
B. Petersen
b180d004ba
use structure as suggested by @dignifiedquire
2020-01-30 17:47:41 +01:00
B. Petersen
de5bd96f08
add some more tests
2020-01-30 17:47:41 +01:00
B. Petersen
3a05b5dacc
target comment of @Simon-Laux, use a subdirectory
2020-01-30 17:47:41 +01:00
B. Petersen
b3c4e32b68
split provider-database from code to allow easy generation
2020-01-30 17:47:41 +01:00
B. Petersen
375a48f135
add before_login_hint to device-chat on successfull logins
2020-01-30 17:47:41 +01:00
B. Petersen
1750ab92e6
actually use server/port/etc. from provider-db, remove hardcoded nauta-settings
2020-01-30 17:47:41 +01:00
B. Petersen
8364ddd10b
get and test concrete server-data
2020-01-30 17:47:41 +01:00
B. Petersen
63043cb45d
add after_login_hint, refine ffi
2020-01-30 17:47:40 +01:00
B. Petersen
aaa6497659
add server data for nauta to provider-db
2020-01-30 17:47:40 +01:00
dignifiedquire
4fc6fa9c8a
lazy_static: make it compile
2020-01-30 17:47:40 +01:00
B. Petersen
7d0dcfb3a5
refine example
2020-01-30 17:47:40 +01:00
B. Petersen
a97ea0ad63
adapt python tests
2020-01-30 17:47:40 +01:00
B. Petersen
da66a4d22f
make clippy happy
2020-01-30 17:47:40 +01:00
B. Petersen
748e54d4c2
add basic provider-functions
2020-01-30 17:47:40 +01:00
B. Petersen
0f172595d7
we need the provider-db also in the core, not only ffi. the idea is to add it directly to the core and to avoid an extra crate. this also avoids pulling in yaml-rust and some other dependencies.
2020-01-30 17:47:39 +01:00
B. Petersen
5ffdbd99e8
adapt python bindings, remove tests until we really have data
2020-01-30 17:47:39 +01:00
B. Petersen
fbe57c4c71
adapt provider-db api to real need
2020-01-30 17:47:39 +01:00
Alexander Krotov
61726168d6
examples/simple.rs: fix clippy warnings
2020-01-29 23:29:34 +03:00
B. Petersen
a80632ab36
use RECOMMENDED_FILE_SIZE also for sys.msgsize_max_recommended
2020-01-28 23:32:38 +03:00
Alexander Krotov
893eb8b73b
Move message size limits to constants
...
Corresponding C code:
d31c82478c/src/dc_context.h (L165)
2020-01-28 23:32:38 +03:00
Alexander Krotov
07a5ee7d2c
mimeparser: construct MimeMessage at the end of from_bytes()
...
This reduces the scope of code dealing with mutable structures.
2020-01-28 17:46:16 +03:00
Alexander Krotov
c7a300be2f
mimeparser: split parse_headers() into multiple functions
2020-01-28 17:46:16 +03:00
Alexander Krotov
ef842fca89
Increase python test timeout to 90 seconds
2020-01-28 17:44:34 +03:00
Alexander Krotov
bdbe9e1ca5
fix(python): add more checks for _thread_quitflag
2020-01-28 17:44:34 +03:00
Alexander Krotov
0c7f65222c
fix(python): add workaround for interrupt_idle race condition
2020-01-28 17:44:34 +03:00
dignifiedquire
a8fa644d25
feat: update to latest async-imap
2020-01-28 17:44:34 +03:00
Alexander Krotov
cf7ccb5b8c
configure: do not format! an empty string
2020-01-26 16:51:51 +01:00
B. Petersen
49fdd6fc5b
clarify documentation
2020-01-26 16:23:30 +01:00
B. Petersen
5e91c74304
instant success on simple qr-setup-contact
...
this changes the behavior when scanning a setup-contact qr-code.
instead of waiting, until the whole protocol is finished,
which may take something between 10 seconds and several minutes,
the dc_join_secure_join() returns instantly;
the uis typically show the created chat then.
the returned chat-id is the same than if we wait for the protocol to finish,
it is the opportunistic one-to-one chat-id, so no changes there.
all this works even when both devices are offline.
after dc_join_secure_join() returns, however,
the usual setup-contact continues. ux-wise, once the protocol finishes,
a system-info-messages is added to the chat (also unchanged),
this is directly visible, in the chat as well as in the chatlist.
while the prococol runs, the user can alredy send message to the chat,
or do other things in the app.
if the user scans a new qr-code while an existing protocol is not finished yet,
the old join will be aborted (however, of course, created chats are kept).
we could also allow multiple joins at the same time,
however, this would be much more effort that this little change
and i am not sure if it is worth the effort.
finally, if a verified-group shall be joined,
this is not possible instantly, this is not affected by this pr.
same for unverified-groups, however, this could maybe be improved,
but also here, not sure if it is worth the effort
(i think most scans are setup-contact scans)
2020-01-26 16:23:30 +01:00
Alexander Krotov
b83e6f6e7c
Simplify MsgId.is_special()
2020-01-26 16:19:01 +01:00
Alexander Krotov
2687777a82
Remove unused EmailAddress::new()
2020-01-26 16:18:34 +01:00
bjoern
918b8036ea
Merge pull request #1223 from deltachat/prep-beta24
...
prepare 1.0.0-beta24
2020-01-26 14:22:57 +01:00
B. Petersen
7ea0e4d4db
bump version to 1.0.0-beta.24
2020-01-26 14:06:33 +01:00
B. Petersen
622c1705aa
changelog
2020-01-26 13:49:10 +01:00
Alexander Krotov
3a08929b05
Print "email" JSON-value if it has a wrong type
2020-01-26 12:28:42 +00:00
B. Petersen
99e30d561d
fix oauth2 login by fixing a Serde call
...
oauth2 crashes in beta23
because we did not let Serde remove the quotes from a parsed JSON email-address.
for autoconfig, we try to get a well-known URL
containing the domain of the used address - with the quote that is
https://autoconfig.gmail.com "/mail/config-v1.1.xml?...
unfortunately, instead of just returning an error,
(the url does not exist anyway)
reqwest crashes on the attempt to get this URL.
the Serde-thing is not obvious to me:
while serde_json::Value.as_str() removes the quotes,
serde_json::Value.to_string() does not.
2020-01-26 12:28:42 +00:00
Alexander Krotov
033a44580c
Turn get_[fresh_]msg_cnt() into ChatId members
2020-01-25 22:11:13 +00:00
Alexander Krotov
4734bcfbb4
Update Chat.unarchive() comment
2020-01-25 22:11:13 +00:00
Alexander Krotov
099fe6f477
Rename Chat.set_blocking() into set_blocked()
2020-01-25 22:11:13 +00:00
Alexander Krotov
889327b5f6
Rename Chat.archive() into Chat.set_archived()
2020-01-25 22:11:13 +00:00
Alexander Krotov
a2845f44ab
Turn ChatId-related functions into methods
2020-01-25 22:11:13 +00:00
Alexander Krotov
a7477516d1
mimefactory: factor out get_location_kml_part
2020-01-25 17:44:19 +00:00
bjoern
938d5828fc
Merge pull request #1212 from deltachat/handshake-ignore
...
do not delete handshake messages possibly belonging to secure-joins on other devices
2020-01-25 15:41:20 +01:00
Alexander Krotov
bf3eab453c
Avoid panic in sanitise_name()
...
.truncate() is not safe because it panics if string length does not
lie on character boundary. We convert the string to characters and take
first n character instead.
2020-01-25 13:04:56 +01:00
Alexander Krotov
ebab893330
dc_tools: remove unused dc_derive_safe_stem_ext()
...
It had the same .truncate() bug as BlobObject::sanitise_name()
2020-01-25 13:04:56 +01:00
Alexander Krotov
4c67b3a118
Add failing test_sanitise_name() test
2020-01-25 13:04:56 +01:00
B. Petersen
d74b06f8bf
target comment of @flub
2020-01-24 21:22:12 +01:00
B. Petersen
c54e211147
do not delete handshake messages maybe belonging to secure-joins on other devices
2020-01-24 12:50:26 +01:00
B. Petersen
8817cf5116
don't make me think
2020-01-24 12:32:45 +01:00
Floris Bruynooghe
fb568513b2
When handling vc-contact-confirm the message is Done
...
The HandshaeMessage::Propagate return should only occur for
vg-member-added messages since it is for those that we still need to
handle the group add.
2020-01-24 11:26:27 +01:00
Floris Bruynooghe
b4ebfdb84a
Fix out of sync cargo.lock
...
This should have been updated when the version of deltachat_derive was
changed. Oops.
2020-01-24 11:25:08 +01:00
Floris Bruynooghe
7040bd804a
Change to normal sematic version number for this sub-crate
...
Having a number that resembles the core version number is confusing.
This doesn't matter at all, it just needs to be a version number.
2020-01-22 23:49:01 +01:00
holger krekel
2f2fc17bd8
another try
2020-01-22 15:12:48 +01:00
holger krekel
d5d4b49aaf
try to get on-tag-builds to work
2020-01-22 15:11:19 +01:00
holger krekel
042c4efddf
update Python README
2020-01-22 14:00:55 +01:00
holger krekel
01251d162c
fix wheel upload target, and change python versioning
2020-01-22 14:00:55 +01:00
Alexander Krotov
64026fde7c
Store main part of the message outside of "parts" vector
2020-01-22 04:28:35 +00:00
Alexander Krotov
adcdae4abe
Factor get_message_kml_part out of render_message
2020-01-22 04:28:35 +00:00
holger krekel
88d138b925
only upload manylinux1 packages as others are rejected by pypi anyway
2020-01-21 23:28:11 +01:00
holger krekel
2773b89815
prep beta.23
2020-01-21 21:40:32 +01:00
holger krekel
949d93fdaa
- actually also upload py docs, not only c docs
...
- delete unused files on remote
- show a project number in doxygen
2020-01-21 19:14:16 +01:00
Alexander Krotov
90a4303c8e
Make it possible to compile with stable Rust
2020-01-21 19:50:42 +03:00
holger krekel
d3b1972505
fix master build
2020-01-21 17:27:21 +01:00
holger krekel
3807d5fbd0
bringing back wheel building for linux, and fixing c.delta.chat
2020-01-21 17:25:01 +01:00
holger krekel
e49e2021e5
i don't think this fuzzy test is very useful -- the mime-parser will end very early on random-input and DC's parsing machinery probably almost never runs.
2020-01-21 16:00:59 +01:00
Alexander Krotov
84a5276ab0
Fix build
...
0f52f63863 rebase broke the build
2020-01-21 17:17:51 +03:00
Alexander Krotov
1732c3b350
Reduce the scope of clippy exceptions
...
This prevents creation of new overly complex functions.
2020-01-21 14:49:53 +01:00
Alexander Krotov
0f52f63863
Add "Auto-Submitted: auto-replied" header to MDNs
...
This header is specified in RFC 3834.
2020-01-21 16:29:18 +03:00
B. Petersen
0043e95ba7
fix message deletion on server
...
before a message is actually deleted,
we verify that server_folder+server_uid matches the Message-ID,
so that we do not delete the wrong message by accident.
the reason for that is that, to my knowledge, server_folder+server_uid
are not necessarily stable but Message-ID is.
anyway, this check was broken and set the server_uid to 0 in all cases -
where it should be set to 0 _only_ on mismatches.
2020-01-21 16:27:21 +03:00
Alexander Krotov
a3f2088046
Fix the message printed on job success
...
"Cannot be retried" does not make it clear if the job succeeded or failed.
2020-01-20 10:47:32 +01:00
Floris Bruynooghe
186f5553b8
Introduce a ChatId newtype
...
This doesn't try and change the way ChatId is used. It still allows
creating them with 0 and lets some function use a ChatId(0) as error
return.
2020-01-19 23:42:08 +01:00
Alexander Krotov
d8454d9da5
Deduplicate SendMdn and SendMsgToSmtp code
2020-01-20 00:35:11 +03:00
Alexander Krotov
318194a216
Rename Param::MessageId into Param::MsgId
...
MsgId refers to database ID, same as crate::message::MsgId newtype.
2020-01-20 00:35:11 +03:00
Alexander Krotov
b50d2358d3
Rename X-Additional-Message-IDs into Additional-Message-IDs
...
X- prefixes are deprecated in https://tools.ietf.org/html/rfc6648
2020-01-20 00:35:11 +03:00
Alexander Krotov
763587ffb4
Load only one job at a time
...
As a result of job, other jobs can be added or deleted. To avoid
processing deleted jobs and to process other jobs in the correct order,
we should reload them after performing each job.
However, we don't use "LIMIT 1" in SQL queries, because we want to be
able to skip over invalid jobs, and checking if job is invalid can only
be done in Rust.
2020-01-20 00:35:11 +03:00
Alexander Krotov
8a375c12e9
Mark two messages as seen in test_send_and_receive_message_markseen
...
This may or may not send a combined MDN out. We don't test for it,
but the test ensures that *if combined MDNs are sent in this case*,
then we receive them correctly.
2020-01-20 00:35:11 +03:00
Alexander Krotov
11afdb51f3
Log it when MDNs are combined
2020-01-20 00:35:11 +03:00
Alexander Krotov
e4353f4650
Aggregate SendMdn jobs
2020-01-20 00:35:11 +03:00
Alexander Krotov
9d4437a7f5
Make it possible to add X-Additional-Message-IDs to MDNs
2020-01-20 00:35:11 +03:00
Alexander Krotov
493bf5ed08
Parse additional message IDs in MDNs
2020-01-20 00:35:11 +03:00
Alexander Krotov
93800fd834
Construct list of recipients in SendMdn
...
There is always one recipient for MDNs, so it is easier to only handle
this case.
2020-01-20 00:35:11 +03:00
Alexander Krotov
79bc34ed76
Move check for blocked contact from mimefactory to SendMdn job
2020-01-20 00:35:11 +03:00
Alexander Krotov
b40ad7e87e
Store contact ID in SendMdn job foreign_id
...
This change makes it possible to find all pending MDNs for the contact
with an SQL query.
2020-01-20 00:35:11 +03:00
Alexander Krotov
1ab3fba212
Move check for enabled MDNs from message rendering to MDN job
2020-01-20 00:35:11 +03:00
Alexander Krotov
3cd0bbc0f4
Move foreign_id handling out of mimefactory
2020-01-20 00:35:11 +03:00
Alexander Krotov
a806728e43
Make a new job type for MDN sending
...
Now MDN is generated on every try instead of being stored in a blob.
2020-01-20 00:35:11 +03:00
Alexander Krotov
683037ca69
Remove no-op jobs SendMdnOld and SendMsgToSmtpOld
2020-01-20 00:35:11 +03:00
Alexander Krotov
a113127df1
Implement Display for MessageState
2020-01-20 00:35:11 +03:00
Alexander Krotov
fecfaaf812
Test MDN parsing
2020-01-20 00:35:11 +03:00
Alexander Krotov
8df8f1f6f7
Update deltachat_derive metadata
...
Same as core and FFI.
2020-01-19 21:40:22 +01:00
Alexander Krotov
5502ca5f58
Update deltachat_derive dependencies
2020-01-19 21:40:22 +01:00
Alexander Krotov
75b8cfa92e
Disable unnecessary image crate features
...
TIFF file format and parallel processing of JPEGs are not necessary to
recode avatars.
2020-01-18 00:30:52 +03:00
B. Petersen
f7b23fb0e2
check that recoding of jpg and png files actually works
2020-01-18 00:30:21 +03:00
B. Petersen
42f7abf2f5
for test_selfavatar*(), use the same function signature as for other tests
2020-01-18 00:30:21 +03:00
Alexander Krotov
08dd0e34d1
Make reqwest features "blocking" and "json" non-optional
2020-01-17 16:01:11 +03:00
Floris Bruynooghe
7540770dec
Resultify get_chat_id_by_grpid
...
I want to avoid having to be able to represent a chat_id of 0 in order
to more nicely turn chat_id into a ChatId newtype.
2020-01-16 21:46:06 +01:00
Alexander Krotov
213c5df706
mimefactory: remove unused "increation" field
2020-01-16 23:37:53 +03:00
B. Petersen
578e4b2785
re-add some comment to the securejoin-flow
2020-01-16 17:06:24 +01:00
Floris Bruynooghe
8f8db0c431
Small language improvement
2020-01-15 07:27:07 +01:00
Alexander Krotov
df7253b13e
Document MessageState and fix some typos
2020-01-15 00:48:10 +03:00
Alexander Krotov
fcafd63f41
Remove NOTE about third-party libraries
...
"libs" directory has been removed during transition to Rust
2020-01-14 10:29:08 +03:00
Floris Bruynooghe
c82fdb9fa1
Refactor return values from secure-join message handling
...
This return value was very complicated to understand. Some failure
returns were returned as Err and some as Ok with no consistency, but
resulting in the same behaviour.
This refactor makes the handle_securejoin_handshake the sole place
responsible for maintaining the state of the secure join
process (context.bob) and also in charge of terminating the ongoing
process. This is none of receive_imf's business.
The remaining returns are now cleanly classified in application-errors
and protocol errors:
Applications errors result in an Err and mean there is a bug or
something else serious went wrong, like database access suddenly
failed or so. In this case receive_imf is still responsible for
clearing the state and resetting ongoing-process. It may be possible
this should still be moved back to securejoin.rs so that recieve_imf
doesn't need to know anything about this either.
Protocol errors are not failures for receive_imf, it just means the
received message didn't follow the protocol. Receive_imf in this case
is told to ignore the message: that is hide it but not delete it.
Other Ok returns also only say what needs to happen to the message:
- It's fully processed and needs no further processing, instead should
be removed
- It should still be processed as a normal received message.
This changes some behaviour: if the chat creation/lookup for the
contact fails this is treated as an application error. Previously
this was silently ignored and send_msg() would be called with a 0
chat_id without checking the response. This resulted in the protocol
quitely being blocked.
This all shhould now make it easier to resultify more of the functions
called by this function, instead of having to deal with very
complicated application logic hidden in the return code.
2020-01-13 20:46:58 +01:00
Alexander Krotov
454c52f4ab
Use correct SPDX license identifier in Cargo.toml
2020-01-13 10:48:16 +00:00
B. Petersen
73c69c3f93
fix optimisation
2020-01-13 01:43:27 +01:00
bjoern
614ec30e05
Update src/mimefactory.rs
...
Co-Authored-By: Alexander Krotov <ilabdsf@gmail.com >
2020-01-13 01:43:27 +01:00
B. Petersen
d7c07e0ed3
set subject to group-name, tweak prefixes
...
this commit sets the subject of groups to the name of the group.
if the message is a reply in the group, also the prefix `Re:` is added.
the Chat: prefix is removed for groups,
also the Fwd: prefix, as it this would be expected to be set to the
group name of the forwarded message, which is not really compatible with the
rule "group-name = subject" (forwarded messages are detected by the body,
not by the subject)
2020-01-13 01:43:27 +01:00
Alexander Krotov
08bd16c1b6
Update rusqlite
2020-01-12 21:54:38 +00:00
Alexander Krotov
4f06c72798
Remove top_evil_rs.py
2020-01-12 09:02:30 +00:00
Alexander Krotov
166fe2a4e5
Forbid unsafe code in deltachat crate
2020-01-12 09:02:30 +00:00
Alexander Krotov
b7635a71c8
Do not call unsafe rusqlite::ffi::sqlite3_threadsafe()
...
rusqlite already checks that SQLite is safe to use in multi-threaded mode when it opens the database and returns rusqlite::Error::SqliteSingleThreadedMode otherwise.
2020-01-12 09:02:30 +00:00
Alexander Krotov
6ad4bdea83
Make get_parent_mime_headers() private
2020-01-12 09:12:24 +01:00
Alexander Krotov
efb9a11d22
Do not select drafts as parent message
...
Also create a common parent_query() function to make sure we use the
same message as a parent when determining if it is encrypted and when
actually replying to it.
2020-01-12 09:12:24 +01:00
Alexander Krotov
047d09bcb1
Do not pass &Sql to parent_is_encrypted()
2020-01-12 09:12:24 +01:00
Alexander Krotov
e1ca6b5181
Rename last_msg_in_chat_encrypted into parent_is_encrypted
2020-01-12 09:12:24 +01:00
Alexander Krotov
36a2569537
Make last_msg_in_chat_encrypted a member function
2020-01-12 09:12:24 +01:00
Alexander Krotov
10ceddfa67
Set draft in test_reply_encrypted test
...
Adding unencrypted draft to chat makes the job of determining whether
last message is encrypted harder.
2020-01-12 09:12:24 +01:00
holger krekel
929677afe0
fix typo
2020-01-11 21:10:08 +00:00
Alexander Krotov
ee4adc1363
Return &str from extract_grpid
2020-01-11 14:59:53 +01:00
Alexander Krotov
c7b2bdfaac
mimeparser: simplify get_subject() and get_rfc724_mid
2020-01-11 14:59:53 +01:00
Alexander Krotov
fde8fb960b
oauth2: replace unwrap() and is_none() with "if let"
2020-01-11 14:59:53 +01:00
Alexander Krotov
9a43d26c60
dc_receive_imf: do not unwrap() Some(..) immediately after creation
2020-01-11 14:59:53 +01:00
Alexander Krotov
742f603b3b
Use if let to avoid unwrap() of peerstate
2020-01-11 14:59:53 +01:00
Alexander Krotov
a82f2a5df3
Simplify needs_encoding() and add a test
2020-01-11 14:59:53 +01:00
Alexander Krotov
06bc5513ae
Use Vec::first to avoid explicit is_empty() check
2020-01-11 14:59:53 +01:00
Alexander Krotov
47b937f880
Turn some enum Param comments into doc-comments
2020-01-11 15:27:09 +03:00
Alexander Krotov
775d27b6a9
Update group test
2020-01-10 15:20:23 +03:00
Alexander Krotov
6c838ab57c
Never reset gossip timestamp for all chats at the same time
2020-01-10 15:20:23 +03:00
Alexander Krotov
8eebd2aa67
Do not reset gossip timestamp when group members change
2020-01-10 15:20:23 +03:00
Alexander Krotov
fc78a08657
Fix inverted should_do_gossip condition
2020-01-10 15:20:23 +03:00
Alexander Krotov
7b3cc95ab7
Derive Debug for Loaded and MimeFactory
2020-01-10 06:42:36 +00:00
Alexander Krotov
bd70765b7d
Join recipients_names and recipients_addr into one vector
...
This change ensures on the type level that number of names and addresses
is the same.
2020-01-10 06:42:36 +00:00
Alexander Krotov
5b424aec22
Remove temporary variable "row"
2020-01-10 06:42:36 +00:00
Alexander Krotov
d6cc0694f0
Move Chat from MimeFactory to Loaded::Message
2020-01-10 06:42:36 +00:00
Alexander Krotov
9738515129
Construct immutable MimeFactory in from_msg
2020-01-10 06:42:36 +00:00
Alexander Krotov
b05ee10f41
Return Err from MimeFactory::from_msg on database errors
2020-01-10 06:42:36 +00:00
Alexander Krotov
67d85f0f86
Make all MimeFactory fields private
2020-01-10 06:42:36 +00:00
Alexander Krotov
2ddeef761f
Fix gossiped_timestamp documentation
2020-01-09 15:40:58 +03:00
Alexander Krotov
43e0109d44
Update reqwest to 0.10.0
2020-01-09 12:17:17 +03:00
Alexander Krotov
02bb41697d
Add MessengerMessage type for is_dc_message field
2020-01-08 19:00:45 +03:00
Alexander Krotov
12cd56e3e8
Rename type_0 into viewtype
2020-01-08 19:00:45 +03:00
Floris Bruynooghe
72cfb70e35
Refactor create_chat_from_msg_id
...
The goal here is to not have a `mut chat_id` as I want to change chat
id into an opaque newtype and we can't modify it like that anymore.
2020-01-08 14:58:44 +01:00
Alexander Krotov
40dc180b88
Update mailparse to 0.10.2
...
It does not allow parsing emails without @
2020-01-08 16:52:27 +03:00
Alexander Krotov
4529c326c6
Restore newlines and remove semicolon in test_parse_first_addr
2020-01-07 17:23:59 +01:00
Alexander Krotov
f6660af014
Update test_mdn_asymmetric
...
MDNs are processed now even when MDNs are disabled
2020-01-07 17:23:19 +01:00
Alexander Krotov
a52131b574
cargo fmt
2020-01-07 17:23:19 +01:00
Alexander Krotov
a48d0492c8
Create only one MarkseenMdnOnImap job even if message has multiple reports
...
All created jobs have the same parameters and move the same message,
so it does not make sense to create more than one.
2020-01-07 17:23:19 +01:00
Alexander Krotov
2bba1be817
Show received MDNs even if user has disabled them
...
Delta Chat does not request MDNs if they are disabled, so this change
does not make much difference, but simplifies the logic.
2020-01-07 17:23:19 +01:00
bjoern
8a394fb08f
Merge pull request #1141 from deltachat/add-missing-event
...
send DC_EVENT_CHAT_MODIFIED when adding members to a group
2020-01-07 13:46:17 +01:00
Alexander Krotov
693ae9e8f2
Guess mimetype of .webm files as video/webm
2020-01-07 09:19:36 +00:00
B. Petersen
4b7b6d6cb3
send DC_EVENT_CHAT_MODIFIED when adding members to a group (removing is already fine)
2020-01-06 23:35:27 +01:00
Floris Bruynooghe
9a3bdfb14b
Rename MimeParser to MimeMessage in mimeparser.rs
...
The struct really represents a parsed MIME message and is not used as
a parser itself. After the from_bytes() call (which should arguably
use the FromStr trait instead) the struct is fully populated.
2020-01-06 09:46:47 +00:00
Alexander Krotov
7aeddc63ac
Use DC_CHAT_ID_DEADDROP instead of constant "1"
2020-01-06 00:04:03 +00:00
Floris Bruynooghe
2990a1c255
Mark the ChatInfo struct non_exhaustive
...
This is a new feature in Rust 1.40, it means users outside the crate
will not be able to create these structs, allowing us to add fields
without breaking the public API.
2020-01-05 22:53:52 +00:00
B. Petersen
91eea03b18
hide messages with Secure-Join headers if the Secure-Join fails
2020-01-05 22:06:06 +01:00
Alexander Krotov
8702f290af
mimeparser: remove unused parsed_protected_headers field
2020-01-05 22:03:10 +01:00
Alexander Krotov
d0b5b7ba03
Turn handle_reports comment into documentation comment
2020-01-04 22:24:16 +01:00
Alexander Krotov
f3d68c6f25
Add requests dependency to python/README.rst
...
It is used in tests/conftest.py
2020-01-04 20:18:31 +01:00
Alexander Krotov
91100d3fac
Lowercase the addresses before gossip peerstate update
...
Normally it happens in addr_cmp function, but update_gossip_peerstates
forms a HashSet of addresses, so they should be lowercased beforehand.
Also adjust the mail_with_cc.txt to test for non-lowercase addresses.
2020-01-02 18:14:27 +00:00
Alexander Krotov
61833c32e5
Remove trailing space from deltachat.h
2020-01-01 23:05:08 +00:00
Alexander Krotov
1468f67b9b
Warn about multiple From addresses only when necessary
...
The message says "only using first" so it should be printed right before the first address is taken with .get_index(0) operation.
2020-01-01 21:03:28 +00:00
Alexander Krotov
cb6376094c
Get rid of DC_FP_* constants
2020-01-01 20:53:31 +00:00
björn petersen
ff175e661b
Merge pull request #1130 from deltachat/fpr-without-addr
...
handle plain OPENPGP4FRP qr-codes correctly
2020-01-01 21:49:37 +01:00
B. Petersen
fe741f168a
fix early exit on empty addresses in decode_openpgp()
2020-01-01 18:53:35 +01:00
B. Petersen
eaaf500d5e
add failing test for plain OPENPGP4FRP-qr-code
2020-01-01 18:52:00 +01:00
björn petersen
05f85b33c5
Merge pull request #1124 from deltachat/mimeparser_message_kml
...
Location streaming fixes
2019-12-31 16:49:08 +01:00
Alexander Krotov
c4e0647bda
Remove NULs from mimeparser tests
2019-12-30 17:32:39 +01:00
Alexander Krotov
6dcc1e09b9
mimeparser: add message.kml parsing test
2019-12-30 17:29:28 +01:00
Alexander Krotov
ea03e4d34a
Send location.kml instead of message.kml for streaming
...
message.kml is sent when user manually selects a point on the map to
point to a location.
2019-12-30 17:20:46 +01:00
B. Petersen
b7a2d17e93
remove weird comment
2019-12-29 18:58:49 +00:00
B. Petersen
e1bd740249
init authname when received by From: header (it is also updated from there)
2019-12-29 18:58:49 +00:00
B. Petersen
de52c2da80
add failing test for receiving authnames
2019-12-29 18:58:49 +00:00
Alexander Krotov
a31c6d82c9
Remove get_origin_by_id
2019-12-28 22:33:57 +00:00
Alexander Krotov
25842894d2
Rename job::Try into job::Status
2019-12-28 14:35:14 +00:00
Alexander Krotov
83c98c2d55
Replace unstable try_trait with a job_try! macro
2019-12-28 14:35:14 +00:00
Alexander Krotov
fe2011742d
Job error handling refactoring
2019-12-28 14:35:14 +00:00
B. Petersen
d87b676d60
do not abort search completely when updating a special name fails
2019-12-27 22:53:03 +00:00
Alexander Krotov
ffa6378108
Fix clippy warnings in deltachat-ffi
2019-12-27 10:28:50 +00:00
B. Petersen
f73ba895af
remove some meanwhile unneeded allow-statements
2019-12-26 16:26:06 +00:00
B. Petersen
cb2a1147f0
fix searching for localized device chats
2019-12-26 16:23:42 +00:00
B. Petersen
6702ef4a71
add a failing test that does not fine localized device chats
2019-12-26 16:23:42 +00:00
Alexander Krotov
1d46791364
Add more Yandex domains
2019-12-26 01:48:28 +00:00
björn petersen
f61846dec9
Merge pull request #1107 from deltachat/list-language-bindings
...
list language bindings in README
2019-12-26 01:35:31 +01:00
B. Petersen
4776e196da
add frontend projects to README
2019-12-26 00:42:07 +01:00
B. Petersen
839a48b678
list language bindings in README
2019-12-26 00:42:07 +01:00
Alexander Krotov
e203901224
Better logging message for job deletion
...
The logging message printed for successful job completion said that the
job "cannot be retried" even when it does not need to be retried.
2019-12-24 10:47:29 +00:00
Alexander Krotov
76d03f7fd2
Log SMTP connection failure errors
2019-12-23 07:14:11 +01:00
holger krekel
7f5e3aaaf7
add changelog for device-chat fix
2019-12-22 05:45:27 +01:00
B. Petersen
5bfbae4b00
add test for delete_and_reset_all_device_msgs()
2019-12-22 05:44:09 +01:00
B. Petersen
521a854635
delete and reset device-messages on import; this avoids wrong information in the device chat and allows adding correct information again
2019-12-22 05:44:09 +01:00
B. Petersen
ce15ef2db9
prep beta22
2019-12-22 05:42:33 +01:00
holger krekel
6d5cf89d33
enable link-time-optimization
2019-12-21 23:09:15 +00:00
holger krekel
b3b984f351
also "cargo update", pulls in aysnc-std 1.4.0
2019-12-21 23:09:15 +00:00
holger krekel
d5a0f1e711
use latest lettre master that contains the normalization fix
2019-12-21 23:09:15 +00:00
Alexander Krotov
67c36f3d98
Use usize to get pointer size
...
According to Rust documentation, usize is "The pointer-sized unsigned
integer type".
This change removes unnecessary libc dependency and makes top_evil_rs
script happier.
2019-12-21 23:07:35 +00:00
Alexander Krotov
8e0a29e9b5
Stop using Event callback return values
...
Since stock string callback has been deprecated, all event callbacks
return 0.
For compatibility, C declarations are not changed and FFI users are
expected to return 0 from their callbacks.
2019-12-21 22:51:44 +00:00
Alexander Krotov
47be879445
fix(job): log all job events in job_perform()
2019-12-21 15:24:30 +00:00
Alexander Krotov
860f8a7906
refactor(job): refer to std:: only once
...
This change unifies how we refer to std::time::Duration across the module.
2019-12-21 15:24:30 +00:00
Alexander Krotov
5d9baa053a
refactor(job): implement Display for Job
2019-12-21 15:24:30 +00:00
Alexander Krotov
da174eae71
refactor(job): use Display to print Thread in job_perform()
2019-12-21 15:24:30 +00:00
björn petersen
7fac71aa81
Merge pull request #1094 from deltachat/tweak-repl
...
use println!() for all repl outputs
2019-12-21 16:00:27 +01:00
B. Petersen
7d51c1140d
use println!() for all repl outputs
...
in the very beginning, we allowed using the cmdline partly from the ui
via a special function; this made info!() handy.
however, this is long gone and no longer needed.
2019-12-21 13:09:38 +01:00
Alexander Krotov
cd198223ea
Remove unwrap() from time() function
...
This change is a part of the effort to enable clippy::option_unwrap_used and clippy::result_unwrap_used
2019-12-21 08:58:41 +01:00
Alexander Krotov
300fff40e3
refactor(smtp): remove unused SendTimeout Error variant
...
It was used when timeout was set on the whole smtp.send() operation.
Now only the operations inside smtp.send() can timeout, and such timeout
errors result in SendError, so SendTimeout is unused.
2019-12-21 08:57:29 +01:00
Floris Bruynooghe
08abac350d
Tweak the python readme a bit more.
2019-12-21 00:10:45 +00:00
shubhank008
a57decf8be
Up to date Readme.rst
...
-Moved wheels installation below source installation and added comment that they are outdated and not working atm
-Updated source compilation/installation to a more step by step process as current one was outdated and not working due to Rust now needing nightly build else failing to compile (subtle v2.2.2 do not work without nightly)
2019-12-20 21:14:16 +01:00
holger krekel
ee95e59243
"cargo update"
2019-12-20 18:11:29 +01:00
holger krekel
b0694bcf2c
prep beta21
2019-12-20 15:17:59 +01:00
Alexander Krotov
c9f6e31ca9
Move dc_simplify.rs to simplify.rs
2019-12-20 12:55:57 +01:00
Alexander Krotov
fe4080d59f
refactor(simplify): move dehtml dependency to mimeparser
...
This change also removes unnecessary String clone for HTML messages.
2019-12-20 12:55:57 +01:00
B. Petersen
7f6a1ad1a7
add some empty lines to enums & co to make things more readable and to avoid errors this way :)
2019-12-20 12:55:42 +01:00
Alexander Krotov
980bb35441
refactor(mimefactory): use iter::repeat_with instead of (0..)
2019-12-20 12:55:25 +01:00
holger krekel
01df2e2dc7
fix #1077 for unknown senders in a group chat (such as mailer daemons): don't recreate member list and show a special stockstring-ed message advising to hit "more info".
2019-12-20 11:59:10 +01:00
Floris Bruynooghe
ec40dd1b6f
Change the JSON API function to be from a serialised struct
...
This is the first experiment towards using structs to define the API.
It adds it as a new method on the existing Chat struct.
The types in this struct could improve as well as many other things.
But this is a straight forward translation of the existing json! macro
into a struct.
2019-12-20 10:39:39 +01:00
Alexander Krotov
f2f8898004
fix(mimefactory): wrap base64-encoded attachments to 78 columns
...
RFC5322 requires emails to be wrapped to 78 columns excluding CRLF.
2019-12-20 09:11:35 +01:00
björn petersen
3afa37c6ea
Merge pull request #1075 from deltachat/prepare_beta20
...
prep 1.0.0-beta.20
2019-12-19 17:17:26 +01:00
holger krekel
8c0ce38301
prep 1.0.0-beta.20
2019-12-19 16:55:24 +01:00
holger krekel
cc6aa3209c
fix the fix
2019-12-19 16:53:55 +01:00
holger krekel
76a86763dd
address @r10s comment
2019-12-19 16:53:55 +01:00
holger krekel
09fb039528
another reverse mut bites the dust
2019-12-19 16:53:55 +01:00
holger krekel
174d3300c4
not sure it's much better but using a static-sized array is probably better than a dynamically sized vec, thanks @dignifiedquire
2019-12-19 16:53:55 +01:00
holger krekel
8b57ce1792
remove unused include_in_contactlist
2019-12-19 16:53:55 +01:00
holger krekel
6c14e429eb
Origin::is_verified() -> Origin::is_known() because this has nothing to do with verified groups or contacts
2019-12-19 16:53:55 +01:00
holger krekel
5f200c6bc3
don't pass incoming_origin as &mut as the caller doesn't need it
2019-12-19 16:53:55 +01:00
holger krekel
d52347ee1d
also don't pass "to_id" and don't make it mut inside add_parts
2019-12-19 16:53:55 +01:00
holger krekel
d0d9aa4400
- move CC-parsing next to To-parsing where it blongs
...
- pass to_ids and from_id as immutable to add_parts
2019-12-19 16:53:55 +01:00
holger krekel
c3d909c818
add a test that contacts are properly created and fix ordering in dc_receive_imf to pass the test
2019-12-19 16:53:55 +01:00
dignifiedquire
d9e718b0e0
feat(imap): update async-imap for oauth2 fix
2019-12-19 13:51:59 +01:00
holger krekel
a7b55edb9b
more call sites
2019-12-19 12:06:01 +01:00
holger krekel
000479d55e
never block on interrupt_inbox_idle
2019-12-19 12:06:01 +01:00
Alexander Krotov
7ef22f2940
fix(smtp): reduce SMTP I/O timeout to 30 seconds
...
15 minute timeout was used because it applied to the whole send()
operation. Now timeout applies to each I/O operation, such as read()
or write(), so it can be made much shorter. In particular, this timeout
applies to read() call right after connection to plain or STARTTLS server,
in which case it is not reasonable to wait 15 minutes to receive one
line of data.
The timeout is triggered only if no progress is made within 30 seconds. It
likely indicates a network failure anyway.
2019-12-19 06:55:19 +01:00
Alexander Krotov
a242fcfd2c
refactor(dehtml): remove Result unwrap in dehtml_starttag_cb()
2019-12-18 23:24:43 +03:00
Alexander Krotov
73c21ae0a9
refactor: enable clippy::unreadable_literal
2019-12-18 23:23:38 +03:00
dignifiedquire
2398454838
feat(smtp): update to use async-smtp based timeouts
2019-12-18 03:08:59 +03:00
holger krekel
c1ba5a30c5
prepare beta.19
2019-12-16 23:46:28 +01:00
holger krekel
2c0f847d3e
remove too verbose logging for received messages
2019-12-16 23:12:17 +01:00
holger krekel
7d5e95f013
thread-name seems to be unnamed all the time so it's use is currently theoretic
2019-12-16 23:12:17 +01:00
Alexander Krotov
9000342de8
Get rid of unnecessary "async move" and ".await"
2019-12-16 18:02:50 +01:00
holger krekel
61b47aa0de
try doing an smtp-send timeout
2019-12-16 18:02:50 +01:00
björn petersen
22f5c5fb74
Merge pull request #1057 from deltachat/beta18
...
prepare to tag 1.0.0-beta.18
2019-12-16 15:00:48 +01:00
holger krekel
801162d7be
prepare to tag 1.0.0-beta.18
2019-12-16 13:20:14 +01:00
Alexander Krotov
f81f3fb060
Do not panic on failure to read IMAP server greeting
2019-12-16 13:19:34 +01:00
holger krekel
15792d8426
use dcc-stable branch that returns an error on missing greetings() "* OK Dovecot ready" (currently it panics)
2019-12-16 13:19:34 +01:00
Floris Bruynooghe
d7f345eef8
Add the thread id and name to info and warn log output
2019-12-16 13:11:44 +01:00
Alexander Krotov
e3031462c1
Replace expect() in select_with_uidvalidity with an Error
2019-12-16 14:44:52 +03:00
holger krekel
47d14271ab
fix #1020 -- allow to set os_name in python bindings
2019-12-16 11:51:04 +01:00
holger krekel
2bf9fd6cbc
revert printing file/lineno in Error-messages as these are typically user-visible
...
For info and warn it's fine
2019-12-16 03:17:08 +03:00
Floris Bruynooghe
19e716b522
Add filename and line no to log entries
...
This is done for all logging calls, also those which call error! which
is normally directly shown to the user.
2019-12-16 00:33:57 +01:00
Alexander Krotov
1ee15942cc
Simplify simplify.rs
...
* Remove Simplify structure.
* Match for lines starting with 5 markers, not consisting of exactly 5 markers.
This is a regression from C to Rust conversion, see
2bb1c280d5/src/dc_simplify.c (L154)
* Add tests.
2019-12-16 02:31:38 +03:00
björn petersen
898e641256
Merge pull request #1048 from deltachat/beta17
...
add changelog for beta17 and bump versions
2019-12-15 23:32:11 +01:00
holger krekel
cda4ccff2a
add changelog for beta17 and bump versions
2019-12-15 23:26:05 +01:00
B. Petersen
ba274482f7
make d.png much smaller in size to avoid avatar-recoding and to allow checking file contents
2019-12-15 23:12:37 +01:00
B. Petersen
435f734d60
adapt tests for new avatar recoding
2019-12-15 23:12:37 +01:00
B. Petersen
a5f949c4e2
recode group- and user-avatar to 192x192 pixel
2019-12-15 23:12:37 +01:00
B. Petersen
9fc556864e
add image crate
2019-12-15 23:12:37 +01:00
Alexander Krotov
a0645dc713
Resultify dc_create_folder and don't ignore its errors
2019-12-16 00:49:51 +03:00
holger krekel
5893cd309d
fixate async-imap to the working commit so that no one accidentally does "cargo update" and breaks things.
2019-12-16 00:49:37 +03:00
holger krekel
09c7ab1ee6
avoid addrparse to panic() and refactor according code a little with test.
2019-12-15 21:54:20 +01:00
holger krekel
4bacae3711
fix #1037 and simplify mdn-report related code and state
2019-12-15 22:18:34 +03:00
Alexander Krotov
8d3e536582
Do not panic on SystemTimeDifference
2019-12-15 19:56:13 +01:00
Alexander Krotov
697cc0a79b
Make needs_encryption a bool
2019-12-15 19:55:49 +01:00
Alexander Krotov
a34ed5c02a
Make recalc_fingerprints a bool
2019-12-15 19:55:49 +01:00
Alexander Krotov
256bb01606
Make prepend_subject a bool
2019-12-15 19:55:49 +01:00
Alexander Krotov
1de535363d
Move parse_message_id from wrapmime.rs to imap/mod.rs
2019-12-15 19:13:49 +03:00
Alexander Krotov
24d9011939
Move get_autocrypt_mime from wrapmime.rs to e2ee.rs
2019-12-15 19:13:49 +03:00
holger krekel
6284bdc98f
pull in latest async-smtp master to fix #1030
2019-12-15 15:27:25 +01:00
Alexander Krotov
e7351b1bb8
Restore constant and remove parenthesis
2019-12-15 16:43:12 +03:00
Alexander Krotov
b3ee89c6e5
Documentation improvements
2019-12-15 16:15:09 +03:00
Alexander Krotov
3f49492ccf
cargo fmt
2019-12-14 22:28:15 +01:00
Alexander Krotov
ad700b45d0
Make Imap.connect() async
2019-12-14 22:25:33 +01:00
Alexander Krotov
74923b4575
Enable clippy::type_complexity error
2019-12-14 22:00:38 +01:00
Alexander Krotov
81199e7ee0
Update Cargo.lock
2019-12-14 18:16:54 +00:00
Alexander Krotov
ccca1b0bea
Do not format! SQL queries
2019-12-14 18:16:54 +00:00
Alexander Krotov
ba1ced5e08
Switch to master branch of async-imap
2019-12-14 17:51:36 +01:00
Alexander Krotov
558466d506
Revert "Enable clippy::unreadable_literal error"
...
This reverts commit b424ef9ebb .
2019-12-14 15:55:33 +00:00
Alexander Krotov
b424ef9ebb
Enable clippy::unreadable_literal error
2019-12-14 15:20:58 +00:00
Alexander Krotov
69f5fd86a4
Allow clippy::needless_range_loop only in simplify_plain_text
2019-12-14 15:20:58 +00:00
Alexander Krotov
f9ba9ae912
Enable clippy::large_enum_variant error
2019-12-14 15:20:58 +00:00
Alexander Krotov
b33fec6236
Enable clippy::block_in_if_condition_stmt error
2019-12-14 15:20:58 +00:00
Alexander Krotov
70e12485aa
Switch to native_tls version of deltachat/lettre fork
...
This commit completely removes rusttls dependency
2019-12-14 16:12:13 +01:00
Alexander Krotov
b2b7674b59
Update Cargo.lock
2019-12-14 16:12:13 +01:00
holger krekel
8fa175f36d
changelog and version up to 1.0.0-beta.16
2019-12-14 00:22:09 +01:00
B. Petersen
95fbc904d1
go to correct step so that param_autoconfig is actually used
2019-12-14 00:12:14 +01:00
B. Petersen
ce37a8dda2
use provider-database only if the user did not enter a server/port/whatever manually; this allows the user to override erroneous choices
2019-12-14 00:12:14 +01:00
holger krekel
e0499c9552
add preliminary support for offline-autoconfigure for nauta
2019-12-14 00:12:14 +01:00
Simon Laux
4825f2510f
Merge pull request #1016 from deltachat/fix_displayname
...
fix displayname to use authname when availible
2019-12-13 13:21:03 +01:00
Alexander Krotov
7a12134795
Test that no gossip is sent in 1-to-1 chat
2019-12-13 12:51:44 +01:00
Alexander Krotov
66adfa074b
Do not cache gossiped_timestamp
2019-12-13 12:51:44 +01:00
Alexander Krotov
9d201eb9c6
Add get_gossiped_timestamp
2019-12-13 12:51:44 +01:00
Alexander Krotov
789fc0a7e0
Resultify set_gossiped_timestamp
2019-12-13 12:51:44 +01:00
Alexander Krotov
9e309132f8
Only add gossip headers if chat has more than one peer
2019-12-13 12:51:44 +01:00
Alexander Krotov
88923173c2
Set is_gossiped to true when Autocrypt-Gossip header is added
2019-12-13 12:51:44 +01:00
Simon Laux
7b55863418
switch priority order
2019-12-13 11:58:21 +01:00
Simon Laux
38d5fad4e5
fix displayname to use authname when availible
2019-12-13 11:58:08 +01:00
holger krekel
4d1357568b
use async-smtp master where @link2xt's branch has been merged
2019-12-13 11:03:46 +01:00
Alexander Krotov
ccc190f991
Switch to native_tls
2019-12-13 11:03:46 +01:00
B. Petersen
0a9f880fb4
remove another superfluous return value
2019-12-13 01:17:48 +01:00
holger krekel
b8faf54f0b
remove superflous expression values
2019-12-13 01:17:48 +01:00
B. Petersen
888507f7ba
test group- and user-avatars in the same mail
2019-12-13 01:17:48 +01:00
B. Petersen
29866092de
adapt the protected-header test; protected-headers really require encryption now and parts of the tests are know to fail now. however, protected-headers are also tested in python implicitly in several places
2019-12-13 01:17:48 +01:00
B. Petersen
36fc2c83f2
return selfavatar from dc_get_info()
2019-12-13 01:17:48 +01:00
holger krekel
5e777b3c51
fix test also for avatar deletion, use that drain filter while we in this code area :)
2019-12-13 01:17:48 +01:00
holger krekel
5690c48863
fix merging of protected headers
2019-12-13 01:17:48 +01:00
holger krekel
8ab3363097
add a test that runs until an avatar is send encrypted
2019-12-13 01:17:48 +01:00
B. Petersen
f6861ca5f5
target comments from @flub and @dignifiedquire
2019-12-13 01:17:48 +01:00
B. Petersen
3bb58be2b5
add missing delete header
2019-12-13 01:17:48 +01:00
B. Petersen
409c96e571
add compatiblity headers
2019-12-13 01:17:48 +01:00
B. Petersen
d681fa6cba
use Chat-User-Avatar and Chat-Group-Avatar
...
we change the name on the wire as the old Chat-Group-Image header
could not be used on random mails, it was the marker for a "Changed" message,
if we would keep this names, things will fail for exising installations
as messages are dropped and a "Group image changed" message is shown instead.
2019-12-13 01:17:48 +01:00
B. Petersen
7c3d8356c4
always handle incoming group-avatars
2019-12-13 01:17:48 +01:00
B. Petersen
a8842da50a
&& has a higher precedence than || - fix a logical error when resetting Unpromoted
2019-12-13 01:17:48 +01:00
B. Petersen
ff29b84146
share group image on group creation, fixes #602
2019-12-13 01:17:48 +01:00
B. Petersen
ab12a4eb39
move ImageAction parsing to a reusable function
2019-12-13 01:17:48 +01:00
B. Petersen
c3fd0889e2
use tri-state ImageAction instead of Option<Option>
2019-12-13 01:17:48 +01:00
B. Petersen
c62532a665
adapt to new HeaderDef api
2019-12-13 01:17:48 +01:00
B. Petersen
ca63d6ba1c
handle incoming profile-images
2019-12-13 01:17:48 +01:00
B. Petersen
a1f496b019
let mimeparser handle profile-images
2019-12-13 01:17:48 +01:00
B. Petersen
da421438cd
do not send selfavatar on existing installation without resetting
2019-12-13 01:17:48 +01:00
B. Petersen
7f723ef2bf
attach selfavatar
2019-12-13 01:17:48 +01:00
B. Petersen
3cf39dace0
print profile-image in repl tool
2019-12-13 01:17:48 +01:00
B. Petersen
021ad4f12c
set correct icon for DC_CONTACT_ID_DEVICE
2019-12-13 01:17:48 +01:00
B. Petersen
36edf447e7
load param incl. user-profile-image from db
2019-12-13 01:17:48 +01:00
B. Petersen
ea2273aef4
reset selfavatar_sent column when the selfavatar is updated
2019-12-13 01:17:48 +01:00
B. Petersen
251aa22c4c
add column for selfavatar_sent timestamp
2019-12-13 01:17:48 +01:00
Alexander Krotov
541710147a
Copy correct dc_contact_is_verified documentation from C core
...
instead of dc_contact_is_verified_ex documentation.
2019-12-11 17:54:28 +01:00
dignifiedquire
a197ca4cf7
feat: update dependencies, including rand@0.7 and rpgp@0.4
2019-12-11 15:33:17 +01:00
Simon Laux
775c36bb65
wip move some ci tasks to gh-actions ( #998 )
...
* add-action-rs-clippy-action
just to try this action out
* add --all argument
* rm --all argument again
* add cargo check and fmt
* disable circle ci counterparts(fetch, clippy, fmt)
2019-12-10 23:26:42 +01:00
holger krekel
1953b95c57
commit missing Cargo.lock
2019-12-10 21:42:52 +01:00
holger krekel
542a33952f
prepare 1.0.0-beta.15
2019-12-10 21:35:20 +01:00
holger krekel
1819712667
make sure we send out <> around message-id's in references and in-reply-to
2019-12-10 21:25:36 +01:00
holger krekel
69a596fdff
fix #994 -- avoid double-attachment messages in local chats
2019-12-10 21:25:36 +01:00
björn petersen
4f88b93495
Merge pull request #1003 from deltachat/flub-spec-their
...
Use 3rd person singular
2019-12-10 19:10:59 +01:00
Floris Bruynooghe
a388052e2a
Use 3rd person singular
2019-12-10 19:07:22 +01:00
holger krekel
8b81ea3b6f
actually update to 1.0.0-beta.14
2019-12-10 15:39:09 +01:00
holger krekel
b913de5928
prepare a 1.0.0-beta.14 with fixed deps
2019-12-10 14:42:55 +01:00
holger krekel
4e551cde66
update tags and rust-email dep
2019-12-10 14:17:16 +01:00
holger krekel
b681cbd47f
prepare 1.0.0-beta.13
2019-12-10 14:02:21 +01:00
holger krekel
551253b4e0
use async-smtp with hostname fixed to version 0.1.5
2019-12-10 14:00:43 +01:00
Alexander Krotov
4ad9166b5a
Move one chat test from stress.rs to chat module
2019-12-10 13:54:05 +01:00
holger krekel
8487255c33
prepare changelog for 1.0.0-beta.13
2019-12-10 13:52:57 +01:00
Alexander Krotov
2792d4ea1e
Stop using create::error in login_param.rs
2019-12-10 12:39:58 +01:00
björn petersen
95180a850f
Merge pull request #993 from deltachat/group_add_remove
...
Fix various issues around group add/remove
2019-12-10 12:14:52 +01:00
holger krekel
56ee7a0abd
try to remove updates to lock file
2019-12-10 02:33:13 +01:00
holger krekel
d0a04be825
remove hack for decoding, and add a test that encoding/decoding works now
2019-12-10 01:35:09 +01:00
holger krekel
2cbf287998
don't cargo-update on CI jobs but use the Cargo.lock file we manually maintain/update
2019-12-10 00:40:18 +01:00
holger krekel
054cf98754
try to work around mailparser not decoding rfc2047 displaynames
...
this pulls in changes in our fork of rust-email to also correctly
generate rfc2047 encoding
2019-12-10 00:26:46 +01:00
holger krekel
a95fbfe271
add a test
2019-12-09 22:28:29 +01:00
holger krekel
17ce02a87c
add some comment and remove some code after quick a/v with @r10s
2019-12-09 21:45:01 +01:00
holger krekel
4dc5e0378f
fix final problem, tests pass now
2019-12-09 20:25:46 +01:00
holger krekel
c33797ff84
remove reverse "check_self" return
2019-12-09 19:41:58 +01:00
holger krekel
f242b40d0a
nicer print of imap capabilities
2019-12-09 18:36:26 +01:00
holger krekel
5f916f5a9c
- create and use a ContactIds type as an ordered set instead of "Vec<u32>".
...
- recreate the group list more carefully, fixes #985
- resultify a few functions in the dc_receive pipeline
- don't quote displaynames in email-addresses, use utf8, preliminrarily addresses #976
2019-12-09 16:29:24 +01:00
holger krekel
6edb525540
snap
2019-12-09 14:16:46 +01:00
holger krekel
0c04d5b2ab
add a failing test that creates 4 accounts and a group chat with remove/add
...
see also #985
2019-12-09 14:16:46 +01:00
Alexander Krotov
301852fd87
Add test for kebab_case serialization of From header
2019-12-09 15:43:06 +03:00
holger krekel
0e8df7d633
use automatic serialization, thanks @link2xt for the tip
2019-12-09 15:43:06 +03:00
holger krekel
e4155e0e16
remove lookup_field in favor of get(HeaderDef::...) with all headers defined in headerdef.rs
2019-12-09 15:43:06 +03:00
Floris Bruynooghe
2c4dbe6e68
Re-work some in-creation file handling
...
This effectively reverts
https://github.com/deltachat/deltachat-core-rust/pull/964 for chat.rs,
which in that PR was thought to fix something. So maybe something is
still broken? But after improving tests the previous code seems to be
correct.
- Update Python bindings to not always use dc_prepare_msg path when
sending messages with attachements. When using dc_prepare_msg the
blobs need to be created in the blobdir since they will not get
copied and many tests where not doing this.
- Add a test that ensures that calling dc_prepare_msg with a
file **not** in the blobdir fails.
- Add a test that ensures that calling dc_send_msg directly with a
file **not** in the blobdir copies the file to the blobdir. This
test cheats a little by knowing what the filename in the blobdir
will be which is implementation-dependent and thus a bit brittle.
But for now it proves correct behaviour so let's go with this.
- Improve the test_forward_increation test to ensure that the
in-creation file only has it's final state before calling
dc_send_msg. This checks the correct file data is sent out and not
the preparing data, this fails with the chat.rs changes in
#964 (reverted here to make this work again). Also fix the test to
actually create the in-creation file in the blobdir.
- Fix test_send_file_twice_unicode_filename_mangling to not use
in-creation. It was not creating it's files in the blobdir and that
is an error when using in-creation and it didn't seem it was trying
to test something about the in-creation logic (which is tested in
test_increation.py already).
- Fix Message._msgtate code which presumably was not used before?
- Rename `BlobObject::create_from_path` to
`BlobObject::new_from_path`. All the `BlobObject::create*` calls
now always create new files which is much more consistent. APIs
should do what is obious.
2019-12-09 10:30:57 +01:00
Alexander Krotov
a99b96e36e
Use bool for from_id_blocked flag
2019-12-09 09:54:46 +01:00
Alexander Krotov
0889467c7b
Use bool for hidden flag
2019-12-09 09:54:46 +01:00
Alexander Krotov
d141e228de
Use bool for incoming flag
2019-12-09 09:54:46 +01:00
Alexander Krotov
9b15c42801
Use bool for allow_creation flag
2019-12-09 09:54:46 +01:00
Alexander Krotov
a781b631e1
Return bool from is_reply_to_{known_message,messenger_message}
2019-12-09 09:54:46 +01:00
Alexander Krotov
08af5c8e09
Replace some integers with bools in dc_receive_imf.rs
2019-12-09 09:54:46 +01:00
holger krekel
93e8cca02f
remove redundant state from smtp
2019-12-08 23:04:08 +01:00
Alexander Krotov
a8e9a1fbe5
Make Smtp.send async
2019-12-08 21:00:03 +01:00
Alexander Krotov
54eb30f3db
Switch from lettre to async-smtp
2019-12-08 21:00:03 +01:00
Alexander Krotov
c08a1adc9b
Deprecate AcceptInvalidHostnames option
...
Rustls does not offer a documented way to accept valid certificates with
invalid hostnames. Implementation of certificate verification in Rustls
does not have a public API and reimplementing it is error-prone.
2019-12-08 20:54:04 +01:00
Alexander Krotov
cd951ad396
Improve IMAP idle timeout error handling
...
Return proper cause and avoid matching on nested Result
2019-12-08 20:50:27 +01:00
holger krekel
33793d878b
address @link2xt comment on done/async
2019-12-08 01:13:00 +01:00
holger krekel
357955015d
[wip] initial detection of idle done() not working
2019-12-08 01:13:00 +01:00
holger krekel
d6d94adab0
remove encrypted attr from mimeparser.
2019-12-08 00:47:46 +01:00
holger krekel
099cc9f727
remove subject attribute
2019-12-08 00:47:46 +01:00
holger krekel
61f8d6f171
remove is_send_by_messenger attr from mimeparser
2019-12-08 00:47:46 +01:00
Alexander Krotov
a7af4685f1
Log IMAP certificate checks configuration
2019-12-08 00:31:22 +01:00
Alexander Krotov
2cebed4f77
Move dc_array.rs to deltachat-ffi package
2019-12-08 00:30:43 +01:00
holger krekel
3f2a371599
run lint without installing the package
2019-12-07 22:56:54 +01:00
holger krekel
a3ca3d9179
allow to use a different buildhost :)
2019-12-07 22:56:54 +01:00
holger krekel
86ace1a4af
- test and fix receiving text/html attachment in multipart/mixed situations
...
They are now preserved as attachment, instead of diving into parsing-html
and simplifying.
- adapt mime-debugging
2019-12-07 22:56:54 +01:00
holger krekel
1abdf62045
passes test but needs cleanup
2019-12-07 22:56:54 +01:00
holger krekel
9e2a96675d
try fix incoming text/html in multipart/mixed
2019-12-07 22:56:54 +01:00
Alexander Krotov
f32876708a
Update outdated comment
...
MIME wrapping is now done by the email crate, which implements RFC5322
2019-12-07 21:35:42 +01:00
Alexander Krotov
84e0e7e020
aheader.rs: do not generate lines longer than 78 characters
2019-12-07 21:35:42 +01:00
Alexander Krotov
38cddff6e9
Move keydata= wrapping from key.rs to aheader.rs
2019-12-07 21:35:42 +01:00
Alexander Krotov
f1aba8115b
Use Option<EncryptPreference>.unwrap_or_default in aheader.rs
2019-12-07 07:58:53 +01:00
B. Petersen
0db5ff55fd
unshape icons, used indexed colors
2019-12-06 20:10:19 +01:00
B. Petersen
7421b0de6c
adapt the ffi-examples to reality, free stuff
2019-12-06 20:08:57 +01:00
Alexander Krotov
6c275c30a7
Do not include "prefer-encrypt=nopreference;" in Autocrypt header
...
Specification
https://autocrypt.org/level1.html#the-autocrypt-header
says that prefer-encrypt attribute can only occur with the value `mutual`.
2019-12-06 20:01:34 +03:00
Alexander Krotov
91f1d793e9
Test that internal "prefer-encrypt=reset" value is not parsed from header
...
This is a test for bugfix e8f2f7b24e
2019-12-06 14:23:45 +01:00
Alexander Krotov
cddfd04a7f
Turn rawkey from function into a constant
2019-12-06 14:23:45 +01:00
Alexander Krotov
7fa94c33bf
cargo fmt
2019-12-06 10:35:02 +01:00
Alexander Krotov
30dd20dc7b
Make Imap.fetch() async
2019-12-06 10:35:02 +01:00
Alexander Krotov
339c0d3dc7
Remove unnecessary use of failure::Fail
2019-12-06 10:34:34 +01:00
Alexander Krotov
2304d63bb3
Simplify dc_get_filesuffix_lc
2019-12-06 09:45:24 +01:00
holger krekel
36014f9fe5
add next changelog entry
2019-12-06 09:00:23 +01:00
Alexander Krotov
351383dfa4
Split IMAP idle functions into imap::idle submodule
...
Also introduce Imap.can_idle() to avoid having to match on IdleAbilityMissing error
2019-12-06 08:59:22 +01:00
holger krekel
defad94f5a
bump to beta12
2019-12-06 00:55:24 +01:00
holger krekel
a0517478e3
adding auto-copy-blob logic when preparing a message
2019-12-06 00:27:22 +01:00
holger krekel
7f4e68f21c
failing test for sending out a file twice
2019-12-06 00:27:22 +01:00
holger krekel
c0a425c26d
bump to beta11
2019-12-05 21:53:03 +01:00
holger krekel
e756859b16
don't split qr tests out anymore now
2019-12-05 21:50:17 +01:00
holger krekel
174bc017ad
make setup_handle_if_needed async, call it ahead of select_folder and fetch_new_messages (renamed from fetch_from_single_folder), and be more eager triggering reconnect on error conditions
2019-12-05 21:47:32 +01:00
holger krekel
4a9fb0212f
complete changelog and bump version
2019-12-05 19:32:16 +01:00
holger krekel
212848409f
use encoded-words crate, which friedel ported from python
2019-12-05 19:29:12 +01:00
holger krekel
e45ee0eb81
try fix filename encoding bug -- fails in one test
2019-12-05 19:29:12 +01:00
dignifiedquire
3b8e37de58
switch to quoted-printable, which is already used by mailparse
2019-12-05 19:29:12 +01:00
holger krekel
c2e8cc9bd6
use rfc2047 crate from @valodim and remove dc_strencode.rs completely
2019-12-05 19:29:12 +01:00
holger krekel
ec81d29580
fix multi-line subject encoding and introduce MIME debugging env var
2019-12-05 19:29:12 +01:00
jikstra
c4de0f3b17
Apply remaining requested changes
2019-12-05 18:57:19 +01:00
jikstra
965d41990e
change return to "" for errors
2019-12-05 18:57:19 +01:00
holger krekel
d96dba336b
Update deltachat-ffi/deltachat.h
...
fix doc
2019-12-05 18:57:19 +01:00
jikstra
a7e1b4653e
Apply requested changes
2019-12-05 18:57:19 +01:00
jikstra
e38b42bc21
Add api docu
2019-12-05 18:57:19 +01:00
jikstra
36bd502292
cargo fmt
2019-12-05 18:57:19 +01:00
jikstra
594bf3dfc8
fixup! Move to json_serde, add tests and implement missing python api
2019-12-05 18:57:19 +01:00
jikstra
6d30ccfc63
Move to json_serde, add tests and implement missing python api
2019-12-05 18:57:19 +01:00
jikstra
1b79f513a3
Implement more json key/value pairs
2019-12-05 18:57:19 +01:00
holger krekel
74825a0f57
working example
2019-12-05 18:57:19 +01:00
holger krekel
4a23d12df2
add a ffi-definiton for a new get-chat summary function that returns json
2019-12-05 18:57:19 +01:00
holger krekel
7f117574ab
test and fix #956
2019-12-05 02:15:54 +01:00
holger krekel
f91474c2f8
add preliminary changelog for beta10
2019-12-05 01:22:50 +01:00
holger krekel
2a081aac2b
fix grpid extraction from In-Reply-To and References headers
2019-12-05 01:18:53 +01:00
holger krekel
9b10f31fb3
more cleanups
2019-12-05 00:56:09 +01:00
holger krekel
63ad7b8d34
make to_ids const in some places, and simplify returns from create_or_lookup_adhoc_group
2019-12-05 00:56:09 +01:00
holger krekel
86baaab2e9
get rid of unsafe and indirect return values for create_or_lookup.*group
2019-12-05 00:56:09 +01:00
holger krekel
3e66d23367
make set_core_version return the versions if no args are specified
2019-12-04 22:32:56 +01:00
dignifiedquire
609b5588fa
fix(mimefactory): only send Autocrypt-Gossip headers on encrypted messages
2019-12-04 13:58:33 +01:00
pabzm
798072b8ba
Fix new event name in Changelog.
2019-12-04 13:52:02 +01:00
Alexander Krotov
d950a58613
Improve documentation
2019-12-04 10:15:40 +01:00
holger krekel
4c68e6fe41
update deps
2019-12-04 09:11:21 +01:00
holger krekel
914ce77b50
adapt changelog
2019-12-04 08:58:48 +01:00
holger krekel
d09989a4ed
fix implementation of Autocrypt to encrypt if answering to an encrypted message.
...
Previously, if any of a chat's peers set prefer_encrypt to false
(i.e. "e2ee_enabled=0" in the config, a misnomer btw) then a
previously encrypted chat would drop to cleartext easily.
2019-12-04 08:57:42 +01:00
holger krekel
6999a4e3a9
streamline decrypt/encrypt logging
2019-12-04 08:57:42 +01:00
Alexander Krotov
069541f374
Create select_folder::Error
2019-12-04 06:13:24 +01:00
Alexander Krotov
49b9b28c99
Move select_folder to a separate submodule
2019-12-04 06:13:24 +01:00
B. Petersen
b274482125
add welcome-image created by @Simon-Laux
2019-12-04 06:11:42 +01:00
B. Petersen
b766a55b0a
in set_chat_name(), bind value to sql using ?-operator, add a test to check the name is really changed
2019-12-04 06:11:01 +01:00
B. Petersen
b8057b7ddb
remove >1y old file path migration which is now uneeded and has potential issues
2019-12-04 06:11:01 +01:00
B. Petersen
98266f47d6
bind value to sql using ?-operator
2019-12-04 06:11:01 +01:00
B. Petersen
7b83979e10
test that the device-chat is a one-to-one-chat
2019-12-04 06:01:37 +01:00
B. Petersen
79cdcca2d2
check that sending/preparing/forwarding on a chat that cannot send really fails
2019-12-04 06:01:37 +01:00
B. Petersen
4c0d00640b
fix repl forward command
2019-12-04 06:01:37 +01:00
Alexander Krotov
ad87b7c4a5
Fix clippy warnings
2019-12-03 20:20:52 +03:00
holger krekel
74f36b264b
fix get_recipients with test
2019-12-03 17:51:44 +01:00
holger krekel
2df43b6c5d
avoids double-semicolon problem leading to empty messages in pre-master releases
2019-12-03 16:55:53 +01:00
holger krekel
73f80624b2
adding a draft changelog entry for beta.9
2019-12-03 14:48:57 +01:00
björn petersen
fe2a4b7a4a
Merge pull request #904 from deltachat/mailparse
...
Switch mailparsing to mailparse
2019-12-03 14:16:07 +01:00
dignifiedquire
affdf7241f
fixup: remove double mimefactory
2019-12-03 12:26:27 +01:00
holger krekel
1c5a3e6698
remove debug logging and fix update_gossip_headers location
2019-12-03 12:25:22 +01:00
dignifiedquire
db88212a64
refactor: unsafe, CStr and libc moved out
2019-12-03 12:25:22 +01:00
dignifiedquire
43074464ac
cleanup mimeparser and use mime
2019-12-03 12:25:22 +01:00
dignifiedquire
1e7afa9da0
fix chat-verified
2019-12-03 12:25:22 +01:00
dignifiedquire
e985887739
fix content-type setting and some encryption
2019-12-03 12:25:22 +01:00
dignifiedquire
d5287256e0
fix various parsing and sending issues
2019-12-03 12:25:22 +01:00
dignifiedquire
6bb2adaf45
some fixes for mdn handling
2019-12-03 12:25:22 +01:00
dignifiedquire
64fcd56998
fix mailparsing test
2019-12-03 12:25:22 +01:00
dignifiedquire
7d3a56a870
switch to forked rust-email
2019-12-03 12:25:22 +01:00
dignifiedquire
48dd3b8506
less dead code, and update test
2019-12-03 12:25:22 +01:00
dignifiedquire
734bbff04d
cleanup and finish missing parts
2019-12-03 12:25:22 +01:00
dignifiedquire
5adde12dff
implement mdn rendering
2019-12-03 12:25:22 +01:00
dignifiedquire
5079e15401
restructure mimefactory
2019-12-03 12:25:22 +01:00
dignifiedquire
9196ed1e9f
remove dead code
2019-12-03 12:22:55 +01:00
dignifiedquire
c69a2406ad
integrate encryption when sending
2019-12-03 12:22:55 +01:00
dignifiedquire
47197aa495
Implement message generation using lettre_email
2019-12-03 12:22:55 +01:00
dignifiedquire
dbd6303829
remove mmime
2019-12-03 12:22:55 +01:00
dignifiedquire
1f8d2531cc
some things
2019-12-03 12:22:55 +01:00
dignifiedquire
d2de2aef07
first compile
2019-12-03 12:22:55 +01:00
Alexander Krotov
e22b4e8430
Use map_err in Smtp.connect() instead of match
2019-12-03 13:35:55 +03:00
björn petersen
af0b7e4701
Merge pull request #941 from deltachat/calc-device-msg-dimensions
...
calculate image-size in device-messages
2019-12-03 11:10:02 +01:00
Alexander Krotov
acef386403
Remove useless comment from the configure module
2019-12-03 06:22:05 +00:00
Alexander Krotov
15ba9b6295
Resultify outlk_autodiscover
2019-12-03 06:22:05 +00:00
Alexander Krotov
2f47cf0be5
Resultify moz_autoconfigure
2019-12-03 06:22:05 +00:00
Alexander Krotov
774106fc26
Move read_autoconf_file to its own module
2019-12-03 06:22:05 +00:00
Alexander Krotov
1b0ff9f5be
Make parse_xml in auto_mozilla.rs private
2019-12-03 06:22:05 +00:00
Alexander Krotov
dfaa6895ae
Add an error type to configure::auto_outlook module
2019-12-03 06:22:05 +00:00
Alexander Krotov
cb52a299cc
Add an error type to configure::auto_mozilla module
2019-12-03 06:22:05 +00:00
B. Petersen
0ac0851ef3
add empty lines to stock-strings-enum
2019-12-03 06:21:37 +00:00
B. Petersen
c0f177548a
add empty lines to configure-enum
2019-12-03 06:21:37 +00:00
B. Petersen
8923c9e5af
calculate image-size in device-messages
...
eg. android relies on that and fallsback to wrong aspect ratios otherwise.
also, this makes job.rs a little more readable
as some things are moved to message.rs :)
2019-12-03 00:58:04 +01:00
björn petersen
e609ebe3f9
Merge pull request #939 from deltachat/update-device-chats
...
and a function to create & update device chats
2019-12-03 00:52:52 +01:00
B. Petersen
8617c3d359
target comments of @hpk42, format strum manually as skipped by 'cargo fmt' for some reason
2019-12-02 18:52:07 +01:00
B. Petersen
61e97e5e6f
add updatedevicechats command to repl tool
2019-12-02 16:33:24 +01:00
B. Petersen
521e44bd54
add ffi for update_device_chats()
2019-12-02 16:33:24 +01:00
B. Petersen
18e91c480b
add tests for update_device_chats()
2019-12-02 16:33:24 +01:00
B. Petersen
9d2e6e1c31
add update_device_chats()
2019-12-02 16:33:24 +01:00
dignifiedquire
eb02100d68
fix(imap): merge error conversions properly
2019-12-01 21:40:56 +01:00
Alexander Krotov
ee18d60644
cargo fmt
2019-12-01 21:01:03 +01:00
Alexander Krotov
612600278a
Move SQL errors into their own module
2019-12-01 21:01:03 +01:00
holger krekel
ea8adf39c2
address @link2xt comment
2019-12-01 20:50:31 +01:00
holger krekel
f7f61e0f85
move imap errors into imap module
2019-12-01 20:50:31 +01:00
Alexander Krotov
a7bb249070
Move another OAuth2 test from stress.rs to oauth2.rs
2019-12-01 20:46:35 +01:00
björn petersen
dfe7dfcfd3
Merge pull request #935 from deltachat/address_idle_race
...
address last(?) idle race condition heuristically
2019-12-01 19:26:40 +01:00
Alexander Krotov
7223a36a71
SMTP error refactoring
2019-12-01 18:24:26 +01:00
holger krekel
2423d197cd
better logging, changed timeout
2019-12-01 18:12:10 +01:00
holger krekel
2582791501
address #925 heuristically
2019-12-01 18:12:10 +01:00
Alexander Krotov
3a08c92433
Replace u32 with a PeerstateKeyType enum
2019-12-01 17:07:33 +01:00
Alexander Krotov
694d8fd6fb
Move dc_dehtml to dehtml and remove unnecessary is_empty check
2019-12-01 13:37:37 +01:00
Asiel Díaz Benítez
369bb9166e
Update message.py
...
use `email.message_from_bytes()` instead of decoding the bytes to then call `message_from_string`
2019-12-01 12:08:34 +01:00
björn petersen
5f1e5ef206
Merge pull request #933 from deltachat/refactor-icons
...
Refactor icons
2019-12-01 12:06:20 +01:00
jikstra
5d04fd0d97
color tweaking
2019-12-01 02:46:04 +01:00
jikstra
d05b5e40df
add new icon-device icons
2019-12-01 02:31:12 +01:00
jikstra
0dd436ac54
Add new icon-saved-messages
2019-12-01 02:20:01 +01:00
Alexander Krotov
d5359fb9ba
Ensure that Peerstate has an address set on the type level
2019-12-01 01:52:54 +01:00
B. Petersen
72c29aca6a
do not create device-chat on skipped messages
2019-12-01 01:38:50 +01:00
B. Petersen
32216a334d
add a test that checks the device-chat is not recreated for messages that won't be added
2019-12-01 01:38:50 +01:00
holger krekel
603d55114b
address @link2xt error comment
2019-11-30 23:53:35 +01:00
holger krekel
9d18db9cae
introduce a select_with_uidvalidity function that helps us during configuration to know about last_seen_uid
2019-11-30 23:53:35 +01:00
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
Floris Bruynooghe
74a4691f29
Convert BlobError into an enum
...
This deletes a lot of code and complexity. Though comes at some cost:
- The type no longer fits in a register and will always be on the
stack.
- Constructing the errors is more verbose, no more auto Into casting.
2019-11-30 23:51:30 +01:00
B. Petersen
084a87ed61
add chatlist tests
2019-11-30 19:38:22 +01:00
B. Petersen
657b53ae0b
sort drafts again to the top of the chatlist
...
this reverts the logical changes done in #811
but keeps the improvements done later eg. in #911 .
the reason for the revert is that it is too hard to
find a started draft in a larget chatlist.
also the shown date would not be just descending.
2019-11-30 19:38:22 +01:00
Alexander Krotov
17cb1226c6
Move OAuth 2 stress tests to oauth2 module
2019-11-30 19:19:05 +01:00
Alexander Krotov
02e281e465
Resultify dc_write_file and related functions
2019-11-30 01:54:42 +01:00
B. Petersen
4e6d0c9c69
fix places where string-cmp was used instead of addr_cmp() for email-address-comparison
2019-11-30 01:49:45 +01:00
B. Petersen
81d069209c
add some tests for addr_cmp()
2019-11-30 01:49:45 +01:00
B. Petersen
63e3c82f9d
compare email-addresses case-insesitive, use this comparison also to check for SELF
2019-11-30 01:49:45 +01:00
Alexander Krotov
e8f2f7b24e
Do not accept prefer-encrypt=reset value from emails
...
Reset is an internal value that received messages should not be able to set.
Also return an error on any value other than "mutual" and "nopreference", errors are converted to NoPreference by the caller.
2019-11-30 01:40:33 +01:00
Alexander Krotov
b7f7e607c1
Use map_err
2019-11-30 01:37:56 +01:00
Alexander Krotov
ac4108b05b
Mark error cause as such
...
See failure crate documentation.
2019-11-30 01:37:56 +01:00
Alexander Krotov
14287b12ae
Resultify Smtp::send
2019-11-30 01:37:56 +01:00
Alexander Krotov
20ce5f6967
Ignore .rsynclist
2019-11-30 01:32:51 +01:00
Floris Bruynooghe
1a296cbd4e
Don't let the user wait for so long
2019-11-30 01:11:15 +01:00
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
holger krekel
bc11ae7245
add a test for bcc-self sent messages getting moved
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
25fb199ba0
update to current async-imap master which should fix a crash
2019-11-28 13:04:37 +01:00
Alexander Krotov
d0795f5770
Automatically fix some clippy warnings with "cargo fix"
2019-11-27 21:43:18 +01:00
holger krekel
fbb8c8e80c
be less verbose when generating python docs
2019-11-27 13:41:08 +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
holger krekel
42ef43bdf6
test the new event
2019-11-27 00:43:50 +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
holger krekel
e2a86dd803
prepare beta8
2019-11-24 14:41:25 +01:00
holger krekel
1b88cfd053
as recent fixes are merged to async-imap, let's use that cc @link2xt
2019-11-24 16:30:49 +03: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
holger krekel
76de8f55f2
make ssh fail directly if a password is asked
2019-11-24 01:05:33 +01:00
holger krekel
ae43b83162
random change to test PR
2019-11-24 01:05:33 +01:00
Alexander Krotov
8d81c8c1e0
Do not crash on messages without message-id
2019-11-23 22:52:16 +01:00
Alexander Krotov
1e173524b5
Upgrade to hex 0.4
...
rpgp depends on hex 0.4. This prevents building two versions of the same library.
2019-11-23 22:51:27 +01:00
B. Petersen
490418d359
add icon source files
2019-11-22 16:27:54 +01:00
B. Petersen
51ef4d82f9
use flatter design and higher resolution for icons
2019-11-22 16:27:54 +01:00
holger krekel
e522920d49
fix the check for not installing bindings (used from CI), and refined rerun policy
2019-11-22 13:54:30 +01:00
holger krekel
47be554aff
adapt README, comment previous python tests out
2019-11-22 12:28:19 +01:00
holger krekel
f44b2a63b0
revert back to split doc and lint
2019-11-22 12:28:19 +01:00
holger krekel
8d4b893658
fix missing renames and tox dep
2019-11-22 12:28:19 +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
254b061921
update docs and add a simple manual script to run python/rust tests
2019-11-22 12:28:19 +01:00
holger krekel
cefa03f45b
run doxygen for core docs again
2019-11-22 12:28:19 +01:00
holger krekel
b67203b421
use the reponame in dir builddir to we can distinguish from desktop/android etc
2019-11-22 12:28:19 +01:00
holger krekel
e14c4d0683
re-enable cross, some streamlining of docs
2019-11-22 12:28:19 +01:00
holger krekel
4ed96b16f4
simplify/speedup python tests
2019-11-22 12:28:19 +01:00
holger krekel
932c86bb3b
various cleanups, better parallelism and build-dir structure
2019-11-22 12:28:19 +01:00
holger krekel
590fd53dd4
don't invoke py36/py35 anymore here.
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
2ebb43b613
update deps, in particular async-imap to 0.1.1 which contains
...
the fix by @dignifiedquire that is expected to fix #829
2019-11-22 12:28:19 +01:00
holger krekel
863a70b8fc
new clean try to get circle-ci to work, disable and move gh actions to ci_scripts folder
2019-11-22 12:28:19 +01:00
dignifiedquire
89a4b6fee5
update github actions
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
dignifiedquire
b13ca0d077
update to released versions
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
f4f69a030a
update docker image
2019-11-22 12:28:19 +01:00
dignifiedquire
86f66f4d78
cleanup imap impl
2019-11-22 12:28:19 +01:00
dignifiedquire
b4e2b69086
update async-imap
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
Alexander Krotov
4b8252e001
Implement public key selection
...
First, try to use subkeys, because they are usually
short-term encryption keys. If none of the subkeys
are encryption keys, try to use the primary key.
rPGP is updated to the master branch because the
latest release does not have .is_encryption_key() yet.
2019-11-22 10:20:40 +01:00
Floris Bruynooghe
f505ff03e4
Do not break double file extensions
...
Double extensions are sometimes used to identify files correctly,
e.g. .tar.gz or .html.zip. Breaking those extensions is not very
nice.
This fixes #865 .
2019-11-21 22:18:31 +01:00
björn petersen
ff8e282c43
Merge pull request #862 from deltachat/fix-bcc-self
...
mark messages as sent
2019-11-20 15:28:40 +01:00
B. Petersen
e39cb160f9
make messages as sent in groups with only SELF and bcc_self disabled
2019-11-20 02:48:43 +01:00
björn petersen
76ce0c3540
Merge pull request #856 from deltachat/fix-time-smearing
...
fix time smearing
2019-11-19 23:25:11 +01:00
B. Petersen
f7047bbf51
add detailed comments about time-smearing
2019-11-19 22:52:24 +01:00
B. Petersen
c3a53cefb0
fix time smearing
...
if two messages have the same time,
this results i all kinds of sorting failures,
esp. in non-delta-muas and on forwarding messages.
so, no two messages sent out from delta have the same timestamp.
normally, this is no problem, but when things are sent too fast,
eg. on forwarding, we lend us some time from the future.
however, all this did not work
because we forgot to write back the modified time,
this is fixed by this commit, as well as some cleanup.
2019-11-19 22:23:01 +01:00
björn petersen
a88153954e
Merge pull request #854 from deltachat/tweak-device-msg
...
tweak device messages
2019-11-19 22:19:42 +01:00
Alexander Krotov
4732085421
Fix some clippy warnings
2019-11-19 19:52:13 +01:00
B. Petersen
e4e6a00fe4
rename has_device_msg() to was_device_msg_ever_added() what describes better what the function is doing
2019-11-19 13:21:02 +01:00
B. Petersen
700e10bc0e
use dc_add_device_msg() also to add labels-only, this is clearer as having a function with 'skip' in the name
2019-11-19 13:05:01 +01:00
B. Petersen
2a4c193601
simplify check for existing device-message
2019-11-19 11:56:35 +01:00
B. Petersen
d3fa289f27
streamline dc_add_device_msg_once|unlabelled() to one function
2019-11-19 11:49:02 +01:00
B. Petersen
1534a07ded
add dc_has_device_msg()
2019-11-18 17:31:03 +01:00
B. Petersen
a4e92694ba
name unlabelled device-messages as such
2019-11-18 16:47:18 +01:00
B. Petersen
035da9e5d7
add dc_skip_device_msg() and belonging tests
2019-11-18 16:47:18 +01:00
B. Petersen
fed6f4ab8a
do not re-add device-messages deleted by the user
2019-11-18 16:47:18 +01:00
Nico de Haen
d7c42f3c98
Use coalesce for optional columns
...
resolves #851
2019-11-17 20:57:50 +01:00
B. Petersen
ad852161f3
higher resolution for device-icon
2019-11-17 20:56:42 +01:00
B. Petersen
e9b2d6a594
adapt tests to saved-messages chat
2019-11-17 20:56:07 +01:00
B. Petersen
f9d2fe710d
rename me-chat to saved-messages, use an appropriate icon
2019-11-17 20:56:07 +01:00
björn petersen
a4a1cd42db
Merge pull request #844 from deltachat/move-location-to-trash
...
Delete msg related POI when message is deleted
2019-11-16 17:40:53 +01:00
Alexander Krotov
69e14dcb2d
Replace some magic numbers with constants
2019-11-16 16:08:08 +00:00
Nico de Haen
e2673894b4
Delete message only if its a POI
2019-11-16 16:55:13 +01:00
B. Petersen
852b16c972
target comment of @flub
2019-11-16 13:55:59 +01:00
B. Petersen
5796c28391
test contact adding and modifying
2019-11-16 13:55:59 +01:00
holger krekel
b6095e29d7
Update src/pgp.rs
2019-11-16 13:53:47 +01:00
Alexander Krotov
f778957caf
Improve documentation and comments
2019-11-16 13:53:47 +01:00
Alexander Krotov
47f8da6532
Expand tabs into spaces
2019-11-16 12:32:32 +01:00
Alexander Krotov
0b3f2a55df
Do not use wildcard match in msgtype_has_file
...
This way there will be a compiler error notifying that the function needs to be updated when a new message type is added.
2019-11-16 12:31:13 +01:00
Nico de Haen
13ff2bd8c4
Fix wrong indents
2019-11-16 11:28:43 +01:00
Nico de Haen
c690a64462
Update msg related location when message is deleted
...
resolves #843
2019-11-16 11:04:56 +01:00
B. Petersen
d808bfe400
add some tests for me-chat and deaddrop
2019-11-13 22:31:18 +01:00
B. Petersen
1b30078c09
test archive functions
2019-11-13 10:16:57 +01:00
B. Petersen
0278875e03
add device-chat tests
2019-11-13 00:13:32 +01:00
B. Petersen
d0ccf28678
do not add random label for unlabelled device-messages
2019-11-13 00:13:32 +01:00
B. Petersen
5023255ebc
fix accidentally called maybe_add_bcc_self_device_msg()
2019-11-13 00:13:32 +01:00
holger krekel
545376875a
fix python tests
2019-11-12 16:10:48 +01:00
B. Petersen
a9fe77b62e
use separate column for device-msg-labels
2019-11-12 16:10:48 +01:00
B. Petersen
b42d8799b4
add dc_add_device_msg_once() to fii
2019-11-12 16:10:48 +01:00
B. Petersen
a42e197634
add device-message only once
2019-11-12 16:10:48 +01:00
B. Petersen
fc32c85608
add device-msg 'consider enabling bcc_self' if bcc_self is disabled and an autocrypt-setup-message is received
2019-11-12 16:10:48 +01:00
B. Petersen
dabd431b1f
change default for bcc_self, preserve values for existing installations
2019-11-12 16:10:48 +01:00
B. Petersen
85b4817a1e
restore some comments
2019-11-12 16:10:48 +01:00
B. Petersen
84c6113271
use enum for show_emails
2019-11-12 16:10:48 +01:00
B. Petersen
9506f8c38e
use bool for exists_before_update
2019-11-12 16:10:48 +01:00
Friedel Ziegelmayer
d330d890c0
setup minimal github action
...
Just so we can experiment with it on branches
2019-11-12 14:31:38 +01:00
Alexander Krotov
c6369b1c5a
Implement TryFrom instead of TryInto
...
TryInto is derived automatically and its documentation recommends implementing TryFrom.
2019-11-10 15:38:58 +00:00
Alexander Krotov
bfa0f9d911
Use the first subkey for encryption instead of the primary key
2019-11-10 16:32:09 +01:00
B. Petersen
154cb2db83
add missing DC_STR_DEVICE_MESSAGES
2019-11-10 16:31:12 +01:00
B. Petersen
37ecfa6b67
fix gm2local offset calculations
2019-11-09 20:26:00 +01:00
B. Petersen
99ba2fb358
let dc_timestamp_to_str() print the local time, not UTC times. the function is used for outputs directly shown to the user, eg. dc_get_msg_info()
2019-11-09 20:26:00 +01:00
B. Petersen
85ebde29dc
do not resort chatlist on draft changes
...
resorting the chatlist on changing drafts has some ux issues.
eg. when the chatlist is visible together with the input field,
if may come to flickering resorting during input
or to a resorting just when the user leave the chat
as this might trigger set_draft().
but also on mobiles, the resorting is visible and a bit unexpected.
also it is unclear what happens when a chat with a draft is entered
and left without modifications.
the solution proposed here is to ignore draft on sorting
while still showing them in the chatlist
if they're newer as the last message.
a possible disadvantage is
that the date for the chat with a draft does not follow the ordering
(the ordering is by the last message),
however, the date is not shown as a "primary sort" criterion or so,
so it might be that this is completely okay.
also, of course, it affects only draft :)
2019-11-09 19:32:13 +01:00
björn petersen
0876f45503
Merge pull request #810 from deltachat/sync-config-param
...
restore config-param if configure() fails
2019-11-08 19:36:43 +01:00
B. Petersen
2fae6890c2
the new MsgId type comes with a formatter that makes special formatting in the repl tool superfluous
2019-11-07 13:19:38 +01:00
B. Petersen
34f9961857
restore config-param if configure() fails
2019-11-06 22:59:14 +01:00
B. Petersen
515f0c5089
correct ffi return value of dc_add_device_msg()
2019-11-06 13:33:30 +01:00
B. Petersen
5a11551b4d
block sending to chats that do not support sending (normally, this should already be avoided in the ui)
2019-11-06 13:33:30 +01:00
B. Petersen
49bf99588b
show chat-profile-image in repl tool
2019-11-06 13:33:30 +01:00
B. Petersen
231110fb61
add profile-icon for device-chat
2019-11-06 13:33:30 +01:00
B. Petersen
4c30bf80ce
target comments of @flub
2019-11-06 13:33:30 +01:00
B. Petersen
f8afefa2c1
get contact- and chat-info for device-messages
2019-11-06 13:33:30 +01:00
B. Petersen
89bb2d0ffe
add devicemsg to repl tool
2019-11-06 13:33:30 +01:00
B. Petersen
b5d5d98645
implement add_device_msg()
2019-11-06 13:33:30 +01:00
B. Petersen
89f394ab86
create separate function for preparing a blob
2019-11-06 13:33:30 +01:00
B. Petersen
cbaa4e03b3
basic devicetalk implementation
2019-11-06 13:33:30 +01:00
B. Petersen
50539465b9
prototype a device-chat
2019-11-06 13:33:30 +01:00
B. Petersen
be08bcb22b
rename DC_CONTACT_ID_DEVICE to DC_CONTACT_ID_INFO to be in-line with dc_msg_is_info()
2019-11-06 13:33:30 +01:00
holger krekel
dcd92a894e
fix export: write backup_time to the destination not the source sql file
...
and perform slightly cleaner teardown in python
2019-11-06 13:26:32 +01:00
holger krekel
6336eeb568
better error on has_backup() failing
2019-11-06 13:26:32 +01:00
holger krekel
6b18cbda1f
refine dc_copy along the lines @flub did for blobstore
2019-11-06 13:26:32 +01:00
Alexander Krotov
cf023ea557
sql: remove unnecessary ? in prepare() and prepare2()
2019-11-06 13:26:03 +01:00
Alexander Krotov
51a804a80f
location: use "bool" for "independent" argument
2019-11-06 14:17:59 +03:00
B. Petersen
1a33b1c574
bump version
2019-11-05 17:04:44 +01:00
B. Petersen
67e2e4d415
target comment of @hpk42
2019-11-04 13:20:35 +01:00
B. Petersen
8c2efa707a
name special contact-ids where easily possible
...
the point of this pr is to get an overview
how and where DC_CONTACT_ID_DEVICE is used,
to prepare introducing a device-"chat".
i did not change the sql statements for now
as this would require some more refactoring
and has the potential to introduce bugs.
2019-11-04 13:20:35 +01:00
B. Petersen
87abc6e4a2
adapt wording
2019-11-03 21:36:40 +01:00
B. Petersen
0ea017c53d
add repl command for testing interrupt-idle
2019-11-03 21:36:40 +01:00
B. Petersen
b9c7510b58
use boolean for jobs_needed
2019-11-03 21:36:40 +01:00
holger krekel
01e7caf65a
use job_id as mail_id for SendableEmail -- it's only an internal id and job_id is unique enough.
2019-11-03 21:36:01 +01:00
holger krekel
1cfeb730c3
try to fix some smtp todos and do better error logging
2019-11-03 21:36:01 +01:00
Floris Bruynooghe
a3b90a08b6
Copy the file contents manually
...
Before we created an empty file and asked the OS to copy the file.
The OS is very good at this so this is a good idea generally. However
it seems that in some cases, possibly an Android Dowload folder, we
might be able to create a file but not overwrite it. Thus refactor
this a bit so we are copying the file ourselves.
There are no new tests here since the behaviour remains identical.
The good news is that the existing tests were good enough to catch
some bugs already.
2019-11-03 20:16:56 +01:00
holger krekel
31571be71e
add account.get_chat_by_id API
2019-11-03 20:14:57 +01:00
holger krekel
661fc45106
split "chatting.py" into "contact.py" and "chat.py" to be more reminiscent of the core-rust structure
2019-11-03 20:14:57 +01:00
holger krekel
da64dee3e0
start a changelog for the yet untagged beta.7
2019-11-03 01:32:49 +01:00
holger krekel
cb00f5da79
fix #786 by always succeeding to create a canonical deterministic message-id -- thanks @csb0730 for the analysis of the issue
2019-11-03 01:28:45 +01:00
B. Petersen
e1df41c209
fix tests
2019-11-03 01:19:29 +01:00
B. Petersen
3b64748427
add proptest-regression file
2019-11-03 01:19:29 +01:00
B. Petersen
70cef68eeb
display failed messages
2019-11-03 01:19:29 +01:00
holger krekel
c5f64d2988
address @link2xt comments
2019-11-03 00:21:27 +01:00
holger krekel
4eb068613d
extend and fix python/test side of location streaming
2019-11-03 00:21:27 +01:00
holger krekel
d774430ec2
simplify location parsing
2019-11-03 00:21:27 +01:00
holger krekel
d24a982757
fix various location-streaming issue, test passes now
2019-11-03 00:21:27 +01:00
holger krekel
d74c70a57c
fix and streamline location-outgoing pipeline
2019-11-03 00:21:27 +01:00
holger krekel
a6f0f78588
addresses #757 test and add location streaming python api
2019-11-03 00:21:27 +01:00
B. Petersen
e6d9991581
fix conversion from nanoseconds to milliseconds
...
1_000_000 nanosecond = 1 millisecond
2019-11-02 15:22:27 +01:00
B. Petersen
ec8dbddcfb
tweak ffi documentation wrt certificate checks
2019-11-01 18:06:01 +01:00
B. Petersen
bc699f17d9
avoid usage of get_subtitle() in repl-tool, remove dc_chat_get_subtitle() from documentation.
2019-11-01 13:19:47 +01:00
B. Petersen
832df41130
target comments of @hpk42 and @flub
2019-11-01 00:46:48 +01:00
B. Petersen
5709681076
streamline as_path_unicode(), delete unused as_str() and as_str_safe()
2019-11-01 00:46:48 +01:00
B. Petersen
858baf0c2c
prefer to_opt_string_lossy() over as_opt_str() as the latter pancis on non-wellformatted utf-8, delete as_opt_str()
2019-11-01 00:46:48 +01:00
B. Petersen
e4b3e23769
prefer to_string_lossy() over as_str() as the latter pancis on non-wellformatted utf-8
2019-11-01 00:46:48 +01:00
holger krekel
8ce05796da
ensure that especially qr tests are rerun
2019-10-31 23:31:09 +01:00
holger krekel
7f8c6d8cca
some more display refinements
2019-10-31 23:31:09 +01:00
holger krekel
75ba040531
more error logging with file operations in general
2019-10-31 23:31:09 +01:00
Floris Bruynooghe
faa78e1c04
At least log the error
2019-10-31 22:38:32 +01:00
Floris Bruynooghe
b264d3be3c
Be more accepting in creating blobs from existing names
...
This is an additional fix for #768 aka
commit eac8ad8369
2019-10-31 20:05:09 +01:00
holger krekel
80d7e84e5d
prepare 1.0.0-beta.6
2019-10-31 12:34:03 +01:00
B. Petersen
4e37610f21
fix boolean error in chatlist::get_msg_id()
...
the error led to unusable contact requests,
at least on android and ios (probably also desktop)
because msg_id=dc_chatlist_get_msg_id() always returns 0
and create_chat_by_msg_id(msg_id)
or dc_marknoticed_contact(<get sender from msg_id>)
failed therefore.
2019-10-31 12:31:31 +01:00
Floris Bruynooghe
78030e4a31
Add test for #767
...
Without a test for this fix, a regression will happen again.
Original PR #767 aka commit 4fed875107
2019-10-30 21:08:25 +01:00
holger krekel
b01c842d7c
bump version in toml's and changelog, and trigger deltachat-specific "cargo update". example: python set_core_version.py 1.0.0-beta.6 automates bumping the version and performs some quick sanity checks
2019-10-30 20:05:01 +01:00
holger krekel
c56c10bced
remove unneccessary check of is_special() + cleanups
2019-10-30 19:29:13 +01:00
holger krekel
b0ccbc36d9
fix FFI-behaviour: return default empty messages when asked for special ones
2019-10-30 19:29:13 +01:00
holger krekel
9cdfc3409d
systematically ignore invalid message ids when passed in through CFFI
2019-10-30 19:29:13 +01:00
björn petersen
fc851f542a
Merge pull request #770 from deltachat/tweak-ffi
...
remove unneeded const attribtute
2019-10-30 19:12:43 +01:00
B. Petersen
7530abd581
remove unneeded const attribtute
2019-10-30 16:36:28 +01:00
holger krekel
a6594a9ae3
add changelog and bump to beta.4
2019-10-30 16:13:34 +01:00
B. Petersen
62019f57e9
fix some doxygen links and overviews
2019-10-30 16:09:04 +01:00
holger krekel
41443bb7f9
fix sending of autocrypt setup message
2019-10-30 15:48:06 +01:00
B. Petersen
8b5f7d98f6
do not escalate attemt to add self to a group to the user, just return false from add_contact_to_chat()
2019-10-30 14:03:54 +01:00
B. Petersen
6fea6f730d
fix recognition of mailto-address-qr-codes, add tests
2019-10-30 13:13:02 +01:00
holger krekel
ad42a39a43
amend changelog
2019-10-30 13:12:00 +01:00
B. Petersen
ed9cfedbf3
update changelog
2019-10-30 13:12:00 +01:00
holger krekel
36510d8451
update links / use deltachat/rust-imap master branch
2019-10-30 13:07:44 +01:00
björn petersen
501a6eee69
Merge pull request #765 from deltachat/fix-qr2
...
fix plus-space-decoding in qr-code
2019-10-30 10:16:57 +01:00
B. Petersen
39cd8465f4
allow plus-space-encoding in qr-code, adapt tests
2019-10-30 00:37:35 +01:00
holger krekel
d3c0d2ebb1
bump version
2019-10-29 22:38:25 +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
B. Petersen
469f8ac31d
make stock_string_repl_str2() public as the other members
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
c6adbe939d
use latest rust-imap fork commits from @dignifiedquire
2019-10-28 20:51:17 +01:00
holger krekel
b4464ab0a3
address @dignifiedquire comments
2019-10-28 20:51:17 +01:00
holger krekel
bf7d57c560
update rust-imap
2019-10-28 20:51:17 +01:00
holger krekel
0e59819af4
use latest rust-imap fork
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
björn petersen
b722da642a
Merge pull request #750 from deltachat/tweak-summary
...
in summary, show hyphen only if there is a type and a text
2019-10-27 15:59:59 +01:00
Alexander Krotov
0aa1d1caa0
Merge pull request #749 from deltachat/fix-get-chat-id
...
let dc_get_chat_id_by_contact_id() returns 0 if no chat is found
2019-10-27 12:42:22 +00:00
B. Petersen
da28e1dd44
address comment of @flub and add some tests
2019-10-27 13:32:06 +01:00
B. Petersen
d223a286c0
in summary, show hyphen only if there is a type and a text; this avoids summaries as 'Voice message -'
2019-10-27 13:31:52 +01:00
Alexander Krotov
7916a7fa07
Fix spelling of Param::GuaranteeE2ee
2019-10-27 11:51:59 +01:00
Alexander Krotov
ee81895e1e
Use DC_CONTACT_ID_SELF in do_initiate_key_transfer
2019-10-27 11:51:47 +01:00
Alexander Krotov
6ac4384769
location.rs cleanup
...
Use constants where possible, move "let" closer to assignments.
2019-10-27 11:51:35 +01:00
Alexander Krotov
99fababf0b
to_base64: operate on characters instead of bytes to avoid unsafe code
2019-10-27 11:51:25 +01:00
Alexander Krotov
c85f1b20ca
Add constants for certificate checks configuration
2019-10-27 11:51:14 +01:00
B. Petersen
51f43842cf
cargo fmt
2019-10-27 11:42:56 +01:00
B. Petersen
8015ba1d64
dc_get_chat_id_by_contact_id() returns 0 if no chat is found.
...
this is no error;
in fact, the function is used to probe
if there is a chat with a given contact at several places
eg. in the android-ui.
2019-10-26 18:37:33 +02:00
Alexander Krotov
cfa69cf35a
Add Params::set_cmd and use SystemMessage constants
2019-10-26 14:04:08 +02:00
B. Petersen
dced1932b3
if show_emails=ALL, show belonging contact-requests directly in the chatlist
2019-10-24 11:12:35 +02:00
B. Petersen
79a08f96c5
make ShowEmails an enum, use constant for trash
2019-10-24 11:12:35 +02:00
björn petersen
f5d98c1db6
Merge pull request #742 from deltachat/add-self-to-group
...
allow adding SELF to group
2019-10-23 22:13:25 +02:00
B. Petersen
df4273e986
fix logic error: adding a member to a group is okay if a real contact exists or for SELF
2019-10-23 14:03:42 +02:00
Floris Bruynooghe
5d79690260
Add Params::get_file(), ::get_path() and ::get_blob()
...
Turns out that anyone that uses these either justs wants a file or
wants a blob. Consolidate those patterns into one place and simplify
all the callers.
2019-10-22 18:54:09 +02:00
Floris Bruynooghe
6c9e16d31a
Introduce a BlobObject type for blobs
...
This creates a specific type for blobs, with well defined conversions
at the borders. It also introduces a strong type for the Param::File
value since that param is often used used by the public API to set
filenames using absolute paths, but then core changes the param to a
blob before it gets to the database.
This eliminates a few more functions with very mallable C-like
arguments behaviour which combine a number of operations in one.
Because blob filenames are stored so often in arbitrary strings this
does add more code when receiving those, until the storage is fixed.
File name sanitisation is now deletated to the sanitize-filename crate
which should do a slightly better job at this.
2019-10-22 18:54:09 +02:00
B. Petersen
f0fc50d5a9
adapt to reality
2019-10-22 18:37:47 +02:00
björn petersen
7a4a4389fa
Merge pull request #739 from deltachat/location
...
Rustify location.rs
2019-10-22 18:01:35 +02:00
holger krekel
131889cdfb
add beta2 changelog, bump version to 1.0.0-beta.2
2019-10-22 17:50:23 +02:00
Alexander Krotov
bed14d5c02
Initialize continue_streaming with false
...
Otherwise this variable is constant.
2019-10-22 13:24:23 +03:00
Alexander Krotov
d3c831a0a2
Replace continue_streaming int with bool
2019-10-22 13:24:23 +03:00
Alexander Krotov
0007c12dea
Replace FORCE_SCHEDULE #define from C core with bool
2019-10-22 13:24:23 +03:00
B. Petersen
049077f13b
reconnect on io errors and broken pipes
2019-10-22 09:58:05 +02:00
holger krekel
e17c69f89c
actually try connecting, instead of just preparing the connect
2019-10-21 23:17:18 +02:00
holger krekel
4b24f32d6c
add tests and API for is_forwarded
2019-10-21 23:00:42 +02:00
Friedel Ziegelmayer
f404e31e30
chore(deps): switch back to rust-imap master ( #735 )
...
chore(deps): switch back to rust-imap master
2019-10-21 18:48:50 +02:00
dignifiedquire
7455b26ab2
chore(deps): switch back to rust-imap master
2019-10-21 16:52:43 +02:00
holger krekel
ee3259a74d
fix rust-imap dep and remove Xargo.lock -- or is the latter used for anything?
2019-10-21 11:14:38 +02:00
dignifiedquire
391ba67ad5
update to fixed rust-imap for yandex
2019-10-20 13:10:17 +02:00
dignifiedquire
54f8c68151
switch to master
2019-10-20 13:10:17 +02:00
dignifiedquire
4a2e1897a6
fix(smtp): use correct auth mechanisms
2019-10-20 13:10:17 +02:00
dignifiedquire
076616bfb9
fix(imap): read server greeting
2019-10-20 13:10:17 +02:00
Dmitry Bogatov
a9dd78f622
Narrow return type of location::set: cint -> bool
2019-10-19 22:38:43 +02:00
B. Petersen
d16bdafaf0
simplify calling Simplifier, get is_forwarded flag correctly
2019-10-19 22:34:14 +02:00
B. Petersen
4f126c5292
show forwarded-state in repl-tool
2019-10-19 22:34:14 +02:00
B. Petersen
7b958a20fd
prefer to_string_lossy() over as_str() as the latter pancis on non-wellformatted utf-8
2019-10-19 22:30:25 +02:00
B. Petersen
4519071718
prefer to_opt_string_lossy() over as_opt_str() as the latter pancis on non-wellformatted utf-8
2019-10-19 22:30:25 +02:00
B. Petersen
0108b4724e
add function to convert NULL-able c-string to Option<String>
2019-10-19 22:30:25 +02:00
B. Petersen
bb08b39c71
remove duplicated code
2019-10-19 22:30:25 +02:00
B. Petersen
1908ac428b
mark own forwarded messages as such
2019-10-17 19:41:17 +02:00
Alexander Krotov
dfc453c1d1
Merge pull request #727 from deltachat/strndup
...
Remove unused strndup
2019-10-17 12:33:51 +03:00
Alexander Krotov
9fa6289093
Remove unused strndup
2019-10-17 03:18:08 +03:00
björn petersen
6f92ce0fa8
Merge pull request #722 from deltachat/oauth2-even-better
...
make oauth2.get_addr work
2019-10-16 10:58:04 +02:00
B. Petersen
cde2c9137f
make oauth2.get_addr work
...
oauth2.get_addr is used for gmail-oauth2
to retrieve the address really authorized in the oauth2 process.
2019-10-16 00:57:58 +02:00
björn petersen
120524ae00
Merge pull request #720 from deltachat/make-oauth2-better
...
make oauth2 POST successfully
2019-10-15 18:29:27 +02:00
holger krekel
7bb73f45a5
add LP smtp/imap connection flags to const
2019-10-15 13:46:39 +02:00
Dmitry Bogatov
2d0f563dfe
Replace magic constant with symbolic name
2019-10-15 13:45:08 +02:00
VP-
cfe3c69f00
Don't use hard-coded email addresses in tests
2019-10-15 13:10:55 +02:00
B. Petersen
c266d2ca0d
use POST instead GET to init or refresh oauth2 tokens
2019-10-15 00:22:37 +02:00
B. Petersen
85fc696975
more specific and distinguishable oauth2 error message
2019-10-15 00:20:08 +02:00
Alexander Krotov
9bf8bed0c3
Merge pull request #685 from deltachat/outlook_unit_test
...
Unit test Outlook autodiscovery
2019-10-14 21:34:43 +00:00
Alexander Krotov
c4d55f6ba4
auto_outlook: convert <Protocol> type to lowercase before comparison
2019-10-14 19:21:29 +03:00
B. Petersen
766d7cbd3a
add some missing comments
2019-10-14 15:11:33 +02:00
Alexander Krotov
8e0e1bd58d
Add test for Outlook autodiscovery without redirect
2019-10-14 13:42:35 +03:00
Alexander Krotov
a471ccc95a
Test Outlook autoconfigure redirect parsing
2019-10-14 01:24:20 +03:00
Alexander Krotov
daac8c4824
rustfmt
2019-10-14 01:24:20 +03:00
Alexander Krotov
59c22a5626
Move Outlook autodiscovery into separate function
2019-10-14 01:24:19 +03:00
Alexander Krotov
5154f27f72
Merge pull request #712 from deltachat/moz_autoconfigure_unit
...
auto_mozilla: split XML parsing into separate function
2019-10-13 16:34:05 +00:00
Alexander Krotov
5f7279eb85
auto_mozilla: server is only configured if the type matches
...
This fixes the testcase introduced in previous commit
2019-10-12 17:07:20 +03:00
Alexander Krotov
ce67f593f6
Add XML parsing test for Mozilla autoconfig
2019-10-12 17:07:20 +03:00
Alexander Krotov
556ea57f37
auto_mozilla: split XML parsing into separate function
2019-10-12 17:07:20 +03:00
Dmitry Bogatov
a4257b619a
Replace flags argument to Sql.open with single bool
...
Previously, "flags" argument of Sql.open was of type libc::c_int, but
only one bit was used: whether to open database read-only. This commit
makes it explicit by changing type to bool and renaming argument.
2019-10-12 09:56:18 +02:00
Alexander Krotov
8479c8afbf
Do not convert 1 to libc::c_int
...
It is compared to u32 in this case
2019-10-11 21:52:47 +02:00
Alexander Krotov
eba012b965
Do not use libc::c_int in Simplify
2019-10-11 21:52:47 +02:00
Alexander Krotov
66e53e6804
Return bool from Imap::fetch()
...
It is unused anyway
2019-10-11 21:52:47 +02:00
Alexander Krotov
c8aa8b55f6
Use i32 instead of libc::c_int for try_again
...
It is already declared as i32 in the structure
2019-10-11 21:52:47 +02:00
Alexander Krotov
900e3905c0
Count number of libc references in top_evil_rs.py
2019-10-11 21:52:47 +02:00
holger krekel
088490721d
bump to 1.0.0-beta.1, add initial Changelog
2019-10-10 19:08:47 +02:00
björn petersen
a40b99aae0
Merge pull request #709 from deltachat/fix/features
...
fix: disable default features for pgp, by default
2019-10-10 18:32:56 +02:00
dignifiedquire
b9646446f8
fix: disable default features for pgp, by default
2019-10-10 18:05:11 +02:00
holger krekel
4e36b35039
cargo-fmt only
2019-10-10 12:01:01 +02:00
holger krekel
d412ee6042
make dc_str_from_clist safe and return a string instead of c-string -- this allows to remove some unsafe and now unneccessary cleanup code
2019-10-10 12:01:01 +02:00
B. Petersen
67848e3333
use libc::c_char as i8 and u8 are used differently on x86 and arm
2019-10-10 08:44:31 +02:00
björn petersen
4d79c6e235
Merge pull request #705 from deltachat/safer-strn
...
len-check in strncasecmp()
2019-10-10 01:19:09 +02:00
B. Petersen
bc99d9d196
cargo fmt
2019-10-10 00:39:35 +02:00
B. Petersen
e1fc5863c2
target comments of @hpk42
2019-10-10 00:29:52 +02:00
B. Petersen
f0791149e6
document dc_str_unref()
2019-10-10 00:29:52 +02:00
B. Petersen
297b032bdc
fix doxygen, some rewording
2019-10-10 00:29:52 +02:00
holger krekel
98180c175d
make sure c-doc upload dirs exist even if branch name has / in it
2019-10-10 00:23:36 +02:00
dignifiedquire
46e8a436cb
updates and fixes
2019-10-10 00:23:36 +02:00
dignifiedquire
dc2cf8ecfc
unify naming in pgp
2019-10-10 00:23:36 +02:00
dignifiedquire
fd69ebfd1f
fix and cleanup tests
2019-10-10 00:23:36 +02:00
dignifiedquire
03979fdc51
wip
2019-10-10 00:23:36 +02:00
B. Petersen
2c98e91276
target comments of @link2xt
2019-10-10 00:22:50 +02:00
B. Petersen
3270120d16
strncasecmp() compares the given number of characters but not after a 0-byte
2019-10-09 19:00:54 +02:00
holger krekel
77a7efc920
fix #694 by forking lettre and avoiding extra NOOP Smtp commands for connection checking.
...
If this works out and fixes our problem, we can submit upstream.
2019-10-09 18:25:41 +02:00
björn petersen
de604e744e
Merge pull request #703 from deltachat/fix-strncasecmp
...
fix(mmime): correct implementation of strncasecmp
2019-10-09 17:31:41 +02:00
holger krekel
24c0a833bd
address @flub comments
2019-10-09 15:59:31 +02:00
holger krekel
45f011c63c
expose and test set_stock_translation to Python
2019-10-09 15:59:31 +02:00
holger krekel
bc86201b44
error out if %1 %2 replacements are not contained in default english version
2019-10-09 15:59:31 +02:00
holger krekel
b82af9fff3
introduce set_stock_translation and remove call to DC_EVENT_GET_STRING
2019-10-09 15:59:31 +02:00
dignifiedquire
3a1e74a306
fix(mmime): correct implementation of strncasecmp
...
Closes #523
2019-10-09 14:27:15 +02:00
Alexander Krotov
e4cca92910
Simplify to_string_lossy()
...
Call .to_string_lossy() without trying .to_str() first.
2019-10-09 08:56:02 +02:00
holger krekel
102220834c
address https://github.com/deltachat/deltachat-ios/issues/328 and don't escalate xml-parsing errors to users through error!
2019-10-08 23:09:03 +02:00
holger krekel
24d744b94c
try generating and uploading doxygen docs ( #697 )
2019-10-08 18:52:13 +02:00
holger krekel
1df6229e99
remove/push down some unsafe-fn
2019-10-08 17:37:37 +02:00
Alexander Krotov
c23e98ff83
Merge pull request #693 from deltachat/mozautoconfig
...
Use Rust types in auto_mozilla.rs
2019-10-07 23:03:17 +00:00
holger krekel
b7c81f37c0
ok_to_continue is 0, now start counting "unsafe fn" ...
2019-10-07 23:58:32 +02:00
Alexander Krotov
5c3a7e4119
Use Rust types in auto_mozilla.rs
2019-10-07 18:43:53 +03:00
holger krekel
a94acef49b
cargo fmt
2019-10-07 13:39:01 +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
holger krekel
ba5b3ad675
fix #690 by avoiding account.__del__ and registering/unregistering with atexit (a module that manages process/interpreter shutdown and calls into registered shutdown. Recommended way for user code still is to call account.shutdown() explcitely.
2019-10-07 12:24:50 +02:00
björn petersen
c1e4d1e7a4
Merge pull request #688 from deltachat/remove-predecessor
...
remove scanning for old Chat-Predecessor header
2019-10-07 02:02:15 +02:00
B. Petersen
dd8744b74e
remove unused import
2019-10-07 01:15:42 +02:00
holger krekel
b775ecca08
fix tests
2019-10-07 00:55:33 +02:00
holger krekel
b8f211a013
cargo fmt
2019-10-07 00:55:33 +02:00
holger krekel
51534b2fae
move all alloc/free/stop/has/shall_stop*ongoing* methods to context
...
introduce stop_ongoing to bindings and test for cancelation of configure
2019-10-07 00:55:33 +02:00
B. Petersen
710db2ba0a
remove scanning for old Chat-Predecessor header
...
the Chat-Predecessor header was dropped about 10 month ago.
as a replacement, the standard headers are used.
2019-10-07 00:43:43 +02:00
holger krekel
32ef0d4dc3
cargo fmt
2019-10-07 00:22:19 +02:00
holger krekel
b3cd80ba6d
remove ok_to_continue, shift code to a result-returning add_export_files to avoid if-branches, cleanup and simplify some logging
2019-10-07 00:22:19 +02:00
holger krekel
3f053f899e
cargo fmt
2019-10-07 00:15:39 +02:00
holger krekel
22b4d1734c
remove last ok_to_continue in mimeparser
2019-10-07 00:15:39 +02:00
björn petersen
46a71e81a0
Merge pull request #683 from deltachat/outlook_none
...
Fix and refactor Outlook autodiscovery
2019-10-06 15:54:01 +02:00
Alexander Krotov
b4851187ba
Safe outlk_autodiscover
2019-10-06 05:46:45 +03:00
Alexander Krotov
0252969f7e
Remove unused in_0 from outlk_autodiscover_t
2019-10-06 05:16:17 +03:00
Alexander Krotov
f86cec4844
Mark moz_autoconfigure as safe
2019-10-06 05:16:17 +03:00
Alexander Krotov
cd2e36da92
rustfmt
2019-10-06 05:16:17 +03:00
Alexander Krotov
1b13107181
Return Option<String> from read_autoconf_file
2019-10-06 05:16:17 +03:00
Alexander Krotov
6fbde21995
outlk_autodiscover: store url as String
2019-10-06 05:16:17 +03:00
Alexander Krotov
a6608513ac
auto_outlook: restore and add some comments
2019-10-06 05:16:17 +03:00
Alexander Krotov
d43c225be3
Return None from outlk_autodiscover if no XML config was parsed
2019-10-06 05:16:17 +03:00
B. Petersen
1802d7658d
add some tests for dc_create_outgoing_rfc724_mid()
...
as noticed in the last attempts to change the prefix,
this test is missing (as probably many more :)
2019-10-05 22:48:00 +02:00
B. Petersen
275f5d713f
cargo fmt
2019-10-05 22:47:39 +02:00
B. Petersen
e40cfeec58
bubble up sql, get_abs_path errors
2019-10-05 22:47:39 +02:00
B. Petersen
275b4b8d36
bubble up sql-errors in reveive_imf()
2019-10-05 22:47:39 +02:00
B. Petersen
77cef632c7
bubble up update_param() error
...
bubble up the error instead of ignoring it -
but also do not panic as before #673
2019-10-05 22:47:39 +02:00
B. Petersen
db2064de14
use .to_string_lossy() member of Path, CStr etc.
...
instead of calling to_str().unwrap_or_default().
2019-10-05 22:46:29 +02:00
B. Petersen
e251c7b1c8
redo some c-comments
2019-10-05 15:53:18 +02:00
björn petersen
2fe98775f9
Merge pull request #673 from deltachat/dont-panic
...
Don't Panic!
2019-10-05 15:08:15 +02:00
björn petersen
187179d87b
Merge pull request #674 from deltachat/to-lossy
...
always expect bad c-strings
2019-10-05 15:04:32 +02:00
holger krekel
dd03f6e8af
test and fix that a group with mixed-encryption members (with some we can encrypt, others not) does not break
2019-10-05 15:02:03 +02:00
holger krekel
07b32241bd
try fix #677 (this fixes only a test) -- seems like we passed pointers into Rust strings to code that was expecting null-terminated strings. Now do proper "strdup()" and free. The real proper fix is to make dc_split_armored_string into a rust-string function and do away with all c-pointers.
2019-10-05 15:01:28 +02:00
B. Petersen
abfff96cd4
cargo fmt
2019-10-05 12:44:08 +02:00
B. Petersen
735bdd1c20
always use to_string_lossy() for converting c-strings to String
...
the function to_string() is removed;
c-strings may always be badly formatted and this should never lead to a panic.
2019-10-05 00:12:32 +02:00
B. Petersen
9cae075b6f
target detailed checks of @flub
2019-10-04 23:07:34 +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
79b92727cc
prefer get_config_bool() where appropriate
...
for db input/output, we still use get_config_int() to convert to/from 0/1.
also for info() we prefer get_config_int() to show the real value.
2019-10-04 11:15:11 +02:00
björn petersen
8dfd04672f
Merge pull request #670 from deltachat/tweak-config
...
tweak config
2019-10-03 21:19:45 +02:00
holger krekel
603761e4b7
add DC_EVENT_DELETED_BLOB_FILE
2019-10-03 18:01:56 +02:00
holger krekel
467c09f491
introduce DC_EVENT_NEW_BLOB_FILE event and test for it
2019-10-03 18:01:56 +02:00
B. Petersen
a953b494cb
cargo fmt
2019-10-03 17:41:09 +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
B. Petersen
23d2d87c24
do not panic on missing or wrong formatted values in the database
2019-10-03 17:15:40 +02:00
B. Petersen
c6b2d640ae
prefer context.get_config() over context.sql.get_config() as the latter does not handle default values.
2019-10-03 17:15:40 +02:00
björn petersen
b4b8a1d15b
Merge pull request #667 from deltachat/resilient-writes
...
more resilient database writes
2019-10-03 14:48:21 +02:00
Alexander Krotov
130d485cac
Fix some clippy warnings
2019-10-03 14:30:40 +02:00
B. Petersen
d5b92744ed
increase number of simultan database-connections, wait for write if another thread writes
...
- increase the number of simultan database-connections handled by the r2d2 pool.
currently we have already at least 5 threads threads,
but also the ui may call from any thread.
- the busy-timeout for all connections is set to 10 seconds.
this means, if a connection-A wants to write,
but connection B-is already writing,
connection-A waits multiple times a few ms and tries over.
this is repeated until the 10 seconds are accumulated.
2019-10-03 14:09:43 +02:00
Alexander Krotov
a5c4e16405
Merge pull request #647 from deltachat/tls_checks_config
...
Add certificate check configuration options
2019-10-02 23:21:03 +00: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
f93f3d6012
Do not set minimal TLS version for SMTP manually
2019-10-03 01:26:07 +03:00
Alexander Krotov
41806f86ba
Return certificate check information from get_info()
2019-10-03 01:26:07 +03:00
Alexander Krotov
59df97944f
Enable strict certificate checks for test online accounts
2019-10-03 01:26:07 +03:00
Alexander Krotov
468651534e
Manually specify values for CertificateChecks enum
...
This is what we are doing in constants.rs
2019-10-03 01:26:07 +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
641bd5eb15
Write configured_{mail,send}_certificate_checks to database
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
Alexander Krotov
b8ca7b1591
Add CertificateChecks::Automatic option and make it default
...
It is the same as AcceptInvalidCertificates for now,
but can be replaced with better heuristics later,
such as a database of known providers or TOFU.
2019-10-03 01:25:19 +03:00
Alexander Krotov
e222f49c9d
Use send_certificate_checks configuration
2019-10-03 01:25:19 +03:00
Alexander Krotov
297bc635e8
Add certificate check configuration options
2019-10-03 01:25:19 +03:00
holger krekel
230c65594c
add test for markseen not sending out smtp on second call
2019-10-02 23:51:14 +02: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
holger krekel
96066712bd
add and test for DC_IMAP_MESSAGE_DELETED event
2019-10-02 23:51:14 +02:00
holger krekel
d83aa1e898
perform heuristic moves only if a job is not delete
2019-10-02 23:51:14 +02:00
holger krekel
f0a7bdb6d6
properly parse message ids in imap prefetch
2019-10-02 23:51:14 +02:00
holger krekel
9c077c98cd
remove MdnSent logic
2019-10-02 23:51:14 +02:00
holger krekel
6dc45642b7
rework API
2019-10-02 23:51:14 +02:00
holger krekel
5c1b9c83f7
fixes #661 and also contains a cleanup of config access (only for e2ee and mdns)
2019-10-02 22:51:09 +02:00
holger krekel
92438737c9
- introduce and test BccSelf config, to prevent bcc-self on outgoing mails
...
- introduce context.get_config_int() which respects default values
declared in config.rs (Config)
2019-10-02 22:51:09 +02:00
holger krekel
489cdd1b24
- resultify send-out pipeline for better error reporting
...
- early ignore sending out smtp messages with no recipients
2019-10-02 22:51:09 +02:00
holger krekel
3f7995a7ea
start with some refactoring of the outgoing pipeline
2019-10-02 22:51:09 +02:00
Alexander Krotov
f7ad93229d
test_account.py: fix a typo in test message
2019-10-02 13:10:16 +02:00
Alexander Krotov
555b4bc8c7
python/README.rst: s/mail_pwd/mail_pw/
...
mail_pw is the option that is actually read by the tests
2019-10-02 13:09:45 +02:00
björn petersen
75f41bcb90
Merge pull request #658 from deltachat/fix-contact-requests
...
move contact-requests to the beginning of chatlists
2019-10-01 13:29:44 +02:00
B. Petersen
97e1fbc198
move contact-requests to beginning of chatlists
...
contact-requests of non-blocked senders are shown in the chatlist,
so that the user gets aware of them without opening the contact-request-chat.
however, for that, the contact-request virtual-chat-id
must be added to the beginning of the list,
otherwise it won't get noticed by the user.
2019-10-01 12:50:31 +02:00
holger krekel
ee6d16f1b1
on some call sites: peerstate.save_to_db() should bubble up errors instead of crashing.
...
also write a test that double-creation of an addr-row is fine.
2019-10-01 10:34:36 +02:00
björn petersen
22d2097132
log all database-migration actions ( #654 )
2019-09-30 20:56:19 +02:00
björn petersen
c376de9b5e
add sticker type ( #653 )
...
* add sticker type
this pr adds the message type 'sticker'.
stickers are handled as normal images
but tagged with the header `Chat-Content: sticker`
it's up to the ui to render these stickers appropriate.
* cargo fmt
2019-09-30 20:55:27 +02:00
holger krekel
ab2ef1e1e4
shift most mmime functions to wrapmime
2019-09-30 00:52:14 +02:00
holger krekel
18030fa61e
remove duplicate code and possibly a leak
2019-09-30 00:52:14 +02:00
holger krekel
064337b5d3
refactor one occassion of determinig transfer encoding
2019-09-30 00:52:14 +02:00
Dmitry Bogatov
a6a6fc48c1
Remove unused outlk_autodiscover_t.redirect field
2019-09-29 23:35:01 +02:00
holger krekel
d72e9bb05b
remove dc_get_fine_* method and validate_filename
2019-09-29 22:49:01 +02:00
holger krekel
7a9fdb4acd
add a new tested context.new_blob_dir method to simplify writing out blob files
2019-09-29 22:49:01 +02:00
Alexander Krotov
a6d0464735
Merge pull request #643 from deltachat/top_evil_rs-skip-safe
...
top_evil_rs.py: do not list safe files
2019-09-29 19:07:56 +00:00
Alexander Krotov
52f69cc7dc
top_evil_rs.py: do not list safe files
2019-09-29 18:51:48 +03:00
Dmitry Bogatov
0beadde758
Remove _safe suffix from dc_decode_header function
...
There is no longer unsafe version of this function, so suffix is
useless now.
2019-09-28 23:18:41 +02:00
Dmitry Bogatov
618abd63cf
Drop unsafe version of dc_decode_header_words
...
Replace all call sites with safe version and adjust tests as apporiate.
2019-09-28 23:18:41 +02:00
Friedel Ziegelmayer
34b3ddf63b
refactor(e2ee): reduce unsafe spread
2019-09-28 13:20:33 -06:00
holger krekel
ca76cac314
address @flub's review comment from https://github.com/deltachat/deltachat-core-rust/pull/622
2019-09-28 03:01:52 +02:00
B. Petersen
3a16ad89bd
make ffi-string-parameter const
...
typically, nearly all string-parameters in the ffi should be const.
one of the few exceptions is dc_str_unref() that really modifies the given data.
2019-09-28 02:56:27 +02:00
dignifiedquire
fb9369f333
refactor(imex): almost all unsafe gone here
2019-09-28 02:55:42 +02:00
B. Petersen
66897611d9
fix tests according to the changed verification structure
2019-09-28 00:55:36 +02:00
B. Petersen
6888554e9d
use independent verification key
...
there are 3 key blobs in the database, gossip_key, public_key and verified_key.
the verification_key should not change if, for any reasons,
the public_key or the gossip_key changes.
2019-09-28 00:55:36 +02:00
holger krekel
f28a971b96
several fixes and streamlinings, probably verified-group encryption is fixed, or at least we should see better errors
2019-09-27 23:24:57 +02:00
holger krekel
18808d0a61
majorly rustify and simplify the incoming decryption pipeline
2019-09-27 23:24:57 +02:00
holger krekel
86369148ee
fix #616 -- allow invalid certs for smtp and imap connections -- this is the behaviour of C-core.
2019-09-27 21:44:21 +02:00
holger krekel
f45ee2ab4d
fix #615 -- like with c-core Chat-Version is left in unprotected headers because
...
it's eg used in server-filters for detecting DC messages
2019-09-27 18:28:47 +02:00
holger krekel
2b73fab913
cargo fmt
2019-09-27 18:28:29 +02:00
holger krekel
e0d750ac64
little cleanup dc_imex
2019-09-27 18:28:29 +02:00
Alexander Krotov
bb57c6e7b7
Merge pull request #627 from deltachat/dc_receive_imf-slice
...
Pass slice to dc_receive_imf
2019-09-27 16:27:14 +00:00
Alexander Krotov
f346a052c1
Return Result from dc_initiate_key_transfer
2019-09-27 17:57:45 +02:00
Alexander Krotov
3933353b5f
Pass slice to dc_receive_imf
...
instead of pointer and length
2019-09-27 17:53:41 +03:00
Dmitry Bogatov
6c9c21c135
quote_word: avoid dependency on phf crate
2019-09-27 04:11:50 +02:00
Dmitry Bogatov
d02a721eed
Reimplement dc_encode_header_words in safe Rust
...
This change fixes proptest, introduced in [THIS~2] commit.
2019-09-27 04:11:50 +02:00
Dmitry Bogatov
8ffb4ae127
Add proptest seed that reveals strencoding bug
2019-09-27 04:11:50 +02:00
Dmitry Bogatov
96fbeb583b
Add proptest to check dc_header_{encode,decode}
2019-09-27 04:11:50 +02:00
Dmitry Bogatov
33b98a15d3
Remove unused "print_hex" function
2019-09-27 04:11:50 +02:00
Dmitry Bogatov
e523ebe3c1
Implement safe version of quote_word
2019-09-27 04:11:50 +02:00
Dmitry Bogatov
e17c671b7c
Rename local variables to not misleadingly refer to MMAPString
2019-09-27 04:11:50 +02:00
Dmitry Bogatov
e7565e1a2a
Use rust strings instead of MMapString in src/dc_strencode.rs
...
Since Rust strings operations are assumed to never fail, this commit
removes a lot of checking, whether appending to mmapstring fails. Now it
is Rust runtime burden.
2019-09-27 04:11:50 +02:00
B. Petersen
b73d6377fc
do not truncate messages in contact requests
...
core-c has truncated messages in the contact requests.
this is questionable in general, as
- all messages, including contact requests,
are already truncated, unquoted, simplified etc.
- the ui should be capable of showing the full text anyway
(when the contact request is accepted, the whole messase is shown)
- also, all current ui show the contact requests by name only in the
chatlist; the user often does not even come to the contact request view.
- if the ui wants to show the contact request is a special way,
it is probably better to leave this truncation up to the ui
2019-09-27 02:55:23 +02:00
holger krekel
31f5fffc45
cargo fmt
2019-09-26 20:45:03 +02:00
holger krekel
64c518c2f2
remove ok_to_continue
2019-09-26 20:45:03 +02:00
B. Petersen
1ed543b0e8
adapt group-id length to reality
2019-09-26 20:10:33 +02:00
Floris Bruynooghe
8b7cd2dd1a
Revert back to only ffi-level checking of open context
...
The Rust context is always open, the return value of this function was
simply the wrong way around.
2019-09-26 20:08:36 +02:00
Florian Bruhin
8520b5211a
python: Add .venv to .gitignore
2019-09-26 19:20:56 +02:00
Florian Bruhin
03661e2a71
python: Allow to configure debug logging via account
2019-09-26 19:20:56 +02:00
jikstra
20b82b3638
Fix ffi actually calling context.sql.is_open()
2019-09-26 18:36:31 +02:00
Alexander Krotov
cb499ae502
Return Result<String> from dc_decrypt_setup_file
2019-09-26 18:05:29 +02:00
holger krekel
02b73207f9
fixup this PR with tests, and returning None from get_filemime
2019-09-26 17:12:06 +02:00
jikstra
53b5cbc12a
get_filemime() should return an empty string if no mimetype is present
...
and not default to `applicatopm/octet-stream`
2019-09-26 17:12:06 +02:00
Friedel Ziegelmayer
f4c6decd2d
refactor(mmime): split up into modules ( #609 )
...
refactor(mmime): split up into modules
2019-09-26 15:28:36 +02:00
Floris Bruynooghe
69f1497986
Make dc_get_info() work on a closed context
...
There is very little API guarantees about this, but clients seem to
expect *something* to work on a closed context. So split this up into
static info an more dynamic context-related info, but let's not
provide any guarantees about what keys are available when.
Fixes #599
2019-09-26 14:22:03 +02:00
Florian Bruhin
2b46f01fe3
Use sys.executable in install_python_bindings.py
...
When calling pip this way, the virtualenv is used even if not activated.
2019-09-26 13:09:08 +02:00
dignifiedquire
dd4adb57cf
refactor(mmime): remove some duplication
2019-09-26 12:36:23 +02:00
dignifiedquire
452bce07e1
refactor(mmime): split up into modules
2019-09-26 12:36:23 +02:00
Simon Laux
8d702d0b77
rename and update providers crate
2019-09-26 01:42:39 +02:00
holger krekel
e1dc4b69f5
address all @dignifiedquire review comments
2019-09-25 23:46:44 +02:00
holger krekel
6cd3580263
rustifying dc_continue_key_transfer and fix master-conflict
2019-09-25 23:46:44 +02:00
holger krekel
d5383aecc9
finish dc_imex refactoring, fix linting, rustify some things
2019-09-25 23:46:44 +02:00
holger krekel
71cbbab2c9
fix #596 and some cleanups
2019-09-25 23:46:44 +02:00
holger krekel
8518d8f456
rustify imex and friends
2019-09-25 23:46:44 +02:00
holger krekel
adc0db04bc
failing test
2019-09-25 23:46:44 +02:00
björn petersen
c61fc59003
Merge pull request #608 from deltachat/fix-get-setupcodebegin
...
fix boolean error that makes get_setupcodebegin() failing
2019-09-25 21:39:48 +02:00
B. Petersen
40f9072250
add get_setupcodebegin to python bindings, test the function
2019-09-25 21:13:05 +02:00
B. Petersen
ea30bb351e
fix boolean error that makes get_setupcodebegin() failing
2019-09-25 20:37:36 +02:00
Alexander Krotov
b93550f6c8
Use DC_MSG_ID_LAST_SPECIAL in dc_continue_key_transfer
2019-09-25 03:29:37 +02:00
Alexander Krotov
60bd053095
Pass setup_code to dc_continue_key_transfer as &str
2019-09-25 03:29:37 +02:00
Alexander Krotov
8165b76001
Make dc_normalize_setup_code safe
2019-09-25 03:29:37 +02:00
jikstra
efc563f5ff
fix test
2019-09-25 01:06:42 +02:00
jikstra
e52acc994c
Make get_draft() return Ok(None) when called for a special chat id
2019-09-25 01:06:42 +02:00
holger krekel
646833d3ec
remove phf crate macro usage: it introduced 7 deps and is really an optimization if you very large (100K+) tables -- we have 10 entries or so and it's called once per message. Let's not introduce crates just because we can -- it increases compile time and in the phf case also introduced a github dependency (for whatever reason -- don't want to know ;)
2019-09-25 00:19:47 +02:00
dignifiedquire
fd72c27afe
chore(release): release 1.0.0-alpha.5
2019-09-24 17:26:18 +02:00
dignifiedquire
c13bcc25c6
chore(deps): update lock file
2019-09-24 17:25:03 +02:00
holger krekel
21c9ff6c85
cargo fmt
2019-09-23 23:13:41 +02:00
holger krekel
4d6b367654
remove ok_to_continue from job
2019-09-23 23:13:41 +02:00
holger krekel
e2fd22a78e
cargo fmt
2019-09-23 21:23:55 +02:00
holger krekel
0759bdde01
cleanup chat.rs: remove ok_to_continue and return result from add_contact methods
2019-09-23 21:23:55 +02:00
holger krekel
faa03e0e14
no functional code change: rename dc_mimefactory to mimefactory and move some functions to become MimeFactory methods
2019-09-23 20:20:34 +02:00
holger krekel
f70897a6d3
rustify new_data_part() and related sanitizations
2019-09-23 18:43:04 +02:00
holger krekel
ba231d2c5f
address @dignifiedquire comments
2019-09-23 17:10:21 +02:00
holger krekel
095cb759ed
avoid cdata_to_free trick and some more cleanups
2019-09-23 17:10:21 +02:00
holger krekel
5cbcb76039
introduce safety and a particular EncryptHelper
2019-09-23 17:10:21 +02:00
holger krekel
3388b42f20
another rustification of encrypt()
2019-09-23 17:10:21 +02:00
holger krekel
e1d541b02e
create wrapmime module and simplify some mailmime code
2019-09-23 17:10:21 +02:00
Friedel Ziegelmayer
cb784615ee
feat: import mmime crate
2019-09-23 13:20:30 +02:00
B. Petersen
321c5e049b
re-add some comments from core-c
2019-09-22 23:39:16 +02:00
holger krekel
ed7cf218f8
address three comments from @dignifiedquire
2019-09-22 23:39:16 +02:00
holger krekel
74d8368525
rustify references, in_reply_to, mimefactory's recipients_{addr,names}
2019-09-22 23:39:16 +02:00
holger krekel
dcbfa272f9
rustify parts of MimeFactory struct
2019-09-22 23:39:16 +02:00
holger krekel
42dd600e0c
more rustifications
2019-09-22 23:39:16 +02:00
holger krekel
9689df601f
streamline mimetype guessing and build_body_file
2019-09-22 23:39:16 +02:00
holger krekel
f6019583b7
better looping on some clists
2019-09-22 23:39:16 +02:00
holger krekel
2d50a3335d
- add mailimf_field_add helper to reduce number of strdup()s
...
- make build_body_text avoid char*
2019-09-22 23:39:16 +02:00
holger krekel
202bfa987d
dc_mimefactory+friends: simplify used strings, convert message_text and message_text2 to String, convert ints to bools
2019-09-22 23:39:16 +02:00
holger krekel
93f9c7cfbd
e2ee_guaranteed -> bool, rustify set_error
2019-09-22 23:39:16 +02:00
Dmitry Bogatov
8f6a0bbf09
Remove unused argument of DC_JOB_CONFIGURE_IMAP
2019-09-22 22:22:00 +02:00
björn petersen
1a47c148e5
Merge pull request #574 from KAction/test-dc_remove_cr
...
Add test for `dc_remove_cr_chars`
2019-09-22 19:47:22 +02:00
björn petersen
2435ba1ea0
Merge pull request #576 from KAction/quote_word
...
Remove useless argument to `quote_word`
2019-09-22 19:46:48 +02:00
Dmitry Bogatov
9ba57a923b
Remove useless argument to quote_word
...
Function "quote_word" accepts display charset argument, but on only call
site it is string constant. Change function to always use "utf-8"
display charset, and remove useless argument.
2019-09-21 22:20:56 +00:00
Dmitry Bogatov
90e2b6f26b
Add test for dc_remove_cr_chars
2019-09-21 21:26:47 +00:00
dignifiedquire
05f9f454c3
refactor: remove x module and delete deadcode
2019-09-21 17:56:49 +02:00
Friedel Ziegelmayer
b85f59798c
refactor(chat): remove c types and unsafe ( #572 )
...
refactor(chat): remove c types and unsafe
2019-09-21 17:14:52 +02:00
dignifiedquire
e80345a05b
refactor(chat): remove c types and unsafe
2019-09-21 16:59:59 +02:00
dignifiedquire
0bdcc3d616
refactor(message): remove remaining unsafe and c types
2019-09-21 16:37:19 +02:00
dignifiedquire
987f12740e
refactor(message): remove unsafe and c types from the Message api
2019-09-21 16:37:19 +02:00
dignifiedquire
1265016a55
refactor(message): rustiy api
2019-09-21 16:37:19 +02:00
Friedel Ziegelmayer
48d1de3678
Avoid ok-to-continue pattern in set_draft_raw ( #570 )
...
Avoid ok-to-continue pattern in `set_draft_raw`
2019-09-21 14:32:20 +02:00
Dmitry Bogatov
43f6db3252
cargo-fmt
2019-09-21 06:19:55 +00:00
Dmitry Bogatov
5b917e7d10
Remove last mutable variable from do_set_draft
2019-09-21 06:19:21 +00:00
Dmitry Bogatov
0523868a88
Avoid ok-to-continue pattern in "do_set_draft" function
...
Note: I strongly suggest reviewing this commit in side-by-side mode.
Note: This commit fails CI due incorrect formatting. It is done
deliberately to simplify review process.
2019-09-21 06:16:15 +00:00
Dmitry Bogatov
26f176eb7e
Factor another part of set_draft_raw into separate function
2019-09-21 06:04:55 +00:00
Dmitry Bogatov
ad32b5ca8f
cargo-fmt
2019-09-21 05:44:31 +00:00
Dmitry Bogatov
dbf14179dc
Make message argument to set_draft_raw() no longer optional
...
Previously, "set_draft_raw" function was used with "msg = None" only for
side-effect of removing current draft message in chat.
After draft removal functionality was factored into separate
"maybe_delete_draft" function, it is used directly in only call site,
which used to invoke "set_draft_raw" with optional message.
This function is private, and this refactoring does not change FFI
interface.
Note: This commit fails CI due incorrect formatting. It is done
deliberately to simplify review process.
2019-09-21 05:34:48 +00:00
Dmitry Bogatov
45b0a4ec27
Factor part of set_draft_raw into new function maybe_delete_draft
2019-09-21 05:24:03 +00:00
dignifiedquire
1969ee02a5
refactor(mimeparser): rustify mailmime_get_type
2019-09-21 00:51:36 +02:00
dignifiedquire
266b205c75
refactor: rustify interface of maimlime_transfer_decode
2019-09-21 00:51:36 +02:00
Dmitry Bogatov
7dd3bad8bd
Add factory method MimeFactory::new
...
* src/dc_mimefactory.rs(new): add factory method to have verbose
initialization of all (more than 10) MimeFactory fields only in one place.
* src/dc_mimefactory.rc(dc_mimefactory_load_msg, dc_mimefactory_load_mdn):
simplify code (and reduce linecount) using Mimefactory::new
2019-09-20 22:49:33 +02:00
holger krekel
4b45be7cda
cargo fmt only
2019-09-20 22:43:20 +02:00
holger krekel
497ffd86fa
make logic and comments more like C (early returns instead of nestedness)
...
next commit: cargo fmt
2019-09-20 22:43:20 +02:00
dignifiedquire
0bdcc4269f
refactor(mimeparser): split and cleanup parse_mime_recursive
2019-09-20 21:42:23 +02:00
Friedel Ziegelmayer
e583c99f94
Make return type of Image::mv an enum ( #548 )
...
Make return type of Image::mv an enum
2019-09-20 20:56:27 +02:00
Friedel Ziegelmayer
e22e50c3fa
Rename dc_mimefactory_t -> MimeFactory ( #563 )
...
Rename dc_mimefactory_t -> MimeFactory
2019-09-20 20:56:12 +02:00
Dmitry Bogatov
e9c9a3e1ce
Change type of MimeFactory.loaded to enum
...
* src/dc_mimefactory.rs(MimeFactory): change type of `loaded` field
* src/dc_mimefactory.rs(Loaded): new enum, describing possible
values of `loaded` field of `MimeFactory` structure
* src/dc_mimefactory.rs(dc_mimefactory_loaded_t): remove unused type alias
* src/job.rs(add_smtp_job): adjust call site by removing multiple casts
* src/dc_mimefactory.rs(dc_mimefactory_render): ditto
2019-09-20 18:02:57 +00:00
Dmitry Bogatov
fa7bb71f3f
Change type of MimeFactory.out_{gossip,encrypted} to bool
2019-09-20 18:02:57 +00:00
Dmitry Bogatov
34a3ad82e0
Rename dc_mimefactory_t -> MimeFactory
...
CamelCase naming convention is more natural for Rust.
https://rust-lang-nursery.github.io/api-guidelines/naming.html
2019-09-20 18:02:57 +00:00
Dmitry Bogatov
2f5d74dbf4
Remove unused constants from src/imap.rs
2019-09-20 17:35:26 +00:00
Dmitry Bogatov
4bf5ba594c
Make Imap::set_mdnseen return enum, not int
2019-09-20 17:35:26 +00:00
Dmitry Bogatov
6e2da27f45
Change return type of Imap::set_seen to enum
2019-09-20 17:35:26 +00:00
Dmitry Bogatov
6ee9465d43
Make return type of Image::mv an enum
...
Replace named constants with enum to improve type-safety and make
exhausiveness checks possible.
Note, that since this enum never pass FFI border, its numeric values
does not need to be specified explicitly and can be left on compiler's
discretion.
2019-09-20 17:35:25 +00:00
Dmitry Bogatov
391a6bf422
Replace numbers with named constants
2019-09-20 17:35:25 +00:00
Floris Bruynooghe
5001a0e37d
Fix dc_make_rel_path
...
This was not substituting $BLOBDIR correctly.
2019-09-20 18:38:39 +02:00
holger krekel
fd8d16a7db
replace weird pointer-loops with nice for-loops (thanks @dignifiedquire for guiding)
2019-09-20 17:52:07 +02:00
holger krekel
f3ac9306f3
use bool instead of int
2019-09-20 17:52:07 +02:00
holger krekel
59740d0b56
remove unused var, numbers to const-names
2019-09-20 17:52:07 +02:00
holger krekel
fb05a6c26f
transfer docs to and cleanup some parts of e2ee::decrypt()
2019-09-20 17:52:07 +02:00
holger krekel
7943b708d2
dc_mimeparser: do a round of renames on numbers to constants and add comments from the C code
2019-09-20 15:23:34 +02:00
dignifiedquire
04e37d1eca
chore: update mmime to released version and other deps
2019-09-20 12:02:08 +02:00
holger krekel
91b98e8c6d
as discussed during camp and otherwise ... add dc_perform_{mvbox,sentbox}_jobs hooks which, however, for now have an empty implementation. They can already be called from UIs, though. Next step is refactoring imap-job handling to only execute jobs belonging to the respective imap folder.
2019-09-20 01:03:25 +02:00
Floris Bruynooghe
70234e5b19
Add a test for fix in #541
...
A fixed bug should have a test. This is an easy test to write.
2019-09-20 00:46:54 +02:00
holger krekel
ceff85d892
add test and python API for verified group handling/chatting
...
add msg.is_encrypted() API and check for it from some tests
2019-09-20 00:33:33 +02:00
holger krekel
9f914dd42e
fix test-state modification bug (online tests running after OnlineConfigureFails tests would break)
2019-09-19 23:01:51 +02:00
holger krekel
24f5d68fef
add configure-failure tests
2019-09-19 23:01:51 +02:00
Dmitry Bogatov
735fc325b1
Add test for export_key_to_asc_file
2019-09-19 21:43:54 +02:00
Dmitry Bogatov
178b216e48
Reduce number of arguments of export_key_to_asc_file
...
Previously, this function accepted both key id (integer) and is_default
(boolean). If `is_default` flag was set, value `id` parameter wasn't
used. This commit compresses two argument into single `id: Option<i64>`.
2019-09-19 21:43:54 +02:00
Simon Laux
5d0481f7a2
use provider overview crate instead of git
2019-09-19 20:07:34 +02:00
holger krekel
711bc69750
address @dignifiedquire comment
2019-09-19 20:03:16 +02:00
holger krekel
7263c9490d
refactor rfc724_mid parsing and creation to avoid char*, add tests
2019-09-19 20:03:16 +02:00
holger krekel
0c88bc6ac7
more rfc724_mid cleanup
2019-09-19 20:03:16 +02:00
holger krekel
fda8d0a2e2
factory.rfc724_mid is a String now (instead of C-Char*)
2019-09-19 20:03:16 +02:00
holger krekel
14bdf7fae8
make dc_create_outgoing_rfc724_mid safe and simplify call sites
2019-09-19 20:03:16 +02:00
holger krekel
d4ff7ecbaa
split qr tests
2019-09-19 20:00:27 +02:00
Dmitry Bogatov
030aec7373
Read example GPG keys from files using include_str!
...
For consistency with other tests that use example public and private
keys, replace use of `concat!` macro with `include_str!`. This way, key
data embedded into source with single line of code.
2019-09-19 18:57:39 +02:00
B. Petersen
6a351de4f9
cargo fmt
2019-09-19 18:42:29 +02:00
B. Petersen
bbff1c9c3e
test that bad credentials do not panic
2019-09-19 18:42:29 +02:00
B. Petersen
bbb8144129
do not panic when 0 (=failure) is passed to the progress! macro
2019-09-19 17:00:01 +02:00
Friedel Ziegelmayer
83f3e23297
improve python caching ( #468 )
...
(@dignifiedquire and @hpk42)
- introduce rust-caching to python test runs
- skip release and ffi runs, they are check using python bindings
- shuffle files such that ci_scripts/ contains all the ci scripts
- partly parallelize python tox runs
2019-09-19 13:10:19 +02:00
B. Petersen
4f880932ae
change oder of typedefs, function-definitions and defines
...
as c is top-down, we start with the typedefs
so that functions can use them freely.
after that, the functions are declared
and finally the #defines (for less noise in the function sections).
grouping is done by classes.
2019-09-19 12:58:26 +02:00
B. Petersen
62e8c2497c
add missing doxygen commands, fix typo
2019-09-19 12:58:26 +02:00
Simon Laux
37f854be3e
Add provider info functions to the FFI API
...
A lot of work from @Hocuri and @Simon-Laux mostly.
This exposes the API of the deltachat-provider-overview crate on the
deltachat FFI API, allowing clients to use it to help users set up
their accounts.
2019-09-19 07:17:44 +02:00
Dmitry Bogatov
e0e82e1877
Fix ffi interoperability issue
...
Clients expect empty "dbfile" argument to be treated as NULL value.
This change fulfills their expectations.
Closes : #530
2019-09-19 07:15:35 +02:00
Dmitry Bogatov
95d8665dbe
Refine signature of dc_get_oauth2_access_token()
...
Previously, `dc_get_oauth2_access_token` accepted "flags" argument,
that actually had only one possible field: 0x1 == DC_REGENERATE.
This change replaces "flags" argument with single boolean argument
"regenerate".
2019-09-18 19:29:39 +02:00
dignifiedquire
8667de994e
use proper Result instead of Option for encryption and decryption
2019-09-18 19:21:41 +02:00
holger krekel
cee0e22ce7
fix #538 -- don't crash on wrong setup codes for ac-message, don't use "expect(), added test
2019-09-18 19:21:41 +02:00
holger krekel
dc8a2f54e5
use utf8 lossy strings for saved mime headers (as discussed on PR and IRC with @r10s)
2019-09-18 16:47:04 +02:00
dignifiedquire
b3bc5b2520
fix(receive_imf): do not attempt to convert raw body to utf8
2019-09-18 16:47:04 +02:00
B. Petersen
00e929afac
reformat: use shorter lines (max. 80 chats) and try to add linebreaks semantically
2019-09-18 15:20:34 +02:00
Dmitry Bogatov
8a3bf6a5d9
Remove use of `dbg!' macro
...
According to documentation[^1], this macro should not be in version
control, and should only be used for debugging.
https://doc.rust-lang.org/std/macro.dbg.html
2019-09-18 14:35:49 +02:00
Dmitry Bogatov
d5f361d386
Use include_str! macro instead of embedding key into source
...
Additionally, this change reduces duplication: now test public key is
stored in only one place, and used in two instead of copy-paste of very
long line.
2019-09-18 14:35:49 +02:00
Dmitry Bogatov
7bb4a27b60
Make Context.cb field private (no code changes)
2019-09-18 14:35:49 +02:00
holger krekel
3bd36feede
fix broken rust mimeparser fuzzy tests
2019-09-18 14:15:16 +02:00
holger krekel
fc1f1ce37c
streamline fixtures for online accounts, reducing test functions
2019-09-18 14:15:16 +02:00
holger krekel
ee327dc87d
remove an ancient hack on context-teardown, refine and use more regular API for finalizing online accounts
2019-09-18 14:15:16 +02:00
Dmitry Bogatov
d644ca5563
Add property test for simplify_plain_text
2019-09-18 07:34:56 +02:00
Dmitry Bogatov
b3b1e37192
Add tests for dc_dehtml
2019-09-18 07:34:56 +02:00
Dmitry Bogatov
38f39c8d32
Add smoke test for Context.get_fresh_msgs
2019-09-18 07:34:56 +02:00
Dmitry Bogatov
a773b7929c
Add fuzzy-test for dc_mimeparser_parser
2019-09-18 07:33:22 +02:00
Dmitry Bogatov
7b73103133
Add test for mime parsing reportedly crash-inducing message
2019-09-18 07:33:22 +02:00
holger krekel
b6803191cb
Merge branch 'refactor/remove-mprintf'
2019-09-17 16:23:25 +02:00
holger krekel
2b038a34c9
Merge branch 'master' into refactor/remove-mprintf
2019-09-17 15:46:05 +02:00
B. Petersen
8c2c3f8bee
move spec.md from separate repo here
2019-09-17 10:49:34 +02:00
dignifiedquire
e710836276
cleanup and fix earlier introduced scoping error
2019-09-16 22:58:10 +02:00
dignifiedquire
6be3c9a48a
refactor: improve mime field lookup
2019-09-16 22:58:10 +02:00
dignifiedquire
c0747bf68d
refactor: use enum for system messages
2019-09-16 22:58:10 +02:00
dignifiedquire
0346dd15d9
refactor(mimeparser): some more sanity
2019-09-16 22:58:10 +02:00
dignifiedquire
ff0aa8423d
refactor: remove now unused build.rs and extern declarations
2019-09-16 07:59:41 +02:00
dignifiedquire
0f718e0d08
refactor(mimefactory): remove dc_mprintf
2019-09-16 07:59:41 +02:00
dignifiedquire
9534a9ad30
refactor(mimeparser): remove dc_mprintf
2019-09-16 07:59:41 +02:00
dignifiedquire
d091857cef
refactor(imex): remove dc_mprintf
2019-09-16 07:59:41 +02:00
dignifiedquire
72a9ca0aa5
refactor(receive_imf): remove dc_mprintf
2019-09-16 07:58:08 +02:00
dignifiedquire
ecaae42b80
refactor(examples): remove dc_mprintf
2019-09-16 07:58:08 +02:00
dignifiedquire
84bf1ec6e7
refactor(tools): no more dc_mprintf
2019-09-16 07:58:08 +02:00
dignifiedquire
0bf3d20e07
fix and implement ffi tranlation
2019-09-15 23:40:08 +02:00
dignifiedquire
5486ac5b9f
refacor: use an enum for events
2019-09-15 23:40:08 +02:00
Alexander Krotov
ac12b2e643
chore(key): remove unused *fingerprint_c functions
2019-09-15 19:32:16 +02:00
dignifiedquire
16c281a9b7
refactor(context): safe interface
2019-09-15 16:36:31 +02:00
dignifiedquire
413e3eb62d
apply more CR
2019-09-15 16:36:31 +02:00
dignifiedquire
f31f341a50
feat: enforce Debug implementations and remove mod types
2019-09-15 16:36:31 +02:00
dignifiedquire
c2501258b6
apply CR feedback
2019-09-15 16:36:31 +02:00
dignifiedquire
de1e3e1d4f
refactor(context): remove last unsafe bits from the context struct
2019-09-15 16:36:31 +02:00
Floris Bruynooghe
a3f64d4e95
Handle new Context creation API on the FFI
...
This adopts the FFI API to use the new Context::new() and
Contest::drop() Rust-style APIs while preserving the semantics of the
existing FFI API. It introduces a wrapper around the context which
keeps an optional reference to the actual context, changing dc_open()
and dc_close() to create/destroy the actual reference.
This changes the events emitted on closing slightly: they only get
emitted when dc_close() was called while the context was open. While
dc_close() remains idempotent in that it can still be called safely
multiple times, the close events will only occur if the context is
actually closed.
2019-09-15 02:37:13 +02:00
Floris Bruynooghe
afc9a31080
Remove dc_open call
...
A new context is now created by calling Context::new and therefore you
always have a valid context. This is much more in Rust style and will
allow a lot of furture simplifications on the context itself.
The FFI layer has not yet been adjusted in this commit and thus will
fail.
2019-09-15 02:37:13 +02:00
Simon Laux
e5699e8ba9
Merge pull request #517 from deltachat/fix_get_draft
...
Fix get_draft to just return null and not produce errors if there's no
2019-09-14 23:39:09 +02:00
Floris Bruynooghe
8a7143b791
Return a Result<Option<Message>> for get_draft
...
The function can fail, so we need to still have an error return as
well as a no-draft return.
Add tests.
2019-09-14 23:00:13 +02:00
björn petersen
79d23909b5
fix 'this message is not encrypted' error in verified groups ( #522 )
2019-09-14 18:55:19 +02:00
Alexander Krotov
24fe4740d3
Merge pull request #498 from deltachat/return_bool
...
Resolve "should return bool" TODOs
2019-09-14 14:31:50 +00:00
Alexander Krotov
1e1d3f4aa8
Merge pull request #521 from deltachat/server_flags
...
Restore DC_LP_* constants from C code
2019-09-14 14:19:02 +00:00
Alexander Krotov
51bf875826
Use DC_LP_* constants in configure module
2019-09-14 13:22:59 +03:00
Alexander Krotov
f9ce6c7c81
Use DC_LP_* constants in auto_outlook.rs
2019-09-14 13:16:21 +03:00
Alexander Krotov
2e91c3d334
Use DC_LP_* constants in auto_mozilla.rs
2019-09-14 13:14:35 +03:00
Alexander Krotov
d1b762af04
Make DC_LP_* constants public
2019-09-14 13:14:18 +03:00
Alexander Krotov
e1e02839d1
Return bool from dc_mimefactory_render
2019-09-14 12:06:33 +03:00
Alexander Krotov
50a812ea5e
Return bool from mailmime_transfer_decode
2019-09-14 12:03:10 +03:00
Alexander Krotov
27a4adb9c6
Return bool from export_key_to_asc_file
2019-09-14 12:03:10 +03:00
Alexander Krotov
3932d8f48f
Return bool from export_self_keys
2019-09-14 12:03:10 +03:00
Alexander Krotov
d978a8e0a2
Return bool from {import,export}_backup
2019-09-14 12:03:10 +03:00
Alexander Krotov
fad49e08d7
message.rs: resolve "should return bool" TODOs
2019-09-14 12:03:10 +03:00
Alexander Krotov
0f67b16f29
Return bool from add_contact_to_chat_ex
2019-09-14 12:03:10 +03:00
Alexander Krotov
97edd23910
Return bool from add_to_chat_contacts_table
2019-09-14 12:03:10 +03:00
Alexander Krotov
400ab2cdab
Return bool from dc_msg_get_showpadlock
2019-09-14 12:03:10 +03:00
jikstra
db20ecf985
Remove println
2019-09-13 22:35:31 +02:00
jikstra
e59f421e79
cargo fmt
2019-09-13 22:25:18 +02:00
jikstra
75b7de712a
Fix get_draft to just return null and not produce errors if there's no
...
draft
2019-09-13 18:19:52 +02:00
Alexander Krotov
fa8192177d
Merge pull request #514 from deltachat/in_reply_to
...
Store In-Reply-To header as Option<String>
2019-09-13 10:21:32 +00:00
Alexander Krotov
48ffef7955
Store In-Reply-To header as Option<String>
2019-09-13 11:43:48 +03:00
Alexander Krotov
055796e6b3
Merge pull request #496 from KAction/safe
...
Make dc_msg_get_file return PathBuf, not char*
2019-09-13 00:43:28 +00:00
B. Petersen
34433c4962
support additional placeholder in stock-string
2019-09-12 23:44:40 +02:00
Alexander Krotov
6d1076e1f6
Mark dc_imex() as safe
2019-09-12 23:43:25 +02:00
Dmitry Bogatov
bb4081e503
Rename query_row_col to query_get_value
...
Since function `query_row_col` no longer accept column number argument,
it is misleading to mention column in its name.
2019-09-12 18:42:12 +00:00
Dmitry Bogatov
bef25ad5f6
Avoid excessive allocation in dc_search_msgs
2019-09-12 17:12:26 +00:00
Dmitry Bogatov
f47652e72d
Change argument type of write_asc_to_file from const char * to &Path
2019-09-12 17:12:23 +00:00
Dmitry Bogatov
7c4d7fb3dd
Make Aheader::from_imffields accept &str, not const char *
2019-09-12 06:32:13 +00:00
Dmitry Bogatov
cdfc7281d0
Simplify Sql.query_row_col function
...
Function `query_row` executes query and calls callback function to process
row returned. Function query_row_col() is special case, that provides
callback function, which returns value of one particular column of row,
ignoring others.
In all cases, that particular column was 0 (first and only column of
query result), since there is no point to select more than one column
with this function -- they are discarded anyway.
This commit removes that redundancy, removing column number argument of
query_row_col() function and adjusting call sites accordingly.
2019-09-12 05:01:06 +00:00
Dmitry Bogatov
500e80784a
Replace some of context.sql.get_config() with context.get_config()
...
Pattern `context.sql.get_config(context, {foo})` is unnecessary
redundant in Rust: unlike C, Rust has associated functions (methods).
2019-09-12 04:41:06 +00:00
Dmitry Bogatov
c5803d9b4c
Remove useless catch-all pattern-matching
2019-09-12 04:17:00 +00:00
Dmitry Bogatov
ebac00fbde
Use safe version of dc_write_file
...
* src/key.rs(write_asc_to_file): simplify code using safe version of
dc_write_file() function
2019-09-12 04:11:44 +00:00
Dmitry Bogatov
f198ce29b1
Drop unsafe version of dc_get_abs_path
2019-09-12 04:11:43 +00:00
Dmitry Bogatov
df47e0ed63
Use safe version of dc_get_abs_path.
...
* src/dc_mimefactory.rs(build_body_file): use safe version of
dc_get_abs_path() function.
2019-09-12 04:10:05 +00:00
Dmitry Bogatov
477470ff70
Make dc_msg_get_file return PathBuf, not char*
...
Adjust call sites as apporiate:
* src/dc_imex.rs(dc_continue_key_transfer): use if-let pattern
with dc_read_file_safe() and dc_msg_get_file()
* src/message.rs(dc_msg_get_setupcodebegin): ditto
* src/message.rs(dc_get_msg_info): simplify code to print information
about file inside a message.
* src/message.rs(dc_msg_get_file): simplify function using
dc_get_abs_path_safe()
* deltachat-ffi/src/lib.rs(dc_msg_get_file): convert PathBuf to `char *`
to preserve C API
2019-09-12 04:10:05 +00:00
Floris Bruynooghe
aefddf7f5e
Remove context refrence from Contact struct
...
This will allow the Rust Context API to be refactored without breaking
the C API. Full details in #476 aka
a0b5e32f98
2019-09-11 23:53:48 +02:00
Floris Bruynooghe
5ce27b16f1
Remove context refernce from Chatlist
...
See #476 aka a0b5e32f98 for full
rationale. Tl;dr it allows us to evolve the Rust API while keeping
the FFI API identical.
2019-09-11 23:53:48 +02:00
Floris Bruynooghe
8302d6833d
Remove context ref from Chat struct
...
Leaving the C API untouched. See #476 aka
a0b5e32f98 for more extensive rationale.
2019-09-11 23:53:48 +02:00
holger krekel
649c2eb676
try running qr tests in a new process instead of with all the other tests
2019-09-11 22:42:51 +02:00
Floris Bruynooghe
a0b5e32f98
Remove the context reference from Message struct
...
The Message struct had a reference to the context which made a few
APIs a little easier. However it has surprising consequences a long
way down the line as shown in #335 : it means any object which has such
a reference needs to keep open a lock if we want to do this refactor
of no longer having a "closed" Context struct on the Rust API (which
has many benefits which will simply that Context struct and is more
the Rust way - RAII etc).
By refactoring away the context reference on the rust API as done in
here however, we push this behaviour of how these references are
handled back to the C-API pointer behaviour: that is unsafe but just
works in a C-like way. The resulting complexity in the FFI layer is
also notably less than in the #335 alternative.
As a consequence all APIs which require the context, now explicitly
need to get the context passed in as an argument. It looks like this
is certainly no downside and maybe even beneficial for further API
refactors.
For this strategy to work out the same should be done to
dc_chatlist_t, dc_chat_t and dc_contact_t. But this working for
dc_msg_t give a reasonable confidence that this is a good approach.
2019-09-11 21:48:40 +02:00
björn petersen
e73671a6ff
Merge pull request #485 from deltachat/really-fix-477
...
do not panic on bad-utf-8
2019-09-11 20:14:48 +02:00
björn petersen
9503aca78d
Merge branch 'master' into really-fix-477
2019-09-11 19:52:13 +02:00
björn petersen
dfaa8e4529
Merge pull request #490 from deltachat/fix/location-sql
...
fix(location): do not sql recurse in location sending
2019-09-11 19:40:46 +02:00
björn petersen
cbc3579e9a
Merge pull request #489 from deltachat/no-recursive-delete
...
do not recursive delete folders
2019-09-11 19:39:15 +02:00
dignifiedquire
dd2e3d35fd
fix(location): another nesting
2019-09-11 18:13:21 +02:00
dignifiedquire
ca9dccfcd7
fix(location): another nested sql
2019-09-11 17:57:59 +02:00
dignifiedquire
64b00fce7d
fix(location): do not sql recurse in location sending
2019-09-11 17:46:05 +02:00
B. Petersen
177ab0229a
do not call fs::remove_dir_all() implicitly on non-files; deleting folders is not needed and calling remove_dir_all() is considered harmful
2019-09-11 17:02:27 +02:00
Alexander Krotov
68b5e34fed
Merge pull request #488 from KAction/transfer
...
Reduce indentation in dc_continue_key_transfer
2019-09-11 05:36:02 +00:00
Dmitry Bogatov
2eda839303
cargo-fmt
2019-09-11 02:21:39 +00:00
Dmitry Bogatov
71a01d3002
Reduce indentation in dc_continue_key_transfer
...
Replace `if (ok) { }` pattern with `if (!ok) return` to reduce
indentation level.
Note: This commit fails CI due incorrect formatting. It is done
deliberately to simplify review process.
2019-09-11 02:21:39 +00:00
Alexander Krotov
995548002b
Merge pull request #484 from link2xt/safe_test_encryption_decryption
...
Safe test encryption decryption
2019-09-11 00:43:21 +00:00
Alexander Krotov
38ad16887b
Merge pull request #487 from KAction/top_evil
...
Minor refactoring
2019-09-11 00:42:48 +00:00
Dmitry Bogatov
c20e8f7613
Use safe version of dc_decode_header_words on one call site
2019-09-10 23:31:29 +00:00
Dmitry Bogatov
5bd4606854
Implement safe version of `dc_decode_header_words'
2019-09-10 23:26:08 +00:00
Dmitry Bogatov
e7b198849d
Copy comment for dc_encode_headers_words from C code
2019-09-10 22:49:53 +00:00
Dmitry Bogatov
3ab0d74af2
Remove unused `unsafe' block in log_event! macro
2019-09-10 22:35:54 +00:00
Dmitry Bogatov
7ed5a8e72f
Reimplement logging macros in terms of log_event!
...
Avoid copy-paste message formatting code in src/log.rs, forwarding all
arguments of info! warn! error! macros to generic log_event! macro.
2019-09-10 22:34:38 +00:00
Dmitry Bogatov
57daa0f7f0
Remove useless argument of logging macros
...
Previously, logging macros (info! warn! error!) accepted integer
argument (data1), that was passed to callback function verbatim. In all
call sites this argument was 0.
With this change, that data1 argument is no longer part of macro
interface, 0 is always passed to callback in internals of these macros.
2019-09-10 22:26:47 +00:00
Dmitry Bogatov
2dd3f169db
Use set_config_bool instead of set_config_int in boolean context
2019-09-10 22:26:47 +00:00
Dmitry Bogatov
b97b618b4b
Use sql.get_config_bool to simplify dc_is_configured
2019-09-10 22:26:47 +00:00
Dmitry Bogatov
bb12488200
Add Sql.{set,get}_config_bool methods
...
Previously, boolean configurations were implemented on top of i32
(get_config_int, set_config_it) at call sites.
Having one canonical location, containing boolean <-> database
conversion may help to avoid serialization issues.
2019-09-10 22:26:47 +00:00
Alexander Krotov
706a97b013
Move part of test_encryption_decryption to key.rs
2019-09-11 00:40:46 +03:00
Dmitry Bogatov
1cdb9c733a
Change return type of `dc_is_configured' to bool
2019-09-10 19:08:55 +00:00
holger krekel
ffc525af9e
pragmatismatic: run flaky tests three times to see if we can get more "green" CI runs this way ...
...
thanks to @the-compiler also modernize plugin usage
2019-09-10 20:51:52 +02:00
Dmitry Bogatov
1576dc1d13
top_evil_rs: check for all-caps version of ok_to_continue pattern
2019-09-10 17:34:17 +00:00
Dmitry Bogatov
4fbb5fbb25
Make it easier to run src/top_evil_rs.py from git root
...
Currently, `src/top_evil_rs.py' script recursively scans current
directory for Rust sources and print statistics about them.
When run from git root, it also scans target/ directory, which is
useless.
This commit add cludge that checks if script is run from git root
directory, and `chdir' into `src/' before performing actions.
Unprincipled, but convenient.
2019-09-10 17:34:16 +00:00
B. Petersen
e9da21a02e
cargo fmt
2019-09-10 19:14:51 +02:00
B. Petersen
6c4d7ad8cc
do not panic on bad-utf-8
2019-09-10 16:48:54 +02:00
Alexander Krotov
f1c026c5ec
Pass passphrase to dc_pgp_symm_{en,de}crypt as &str
2019-09-10 15:58:42 +02:00
björn petersen
3d61c06ea9
Merge pull request #478 from deltachat/fix477
...
fix crash when msg_raw is None
2019-09-10 15:50:33 +02:00
Alexander Krotov
22c1ee1f55
cargo fmt
2019-09-10 16:29:41 +03:00
Alexander Krotov
971960a242
key.rs: remove unsafe Key.from_binary
2019-09-10 16:29:24 +03:00
Alexander Krotov
69f8973339
test_encryption_decryption: use safe from_slice instead of from_binary
2019-09-10 16:29:24 +03:00
B. Petersen
bf1d9b6d06
fix crash when msg_raw is None
2019-09-10 15:20:38 +02:00
Alexander Krotov
6a2368f83c
Return bool from dc_continue_key_transfer
2019-09-10 15:15:48 +02:00
Alexander Krotov
d0960f7f7f
Merge pull request #483 from link2xt/dc_msg_exists_safe
...
Make dc_msg_exists safe and rusty
2019-09-10 15:15:33 +03:00
Alexander Krotov
e5ad697466
Make dc_msg_exists safe and rusty
2019-09-10 14:21:27 +03:00
Alexander Krotov
188eab5faf
Fix test_encryption_decryption
...
It is broken since 28cae607a4
2019-09-10 12:00:59 +02:00
holger krekel
2b257e3d0d
fix ffi
2019-09-09 19:45:43 +02:00
Alexander Krotov
77c9746be5
Make dc_msg_get_filemime safe
2019-09-09 19:45:43 +02:00
Alexander Krotov
28cae607a4
Pass buffers to pgp.rs as slices
2019-09-09 18:50:47 +02:00
Simon Laux
814281ed7d
fixes #463
2019-09-09 18:44:30 +02:00
holger krekel
5b0c8dd9dd
address @r10s and @flub review comments, and fix some docstrings/test meta docs
2019-09-09 18:07:32 +02:00
holger krekel
650d8c45ec
fix test, and cleanup according profile-image API
2019-09-09 18:07:32 +02:00
holger krekel
383d8980d6
add profile image API to python, tests, Rust fixes/cleanups
2019-09-09 18:07:32 +02:00
Simon Laux
6ea706c646
remove macro
2019-09-09 18:07:32 +02:00
Simon Laux
1ed2af08b8
cargo fmt
2019-09-09 18:07:32 +02:00
Simon Laux
7563a5abe0
remove closure
...
Co-authored-by: @Jikstra
2019-09-09 18:07:32 +02:00
Simon Laux
0a8b187f80
fix remove chat profile img
2019-09-09 18:07:32 +02:00
björn petersen
275aa853f5
Merge pull request #471 from deltachat/fix417
...
fix crash when downloading message
2019-09-09 16:18:50 +02:00
Friedel Ziegelmayer
3614d57f9f
Merge pull request #469 from deltachat/refctor/strencode
...
refactor(strencode): rustify some strencode methods
2019-09-09 11:52:30 +02:00
B. Petersen
1367873949
check bounds before accessing Vec
2019-09-09 01:47:50 +02:00
B. Petersen
d933183e0a
mark safe functions as such
2019-09-09 01:47:50 +02:00
B. Petersen
7e11def527
make code more readable
2019-09-09 00:01:15 +02:00
dignifiedquire
f3e53a05a6
refactor(loginparam): rename dc_loginparam -> login_param
2019-09-08 18:48:57 +02:00
dignifiedquire
dd381a5c1c
refactor(loginparam): simplify and rustify
2019-09-08 18:48:57 +02:00
dignifiedquire
8eee449305
refactor(token): rustify
2019-09-08 18:35:20 +02:00
dignifiedquire
96e02af0da
refactor: rename dc_token to token
2019-09-08 18:35:20 +02:00
dignifiedquire
60fb1478c3
refactor(strencode): rustify some strencode methods
2019-09-08 15:50:28 +02:00
Friedel Ziegelmayer
aa7d0679df
fix(tools): make sure dc_truncate can handle arbitrary utf8 valu… ( #460 )
...
fix(tools): make sure dc_truncate can handle arbitrary utf8 values
2019-09-08 15:23:46 +02:00
dignifiedquire
8e3cc192a5
fix(tools): make sure dc_truncate can handle arbitrary utf8 values
...
also adds proptests to make sure this is upheld
Should close #433
2019-09-08 14:00:04 +02:00
Simon Laux
0f939995d1
fix(job): "invalid job action" check
2019-09-08 13:39:59 +02:00
björn petersen
2e1bc9b14e
Merge pull request #458 from deltachat/fix-unknown
...
fix reading unknown origin
2019-09-08 12:24:51 +02:00
Friedel Ziegelmayer
fd1ac6ab2d
Remove some free() from Mozilla autoconfig ( #457 )
...
Remove some free() from Mozilla autoconfig
2019-09-08 11:53:41 +02:00
Friedel Ziegelmayer
d224924dc8
Change type of function from `const char *' to &str ( #451 )
...
Change type of function from `const char *' to &str
2019-09-08 11:51:16 +02:00
dignifiedquire
00e5ddd6f0
make enum reading from the db more robust
2019-09-08 11:29:40 +02:00
B. Petersen
c603ca0e7a
remove dead code
2019-09-08 07:26:07 +02:00
B. Petersen
d07ef01204
cargo fmt
2019-09-07 23:25:19 +02:00
B. Petersen
d8630b5029
fix reading of unknown/outdated origin
2019-09-07 22:21:38 +02:00
Alexander Krotov
3b397326f8
Store email parts as Rust str's
2019-09-07 20:23:08 +03:00
Alexander Krotov
81cabd08a9
Accept str instead of char* in read_autoconf_file
2019-09-07 20:20:25 +03:00
björn petersen
5663c7dec3
Merge pull request #453 from deltachat/fix-backup
...
Fix backup and housekeeping
2019-09-07 15:38:01 +02:00
björn petersen
06673b2108
Merge pull request #455 from deltachat/fix-msg-loading
...
Fix msg loading
2019-09-07 15:37:38 +02:00
dignifiedquire
6b7498a4b1
fix(contact): fix logic for create or add contact
...
Closes #448
2019-09-07 14:07:56 +02:00
B. Petersen
7f4ef493b9
be tolerant when reading unexpected NULL from the database and treat this as an empty string, compatible to core-c
2019-09-07 13:54:43 +02:00
B. Petersen
d9d0dee0d5
fix: use empty string for messages without text everywhere
2019-09-07 13:40:50 +02:00
B. Petersen
9605370f0b
fix cmdline: sendimage and sendfile really accept only a file
2019-09-07 12:34:31 +02:00
Dmitry Bogatov
7d9fc682a0
cargo-fmt
2019-09-07 03:09:01 +00:00
Dmitry Bogatov
c4c08f2552
Remove ok_to_continue pattern from msg_prepare_raw()
...
This commit will fail CI due incorrect formatting. It is done
deliberately to simplify review process.
2019-09-07 03:06:13 +00:00
Dmitry Bogatov
400740fdba
Simplify prepare_msg_raw() using early return
...
This commit will fail CI due incorrect formatting. It is done
deliberately to simplify review process.
2019-09-07 03:03:35 +00:00
Dmitry Bogatov
42bce7c0bf
Remove last C string from prepare_msg_raw()
2019-09-07 02:54:28 +00:00
Dmitry Bogatov
a2281489a6
Create safe version of msgid-generating function
2019-09-07 02:35:13 +00:00
Dmitry Bogatov
9bf7b0bf96
Use more of Rust, less of C strings in prepare_msg_raw()
2019-09-07 01:39:26 +00:00
Dmitry Bogatov
1f82ba74aa
Remove redundant checks in prepare_msg_raw()
2019-09-06 23:24:39 +00:00
Dmitry Bogatov
1062ac6ade
Drop unsafe version of get_parent_mime_headers function
2019-09-06 23:15:31 +00:00
Dmitry Bogatov
aa5304a4f3
Use safe version of `get_parent_mime_headers()' function
2019-09-06 23:15:31 +00:00
Dmitry Bogatov
3a57ba1142
Implement safe version of `get_parent_mime_headers' function
2019-09-06 23:15:31 +00:00
Dmitry Bogatov
c0e7293360
Change return type of clist_search_string_nocase to `bool'
2019-09-06 23:15:31 +00:00
Dmitry Bogatov
dc1839760c
Simplify clist_search_string_nocase using Iterator interface
2019-09-06 23:15:31 +00:00
Dmitry Bogatov
a4e4b0fc17
Rustify type of dc_mimeparser_t.subject
2019-09-06 23:15:31 +00:00
Dmitry Bogatov
743e4deb36
Remove dc_mimepart_unref function
...
Since there is no longer any manually-managed memory, associated with
`dc_mimepart_t' structure, default Drop instances does everything
automatically.
2019-09-06 23:15:30 +00:00
Dmitry Bogatov
1d75f8478c
Rustify type of dc_mimepart_t.msg_raw
2019-09-06 23:15:27 +00:00
B. Petersen
cc0428aa50
really check all rows when searching for referenced files
2019-09-06 15:15:06 +02:00
B. Petersen
4be481275f
clearer naming
2019-09-06 14:32:17 +02:00
Dmitry Bogatov
28cfe36f43
Change type of dc_mimeparser_t.decryption_failed to bool
2019-09-06 03:48:41 +00:00
Dmitry Bogatov
e0df78c5f7
Change type of dc_mimepart_t.is_meta to bool
2019-09-06 03:41:18 +00:00
Dmitry Bogatov
4d8b058b65
Change type of dc_mimeparser_t.is_forwarded to bool
2019-09-06 03:36:54 +00:00
Dmitry Bogatov
da25611758
Change type of function from `const char *' to &str
2019-09-06 03:05:12 +00:00
B. Petersen
27732c85af
mark actually safe function as such
2019-09-06 00:55:50 +02:00
B. Petersen
5ffc84eb59
remove unused functions
2019-09-06 00:55:50 +02:00
holger krekel
0a6e540394
rename dc_securejoin to securejoin.rs
2019-09-05 22:55:25 +02:00
holger krekel
9f09c73ec1
make secure_join flow more readable by using and adding a few macros, tiny api changes
2019-09-05 22:55:25 +02:00
holger krekel
4bbab876ae
majorly de-indent code structure in secure_join by introducing cleanup function, also majorly reducing unsafety in several places
2019-09-05 22:55:25 +02:00
holger krekel
b2fafeff19
use some BOB and VC constants instead of raw numbers
2019-09-05 22:55:25 +02:00
holger krekel
79510a83de
- remove many *libc::char usages, and c-pointer from fingerprint
...
- rustify get_chat_id_by_grpid and streamline returned chat id handling (thereby apprently fixing the test, don't ask)
2019-09-05 22:55:25 +02:00
holger krekel
dd0afdfeb0
add QR based join-group API, with test and SEGFAULT fix to rust
2019-09-05 22:55:25 +02:00
holger krekel
b6997c4455
regen constants and improve high level API for QR setup contact
2019-09-05 22:55:25 +02:00
holger krekel
2920732435
(dignifiedquire, hpk, jikstra)
...
- fix and test peerstate::from_fingerprint
- add and test python API for secure-join QR + setup-contact
2019-09-05 22:55:25 +02:00
jikstra
b9cfcce284
fix ffi
2019-09-05 22:55:25 +02:00
jikstra
70d997964b
cargo fmt
2019-09-05 22:55:25 +02:00
jikstra
4ffe71e1df
Fix encoding for email & name, fix qrencode command in repl
2019-09-05 22:55:25 +02:00
jikstra
cc2339fbe2
Fix closure in dc_securejoin, make sure we return an empty string and
...
never null, make dc_get_securejoin_qr return an Option<String> and move
the logic to cast it to c_str into the ffi
2019-09-05 22:55:25 +02:00
Alexander Krotov
8fb859c0c4
Merge pull request #445 from deltachat/smtp_error
...
Avoid panic on SMTP error
2019-09-05 20:22:24 +00:00
jikstra
5ff472dae0
Implement helper method to easily check if a bit flag is inside
...
listflags. Make Contact::get_all use it
Add method documentation and tests
2019-09-05 18:02:50 +02:00
holger krekel
6be4a6ed00
switch to counting ok_to_continue instead of current_blocks -- this still reflects structural problems or missing-rustification problems
2019-09-05 18:00:18 +02:00
Alexander Krotov
094d46293e
Set Smtp.error when SMTP fails to send message
2019-09-05 05:29:37 +03:00
Alexander Krotov
c8d945db56
Store Smtp.error as Option<String>
...
Without this change, when SMTP password is incorrect,
as_str(sock.error) is called with a null pointer,
and as_str panics.
Now it does not crash when the error is not set.
2019-09-05 05:28:57 +03:00
Alexander Krotov
f78f0079c1
Upgrade to the latest version of imap crate
2019-09-04 20:59:54 +02:00
Dmitry Bogatov
98d6bdb48a
Simplify control flow in dc_DC_JOB_SEND function
...
Replace `ok_to_continue' control flow variables with early return from
function, since there is no longer need to free memory manually.
2019-09-04 16:44:51 +02:00
Dmitry Bogatov
0391aebaeb
Remove C pointer manipulation from do_DC_JOB_SEND()
...
This change removes several `unsafe' blocks by using safe version of
`dc_read_file' function.
Note, that logic is changed slightly: if get(Param::File) returns
Some(""), it no longer triggers "missing filename warnings".
2019-09-04 16:44:51 +02:00
Alexander Krotov
46520edd87
Print error if CAPABILITY command fails.
2019-09-04 15:12:00 +02:00
Simon Laux
14daa99802
remove ok_to_continue7 comment
2019-09-04 15:07:45 +02:00
Simon Laux
4f9f67a477
switch to while instead of loop
2019-09-04 15:07:45 +02:00
Simon Laux
85f182067c
typo fixes in comments
2019-09-04 15:07:45 +02:00
Simon Laux
66ab6874f8
reorganize dc_job_do_DC_JOB_CONFIGURE_IMAP
2019-09-04 15:07:45 +02:00
Simon Laux
906b901e3d
move function order / filestructure like in c core
2019-09-04 15:07:45 +02:00
Alexander Krotov
65adff4bdd
Merge pull request #437 from KAction/spelling
...
Fix minor spelling errors in python/README.rst
2019-09-04 10:55:58 +00:00
Dmitry Bogatov
e60fc0dc30
Fix minor spelling errors in python/README.rst
2019-09-04 06:19:21 +00:00
Alexander Krotov
ffd719962c
Merge pull request #430 from deltachat/latest-imap
...
Update to the latest rust-imap
2019-09-03 17:12:12 +00:00
Alexander Krotov
489f25940f
Update to the latest rust-imap
...
It uses imap-proto 0.8.1 instead of outdated 0.7.0.
2019-09-03 19:14:56 +03:00