Expand description

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.

For TLS connections currently the native-tls crate is used.

Roadmap

  • Simple bind with username and password
  • SASL EXTERNAL bind
  • Plain, TLS and STARTTLS connections
  • Simple search and paged search via asynchronous streams
  • Documentation
  • rustls support via optional feature flag
  • More of the ProtocolOp client operations

Non-goals

  • SASL layer (Kerberos, MD5, etc)
  • Server-side implementation

Usage

Please see the examples directory.

Alternatives

ldap3 is actively maintained and has currently more features (e.g. Kerberos support).

License

Licensed under MIT or Apache license (LICENSE-MIT or LICENSE-APACHE)

Re-exports

pub use bytes;
pub use rasn_ldap;
pub use client::*;
pub use model::*;
pub use options::*;
pub use request::*;

Modules

LDAP client module

LDAP controls

LDAP errors

Data structures

LDAP connection options

LDAP request