Hello Bryan,

Matthieu,

I verified my hypothesis.  In both cases (with and without 
LDAP_DIRSYNC_OBJECT_SECURITY) the call is handled in lsass.exe at 
ntdsai.dll!LDAP_CONN::SearchRequest().  For reference: my testing was using 
Server 2008 R2 (RTM, not SP1).

If LDAP_DIRSYNC_OBJECT_SECURITY is absent, we call into code that checks that 
the client has appropriate rights.  That call fails with 
ERROR_DS_DRA_ACCESS_DENIED 8453 (0x2105).  That failure causes 
LDAP_CONN::SearchRequest() to stop there and return insufficientAccessRights 
(0x32/50d).

Deeper down, reason the access check fails with ERROR_DS_DRA_ACCESS_DENIED 8453 (0x2105) 
is that a sub-check discovers that we are not at the root of the NC and returns 8440 
(0x20f8) ERROR_DS_DRA_BAD_NC "The naming context specified for this replication 
operation is invalid".

When LDAP_DIRSYNC_OBJECT_SECURITY is present, we don't do this extra security 
"safety" check and skip all of the code mentioned above.  We, then, fall into 
the next check that ultimately returns unwillingToPerform when it discovers the base of 
the search is not the root of the NC.
Ok, does this means that you'll update the documentation to indicate this behavior (with a behavior note for instance ?).

--
Matthieu Patou

Samba Team        http://samba.org
Private repo      http://git.samba.org/?p=mat/samba.git;a=summary


_______________________________________________
cifs-protocol mailing list
[email protected]
https://lists.samba.org/mailman/listinfo/cifs-protocol

Reply via email to