diff options
author | Simo Sorce <idra@samba.org> | 2006-08-12 15:20:06 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 14:15:30 -0500 |
commit | 39018ab9022d8bd2cc58a52cf4834c5ce7c5455f (patch) | |
tree | 28543f4a6e8030080fe6990265a9c819847ceafa /source4/lib/ldb | |
parent | 6e4940cf791c1a8009216a92b398e49250e71a53 (diff) | |
download | samba-39018ab9022d8bd2cc58a52cf4834c5ce7c5455f.tar.gz samba-39018ab9022d8bd2cc58a52cf4834c5ce7c5455f.tar.bz2 samba-39018ab9022d8bd2cc58a52cf4834c5ce7c5455f.zip |
r17503: Add a useful function to search for a DN
(This used to be commit 8c6efd7b55e4ad45e1bd10519a1b91285a4e0347)
Diffstat (limited to 'source4/lib/ldb')
-rw-r--r-- | source4/lib/ldb/common/ldb_msg.c | 13 | ||||
-rw-r--r-- | source4/lib/ldb/include/ldb.h | 4 |
2 files changed, 17 insertions, 0 deletions
diff --git a/source4/lib/ldb/common/ldb_msg.c b/source4/lib/ldb/common/ldb_msg.c index 254775cfbc..2fe9e39e68 100644 --- a/source4/lib/ldb/common/ldb_msg.c +++ b/source4/lib/ldb/common/ldb_msg.c @@ -377,6 +377,19 @@ const char *ldb_msg_find_string(const struct ldb_message *msg, return (const char *)v->data; } +struct ldb_dn *ldb_msg_find_dn(void *mem_ctx, + const struct ldb_message *msg, + const char *attr_name) +{ + const struct ldb_val *v; + + v = ldb_msg_find_ldb_val(msg, attr_name); + if (!v || !v->data) { + return NULL; + } + return ldb_dn_explode(mem_ctx, (const char *)v->data); +} + /* sort the elements of a message by name */ diff --git a/source4/lib/ldb/include/ldb.h b/source4/lib/ldb/include/ldb.h index 5a49ae357f..e560068d0c 100644 --- a/source4/lib/ldb/include/ldb.h +++ b/source4/lib/ldb/include/ldb.h @@ -1269,6 +1269,10 @@ const char *ldb_msg_find_string(const struct ldb_message *msg, const char *attr_name, const char *default_value); +struct ldb_dn *ldb_msg_find_dn(void *mem_ctx, + const struct ldb_message *msg, + const char *attr_name); + void ldb_msg_sort_elements(struct ldb_message *msg); struct ldb_message *ldb_msg_copy_shallow(void *mem_ctx, |