ldb-samba: Implement transitive extended matching
authorSamuel Cabrero <samuelcabrero@kernevil.me>
Fri, 24 Oct 2014 15:52:47 +0000 (17:52 +0200)
committerAndrew Bartlett <abartlet@samba.org>
Mon, 18 Jan 2016 03:42:21 +0000 (04:42 +0100)
commit177ac584c9bc444b951596f0ca740c04182c9db8
treeba9d5f687aa1626fb32de2916b662dfe91c0a984
parenta2d49fa74f2a4b3cf8b22f4b5686d18f3204fcfb
ldb-samba: Implement transitive extended matching

Documented in [MS-ADTS] section 3.1.1.3.4.4.3 LDAP_MATCHING_RULE_TRANSITIVE_EVAL

This allows a search filter such as:

 member:1.2.840.113556.1.4.1941:=cn=user,cn=users,dc=samba,dc=example,dc=com

This searches not only the member attribute, but also any member
attributes that point at an object with this member in them.  All the
various DN syntax types are supported, not just plain DNs.

Signed-off-by: Samuel Cabrero <samuelcabrero@kernevil.me>
(abartlet: Fixed compile error: return makes integer from pointer without a cast)
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
(returned to Samba by revert of
dc2d5ccd56ff8c59f3686a652ec3082069914bb4, returning the original
commit 2a22ba34cd6f28950246b54c6577c922c61f4fdb)

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Signed-off-by: Adrian Cochrane <adrianc@catalyst.net.nz>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
lib/ldb-samba/ldb_matching_rules.c [new file with mode: 0644]
lib/ldb-samba/ldb_matching_rules.h [new file with mode: 0644]
lib/ldb-samba/ldif_handlers.c
lib/ldb-samba/wscript_build