s4-dsdb: allow the component name to be specified in dsdb_get_extended_dn_guid()
authorAndrew Tridgell <tridge@samba.org>
Fri, 18 Dec 2009 09:51:37 +0000 (20:51 +1100)
committerAndrew Tridgell <tridge@samba.org>
Fri, 1 Jan 2010 21:16:50 +0000 (08:16 +1100)
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>

source4/dsdb/common/util.c
source4/dsdb/schema/schema_syntax.c

index 561edff94c48077bb201c58da1ff7bcb6d6ffc17..528c68b85660ff867f305b3657093458f2072444 100644 (file)
@@ -2797,11 +2797,11 @@ int dsdb_functional_level(struct ldb_context *ldb)
 /*
   return a GUID from a extended DN structure
  */
-NTSTATUS dsdb_get_extended_dn_guid(struct ldb_dn *dn, struct GUID *guid)
+NTSTATUS dsdb_get_extended_dn_guid(struct ldb_dn *dn, struct GUID *guid, const char *component_name)
 {
        const struct ldb_val *v;
 
-       v = ldb_dn_get_extended_component(dn, "GUID");
+       v = ldb_dn_get_extended_component(dn, component_name);
        if (v == NULL) {
                return NT_STATUS_OBJECT_NAME_NOT_FOUND;
        }
index 1989db069942b0ef9bcd5457ab39351558cfd703..e958605707dfa75a7d98c3bc68a5780293afff11 100644 (file)
@@ -1183,7 +1183,7 @@ static WERROR dsdb_syntax_DN_ldb_to_drsuapi(struct ldb_context *ldb,
 
                ZERO_STRUCT(id3);
 
-               status = dsdb_get_extended_dn_guid(dn, &id3.guid);
+               status = dsdb_get_extended_dn_guid(dn, &id3.guid, "GUID");
                if (!NT_STATUS_IS_OK(status) &&
                    !NT_STATUS_EQUAL(status, NT_STATUS_OBJECT_NAME_NOT_FOUND)) {
                        talloc_free(tmp_ctx);
@@ -1367,7 +1367,7 @@ static WERROR dsdb_syntax_DN_BINARY_ldb_to_drsuapi(struct ldb_context *ldb,
 
                ZERO_STRUCT(id3);
 
-               status = dsdb_get_extended_dn_guid(dsdb_dn->dn, &id3.guid);
+               status = dsdb_get_extended_dn_guid(dsdb_dn->dn, &id3.guid, "GUID");
                if (!NT_STATUS_IS_OK(status) &&
                    !NT_STATUS_EQUAL(status, NT_STATUS_OBJECT_NAME_NOT_FOUND)) {
                        talloc_free(tmp_ctx);