summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2010-10-11 16:43:07 +1100
committerAndrew Bartlett <abartlet@samba.org>2010-10-11 13:02:15 +0000
commit5cd9495fb3f74d8e896c81e5c060a1643722870e (patch)
treeaccf27ddb2a3e04abe2a10b8340c7ff08ccfee34
parentbaeaa179868fedb797df811bdf4d4a87bf604b8c (diff)
downloadsamba-5cd9495fb3f74d8e896c81e5c060a1643722870e.tar.gz
samba-5cd9495fb3f74d8e896c81e5c060a1643722870e.tar.bz2
samba-5cd9495fb3f74d8e896c81e5c060a1643722870e.zip
s4-param Refactor secrets code to not require an event context.
A new event context is constructed by LDB when required for secrets.ldb This will be essentially unused, as LDB on TDB will only trigger 'fake' events, and blocks on transactions and lock operations anyway. Andrew Bartlett
-rw-r--r--source4/auth/credentials/credentials_secrets.c2
-rw-r--r--source4/param/provision.c2
-rw-r--r--source4/param/secrets.c6
-rw-r--r--source4/param/secrets.h3
-rw-r--r--source4/rpc_server/lsa/dcesrv_lsa.c4
-rw-r--r--source4/winbind/wb_server.c3
6 files changed, 7 insertions, 13 deletions
diff --git a/source4/auth/credentials/credentials_secrets.c b/source4/auth/credentials/credentials_secrets.c
index d68ed33a31..9ffc39c0c3 100644
--- a/source4/auth/credentials/credentials_secrets.c
+++ b/source4/auth/credentials/credentials_secrets.c
@@ -74,7 +74,7 @@ _PUBLIC_ NTSTATUS cli_credentials_set_secrets(struct cli_credentials *cred,
if (!ldb) {
/* Local secrets are stored in secrets.ldb */
- ldb = secrets_db_connect(mem_ctx, event_ctx, lp_ctx);
+ ldb = secrets_db_connect(mem_ctx, lp_ctx);
if (!ldb) {
/* set anonymous as the fallback, if the machine account won't work */
cli_credentials_set_anonymous(cred);
diff --git a/source4/param/provision.c b/source4/param/provision.c
index fd97f69cb3..71405507ba 100644
--- a/source4/param/provision.c
+++ b/source4/param/provision.c
@@ -233,7 +233,7 @@ NTSTATUS provision_store_self_join(TALLOC_CTX *mem_ctx, struct loadparm_context
}
/* Open the secrets database */
- ldb = secrets_db_connect(tmp_mem, event_ctx, lp_ctx);
+ ldb = secrets_db_connect(tmp_mem, lp_ctx);
if (!ldb) {
*error_string
= talloc_asprintf(mem_ctx,
diff --git a/source4/param/secrets.c b/source4/param/secrets.c
index c894358e2d..d87264a960 100644
--- a/source4/param/secrets.c
+++ b/source4/param/secrets.c
@@ -86,10 +86,9 @@ struct tdb_wrap *secrets_init(TALLOC_CTX *mem_ctx, struct loadparm_context *lp_c
connect to the secrets ldb
*/
struct ldb_context *secrets_db_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, lpcfg_secrets_url(lp_ctx),
+ return ldb_wrap_connect(mem_ctx, NULL, lp_ctx, lpcfg_secrets_url(lp_ctx),
NULL, NULL, 0);
}
@@ -98,7 +97,6 @@ struct ldb_context *secrets_db_connect(TALLOC_CTX *mem_ctx,
* @return pointer to a SID object if the SID could be obtained, NULL otherwise
*/
struct dom_sid *secrets_get_domain_sid(TALLOC_CTX *mem_ctx,
- struct tevent_context *ev_ctx,
struct loadparm_context *lp_ctx,
const char *domain,
enum netr_SchannelType *sec_channel_type,
@@ -114,7 +112,7 @@ struct dom_sid *secrets_get_domain_sid(TALLOC_CTX *mem_ctx,
*errstring = NULL;
- ldb = secrets_db_connect(mem_ctx, ev_ctx, lp_ctx);
+ ldb = secrets_db_connect(mem_ctx, lp_ctx);
if (ldb == NULL) {
DEBUG(5, ("secrets_db_connect failed\n"));
return NULL;
diff --git a/source4/param/secrets.h b/source4/param/secrets.h
index 49fe8c31c7..d9e0f53f0f 100644
--- a/source4/param/secrets.h
+++ b/source4/param/secrets.h
@@ -43,9 +43,8 @@ struct ldb_message;
struct ldb_context;
struct tdb_wrap *secrets_init(TALLOC_CTX *mem_ctx, struct loadparm_context *lp_ctx);
-struct ldb_context *secrets_db_connect(TALLOC_CTX *mem_ctx, struct tevent_context *ev_ctx, struct loadparm_context *lp_ctx);
+struct ldb_context *secrets_db_connect(TALLOC_CTX *mem_ctx, struct loadparm_context *lp_ctx);
struct dom_sid *secrets_get_domain_sid(TALLOC_CTX *mem_ctx,
- struct tevent_context *ev_ctx,
struct loadparm_context *lp_ctx,
const char *domain,
enum netr_SchannelType *sec_channel_type,
diff --git a/source4/rpc_server/lsa/dcesrv_lsa.c b/source4/rpc_server/lsa/dcesrv_lsa.c
index a3cedbba4d..8a50588f58 100644
--- a/source4/rpc_server/lsa/dcesrv_lsa.c
+++ b/source4/rpc_server/lsa/dcesrv_lsa.c
@@ -2923,7 +2923,7 @@ static NTSTATUS dcesrv_lsa_CreateSecret(struct dcesrv_call_state *dce_call, TALL
}
secret_state->sam_ldb = talloc_reference(secret_state,
- secrets_db_connect(mem_ctx, dce_call->event_ctx, dce_call->conn->dce_ctx->lp_ctx));
+ secrets_db_connect(mem_ctx, dce_call->conn->dce_ctx->lp_ctx));
/* search for the secret record */
ret = gendb_search(secret_state->sam_ldb, mem_ctx,
ldb_dn_new(mem_ctx, secret_state->sam_ldb, "cn=LSA Secrets"),
@@ -3046,7 +3046,7 @@ static NTSTATUS dcesrv_lsa_OpenSecret(struct dcesrv_call_state *dce_call, TALLOC
} else {
secret_state->global = false;
secret_state->sam_ldb = talloc_reference(secret_state,
- secrets_db_connect(mem_ctx, dce_call->event_ctx, dce_call->conn->dce_ctx->lp_ctx));
+ secrets_db_connect(mem_ctx, dce_call->conn->dce_ctx->lp_ctx));
name = r->in.name.string;
if (strlen(name) < 1) {
diff --git a/source4/winbind/wb_server.c b/source4/winbind/wb_server.c
index 96dab0acd5..184b1162c1 100644
--- a/source4/winbind/wb_server.c
+++ b/source4/winbind/wb_server.c
@@ -237,7 +237,6 @@ static void winbind_task_init(struct task_server *task)
switch (lpcfg_server_role(service->task->lp_ctx)) {
case ROLE_STANDALONE:
primary_sid = secrets_get_domain_sid(service,
- service->task->event_ctx,
service->task->lp_ctx,
lpcfg_netbios_name(service->task->lp_ctx),
&service->sec_channel_type,
@@ -253,7 +252,6 @@ static void winbind_task_init(struct task_server *task)
break;
case ROLE_DOMAIN_MEMBER:
primary_sid = secrets_get_domain_sid(service,
- service->task->event_ctx,
service->task->lp_ctx,
lpcfg_workgroup(service->task->lp_ctx),
&service->sec_channel_type,
@@ -268,7 +266,6 @@ static void winbind_task_init(struct task_server *task)
break;
case ROLE_DOMAIN_CONTROLLER:
primary_sid = secrets_get_domain_sid(service,
- service->task->event_ctx,
service->task->lp_ctx,
lpcfg_workgroup(service->task->lp_ctx),
&service->sec_channel_type,