diff options
-rw-r--r-- | server/db/sysdb.h | 19 | ||||
-rw-r--r-- | server/db/sysdb_ops.c | 40 | ||||
-rw-r--r-- | server/providers/proxy.c | 20 | ||||
-rw-r--r-- | server/tests/sysdb-tests.c | 5 |
4 files changed, 30 insertions, 54 deletions
diff --git a/server/db/sysdb.h b/server/db/sysdb.h index 70231f882..2f01ea685 100644 --- a/server/db/sysdb.h +++ b/server/db/sysdb.h @@ -449,29 +449,18 @@ struct tevent_req *sysdb_store_user_send(TALLOC_CTX *mem_ctx, uid_t uid, gid_t gid, const char *gecos, const char *homedir, - const char *shell); + const char *shell, + struct sysdb_attrs *attrs); int sysdb_store_user_recv(struct tevent_req *req); -struct tevent_req *sysdb_store_user_with_attrs_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct sysdb_handle *handle, - struct sss_domain_info *domain, - const char *name, - const char *pwd, - uid_t uid, gid_t gid, - const char *gecos, - const char *homedir, - const char *shell, - struct sysdb_attrs *attrs); -int sysdb_store_user_with_attrs_recv(struct tevent_req *req); - struct tevent_req *sysdb_store_group_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev, struct sysdb_handle *handle, struct sss_domain_info *domain, const char *name, gid_t gid, - const char **members); + const char **members, + struct sysdb_attrs *attrs); int sysdb_store_group_recv(struct tevent_req *req); struct tevent_req *sysdb_add_group_member_send(TALLOC_CTX *mem_ctx, diff --git a/server/db/sysdb_ops.c b/server/db/sysdb_ops.c index a36b22fb5..57705275b 100644 --- a/server/db/sysdb_ops.c +++ b/server/db/sysdb_ops.c @@ -2563,24 +2563,8 @@ struct tevent_req *sysdb_store_user_send(TALLOC_CTX *mem_ctx, uid_t uid, gid_t gid, const char *gecos, const char *homedir, - const char *shell) -{ - return sysdb_store_user_with_attrs_send(mem_ctx, ev, handle, domain, - name, pwd, uid, gid, gecos, - homedir, shell, NULL); -} - -struct tevent_req *sysdb_store_user_with_attrs_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct sysdb_handle *handle, - struct sss_domain_info *domain, - const char *name, - const char *pwd, - uid_t uid, gid_t gid, - const char *gecos, - const char *homedir, - const char *shell, - struct sysdb_attrs *attrs) + const char *shell, + struct sysdb_attrs *attrs) { struct tevent_req *req, *subreq; struct sysdb_store_user_state *state; @@ -2776,11 +2760,6 @@ int sysdb_store_user_recv(struct tevent_req *req) return sysdb_op_default_recv(req); } -int sysdb_store_user_with_attrs_recv(struct tevent_req *req) -{ - return sysdb_op_default_recv(req); -} - /* =Store-Group-(Native/Legacy)-(replaces-existing-data)================== */ /* this function does not check that all user members are actually present */ @@ -2807,7 +2786,8 @@ struct tevent_req *sysdb_store_group_send(TALLOC_CTX *mem_ctx, struct sss_domain_info *domain, const char *name, gid_t gid, - const char **members) + const char **members, + struct sysdb_attrs *attrs) { struct tevent_req *req, *subreq; struct sysdb_store_group_state *state; @@ -2824,7 +2804,7 @@ struct tevent_req *sysdb_store_group_send(TALLOC_CTX *mem_ctx, state->name = name; state->gid = gid; state->members = members; - state->attrs = NULL; + state->attrs = attrs; subreq = sysdb_search_group_by_name_send(state, ev, NULL, handle, domain, name, src_attrs); @@ -2866,11 +2846,13 @@ static void sysdb_store_group_check(struct tevent_req *subreq) * group needs any update */ if (state->members) { - state->attrs = sysdb_new_attrs(state); if (!state->attrs) { - DEBUG(6, ("Error: Out of memory\n")); - tevent_req_error(req, ENOMEM); - return; + state->attrs = sysdb_new_attrs(state); + if (!state->attrs) { + DEBUG(6, ("Error: Out of memory\n")); + tevent_req_error(req, ENOMEM); + return; + } } for (i = 0; state->members[i]; i++) { diff --git a/server/providers/proxy.c b/server/providers/proxy.c index 2aee53341..d361191aa 100644 --- a/server/providers/proxy.c +++ b/server/providers/proxy.c @@ -446,7 +446,7 @@ static void get_pw_name_process(struct tevent_req *subreq) state->pwd->pw_gid, state->pwd->pw_gecos, state->pwd->pw_dir, - state->pwd->pw_shell); + state->pwd->pw_shell, NULL); if (!subreq) { tevent_req_error(req, ENOMEM); return; @@ -625,7 +625,7 @@ static void get_pw_uid_process(struct tevent_req *subreq) state->pwd->pw_gid, state->pwd->pw_gecos, state->pwd->pw_dir, - state->pwd->pw_shell); + state->pwd->pw_shell, NULL); if (!subreq) { tevent_req_error(req, ENOMEM); return; @@ -808,7 +808,7 @@ again: state->pwd->pw_gid, state->pwd->pw_gecos, state->pwd->pw_dir, - state->pwd->pw_shell); + state->pwd->pw_shell, NULL); if (!subreq) { tevent_req_error(req, ENOMEM); return; @@ -949,7 +949,8 @@ again: state->domain, state->grp->gr_name, state->grp->gr_gid, - (const char **)state->grp->gr_mem); + (const char **)state->grp->gr_mem, + NULL); if (!subreq) { tevent_req_error(req, ENOMEM); return; @@ -1142,7 +1143,8 @@ again: state->domain, state->grp->gr_name, state->grp->gr_gid, - (const char **)state->grp->gr_mem); + (const char **)state->grp->gr_mem, + NULL); if (!subreq) { tevent_req_error(req, ENOMEM); return; @@ -1321,7 +1323,8 @@ again: state->domain, state->grp->gr_name, state->grp->gr_gid, - (const char **)state->grp->gr_mem); + (const char **)state->grp->gr_mem, + NULL); if (!subreq) { tevent_req_error(req, ENOMEM); return; @@ -1467,7 +1470,7 @@ static void get_initgr_process(struct tevent_req *subreq) state->pwd->pw_gid, state->pwd->pw_gecos, state->pwd->pw_dir, - state->pwd->pw_shell); + state->pwd->pw_shell, NULL); if (!subreq) { tevent_req_error(req, ENOMEM); return; @@ -1774,7 +1777,8 @@ again: state->domain, state->grp->gr_name, state->grp->gr_gid, - (const char **)state->grp->gr_mem); + (const char **)state->grp->gr_mem, + NULL); if (!subreq) { ret = ENOMEM; goto fail; diff --git a/server/tests/sysdb-tests.c b/server/tests/sysdb-tests.c index 1b3ee64a9..72514e3b1 100644 --- a/server/tests/sysdb-tests.c +++ b/server/tests/sysdb-tests.c @@ -279,7 +279,8 @@ static void test_store_user(struct tevent_req *req) data->domain, data->username, "x", data->uid, 0, gecos, homedir, - data->shell ? data->shell : "/bin/bash"); + data->shell ? data->shell : "/bin/bash", + NULL); if (!subreq) { test_return(data, ENOMEM); return; @@ -484,7 +485,7 @@ static void test_store_group(struct tevent_req *req) subreq = sysdb_store_group_send(data, data->ev, data->handle, data->domain, data->groupname, - data->gid, NULL); + data->gid, NULL, NULL); if (!subreq) { test_return(data, ret); } |