2024-06-13 01:48:49 +02:00
|
|
|
[workspace.package]
|
2024-07-31 16:02:11 +02:00
|
|
|
version = "1.4.0-dev"
|
2024-06-13 01:48:49 +02:00
|
|
|
authors = [
|
|
|
|
"William Brown <william@blackhats.net.au>",
|
|
|
|
"James Hodgkinson <james@terminaloutcomes.com>",
|
|
|
|
]
|
2024-07-31 05:13:00 +02:00
|
|
|
rust-version = "1.79"
|
2024-06-13 01:48:49 +02:00
|
|
|
edition = "2021"
|
|
|
|
license = "MPL-2.0"
|
|
|
|
homepage = "https://github.com/kanidm/kanidm/"
|
|
|
|
repository = "https://github.com/kanidm/kanidm/"
|
2020-06-10 04:07:43 +02:00
|
|
|
|
2019-09-04 03:06:37 +02:00
|
|
|
[workspace]
|
2023-08-28 02:25:05 +02:00
|
|
|
resolver = "2"
|
2019-09-04 03:06:37 +02:00
|
|
|
members = [
|
2023-03-01 04:10:52 +01:00
|
|
|
"proto",
|
|
|
|
"tools/cli",
|
|
|
|
"tools/iam_migrations/freeipa",
|
2023-06-13 06:26:50 +02:00
|
|
|
"tools/iam_migrations/ldap",
|
2023-03-01 04:10:52 +01:00
|
|
|
"tools/orca",
|
2024-06-17 00:21:25 +02:00
|
|
|
"unix_integration/common",
|
2023-03-01 04:10:52 +01:00
|
|
|
"unix_integration/nss_kanidm",
|
|
|
|
"unix_integration/pam_kanidm",
|
2024-06-17 00:21:25 +02:00
|
|
|
"unix_integration/resolver",
|
2023-10-27 08:03:58 +02:00
|
|
|
"server/web_ui/admin",
|
|
|
|
"server/web_ui/login_flows",
|
|
|
|
"server/web_ui/user",
|
|
|
|
"server/web_ui/shared",
|
2023-03-01 04:10:52 +01:00
|
|
|
"server/daemon",
|
|
|
|
"server/lib",
|
|
|
|
"server/lib-macros",
|
|
|
|
"server/core",
|
|
|
|
"server/testkit",
|
|
|
|
"server/testkit-macros",
|
|
|
|
"libs/client",
|
|
|
|
"libs/crypto",
|
|
|
|
"libs/file_permissions",
|
|
|
|
"libs/profiles",
|
2024-07-26 07:54:28 +02:00
|
|
|
"libs/scim_proto",
|
2023-07-31 14:27:21 +02:00
|
|
|
"libs/sketching",
|
2023-08-21 09:16:43 +02:00
|
|
|
"libs/users",
|
2020-02-29 05:02:14 +01:00
|
|
|
]
|
|
|
|
|
2024-06-13 01:48:49 +02:00
|
|
|
# Below follows some guides/estimates to system resources consumed during a build.
|
|
|
|
# Most of these values are over-estimates and are just rough observations.
|
|
|
|
#
|
|
|
|
# These were tested on a 10core M1 Max.
|
|
|
|
# Parallel Linking Maximum = an estimate of how much ram will be consumed at peak
|
|
|
|
# while the build is linking multiple binaries in parallel
|
|
|
|
# Single Largest Binary Maximum = an estamite of how much ram is conusmed by the
|
|
|
|
# single largest binary during linking. This would reflect a single threaded
|
|
|
|
# build ram maximum.
|
|
|
|
# Time = estimate on how long the build may take.
|
2021-03-13 03:33:15 +01:00
|
|
|
|
2024-06-13 01:48:49 +02:00
|
|
|
# cargo build --release
|
|
|
|
#
|
|
|
|
# Parallel Linking Maximum: 6GB
|
|
|
|
# Single Largest Binary Maximum: 5GB
|
|
|
|
# Time: ~6 minutes
|
|
|
|
[profile.release]
|
|
|
|
debug = true
|
|
|
|
strip = "none"
|
|
|
|
lto = "thin"
|
|
|
|
opt-level = 3
|
|
|
|
codegen-units = 32
|
|
|
|
|
|
|
|
[profile.release.build-override]
|
|
|
|
debug = false
|
|
|
|
opt-level = 0
|
|
|
|
codegen-units = 256
|
|
|
|
|
|
|
|
# cargo build --profile release-lto
|
|
|
|
#
|
|
|
|
# Parallel Linking Maximum: 24GB
|
|
|
|
# Single Largest Binary Maximum: 16GB
|
|
|
|
# Time: ~11 minutes
|
|
|
|
[profile.release-lto]
|
|
|
|
inherits = "release"
|
|
|
|
lto = "fat"
|
|
|
|
codegen-units = 1
|
|
|
|
|
|
|
|
# cargo build
|
|
|
|
#
|
|
|
|
# Parallel Linking Maximum: 4GB
|
|
|
|
# Single Largest Binary Maximum: 3GB
|
|
|
|
# Time: ~2 minutes
|
|
|
|
#
|
|
|
|
# cargo test [-- --test-threads=1]
|
|
|
|
#
|
|
|
|
# Parallel Maximum: 1GB
|
|
|
|
# Single Maximum: 0.2GB
|
|
|
|
[profile.dev]
|
|
|
|
debug = true
|
|
|
|
lto = false
|
|
|
|
opt-level = 0
|
|
|
|
codegen-units = 256
|
|
|
|
|
|
|
|
[profile.dev.build-override]
|
|
|
|
debug = true
|
|
|
|
opt-level = 0
|
|
|
|
codegen-units = 256
|
2023-08-28 02:25:05 +02:00
|
|
|
|
|
|
|
[patch.crates-io]
|
|
|
|
## As Kanidm maintains a number of libraries, sometimes during development we need to override them
|
|
|
|
## with local or git versions. This patch table allows quick uncommenting to achieve that.
|
|
|
|
|
|
|
|
# compact_jwt = { path = "../compact_jwt" }
|
|
|
|
# concread = { path = "../concread" }
|
|
|
|
|
|
|
|
# idlset = { path = "../idlset" }
|
|
|
|
|
|
|
|
# ldap3_client = { path = "../ldap3/client" }
|
|
|
|
# ldap3_proto = { path = "../ldap3/proto" }
|
|
|
|
# ldap3_client = { git = "https://github.com/kanidm/ldap3.git" }
|
|
|
|
# ldap3_proto = { git = "https://github.com/kanidm/ldap3.git" }
|
|
|
|
|
|
|
|
# base64urlsafedata = { path = "../webauthn-rs/base64urlsafedata" }
|
|
|
|
# webauthn-authenticator-rs = { path = "../webauthn-rs/webauthn-authenticator-rs" }
|
|
|
|
# webauthn-rs = { path = "../webauthn-rs/webauthn-rs" }
|
|
|
|
# webauthn-rs-core = { path = "../webauthn-rs/webauthn-rs-core" }
|
|
|
|
# webauthn-rs-proto = { path = "../webauthn-rs/webauthn-rs-proto" }
|
2023-10-19 03:40:06 +02:00
|
|
|
# sshkey-attest = { path = "../webauthn-rs/sshkey-attest" }
|
2023-08-28 02:25:05 +02:00
|
|
|
|
2023-11-09 04:11:23 +01:00
|
|
|
# kanidm-hsm-crypto = { path = "../hsm-crypto" }
|
|
|
|
|
2022-09-25 03:21:30 +02:00
|
|
|
[workspace.dependencies]
|
2024-07-31 16:02:11 +02:00
|
|
|
kanidmd_core = { path = "./server/core", version = "=1.4.0-dev" }
|
|
|
|
kanidmd_lib = { path = "./server/lib", version = "=1.4.0-dev" }
|
|
|
|
kanidmd_lib_macros = { path = "./server/lib-macros", version = "=1.4.0-dev" }
|
|
|
|
kanidmd_testkit = { path = "./server/testkit", version = "=1.4.0-dev" }
|
|
|
|
kanidm_build_profiles = { path = "./libs/profiles", version = "=1.4.0-dev" }
|
|
|
|
kanidm_client = { path = "./libs/client", version = "=1.4.0-dev" }
|
2024-06-08 13:25:09 +02:00
|
|
|
kanidm-hsm-crypto = "^0.2.0"
|
2024-07-31 16:02:11 +02:00
|
|
|
kanidm_lib_crypto = { path = "./libs/crypto", version = "=1.4.0-dev" }
|
|
|
|
kanidm_lib_file_permissions = { path = "./libs/file_permissions", version = "=1.4.0-dev" }
|
|
|
|
kanidm_proto = { path = "./proto", version = "=1.4.0-dev" }
|
|
|
|
kanidm_unix_common = { path = "./unix_integration/common", version = "=1.4.0-dev" }
|
|
|
|
kanidm_utils_users = { path = "./libs/users", version = "=1.4.0-dev" }
|
|
|
|
scim_proto = { path = "./libs/scim_proto", version = "=1.4.0-dev" }
|
|
|
|
sketching = { path = "./libs/sketching", version = "=1.4.0-dev" }
|
2023-08-01 09:25:32 +02:00
|
|
|
|
2024-09-09 00:35:53 +02:00
|
|
|
anyhow = { version = "1.0.87" }
|
2024-03-19 06:06:52 +01:00
|
|
|
argon2 = { version = "0.5.3", features = ["alloc"] }
|
2024-07-02 12:59:06 +02:00
|
|
|
askama = { version = "0.12.1", features = ["serde"] }
|
2024-03-19 06:06:52 +01:00
|
|
|
async-recursion = "1.1.0"
|
2024-09-09 00:35:53 +02:00
|
|
|
async-trait = "^0.1.82"
|
2024-05-30 04:50:45 +02:00
|
|
|
axum = { version = "0.7.5", features = [
|
2023-10-04 09:24:12 +02:00
|
|
|
"form",
|
|
|
|
"json",
|
2023-08-21 09:16:43 +02:00
|
|
|
"macros",
|
2023-10-04 09:24:12 +02:00
|
|
|
"multipart",
|
2023-08-21 09:16:43 +02:00
|
|
|
"original-uri",
|
|
|
|
"query",
|
2024-05-30 04:50:45 +02:00
|
|
|
"tokio",
|
2023-10-04 09:24:12 +02:00
|
|
|
"tracing",
|
2023-08-21 09:16:43 +02:00
|
|
|
] }
|
2024-07-02 12:59:06 +02:00
|
|
|
axum-htmx = { version = "0.5.0", features = ["serde", "guards"] }
|
2024-07-22 01:12:56 +02:00
|
|
|
base32 = "^0.5.1"
|
2024-06-08 13:25:09 +02:00
|
|
|
base64 = "^0.22.1"
|
2024-05-01 06:10:18 +02:00
|
|
|
base64urlsafedata = "0.5.0"
|
2024-07-01 00:49:43 +02:00
|
|
|
bitflags = "^2.6.0"
|
2024-08-04 23:57:19 +02:00
|
|
|
bytes = "^1.7.1"
|
2024-09-09 00:35:53 +02:00
|
|
|
clap = { version = "^4.5.17", features = ["derive", "env"] }
|
|
|
|
clap_complete = "^4.5.26"
|
2022-12-21 00:53:57 +01:00
|
|
|
# Forced by saffron/cron
|
2024-03-19 06:06:52 +01:00
|
|
|
chrono = "^0.4.35"
|
2024-07-22 01:12:56 +02:00
|
|
|
compact_jwt = { version = "^0.4.2", default-features = false }
|
2024-08-19 15:22:23 +02:00
|
|
|
concread = "^0.5.3"
|
2024-03-19 06:06:52 +01:00
|
|
|
cron = "0.12.1"
|
|
|
|
crossbeam = "0.8.4"
|
2023-07-31 14:27:21 +02:00
|
|
|
criterion = "^0.5.1"
|
2024-03-19 06:06:52 +01:00
|
|
|
csv = "1.3.0"
|
2023-04-10 00:58:57 +02:00
|
|
|
dialoguer = "0.10.4"
|
2024-06-13 01:48:49 +02:00
|
|
|
dhat = "0.3.3"
|
2024-03-19 06:06:52 +01:00
|
|
|
dyn-clone = "^1.0.17"
|
2023-04-09 22:57:44 +02:00
|
|
|
fernet = "^0.2.1"
|
2024-08-12 14:58:35 +02:00
|
|
|
filetime = "^0.2.24"
|
2024-06-15 07:20:11 +02:00
|
|
|
fs4 = "^0.8.3"
|
2024-03-19 06:06:52 +01:00
|
|
|
futures = "^0.3.30"
|
2022-10-10 00:49:09 +02:00
|
|
|
futures-concurrency = "^3.1.0"
|
2024-03-19 06:06:52 +01:00
|
|
|
futures-util = { version = "^0.3.30", features = ["sink"] }
|
2024-07-31 05:13:00 +02:00
|
|
|
gix = { version = "0.64.0", default-features = false }
|
2023-06-18 23:36:41 +02:00
|
|
|
gloo = "^0.8.1"
|
2023-10-27 08:03:58 +02:00
|
|
|
gloo-utils = "0.2.0"
|
2024-03-19 06:06:52 +01:00
|
|
|
hashbrown = { version = "0.14.3", features = ["serde", "inline-more", "ahash"] }
|
2022-10-09 22:32:04 +02:00
|
|
|
hex = "^0.4.3"
|
2024-05-30 04:50:45 +02:00
|
|
|
http = "1.1.0"
|
2024-07-16 02:10:46 +02:00
|
|
|
hyper = { version = "1.4.1", features = [
|
|
|
|
"full",
|
|
|
|
] } # hyper full includes client/server/http2
|
2024-08-12 14:58:35 +02:00
|
|
|
hyper-util = { version = "0.1.7", features = ["server", "tokio"] }
|
2024-05-30 04:50:45 +02:00
|
|
|
hyper-tls = "0.6.0"
|
2024-05-30 12:22:19 +02:00
|
|
|
idlset = "^0.2.5"
|
2024-03-19 06:06:52 +01:00
|
|
|
image = { version = "0.24.9", default-features = false, features = [
|
2023-10-04 09:24:12 +02:00
|
|
|
"gif",
|
|
|
|
"jpeg",
|
|
|
|
"webp",
|
|
|
|
] }
|
2024-07-16 02:10:46 +02:00
|
|
|
itertools = "0.13.0"
|
|
|
|
enum-iterator = "2.1.0"
|
2024-08-19 15:22:23 +02:00
|
|
|
js-sys = "^0.3.70"
|
2023-10-27 08:03:58 +02:00
|
|
|
kanidmd_web_ui_shared = { path = "./server/web_ui/shared" }
|
2022-10-01 08:08:51 +02:00
|
|
|
# REMOVE this
|
2024-06-24 14:47:32 +02:00
|
|
|
lazy_static = "^1.5.0"
|
2024-08-29 03:38:00 +02:00
|
|
|
ldap3_client = "^0.5.2"
|
|
|
|
ldap3_proto = { version = "^0.5.2", features = ["serde"] }
|
2022-11-09 22:43:22 +01:00
|
|
|
|
2024-08-25 23:36:12 +02:00
|
|
|
libc = "^0.2.158"
|
2024-07-17 02:33:04 +02:00
|
|
|
libnss = "^0.8.0"
|
2024-03-19 06:06:52 +01:00
|
|
|
libsqlite3-sys = "^0.25.2"
|
2024-09-09 00:35:53 +02:00
|
|
|
lodepng = "3.10.7"
|
2024-08-04 23:57:19 +02:00
|
|
|
lru = "^0.12.4"
|
2022-10-01 08:08:51 +02:00
|
|
|
mathru = "^0.13.0"
|
2024-06-24 14:47:32 +02:00
|
|
|
mimalloc = "0.1.43"
|
2023-06-15 05:24:53 +02:00
|
|
|
notify-debouncer-full = { version = "0.1" }
|
2023-02-27 22:44:16 +01:00
|
|
|
num_enum = "^0.5.11"
|
2024-03-19 06:06:52 +01:00
|
|
|
oauth2_ext = { version = "^4.4.2", package = "oauth2", default-features = false }
|
2022-11-04 05:48:00 +01:00
|
|
|
openssl-sys = "^0.9"
|
2024-07-22 01:12:56 +02:00
|
|
|
openssl = "^0.10.66"
|
2023-11-09 06:15:12 +01:00
|
|
|
|
|
|
|
opentelemetry = { version = "0.20.0" }
|
|
|
|
opentelemetry_api = { version = "0.20.0", features = ["logs", "metrics"] }
|
|
|
|
opentelemetry-otlp = { version = "0.13.0", default-features = false, features = [
|
|
|
|
"serde",
|
|
|
|
"logs",
|
|
|
|
"metrics",
|
|
|
|
"http-proto",
|
|
|
|
"grpc-tonic",
|
|
|
|
] }
|
|
|
|
opentelemetry_sdk = "0.20.0"
|
|
|
|
tracing-opentelemetry = "0.21.0"
|
|
|
|
|
2023-07-17 00:23:21 +02:00
|
|
|
paste = "^1.0.14"
|
2024-07-26 07:54:28 +02:00
|
|
|
peg = "0.8"
|
2024-03-19 06:06:52 +01:00
|
|
|
pkg-config = "^0.3.30"
|
2024-02-17 01:11:32 +01:00
|
|
|
prctl = "1.0.0"
|
2024-06-24 14:47:32 +02:00
|
|
|
proc-macro2 = "1.0.86"
|
2022-10-01 08:08:51 +02:00
|
|
|
qrcode = "^0.12.0"
|
2022-10-24 01:50:31 +02:00
|
|
|
quote = "1"
|
2022-10-01 08:08:51 +02:00
|
|
|
rand = "^0.8.5"
|
2024-03-09 07:09:15 +01:00
|
|
|
rand_chacha = "0.3.1"
|
2024-08-04 23:57:19 +02:00
|
|
|
regex = "1.10.6"
|
2024-08-25 23:36:12 +02:00
|
|
|
reqwest = { version = "0.12.7", default-features = false, features = [
|
2023-08-21 09:16:43 +02:00
|
|
|
"cookies",
|
2024-07-02 12:59:06 +02:00
|
|
|
"http2",
|
2023-08-21 09:16:43 +02:00
|
|
|
"json",
|
|
|
|
"gzip",
|
|
|
|
"native-tls",
|
|
|
|
"native-tls-alpn",
|
|
|
|
] }
|
2023-11-13 02:47:02 +01:00
|
|
|
rpassword = "^7.3.1"
|
2023-09-12 01:54:54 +02:00
|
|
|
rusqlite = { version = "^0.28.0", features = ["array", "bundled"] }
|
2023-01-25 07:09:54 +01:00
|
|
|
|
2024-07-08 00:44:52 +02:00
|
|
|
sd-notify = "^0.4.2"
|
2024-07-29 04:02:59 +02:00
|
|
|
selinux = "^0.4.5"
|
2024-09-09 00:35:53 +02:00
|
|
|
serde = "^1.0.210"
|
2022-10-01 08:08:51 +02:00
|
|
|
serde_cbor = { version = "0.12.0-dev", package = "serde_cbor_2" }
|
2024-09-09 00:35:53 +02:00
|
|
|
serde_json = "^1.0.128"
|
2023-07-10 00:55:10 +02:00
|
|
|
serde-wasm-bindgen = "0.5"
|
2024-07-15 00:22:08 +02:00
|
|
|
serde_with = "3.9.0"
|
2024-06-11 02:54:57 +02:00
|
|
|
sha2 = "0.10.8"
|
2022-10-01 08:08:51 +02:00
|
|
|
shellexpand = "^2.1.2"
|
|
|
|
smartstring = "^1.0.1"
|
|
|
|
smolset = "^1.3.1"
|
2024-05-01 06:10:18 +02:00
|
|
|
sshkey-attest = "^0.5.0"
|
2023-10-04 09:24:12 +02:00
|
|
|
svg = "0.13.1"
|
2024-09-02 00:34:55 +02:00
|
|
|
syn = { version = "2.0.77", features = ["full"] }
|
2024-08-12 14:58:35 +02:00
|
|
|
tempfile = "3.12.0"
|
2023-03-01 04:10:52 +01:00
|
|
|
testkit-macros = { path = "./server/testkit-macros" }
|
2024-03-19 06:06:52 +01:00
|
|
|
time = { version = "^0.3.34", features = ["formatting", "local-offset"] }
|
2022-10-01 08:08:51 +02:00
|
|
|
|
2024-09-02 00:34:55 +02:00
|
|
|
tokio = "^1.40.0"
|
2024-03-19 06:06:52 +01:00
|
|
|
tokio-openssl = "^0.6.4"
|
2024-09-09 00:35:53 +02:00
|
|
|
tokio-util = "^0.7.12"
|
2022-10-01 08:08:51 +02:00
|
|
|
|
2023-01-23 22:50:13 +01:00
|
|
|
toml = "^0.5.11"
|
2023-10-23 02:12:00 +02:00
|
|
|
tracing = { version = "^0.1.40", features = [
|
2023-09-06 00:25:29 +02:00
|
|
|
"max_level_trace",
|
|
|
|
"release_max_level_debug",
|
|
|
|
] }
|
2023-08-23 03:17:13 +02:00
|
|
|
# tracing = { version = "^0.1.37" }
|
2023-11-19 21:44:45 +01:00
|
|
|
tracing-subscriber = { version = "^0.3.18", features = ["env-filter"] }
|
2023-08-01 07:12:35 +02:00
|
|
|
tracing-forest = "^0.1.6"
|
2022-10-01 08:08:51 +02:00
|
|
|
|
2024-06-24 14:47:32 +02:00
|
|
|
url = "^2.5.2"
|
2023-07-23 22:01:52 +02:00
|
|
|
urlencoding = "2.1.3"
|
2024-03-19 06:06:52 +01:00
|
|
|
utoipa = "4.2.0"
|
2024-05-30 04:50:45 +02:00
|
|
|
utoipa-swagger-ui = "6.0.0"
|
2024-07-15 00:22:08 +02:00
|
|
|
uuid = "^1.10.0"
|
2022-10-01 08:08:51 +02:00
|
|
|
|
2024-03-19 06:06:52 +01:00
|
|
|
wasm-bindgen = "^0.2.92"
|
2024-08-19 15:22:23 +02:00
|
|
|
wasm-bindgen-futures = "^0.4.43"
|
|
|
|
wasm-bindgen-test = "0.3.43"
|
2022-09-25 03:21:30 +02:00
|
|
|
|
2024-05-01 06:10:18 +02:00
|
|
|
webauthn-authenticator-rs = { version = "0.5.0", features = [
|
2023-09-06 00:25:29 +02:00
|
|
|
"softpasskey",
|
|
|
|
"softtoken",
|
|
|
|
"mozilla",
|
|
|
|
] }
|
2024-05-01 06:10:18 +02:00
|
|
|
webauthn-rs = { version = "0.5.0", features = ["preview-features"] }
|
|
|
|
webauthn-rs-core = "0.5.0"
|
|
|
|
webauthn-rs-proto = "0.5.0"
|
2023-08-23 03:17:13 +02:00
|
|
|
|
2024-08-19 15:22:23 +02:00
|
|
|
web-sys = "^0.3.70"
|
2024-09-09 00:35:53 +02:00
|
|
|
whoami = "^1.5.2"
|
2022-11-04 00:49:11 +01:00
|
|
|
walkdir = "2"
|
2022-10-01 08:08:51 +02:00
|
|
|
|
2024-06-11 02:54:57 +02:00
|
|
|
x509-cert = "0.2.5"
|
|
|
|
|
2023-01-08 03:34:30 +01:00
|
|
|
yew = "^0.20.0"
|
|
|
|
yew-router = "^0.17.0"
|
2023-03-20 08:06:08 +01:00
|
|
|
zxcvbn = "^2.2.2"
|
2022-08-01 07:52:01 +02:00
|
|
|
|
2023-03-30 03:41:52 +02:00
|
|
|
nonempty = "0.8.1"
|