kanidm/unix_integration/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

81 lines
1.9 KiB
TOML

[package]
name = "kanidm_unix_int"
description = "Kanidm Unix Integration Clients"
documentation = "https://docs.rs/kanidm/latest/kanidm/"
version.workspace = true
authors.workspace = true
rust-version.workspace = true
edition.workspace = true
license.workspace = true
homepage.workspace = true
repository.workspace = true
[features]
default = ["unix"]
unix = []
selinux = ["dep:selinux"]
[[bin]]
name = "kanidm_unixd"
path = "src/daemon.rs"
required-features = ["unix"]
[[bin]]
name = "kanidm_unixd_tasks"
path = "src/tasks_daemon.rs"
required-features = ["unix"]
[[bin]]
name = "kanidm_ssh_authorizedkeys"
path = "src/ssh_authorizedkeys.rs"
required-features = ["unix"]
[[bin]]
name = "kanidm-unix"
path = "src/tool.rs"
required-features = ["unix"]
[lib]
name = "kanidm_unix_common"
path = "src/lib.rs"
[dependencies]
bytes.workspace = true
clap = { workspace = true, features = ["derive", "env"] }
futures.workspace = true
libc.workspace = true
libsqlite3-sys.workspace = true
lru.workspace = true
kanidm_client.workspace = true
kanidm_proto.workspace = true
kanidm_lib_crypto.workspace = true
kanidm_lib_file_permissions.workspace = true
r2d2.workspace = true
r2d2_sqlite.workspace = true
rpassword.workspace = true
rusqlite.workspace = true
selinux = { workspace = true, optional = true }
serde = { workspace = true, features = ["derive"] }
serde_json.workspace = true
sketching.workspace = true
toml.workspace = true
tokio = { workspace = true, features = ["rt", "macros", "sync", "time", "net", "io-util"] }
tokio-util = { workspace = true, features = ["codec"] }
tracing.workspace = true
reqwest = { workspace = true, default-features = false }
walkdir.workspace = true
[target.'cfg(not(target_family = "windows"))'.dependencies]
users.workspace = true
[dev-dependencies]
kanidmd_core.workspace = true
[build-dependencies]
clap = { workspace = true, features = ["derive"] }
clap_complete.workspace = true
profiles.workspace = true