Net::LDAP::Schema - Load and manipulate an LDAP v3 Schema

NAME  SYNOPSIS  DESCRIPTION  METHODS  SEE ALSO  AUTHORS  COPYRIGHT 

NAME

Net::LDAP::Schema − Load and manipulate an LDAP v3 Schema

SYNOPSIS

use Net::LDAP;
use Net::LDAP::Schema;
#
# Read schema from server
#
$ldap = Net::LDAP−>new ( $server );
$ldap−>bind ( );
$schema = $ldap−>schema ( );
#
# Load from LDIF
#
$schema = Net::LDAP::Schema−>new;
$schema−>parse ( "schema.ldif" ) or die $schema−>error;

DESCRIPTION

"Net::LDAP::Schema" provides a means to load an LDAP schema and query it for information regarding supported objectclasses, attributes and syntaxes.

METHODS

Where a method is stated as taking the ’name or OID’ of a schema item (which may be an object class, attribute or syntax) then a case-insensitive name or raw OID (object identifier, in dotted numeric string form, e.g. 2.5.4.0) may be supplied.

Each returned item of schema (e.g. an attribute definition) is returned in a HASH. The keys in the returned HASH are lowercase versions of the keys read from the server. Here’s a partial list (not all HASHes define all keys) although note that RFC 4512 permits other keys as well:

name
desc
obsolete
sup
equality
ordering
substr
syntax
single−value
collective
no−user−modification
usage
abstract
structural
auxiliary
must
may
applies
aux
not
oc
form
all_attributes ( )
all_ditcontentrules ( )
all_ditstructurerules ( )
all_matchingrules ( )
all_matchingruleuses ( )
all_nameforms ( )
all_objectclasses ( )
all_syntaxes ( )

Returns a list of all the requested types in the schema.

attribute ( NAME )
ditcontentrule ( NAME )
ditstructurerule ( NAME )
matchingrule ( NAME )
matchingruleuse ( NAME )
nameform ( NAME )
objectclass ( NAME )
syntax ( NAME )

Returns a reference to a hash, or "undef" if the schema item does not exist. "NAME" can be a name or an OID.

$attr_href = $schema−>attribute( "attrname" );

dump ( )

Dump the raw schema information to standard out.

dump ( FILENAME )

Dump the raw schema information to a file.

$result = $schema−>dump ( "./schema.dump" );

If no schema data is returned from directory server, the method will return undefined. Otherwise a value of 1 is always returned.

error ( )

Returns the last error encountered when parsing the schema.

may ( OBJECTCLASS )

Given an argument which is the name or OID of a known object class, returns a list of HASHes describing the attributes which are optional in the class.

@may = $schema−>may ( $oc );
# First optional attr has the name '$may[0]−>{name}'

must ( OBJECTCLASS )

Given an argument which is the name or OID of a known object class, returns a list of HASHes describing the attributes which are mandatory in the class.

@must = $schema−>must ( $oc );

parse ( MESG )
parse ( ENTRY )
parse ( FILENAME )

Takes a single argument which can be any of, a message object returned from an LDAP search, a "Net::LDAP::Entry" object or the name of a file containing an LDIF form of the schema.

If the argument is a message result from a search, "Net::LDAP::Schema" will parse the schema from the first entry returned.

Returns true on success and "undef" on error.

superclass ( NAME )

Given an argument which is the name or OID of a known objectclass, returns the list of names of the immediate superclasses.

attribute_syntax ( NAME )

Given an attribute name, return the actual syntax taking into account attribute supertypes.

matchingrule_for_attribute ( NAME, RULE )

Given an attribute name and a matching rule ("equality", "substr", etc), return the actual rule taking into account attribute supertypes.

SEE ALSO

Net::LDAP, Net::LDAP::RFC

AUTHORS

Graham Barr <[email protected]> John Berthels <[email protected]>

Please report any bugs, or post any suggestions, to the perl-ldap mailing list <perl−[email protected]>.

COPYRIGHT

Copyright (c) 1998−2004 Graham Barr. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.


Updated 2024-01-29 - jenkler.se | uex.se