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
2019-07-25 22:46:27 +02:00
2019-07-25 22:41:33 +02:00
2019-07-21 21:40:19 +02:00
2019-07-18 00:29:01 +02:00
2019-07-18 00:24:45 +02:00
2019-05-07 14:00:33 +01:00
2019-07-21 23:31:14 +02:00
2019-07-21 23:31:14 +02:00
2019-06-19 19:02:42 +02:00
2019-06-08 17:13:25 +02:00
2019-06-08 17:13:25 +02:00
2019-07-18 00:24:45 +02:00

Delta Chat Rust

Project porting deltachat-core to rust

CircleCI build status Appveyor build status

Current commit on deltachat/deltachat-core: 12ef73c8e76185f9b78e844ea673025f56a959ab.

Installing Rust and Cargo

To download and install the official compiler for the Rust programming language, and the Cargo package manager, run the command in your user environment:

curl https://sh.rustup.rs -sSf | sh

Using the CLI client

Compile and run Delta Chat Core using cargo:

cargo run --example repl -- /path/to/db

Configure your account (if not already configured):

Delta Chat Core is awaiting your commands.
> set addr your@email.org
> set mail_pw yourpassword
> configure

Connect to your mail server (if already configured):

> connect

Create a contact:

> addcontact yourfriends@email.org
Command executed successfully.

List contacts:

> listcontacts
Contact#10: <name unset> <yourfriends@email.org>
Contact#1: Me √√ <your@email.org>

Create a chat with your friend and send a message:

> createchat 10
Single#10 created successfully.
> chat 10
Single#10: yourfriends@email.org [yourfriends@email.org]
> send hi
Message sent.

List messages when inside a chat:

> chat

For more commands type:

> help

Development

# run tests
$ cargo test --all
# build c-ffi
$ cargo build -p deltachat_ffi --release

Features

  • vendored: When using Openssl for TLS, this bundles a vendored version.
  • nightly: Enable nightly only performance and security related features.
  • ringbuf: Enable the use of slice_deque in pgp.
Description
Chatmail Rust Core library, used by Android/iOS/desktop chatmail apps, bindings and bots 📧
Readme MPL-2.0 107 MiB
Languages
Rust 74.4%
Tcl 9.1%
Python 8.8%
C 4.9%
DIGITAL Command Language 1.1%
Other 1.7%