[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
slurpd replication weirdness
Hi,
I have a (mostly) working openldap setup with one master and one slave.
Both machines run a compiled openLDAP 2.0.7, the master runs on a Solaris
2.7, the slave on a Linux 2.2.18. Here is the configuration of the master:
database ldbm
suffix "o=vera.be"
rootdn "cn=root, o=vera.be"
rootpw xxxx
directory /usr/local/var/openldap-ldbm
# replication directives
replogfile /usr/local/var/openldap/slapd.replog
replica host=10.0.0.132:389
binddn="cn=Replicator1,o=vera.be"
bindmethod=simple credentials=xxxx
access to * by * write
And here is the relevant configuration of the slave:
database ldbm
suffix "o=vera.be"
rootdn "cn=Replicator1, o=vera.be"
rootpw xxxx
directory /usr/local/var/openldap-ldbm
# replication directives
updatedn "cn=Replicator1,o=vera.be"
updateref "ldap://10.0.0.135"
# Indices to maintain
index objectClass eq
index mail,mailAlternateAddress,uid eq
index cn sub,eq
access to * by * write
The ACLs are there just to make sure that access rights don't block
anything. OK, so this works:
1. Updating the master -> slave is updated automatically
2. Making a change in the slave -> referral to the master, master is
updated properly.
But after a referral to the master, when the master is updated, the slurpd
doesn't manage to update the slave. Here is the error message (slurpd -d68) :
new work in /usr/local/var/openldap/slapd.replog
copy replog "/usr/local/var/openldap/slapd.replog" to
"/usr/local/var/openldap-slurp/replica/slurpd.replog"
Initializing session to 10.0.0.132:389
bind to 10.0.0.132:389 as cn=Replicator1,o=vera.be (simple)
ber_flush: 44 bytes to sd 6
request 1 done
replica 10.0.0.132:389 - modify dn "uid=guest2,ou=special users,o=vera.be"
ber_flush: 183 bytes to sd 6
request 2 done
Error: ldap_modify_s failed modifying "Invalid syntax":
uid=guest2,ou=special users,o=vera.be
Error: ldap operation failed, data written to
"/usr/local/var/openldap-slurp/replica/10.0.0.132:389.rej"
The replication log says this:
replica: 10.0.0.132:389
time: 985173287
dn: uid=guest2,ou=special users,o=vera.be
changetype: modify
replace: cn
cn: Demo2s
-
replace: modifiersName
modifiersName:: PGFub255bW91cz4=
-
replace: modifyTimestamp
modifyTimestamp: 20010321111446Z
-
As you can see, the modifiersName is messed up (look at the double colon!).
Where does this encoded string come from? The modifiersName should be
uid=guest2,ou=special users,o=vera.be, the user I used to change the record
in the first place.
When I make a similar change directly to the master, I get this:
replica: 10.0.0.132:389
time: 985173393
dn: uid=guest3,ou=special users,o=vera.be
changetype: modify
replace: cn
cn: Demo3s
-
replace: modifiersName
modifiersName: cn=root, o=vera.be
-
replace: modifyTimestamp
modifyTimestamp: 20010321111631Z
-
And this of course works perfectly.
Any ideas?
Bye for now,
Ward Vandewege,
Better Access.
--
I code therefore I am.