Key/value store access from Sieve scripts

This commit is contained in:
mdecimus
2023-12-12 15:28:21 +01:00
parent 78f932990d
commit 4301ec16d0
46 changed files with 1087 additions and 592 deletions

185
Cargo.lock generated
View File

@@ -125,9 +125,9 @@ dependencies = [
[[package]]
name = "anstream"
version = "0.6.4"
version = "0.6.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2ab91ebe16eb252986481c5b62f6098f3b698a45e34b5b98200cf20dd2484a44"
checksum = "d664a92ecae85fd0a7392615844904654d1d5f5514837f471ddef4a057aba1b6"
dependencies = [
"anstyle",
"anstyle-parse",
@@ -154,9 +154,9 @@ dependencies = [
[[package]]
name = "anstyle-query"
version = "1.0.1"
version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a3a318f1f38d2418400f8209655bfd825785afd25aa30bb7ba6cc792e4596748"
checksum = "e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648"
dependencies = [
"windows-sys 0.52.0",
]
@@ -270,7 +270,7 @@ checksum = "5fd55a5ba1179988837d24ab4c7cc8ed6efdeff578ede0416b4225a5fca35bd0"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.39",
"syn 2.0.40",
]
[[package]]
@@ -292,7 +292,7 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.39",
"syn 2.0.40",
]
[[package]]
@@ -303,7 +303,7 @@ checksum = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.39",
"syn 2.0.40",
]
[[package]]
@@ -366,7 +366,7 @@ dependencies = [
"bytes",
"futures-util",
"http 0.2.11",
"http-body 0.4.5",
"http-body 0.4.6",
"hyper 0.14.27",
"itoa",
"matchit",
@@ -392,7 +392,7 @@ dependencies = [
"bytes",
"futures-util",
"http 0.2.11",
"http-body 0.4.5",
"http-body 0.4.6",
"mime",
"rustversion",
"tower-layer",
@@ -485,7 +485,7 @@ dependencies = [
"regex",
"rustc-hash",
"shlex",
"syn 2.0.39",
"syn 2.0.40",
"which",
]
@@ -506,7 +506,7 @@ dependencies = [
"regex",
"rustc-hash",
"shlex",
"syn 2.0.39",
"syn 2.0.40",
]
[[package]]
@@ -648,7 +648,7 @@ dependencies = [
"proc-macro-crate 2.0.0",
"proc-macro2",
"quote",
"syn 2.0.39",
"syn 2.0.40",
"syn_derive",
]
@@ -903,7 +903,7 @@ dependencies = [
"heck",
"proc-macro2",
"quote",
"syn 2.0.39",
"syn 2.0.40",
]
[[package]]
@@ -1170,7 +1170,7 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.39",
"syn 2.0.40",
]
[[package]]
@@ -1218,7 +1218,7 @@ dependencies = [
"proc-macro2",
"quote",
"strsim",
"syn 2.0.39",
"syn 2.0.40",
]
[[package]]
@@ -1240,7 +1240,7 @@ checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5"
dependencies = [
"darling_core 0.20.3",
"quote",
"syn 2.0.39",
"syn 2.0.40",
]
[[package]]
@@ -1414,7 +1414,7 @@ dependencies = [
"pbkdf2 0.12.2",
"pwhash",
"regex",
"rustls 0.22.0",
"rustls 0.22.1",
"rustls-pki-types",
"scrypt",
"sha1",
@@ -1476,7 +1476,7 @@ checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.39",
"syn 2.0.40",
]
[[package]]
@@ -1678,7 +1678,7 @@ dependencies = [
"heck",
"proc-macro2",
"quote",
"syn 2.0.39",
"syn 2.0.40",
]
[[package]]
@@ -1717,9 +1717,9 @@ checksum = "7360491ce676a36bf9bb3c56c1aa791658183a54d2744120f27285738d90465a"
[[package]]
name = "fancy-regex"
version = "0.11.0"
version = "0.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b95f7c0680e4142284cf8b22c14a476e87d61b004a3a0861872b32ef7ead40a2"
checksum = "7493d4c459da9f84325ad297371a6b2b8a162800873a22e3b6b6512e61d18c05"
dependencies = [
"bit-set",
"regex",
@@ -1878,7 +1878,7 @@ checksum = "83c8d52fe8b46ab822b4decdcc0d6d85aeedfc98f0d52ba2bd4aec4a97807516"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.39",
"syn 2.0.40",
"try_map",
]
@@ -1916,7 +1916,7 @@ checksum = "b0fa992f1656e1707946bbba340ad244f0814009ef8c0118eb7b658395f19a2e"
dependencies = [
"frunk_proc_macro_helpers",
"quote",
"syn 2.0.39",
"syn 2.0.40",
]
[[package]]
@@ -1928,7 +1928,7 @@ dependencies = [
"frunk_core",
"proc-macro2",
"quote",
"syn 2.0.39",
"syn 2.0.40",
]
[[package]]
@@ -1940,7 +1940,7 @@ dependencies = [
"frunk_core",
"frunk_proc_macro_helpers",
"quote",
"syn 2.0.39",
"syn 2.0.40",
]
[[package]]
@@ -2005,7 +2005,7 @@ checksum = "53b153fd91e4b0147f4aced87be237c98248656bb01050b96bf3ee89220a8ddb"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.39",
"syn 2.0.40",
]
[[package]]
@@ -2216,7 +2216,7 @@ dependencies = [
"once_cell",
"rand",
"ring 0.16.20",
"rustls 0.21.9",
"rustls 0.21.10",
"rustls-pemfile 1.0.4",
"thiserror",
"tinyvec",
@@ -2241,7 +2241,7 @@ dependencies = [
"parking_lot",
"rand",
"resolv-conf",
"rustls 0.21.9",
"rustls 0.21.10",
"smallvec",
"thiserror",
"tokio",
@@ -2321,9 +2321,9 @@ dependencies = [
[[package]]
name = "http-body"
version = "0.4.5"
version = "0.4.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1"
checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2"
dependencies = [
"bytes",
"http 0.2.11",
@@ -2383,7 +2383,7 @@ dependencies = [
"futures-util",
"h2 0.3.22",
"http 0.2.11",
"http-body 0.4.5",
"http-body 0.4.6",
"httparse",
"httpdate",
"itoa",
@@ -2423,7 +2423,7 @@ dependencies = [
"futures-util",
"http 0.2.11",
"hyper 0.14.27",
"rustls 0.21.9",
"rustls 0.21.10",
"tokio",
"tokio-rustls 0.24.1",
]
@@ -2540,7 +2540,7 @@ dependencies = [
"nlp",
"parking_lot",
"rand",
"rustls 0.22.0",
"rustls 0.22.1",
"rustls-pemfile 2.0.0",
"store",
"tokio",
@@ -2662,9 +2662,9 @@ dependencies = [
[[package]]
name = "itoa"
version = "1.0.9"
version = "1.0.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38"
checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c"
[[package]]
name = "jemalloc-sys"
@@ -2767,7 +2767,7 @@ dependencies = [
"maybe-async",
"parking_lot",
"reqwest",
"rustls 0.21.9",
"rustls 0.21.10",
"serde",
"serde_json",
"tokio",
@@ -2905,7 +2905,7 @@ dependencies = [
"nom",
"percent-encoding",
"ring 0.16.20",
"rustls 0.21.9",
"rustls 0.21.10",
"rustls-native-certs",
"thiserror",
"tokio",
@@ -2918,9 +2918,9 @@ dependencies = [
[[package]]
name = "libc"
version = "0.2.150"
version = "0.2.151"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c"
checksum = "302d7ab3130588088d277783b1e2d2e10c9e9e4a16dd9050e6ec93fb3e7048f4"
[[package]]
name = "libloading"
@@ -3097,7 +3097,7 @@ dependencies = [
"base64 0.21.5",
"gethostname",
"md5",
"rustls 0.22.0",
"rustls 0.22.1",
"rustls-pki-types",
"smtp-proto",
"tokio",
@@ -3137,7 +3137,7 @@ dependencies = [
"mail-send",
"md5",
"parking_lot",
"rustls 0.22.0",
"rustls 0.22.1",
"rustls-pemfile 2.0.0",
"sieve-rs",
"store",
@@ -3298,7 +3298,7 @@ dependencies = [
"proc-macro-error",
"proc-macro2",
"quote",
"syn 2.0.39",
"syn 2.0.40",
"termcolor",
"thiserror",
]
@@ -3325,7 +3325,7 @@ dependencies = [
"percent-encoding",
"pin-project",
"rand",
"rustls 0.21.9",
"rustls 0.21.10",
"rustls-pemfile 1.0.4",
"serde",
"serde_json",
@@ -3575,7 +3575,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.39",
"syn 2.0.40",
]
[[package]]
@@ -3586,9 +3586,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
[[package]]
name = "openssl-src"
version = "300.1.6+3.1.4"
version = "300.2.1+3.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "439fac53e092cd7442a3660c85dde4643ab3b5bd39040912388dcdabf6b88085"
checksum = "3fe476c29791a5ca0d1273c697e96085bbabbbea2ef7afd5617e78a4b40332d3"
dependencies = [
"cc",
]
@@ -3886,7 +3886,7 @@ dependencies = [
"phf_shared 0.11.2",
"proc-macro2",
"quote",
"syn 2.0.39",
"syn 2.0.40",
]
[[package]]
@@ -3924,7 +3924,7 @@ checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.39",
"syn 2.0.40",
]
[[package]]
@@ -4044,7 +4044,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ae005bd773ab59b4725093fd7df83fd7892f7d8eafb48dbd7de6e024e4215f9d"
dependencies = [
"proc-macro2",
"syn 2.0.39",
"syn 2.0.40",
]
[[package]]
@@ -4440,7 +4440,7 @@ dependencies = [
"futures-util",
"h2 0.3.22",
"http 0.2.11",
"http-body 0.4.5",
"http-body 0.4.6",
"hyper 0.14.27",
"hyper-rustls",
"ipnet",
@@ -4451,7 +4451,7 @@ dependencies = [
"once_cell",
"percent-encoding",
"pin-project-lite",
"rustls 0.21.9",
"rustls 0.21.10",
"rustls-pemfile 1.0.4",
"serde",
"serde_json",
@@ -4747,9 +4747,9 @@ dependencies = [
[[package]]
name = "rustix"
version = "0.38.26"
version = "0.38.28"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9470c4bf8246c8daf25f9598dca807fb6510347b1e1cfa55749113850c79d88a"
checksum = "72e572a5e8ca657d7366229cdde4bd14c4eb5499a9573d4d366fe1b599daa316"
dependencies = [
"bitflags 2.4.1",
"errno",
@@ -4772,9 +4772,9 @@ dependencies = [
[[package]]
name = "rustls"
version = "0.21.9"
version = "0.21.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "629648aced5775d558af50b2b4c7b02983a04b312126d45eeead26e7caa498b9"
checksum = "f9d5a6813c0759e4609cd494e8e725babae6a2ca7b62a5536a13daaec6fcb7ba"
dependencies = [
"log",
"ring 0.17.7",
@@ -4784,9 +4784,9 @@ dependencies = [
[[package]]
name = "rustls"
version = "0.22.0"
version = "0.22.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5bc238b76c51bbc449c55ffbc39d03772a057cc8cf783c49d4af4c2537b74a8b"
checksum = "fe6b63262c9fcac8659abfaa96cac103d28166d3ff3eaf8f412e19f3ae9e5a48"
dependencies = [
"log",
"ring 0.17.7",
@@ -4862,9 +4862,9 @@ checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4"
[[package]]
name = "ryu"
version = "1.0.15"
version = "1.0.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741"
checksum = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c"
[[package]]
name = "salsa20"
@@ -5071,7 +5071,7 @@ checksum = "43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.39",
"syn 2.0.40",
]
[[package]]
@@ -5141,7 +5141,7 @@ checksum = "91d129178576168c589c9ec973feedf7d3126c01ac2bf08795109aa35b69fb8f"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.39",
"syn 2.0.40",
]
[[package]]
@@ -5227,7 +5227,7 @@ checksum = "a7cee0529a6d40f580e7a5e6c495c8fbfe21b7b52795ed4bb5e62cdf92bc6380"
[[package]]
name = "sieve-rs"
version = "0.3.1"
source = "git+https://github.com/stalwartlabs/sieve#b7b62b3b33d05b7c1e50ea5123a35ef461c66b8d"
source = "git+https://github.com/stalwartlabs/sieve#be17314cee22f7c3f154ed2e0e5f669bb098e83b"
dependencies = [
"ahash 0.8.6",
"bincode",
@@ -5295,6 +5295,7 @@ name = "smtp"
version = "0.4.2"
dependencies = [
"ahash 0.8.6",
"bincode",
"blake3",
"dashmap",
"decancer",
@@ -5320,7 +5321,7 @@ dependencies = [
"rayon",
"regex",
"reqwest",
"rustls 0.22.0",
"rustls 0.22.1",
"rustls-pemfile 2.0.0",
"rustls-pki-types",
"serde",
@@ -5489,7 +5490,7 @@ dependencies = [
"rocksdb",
"rusqlite",
"rust-s3",
"rustls 0.22.0",
"rustls 0.22.1",
"rustls-pki-types",
"serde",
"serde_json",
@@ -5560,9 +5561,9 @@ dependencies = [
[[package]]
name = "syn"
version = "2.0.39"
version = "2.0.40"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a"
checksum = "13fa70a4ee923979ffb522cacce59d34421ebdea5625e1073c4326ef9d2dd42e"
dependencies = [
"proc-macro2",
"quote",
@@ -5578,7 +5579,7 @@ dependencies = [
"proc-macro-error",
"proc-macro2",
"quote",
"syn 2.0.39",
"syn 2.0.40",
]
[[package]]
@@ -5702,7 +5703,7 @@ dependencies = [
"num_cpus",
"rayon",
"reqwest",
"rustls 0.22.0",
"rustls 0.22.1",
"rustls-pemfile 2.0.0",
"rustls-pki-types",
"serde",
@@ -5736,7 +5737,7 @@ checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.39",
"syn 2.0.40",
]
[[package]]
@@ -5814,9 +5815,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
[[package]]
name = "tokio"
version = "1.34.0"
version = "1.35.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d0c014766411e834f7af5b8f4cf46257aab4036ca95e9d2c144a10f59ad6f5b9"
checksum = "841d45b238a16291a4e1584e61820b8ae57d696cc5015c459c229ccc6990cc1c"
dependencies = [
"backtrace",
"bytes",
@@ -5849,7 +5850,7 @@ checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.39",
"syn 2.0.40",
]
[[package]]
@@ -5884,7 +5885,7 @@ version = "0.24.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081"
dependencies = [
"rustls 0.21.9",
"rustls 0.21.10",
"tokio",
]
@@ -5894,7 +5895,7 @@ version = "0.25.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "775e0c0f0adb3a2f22a00c4745d728b479985fc15ee7ca6a2608388c5569860f"
dependencies = [
"rustls 0.22.0",
"rustls 0.22.1",
"rustls-pki-types",
"tokio",
]
@@ -5918,7 +5919,7 @@ checksum = "212d5dcb2a1ce06d81107c3d0ffa3121fe974b73f068c8282cb1c32328113b6c"
dependencies = [
"futures-util",
"log",
"rustls 0.21.9",
"rustls 0.21.10",
"tokio",
"tokio-rustls 0.24.1",
"tungstenite",
@@ -5981,7 +5982,7 @@ dependencies = [
"futures-util",
"h2 0.3.22",
"http 0.2.11",
"http-body 0.4.5",
"http-body 0.4.6",
"hyper 0.14.27",
"hyper-timeout",
"percent-encoding",
@@ -6059,7 +6060,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.39",
"syn 2.0.40",
]
[[package]]
@@ -6155,7 +6156,7 @@ dependencies = [
"httparse",
"log",
"rand",
"rustls 0.21.9",
"rustls 0.21.10",
"sha1",
"thiserror",
"url",
@@ -6327,7 +6328,7 @@ dependencies = [
"opentelemetry_sdk",
"privdrop",
"rand",
"rustls 0.22.0",
"rustls 0.22.1",
"rustls-pemfile 2.0.0",
"rustls-pki-types",
"serde",
@@ -6411,7 +6412,7 @@ dependencies = [
"once_cell",
"proc-macro2",
"quote",
"syn 2.0.39",
"syn 2.0.40",
"wasm-bindgen-shared",
]
@@ -6445,7 +6446,7 @@ checksum = "f0eb82fcb7930ae6219a7ecfd55b217f5f0893484b7a13022ebb2b2bf20b5283"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.39",
"syn 2.0.40",
"wasm-bindgen-backend",
"wasm-bindgen-shared",
]
@@ -6801,9 +6802,9 @@ checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04"
[[package]]
name = "winnow"
version = "0.5.26"
version = "0.5.27"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b67b5f0a4e7a27a64c651977932b9dc5667ca7fc31ac44b03ed37a0cf42fdfff"
checksum = "cb877ca3232bec99a6472ed63f7241de2a250165260908b2d24c09d867907a85"
dependencies = [
"memchr",
]
@@ -6857,11 +6858,13 @@ dependencies = [
[[package]]
name = "xattr"
version = "1.0.1"
version = "1.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f4686009f71ff3e5c4dbcf1a282d0a44db3f021ba69350cd42086b3e5f1c6985"
checksum = "d367426ae76bdfce3d8eaea6e94422afd6def7d46f9c89e2980309115b3c2c41"
dependencies = [
"libc",
"linux-raw-sys",
"rustix",
]
[[package]]
@@ -6878,22 +6881,22 @@ checksum = "9828b178da53440fa9c766a3d2f73f7cf5d0ac1fe3980c1e5018d899fd19e07b"
[[package]]
name = "zerocopy"
version = "0.7.29"
version = "0.7.30"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5d075cf85bbb114e933343e087b92f2146bac0d55b534cbb8188becf0039948e"
checksum = "306dca4455518f1f31635ec308b6b3e4eb1b11758cefafc782827d0aa7acb5c7"
dependencies = [
"zerocopy-derive",
]
[[package]]
name = "zerocopy-derive"
version = "0.7.29"
version = "0.7.30"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "86cd5ca076997b97ef09d3ad65efe811fa68c9e874cb636ccb211223a813b0c2"
checksum = "be912bf68235a88fbefd1b73415cb218405958d1655b2ece9035a19920bdf6ba"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.39",
"syn 2.0.40",
]
[[package]]
@@ -6913,7 +6916,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.39",
"syn 2.0.40",
]
[[package]]