[package]
name = "ldap-rs"
version = "0.6.0"
authors = ["Dmitry Pankratov <dmitry@pankratov.net>"]
description = "LDAP client for Rust"
license = "MIT/Apache-2.0"
repository = "https://github.com/ancwrd1/ldap-rs"
documentation = "https://docs.rs/ldap-rs"
readme = "README.md"
keywords = ["ldap", "client"]
edition = "2024"

[dependencies]
tokio-util = { version = "0.7", features = ["codec"] }
tokio = { version = "1", features = ["net", "time", "rt-multi-thread"] }
bytes = "1"
futures = "0.3"
rasn-ldap = "0.28"
rasn = "0.28"
thiserror = "2"
log = "0.4"
pest = "2"
pest_derive = "2"
parking_lot = "0.12"
regex = "1"
once_cell = "1"
cross-krb5 = { version = "0.4", optional = true }
native-tls = { version = "0.2", optional = true }
tokio-native-tls = { version = "0.3", optional = true }
rustls = { version = "0.23", optional = true }
rustls-pki-types = { version = "1", optional = true }
tokio-rustls = { version = "0.26", optional = true }
rustls-native-certs = { version = "0.8", optional = true }

[dev-dependencies]
tokio = { version = "1", features = ["rt-multi-thread", "macros"] }
pretty_env_logger = "0.5"

[features]
default = ["tls-rustls"]
tls-native-tls = ["dep:native-tls", "dep:tokio-native-tls"]
tls-rustls = [
    "dep:rustls",
    "dep:tokio-rustls",
    "dep:rustls-native-certs",
    "dep:rustls-pki-types",
]
gssapi = ["dep:cross-krb5"]

[package.metadata.docs.rs]
features = ["tls-rustls", "tls-native-tls"]
