Commit Graph

41 Commits

Author SHA1 Message Date
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
Friedel Ziegelmayer
af8d056206 refactor: remove dc-strbuilder 2019-06-08 17:13:25 +02:00
Floris Bruynooghe
0bce754adf Merge pull request #134 from flub/as_str
Rename to_str() -> as_str() to match stdlib naming convention
2019-06-08 10:57:24 +02:00
Lars-Magnus Skog
a32a275d73 feat: Add utility to convert OsStr to CString (#136)
* Add utility to convert OsStr to CString

This is approach seems acceptable in the context of deltachat, it
should work correctly on unix and on Windows requires paths to be
valid utf-8.

* Use failure crate for error types

* Add OsStrExt impl for Path, fix windows and update docs

- Adds an OsStrExt impl for Path directly, a little more convenience.

- Fix the windows code to actually use the right function name.  Test
  the impl function on unix too since that was the point of having it
  implemented in a separate function to begin with.

- Improve the docs, do hyperlinks a bit better.

* Another attempt at learing to type

Having your compiler in the cloud is just painful.

* Do not treat this as a fatal error

When PRs are made from forks the passwords are unavailable.  We don't
want CI to fail because of this.

* Implement using the AsRef<OsStr> trait

This means any type with implements this trait will get this
implementation, thus covering both OsStr and Path instead of having
duplicate implementations for those like before.

* fix format
2019-06-08 03:04:30 +02:00
Floris Bruynooghe
855c7844b5 Rename to_str() -> as_str() to match stdlib naming convention
The function does a cast and does not create a new objects.  The
stdlib convention is to use to_*() for functions which return new
objects and as_*() for functions which keep referring to the same data
but using a different type.  Follow that convention.
2019-06-07 22:19:39 +02:00
dignifiedquire
95d4df6027 refactor: reduce dependencies on libc 2019-06-05 00:56:59 +02:00
Lars-Magnus Skog
51071fb09d test: move tests for dc_utf8_strlen() 2019-05-29 23:43:08 +02:00
Lars-Magnus Skog
424ada818b test: move stress tests to dc_strencode and dc_tools 2019-05-29 23:43:08 +02:00
dignifiedquire
cd45a1f37c refactor: remove libc usage of snprintf and strndup 2019-05-29 22:04:30 +02:00
dignifiedquire
62e54c7291 refactor: drop libc based directory reading 2019-05-29 20:21:59 +02:00
Friedel Ziegelmayer
0d51c7dd2e Prepare for android builds (#88)
* upgrade ci

* fixup

* update ci script

* Update run.sh

* refactor(time): drop libc time functions

* fix(ffi): use i64 instead off time_t

* fix(ci): install croos

* fix: remove unused dc_check_password

* fix(ffi): enable ssl vendoring by default

* chore: remove unused import

* fix(deps): add vendored flag for reqwest

* chore(ci): use cross fork

* fix: handle invalid  server configurations

Closes #90

* Disable android from circle ci for now
2019-05-28 17:41:50 +02:00
Friedel Ziegelmayer
2a5d0c64d5 Cleanup imports (#86)
Cleanup imports
2019-05-27 12:58:45 +02:00
Friedel Ziegelmayer
e383752b67 Filbytes fix (#85)
* test(sqlite): add some tests for houskeeping methods

* fix(tools): handle faile metadata call
2019-05-27 11:59:25 +02:00
dignifiedquire
22868abe0e refactor: rename dc_context to context 2019-05-27 09:32:50 +02:00
Friedel Ziegelmayer
a247e5b143 refactor(oauth): safe oauth2 and remove custom json parser (#80)
* refactor(oauth): safe oauth2 and remove custom json parser

Closes #46,#53
2019-05-26 22:49:52 +02:00
Friedel Ziegelmayer
94aa314f30 refactor(peerstate): safe implementation of peerstate 2019-05-26 22:33:39 +02:00
Friedel Ziegelmayer
342e416b4e Ci updates & closer to windows builds
* chore: update some ci

* feat: no more libiconv

* refactor: updates for updated mmime api

* fixup: correct mmime path

* cleanup

* use newer visual studio

* Update appveyor.yml

* unify libc imports and improve windows situation

* refactor: use rust based sleep

* improve cross platform state of types

* docs: update readme badges
2019-05-16 17:16:07 +02:00
Lars-Magnus Skog
4fb5bc63be test: move tests to dc_tools.rs 2019-05-13 17:33:34 +02:00
Lars-Magnus Skog
ab96264c1a test: move dc_atof/dc_ftoa tests to dc_tools.rs 2019-05-13 15:48:03 +02:00
dignifiedquire
fdd870286e refactor: move aheader to safe rust 2019-05-12 23:11:13 +02:00
Lars-Magnus Skog
0bbda91e77 Fix warnings on variables not needing mut (#48)
chore: fix compiler warnings (unused mut)
2019-05-08 00:44:40 +02:00
dignifiedquire
2bead0aa6c fix missing imports for mmime 2019-05-07 13:48:13 +01:00
dignifiedquire
83917ef93e wip - use mmime instead of libetpan 2019-05-07 10:45:46 +01:00
dignifiedquire
29a9a408ef remove unused types 2019-05-06 10:59:24 +02:00
Lars-Magnus Skog
2cf6cde5d1 chore: fix compiler warnings (mut + unused assignments) (#40)
* Stop allowing unused assignments

* test: remove unused assignments in cmdline

* chore: fix compiler warnings in dc_tools.rs

* chore: fix compiler warnings in dc_token.rs

* chore: fix compiler warnings in dc_strencode.rs

* chore: fix compiler warnings in dc_stock.rs

* chore: fix compiler warnings in dc_sqlite3.rs

* chore: fix compiler warnings in dc_simplify.rs

* chore: fix compiler warnings in dc_securejoin.rs

* chore: fix compiler warnings in dc_saxparser.rs

* chore: fix compiler warnings in dc_pgp.rs

* chore: fix compiler warnings in dc_param.rs

* chore: fix compiler warnings in dc_oauth2.rs

* chore: fix compiler warnings in dc_msg.rs

* chore: fix compiler warnings in dc_mimeparser.rs

* chore: fix compiler warnings in dc_mimefactory.rs

* chore: fix compiler warnings in dc_lot.rs

* chore: fix compiler warnings in dc_loginparams.rs

* chore: fix compiler warnings in dc_log.rs

* chore: fix compiler warnings in dc_location.rs

* chore: fix compiler warnings in dc_keyring.rs

* chore: fix compiler warnings in dc_key.rs

* chore: fix compiler warnings in dc_jsmn.rs

* chore: fix compiler warnings in dc_jobthread.rs

* chore: fix compiler warnings in dc_imex.rs

* chore: fix compiler warnings in dc_hash.rs

* chore: fix compiler warnings in dc_e2ee.rs

* chore: fix compiler warnings in dc_context.rs

* chore: fix compiler warnings in dc_contact.rs

* chore: fix compiler warnings in dc_chatlist.rs

* chore: fix compiler warnings in dc_chat.rs

* chore: fix compiler warnings in dc_array.rs

* chore: fix compiler warnings in dc_apeerstate.rs

* chore: fix compiler warnings in dc_aheader.rs

* chore: fix compiler warnings in dc_array.rs

* test: remove compiler warnings in test/stress.rs

* test: reduce compiler warnings in examples/repl/main.rs

* test: std:🧵:sleep_ms() is deprecated

* chore: remove unused variable in dc_sqlite3.rs

* chore: fix compiler warnings in dc_receive_imf.rs

* chore: fix compiler warnings in dc_job.rs

* chore: fix compiler warnings in dc_configure.rs

* Fix formatting
2019-05-05 21:58:59 +02:00
dignifiedquire
e7d72dfdd4 fix some locking issues, start rust-imap impl 2019-05-05 00:15:45 +02:00
Lars-Magnus Skog
95e1cc67b9 Fix FIXMEs in stress.rs (#35)
* Start by comparing strings instead of result of strcmp()

* Add failing tests for dc_trim, dc_ltrim and dc_rtrim

* Fix failing tests (use libc:isspace() which counts \r, \n etc)

* Remove FIXME for first dc_simplify_simplify()

* Fix formatting

* Fix tests for dc_param_set()

* Fix remaining FIXMEs in stress.rs

* Don't wrap libc::isspace()

* Wrap unit tests with mod tests

* Fix format
2019-05-03 11:13:06 +02:00
dignifiedquire
2c69d6e767 fix dc_tools handling of deletion and reading 2019-05-02 19:31:49 +02:00
dignifiedquire
fa6dd07dec refactor(tools): use rust-natie for file operations 2019-05-02 16:05:15 +02:00
dignifiedquire
313f71a004 it compiles 2019-05-01 23:41:11 +02:00
dignifiedquire
72e9fe6150 start reworking context references and smtp, imap 2019-05-01 23:41:11 +02:00
dignifiedquire
aa32c53a43 fix: compiles on android 32bit 2019-04-28 17:54:23 +03:00
dignifiedquire
e8a79f220e refactor: use architecture dependent sizes 2019-04-28 15:18:30 +03:00
dignifiedquire
e737a32c54 cleanup: remove unused imports 2019-04-27 18:02:12 +03:00
dignifiedquire
1faf248e09 remove extern c and no_mangle 2019-04-27 01:42:58 +03:00
dignifiedquire
7c8db256e2 no more direct usage of openssl 2019-04-26 23:44:27 +03:00
Lars-Magnus Skog
2121a36bfe Remove mangling for dc_strbuilder_cat() and dc_strdup() 2019-04-26 21:34:24 +02:00
dignifiedquire
760e37fb39 reduce code duplication (round 1) 2019-04-26 18:45:30 +03:00
dignifiedquire
0e3b761147 reduce code duplication 2019-04-26 14:43:01 +03:00
dignifiedquire
ff99e19972 inital commit 2019-04-26 11:57:23 +03:00