mirror of
https://github.com/chatmail/core.git
synced 2026-04-18 05:56:31 +03:00
HTTPS requests are used to fetch remote images in HTML emails, to fetch autoconfig XML, to POST requests for `DCACCOUNT:` QR codes to make OAuth 2 API requests and to connect to HTTPS proxies. Rustls is more aggressive than OpenSSL in deprecating cryptographic algorithms so we cannot use it for IMAP and SMTP to avoid breaking compatibility, but for HTTPS requests listed above this should not result in problems. As HTTPS requests use only strict TLS checks, there is no `strict_tls` argument in `wrap_rustls` function. Rustls is already used by iroh, so this change does not introduce new dependencies.
209 lines
5.7 KiB
TOML
209 lines
5.7 KiB
TOML
[package]
|
|
name = "deltachat"
|
|
version = "1.145.0"
|
|
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.10.1", 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-lite = { workspace = true }
|
|
futures = { workspace = true }
|
|
hex = "0.4.0"
|
|
hickory-resolver = "=0.25.0-alpha.2"
|
|
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-gossip = { version = "0.25.0", default-features = false, features = ["net"] }
|
|
iroh-net = { version = "0.25.0", default-features = false }
|
|
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 }
|
|
parking_lot = "0.12"
|
|
percent-encoding = "2.3"
|
|
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"
|
|
rustls-pki-types = "1.8.0"
|
|
rustls = { version = "0.23.13", default-features = false }
|
|
sanitize-filename = { workspace = true }
|
|
serde_json = { workspace = true }
|
|
serde_urlencoded = "0.7.1"
|
|
serde = { workspace = true, features = ["derive"] }
|
|
sha-1 = "0.10"
|
|
shadowsocks = { version = "1.21.0", default-features = false, features = ["aead-cipher-2022"] }
|
|
smallvec = "1.13.2"
|
|
strum = "0.26"
|
|
strum_macros = "0.26"
|
|
tagger = "4.3.4"
|
|
textwrap = "0.16.1"
|
|
thiserror = { workspace = true }
|
|
tokio-io-timeout = "1.2.0"
|
|
tokio-rustls = { version = "0.26.0", default-features = false }
|
|
tokio-stream = { version = "0.1.15", features = ["fs"] }
|
|
tokio-tar = { version = "0.3" } # TODO: integrate tokio into async-tar
|
|
tokio-util = { workspace = true }
|
|
tokio = { workspace = true, features = ["fs", "rt-multi-thread", "macros"] }
|
|
toml = "0.8"
|
|
url = "2"
|
|
uuid = { version = "1", features = ["serde", "v4"] }
|
|
webpki-roots = "0.26.6"
|
|
|
|
[dev-dependencies]
|
|
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 }
|
|
nu-ansi-term = { workspace = true }
|
|
pretty_assertions = "1.3.0"
|
|
proptest = { version = "1", default-features = false, features = ["std"] }
|
|
tempfile = { workspace = true }
|
|
testdir = "0.9.0"
|
|
tokio = { workspace = true, features = ["rt-multi-thread", "macros"] }
|
|
|
|
[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"
|
|
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"
|
|
nu-ansi-term = "0.46"
|
|
num-traits = "0.2"
|
|
once_cell = "1.18.0"
|
|
rand = "0.8"
|
|
regex = "1.10"
|
|
rusqlite = "0.32"
|
|
sanitize-filename = "0.5"
|
|
serde = "1.0"
|
|
serde_json = "1"
|
|
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 = [
|
|
"rusqlite/bundled-sqlcipher-vendored-openssl"
|
|
]
|
|
|
|
[lints.rust]
|
|
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(fuzzing)'] }
|