From 28d9dcbeabdf919506fe59e9d1cbed84fbd6e649 Mon Sep 17 00:00:00 2001 From: Simo Sorce Date: Thu, 3 Sep 2009 19:29:41 -0400 Subject: Split database in multiple files The special persistent local database retains the original name. All other backends now have their own cache-NAME.ldb file. --- server/tools/sss_usermod.c | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) (limited to 'server/tools/sss_usermod.c') diff --git a/server/tools/sss_usermod.c b/server/tools/sss_usermod.c index 1dfd2a721..b53c8706f 100644 --- a/server/tools/sss_usermod.c +++ b/server/tools/sss_usermod.c @@ -182,13 +182,13 @@ static void remove_from_groups(struct ops_ctx *data) struct ldb_dn *member_dn; struct tevent_req *req; - member_dn = sysdb_user_dn(data->ctx->sysdb, data, + member_dn = sysdb_user_dn(data->sysdb, data, data->domain->name, data->name); if (!member_dn) { return mod_user_done(data, ENOMEM); } - parent_dn = sysdb_group_dn(data->ctx->sysdb, data, + parent_dn = sysdb_group_dn(data->sysdb, data, data->domain->name, data->rmgroups[data->cur]); if (!parent_dn) { @@ -239,13 +239,13 @@ static void add_to_groups(struct ops_ctx *data) struct ldb_dn *member_dn; struct tevent_req *req; - member_dn = sysdb_user_dn(data->ctx->sysdb, data, + member_dn = sysdb_user_dn(data->sysdb, data, data->domain->name, data->name); if (!member_dn) { return mod_user_done(data, ENOMEM); } - parent_dn = sysdb_group_dn(data->ctx->sysdb, data, + parent_dn = sysdb_group_dn(data->sysdb, data, data->domain->name, data->addgroups[data->cur]); if (!parent_dn) { @@ -589,7 +589,15 @@ int main(int argc, const char **argv) "Could not add attribute to changeset\n"); } - req = sysdb_transaction_send(ctx, ctx->ev, ctx->sysdb); + ret = sysdb_get_ctx_from_list(ctx->db_list, data->domain, &data->sysdb); + if (ret != EOK) { + DEBUG(0, ("Cannot get domain database!\n")); + ERROR("Internal error accesing database\n"); + ret = EXIT_FAILURE; + goto fini; + } + + req = sysdb_transaction_send(ctx, ctx->ev, data->sysdb); if (!req) { DEBUG(1, ("Could not start transaction (%d)[%s]\n", ret, strerror(ret))); ERROR("Transaction error. Could not modify user.\n"); -- cgit