mirror of
https://github.com/samba-team/samba.git
synced 2025-02-04 17:47:26 +03:00
added new function "ldb_msg_add_dn"
a helper function to a DN element to an ldb_msg using ldb_msg_add_string. Signed-off-by: Andrew Tridgell <tridge@samba.org>
This commit is contained in:
parent
f3f0c8e2ce
commit
1169dd3b50
@ -377,8 +377,9 @@ static int extended_callback(struct ldb_request *req, struct ldb_reply *ares,
|
||||
ret = ldb_msg_add_steal_string(ares->message, "distinguishedName",
|
||||
ldb_dn_get_extended_linearized(ares->message, ares->message->dn, ac->extended_type));
|
||||
} else {
|
||||
ret = ldb_msg_add_string(ares->message, "distinguishedName",
|
||||
ldb_dn_get_linearized(ares->message->dn));
|
||||
ret = ldb_msg_add_dn(ares->message,
|
||||
"distinguishedName",
|
||||
ares->message->dn);
|
||||
}
|
||||
if (ret != LDB_SUCCESS) {
|
||||
ldb_oom(ldb);
|
||||
|
@ -258,6 +258,15 @@ int ldb_msg_add_steal_string(struct ldb_message *msg,
|
||||
return ldb_msg_add_steal_value(msg, attr_name, &val);
|
||||
}
|
||||
|
||||
/*
|
||||
add a DN element to a message
|
||||
*/
|
||||
int ldb_msg_add_dn(struct ldb_message *msg, const char *attr_name,
|
||||
struct ldb_dn *dn)
|
||||
{
|
||||
return ldb_msg_add_string(msg, attr_name, ldb_dn_get_linearized(dn));
|
||||
}
|
||||
|
||||
/*
|
||||
add a printf formatted element to a message
|
||||
*/
|
||||
|
@ -1752,6 +1752,8 @@ int ldb_msg_add_steal_string(struct ldb_message *msg,
|
||||
const char *attr_name, char *str);
|
||||
int ldb_msg_add_string(struct ldb_message *msg,
|
||||
const char *attr_name, const char *str);
|
||||
int ldb_msg_add_dn(struct ldb_message *msg, const char *attr_name,
|
||||
struct ldb_dn *dn);
|
||||
int ldb_msg_add_fmt(struct ldb_message *msg,
|
||||
const char *attr_name, const char *fmt, ...) PRINTF_ATTRIBUTE(3,4);
|
||||
|
||||
|
@ -362,7 +362,6 @@ int map_add(struct ldb_module *module, struct ldb_request *req)
|
||||
struct ldb_context *ldb;
|
||||
struct map_context *ac;
|
||||
struct ldb_message *remote_msg;
|
||||
const char *dn;
|
||||
int ret;
|
||||
|
||||
ldb = ldb_module_get_ctx(module);
|
||||
@ -426,8 +425,7 @@ int map_add(struct ldb_module *module, struct ldb_request *req)
|
||||
|
||||
/* Store remote DN in 'IS_MAPPED' */
|
||||
/* TODO: use GUIDs here instead */
|
||||
dn = ldb_dn_alloc_linearized(ac->local_msg, remote_msg->dn);
|
||||
if (ldb_msg_add_string(ac->local_msg, IS_MAPPED, dn) != 0) {
|
||||
if (ldb_msg_add_dn(ac->local_msg, IS_MAPPED, remote_msg->dn) != 0) {
|
||||
return LDB_ERR_OPERATIONS_ERROR;
|
||||
}
|
||||
|
||||
@ -545,7 +543,6 @@ static int map_modify_do_local(struct map_context *ac)
|
||||
{
|
||||
struct ldb_request *local_req;
|
||||
struct ldb_context *ldb;
|
||||
char *dn;
|
||||
int ret;
|
||||
|
||||
ldb = ldb_module_get_ctx(ac->module);
|
||||
@ -558,9 +555,8 @@ static int map_modify_do_local(struct map_context *ac)
|
||||
LDB_FLAG_MOD_ADD, NULL) != 0) {
|
||||
return LDB_ERR_OPERATIONS_ERROR;
|
||||
}
|
||||
dn = ldb_dn_alloc_linearized(ac->local_msg,
|
||||
ac->remote_req->op.mod.message->dn);
|
||||
if (ldb_msg_add_string(ac->local_msg, IS_MAPPED, dn) != 0) {
|
||||
if (ldb_msg_add_dn(ac->local_msg, IS_MAPPED,
|
||||
ac->remote_req->op.mod.message->dn) != 0) {
|
||||
return LDB_ERR_OPERATIONS_ERROR;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user