björn petersen
2fe98775f9
Merge pull request #673 from deltachat/dont-panic
...
Don't Panic!
2019-10-05 15:08:15 +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
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
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
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
Alexander Krotov
130d485cac
Fix some clippy warnings
2019-10-03 14:30:40 +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
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
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
holger krekel
ab2ef1e1e4
shift most mmime functions to wrapmime
2019-09-30 00:52:14 +02: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
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
Alexander Krotov
3933353b5f
Pass slice to dc_receive_imf
...
instead of pointer and length
2019-09-27 17:53:41 +03:00
dignifiedquire
452bce07e1
refactor(mmime): split up into modules
2019-09-26 12:36:23 +02:00
holger krekel
5cbcb76039
introduce safety and a particular EncryptHelper
2019-09-23 17:10:21 +02:00
dignifiedquire
05f9f454c3
refactor: remove x module and delete deadcode
2019-09-21 17:56:49 +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
1265016a55
refactor(message): rustiy api
2019-09-21 16:37:19 +02:00
dignifiedquire
266b205c75
refactor: rustify interface of maimlime_transfer_decode
2019-09-21 00:51:36 +02:00
dignifiedquire
0bdcc4269f
refactor(mimeparser): split and cleanup parse_mime_recursive
2019-09-20 21:42:23 +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
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
holger krekel
2b038a34c9
Merge branch 'master' into refactor/remove-mprintf
2019-09-17 15:46:05 +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
72a9ca0aa5
refactor(receive_imf): remove 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
dignifiedquire
16c281a9b7
refactor(context): safe interface
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
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
50a812ea5e
Return bool from mailmime_transfer_decode
2019-09-14 12:03:10 +03: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
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
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
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
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
B. Petersen
e9da21a02e
cargo fmt
2019-09-10 19:14:51 +02:00
B. Petersen
bf1d9b6d06
fix crash when msg_raw is None
2019-09-10 15:20:38 +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