1

I am trying to retrieve the deleted UUIDs from a Openldap server using a .Net Core Console Application.

I was able to see that a Sync Info Message was indeed sent by my Openldap server and that it contained the UUIDS of the present entries by using a Perl script and dumping the whole response.

I set up a Openldap server with the syncprov Overlay (see my previous question Can't get deleted items from OpenLDAP Server using Content Synchronization Operation (syncrepl)).

After re-reading the RFC4533 multiple times and the OpenLdap Syncrepl documentation and analysing the response, with my current configuration (No Accesslog) it is impossible to retrieve deleted entries, only a list of present entries. They are contained in the Sync Info Message. I wish to retrieve the information anyway so I can make a delta between what is sent and what is on my client.

Do you know how to catch the message in C#?

I tried using the DirectoryServices.Protocols and the Novell.Directory.Ldap libraries (separately). I must have missed something but don't know what exactly...

I used the Novell Code sample (the SearchPersist one and adding the corresponding control) available at https://www.microfocus.com/documentation/edirectory-developer-documentation/ldap-libraries-for-c-sharp/.

I can retrieve added/modified entries but not the Sync Info Message containing the present entries.

ewald
  • 250
  • 1
  • 10

1 Answers1

1

By digging a bit into the Novell Library, I found some useful classes for decoding ASN1 Objects.

By using the following code I am able to determine the type of the Intermediate Sync Info Message.

var decoder = new LBERDecoder();
(Asn1Tagged)decoder.decode(intermediateResponse.getValue());`

Then, depending on the Tag I am able to decode the message (using the method .decode(valueToDecode))

ewald
  • 250
  • 1
  • 10