1# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
2#
3# When uploading crates to the registry Cargo will automatically
4# "normalize" Cargo.toml files for maximal compatibility
5# with all versions of Cargo and also rewrite `path` dependencies
6# to registry (e.g., crates.io) dependencies.
7#
8# If you are reading this file be aware that the original Cargo.toml
9# will likely look very different (and much more reasonable).
10# See Cargo.toml.orig for the original contents.
11
12[package]
13edition = "2021"
14rust-version = "1.68.2"
15name = "mls-rs"
16version = "0.39.1"
17exclude = ["test_data"]
18description = "An implementation of Messaging Layer Security (RFC 9420)"
19homepage = "https://github.com/awslabs/mls-rs"
20readme = "README.md"
21keywords = [
22    "crypto",
23    "cryptography",
24    "security",
25    "mls",
26    "e2ee",
27]
28categories = [
29    "no-std",
30    "cryptography",
31]
32license = "Apache-2.0 OR MIT"
33repository = "https://github.com/awslabs/mls-rs"
34
35[package.metadata.docs.rs]
36features = [
37    "external_client",
38    "sqlite",
39]
40rustdoc-args = [
41    "--cfg",
42    "docsrs",
43]
44
45[[example]]
46name = "basic_usage"
47required-features = []
48
49[[example]]
50name = "x509"
51required-features = ["x509"]
52
53[[example]]
54name = "large_group"
55required-features = []
56
57[[example]]
58name = "custom"
59required-features = ["std"]
60
61[[example]]
62name = "basic_server_usage"
63required-features = ["external_client"]
64
65[[test]]
66name = "client_tests"
67required-features = ["test_util"]
68
69[[bench]]
70name = "group_add"
71harness = false
72required-features = ["benchmark_util"]
73
74[[bench]]
75name = "group_commit"
76harness = false
77required-features = ["benchmark_util"]
78
79[[bench]]
80name = "group_receive_commit"
81harness = false
82required-features = ["benchmark_util"]
83
84[[bench]]
85name = "group_application"
86harness = false
87required-features = ["benchmark_util"]
88
89[[bench]]
90name = "group_serialize"
91harness = false
92required-features = ["benchmark_util"]
93
94[dependencies.arbitrary]
95version = "1"
96features = ["derive"]
97optional = true
98
99[dependencies.cfg-if]
100version = "1"
101
102[dependencies.debug_tree]
103version = "0.4.0"
104optional = true
105
106[dependencies.hex]
107version = "^0.4.3"
108features = [
109    "serde",
110    "alloc",
111]
112optional = true
113default-features = false
114
115[dependencies.itertools]
116version = "0.12.0"
117features = ["use_alloc"]
118default-features = false
119
120[dependencies.maybe-async]
121version = "0.2.10"
122
123[dependencies.mls-rs-codec]
124version = "0.5.2"
125default-features = false
126
127[dependencies.mls-rs-core]
128version = "0.18.0"
129default-features = false
130
131[dependencies.mls-rs-crypto-openssl]
132version = "0.9.0"
133optional = true
134
135[dependencies.mls-rs-identity-x509]
136version = "0.11.0"
137optional = true
138default-features = false
139
140[dependencies.mls-rs-provider-sqlite]
141version = "0.11.0"
142optional = true
143default-features = false
144
145[dependencies.once_cell]
146version = "1.18"
147optional = true
148
149[dependencies.rayon]
150version = "1"
151optional = true
152
153[dependencies.safer-ffi]
154version = "0.1.3"
155optional = true
156default-features = false
157
158[dependencies.safer-ffi-gen]
159version = "0.9.2"
160optional = true
161default-features = false
162
163[dependencies.serde]
164version = "1.0"
165features = [
166    "alloc",
167    "derive",
168]
169optional = true
170default-features = false
171
172[dependencies.spin]
173version = "0.9.8"
174features = [
175    "mutex",
176    "spin_mutex",
177]
178default-features = false
179
180[dependencies.thiserror]
181version = "1.0.40"
182optional = true
183
184[dependencies.zeroize]
185version = "1"
186features = [
187    "alloc",
188    "zeroize_derive",
189]
190default-features = false
191
192[dev-dependencies.assert_matches]
193version = "1.5.0"
194
195[dev-dependencies.criterion]
196version = "0.5.1"
197features = [
198    "async_futures",
199    "html_reports",
200]
201default-features = false
202
203[dev-dependencies.hex]
204version = "^0.4.3"
205features = [
206    "serde",
207    "alloc",
208]
209default-features = false
210
211[dev-dependencies.rand]
212version = "0.8"
213
214[dev-dependencies.serde]
215version = "1.0"
216features = [
217    "alloc",
218    "derive",
219]
220default-features = false
221
222[dev-dependencies.serde_json]
223version = "^1.0"
224
225[features]
226arbitrary = [
227    "std",
228    "dep:arbitrary",
229    "mls-rs-core/arbitrary",
230]
231benchmark_util = [
232    "test_util",
233    "default",
234    "dep:mls-rs-crypto-openssl",
235]
236by_ref_proposal = []
237custom_proposal = []
238default = [
239    "std",
240    "rayon",
241    "rfc_compliant",
242    "tree_index",
243    "fast_serialize",
244]
245external_client = ["std"]
246fast_serialize = ["mls-rs-core/fast_serialize"]
247ffi = [
248    "dep:safer-ffi",
249    "dep:safer-ffi-gen",
250    "mls-rs-core/ffi",
251]
252fuzz_util = [
253    "test_util",
254    "default",
255    "dep:once_cell",
256    "dep:mls-rs-crypto-openssl",
257]
258grease = ["std"]
259out_of_order = ["private_message"]
260prior_epoch = []
261private_message = []
262psk = []
263rayon = [
264    "std",
265    "dep:rayon",
266]
267rfc_compliant = [
268    "state_update",
269    "private_message",
270    "custom_proposal",
271    "out_of_order",
272    "psk",
273    "x509",
274    "prior_epoch",
275    "by_ref_proposal",
276    "mls-rs-core/rfc_compliant",
277]
278secret_tree_access = []
279serde = [
280    "mls-rs-core/serde",
281    "zeroize/serde",
282    "dep:serde",
283    "dep:hex",
284]
285sqlcipher = [
286    "sqlite",
287    "mls-rs-provider-sqlite/sqlcipher",
288]
289sqlcipher-bundled = [
290    "sqlite",
291    "mls-rs-provider-sqlite/sqlcipher-bundled",
292]
293sqlite = [
294    "std",
295    "mls-rs-provider-sqlite/sqlite",
296]
297sqlite-bundled = [
298    "sqlite",
299    "mls-rs-provider-sqlite/sqlite-bundled",
300]
301state_update = []
302std = [
303    "mls-rs-core/std",
304    "mls-rs-codec/std",
305    "mls-rs-identity-x509?/std",
306    "hex/std",
307    "futures/std",
308    "itertools/use_std",
309    "safer-ffi-gen?/std",
310    "zeroize/std",
311    "dep:debug_tree",
312    "dep:thiserror",
313    "serde?/std",
314]
315test_util = []
316tree_index = []
317x509 = [
318    "mls-rs-core/x509",
319    "dep:mls-rs-identity-x509",
320]
321
322[target."cfg(mls_build_async)".dependencies.async-trait]
323version = "0.1.74"
324
325[target."cfg(mls_build_async)".dependencies.futures]
326version = "0.3.25"
327features = ["alloc"]
328default-features = false
329
330[target."cfg(mls_build_async)".dev-dependencies.futures-test]
331version = "0.3.25"
332
333[target."cfg(not(target_arch = \"wasm32\"))".dev-dependencies.criterion]
334version = "0.5.1"
335features = [
336    "async_futures",
337    "html_reports",
338]
339
340[target."cfg(not(target_arch = \"wasm32\"))".dev-dependencies.mls-rs-crypto-openssl]
341version = "0.9.0"
342
343[target."cfg(not(target_has_atomic = \"ptr\"))".dependencies.portable-atomic]
344version = "1.5.1"
345features = ["critical-section"]
346default-features = false
347
348[target."cfg(not(target_has_atomic = \"ptr\"))".dependencies.portable-atomic-util]
349version = "0.1.2"
350features = ["alloc"]
351default-features = false
352
353[target."cfg(not(target_has_atomic = \"ptr\"))".dependencies.spin]
354version = "0.9.8"
355features = ["portable_atomic"]
356default-features = false
357
358[target."cfg(target_arch = \"wasm32\")".dependencies.getrandom]
359version = "0.2"
360features = [
361    "js",
362    "custom",
363]
364default-features = false
365
366[target."cfg(target_arch = \"wasm32\")".dependencies.rand_core]
367version = "0.6"
368features = ["alloc"]
369default-features = false
370
371[target."cfg(target_arch = \"wasm32\")".dependencies.wasm-bindgen]
372version = "^0.2.79"
373
374[target."cfg(target_arch = \"wasm32\")".dev-dependencies.criterion]
375version = "0.5.1"
376features = [
377    "plotters",
378    "cargo_bench_support",
379    "async_futures",
380    "html_reports",
381]
382default-features = false
383
384[target."cfg(target_arch = \"wasm32\")".dev-dependencies.mls-rs-crypto-webcrypto]
385version = "0.4.0"
386
387[target."cfg(target_arch = \"wasm32\")".dev-dependencies.wasm-bindgen-test]
388version = "0.3.26"
389default-features = false
390