LDAP Controls

LDAP Server and Client controls.

class freeiam.ldap.controls.Controls(server: list[RequestControl] | None = None, client: list[RequestControl] | None = None, response: list[ResponseControl] | None = None)[source]

Bases: object

The LDAP request controls.

classmethod append_server(controls: Self | None, control: LDAPControl | RequestControl) Self[source]
client: list[RequestControl] | None = None
classmethod expand(controls: Self | None) dict[str, list[RequestControl] | None][source]
get(control: LDAPControl | RequestControl | ResponseControl) ResponseControl | None[source]

Get the control from the list of response controls.

response: list[ResponseControl] | None = None
server: list[RequestControl] | None = None
classmethod set_server(controls: Self | None, control: LDAPControl | RequestControl) Self[source]
freeiam.ldap.controls.assertion(filter_expr: str, *, criticality: bool = False) AssertionControl[source]

Get Assertion control.

freeiam.ldap.controls.authorization_identity(*, criticality: bool = False) AuthorizationIdentityRequestControl[source]

AuthorizationIdentityRequest control.

freeiam.ldap.controls.decode(ctrls: list[tuple[str, bool, bytes]]) list[ResponseControl][source]

Decode any list of supported controls.

freeiam.ldap.controls.dereference(deref_specs: dict[str, list[str]], *, criticality: bool = False) DereferenceControl[source]

Dereference control.

freeiam.ldap.controls.get_effective_rights(authz_id: DN | str, *, criticality: bool = False) GetEffectiveRightsControl[source]

GetEffectiveRights control.

freeiam.ldap.controls.manage_dsa_information_tree(*, criticality: bool = False) ManageDSAITControl[source]

ManageDSAIT control.

freeiam.ldap.controls.matched_values(filter_expr: str, *, criticality: bool = False) MatchedValuesControl[source]

MatchedValues control.

PersistentSearch control.

freeiam.ldap.controls.post_read(attrs: list[str], *, criticality: bool = False) PostReadControl[source]

PostRead control.

freeiam.ldap.controls.pre_read(attrs: list[str], *, criticality: bool = False) PreReadControl[source]

PreRead control.

freeiam.ldap.controls.proxy_authorization(authz_id: str | DN, *, criticality: bool = False) ProxyAuthzControl[source]

ProxyAuthz control.

freeiam.ldap.controls.relax_rules(*, criticality: bool = False) RelaxRulesControl[source]

RelaxRules control.

freeiam.ldap.controls.server_side_sorting(*ordering_rules: str | tuple[str, str | None, bool], criticality: bool = False) SSSRequestControl[source]

Server Side Sorting.

freeiam.ldap.controls.session_tracking(source_ip: str, source_name: str, format_oid: str, tracking_identifier: str) SessionTrackingControl[source]

SessionTracking control.

freeiam.ldap.controls.simple_paged_results(size: int = 10, cookie: str = '', *, criticality: bool = False) SimplePagedResultsControl[source]

SimplePagedResults control.

freeiam.ldap.controls.virtual_list_view(before_count: int = 0, after_count: int = 0, offset: int | None = None, content_count: int | None = None, greater_than_or_equal: str | None = None, context_id: str | None = None, *, criticality: bool = False) VLVRequestControl[source]

Virtual List View.