mirror of
https://github.com/chatmail/core.git
synced 2026-04-23 00:16:34 +03:00
This change replaces usage of `reqwest` and `hyper-util` with custom connection establishment code so it is done in the same way as for IMAP and SMTP connections. This way we control HTTP, IMAP and SMTP connection establishment and schedule connection attempts to resolved IP addresses in the same way for all 3 protocols.
205 lines
5.5 KiB
TOML
205 lines
5.5 KiB
TOML
[package]
|
|
name = "deltachat"
|
|
version = "1.142.10"
|
|
edition = "2021"
|
|
license = "MPL-2.0"
|
|
rust-version = "1.77"
|
|
repository = "https://github.com/deltachat/deltachat-core-rust"
|
|
|
|
[profile.dev]
|
|
debug = 0
|
|
panic = 'abort'
|
|
opt-level = 1
|
|
|
|
[profile.test]
|
|
# Make anyhow `backtrace` feature useful.
|
|
# With `debug = 0` there are no line numbers in the backtrace
|
|
# produced with RUST_BACKTRACE=1.
|
|
debug = 1
|
|
opt-level = 0
|
|
|
|
# Always optimize dependencies.
|
|
# This does not apply to crates in the workspace.
|
|
# <https://doc.rust-lang.org/cargo/reference/profiles.html#overrides>
|
|
[profile.dev.package."*"]
|
|
opt-level = "z"
|
|
|
|
[profile.release]
|
|
lto = true
|
|
panic = 'abort'
|
|
opt-level = "z"
|
|
codegen-units = 1
|
|
strip = true
|
|
|
|
[dependencies]
|
|
deltachat_derive = { path = "./deltachat_derive" }
|
|
deltachat-time = { path = "./deltachat-time" }
|
|
deltachat-contact-tools = { workspace = true }
|
|
format-flowed = { path = "./format-flowed" }
|
|
ratelimit = { path = "./deltachat-ratelimit" }
|
|
|
|
anyhow = { workspace = true }
|
|
async-broadcast = "0.7.1"
|
|
async-channel = { workspace = true }
|
|
async-imap = { version = "0.9.7", default-features = false, features = ["runtime-tokio"] }
|
|
async-native-tls = { version = "0.5", default-features = false, features = ["runtime-tokio"] }
|
|
async-smtp = { version = "0.9", default-features = false, features = ["runtime-tokio"] }
|
|
async_zip = { version = "0.0.12", default-features = false, features = ["deflate", "fs"] }
|
|
base64 = { workspace = true }
|
|
brotli = { version = "6", default-features=false, features = ["std"] }
|
|
bytes = "1"
|
|
chrono = { workspace = true, features = ["alloc", "clock", "std"] }
|
|
email = { git = "https://github.com/deltachat/rust-email", branch = "master" }
|
|
encoded-words = { git = "https://github.com/async-email/encoded-words", branch = "master" }
|
|
escaper = "0.1"
|
|
fast-socks5 = "0.9"
|
|
fd-lock = "4"
|
|
futures = { workspace = true }
|
|
futures-lite = { workspace = true }
|
|
hex = "0.4.0"
|
|
hickory-resolver = "0.24"
|
|
http-body-util = "0.1.2"
|
|
humansize = "2"
|
|
hyper = "1"
|
|
hyper-util = "0.1.7"
|
|
image = { version = "0.25.1", default-features=false, features = ["gif", "jpeg", "ico", "png", "pnm", "webp", "bmp"] }
|
|
iroh-net = { version = "0.23.0", default-features = false }
|
|
iroh-gossip = { version = "0.23.0", default-features = false, features = ["net"] }
|
|
kamadak-exif = "0.5.3"
|
|
lettre_email = { git = "https://github.com/deltachat/lettre", branch = "master" }
|
|
libc = { workspace = true }
|
|
mailparse = "0.15"
|
|
mime = "0.3.17"
|
|
num_cpus = "1.16"
|
|
num-derive = "0.4"
|
|
num-traits = { workspace = true }
|
|
once_cell = { workspace = true }
|
|
percent-encoding = "2.3"
|
|
parking_lot = "0.12"
|
|
pgp = { version = "0.13.2", default-features = false }
|
|
qrcodegen = "1.7.0"
|
|
quick-xml = "0.36"
|
|
quoted_printable = "0.5"
|
|
rand = { workspace = true }
|
|
regex = { workspace = true }
|
|
rusqlite = { workspace = true, features = ["sqlcipher"] }
|
|
rust-hsluv = "0.1"
|
|
sanitize-filename = { workspace = true }
|
|
serde_json = { workspace = true }
|
|
serde_urlencoded = "0.7.1"
|
|
serde = { workspace = true, features = ["derive"] }
|
|
sha-1 = "0.10"
|
|
smallvec = "1.13.2"
|
|
strum = "0.26"
|
|
strum_macros = "0.26"
|
|
tagger = "4.3.4"
|
|
textwrap = "0.16.1"
|
|
thiserror = { workspace = true }
|
|
tokio = { workspace = true, features = ["fs", "rt-multi-thread", "macros"] }
|
|
tokio-io-timeout = "1.2.0"
|
|
tokio-stream = { version = "0.1.15", features = ["fs"] }
|
|
tokio-tar = { version = "0.3" } # TODO: integrate tokio into async-tar
|
|
tokio-util = { workspace = true }
|
|
toml = "0.8"
|
|
url = "2"
|
|
uuid = { version = "1", features = ["serde", "v4"] }
|
|
|
|
[dev-dependencies]
|
|
ansi_term = { workspace = true }
|
|
anyhow = { workspace = true, features = ["backtrace"] } # Enable `backtrace` feature in tests.
|
|
criterion = { version = "0.5.1", features = ["async_tokio"] }
|
|
futures-lite = { workspace = true }
|
|
log = { workspace = true }
|
|
proptest = { version = "1", default-features = false, features = ["std"] }
|
|
tempfile = { workspace = true }
|
|
testdir = "0.9.0"
|
|
tokio = { workspace = true, features = ["rt-multi-thread", "macros"] }
|
|
pretty_assertions = "1.3.0"
|
|
|
|
[workspace]
|
|
members = [
|
|
"deltachat-ffi",
|
|
"deltachat_derive",
|
|
"deltachat-jsonrpc",
|
|
"deltachat-rpc-server",
|
|
"deltachat-ratelimit",
|
|
"deltachat-repl",
|
|
"deltachat-time",
|
|
"format-flowed",
|
|
"deltachat-contact-tools",
|
|
]
|
|
|
|
[[bench]]
|
|
name = "create_account"
|
|
harness = false
|
|
|
|
[[bench]]
|
|
name = "contacts"
|
|
harness = false
|
|
|
|
[[bench]]
|
|
name = "search_msgs"
|
|
harness = false
|
|
|
|
[[bench]]
|
|
name = "receive_emails"
|
|
harness = false
|
|
|
|
[[bench]]
|
|
name = "get_chat_msgs"
|
|
harness = false
|
|
|
|
[[bench]]
|
|
name = "get_chatlist"
|
|
harness = false
|
|
|
|
[[bench]]
|
|
name = "send_events"
|
|
harness = false
|
|
|
|
[workspace.dependencies]
|
|
anyhow = "1"
|
|
ansi_term = "0.12.1"
|
|
async-channel = "2.3.1"
|
|
base64 = "0.22"
|
|
chrono = { version = "0.4.38", default-features = false }
|
|
deltachat-contact-tools = { path = "deltachat-contact-tools" }
|
|
deltachat-jsonrpc = { path = "deltachat-jsonrpc" }
|
|
deltachat = { path = "." }
|
|
futures = "0.3.30"
|
|
futures-lite = "2.3.0"
|
|
libc = "0.2"
|
|
log = "0.4"
|
|
num-traits = "0.2"
|
|
once_cell = "1.18.0"
|
|
rand = "0.8"
|
|
regex = "1.10"
|
|
rusqlite = "0.32"
|
|
sanitize-filename = "0.5"
|
|
serde_json = "1"
|
|
serde = "1.0"
|
|
tempfile = "3.10.1"
|
|
thiserror = "1"
|
|
|
|
# 1.38 is the latest version before `mio` dependency update
|
|
# that broke compilation with Android NDK r23c and r24.
|
|
# Version 1.39.0 cannot be compiled using these NDKs,
|
|
# see issue <https://github.com/tokio-rs/tokio/issues/6748>
|
|
# for details.
|
|
tokio = "~1.38.1"
|
|
|
|
tokio-util = "0.7.11"
|
|
tracing-subscriber = "0.3"
|
|
yerpc = "0.6.2"
|
|
|
|
[features]
|
|
default = ["vendored"]
|
|
internals = []
|
|
vendored = [
|
|
"async-native-tls/vendored",
|
|
"rusqlite/bundled-sqlcipher-vendored-openssl"
|
|
]
|
|
|
|
[lints.rust]
|
|
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(fuzzing)'] }
|