summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--server/db/sysdb.h19
-rw-r--r--server/db/sysdb_ops.c40
-rw-r--r--server/providers/proxy.c20
-rw-r--r--server/tests/sysdb-tests.c5
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);
}