diff options
author | Simo Sorce <ssorce@redhat.com> | 2009-09-03 19:29:41 -0400 |
---|---|---|
committer | Stephen Gallagher <sgallagh@redhat.com> | 2009-09-08 15:10:50 -0400 |
commit | 28d9dcbeabdf919506fe59e9d1cbed84fbd6e649 (patch) | |
tree | 3d5d878b1adc0ec8af94a52359d219689c763bd8 /server/tools/sss_usermod.c | |
parent | aef967dc115c64f0288b8ecc3ff1d927aa42af70 (diff) | |
download | sssd-28d9dcbeabdf919506fe59e9d1cbed84fbd6e649.tar.gz sssd-28d9dcbeabdf919506fe59e9d1cbed84fbd6e649.tar.xz sssd-28d9dcbeabdf919506fe59e9d1cbed84fbd6e649.zip |
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.
Diffstat (limited to 'server/tools/sss_usermod.c')
-rw-r--r-- | server/tools/sss_usermod.c | 18 |
1 files changed, 13 insertions, 5 deletions
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"); |