deltachat / deltachat-core-rust Goto Github PK
View Code? Open in Web Editor NEWDelta Chat Rust Core library, used by Android/iOS/desktop apps, bindings and bots ๐ง
Home Page: https://delta.chat/en/contribute
License: Other
Delta Chat Rust Core library, used by Android/iOS/desktop apps, bindings and bots ๐ง
Home Page: https://delta.chat/en/contribute
License: Other
they got lost during the translation, and are now defined in constants.rs
This should replace the code in dc_jsmn.rs
If someone use a free mailer like GMX only for Delta Chat he/she never will check if the storage limit is reached.
If messages will deleted after a time (as userpreference) there should be no problems.
I have tried to modify examples/simple.rs
to use my email server and set "mail_server" and "send_server" via dc_set_config
. That is to try if the problem deltachat/deltachat-core#605 arises.
Now I don't even see it connecting to the SMTP server. IMAP server is successfully connected, because if I provide incorrect password, it shows messages about failed auth.
...
[CONFIGURE_PROGRESS]
progress: 800
[CONFIGURE_PROGRESS]
progress: 900
[INFO]
Configuring IMAP-folders.
[CONFIGURE_PROGRESS]
progress: 910
[CONFIGURE_PROGRESS]
progress: 920
[INFO]
Generating keypair with 2048 bits, e=65537 ...
sending a message
[GET_STRING]
[CONTACTS_CHANGED]
[GET_STRING]
[MSGS_CHANGED]
[GET_STRING]
[GET_STRING]
[GET_STRING]
[ERROR]
End-to-end-encryption unavailable unexpectedly.
[MSG_FAILED]
fetching chats..
[GET_STRING]
chat: 0 - None - Some("Hi, here is my first message!")
stopping threads
[INFO]
Interrupting IMAP-IDLE...
[INFO]
Interrupting SMTP-idle...
joining
[INFO]
SMTP-idle ended.
[INFO]
Keypair generated in 14.203 s.
[INFO]
Configure completed.
[CONFIGURE_PROGRESS]
progress: 940
failed to close connection: Bad("no mailbox selected")
[INFO]
IMAP disconnected.
[CONFIGURE_PROGRESS]
progress: 1000
[INFO]
Unsuspending SENTBOX-thread.
[INFO]
Unsuspending MVBOX-thread.
[INFO]
INBOX-jobs ended.
closing
[INFO]
IMAP disconnected.
[INFO]
IMAP disconnected.
[INFO]
IMAP disconnected.
[INFO]
Database closed.
I have tried to increase delay in
let duration = time::Duration::from_millis(10000);
but that only increases the time in "Keypair generated in 14.203 s." message.
This would make #46 somewhat obsolete, as json parsing is only used for parsing oauth2 responses
While we do have windows CI now, there are still things failing, due to the code using various unix apis. These should be migrated to their rust equivalents to allow for windows builds to succeed:
https://ci.appveyor.com/project/dignifiedquire/deltachat-core-rust
Version info:
Delta Chat Core version 0.15.0
Observation:
When deleting a message with Core on the Server, the corresponding read/return receipt is not removed from the mailbox folder.
Expected behaviour:
Receipts are removed as well.
It's calling dc_close()
internally, which sometimes takes a really long time. Up to a minute.
I have sent a 300KB image to a friend, the process have taken several minutes due the slow and intermittent network, long enough I changed my mind and decided not to send the image, since I don't see a more direct way to cancel this, I selected the message and press the delete icon, anyway the message still was sent to the recipient (after another bunch of painful minutes) all subsequent messages I have sent, had to wait for the image to be sent anyway so my DC was unusable until this process ended.
Similar to what we used to do with ninja
before, see https://github.com/deltachat/deltachat-node/blob/c144d5aa0d5f4a12c80434d8399c87b06559d053/ci_scripts/ci-prelude.sh#L46
Add a Makefile
or similar.
We need this to build node bindings and test that against latest master.
There are now info!
warn!
and error!
macros for logging (you can see usage examples in dc_imap.rs
currently, we're prefetching the headers using FETCH ENVELOP
https://tools.ietf.org/html/rfc3501#section-2.3.5 - if this also includes the Autocrypt-Headers, maybe we can optimize that (an Autocrypt-Header with an RSA-key is about 2.5K, an ECC-key is 0.5K - as this sums up to some K when prefetching 10 messages, even the 0.5K this sum up and it's probably worth the effort)
esp. for smaller messages, this will be a huge win as, if the body is small, the messages is mroe or less downloaded twice.
Many functions look like this
fn my_fn(mut arg1: usize) {}
but should be
fn my_fn(arg1: usize) {}
should run
@adbenitez reported that watching only the INBOX for 10 minutes results in
k9 - 2KB
siju - 3KB
dc - 6KB
it's a bit too much for delta.
the difference may come from an interrupt every 5 minutes on android which may also cause some traffic. the interrupt is needed at least on some devices to keep things running in the past. however, maybe after we ask for "battery permissions" explicitly, maybe this is not needed or can be done only every hour or so (however, we should first check that the traffic really results from the interrupt)
another explanation might be the FETCH ENVELOP (#598) - although no new messages arrive, sometimes the server interrupt idle to pass a message that already exists. if the headers downloaded are huge then, this may be a reason.
We use a bunch of flags atm because things are not named appropriately to rust conventions. This should be made probably per file/major struct type
See #19 (comment)
Also investigate a little bit into other functions that are only used by the cmdline tool.
dc_hash.rs
dc_hash_t
with HashMap
currently, for every read-receipt a single mail is sent.
this should be optimizable by combining several read-receipts to the same recipient in a single mail. i would not use timeouts or some for the first iteration. it happens often enough that the user opens a chat with 5 new messages and these messages get read-receipts all at the same time. these read-receipts should be combined.
the api already allows to save a profile image ("avatar") of the user in the same way as the user's display-name or the user's status, see dc_set_config(context, "selfavatar", ...)
while locally reading and writing the avatar is implemented (and is already used at least by android and ios), it's an open question how the avatar data can be sent to the recipients:
one possible way to do this is defined in the spec as Chat-Profile-Image
header at https://github.com/deltachat/spec/blob/master/spec.md#set-profile-image - this would add the avatar as a normal attachment, same as for the group-images. i think this method makes some sense.
an alternative may be the X-Face
header, http://quimby.gnus.org/circus/face/, which however, is very limited in dimension and image size otoh it is displayed also by other MUAs. but this advantage would probably also disappear if we start to move the header to the encrypted part.
another open question is how often the avatar data is sent to the recipients:
it should be possible to avoid downloading of messages the user does not have a chat with.
since deltachat/deltachat-core#588 and deltachat/deltachat-core#580 we have rather easy criterions; it should be possible to decide if a message is important for a user just by the Chat-Version and Message-ID headers.
when targeting this issue and if it's easy enough, maybe also downloading too large messages can be delayed. the user is shown a placeholder and a download-all function downloads the content. but this is probably a bit out-of-scope of this issue, just want to mention it here as it may affect similar parts of the code.
Currently we're doing a lot of apt stuff + compiling libetpan + sasl2. This should be abstracted into one of our own images. Also downloading rust etc.
@flub Up for the task? :)
Check .circle_ci/config.yml
for details.
https://github.com/dignifiedquire/mmime is a rust version of libetpans mime parser which we can use for this
unused_assignments
unused_mut
unused_attributes
See https://github.com/deltachat/deltachat-core-rust/blob/master/src/lib.rs#L6-L8
$ cargo test
Compiling deltachat v0.1.0 (/home/lms/src/deltachat/deltachat-core-rust)
error: linking with `cc` failed: exit code: 1
|
= note: "cc" "-Wl,--as-needed" "-Wl,-z,noexecstack" "-m64" "-L" "/home/lms/.rustup/toolchains/nightly-2019-04-19-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/examples/repl-80bdd544d4423e8d.10zqv7o3rusz5our.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/examples/repl-80bdd544d4423e8d.12vvc5rs9lgqr86o.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/examples/repl-80bdd544d4423e8d.1egcfj0qtihjkhkm.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/examples/repl-80bdd544d4423e8d.1mdmhd1xk0f2tyfk.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/examples/repl-80bdd544d4423e8d.1oof8qnhs3bv1e59.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/examples/repl-80bdd544d4423e8d.1zxm9u83ybcq9in9.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/examples/repl-80bdd544d4423e8d.280qjf1h6fg73726.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/examples/repl-80bdd544d4423e8d.2g30yf4fymdpqz9s.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/examples/repl-80bdd544d4423e8d.2gjcvl1w0sv4jnz1.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/examples/repl-80bdd544d4423e8d.39081qnboz02cd1c.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/examples/repl-80bdd544d4423e8d.3vdeojkz4h6o1d9l.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/examples/repl-80bdd544d4423e8d.3y4ukhpvoypoau0.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/examples/repl-80bdd544d4423e8d.3z1lpqivky8n3a7v.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/examples/repl-80bdd544d4423e8d.43ivgoj2g01hl6ym.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/examples/repl-80bdd544d4423e8d.48y2a6injxeydfck.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/examples/repl-80bdd544d4423e8d.4ehkhfmjuffadwxg.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/examples/repl-80bdd544d4423e8d.4vuz8nobscizkzlb.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/examples/repl-80bdd544d4423e8d.4ylt9uycpy2n23z9.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/examples/repl-80bdd544d4423e8d.515rswtvt0sy5lom.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/examples/repl-80bdd544d4423e8d.54rkz76ul2gty3zg.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/examples/repl-80bdd544d4423e8d.57rnsasozk6iz0hh.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/examples/repl-80bdd544d4423e8d.eq8tedfi2yv3ed9.rcgu.o" "-o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/examples/repl-80bdd544d4423e8d" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/examples/repl-80bdd544d4423e8d.4wdwvtlqyep6mi1z.rcgu.o" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro" "-Wl,-znow" "-nodefaultlibs" "-L" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps" "-L" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/build/deltachat-b43ae97170abb7a1/out" "-L" "/usr/local/lib" "-L" "./include/include" "-L" "./include/libs" "-L" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/build/backtrace-sys-b5c796e15bc3a19e/out" "-L" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/build/libsqlite3-sys-99e07cf08edf4af6/out" "-L" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/build/clear_on_drop-c0c2e568b42ee80e/out" "-L" "/home/lms/.rustup/toolchains/nightly-2019-04-19-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libdeltachat-ce92f2819fd1cd66.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/liblibsqlite3_sys-773d1fa7c628901d.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libpgp-f904265594a44322.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libbitfield-a434b1ec4ef8239e.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libtry_from-93368f6b8995886e.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libhex-4fca09b7368c3d54.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libbuf_redux-32bc424c12ce10bd.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libslice_deque-99e91f4fb9951137.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libsafemem-f00aa4a5337cec43.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/liblog-d6d4baa3c334adc7.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libx25519_dalek-3e660dcafbff7de4.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libtwofish-db44e899eeb0fd6e.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libsha3-7346d786fc8efa2c.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libkeccak-29f25e1710c6e395.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libsha1-18863e0fd552f31e.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libripemd160-3f40fd54462c6d80.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libmd5-91b8fad1e18fdf3f.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libed25519_dalek-6c172252846001c8.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libcurve25519_dalek-76e0b242af021265.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libclear_on_drop-d8cfa6c6619808cb.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libflate2-321b9dc1387074e1.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libminiz_oxide_c_api-a1e24d26821a8b18.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libminiz_oxide-58bbd443cef5d26b.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libadler32-1fed2a21165df8fc.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libcrc-4454bb148bb37cc5.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libcrc32fast-d14acd10f702ef23.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libdes-dbf53f8883e22416.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libcircular-c550070ac246141e.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libcfb_mode-ba67dd3e2c4ba0e7.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libstream_cipher-717a69deeea138a9.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libcast5-fd239192d3aaa154.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libblowfish-1c68449f06c074f6.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libblock_modes-e807e75e82018875.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libaes-fe5ec197c53b46b4.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libaes_soft-d97571bee20aa5f4.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libblock_cipher_trait-e5b99a1ac8a8de8f.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libchrono-d46be364b084c969.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libtime-22d385c901573364.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/librsa-eca2ec4138ada035.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libnum_bigint_dig-574f70b2a522b974.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libsmallvec-52d8ea177eab744d.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libzeroize-6682510bd35b0468.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libsubtle-1ead1427d123ff8d.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/librand-c9114b34bb23cdbe.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/librand_xorshift-2150bf68735c400f.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/librand_pcg-a767e9434c576577.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/librand_hc-e4696596fe3da153.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/librand_chacha-ae8525fe43c5f464.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/librand_isaac-dd013d5f5eeec2ce.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/librand_core-70f70c6333ea393a.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/librand_os-015a6d1a2c07631b.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/librand_jitter-c94acf8e3f849c66.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/librand_core-e65e35f617ae545b.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libnum_iter-1d324b61684e7b75.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libnum_integer-0b44fc9e58329cfe.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libnum_traits-545e2166927f798e.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/liblazy_static-7a99494f0e27868d.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libcrc24-bce24251a757245b.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libbase64-9a7a1a5ccf1c1a47.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libnom-b2405beedc153354.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libmemchr-30885e07bb1b38f5.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libsha2-0e9a5d1352dc4a69.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libdigest-39046a1440ab91be.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libopaque_debug-041597e14f4212f0.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libfake_simd-078d26dac2eb6213.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libblock_buffer-9254cedd34283bd7.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libgeneric_array-39e1175becad1523.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libtypenum-b80d02e4bd2791e3.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libblock_padding-e1ad2763b7d52ae6.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libbyte_tools-81925955f49a6f1d.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libbyteorder-f1b402fac509ca46.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libfailure-91dc1d63d804a90b.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libbacktrace-cab2ff8ba0fbabdb.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libbacktrace_sys-b9c8a1681298292e.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/librustc_demangle-00e6e3e98cd968cf.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libcfg_if-70ed510e60e38f5a.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/liblibc-65d742ba653606fb.rlib" "-Wl,--start-group" "/home/lms/.rustup/toolchains/nightly-2019-04-19-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-482af3334a4a2984.rlib" "/home/lms/.rustup/toolchains/nightly-2019-04-19-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-20a446a3db441f3c.rlib" "/home/lms/.rustup/toolchains/nightly-2019-04-19-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libbacktrace_sys-0971fa630fca073e.rlib" "/home/lms/.rustup/toolchains/nightly-2019-04-19-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-391f380bc2050225.rlib" "/home/lms/.rustup/toolchains/nightly-2019-04-19-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-dd6cec229546fe42.rlib" "/home/lms/.rustup/toolchains/nightly-2019-04-19-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-120778b273d0c168.rlib" "/home/lms/.rustup/toolchains/nightly-2019-04-19-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-669c274efa5442f7.rlib" "/home/lms/.rustup/toolchains/nightly-2019-04-19-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-b7bdeafec2b1788b.rlib" "/home/lms/.rustup/toolchains/nightly-2019-04-19-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-e3dd59fa51b3c0cf.rlib" "-Wl,--end-group" "/home/lms/.rustup/toolchains/nightly-2019-04-19-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-2545eaff28e344bb.rlib" "-Wl,-Bdynamic" "-letpan" "-lsasl2" "-lz" "-lpthread" "-lutil" "-lutil" "-ldl" "-lrt" "-lpthread" "-lgcc_s" "-lc" "-lm" "-lrt" "-lpthread" "-lutil" "-lutil"
= note: /usr/bin/ld: /home/lms/src/deltachat/deltachat-core-rust/target/debug/examples/repl-80bdd544d4423e8d.eq8tedfi2yv3ed9.rcgu.o: in function `repl::read_cmd':
/home/lms/src/deltachat/deltachat-core-rust/examples/repl/main.rs:382: undefined reference to `__stdinp'
collect2: error: ld returned 1 exit status
error: aborting due to previous error
error: Could not compile `deltachat`.
warning: build failed, waiting for other jobs to finish...
error: linking with `cc` failed: exit code: 1
|
= note: "cc" "-Wl,--as-needed" "-Wl,-z,noexecstack" "-m64" "-L" "/home/lms/.rustup/toolchains/nightly-2019-04-19-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.10vw1yiegb7tj5iy.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.122dqsy78jcrdmj1.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.127f97z5g2jx6dz7.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.12n8j1jp2h0bjdcy.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.13513b0d98mnd427.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.13bg8nkc16glogn8.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.14500xue3f5i2q9q.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.16m0quj4k072omby.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.187cjql7qihiqfuh.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.18b20idfw1on7fla.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.195i3yfwkafff7wl.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.19895vtp9kx9dazi.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.1b3u3ap37nas8bsx.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.1dbu0x0zkba1tfwj.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.1elhes6729ferscd.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.1fobral2parpjwx0.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.1gmdiwd01w83ncy6.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.1hxtcwv8jbxxxo1r.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.1ij3iqtdp5936qca.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.1iv5od1ehqe41cf4.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.1mrjdce15aeu9clp.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.1mtgj1idwe59ksgj.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.1nibx3ybhn8z7vbj.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.1nj7n20vfwe1cqwy.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.1oy2tclj4vjdvnx7.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.1rbixd1mfdmgzkb6.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.1u5v5gznrdzea0n.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.1ubdh4265ripgu9v.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.1zau6ir5vjy2og51.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.20u0xjt39kdqx1yo.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.22bsb51ofa2e4tg8.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.22iun5ws4dgel98z.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.24c1vxobgcfdy5oe.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.26hshhyxz2f3hp6h.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.279jawxxzeqhl0t0.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.27j1vy8vntdmtw0c.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.29botrv2ix9vitea.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.29lx5n2bvmqn6rp1.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.2e703tbei2de94uc.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.2f0qmmfzsdub5ar0.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.2g46j3ssa3j6c6x.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.2ket2cfwr1amyyrb.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.2kuwzav3w2i6yrww.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.2lshug1qpclznxy.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.2mcf35396os6stje.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.2n1bnnybyqg7i2lm.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.2plxko4hsecqjv08.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.2qda1u7f6ywdrm17.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.2r2jwsotj9cpuk4i.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.2rpy1yrhccrzamup.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.2rzmji8dvg6zo1j9.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.2vr3qqnhdlxwq7ip.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.2wk42v011zw7j0jy.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.2y53ou5d7i6j2hsn.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.30hjoljuy715yc4l.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.312kpc96bjc5bvlp.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.31ty796czrady509.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.31wbcgdaq4tzqgd8.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.321bcv3li5dvjv3j.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.331cms280glt09gj.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.337yw15wra82h21k.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.35x749lf8wh7l6n5.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.36bzyynivo8aea40.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.37axqtwua628bs4.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.37kn2tsy2mkw2jd7.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.3cv1yip04xpntspc.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.3dugkdzzx7vzrtw9.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.3g3kqk6kgvwarwg5.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.3j0buqc9ojo825lu.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.3l3wrdyfxzufolm2.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.3mjadirolp7k5n2l.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.3nfg2tx3vc19nx98.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.3ortokliduvqnyr2.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.3p23r2wtmsq4mxx5.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.3pnw9nclc46b1q7m.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.3qhb1ujk7nqgrosy.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.3qtazuftmvghvnsv.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.3qu6hcobf0uw3ql0.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.3to3bpmb9fe9zlah.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.3vdhr6vzcfywjcb8.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.3ythg8bcx4n92eni.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.3zyt6yas1nhj34xe.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.41x1virv9yqxynu2.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.41yjs3kstu2j751q.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.42ythljklpw2l1f3.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.43pwnm9f2k2jyuf0.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.43tuzgdb9t8mdv4l.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.45aa6y1ynqyyb777.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.47nuesb15fii7t4f.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.48rlycz5n8gkiv3k.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.49e3wcicaxc62359.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.4afbyjxaa96rx0m3.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.4ce10nr5moh5k35h.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.4d6wpcu9lsw3gm89.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.4eu5g95o17o7zz7.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.4exyc5mm87hyfpey.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.4gugtr15t3ncpeik.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.4i7cjnnj4dsb6n32.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.4lsffpm5j31hycb6.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.4ps8fqefyu48qj9t.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.4rm7qs2soqyde0lc.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.4rxetyxmhn4tcd8m.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.4snezd1vbh6z8dov.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.4vn9wxma3bfczik7.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.4wiu7m0gr96aoy8o.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.4x3w7e810tii30y2.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.508e6bzkz41z111p.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.50hqup4bwygr7tjz.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.511krrbi5lrfe5de.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.52mhga0fq2ujobpg.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.53wl3144u9t93u2o.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.573u6eg164n2bpl7.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.58cs62l8fwb05q3z.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.58kl1l6n3y0nik2w.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.5e3zcsmhg6rzykky.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.5et0gji9isy440jc.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.5g6adtjrwkich205.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.6vnm1h24eqmo29q.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.8h1cqw0zii8p98g.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.94ngghbbnashwwn.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.97acyvxcxwmwc25.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.aw2r92yywux6t9k.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.b4t9v4dpmkwxwvt.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.b8re1j8aqqtah4b.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.c9bncocufp0ufqg.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.ecckw8nlfr6dyb5.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.gibnzc4w5om94lb.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.gpyn54219j1v0kb.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.hiv3ik3f23z2c9v.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.hnsh1dlbh00q0rg.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.kb9nrpkhsy2vc7a.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.kuhjgdugd13rbr4.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.l1wlucppdle45de.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.q9orxzip2vg4h9i.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.quaiwmr1nak2ky4.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.qzhvrod8064wlxh.rcgu.o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.ryeq1dvvphgs35s.rcgu.o" "-o" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/deltachat-b75c95964400d913.24v1j9el4gxakfzn.rcgu.o" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro" "-Wl,-znow" "-nodefaultlibs" "-L" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps" "-L" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/build/deltachat-b43ae97170abb7a1/out" "-L" "/usr/local/lib" "-L" "./include/include" "-L" "./include/libs" "-L" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/build/backtrace-sys-b5c796e15bc3a19e/out" "-L" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/build/libsqlite3-sys-99e07cf08edf4af6/out" "-L" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/build/clear_on_drop-c0c2e568b42ee80e/out" "-L" "/home/lms/.rustup/toolchains/nightly-2019-04-19-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-letpan" "-lsasl2" "-lz" "-lpthread" "-Wl,-Bstatic" "-Wl,--whole-archive" "-ltools" "-Wl,--no-whole-archive" "/home/lms/.rustup/toolchains/nightly-2019-04-19-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libtest-d4ec965eb4b5db6a.rlib" "/home/lms/.rustup/toolchains/nightly-2019-04-19-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libterm-4508ec3acaafd124.rlib" "/home/lms/.rustup/toolchains/nightly-2019-04-19-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgetopts-ed58c777cc3ec3de.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/liblibsqlite3_sys-773d1fa7c628901d.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libpgp-f904265594a44322.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libbitfield-a434b1ec4ef8239e.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libtry_from-93368f6b8995886e.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libhex-4fca09b7368c3d54.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libbuf_redux-32bc424c12ce10bd.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libslice_deque-99e91f4fb9951137.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libsafemem-f00aa4a5337cec43.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/liblog-d6d4baa3c334adc7.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libx25519_dalek-3e660dcafbff7de4.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libtwofish-db44e899eeb0fd6e.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libsha3-7346d786fc8efa2c.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libkeccak-29f25e1710c6e395.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libsha1-18863e0fd552f31e.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libripemd160-3f40fd54462c6d80.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libmd5-91b8fad1e18fdf3f.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libed25519_dalek-6c172252846001c8.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libcurve25519_dalek-76e0b242af021265.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libclear_on_drop-d8cfa6c6619808cb.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libflate2-321b9dc1387074e1.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libminiz_oxide_c_api-a1e24d26821a8b18.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libminiz_oxide-58bbd443cef5d26b.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libadler32-1fed2a21165df8fc.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libcrc-4454bb148bb37cc5.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libcrc32fast-d14acd10f702ef23.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libdes-dbf53f8883e22416.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libcircular-c550070ac246141e.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libcfb_mode-ba67dd3e2c4ba0e7.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libstream_cipher-717a69deeea138a9.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libcast5-fd239192d3aaa154.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libblowfish-1c68449f06c074f6.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libblock_modes-e807e75e82018875.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libaes-fe5ec197c53b46b4.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libaes_soft-d97571bee20aa5f4.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libblock_cipher_trait-e5b99a1ac8a8de8f.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libchrono-d46be364b084c969.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libtime-22d385c901573364.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/librsa-eca2ec4138ada035.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libnum_bigint_dig-574f70b2a522b974.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libsmallvec-52d8ea177eab744d.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libzeroize-6682510bd35b0468.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libsubtle-1ead1427d123ff8d.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/librand-c9114b34bb23cdbe.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/librand_xorshift-2150bf68735c400f.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/librand_pcg-a767e9434c576577.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/librand_hc-e4696596fe3da153.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/librand_chacha-ae8525fe43c5f464.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/librand_isaac-dd013d5f5eeec2ce.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/librand_core-70f70c6333ea393a.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/librand_os-015a6d1a2c07631b.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/librand_jitter-c94acf8e3f849c66.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/librand_core-e65e35f617ae545b.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libnum_iter-1d324b61684e7b75.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libnum_integer-0b44fc9e58329cfe.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libnum_traits-545e2166927f798e.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/liblazy_static-7a99494f0e27868d.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libcrc24-bce24251a757245b.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libbase64-9a7a1a5ccf1c1a47.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libnom-b2405beedc153354.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libmemchr-30885e07bb1b38f5.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libsha2-0e9a5d1352dc4a69.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libdigest-39046a1440ab91be.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libopaque_debug-041597e14f4212f0.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libfake_simd-078d26dac2eb6213.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libblock_buffer-9254cedd34283bd7.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libgeneric_array-39e1175becad1523.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libtypenum-b80d02e4bd2791e3.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libblock_padding-e1ad2763b7d52ae6.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libbyte_tools-81925955f49a6f1d.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libbyteorder-f1b402fac509ca46.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libfailure-91dc1d63d804a90b.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libbacktrace-cab2ff8ba0fbabdb.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libbacktrace_sys-b9c8a1681298292e.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/librustc_demangle-00e6e3e98cd968cf.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/libcfg_if-70ed510e60e38f5a.rlib" "/home/lms/src/deltachat/deltachat-core-rust/target/debug/deps/liblibc-65d742ba653606fb.rlib" "-Wl,--start-group" "/home/lms/.rustup/toolchains/nightly-2019-04-19-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-482af3334a4a2984.rlib" "/home/lms/.rustup/toolchains/nightly-2019-04-19-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-20a446a3db441f3c.rlib" "/home/lms/.rustup/toolchains/nightly-2019-04-19-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libbacktrace_sys-0971fa630fca073e.rlib" "/home/lms/.rustup/toolchains/nightly-2019-04-19-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-391f380bc2050225.rlib" "/home/lms/.rustup/toolchains/nightly-2019-04-19-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-dd6cec229546fe42.rlib" "/home/lms/.rustup/toolchains/nightly-2019-04-19-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-120778b273d0c168.rlib" "/home/lms/.rustup/toolchains/nightly-2019-04-19-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-669c274efa5442f7.rlib" "/home/lms/.rustup/toolchains/nightly-2019-04-19-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-b7bdeafec2b1788b.rlib" "/home/lms/.rustup/toolchains/nightly-2019-04-19-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-e3dd59fa51b3c0cf.rlib" "-Wl,--end-group" "/home/lms/.rustup/toolchains/nightly-2019-04-19-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-2545eaff28e344bb.rlib" "-Wl,-Bdynamic" "-lutil" "-lutil" "-ldl" "-lrt" "-lpthread" "-lgcc_s" "-lc" "-lm" "-lrt" "-lpthread" "-lutil" "-lutil"
= note: /usr/bin/ld: /home/lms/src/deltachat/deltachat-core-rust/target/debug/build/deltachat-b43ae97170abb7a1/out/libtools.a(misc.o): in function `dc_strdup':
/home/lms/src/deltachat/deltachat-core-rust/misc.c:10: multiple definition of `dc_strdup'; /home/lms/src/deltachat/deltachat-core-rust/target/debug/build/deltachat-b43ae97170abb7a1/out/libtools.a(misc.o):/home/lms/src/deltachat/deltachat-core-rust/misc.c:10: first defined here
/usr/bin/ld: /home/lms/src/deltachat/deltachat-core-rust/target/debug/build/deltachat-b43ae97170abb7a1/out/libtools.a(misc.o): in function `dc_mprintf':
/home/lms/src/deltachat/deltachat-core-rust/misc.c:26: multiple definition of `dc_mprintf'; /home/lms/src/deltachat/deltachat-core-rust/target/debug/build/deltachat-b43ae97170abb7a1/out/libtools.a(misc.o):/home/lms/src/deltachat/deltachat-core-rust/misc.c:26: first defined here
/usr/bin/ld: /home/lms/src/deltachat/deltachat-core-rust/target/debug/build/deltachat-b43ae97170abb7a1/out/libtools.a(misc.o): in function `dc_strbuilder_cat':
/home/lms/src/deltachat/deltachat-core-rust/misc.c:70: multiple definition of `dc_strbuilder_cat'; /home/lms/src/deltachat/deltachat-core-rust/target/debug/build/deltachat-b43ae97170abb7a1/out/libtools.a(misc.o):/home/lms/src/deltachat/deltachat-core-rust/misc.c:70: first defined here
/usr/bin/ld: /home/lms/src/deltachat/deltachat-core-rust/target/debug/build/deltachat-b43ae97170abb7a1/out/libtools.a(misc.o): in function `dc_strbuilder_catf':
/home/lms/src/deltachat/deltachat-core-rust/misc.c:115: multiple definition of `dc_strbuilder_catf'; /home/lms/src/deltachat/deltachat-core-rust/target/debug/build/deltachat-b43ae97170abb7a1/out/libtools.a(misc.o):/home/lms/src/deltachat/deltachat-core-rust/misc.c:115: first defined here
collect2: error: ld returned 1 exit status
error: aborting due to previous error
error: Could not compile `deltachat`.
To learn more, run the command again with --verbose.
Should be run by cargo build --release -p deltachat_ffi
to make sure it compiles always.
After reworking the internal structure in PR deltachat/deltachat-core#115 and deltachat/deltachat-core#118, supporting mailing lists should be easier. At least read-only,
The current state is that messages belonging to mailing lists are detected and are explicitly hidden, see the comment "Current state of mailing list handling" in the source.
If we decide to support mailing lists - what is needed, what are the headers, what are the corner cases? How can they be shown and used in Delta Chat? RFC 2919 and RFC 3834 are helpful, however, in practice things are often done differently and require the know-how from experienced people :)
Todo's that came into my mind for reading mailing lists - please comment below and add what i've forgotten:
List-Id:
header in a separate chatList-Id
- in List-Id: foo <bla>
- which part in practice is the id? foo <bla>
or bla
?foo
in the example above? or the [prefix]
from the subject?The messages will be shown in chronological order, this is not always optimal, however, I do not think that and extra view is worth the effort currently.
Writing mailing lists is more complicated, just some thought, this is not really part of this issue:
Reply-To:
header address (used eg. for the github issues) or to the List-Post:
- is this correct? if both are unset - use From:
?In-Reply-To:
so that threads are not messed up on the normal MUAs. The reply option should be invoked by a long press on the message to reply to. However, this feature is not only useful for mailing lists :)In-Reply-To:
and References:
carefullyAny help on these questions is very welcome. I know there are real mailing lists experts out there :)
I was performing some tests, with DeltaChat 0.100 and K9 Mail, sending a simple(and unencrypted) message "Hello world!!!" with DeltaChat uses ~12KB while sending the same message using K9 Mail uses only 2KB of network flow(so I can send 6 messages with K9 for every email I send with DC??). This seems to be related to the fact that DC sends a copy of the email to the user itself and have to move it to the DeltaChat folder, is this message downloaded??? if so, this is not much better than the previous approach.
This replaces the code in dc_saxparser.rs
probably good library: https://github.com/tafia/quick-xml
Many of them got lost unfortunately. Should use rust doc comments for this ///
eg.
/// This is an awesome function
fn awesome() {
}
Delta Chat needs a way to set expiration dates for keys it generates and rotate them automatically. I think it is the closest thing to forward secrecy that can be implemented on top of OpenPGP.
Deleting messages for which the key has expired can serve as a weak substitution for self-destructing messages requested in deltachat/deltachat-android#99.
Related issue in Autocrypt: autocrypt/autocrypt#242
It seems we are reading keys from the db a lot more often than we need. Is this the case that we do this for each message?
Hard to reproduce but with forwarding a message from android it works. The related message is in the deltachat desktop group.
@hpk42
This morning had a chat with @dignifiedquire around when how we could leave out the Autocrypt header to reduce message size. Here is a rough idea:
if one of our recipients did not sent a "Chat-Version: 1.1" header with their last message, then put in the full autocrypt header like today.
If all recipients are on "Chat-Version: 1.1" then skip sending the Autocrypt header if the last message of each recipient was encrypted to the key i would now send as an Autocrypt header.
A "chat-version: 1.1" client will interpret a missing Autocrypt header as to use the last one that was sent.
For 1:1 chats this would lead to not send Autocrypt headers once both have sent a message and as long as the keys don't change. For larger chats, if some people stay silent in the group and never send a message, then I would send Autocrypt headers until they send a properly encrypted message.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.