aboutsummaryrefslogblamecommitdiff
path: root/Cargo.toml
blob: 218a0ed07be22d62e3f585b57051837a8ab3ce3e (plain) (tree)
1
2
3
4
5
6
7
8
9
         
                   
                 
                                                                                
                
                    
                                     

              






                                                                                                                                                        
                 
                          

                          
                    


                     
                   
         

                   
                  


                                                                            
                                                 

                                                           













                                                                                          
                 
                  
            

               
           
                  

                                                    



                         


                      
                 
 

                                                                                 
 
         
                                                                                                           



                                                                      
 
                  
 
                 

                                                                                              
 
        

                          
               
[package]
name = "aerogramme"
version = "0.3.0"
authors = ["Alex Auvolat <alex@adnab.me>", "Quentin Dufour <quentin@dufour.io>"]
edition = "2021"
license = "EUPL-1.2"
description = "A robust email server"

[dependencies]
# async runtime
tokio = { version = "1.18", default-features = false, features = ["rt", "rt-multi-thread", "io-util", "net", "time", "macros", "sync", "signal", "fs"] }
tokio-util = { version = "0.7", features = [ "compat" ]  }
futures = "0.3"

# debug
log = "0.4"
backtrace = "0.3"
console-subscriber = "0.2"
tracing-subscriber = "0.3"
tracing = "0.1"
thiserror = "1.0.56"

# language extensions
lazy_static = "1.4"
duplexify = "1.1.0"
im = "15"
anyhow = "1.0.28"
async-trait = "0.1"
itertools = "0.10"
chrono = { version = "0.4", default-features = false, features = ["alloc"] }

# process related
nix = { version = "0.27", features = ["signal"] }
clap = { version = "3.1.18", features = ["derive", "env"] }

# email protocols
eml-codec = "0.1.2"
smtp-message = { git = "http://github.com/Alexis211/kannader", branch = "feature/lmtp" }
smtp-server = { git = "http://github.com/Alexis211/kannader", branch = "feature/lmtp" }
imap-codec = { version = "2.0.0", features = ["bounded-static", "ext_condstore_qresync"] }
imap-flow = { git = "https://github.com/duesee/imap-flow.git", branch = "main" }

# http & web
http-body-util = "0.1"
hyper = "1.2"
hyper-rustls = { version = "0.26", features = ["http2"] }
hyper-util = { version = "0.1", features = ["full"] }

# serialization, compression & parsing
serde = "1.0.137"
rmp-serde = "0.15"
toml = "0.5"
base64 = "0.21"
hex = "0.4"
nom = "7.1"
quick-xml = "0.31"
zstd = { version = "0.9", default-features = false }

# cryptography & security
sodiumoxide = "0.2"
argon2 = "0.5"
rand = "0.8.5"
rustls = "0.22"
rustls-pemfile = "2.0"
tokio-rustls = "0.25"
rpassword = "7.0"

# login
ldap3 = { version = "0.10", default-features = false, features = ["tls-rustls"] }

# storage
k2v-client = { git = "https://git.deuxfleurs.fr/Deuxfleurs/garage.git", branch = "k2v/shared_http_client" }
aws-config = { version = "1", features = ["behavior-version-latest"] }
aws-sdk-s3 = "1"
aws-smithy-runtime = "1"
aws-smithy-runtime-api = "1"

[dev-dependencies]

[patch.crates-io]
imap-types = { git = "https://github.com/superboum/imap-codec", branch = "custom/aerogramme" }
imap-codec = { git = "https://github.com/superboum/imap-codec", branch = "custom/aerogramme" }

[[test]]
name = "behavior"
path = "tests/behavior.rs"
harness = false