s4:dsdb: split extended_dn into extended_dn_in, extended_dn_out and extended_dn_store.
commit1f28541a241d2dc4c5460344f817d56182a672ce
authorAndrew Bartlett <abartlet@samba.org>
Tue, 16 Dec 2008 08:21:55 +0000 (16 09:21 +0100)
committerAndrew Bartlett <abartlet@samba.org>
Wed, 17 Dec 2008 01:29:28 +0000 (17 12:29 +1100)
tree33dcbea037d3183dd87d3e9410061fbeb00e8a13
parent911cf5d62569e77e9f490f28e776b5b47c81e05b
s4:dsdb: split extended_dn into extended_dn_in, extended_dn_out and extended_dn_store.

By splitting the module, the extended_dn_in and extended_dn_store
moudles can use extended_dn_out to actually get the extended DN.  This
avoids code duplication.

The extended_dn_out module also contains a client implementation of
the OpenLDAP dereference control (draft-masarati-ldap-deref-00).

This also introduces a new control
'DSDB_CONTROL_DN_STORAGE_FORMAT_OID' to ask the extended_dn_out module
to return whatever the 'storage format' is.  This allows us to work
with both OpenLDAP (which performs a dereference at run time) and LDB
(which stores the GUID and SID on disk).

Signed-off-by: Stefan Metzmacher <metze@samba.org>
source4/dsdb/samdb/ldb_modules/config.mk
source4/dsdb/samdb/ldb_modules/extended_dn.c [deleted file]
source4/dsdb/samdb/ldb_modules/extended_dn_in.c [new file with mode: 0644]
source4/dsdb/samdb/ldb_modules/extended_dn_out.c [new file with mode: 0644]
source4/dsdb/samdb/ldb_modules/extended_dn_store.c [new file with mode: 0644]
source4/dsdb/samdb/samdb.h
source4/scripting/python/samba/provision.py