GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
Net::LDAP::Schema(3) User Contributed Perl Documentation Net::LDAP::Schema(3)

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

 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;

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

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.

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

Graham Barr <gbarr@pobox.com> John Berthels <jjb@nexor.co.uk>

Please report any bugs, or post any suggestions, to the perl-ldap mailing list <perl-ldap@perl.org>.

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.
2020-12-26 perl v5.32.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.