6 releases

Uses old Rust 2015

0.2.0 Feb 11, 2017
0.0.5 Mar 1, 2016
0.0.4 Oct 8, 2015
0.0.1 Apr 5, 2015

#8 in #ldap-client

Download history 8/week @ 2024-02-25 91/week @ 2024-03-31

91 downloads per month

MIT/Apache

8KB
161 lines

rust-ldap

A Pure-Rust LDAP Library.

The ldap crate itself is a meta-crate only exporting symbols from ldap_protocol, ldap_client, ldap_server and ldap_rfc4515.

ldap_protocol

This crate implements the low-level workings of RFC4511 and ASN.1's BER, and some shared structures useful for both Server and Client abstractions (e.g. an Error type).

It makes no attempt at abstracting over the inner workings of LDAP or being comfortable to use at all.

You will most likely never use this library directly in any of your project but use ldap_client or ldap_server instead.

Status:

  • BER En-/Decoding. I would like to eventually offload this to eagre-asn or another library but there are no good ones I found so far.
  • Message Envelope (4.1.1)

ldap_client

This library creates Client-opinionated abstractions over ldap_protocol.

Implemented at all:

  • Bind (4.2)
  • Unbind (4.3)
  • Search (4.5)
  • Modify (4.6)
  • Add (4.7)
  • Delete (4.8)
  • Modify DN (4.9)
  • Compare (4.10)
  • Abandon (4.11)
  • Extended Operation (4.12)
  • TLS / STARTTLS (4.14 / 5)
  • Anything actually useful that would make this crate comfortable to use. (i.e. the event queue)
Note that none of the functions are finalized. They will be reworked.

ldap_server (Server-opinionated abstractions)

This library creates Server-opinionated abstractions over ldap_protocol. It's not yet written though.

ldap_rfc4515 (Search Filter String Representation)

Implemeting RFC 4515 Search Filter.

Example of a Search filter: (& (objectClass=person) (| (cn=Username) (SAMAccountName=Username))).

Not yet written either.

License

Licensed under either of

at your option.

Dependencies

~7MB
~115K SLoC