Re: How to dump the schema from an Oracle Internet Directory LDAP server?

[email protected] (Chris Ridd)
Newsgroups perl.ldap
Message-ID <[email protected]>
On 8 Jul 2009, at 17:12, [email protected] wrote:

>
>   Chris Ridd recently wrote (in part):
>
>> I think the problem's in the way Oracle's representing the
>> SYNTAX oid value. RFC 4512 ...  You could ask Oracle how to
>> configure the server to return valid schema.
>
>   After looking at the RFC's you referenced, as well as
>
>       http://www.openldap.org/doc/admin23/schema.html
>
>   I would have to agree (with what little I know on the subject)
>   that it doesn't look like Oracle is following the spec.  On
>   the other hand the V3.2 of LDAPsoft's LDAP Admin Tool appears
>   to consume the schema definitions without problems.

You could try changing the "die" when checking the extra {128} token  
into a "warn". Looks like the die on line 355 (ie without the "Drop of  
end of list" comment) is the culprit - try that and see.

>
>   I'll try submitting a bug report to Oracle, but given past
>   experience with this company, I'm not optimistic.
>
>   As for correctly handling schema errors, how can the error()
>   method (as described in Net::LDAP::Schema documentation) be
>   used if the value being returned by the schema method is
>   undefined?

If I'm trying to analyze schema parsing problems I create a schema  
object first, and then call parse with the contents of a subschema  
subentry. Something like:

$dn = $ldap->root_dse()->get_value("subschemaSubentry");

$res = $ldap->search(base => $dn,
		     scope => 'base',
		     filter => '(objectclass=subschema)',
		     attrs => ['objectClasses', 'attributeTypes']);
die "Search failed " . $res->code . "\n" if $res->code;

$schema = Net::LDAP::Schema->new;
$schema->parse($res->entry(0)) or print "Schema parse failed with " .  
$schema->error . "\n";

Cheers,

Chris
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.