diff options
author | Andrew Bartlett <abartlet@samba.org> | 2010-12-20 21:26:35 +1100 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2010-12-21 15:10:38 +1100 |
commit | 94a59b781ccc5a552a9141484740255977db4637 (patch) | |
tree | 9050f24d258f48c5896da75a15e3984c2deda23f | |
parent | becaa18a46f4ee14d8617c22e78da463fda823b2 (diff) | |
download | samba-94a59b781ccc5a552a9141484740255977db4637.tar.gz samba-94a59b781ccc5a552a9141484740255977db4637.tar.bz2 samba-94a59b781ccc5a552a9141484740255977db4637.zip |
s4-auth Remove event context from privilage database handling
These local TDB operations can quite safely be handled in a new/nested
event context, rather than using the main event context.
Andrew Bartlett
-rw-r--r-- | source4/auth/session.c | 1 | ||||
-rw-r--r-- | source4/dsdb/samdb/samdb.c | 3 | ||||
-rw-r--r-- | source4/dsdb/samdb/samdb_privilege.c | 8 | ||||
-rw-r--r-- | source4/libnet/libnet_samsync_ldb.c | 3 | ||||
-rw-r--r-- | source4/rpc_server/lsa/lsa_init.c | 2 | ||||
-rw-r--r-- | source4/smbd/server.c | 2 |
6 files changed, 7 insertions, 12 deletions
diff --git a/source4/auth/session.c b/source4/auth/session.c index 37c469b4f7..bb6a5946e5 100644 --- a/source4/auth/session.c +++ b/source4/auth/session.c @@ -177,7 +177,6 @@ _PUBLIC_ NTSTATUS auth_generate_session_info(TALLOC_CTX *mem_ctx, } nt_status = security_token_create(session_info, - auth_context ? auth_context->event_ctx : NULL, auth_context ? auth_context->lp_ctx : NULL, server_info->account_sid, server_info->primary_group_sid, diff --git a/source4/dsdb/samdb/samdb.c b/source4/dsdb/samdb/samdb.c index 416cf50396..7ba440006a 100644 --- a/source4/dsdb/samdb/samdb.c +++ b/source4/dsdb/samdb/samdb.c @@ -143,7 +143,6 @@ struct ldb_context *samdb_connect(TALLOC_CTX *mem_ctx, Create the SID list for this user. ****************************************************************************/ NTSTATUS security_token_create(TALLOC_CTX *mem_ctx, - struct tevent_context *ev_ctx, struct loadparm_context *lp_ctx, struct dom_sid *user_sid, struct dom_sid *group_sid, @@ -224,7 +223,7 @@ NTSTATUS security_token_create(TALLOC_CTX *mem_ctx, } /* setup the privilege mask for this token */ - status = samdb_privilege_setup(ev_ctx, lp_ctx, ptoken); + status = samdb_privilege_setup(lp_ctx, ptoken); if (!NT_STATUS_IS_OK(status)) { talloc_free(ptoken); return status; diff --git a/source4/dsdb/samdb/samdb_privilege.c b/source4/dsdb/samdb/samdb_privilege.c index 69c4ebea61..c50243c06a 100644 --- a/source4/dsdb/samdb/samdb_privilege.c +++ b/source4/dsdb/samdb/samdb_privilege.c @@ -30,10 +30,9 @@ /* connect to the privilege database */ struct ldb_context *privilege_connect(TALLOC_CTX *mem_ctx, - struct tevent_context *ev_ctx, struct loadparm_context *lp_ctx) { - return ldb_wrap_connect(mem_ctx, ev_ctx, lp_ctx, "privilege.ldb", + return ldb_wrap_connect(mem_ctx, NULL, lp_ctx, "privilege.ldb", NULL, NULL, 0); } @@ -88,8 +87,7 @@ static NTSTATUS samdb_privilege_setup_sid(struct ldb_context *pdb, TALLOC_CTX *m setup the privilege mask for this security token based on our local SAM */ -NTSTATUS samdb_privilege_setup(struct tevent_context *ev_ctx, - struct loadparm_context *lp_ctx, struct security_token *token) +NTSTATUS samdb_privilege_setup(struct loadparm_context *lp_ctx, struct security_token *token) { struct ldb_context *pdb; TALLOC_CTX *mem_ctx; @@ -113,7 +111,7 @@ NTSTATUS samdb_privilege_setup(struct tevent_context *ev_ctx, } mem_ctx = talloc_new(token); - pdb = privilege_connect(mem_ctx, ev_ctx, lp_ctx); + pdb = privilege_connect(mem_ctx, lp_ctx); if (pdb == NULL) { talloc_free(mem_ctx); return NT_STATUS_INTERNAL_DB_CORRUPTION; diff --git a/source4/libnet/libnet_samsync_ldb.c b/source4/libnet/libnet_samsync_ldb.c index 07e085edb1..b821160525 100644 --- a/source4/libnet/libnet_samsync_ldb.c +++ b/source4/libnet/libnet_samsync_ldb.c @@ -1189,7 +1189,7 @@ static NTSTATUS libnet_samsync_ldb_init(TALLOC_CTX *mem_ctx, ldap_url = talloc_asprintf(state, "ldap://%s", server); state->remote_ldb = ldb_wrap_connect(mem_ctx, - state->samsync_state->machine_net_ctx->event_ctx, + NULL, state->samsync_state->machine_net_ctx->lp_ctx, ldap_url, NULL, state->samsync_state->machine_net_ctx->cred, @@ -1227,7 +1227,6 @@ NTSTATUS libnet_samsync_ldb(struct libnet_context *ctx, TALLOC_CTX *mem_ctx, str } state->pdb = privilege_connect(mem_ctx, - ctx->event_ctx, ctx->lp_ctx); if (!state->pdb) { return NT_STATUS_INTERNAL_DB_ERROR; diff --git a/source4/rpc_server/lsa/lsa_init.c b/source4/rpc_server/lsa/lsa_init.c index 641add0c97..9b95374c05 100644 --- a/source4/rpc_server/lsa/lsa_init.c +++ b/source4/rpc_server/lsa/lsa_init.c @@ -49,7 +49,7 @@ NTSTATUS dcesrv_lsa_get_policy_state(struct dcesrv_call_state *dce_call, TALLOC_ } /* and the privilege database */ - state->pdb = privilege_connect(state, dce_call->event_ctx, dce_call->conn->dce_ctx->lp_ctx); + state->pdb = privilege_connect(state, dce_call->conn->dce_ctx->lp_ctx); if (state->pdb == NULL) { return NT_STATUS_INVALID_SYSTEM_SERVICE; } diff --git a/source4/smbd/server.c b/source4/smbd/server.c index 1c6a11d950..0b1ff068f9 100644 --- a/source4/smbd/server.c +++ b/source4/smbd/server.c @@ -198,7 +198,7 @@ static void prime_ldb_databases(struct tevent_context *event_ctx) db_context = talloc_new(event_ctx); samdb_connect(db_context, event_ctx, cmdline_lp_ctx, system_session(cmdline_lp_ctx), 0); - privilege_connect(db_context, event_ctx, cmdline_lp_ctx); + privilege_connect(db_context, cmdline_lp_ctx); /* we deliberately leave these open, which allows them to be * re-used in ldb_wrap_connect() */ |