[SCM] Samba Shared Repository - branch master updated

Garming Sam garming at samba.org
Wed Feb 22 03:24:02 UTC 2017


The branch, master has been updated
       via  bed19f3 ldbedit: Prevent the use of the reveal internals control
      from  16ea6e1 talloc: fix TALLOC_VERSION_* mismatch detection

https://git.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit bed19f3744a4193bed1ea99debfb6263feb78b6c
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Mon Jan 30 11:08:07 2017 +1300

    ldbedit: Prevent the use of the reveal internals control
    
    This is almost certainly not what you want to do. Providing the output of reveal as the input of modify
    will necessarily revivify all dead linked attributes (regardless of --extended-dn or not).
    
    This is extremely unexpected behaviour, so we prevent this from happening.
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=12596
    
    Autobuild-User(master): Garming Sam <garming at samba.org>
    Autobuild-Date(master): Wed Feb 22 04:23:05 CET 2017 on sn-devel-144

-----------------------------------------------------------------------

Summary of changes:
 lib/ldb/tools/ldbedit.c | 10 ++++++++++
 1 file changed, 10 insertions(+)


Changeset truncated at 500 lines:

diff --git a/lib/ldb/tools/ldbedit.c b/lib/ldb/tools/ldbedit.c
index cf4ab3f..5b83783 100644
--- a/lib/ldb/tools/ldbedit.c
+++ b/lib/ldb/tools/ldbedit.c
@@ -320,6 +320,7 @@ int main(int argc, const char **argv)
 	const char * const * attrs = NULL;
 	TALLOC_CTX *mem_ctx = talloc_new(NULL);
 	struct ldb_control **req_ctrls;
+	unsigned int i;
 
 	ldb = ldb_init(mem_ctx, NULL);
 	if (ldb == NULL) {
@@ -347,6 +348,15 @@ int main(int argc, const char **argv)
 		}
 	}
 
+	for (i = 0; options->controls != NULL && options->controls[i] != NULL; i++) {
+		if (strncmp(options->controls[i], "reveal_internals:", 17) == 0) {
+			printf("Using reveal internals has unintended consequences.\n");
+			printf("If this is your intent, manually perform the search,"
+			       " and use ldbmodify directly.\n");
+			return LDB_ERR_OPERATIONS_ERROR;
+		}
+	}
+
 	req_ctrls = ldb_parse_control_strings(ldb, ldb, (const char **)options->controls);
 	if (options->controls != NULL &&  req_ctrls== NULL) {
 		printf("parsing controls failed: %s\n", ldb_errstring(ldb));


-- 
Samba Shared Repository



More information about the samba-cvs mailing list