summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2010-12-20 21:26:35 +1100
committerAndrew Bartlett <abartlet@samba.org>2010-12-21 15:10:38 +1100
commit94a59b781ccc5a552a9141484740255977db4637 (patch)
tree9050f24d258f48c5896da75a15e3984c2deda23f
parentbecaa18a46f4ee14d8617c22e78da463fda823b2 (diff)
downloadsamba-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.c1
-rw-r--r--source4/dsdb/samdb/samdb.c3
-rw-r--r--source4/dsdb/samdb/samdb_privilege.c8
-rw-r--r--source4/libnet/libnet_samsync_ldb.c3
-rw-r--r--source4/rpc_server/lsa/lsa_init.c2
-rw-r--r--source4/smbd/server.c2
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() */