[package]
edition = "2021"
rust-version = "1.77"
name = "kadmin"
version = "0.7.1"
authors = [
"Marc 'risson' Schmitt <marc.schmitt@risson.space>",
"authentik community <hello@goauthentik.io>",
]
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Rust bindings for the Kerberos administration interface (kadm5)"
homepage = "https://github.com/authentik-community/kadmin-rs"
readme = "README.md"
keywords = [
"kerberos",
"krb5",
"kadm5",
"kadmin",
]
categories = [
"api-bindings",
"authentication",
]
license = "MIT"
repository = "https://github.com/authentik-community/kadmin-rs.git"
[[package.metadata.release.pre-release-replacements]]
file = "pyproject.toml"
search = '^version = "[a-z0-9\.-]+"'
replace = 'version = "{{version}}"'
exactly = 1
[features]
default = [
"mit_client",
"mit_server",
"heimdal_client",
"heimdal_server",
]
heimdal_client = []
heimdal_server = []
log = ["dep:log"]
mit_client = []
mit_server = []
python = [
"dep:pyo3",
"dep:indoc",
]
[lib]
name = "kadmin"
path = "src/lib.rs"
[[test]]
name = "k5test"
path = "tests/k5test.rs"
[[test]]
name = "kadmin_builder"
path = "tests/kadmin_builder.rs"
[[test]]
name = "policy"
path = "tests/policy.rs"
[[test]]
name = "principal"
path = "tests/principal.rs"
[[test]]
name = "util"
path = "tests/util.rs"
[dependencies.chrono]
version = "0.4"
[dependencies.dlopen2]
version = "0.8"
[dependencies.getset]
version = "0.1"
[dependencies.indoc]
version = "2"
optional = true
[dependencies.libc]
version = "0.2"
[dependencies.log]
version = "0.4"
optional = true
[dependencies.pyo3]
version = "0.28"
features = [
"extension-module",
"chrono",
"chrono-tz",
]
optional = true
[dependencies.strum]
version = "0.28"
features = ["derive"]
[dependencies.thiserror]
version = "2"
[dev-dependencies.anyhow]
version = "1"
[dev-dependencies.pyo3]
version = "0.28"
features = ["auto-initialize"]
[dev-dependencies.rand]
version = "0.10"
[dev-dependencies.serial_test]
version = "3.1"
features = [
"log",
"logging",
]
default-features = false
[dev-dependencies.test-log]
version = "0.2"
[build-dependencies.bindgen]
version = "0.72"
[build-dependencies.pkg-config]
version = "0.3"
[build-dependencies.prettyplease]
version = "0.2"
[build-dependencies.quote]
version = "1.0"
[build-dependencies.strum]
version = "0.28"
features = ["derive"]
[build-dependencies.syn]
version = "2.0"
features = [
"full",
"parsing",
]
[lints.clippy]
branches_sharing_code = "warn"
cloned_instead_of_copied = "warn"
dbg_macro = "warn"
disallowed_types = "warn"
empty_line_after_outer_attr = "warn"
exhaustive_enums = "warn"
exhaustive_structs = "warn"
inefficient_to_string = "warn"
macro_use_imports = "warn"
map_flatten = "warn"
missing_enforced_import_renames = "warn"
mut_mut = "warn"
nonstandard_macro_braces = "warn"
semicolon_if_nothing_returned = "warn"
str_to_string = "warn"
todo = "warn"
unnecessary_cast = "allow"
unreadable_literal = "warn"
unseparated_literal_suffix = "warn"
useless_conversion = "allow"
[lints.rust]
missing_docs = "warn"
semicolon_in_expressions_from_macros = "warn"
unreachable_pub = "warn"
unused_import_braces = "warn"
unused_qualifications = "warn"
[lints.rustdoc]
missing_crate_level_docs = "warn"
unescaped_backticks = "warn"