diff options
-rw-r--r-- | source4/dsdb/common/util.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/source4/dsdb/common/util.c b/source4/dsdb/common/util.c index 512230f63c..dceff3643e 100644 --- a/source4/dsdb/common/util.c +++ b/source4/dsdb/common/util.c @@ -2721,3 +2721,17 @@ int dsdb_functional_level(struct ldb_context *ldb) return *domainFunctionality; } +/* + return a GUID from a extended DN structure + */ +NTSTATUS dsdb_get_extended_dn_guid(struct ldb_dn *dn, struct GUID *guid) +{ + const struct ldb_val *v; + + v = ldb_dn_get_extended_component(dn, "GUID"); + if (v == NULL) { + return NT_STATUS_OBJECT_NAME_NOT_FOUND; + } + + return GUID_from_ndr_blob(v, guid); +} |