[SCM] Samba Shared Repository - branch master updated

Matthieu Patou mat at samba.org
Sat Feb 12 16:15:02 MST 2011


The branch, master has been updated
       via  a730155 pyldb: fix a bug in the unit test which prevented ldb.python to run all the tests in the testsuite
       via  f8a156d librpc: add bindings for dnsp in python
       via  17fdee0 ldb: use the sizeof of the control variable as offset instead of hardcoded values, helps to avoid bugs
       via  ad9b670 ldb: remove "magic" string in ldb_controls, replace them with constants defined in ldb.h
      from  91cad71 tdb: Fix a C++ warning

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


- Log -----------------------------------------------------------------
commit a7301556d29ce7c2e637380da00a2ee640234fcc
Author: Matthieu Patou <mat at matws.net>
Date:   Wed Feb 9 10:18:02 2011 +0300

    pyldb: fix a bug in the unit test which prevented ldb.python to run all the tests in the testsuite
    
    Autobuild-User: Matthieu Patou <mat at samba.org>
    Autobuild-Date: Sun Feb 13 00:14:24 CET 2011 on sn-devel-104

commit f8a156dbe649177b9672d364908ef3355508c690
Author: Matthieu Patou <mat at matws.net>
Date:   Sat Feb 12 23:18:29 2011 +0300

    librpc: add bindings for dnsp in python

commit 17fdee0e92e09c1e5bf6319dfddf7b014b19f314
Author: Matthieu Patou <mat at matws.net>
Date:   Tue Feb 8 02:54:09 2011 +0300

    ldb: use the sizeof of the control variable as offset instead of hardcoded values, helps to avoid bugs

commit ad9b670f47c1abd8e3d737fdc0869b463ac57e87
Author: Matthieu Patou <mat at matws.net>
Date:   Thu Feb 10 13:49:26 2011 +0300

    ldb: remove "magic" string in ldb_controls, replace them with constants defined in ldb.h
    
    Allow to have less magic value in the control code and will allow not to
    duplicate names when doing a function that marshal a control to it's
    string representation

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

Summary of changes:
 librpc/idl/wscript_build              |    7 ++-
 librpc/wscript_build                  |    5 ++
 source4/lib/ldb/common/ldb_controls.c |   95 ++++++++++++++++++---------------
 source4/lib/ldb/include/ldb.h         |   23 ++++++++
 source4/lib/ldb/tests/python/api.py   |    3 +
 source4/librpc/wscript_build          |    6 ++
 6 files changed, 94 insertions(+), 45 deletions(-)


Changeset truncated at 500 lines:

diff --git a/librpc/idl/wscript_build b/librpc/idl/wscript_build
index c8402c6..33dd4c9 100644
--- a/librpc/idl/wscript_build
+++ b/librpc/idl/wscript_build
@@ -25,6 +25,11 @@ bld.SAMBA_PIDL_LIST('PIDL',
                     output_dir='../gen_ndr')
 
 bld.SAMBA_PIDL_LIST('PIDL',
-                    'rap.idl dnsp.idl ntprinting.idl preg.idl',
+                    'rap.idl ntprinting.idl preg.idl',
                     options='--header --ndr-parser',
                     output_dir='../gen_ndr')
+
+bld.SAMBA_PIDL_LIST('PIDL',
+                    'dnsp.idl',
+                    options='--header --ndr-parser --client --python',
+                    output_dir='../gen_ndr')
diff --git a/librpc/wscript_build b/librpc/wscript_build
index c9737fb..2870388 100644
--- a/librpc/wscript_build
+++ b/librpc/wscript_build
@@ -498,6 +498,11 @@ bld.SAMBA_SUBSYSTEM('RPC_NDR_BACKUPKEY',
 	public_deps='dcerpc NDR_BACKUPKEY'
 	)
 
+bld.SAMBA_SUBSYSTEM('RPC_NDR_DNSP',
+	source='gen_ndr/ndr_dnsp_c.c',
+	public_deps='dcerpc NDR_DNSP'
+	)
+
 # a grouping library for NDR subsystems that may be used by more than one target
 bld.SAMBA_LIBRARY('ndr-samba',
 	source=[],
diff --git a/source4/lib/ldb/common/ldb_controls.c b/source4/lib/ldb/common/ldb_controls.c
index e3b2870..f3770b0 100644
--- a/source4/lib/ldb/common/ldb_controls.c
+++ b/source4/lib/ldb/common/ldb_controls.c
@@ -256,8 +256,15 @@ int ldb_request_replace_control(struct ldb_request *req, const char *oid, bool c
 	return LDB_ERR_OPERATIONS_ERROR;
 }
 
-/* Parse controls from the format used on the command line and in ejs */
+/*
+ * A little trick to allow to use constants defined in headers rather than
+ * hardwritten in the file hardwritten in the file
+ * sizeof will return the \0 char as well so it will take the place of ":" in the
+ * length of the string
+ */
+#define LDB_CONTROL_CMP(control, NAME) strncmp(control, NAME ":", sizeof(NAME))
 
+/* Parse controls from the format used on the command line and in ejs */
 struct ldb_control **ldb_parse_control_strings(struct ldb_context *ldb, TALLOC_CTX *mem_ctx, const char **control_strings)
 {
 	unsigned int i;
@@ -273,7 +280,8 @@ struct ldb_control **ldb_parse_control_strings(struct ldb_context *ldb, TALLOC_C
 	ctrl = talloc_array(mem_ctx, struct ldb_control *, i + 1);
 
 	for (i = 0; control_strings[i]; i++) {
-		if (strncmp(control_strings[i], "vlv:", 4) == 0) {
+		if (LDB_CONTROL_CMP(control_strings[i],
+					LDB_CONTROL_VLV_REQ_NAME) == 0) {
 			struct ldb_vlv_req_control *control;
 			const char *p;
 			char attr[1024];
@@ -282,7 +290,7 @@ struct ldb_control **ldb_parse_control_strings(struct ldb_context *ldb, TALLOC_C
 
 			attr[0] = '\0';
 			ctxid[0] = '\0';
-			p = &(control_strings[i][4]);
+			p = &(control_strings[i][sizeof(LDB_CONTROL_VLV_REQ_NAME)]);
 			ret = sscanf(p, "%d:%d:%d:%d:%d:%1023[^$]", &crit, &bc, &ac, &os, &cc, ctxid);
 			if (ret < 5) {
 				ret = sscanf(p, "%d:%d:%d:%1023[^:]:%1023[^$]", &crit, &bc, &ac, attr, ctxid);
@@ -330,14 +338,14 @@ struct ldb_control **ldb_parse_control_strings(struct ldb_context *ldb, TALLOC_C
 			continue;
 		}
 
-		if (strncmp(control_strings[i], "dirsync:", 8) == 0) {
+		if (LDB_CONTROL_CMP(control_strings[i], LDB_CONTROL_DIRSYNC_NAME) == 0) {
 			struct ldb_dirsync_control *control;
 			const char *p;
 			char cookie[1024];
 			int crit, flags, max_attrs, ret;
 		       
 			cookie[0] = '\0';
-			p = &(control_strings[i][8]);
+			p = &(control_strings[i][sizeof(LDB_CONTROL_DIRSYNC_NAME)]);
 			ret = sscanf(p, "%d:%d:%d:%1023[^$]", &crit, &flags, &max_attrs, cookie);
 
 			if ((ret < 3) || (crit < 0) || (crit > 1) || (flags < 0) || (max_attrs < 0)) {
@@ -374,14 +382,14 @@ struct ldb_control **ldb_parse_control_strings(struct ldb_context *ldb, TALLOC_C
 			continue;
 		}
 
-		if (strncmp(control_strings[i], "asq:", 4) == 0) {
+		if (LDB_CONTROL_CMP(control_strings[i], LDB_CONTROL_ASQ_NAME) == 0) {
 			struct ldb_asq_control *control;
 			const char *p;
 			char attr[256];
 			int crit, ret;
 
 			attr[0] = '\0';
-			p = &(control_strings[i][4]);
+			p = &(control_strings[i][sizeof(LDB_CONTROL_ASQ_NAME)]);
 			ret = sscanf(p, "%d:%255[^$]", &crit, attr);
 			if ((ret != 2) || (crit < 0) || (crit > 1) || (attr[0] == '\0')) {
 				error_string = talloc_asprintf(mem_ctx, "invalid asq control syntax\n");
@@ -408,12 +416,12 @@ struct ldb_control **ldb_parse_control_strings(struct ldb_context *ldb, TALLOC_C
 			continue;
 		}
 
-		if (strncmp(control_strings[i], "extended_dn:", 12) == 0) {
+		if (LDB_CONTROL_CMP(control_strings[i], LDB_CONTROL_EXTENDED_DN_NAME) == 0) {
 			struct ldb_extended_dn_control *control;
 			const char *p;
 			int crit, type, ret;
 
-			p = &(control_strings[i][12]);
+			p = &(control_strings[i][sizeof(LDB_CONTROL_EXTENDED_DN_NAME)]);
 			ret = sscanf(p, "%d:%d", &crit, &type);
 			if ((ret != 2) || (crit < 0) || (crit > 1) || (type < 0) || (type > 1)) {
 				ret = sscanf(p, "%d", &crit);
@@ -446,13 +454,13 @@ struct ldb_control **ldb_parse_control_strings(struct ldb_context *ldb, TALLOC_C
 			continue;
 		}
 
-		if (strncmp(control_strings[i], "sd_flags:", 9) == 0) {
+		if (LDB_CONTROL_CMP(control_strings[i], LDB_CONTROL_SD_FLAGS_NAME) == 0) {
 			struct ldb_sd_flags_control *control;
 			const char *p;
 			int crit, ret;
 			unsigned secinfo_flags;
 
-			p = &(control_strings[i][9]);
+			p = &(control_strings[i][sizeof(LDB_CONTROL_SD_FLAGS_NAME)]);
 			ret = sscanf(p, "%d:%u", &crit, &secinfo_flags);
 			if ((ret != 2) || (crit < 0) || (crit > 1) || (secinfo_flags < 0) || (secinfo_flags > 0xF)) {
 				error_string = talloc_asprintf(mem_ctx, "invalid sd_flags control syntax\n");
@@ -477,13 +485,13 @@ struct ldb_control **ldb_parse_control_strings(struct ldb_context *ldb, TALLOC_C
 			continue;
 		}
 
-		if (strncmp(control_strings[i], "search_options:", 15) == 0) {
+		if (LDB_CONTROL_CMP(control_strings[i], LDB_CONTROL_SEARCH_OPTIONS_NAME) == 0) {
 			struct ldb_search_options_control *control;
 			const char *p;
 			int crit, ret;
 			unsigned search_options;
 
-			p = &(control_strings[i][15]);
+			p = &(control_strings[i][sizeof(LDB_CONTROL_SEARCH_OPTIONS_NAME)]);
 			ret = sscanf(p, "%d:%u", &crit, &search_options);
 			if ((ret != 2) || (crit < 0) || (crit > 1) || (search_options < 0) || (search_options > 0xF)) {
 				error_string = talloc_asprintf(mem_ctx, "invalid search_options control syntax\n");
@@ -508,11 +516,11 @@ struct ldb_control **ldb_parse_control_strings(struct ldb_context *ldb, TALLOC_C
 			continue;
 		}
 
-		if (strncmp(control_strings[i], "bypassoperational:", 18) == 0) {
+		if (LDB_CONTROL_CMP(control_strings[i], LDB_CONTROL_BYPASS_OPERATIONAL_NAME) == 0) {
 			const char *p;
 			int crit, ret;
 
-			p = &(control_strings[i][18]);
+			p = &(control_strings[i][sizeof(LDB_CONTROL_BYPASS_OPERATIONAL_NAME)]);
 			ret = sscanf(p, "%d", &crit);
 			if ((ret != 1) || (crit < 0) || (crit > 1)) {
 				error_string = talloc_asprintf(mem_ctx, "invalid bypassopreational control syntax\n");
@@ -535,11 +543,11 @@ struct ldb_control **ldb_parse_control_strings(struct ldb_context *ldb, TALLOC_C
 			continue;
 		}
 
-		if (strncmp(control_strings[i], "relax:", 6) == 0) {
+		if (LDB_CONTROL_CMP(control_strings[i], LDB_CONTROL_RELAX_NAME) == 0) {
 			const char *p;
 			int crit, ret;
 
-			p = &(control_strings[i][6]);
+			p = &(control_strings[i][sizeof(LDB_CONTROL_RELAX_NAME)]);
 			ret = sscanf(p, "%d", &crit);
 			if ((ret != 1) || (crit < 0) || (crit > 1)) {
 				error_string = talloc_asprintf(mem_ctx, "invalid relax control syntax\n");
@@ -562,11 +570,11 @@ struct ldb_control **ldb_parse_control_strings(struct ldb_context *ldb, TALLOC_C
 			continue;
 		}
 
-		if (strncmp(control_strings[i], "recalculate_sd:", 15) == 0) {
+		if (LDB_CONTROL_CMP(control_strings[i], LDB_CONTROL_RECALCULATE_SD_NAME) == 0) {
 			const char *p;
 			int crit, ret;
 
-			p = &(control_strings[i][15]);
+			p = &(control_strings[i][sizeof(LDB_CONTROL_RECALCULATE_SD_NAME)]);
 			ret = sscanf(p, "%d", &crit);
 			if ((ret != 1) || (crit < 0) || (crit > 1)) {
 				error_string = talloc_asprintf(mem_ctx, "invalid recalculate_sd control syntax\n");
@@ -589,11 +597,11 @@ struct ldb_control **ldb_parse_control_strings(struct ldb_context *ldb, TALLOC_C
 			continue;
 		}
 
-		if (strncmp(control_strings[i], "domain_scope:", 13) == 0) {
+		if (LDB_CONTROL_CMP(control_strings[i], LDB_CONTROL_DOMAIN_SCOPE_NAME) == 0) {
 			const char *p;
 			int crit, ret;
 
-			p = &(control_strings[i][13]);
+			p = &(control_strings[i][sizeof(LDB_CONTROL_DOMAIN_SCOPE_NAME)]);
 			ret = sscanf(p, "%d", &crit);
 			if ((ret != 1) || (crit < 0) || (crit > 1)) {
 				error_string = talloc_asprintf(mem_ctx, "invalid domain_scope control syntax\n");
@@ -616,14 +624,13 @@ struct ldb_control **ldb_parse_control_strings(struct ldb_context *ldb, TALLOC_C
 			continue;
 		}
 
-		if (strncmp(control_strings[i], "paged_results:", 14) == 0) {
+		if (LDB_CONTROL_CMP(control_strings[i], LDB_CONTROL_PAGED_RESULTS_NAME) == 0) {
 			struct ldb_paged_control *control;
 			const char *p;
 			int crit, size, ret;
 		       
-			p = &(control_strings[i][14]);
+			p = &(control_strings[i][sizeof(LDB_CONTROL_PAGED_RESULTS_NAME)]);
 			ret = sscanf(p, "%d:%d", &crit, &size);
-
 			if ((ret != 2) || (crit < 0) || (crit > 1) || (size < 0)) {
 				error_string = talloc_asprintf(mem_ctx, "invalid paged_results control syntax\n");
 				error_string = talloc_asprintf_append(error_string, " syntax: crit(b):size(n)\n");
@@ -649,7 +656,7 @@ struct ldb_control **ldb_parse_control_strings(struct ldb_context *ldb, TALLOC_C
 			continue;
 		}
 
-		if (strncmp(control_strings[i], "server_sort:", 12) == 0) {
+		if (LDB_CONTROL_CMP(control_strings[i], LDB_CONTROL_SERVER_SORT_NAME) == 0) {
 			struct ldb_server_sort_control **control;
 			const char *p;
 			char attr[256];
@@ -658,7 +665,7 @@ struct ldb_control **ldb_parse_control_strings(struct ldb_context *ldb, TALLOC_C
 
 			attr[0] = '\0';
 			rule[0] = '\0';
-			p = &(control_strings[i][12]);
+			p = &(control_strings[i][sizeof(LDB_CONTROL_SERVER_SORT_NAME)]);
 			ret = sscanf(p, "%d:%d:%255[^:]:%127[^:]", &crit, &rev, attr, rule);
 			if ((ret < 3) || (crit < 0) || (crit > 1) || (rev < 0 ) || (rev > 1) ||attr[0] == '\0') {
 				error_string = talloc_asprintf(mem_ctx, "invalid server_sort control syntax\n");
@@ -689,11 +696,11 @@ struct ldb_control **ldb_parse_control_strings(struct ldb_context *ldb, TALLOC_C
 			continue;
 		}
 
-		if (strncmp(control_strings[i], "notification:", 13) == 0) {
+		if (LDB_CONTROL_CMP(control_strings[i], LDB_CONTROL_NOTIFICATION_NAME) == 0) {
 			const char *p;
 			int crit, ret;
 
-			p = &(control_strings[i][13]);
+			p = &(control_strings[i][sizeof(LDB_CONTROL_NOTIFICATION_NAME)]);
 			ret = sscanf(p, "%d", &crit);
 			if ((ret != 1) || (crit < 0) || (crit > 1)) {
 				error_string = talloc_asprintf(mem_ctx, "invalid notification control syntax\n");
@@ -716,11 +723,11 @@ struct ldb_control **ldb_parse_control_strings(struct ldb_context *ldb, TALLOC_C
 			continue;
 		}
 
-		if (strncmp(control_strings[i], "tree_delete:", 12) == 0) {
+		if (LDB_CONTROL_CMP(control_strings[i], LDB_CONTROL_TREE_DELETE_NAME) == 0) {
 			const char *p;
 			int crit, ret;
 
-			p = &(control_strings[i][12]);
+			p = &(control_strings[i][sizeof(LDB_CONTROL_TREE_DELETE_NAME)]);
 			ret = sscanf(p, "%d", &crit);
 			if ((ret != 1) || (crit < 0) || (crit > 1)) {
 				error_string = talloc_asprintf(mem_ctx, "invalid tree_delete control syntax\n");
@@ -743,11 +750,11 @@ struct ldb_control **ldb_parse_control_strings(struct ldb_context *ldb, TALLOC_C
 			continue;
 		}
 
-		if (strncmp(control_strings[i], "show_deleted:", 13) == 0) {
+		if (LDB_CONTROL_CMP(control_strings[i], LDB_CONTROL_SHOW_DELETED_NAME) == 0) {
 			const char *p;
 			int crit, ret;
 
-			p = &(control_strings[i][13]);
+			p = &(control_strings[i][sizeof(LDB_CONTROL_SHOW_DELETED_NAME)]);
 			ret = sscanf(p, "%d", &crit);
 			if ((ret != 1) || (crit < 0) || (crit > 1)) {
 				error_string = talloc_asprintf(mem_ctx, "invalid show_deleted control syntax\n");
@@ -770,11 +777,11 @@ struct ldb_control **ldb_parse_control_strings(struct ldb_context *ldb, TALLOC_C
 			continue;
 		}
 
-		if (strncmp(control_strings[i], "show_deactivated_link:", 22) == 0) {
+		if (LDB_CONTROL_CMP(control_strings[i], LDB_CONTROL_SHOW_DEACTIVATED_LINK_NAME) == 0) {
 			const char *p;
 			int crit, ret;
 
-			p = &(control_strings[i][22]);
+			p = &(control_strings[i][sizeof(LDB_CONTROL_SHOW_DEACTIVATED_LINK_NAME)]);
 			ret = sscanf(p, "%d", &crit);
 			if ((ret != 1) || (crit < 0) || (crit > 1)) {
 				error_string = talloc_asprintf(mem_ctx, "invalid show_deactivated_link control syntax\n");
@@ -797,11 +804,11 @@ struct ldb_control **ldb_parse_control_strings(struct ldb_context *ldb, TALLOC_C
 			continue;
 		}
 
-		if (strncmp(control_strings[i], "show_recycled:", 14) == 0) {
+		if (LDB_CONTROL_CMP(control_strings[i], LDB_CONTROL_SHOW_RECYCLED_NAME) == 0) {
 			const char *p;
 			int crit, ret;
 
-			p = &(control_strings[i][14]);
+			p = &(control_strings[i][sizeof(LDB_CONTROL_SHOW_RECYCLED_NAME)]);
 			ret = sscanf(p, "%d", &crit);
 			if ((ret != 1) || (crit < 0) || (crit > 1)) {
 				error_string = talloc_asprintf(mem_ctx, "invalid show_recycled control syntax\n");
@@ -824,11 +831,11 @@ struct ldb_control **ldb_parse_control_strings(struct ldb_context *ldb, TALLOC_C
 			continue;
 		}
 
-		if (strncmp(control_strings[i], "permissive_modify:", 18) == 0) {
+		if (LDB_CONTROL_CMP(control_strings[i], LDB_CONTROL_PERMISSIVE_MODIFY_NAME) == 0) {
 			const char *p;
 			int crit, ret;
 
-			p = &(control_strings[i][18]);
+			p = &(control_strings[i][sizeof(LDB_CONTROL_PERMISSIVE_MODIFY_NAME)]);
 			ret = sscanf(p, "%d", &crit);
 			if ((ret != 1) || (crit < 0) || (crit > 1)) {
 				error_string = talloc_asprintf(mem_ctx, "invalid permissive_modify control syntax\n");
@@ -851,11 +858,11 @@ struct ldb_control **ldb_parse_control_strings(struct ldb_context *ldb, TALLOC_C
 			continue;
 		}
 
-		if (strncmp(control_strings[i], "reveal_internals:", 17) == 0) {
+		if (LDB_CONTROL_CMP(control_strings[i], LDB_CONTROL_REVEAL_INTERNALS_NAME) == 0) {
 			const char *p;
 			int crit, ret;
 
-			p = &(control_strings[i][17]);
+			p = &(control_strings[i][sizeof(LDB_CONTROL_REVEAL_INTERNALS_NAME)]);
 			ret = sscanf(p, "%d", &crit);
 			if ((ret != 1) || (crit < 0) || (crit > 1)) {
 				error_string = talloc_asprintf(mem_ctx, "invalid reveal_internals control syntax\n");
@@ -912,11 +919,11 @@ struct ldb_control **ldb_parse_control_strings(struct ldb_context *ldb, TALLOC_C
 			continue;
 		}
 
-		if (strncmp(control_strings[i], "rodc_join:", 10) == 0) {
+		if (LDB_CONTROL_CMP(control_strings[i], LDB_CONTROL_RODC_DCPROMO_NAME) == 0) {
 			const char *p;
 			int crit, ret;
 
-			p = &(control_strings[i][10]);
+			p = &(control_strings[i][sizeof(LDB_CONTROL_RODC_DCPROMO_NAME)]);
 			ret = sscanf(p, "%d", &crit);
 			if ((ret != 1) || (crit < 0) || (crit > 1)) {
 				error_string = talloc_asprintf(mem_ctx, "invalid rodc_join control syntax\n");
@@ -939,11 +946,11 @@ struct ldb_control **ldb_parse_control_strings(struct ldb_context *ldb, TALLOC_C
 			continue;
 		}
 
-		if (strncmp(control_strings[i], "provision:", 10) == 0) {
+		if (LDB_CONTROL_CMP(control_strings[i], LDB_CONTROL_PROVISION_NAME) == 0) {
 			const char *p;
 			int crit, ret;
 
-			p = &(control_strings[i][10]);
+			p = &(control_strings[i][sizeof(LDB_CONTROL_PROVISION_NAME)]);
 			ret = sscanf(p, "%d", &crit);
 			if ((ret != 1) || (crit < 0) || (crit > 1)) {
 				error_string = talloc_asprintf(mem_ctx, "invalid provision control syntax\n");
diff --git a/source4/lib/ldb/include/ldb.h b/source4/lib/ldb/include/ldb.h
index ff0ebe7..b52921f 100644
--- a/source4/lib/ldb/include/ldb.h
+++ b/source4/lib/ldb/include/ldb.h
@@ -489,6 +489,7 @@ typedef int (*ldb_qsort_cmp_fn_t) (void *v1, void *v2, void *opaque);
   and that are now calculated.
 */
 #define LDB_CONTROL_BYPASS_OPERATIONAL_OID "1.3.6.1.4.1.7165.4.3.13"
+#define LDB_CONTROL_BYPASS_OPERATIONAL_NAME "bypassoperational"
 
 /**
   OID for recalculate SD control. This control force the
@@ -497,12 +498,14 @@ typedef int (*ldb_qsort_cmp_fn_t) (void *v1, void *v2, void *opaque);
 
 */
 #define LDB_CONTROL_RECALCULATE_SD_OID "1.3.6.1.4.1.7165.4.3.5"
+#define LDB_CONTROL_RECALCULATE_SD_NAME "recalculate_sd"
 
 /**
    REVEAL_INTERNALS is used to reveal internal attributes and DN
    components which are not normally shown to the user
 */
 #define LDB_CONTROL_REVEAL_INTERNALS "1.3.6.1.4.1.7165.4.3.6"
+#define LDB_CONTROL_REVEAL_INTERNALS_NAME	"reveal_internals"
 
 /**
    LDB_CONTROL_AS_SYSTEM is used to skip access checks on operations
@@ -516,6 +519,7 @@ typedef int (*ldb_qsort_cmp_fn_t) (void *v1, void *v2, void *opaque);
    mainly thought to be used for the provisioning.
 */
 #define LDB_CONTROL_PROVISION_OID "1.3.6.1.4.1.7165.4.3.16"
+#define LDB_CONTROL_PROVISION_NAME	"provision"
 
 /* AD controls */
 
@@ -528,6 +532,7 @@ typedef int (*ldb_qsort_cmp_fn_t) (void *v1, void *v2, void *opaque);
    \sa <a href="http://www.ietf.org/rfc/rfc2696.txt">RFC 2696</a>.
 */
 #define LDB_CONTROL_PAGED_RESULTS_OID	"1.2.840.113556.1.4.319"
+#define LDB_CONTROL_PAGED_RESULTS_NAME	"paged_result"
 
 /**
    OID for specifying the returned elements of the ntSecurityDescriptor
@@ -535,6 +540,7 @@ typedef int (*ldb_qsort_cmp_fn_t) (void *v1, void *v2, void *opaque);
    \sa <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ldap/ldap/ldap_server_sd_flags_oid.asp">Microsoft documentation of this OID</a>
 */
 #define LDB_CONTROL_SD_FLAGS_OID	"1.2.840.113556.1.4.801"
+#define LDB_CONTROL_SD_FLAGS_NAME	"sd_flags"
 
 /**
    OID for specifying an advanced scope for the search (one partition)
@@ -542,6 +548,7 @@ typedef int (*ldb_qsort_cmp_fn_t) (void *v1, void *v2, void *opaque);
    \sa <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ldap/ldap/ldap_server_domain_scope_oid.asp">Microsoft documentation of this OID</a>
 */
 #define LDB_CONTROL_DOMAIN_SCOPE_OID	"1.2.840.113556.1.4.1339"
+#define LDB_CONTROL_DOMAIN_SCOPE_NAME	"domain_scope"
 
 /**
    OID for specifying an advanced scope for a search
@@ -549,6 +556,7 @@ typedef int (*ldb_qsort_cmp_fn_t) (void *v1, void *v2, void *opaque);
    \sa <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ldap/ldap/ldap_server_search_options_oid.asp">Microsoft documentation of this OID</a>
 */
 #define LDB_CONTROL_SEARCH_OPTIONS_OID	"1.2.840.113556.1.4.1340"
+#define LDB_CONTROL_SEARCH_OPTIONS_NAME	"search_options"
 
 /**
    OID for notification
@@ -556,6 +564,7 @@ typedef int (*ldb_qsort_cmp_fn_t) (void *v1, void *v2, void *opaque);
    \sa <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ldap/ldap/ldap_server_notification_oid.asp">Microsoft documentation of this OID</a>
 */
 #define LDB_CONTROL_NOTIFICATION_OID	"1.2.840.113556.1.4.528"
+#define LDB_CONTROL_NOTIFICATION_NAME	"notification"
 
 /**
    OID for performing subtree deletes
@@ -563,6 +572,7 @@ typedef int (*ldb_qsort_cmp_fn_t) (void *v1, void *v2, void *opaque);
    \sa <a href="http://msdn.microsoft.com/en-us/library/aa366991(v=VS.85).aspx">Microsoft documentation of this OID</a>
 */
 #define LDB_CONTROL_TREE_DELETE_OID	"1.2.840.113556.1.4.805"
+#define LDB_CONTROL_TREE_DELETE_NAME	"tree_delete"
 
 /**
    OID for getting deleted objects
@@ -570,6 +580,7 @@ typedef int (*ldb_qsort_cmp_fn_t) (void *v1, void *v2, void *opaque);
    \sa <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ldap/ldap/ldap_server_show_deleted_oid.asp">Microsoft documentation of this OID</a>
 */
 #define LDB_CONTROL_SHOW_DELETED_OID	"1.2.840.113556.1.4.417"
+#define LDB_CONTROL_SHOW_DELETED_NAME	"show_deleted"
 
 /**
    OID for getting recycled objects
@@ -577,6 +588,7 @@ typedef int (*ldb_qsort_cmp_fn_t) (void *v1, void *v2, void *opaque);
    \sa <a href="http://msdn.microsoft.com/en-us/library/dd304621(PROT.13).aspx">Microsoft documentation of this OID</a>
 */
 #define LDB_CONTROL_SHOW_RECYCLED_OID         "1.2.840.113556.1.4.2064"
+#define LDB_CONTROL_SHOW_RECYCLED_NAME	"show_recycled"
 
 /**
    OID for getting deactivated linked attributes
@@ -584,6 +596,7 @@ typedef int (*ldb_qsort_cmp_fn_t) (void *v1, void *v2, void *opaque);
    \sa <a href="http://msdn.microsoft.com/en-us/library/dd302781(PROT.13).aspx">Microsoft documentation of this OID</a>
 */
 #define LDB_CONTROL_SHOW_DEACTIVATED_LINK_OID "1.2.840.113556.1.4.2065"
+#define LDB_CONTROL_SHOW_DEACTIVATED_LINK_NAME	"show_deactivated_link"
 
 /**
    OID for extended DN
@@ -591,6 +604,7 @@ typedef int (*ldb_qsort_cmp_fn_t) (void *v1, void *v2, void *opaque);
    \sa <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ldap/ldap/ldap_server_extended_dn_oid.asp">Microsoft documentation of this OID</a>
 */
 #define LDB_CONTROL_EXTENDED_DN_OID	"1.2.840.113556.1.4.529"
+#define LDB_CONTROL_EXTENDED_DN_NAME	"extended_dn"
 
 /**
    OID for LDAP server sort result extension.
@@ -605,6 +619,7 @@ typedef int (*ldb_qsort_cmp_fn_t) (void *v1, void *v2, void *opaque);
    \sa <a href="http://www.ietf.org/rfc/rfc2891.txt">RFC 2891</a>.
 */
 #define LDB_CONTROL_SERVER_SORT_OID	"1.2.840.113556.1.4.473"
+#define LDB_CONTROL_SERVER_SORT_NAME	"server_sort"
 
 /**
    OID for LDAP server sort result response extension.
@@ -616,6 +631,7 @@ typedef int (*ldb_qsort_cmp_fn_t) (void *v1, void *v2, void *opaque);
    \sa <a href="http://www.ietf.org/rfc/rfc2891.txt">RFC 2891</a>.
 */
 #define LDB_CONTROL_SORT_RESP_OID	"1.2.840.113556.1.4.474"
+#define LDB_CONTROL_SORT_RESP_NAME	"server_sort_resp"
 


-- 
Samba Shared Repository


More information about the samba-cvs mailing list