s4-dsdb: added dsdb_set_extended_dn_guid()
authorAndrew Tridgell <tridge@samba.org>
Tue, 29 Dec 2009 23:52:14 +0000 (10:52 +1100)
committerAndrew Tridgell <tridge@samba.org>
Fri, 1 Jan 2010 21:16:55 +0000 (08:16 +1100)
source4/dsdb/common/util.c

index ef47079f9f739c8ca48dc9056bb4d688ea191957..25d915d0bc39878eec6da5ba9054267c79ac72cb 100644 (file)
@@ -2794,6 +2794,25 @@ int dsdb_functional_level(struct ldb_context *ldb)
        return *domainFunctionality;
 }
 
+/*
+  set a GUID in an extended DN structure
+ */
+int dsdb_set_extended_dn_guid(struct ldb_dn *dn, const struct GUID *guid, const char *component_name)
+{
+       struct ldb_val v;
+       NTSTATUS status;
+       int ret;
+
+       status = GUID_to_ndr_blob(guid, dn, &v);
+       if (!NT_STATUS_IS_OK(status)) {
+               return LDB_ERR_INVALID_ATTRIBUTE_SYNTAX;
+       }
+
+       ret = ldb_dn_set_extended_component(dn, component_name, &v);
+       data_blob_free(&v);
+       return ret;
+}
+
 /*
   return a GUID from a extended DN structure
  */