Author: abartlet Date: 2007-12-04 03:37:41 +0000 (Tue, 04 Dec 2007) New Revision: 26282
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=26282 Log: These modules expect errors, but if we don't wipe the error string, we get phony error strings at the caller, which is very confusing. Andrew Bartlett Modified: branches/SAMBA_4_0/source/dsdb/samdb/ldb_modules/objectclass.c branches/SAMBA_4_0/source/dsdb/samdb/ldb_modules/subtree_delete.c Changeset: Modified: branches/SAMBA_4_0/source/dsdb/samdb/ldb_modules/objectclass.c =================================================================== --- branches/SAMBA_4_0/source/dsdb/samdb/ldb_modules/objectclass.c 2007-12-04 03:13:12 UTC (rev 26281) +++ branches/SAMBA_4_0/source/dsdb/samdb/ldb_modules/objectclass.c 2007-12-04 03:37:41 UTC (rev 26282) @@ -453,6 +453,9 @@ if (ac->search_res == NULL) { if (ldb_dn_compare(ldb_get_root_basedn(ac->module->ldb), ac->orig_req->op.add.message->dn) == 0) { /* Allow the tree to be started */ + + /* but don't keep any error string, it's meaningless */ + ldb_set_errstring(ac->module->ldb, NULL); } else { ldb_asprintf_errstring(ac->module->ldb, "objectclass: Cannot add %s, parent does not exist!", ldb_dn_get_linearized(ac->orig_req->op.add.message->dn)); Modified: branches/SAMBA_4_0/source/dsdb/samdb/ldb_modules/subtree_delete.c =================================================================== --- branches/SAMBA_4_0/source/dsdb/samdb/ldb_modules/subtree_delete.c 2007-12-04 03:13:12 UTC (rev 26281) +++ branches/SAMBA_4_0/source/dsdb/samdb/ldb_modules/subtree_delete.c 2007-12-04 03:37:41 UTC (rev 26282) @@ -89,6 +89,10 @@ } *req = *ac->orig_req; + /* Ensure any (io) errors during the search for + * children don't propgate back in the error string */ + ldb_set_errstr(ac->module->ldb, NULL); + ac->down_req = req; ac->step = SD_DO_DEL; return ldb_next_request(ac->module, req);