Expand description

ldap-utils

Implements some LDAP utility functionality around OpenLDAP config files and the ldap3 Rust library

Structs

a wrapped error in case parsing fails when retrieving the LDAPSchema from an ldap3 server.

a set of parameters for connecting to an LDAP server, including client-side certificate auth support

an error type in case parsing an OID fails when querying the RootDSE from ldap3 during the parsing of supported controls, extensions and features

Enums

errors which can happen when connecting to an LDAP server

Error type for ConnectParametersBuilder

an error during normal ldap operations (search, add, modify, update, delete,…)

error which can happen while retrieving and parsing the LDAP schema

errors which can happen when trying to retrieve connect parameters from openldap config

error which can occur while parsing a scope

error which can happen while reading connect parameters from a file

Functions

apply the LDAP operations on a given LDAP server.

try to connect to an LDAP server using ldap3 using the OpenLDAP config files supplemented by hardcoded default values

connect to an LDAP server using ldap3 with the given set of default parameters

fill the builder with hardcoded default parameters

delete an LDAP entry recursively using ldap3

diff two sets of LDAPEntries which had their base DNs removed and generates LDAP operations (add, update, delete) to apply to the destination to make it identical to the source

perform an LDAP search via ldap3, logging a proper error message if it fails and returning an iterator to already unwrapped search entries

generate an ldap3::Mod if there is a DN-valued attribute in the source entry that needs its base DN translated to the destination base DN

of the same modify operation because otherwise we might successfully apply the textual modifications and then fail on the binary ones, leaving behind a half-modified object

creates a noop_control object for use with ldap3

try to detect OpenLDAP connect parameters from its config files (ldap.conf in /etc/ldap or /etc/openldap and .ldaprc in the user home dir)

parse an ldap3::Scope from the string one would specify to use the same scope with OpenLDAP’s ldapsearch -s parameter

print chumsky parse errors using ariadne

Retrieve the LDAP schema from an LDAP server using ldap3

retrieve the RootDSE from an LDAP server using ldap3

helper function to search an LDAP server and generate LDAPEntry values with the base DN removed to make them server-independent

check if an ldap3::LdapResult is either a success or the success code returned by an operation using the noop_control

load ldap connect parameters from a toml file