ldap.schema: str2objectclass() fails

Hans Aschauer Hans.Aschauer at Physik.uni-muenchen.de
Tue Jul 30 12:13:45 CEST 2002


On Dienstag, 30. Juli 2002 11:42, Michael Ströder wrote:

> Can you point me to where are the error codes described in OpenLDAP?

In ldap_schema.h:

----------------------------------------------
/* Codes for parsing errors */

#define LDAP_SCHERR_OUTOFMEM            1
#define LDAP_SCHERR_UNEXPTOKEN          2
#define LDAP_SCHERR_NOLEFTPAREN         3
#define LDAP_SCHERR_NORIGHTPAREN        4
#define LDAP_SCHERR_NODIGIT             5
#define LDAP_SCHERR_BADNAME             6
#define LDAP_SCHERR_BADDESC             7
#define LDAP_SCHERR_BADSUP              8
#define LDAP_SCHERR_DUPOPT              9
#define LDAP_SCHERR_EMPTY               10
----------------------------------------------

> You can check yourself by invoking recently checked in
> Demo/schema.py:
>
> $ python Demo/schema.py ldap://memberdir.netscape.com/

The problem is that they do not provide OID's where there must be OID's:

objectClasses: ( inetsubscriber-oid NAME 'inetSubscriber' SUP top 
AUXILIARY MAY ( inetSubscriberAccountId $ inetSubscriberChallenge $ 
inetSubscriberResponse ) X-ORIGIN 'Nortel subscriber interoperability')

In this case, the offending item is "inetsubscriber-oid", which is 
expected to be a numeric OID. In this case, the openldap schema parser 
is not liberal enough to allow such a string. There's not much that we 
can do in this case (except for writing our own parser, or filing a 
"bug" report, and hoping the best...)

Of course, if we already had better error handling, we could also use 
some heuristics after an exception is caught ;-)

Hans 

-- 
Hans.Aschauer at Physik.uni-muenchen.de






More information about the python-ldap mailing list