[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
Re: Replication: class filter.
in your filter , you provide :
>
attr!="posixAccount,shadowAccount,loginShell,homeDirectory,uidNumber,gidNumb
er,gecos"
where the "posixAccount ,shadowAccount " etc. are the value of objectclass
("objectclass" is an attribute name) , not a attribute name, and the "attr"
directive only accepts to including or excluding attributes' names. slapd
does not recognize an attribute type with posixAccount etc. so you will get
errors. :-)
----- Original Message -----
From: "Marco Marcal" <marco.marcal@emi.u-bordeaux.fr>
Cc: <openldap-software@OpenLDAP.org>
Sent: Friday, April 25, 2003 3:03 PM
Subject: Replication: class filter.
> Hello,
>
> i have problems concerning replication and class filter...
>
> If my filter contains only names of attributes, the replication goes.
> If it contains the name of a class, I have an object class violation
> error...
>
> ex :
> DIT of the master :
>
> dc=xxx,dc=fr
> |
> |
> ou=people
> |
> |-----------------------------
> | |
> ou=employes ou=students
> |
> -----------
> | | |
> uid=... uid=...
>
>
>
> DIT of the slave :
>
>
>
> ou=employes,dc=xxx,dc=fr
> |
> |
> -----------
> | | |
> uid=... uid=...
>
>
> *********************
> i want to add :
> *********************
>
> dn: sn=zozo,ou=employes,ou=people,dc=xxx,dc=fr
> objectclass: top
> objectclass: person
> objectclass: organizationalPerson
> objectclass: inetOrgPerson
> objectclass: rearsitexxx1
> objectclass: webMailxxx1
> uid: eiei
> cn: zozo eiei
> sn: zozo
> givenName: Jean
> mail: zozo@ui.xxx.fr
> l: France
> rearsiteLogin: fantoche
> rearsitePassword: cestlepass
> rearsiteHomeDirectory: /home/monhome
> webMailMail: pouet@pouet.fr
> webMailMailDrop: dropdrop
> webMailPassword: passdrop
>
> *********************
> filter :
> *********************
>
> replica host=slave.xxx.fr:389
> suffix="ou=employes,ou=people,dc=xxx,dc=fr"
> binddn="cn=replicator,ou=employes,ou=people,dc=xxx,dc=fr"
> attr!=givenName,mail,uid,l
> bindmethod=simple credentials=secretreplicator
>
> => All occurs well...
>
> *********************
> I want to add :
> *********************
>
> dn: uid=lester,ou=employes,ou=people,dc=xxx,dc=fr
> objectClass: top
> objectClass: posixGroup
> objectClass: posixAccount
> objectClass: shadowAccount
> uid: lester
> cn: Lester the Nightfly
> userPassword: {crypt}X5/DBrWPOQQaI
> gecos: Lester
> loginShell: /bin/csh
> uidNumber: 10
> gidNumber: 10
> homeDirectory: /home/lester
>
> **********************
> filter rules are :
> **********************
>
> replica host=slave.yyy.xxx.fr:389
> suffix="ou=employes,ou=people,dc=xxx,dc=fr"
> binddn="cn=replicator,ou=employes,ou=people,dc=xxx,dc=fr"
>
attr!="posixAccount,shadowAccount,loginShell,homeDirectory,uidNumber,gidNumb
er,gecos"
>
> bindmethod=simple credentials=secretreplicator
>
> **********************
> Extract of the slurpd in debug mode :
> *********************
>
> #########################
> As soon as slurpd want to replicate the root of my DIT, dang, error...
> #########################
>
> replica slave.yyy.xxx.fr:389 - add dn
> "ou=employes,ou=people,dc=xxx,dc=fr"
> ldap_add_ext
> ldap_send_initial_request
> ldap_send_server_request
> ber_flush: 432 bytes to sd 6
> 0000: 30 82 01 ac 02 01 02 68 82 01 88 04 2a 6f 75 3d
> 0......h....*ou=
> 0010: 65 6d 70 6c 6f 79 65 73 2c 6f 75 3d 70 65 6f 70
> employes,ou=peop
> 0020: 6c 65 2c 64 63 3d 75 2d 62 6f 72 64 65 61 75 78 le,dc=xxx
>
> [...]
>
> ldap_read: want=9, got=9
> 0000: 30 24 02 01 02 69 1f 0a 01 0$...i...
> ldap_read: want=29, got=29
> 0000: 41 04 00 04 18 6e 6f 20 6f 62 6a 65 63 74 43 6c A....no
> objectCl
> 0010: 61 73 73 20 61 74 74 72 69 62 75 74 65 ass
> attribute
> ber_get_next: tag 0x30 len 36 contents:
> ber_dump: buf=0x08082420 ptr=0x08082420 end=0x08082444 len=36
> 0000: 02 01 02 69 1f 0a 01 41 04 00 04 18 6e 6f 20 6f
> ...i...A....no o
> 0010: 62 6a 65 63 74 43 6c 61 73 73 20 61 74 74 72 69 bjectClass
> attri
> 0020: 62 75 74 65 bute
> ldap_read: message type add msgid 2, original id 2
> ber_scanf fmt ({iaa) ber:
> ber_dump: buf=0x08082420 ptr=0x08082423 end=0x08082444 len=33
> 0000: 69 1f 0a 01 41 04 00 04 18 6e 6f 20 6f 62 6a 65 i...A....no
> obje
> 0010: 63 74 43 6c 61 73 73 20 61 74 74 72 69 62 75 74 ctClass
> attribut
> 0020: 65 e
> read1msg: 0 new referrals
> read1msg: mark request completed, id = 2
> request 2 done
> res_errno: 0, res_error: <>, res_matched: <>
> ldap_free_request (origid 2, msgid 2)
> ldap_free_connection
> ldap_free_connection: refcnt 1
> ldap_parse_result
> ber_scanf fmt ({iaa) ber:
> ber_dump: buf=0x08082420 ptr=0x08082423 end=0x08082444 len=33
> 0000: 69 1f 0a 01 41 04 00 04 18 6e 6f 20 6f 62 6a 65 i...A....no
> obje
> 0010: 63 74 43 6c 61 73 73 20 61 74 74 72 69 62 75 74 ctClass
> attribut
> 0020: 65 e
> ber_scanf fmt (}) ber:
> ber_dump: buf=0x08082420 ptr=0x08082444 end=0x08082444 len=0
>
> ldap_msgfree
> ldap_err2string
> Error: ldap_add_s failed adding "Object class violation":
> ou=employes,ou=people,dc=xxx,dc=fr
> ldap_err2string
>
>
>
>
> Any idea ?
>
>
> --
> Marco Marçal
>
>
>
>