Hi Ondřej,


A byzantine java application connects to the LDAP server, and somehow uses the information presented to trigger API requests to business logic, eventually resulting in the data being replicated to a relational database. If olcSpNoPresent is honoured, this works. It it’s ignored, it dies with an error.  I have, as yet, been unable to find an engineer who can explain this behaviour to me, and this code is largely forgotten.


It seems reasonable to me that if I configure slapd to not do a Present phase, then it shouldn’t do a Present phase? Am I wrong?






From: Ondřej Kuzník <ondra@mistotebe.net>
Date: Wednesday, 9 March 2022 at 16:32
To: Lisa Parratt <Lisa.Parratt@bjss.com>
Cc: Quanah Gibson-Mount <quanah@fast-mail.org>, openldap-technical@openldap.org <openldap-technical@openldap.org>
Subject: Re: syncprov olcSpNoPresent not being honoured

On Wed, Mar 09, 2022 at 09:04:49AM +0000, Lisa Parratt wrote:
> Hi Quanah,
> It’s not a replication setup. The consumer is a relatively ancient
> proprietary implementation of the syncrepl protocol, over which I have
> very influence.
> I believe the problem is syncprov.c lines 3335 and 3341, which appear
> to be setting `do_present = SS_PRESENT;` while simultaneously ignoring
> the value of si->si_nopres. Replacing the lines above with `if (
> !si->si_nopres ) do_present = SS_PRESENT;` appears to fix the problem
> for my use case, and is closer to how the logic worked in previous
> versions of slapd.

Hi Lisa,
I find it strange that you maintain a sessionlog (or use accesslog to host
it) yet don't want to host a present/delete phase which is where they
are useful. Could you explain what you're trying to achieve with your
set up?

Ondřej Kuzník
Senior Software Engineer
Symas Corporation                       http://www.symas.com
Packaged, certified, and supported LDAP solutions powered by OpenLDAP

The information included in this email and any files transmitted with it may contain information that is confidential and it must not be used by, or its contents or attachments copied or disclosed to, persons other than the intended addressee. If you have received this email in error, please notify BJSS. In the absence of written agreement to the contrary BJSS' relevant standard terms of contract for any work to be undertaken will apply. Please carry out virus or such other checks as you consider appropriate in respect of this email. BJSS does not accept responsibility for any adverse effect upon your system or data in relation to this email or any files transmitted with it. BJSS Limited, a company registered in England and Wales (Company Number 2777575), VAT Registration Number 613295452, Registered Office Address, 1 Whitehall Quay, Leeds, LS1 4HR