12 releases
new 0.5.1 | Jan 10, 2025 |
---|---|
0.4.3 | Apr 20, 2024 |
0.4.2 | Dec 23, 2023 |
0.4.1 | May 1, 2023 |
0.2.0 | Jun 19, 2022 |
#443 in Network programming
Used in ldap-test-server
66KB
1.5K
SLoC
Yet another LDAP client for Rust
Overview
This project aims to provide a minimal working LDAP client written in Rust focused on ergonomics, correctness and clean code. It uses tokio asynchronous runtime for network I/O and an excellent rasn crate for all ASN.1 goodness.
TLS connectivity is controlled by two feature flags: tls-native-tls
and tls-rustls
.
The default is tls-native-tls
which uses the native-tls
crate.
A minimal Kerberos support is provided via gssapi
feature flag with the following limitations:
- SASL protection is not supported for plain connections, TLS should be used for all communication
- Channel binding is not supported
Features
- Simple bind with username and password
- SASL EXTERNAL bind
- Kerberos GSSAPI bind (SASL protection is not implemented, use TLS instead)
- Plain, TLS and STARTTLS connections
- Simple search and paged search via asynchronous streams
- Documentation
-
rustls
support via optional feature flag - Additional
ProtocolOp
client operations (add, modify, delete)
Usage
Please see the examples
directory.
License
Licensed under MIT or Apache license (LICENSE-MIT or LICENSE-APACHE)
Dependencies
~14–46MB
~747K SLoC