kanidm/Cargo.toml
Kenton Groombridge e3d5f3c8ae
SELinux support for kanidm-unixd-tasks daemon (#1661)
* selinux is an optional feature
* unix_integration: add selinux config option

On SELinux systems, this setting controls whether SELinux relabeling of
newly created home directories should be performed. The default value of
this is on (even on non-SELinux systems), but the tasks daemon will
perform an additional runtime check for SELinux support and will disable
this feature automatically if this check fails.

* unix_integration: wire up home dir selinux labeling
* unix_integration: create equivalence rules in SELinux policy for aliases
* book: document selinux setting
* Add myself to CONTRIBUTORS.md

Signed-off-by: Kenton Groombridge <concord@gentoo.org>
2023-05-30 19:51:12 +10:00

190 lines
5.6 KiB
TOML

[profile.release]
debug = true
lto = "thin"
[workspace]
members = [
"proto",
"tools/cli",
"tools/iam_migrations/freeipa",
"tools/orca",
"unix_integration",
"unix_integration/nss_kanidm",
"unix_integration/pam_kanidm",
"server/web_ui",
"server/daemon",
"server/lib",
"server/lib-macros",
"server/core",
"server/testkit",
"server/testkit-macros",
"libs/client",
"libs/crypto",
"libs/file_permissions",
"libs/profiles",
"libs/sketching"
]
[workspace.package]
version = "1.1.0-beta.13-dev"
authors = [
"William Brown <william@blackhats.net.au>",
"James Hodgkinson <james@terminaloutcomes.com>",
]
rust-version = "1.66"
edition = "2021"
license = "MPL-2.0"
homepage = "https://github.com/kanidm/kanidm/"
repository = "https://github.com/kanidm/kanidm/"
[workspace.dependencies]
async-trait = "^0.1.68"
base32 = "^0.4.0"
base64 = "^0.21.0"
base64urlsafedata = "0.1.3"
bytes = "^1.3.0"
clap = { version = "^3.2", features = ["derive"] }
clap_complete = "^3.2.5"
# Forced by saffron/cron
chrono = "^0.4.24"
compact_jwt = { version = "^0.2.3", default-features = false }
# compact_jwt = { path = "../compact_jwt" }
concread = "^0.4.1"
# concread = { path = "../concread" }
cron = "0.12.0"
crossbeam = "0.8.1"
criterion = "^0.4.0"
csv = "1.2.1"
dialoguer = "0.10.4"
dyn-clone = "^1.0.11"
fernet = "^0.2.1"
filetime = "^0.2.21"
fs2 = "^0.4.3"
futures = "^0.3.28"
futures-concurrency = "^3.1.0"
futures-util = { version = "^0.3.21", features = ["sink"] }
gloo = "^0.8.0"
gloo-net = "0.2.6"
hashbrown = { version = "0.13.2", features = ["serde", "inline-more", "ahash"] }
hex = "^0.4.3"
http-types = "^2.12.0"
idlset = "^0.2.4"
# idlset = { path = "../idlset" }
js-sys = "^0.3.63"
kanidmd_core = { path = "./server/core" }
kanidmd_idm = { path = "./server/idm" }
kanidmd_lib = { path = "./server/lib" }
kanidmd_lib_macros = { path = "./server/lib-macros" }
kanidm_lib_crypto = { path = "./libs/crypto" }
kanidm_lib_file_permissions = { path = "./libs/file_permissions" }
kanidmd_testkit = { path = "./server/testkit" }
kanidm_client = { path = "./libs/client", version = "1.1.0-alpha.11" }
kanidm_proto = { path = "./proto", version = "1.1.0-alpha.11" }
kanidm_unix_int = { path = "./unix_integration" }
last-git-commit = "0.2.0"
# REMOVE this
lazy_static = "^1.4.0"
ldap3_client = "^0.3.2"
ldap3_proto = "^0.3.2"
# ldap3_client = { path = "../ldap3/client", version = "0.3.0" }
# ldap3_proto = { path = "../ldap3/proto", version = "0.3.0" }
# ldap3_client = { git = "https://github.com/kanidm/ldap3.git", version = "0.3.0" }
# ldap3_proto = { git = "https://github.com/kanidm/ldap3.git", version = "0.3.0" }
libc = "^0.2.144"
libnss = "^0.4.0"
libsqlite3-sys = "^0.25.0"
lru = "^0.8.0"
mathru = "^0.13.0"
num_enum = "^0.5.11"
oauth2_ext = { version = "^4.1.0", package = "oauth2", default-features = false }
openssl-sys = "^0.9"
openssl = "^0.10.52"
paste = "^1.0.12"
pkg-config = "^0.3.27"
proc-macro2 = "1.0.58"
profiles = { path = "./libs/profiles" }
qrcode = "^0.12.0"
quote = "1"
r2d2 = "^0.8.9"
r2d2_sqlite = "^0.21.0"
rand = "^0.8.5"
regex = "1.8.3"
reqwest = { version = "0.11.18", default-features = false, features=["cookies", "json", "gzip", "native-tls"] }
rpassword = "^7.2.0"
rusqlite = "^0.28.0"
scim_proto = "^0.2.0"
# scim_proto = { path = "../scim/proto", version = "^0.2.0" }
# scim_proto = { git = "https://github.com/kanidm/scim.git", version = "0.1.1" }
selinux = "^0.4.1"
serde = "^1.0.163"
serde_cbor = { version = "0.12.0-dev", package = "serde_cbor_2" }
serde_json = "^1.0.96"
serde-wasm-bindgen = "0.4"
shellexpand = "^2.1.2"
sketching = { path = "./libs/sketching" }
smartstring = "^1.0.1"
smolset = "^1.3.1"
sshkeys = "^0.3.1"
syn = { version = "2.0.16", features = ["full"] }
testkit-macros = { path = "./server/testkit-macros" }
tide = "^0.16.0"
# Including brotli *very* slow, so don't do that. Including the "default" feature pulls a mime-type list from the internet on build, which isn't used.
tide-compress = { version="0.10.6", default-features = false, features = [ "gzip", "regex-check" ] }
tide-openssl = "^0.1.1"
time = { version = "^0.3.21", features = ["formatting", "local-offset"] }
tikv-jemallocator = "0.5"
tokio = "^1.28.2"
tokio-openssl = "^0.6.3"
tokio-util = "^0.7.8"
toml = "^0.5.11"
touch = "^0.0.1"
# tracing = { version = "^0.1.37", features = ["max_level_trace", "release_max_level_debug"] }
tracing = { version = "^0.1.37" }
tracing-subscriber = { version = "^0.3.17", features = ["env-filter"] }
# tracing-forest = { path = "/Users/william/development/tracing-forest/tracing-forest" }
tracing-forest = { git = "https://github.com/QnnOkabayashi/tracing-forest.git", rev = "77daf8c8abf010b87d45ece2bf656983c6f8cecb" }
url = "^2.3.1"
urlencoding = "2.1.2"
users = "^0.11.0"
uuid = "^1.3.3"
wasm-bindgen = "^0.2.86"
wasm-bindgen-futures = "^0.4.30"
wasm-bindgen-test = "0.3.35"
webauthn-authenticator-rs = "0.4.8"
webauthn-rs = "0.4.8"
webauthn-rs-core = "0.4.8"
webauthn-rs-proto = "0.4.8"
# 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" }
web-sys = "^0.3.62"
whoami = "^1.4.0"
walkdir = "2"
yew = "^0.20.0"
yew-router = "^0.17.0"
zxcvbn = "^2.2.2"
nonempty = "0.8.1"
# enshrinken the WASMs
[profile.release.package.kanidmd_web_ui]
# optimization over all codebase ( better optimization, slower build )
codegen-units = 1
# optimization for size ( more aggressive )
opt-level = 'z'
# link time optimization using using whole-program analysis
# lto = true