]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
ldb: Split out ldb_val_as_dn() helper function
authorJoseph Sutton <josephsutton@catalyst.net.nz>
Thu, 2 Mar 2023 20:17:39 +0000 (09:17 +1300)
committerAndrew Bartlett <abartlet@samba.org>
Fri, 31 Mar 2023 08:29:32 +0000 (08:29 +0000)
Signed-off-by: Joseph Sutton <josephsutton@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
lib/ldb/ABI/ldb-2.8.0.sigs
lib/ldb/common/ldb_msg.c
lib/ldb/include/ldb_module.h

index 40388d9e330d058a20bfe9bb7322763992368d14..35a07c3e2dc2f03bc7593aa2ab0cefdc26ff83cc 100644 (file)
@@ -280,6 +280,7 @@ ldb_transaction_start: int (struct ldb_context *)
 ldb_unpack_data: int (struct ldb_context *, const struct ldb_val *, struct ldb_message *)
 ldb_unpack_data_flags: int (struct ldb_context *, const struct ldb_val *, struct ldb_message *, unsigned int)
 ldb_unpack_get_format: int (const struct ldb_val *, uint32_t *)
+ldb_val_as_dn: struct ldb_dn *(struct ldb_context *, TALLOC_CTX *, const struct ldb_val *)
 ldb_val_dup: struct ldb_val (TALLOC_CTX *, const struct ldb_val *)
 ldb_val_equal_exact: int (const struct ldb_val *, const struct ldb_val *)
 ldb_val_map_local: struct ldb_val (struct ldb_module *, void *, const struct ldb_map_attribute *, const struct ldb_val *)
index 4146de185d707b738cdcdd1a55021d3542041c25..cd22e5a58d961a2570587e65c3369860be80e041 100644 (file)
@@ -1001,11 +1001,17 @@ struct ldb_dn *ldb_msg_find_attr_as_dn(struct ldb_context *ldb,
                                       TALLOC_CTX *mem_ctx,
                                       const struct ldb_message *msg,
                                       const char *attr_name)
+{
+       const struct ldb_val *v = ldb_msg_find_ldb_val(msg, attr_name);
+       return ldb_val_as_dn(ldb, mem_ctx, v);
+}
+
+struct ldb_dn *ldb_val_as_dn(struct ldb_context *ldb,
+                            TALLOC_CTX *mem_ctx,
+                            const struct ldb_val *v)
 {
        struct ldb_dn *res_dn;
-       const struct ldb_val *v;
 
-       v = ldb_msg_find_ldb_val(msg, attr_name);
        if (!v || !v->data) {
                return NULL;
        }
index 4c7c85a17f0056fca5967670c88f18846692e5cd..a37f308b202f55fdaf3ef7ceacd1261ca1c918cd 100644 (file)
@@ -598,4 +598,9 @@ void ldb_handle_use_global_event_context(struct ldb_handle *handle);
  *
  */
 const char **ldb_options_get(struct ldb_context *ldb);
+
+struct ldb_dn *ldb_val_as_dn(struct ldb_context *ldb,
+                            TALLOC_CTX *mem_ctx,
+                            const struct ldb_val *v);
+
 #endif