diff options
author | Andrew Bartlett <abartlet@samba.org> | 2010-03-22 15:17:58 +1100 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2010-03-22 20:24:40 +1100 |
commit | fc5a507a86f37aecb6702d8c2c3bdc462e49f9fd (patch) | |
tree | 49b35c16cf6459e8684c4446cb609bbad1bb78d1 /source4/dsdb/samdb/ldb_modules/extended_dn_out.c | |
parent | 8195832c6cde7ebb2de5543be76979a111bd5712 (diff) | |
download | samba-fc5a507a86f37aecb6702d8c2c3bdc462e49f9fd.tar.gz samba-fc5a507a86f37aecb6702d8c2c3bdc462e49f9fd.tar.bz2 samba-fc5a507a86f37aecb6702d8c2c3bdc462e49f9fd.zip |
s4:dsdb Don't load the schema unconditionally
Schema loads now come at a price, so avoid doing them if we don't have
to (such as when doing an @REPLCHANGED or other special DN based
search).
Andrew Bartlett
Diffstat (limited to 'source4/dsdb/samdb/ldb_modules/extended_dn_out.c')
-rw-r--r-- | source4/dsdb/samdb/ldb_modules/extended_dn_out.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/source4/dsdb/samdb/ldb_modules/extended_dn_out.c b/source4/dsdb/samdb/ldb_modules/extended_dn_out.c index b5f4567e5f..b0d618ab83 100644 --- a/source4/dsdb/samdb/ldb_modules/extended_dn_out.c +++ b/source4/dsdb/samdb/ldb_modules/extended_dn_out.c @@ -564,6 +564,11 @@ static int extended_dn_out_search(struct ldb_module *module, struct ldb_request struct extended_dn_out_private *p = talloc_get_type(ldb_module_get_private(module), struct extended_dn_out_private); + /* The schema manipulation does not apply to special DNs */ + if (ldb_dn_is_special(req->op.search.base)) { + return ldb_next_request(module, req); + } + /* check if there's an extended dn control */ control = ldb_request_get_control(req, LDB_CONTROL_EXTENDED_DN_OID); if (control && control->data) { |