Dmitry Bogatov
7c7a1b64df
Remove dead code
2019-08-16 04:46:20 +00:00
Dmitry Bogatov
ea661896a1
Do not export more than strictly necessary
2019-08-16 04:46:20 +00:00
Dmitry Bogatov
f31884fc15
Remove unused `dc_str_contains' function
2019-08-15 21:57:14 +00:00
Dmitry Bogatov
2b1ffb5fb9
Do not export `dc_strlower' function
2019-08-15 21:56:42 +00:00
holger krekel
18b70bff0e
remove redundant unsafe dc_str_to_color impl by calling safe one, fixes #375
2019-08-15 15:48:11 +02:00
dignifiedquire
712f5a9782
refactor(tools): cleanup and make clippy a little happier
...
Uses a crate now for extracing image meta data, instead of our own hand rolled code.
2019-08-15 11:26:32 +02:00
dignifiedquire
dab514d8bc
feat: switch to simpler email address parsing
...
This stops the psl insanity and matches more closely what the c-core did
Closes #325
2019-08-14 01:48:41 +02:00
Dmitry Bogatov
8342b29618
Fix some clippy warnings
2019-08-14 01:45:39 +02:00
Simon Laux
8fb25a6340
Cargo fmt: removed two empty llines
2019-08-11 09:04:47 +02:00
Alexander Krotov
ff021fed1f
dc_tools: rustify interfaces of file-related functions
2019-08-10 21:15:48 +03:00
Floris Bruynooghe
f31f603c8b
Turn dc_ensure_secret_key_existy into something more rusty
...
This marks the function safe and returns Result, it also now returns
the ConfiguredAddr since it has to look this up anyway and it makes
testing more easy. Turns out it reduces some duplicate SQL query in
some callers too.
More test code has been moved from dc_imex to test_utils as it's
more genrally applicable.
2019-08-10 11:14:40 +02:00
Dmitry Bogatov
1c5d07a29f
Reimplement dc_str_replace() with standard Rust functions
...
This change removes one more use of unstable `wrapping_offset_of'.
2019-08-09 23:40:44 +02:00
jikstra
d323bd3593
Write tests and docs for dc_strdup and dc_strdup_keep_null
2019-08-09 19:30:36 +02:00
Alexander Krotov
76dbb37609
Implement dc_get_abs_path_safe
2019-08-08 04:20:12 +03:00
Friedel Ziegelmayer
ea6972118a
refactor: rusty contact
...
* refactor(contact): rename and rusty memory allocations
* refactor(contact): use enum to indidcate origin
* refactor(contact): safe blocking and unblocking api
* refactor(contact): only safe and no more cstrings
2019-08-07 22:20:48 +02:00
jikstra
76d3d86a9e
import dc_extract... method for rustdoc example
2019-08-06 21:33:01 +02:00
jikstra
c0b1e41820
Improve function documentation
2019-08-06 21:33:01 +02:00
jikstra
10689f45f4
cargo fmt
2019-08-06 21:33:01 +02:00
jikstra
205e2d4e99
Fix rustdoc
2019-08-06 21:33:01 +02:00
jikstra
5b368960c0
Apply requested changes
2019-08-06 21:33:01 +02:00
jikstra
9ecd0f80dc
Fix test and simplify if gate
2019-08-06 21:33:01 +02:00
jikstra
45eec35e6e
Make dc_extract_grpid_from_rfc724_mid take/return &str instead of String
2019-08-06 21:33:01 +02:00
jikstra
b74a86f617
Run cargo fmt
2019-08-06 21:33:01 +02:00
jikstra
ff95c44d51
Make receive_imf use safe version of dc_extract_grpid_from_rfc724_mid
...
- Remove unused unsafe wrapper
- Adjust tests to use safe version
2019-08-06 21:33:01 +02:00
jikstra
d5168916df
Refactor dc_extract_grpid_from_rfc724_mid_list and rename test
2019-08-06 21:33:01 +02:00
jikstra
282f964f2f
Add tests for dc_extract_grpid_from_rfc724_mid and implement safe
...
version of dc_extract_grpid_from_rfc724_mid
2019-08-06 21:33:01 +02:00
Floris Bruynooghe
0051720d1b
Kill to_cstring with fire
...
I swear I already did this, see #273 .
2019-08-04 09:49:41 +02:00
Alexander Krotov
c5eef21645
Remove carray use and comment
2019-08-02 13:12:32 +03:00
Alexander Krotov
d64fcece5b
Return Vec instead of carray from dc_split_into_lines
2019-08-02 13:12:25 +03:00
Floris Bruynooghe
b6b0849bce
Remove to_cstring() naming convention ambiguity
...
Add a trait for str.strdup() to replace to_cstring() which avoid the
signature ambiguity with .to_string().
Also instruduce CString::yolo() as a shortcut to
CString::new().unwrap() and use it whenever the variable does can be
deallocated by going out of scope. This is less error prone.
Use some Path.to_c_string() functions where possible.
2019-08-01 19:06:39 +02:00
jikstra
8274c6bf17
Allow non_snake_case in dc_replace_bad_utf8_chars function
2019-07-31 16:26:17 +02:00
jikstra
566d255b33
run cargo fmt
2019-07-31 16:26:17 +02:00
jikstra
9fb9fb0fc1
Remove goto/current_block logic with OK_TO_CONTINUE. Keeps identation
2019-07-31 16:26:17 +02:00
Alexander Krotov
164a8fe39a
encode_66bits_as_base64: use base64 crate
2019-07-31 16:25:01 +02:00
Alexander Krotov
0b679f8b95
dc_tools: Make dc_create_id() safe
2019-07-31 16:25:01 +02:00
Alexander Krotov
27342f50b5
Remove unsafe version of dc_timestamp_to_str
2019-07-29 18:45:12 +03:00
Dmitry Bogatov
c6ccfd824e
Override `non_shake_case' warning on per-function basis
...
This change removes global override of `non_shake_case' warning and replaces it
with per-function overrrides. This way, compiler will complain about style
guide violation in new code.
It should be noted, that `rustc' is not smart enough to emit warning when
override is no longer needed, it must be checked manually.
2019-07-28 22:44:21 +02:00
Dmitry Bogatov
39cc93240f
Fix 'non_upper_case_globals' compiler warnings
2019-07-28 22:44:21 +02:00
Alexander Krotov
6c818c6123
Make dc_tools::dc_exactly_one_bit_set safe and return bool
2019-07-28 22:40:30 +02:00
Friedel Ziegelmayer
b23ca26908
refactor(chatlist): rustify
2019-07-28 11:32:48 +02:00
Dmitry Bogatov
36b5f4da53
Check if input to dc_send_text_msg is valid utf8
...
With this change, passing invalid utf8 string to `dc_send_text_msg' does not
crash application, it prints warning and returns error code.
It should be admitted that this fix is sub-optimal: if input C string is valid
utf8 (which is likely), result of successful conversion to `&str' is discarded
in `dc_send_text_msg', and the same input C string is converted again with
`as_str' in `prepare_msg_raw'.
It is not clear how to fix it in non-disruptive way, since input C string is
passed down to call stack as part of `dc_msg_t' struct, which is part of C ABI.
2019-07-27 09:04:20 +00:00
holger krekel
9a9b49f8f0
- remove current_block logic from dc_chat.rs with the "OK_TO_CONTINUE"
...
pattern -- re-indentation will come after this commit with a pure application of "cargo fmt"
- bring back comment from C code
- make some path helpers return bool
2019-07-25 21:51:39 +02:00
Alexander Krotov
33575e7aa3
dc_get_abs_path cleanup
2019-07-21 23:40:29 +02:00
holger krekel
8089559958
Squashed commit of the following:
...
commit 6bc5d1b90e
Author: holger krekel <holger@merlinux.eu >
Date: Sun Jul 21 22:56:37 2019 +0200
fix fmt
commit 197d94ad9d
Merge: 7ce337c 686678c
Author: holger krekel <holger@merlinux.eu >
Date: Sun Jul 21 22:51:16 2019 +0200
Merge remote-tracking branch 'origin/master' into eventlogging
commit 7ce337c6d0
Author: holger krekel <holger@merlinux.eu >
Date: Sun Jul 21 22:44:27 2019 +0200
left-over error logging
commit 10148d2e43
Author: holger krekel <holger@merlinux.eu >
Date: Sun Jul 21 22:03:17 2019 +0200
ignore non-utf8 parts of header fields (add comment why it shouldn't happen)
don't throw error if no sql rows are returned
commit 69dc237ee3
Author: dignifiedquire <dignifiedquire@users.noreply.github.com >
Date: Sun Jul 21 12:56:04 2019 +0200
fix(receive_imf): remove recursive sql call
commit df5464ea80
Author: dignifiedquire <dignifiedquire@users.noreply.github.com >
Date: Sat Jul 20 17:05:24 2019 +0200
fix: blocked is an optional value
commit e4bf9956a5
Author: dignifiedquire <dignifiedquire@users.noreply.github.com >
Date: Sat Jul 20 16:50:56 2019 +0200
fix(msg): handle optional in_reply_to
commit d353d9d9d8
Author: dignifiedquire <dignifiedquire@users.noreply.github.com >
Date: Sat Jul 20 16:17:25 2019 +0200
fix(chat): remove recursive sql usage
commit 1ad45ed4d6
Author: holger krekel <holger@merlinux.eu >
Date: Sat Jul 20 15:14:11 2019 +0200
fix rust fmt
commit 496e980a17
Author: dignifiedquire <dignifiedquire@users.noreply.github.com >
Date: Sat Jul 20 14:34:20 2019 +0200
use forked rusqlite
commit fa09e46ed9
Author: holger krekel <holger@merlinux.eu >
Date: Sat Jul 20 12:37:51 2019 +0200
another pace where we might (and in my case did) get invalid utf8
commit d6de420b9a
Author: holger krekel <holger@merlinux.eu >
Date: Sat Jul 20 12:30:48 2019 +0200
fix some string issues, introduce to_string_lossy such that to_string() continues to panic on non-utf8
commit 38eb708db8
Author: holger krekel <holger@merlinux.eu >
Date: Sat Jul 20 01:17:53 2019 +0200
for now make to_string() less strict as we often don't want to crash the whole app just because some non-proper utf8 came in (through a message we can't neccesarily congtrol)
commit 7a59da5f8f
Author: holger krekel <holger@merlinux.eu >
Date: Fri Jul 19 22:48:39 2019 +0200
fix linting
commit f13a1d4a2f
Author: holger krekel <holger@merlinux.eu >
Date: Fri Jul 19 22:46:58 2019 +0200
fix some test flakyness
commit 7b3a450918
Author: holger krekel <holger@merlinux.eu >
Date: Fri Jul 19 22:35:07 2019 +0200
- fix saved_mime test which broke to improper conversion of
imf_raw_not_terminated
- some cargo.toml updates no clue where they come from
- log Message-ID for received messages
commit 169923b102
Author: holger krekel <holger@merlinux.eu >
Date: Fri Jul 19 12:31:22 2019 +0200
formatting
commit 42688a0622
Author: holger krekel <holger@merlinux.eu >
Date: Fri Jul 19 12:24:56 2019 +0200
remove some print statements
commit 35f3c0edd1
Merge: e7a2362 f58b1d6
Author: holger krekel <holger@merlinux.eu >
Date: Fri Jul 19 10:25:21 2019 +0200
Merge branch 'master' into eventlogging
commit e7a236264a
Author: dignifiedquire <dignifiedquire@users.noreply.github.com >
Date: Thu Jul 18 23:20:20 2019 +0200
print invalid strings
commit aaa5b820d9
Author: dignifiedquire <dignifiedquire@users.noreply.github.com >
Date: Thu Jul 18 23:12:35 2019 +0200
cleanup
commit e7f0745010
Author: dignifiedquire <dignifiedquire@users.noreply.github.com >
Date: Thu Jul 18 23:03:57 2019 +0200
reduce direc usage of CString
commit c68e7ae14e
Author: dignifiedquire <dignifiedquire@users.noreply.github.com >
Date: Thu Jul 18 22:47:47 2019 +0200
audit use of to_cstring and fix ub
commit 618087e5a7
Author: dignifiedquire <dignifiedquire@users.noreply.github.com >
Date: Thu Jul 18 21:38:52 2019 +0200
fix(imap): body ptr lifetime
commit 245abb8384
Author: dignifiedquire <dignifiedquire@users.noreply.github.com >
Date: Thu Jul 18 19:44:10 2019 +0200
remove debug
commit a3e1042001
Author: dignifiedquire <dignifiedquire@users.noreply.github.com >
Date: Thu Jul 18 18:30:54 2019 +0200
fix some things, add more debugging statements
commit 7b7ce9348f
Author: holger krekel <holger@merlinux.eu >
Date: Thu Jul 18 15:11:57 2019 +0200
fix python lint issues
commit 7a4808ba0d
Author: holger krekel <holger@merlinux.eu >
Date: Thu Jul 18 14:35:54 2019 +0200
cargofmt
commit 8f240f7153
Author: holger krekel <holger@merlinux.eu >
Date: Thu Jul 18 14:03:57 2019 +0200
(dig,hpk) pull out job collection from sql query/lock logic
commit 7d0b5d8abb
Author: holger krekel <holger@merlinux.eu >
Date: Thu Jul 18 12:52:02 2019 +0200
remove print statements and fix a crash
commit ee317cb1b5
Author: holger krekel <holger@merlinux.eu >
Date: Thu Jul 18 11:38:10 2019 +0200
fix some merge issues
commit 7b736fe635
Author: holger krekel <holger@merlinux.eu >
Date: Thu Jul 18 11:16:38 2019 +0200
(dig,hpk) add test and fix for wrong dbs
commit c7db15352a
Merge: 0b37167 0c5015d
Author: holger krekel <holger@merlinux.eu >
Date: Thu Jul 18 09:59:44 2019 +0200
Merge branch 'master' into eventlogging
commit 0b37167be8
Author: holger krekel <holger@merlinux.eu >
Date: Thu Jul 18 00:06:05 2019 +0200
address @dignifiedquire comments
commit 5cac4b5076
Author: holger krekel <holger@merlinux.eu >
Date: Wed Jul 17 12:47:22 2019 +0200
remove spurious print
commit 475a41beb3
Author: holger krekel <holger@merlinux.eu >
Date: Wed Jul 17 12:31:12 2019 +0200
address @dignifiedquire rustyness comment and fix changelog
commit ad4be80b4e
Author: holger krekel <holger@merlinux.eu >
Date: Wed Jul 17 10:25:25 2019 +0200
make smtp/imap connect() return bool instead of c-int
commit 8737c1d142
Author: holger krekel <holger@merlinux.eu >
Date: Wed Jul 17 09:26:33 2019 +0200
cleanup some parts, add comments
commit 964fe466cc
Author: holger krekel <holger@merlinux.eu >
Date: Tue Jul 16 20:05:41 2019 +0200
wip-commit which passes all tests with proper finalization
commit 43936e7db7
Author: holger krekel <holger@merlinux.eu >
Date: Tue Jul 16 16:17:42 2019 +0200
snapshot of my current debugging state
commit 0e80ce9c39
Author: holger krekel <holger@merlinux.eu >
Date: Tue Jul 16 12:57:19 2019 +0200
more aggressively skip perform API when threads are closing
commit c652bae68a
Author: holger krekel <holger@merlinux.eu >
Date: Tue Jul 16 12:06:05 2019 +0200
intermediate wip commit
commit bc904a495d
Author: holger krekel <holger@merlinux.eu >
Date: Tue Jul 16 11:18:56 2019 +0200
add some logging, and a more precise teardown for online python tests
commit 8d99444c6a
Author: holger krekel <holger@merlinux.eu >
Date: Tue Jul 16 00:22:12 2019 +0200
fix std
commit 9dab53e0af
Author: holger krekel <holger@merlinux.eu >
Date: Tue Jul 16 00:20:54 2019 +0200
rustfmt
commit 360089ac74
Author: holger krekel <holger@merlinux.eu >
Date: Tue Jul 16 00:03:49 2019 +0200
remove some debugging
commit e892c5cf4d
Author: holger krekel <holger@merlinux.eu >
Date: Mon Jul 15 23:31:30 2019 +0200
fix test for events
commit 9ad4c9a6fe
Author: holger krekel <holger@merlinux.eu >
Date: Mon Jul 15 22:51:57 2019 +0200
wip try test that we see INFO events from the core
2019-07-21 23:31:14 +02:00
Alexander Krotov
686678c96c
Spellcheck
2019-07-21 21:40:19 +02:00
Friedel Ziegelmayer
8a0fc609e6
The big sqlite refactor
...
* refactor: safe sql access
* Clean up the worst rebase mistakes
* Some more progress on the rebase fallout and this branch
* upgrade and compile again
* cleanup from rebase
* example of how to prepare now
* rebase fixes
* add sql.query_map
* less preparation
* more improvements in sql code
* fix string truncation
* more prepare conversions
* most prep done
* fix tests
* fix ffi
* fix last prepares
* fix segfaults and some queries
* use r2d2 pool
* fix dc_job sql call, to reduce contention
* try newer rust
* No more vararg printing (drop dc_log_)
* ignore expected errors
* fix: uses exists instead of execute where needed
* fix: get_contacts logic was broken
* fix: contact creation
* test on 32bit linux
* ci: try running 32bit without cross
* undo 32bit tests
* refactor: rename dc_sqlite3 to sql
* fix: safer string conversions
* more string fixes
* try fixing appveyor build to 64bit
* chore(ci): hardcode target
* chore(ci): appveyor
* some cleanup work
* try fix darwin
* fix and improve sql escaping
* fix various bugs
* fix chat deletion
* refactor: cleanup config values and move to their own file
* refactor: move more methods onto the sql struct
* dont panic on failed state loading
* first round of cr
* one more cr fix
* stop using strange defaults
* remove unused escapes
2019-07-18 00:24:45 +02:00
holger krekel
6e13e177f7
fixed logging, removed one more "old" style logging
2019-07-04 11:16:15 +02:00
holger krekel
adcb9d6069
fixed: make export/import work with blob-files again
...
also add some more logging.
2019-07-03 20:02:05 +02:00
Floris Bruynooghe
a6102d1039
Refactor the internal sql interface somewhat
...
Experiment with refactoring the internal sql interface a bit. My
original goal was to modify the schema and thus refactor to a state
where it would be sane to write tests for dc_sqlite_open() (and/or
however it ends up refactored) to assert schame changes before/after.
2019-06-17 22:31:36 +02:00
Floris Bruynooghe
dc0de47b4b
Clean up some warnings and use newer nightly compiler
...
This stops using the deprecated libc::uint32_t and libc::uint64_t
types in favour of the native u32 and u64 types.
It also uses a newer nightly compiler to get rid of the incorrect
"unused no_mangle" warning when compiling incrementally.
Finally the newer compiler prefers us to be explicit when implementing
traits using the new dyn keyword.
2019-06-16 15:32:15 +02:00