[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: broken ldif ?



Every entry has to contain one and only one structural objectclass.
Probably the objectclass "dcobject" is set to auxiliary.
Note: Default is structural!
Take a look at your schema files.

Ralf

Am Freitag, 9. Juli 2004 09:39 schrieb Roger Thomas:
> Just upgraded from 2.0.5 to 2.2.13
>
> Then I quickly pumped in these short ldifs:
> -- start ldif --
> dn: dc=example,dc=com
> dc: example
> objectClass: top
> objectClass: dcobject
>
> dn: o=Administrators,dc=example,dc=com
> o: Administrators
> objectClass: top
> objectClass: organization
> description: Master LDAP Admin
> [root@devel LDAPstuff]#
> -- end ldif --
>
>
> and i got these error msgs:
>
> -- start error --
> btw: genldap.sh is a shell script which contain this line:
> /usr/local/bin/ldapadd -h ldap.example.com -x -v -w secret -D
> "cn=admin,dc=example,dc=com" -f $1
>
> [root@devel LDAPstuff]# ./genldap.sh trunk.LDIF
> ldap_initialize( ldap://ldap.example.com)
> add dc:
>         example
> add objectClass:
>         top
>         dcobject
> adding new entry "dc=example,dc=com"
> modify complete
>
> ldap_add: Object class violation (65)
>         additional info: no structural object class provided
>
> [root@devel LDAPstuff]#
>
> -- end error --
>
>
> QUESTION:
> With 2.0.5, those ldif lines were accepted but 2.2.13 refused to deal with
> them. What have I done wrong ?
>
>
> Please advise and TIA.
>
> -
> roger
>
>
> p/s: I ran slapd with slapd -d 5 and just in case, it's here:
> ...
> ...
> ...
> slapd starting
> ldap_pvt_gethostbyname_a: host=devel, r=0
> connection_get(7)
> connection_get(7): got connid=0
> connection_read(7): checking for input on id=0
> ber_get_next
> ber_get_next: tag 0x30 len 44 contents:
> ber_get_next
> ber_get_next on fd 7 failed errno=11 (Resource temporarily unavailable)
> do_bind
> ber_scanf fmt ({imt) ber:
>
> ber_scanf fmt (m}) ber:
> >>> dnPrettyNormal: <cn=admin,dc=example,dc=com>
>
> => ldap_bv2dn(cn=admin,dc=example,dc=com,0)
> <= ldap_bv2dn(cn=admin,dc=example,dc=com,0)=0
> => ldap_dn2bv(272)
> <= ldap_dn2bv(cn=admin,dc=example,dc=com,272)=0
> => ldap_dn2bv(272)
> <= ldap_dn2bv(cn=admin,dc=example,dc=com,272)=0
> <<< dnPrettyNormal: <cn=admin,dc=example,dc=com>,
> <cn=admin,dc=example,dc=com> do_bind: version=3
> dn="cn=admin,dc=example,dc=com" method=128
> ==> ldbm_back_bind: dn: cn=admin,dc=example,dc=com
> do_bind: v3 bind: "cn=admin,dc=example,dc=com" to
> "cn=admin,dc=example,dc=com" send_ldap_result: conn=0 op=0 p=3
> send_ldap_result: err=0 matched="" text=""
> send_ldap_response: msgid=1 tag=97 err=0
> ber_flush: 14 bytes to sd 7
> connection_get(7)
> connection_get(7): got connid=0
> connection_read(7): checking for input on id=0
> ber_get_next
> ber_get_next: tag 0x30 len 75 contents:
> ber_get_next
> ber_get_next on fd 7 failed errno=11 (Resource temporarily unavailable)
> do_add
>
> ber_scanf fmt ({m) ber:
> >>> dnPrettyNormal: <dc=example,dc=com>
>
> => ldap_bv2dn(dc=example,dc=com,0)
> <= ldap_bv2dn(dc=example,dc=com,0)=0
> => ldap_dn2bv(272)
> <= ldap_dn2bv(dc=example,dc=com,272)=0
> => ldap_dn2bv(272)
> <= ldap_dn2bv(dc=example,dc=com,272)=0
> <<< dnPrettyNormal: <dc=example,dc=com>, <dc=example,dc=com>
> do_add: dn (dc=example,dc=com)
> ber_scanf fmt ({m{W}}) ber:
> ber_scanf fmt ({m{W}}) ber:
> ber_scanf fmt (}) ber:
> dn2entry_r: dn: "dc=example,dc=com"
> => dn2id( "dc=example,dc=com" )
> => ldbm_cache_open( "/usr/local/var/openldap-ldbm/home.net.my/dn2id.gdbm",
> 34, 600 ) ldbm_cache_open (blksize 4096) (maxids 1022) (maxindirect 9)
> <= ldbm_cache_open (opened 0)
> <= dn2id NOID
> send_ldap_result: conn=0 op=1 p=3
> send_ldap_result: err=65 matched="" text="no structural object class
> provided" send_ldap_response: msgid=2 tag=105 err=65
> ber_flush: 49 bytes to sd 7
> connection_get(7)
> connection_get(7): got connid=0
> connection_read(7): checking for input on id=0
> ber_get_next
> ber_get_next: tag 0x30 len 5 contents:
> ber_get_next
> ber_get_next on fd 7 failed errno=11 (Resource temporarily unavailable)
> connection_get(7)
> connection_get(7): got connid=0
> connection_read(7): checking for input on id=0
> ber_get_next
> ber_get_next on fd 7 failed errno=0 (Success)
> connection_read(7): input error=-2 id=0, closing.
> connection_closing: readying conn=0 sd=7 for close
> connection_close: deferring conn=0 sd=7
> do_unbind
> connection_resched: attempting closing conn=0 sd=7
> connection_close: conn=0 sd=7
>
>
>
> ---------------------------------------------------
> Sign Up for free Email at http://ureg.home.net.my/
> ---------------------------------------------------


-------------------------------------

Der Inhalt dieser e-Mail ist ausschließlich für den bezeichneten Adressaten
bestimmt. Wenn Sie nicht der vorgesehene Adressat dieser e-Mail oder 
dessen Vertreter sein sollten, so beachten Sie bitte, dass jede Form der 
Kenntnisnahme, Veröffentlichung, Vervielfältigung oder Weitergabe des
Inhalts dieser e-Mail unzulässig ist. Wir bitten Sie, sich in diesem Fall mit 
dem Absender der e-Mail in Verbindung zu setzen.

The information contained in this e-mail is intended solely for the addressee.
Access to this e-mail by anyone else is unauthorized. If you are not the 
intended recipient, any form of disclosure, reproduction, distribution, or any 
action taken or refrained from in reliance on it, is prohibited and may be 
unlawful. Please notify the sender immediately.