<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<meta charset="utf-8">
Hello,<br>
<br>
The syncrepl feature is really compelling; I can write a python
program that can react to changes in the LDAP directory.<br>
<br>
I'm working on a prototype using the demo (Demo/pyasn1/syncrepl.py),
and I'm running into a bit of a problem (maybe it's a problem with
my understanding?). I do an initial sync, kill the python script,
make a modification in ldap, restart the python script, and I expect
it to get the change that happened while it was disconnect.
Unfortunately, I don't see any indication that it discovers/gets the
change. Is it a bug or am I missing something?<br>
<br>
The server is running OpenLDAP 2.4.33. Here's exactly what I'm
doing....<br>
<br>
$ sudo pip install python-ldap pyasn1<br>
<br>
$ curl
<a class="moz-txt-link-freetext" href="https://pypi.python.org/packages/source/p/python-ldap/python-ldap-2.4.19.tar.gz">https://pypi.python.org/packages/source/p/python-ldap/python-ldap-2.4.19.tar.gz</a>
| tar zvxf -<br>
<br>
$ cd python-ldap-2.4.19/Demo/pyasn1/<br>
<br>
$ python syncrepl.py
'<a class="moz-txt-link-freetext" href="ldap://server.example.com/dc=2,dc=foobar?*?sub?(objectClass=*)?bindname=cn=thomasc%2cdc=2%2cdc=foobar,X-BINDPW=topSecret">ldap://server.example.com/dc=2,dc=foobar?*?sub?(objectClass=*)?bindname=cn=thomasc%2cdc=2%2cdc=foobar,X-BINDPW=topSecret</a>'
db.shelve<br>
<br>
Connecting to LDAP server now...<br>
Commencing sync process<br>
Detected add of entry: dc=2,dc=foobar<br>
...<br>
Detected add of entry: cn=test01,dc=2,dc=foobar<br>
...<br>
Initial synchronization is now done, persist phase begins<br>
Detected modify of entry: cn=test01,dc=2,dc=foobar #
I made a change in LDAP<br>
...<br>
^CShutting down! # I killed the script with
Ctrl+C<br>
<br>
# Once killed, I made more changes in LDAP and then restarted the
script.<br>
<br>
$ python syncrepl.py
'<a class="moz-txt-link-freetext" href="ldap://server.example.com/dc=2,dc=foobar?*?sub?(objectClass=*)?bindname=cn=thomasc%2cdc=2%2cdc=foobar,X-BINDPW=topSecret">ldap://server.example.com/dc=2,dc=foobar?*?sub?(objectClass=*)?bindname=cn=thomasc%2cdc=2%2cdc=foobar,X-BINDPW=topSecret</a>'
db.shelve<br>
<br>
Connecting to LDAP server now...<br>
Commencing sync process<br>
# I expect to see "Detected modify of entry" come up
somewhere <br>
Initial synchronization is now done, persist phase begins<br>
<br>
<br>
Thanks,<br>
Thomas<br>
</body>
</html>