summaryrefslogtreecommitdiff
path: root/source4/scripting
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2006-07-31 13:34:00 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 14:15:16 -0500
commit9b6f35edbf439fec4a0d32104ee8475bf1e313c9 (patch)
tree54566bef45c235824e90891684547c6ce196dfa5 /source4/scripting
parent9e0993a647d4062f98c0c9039d10158d9029c38e (diff)
downloadsamba-9b6f35edbf439fec4a0d32104ee8475bf1e313c9.tar.gz
samba-9b6f35edbf439fec4a0d32104ee8475bf1e313c9.tar.bz2
samba-9b6f35edbf439fec4a0d32104ee8475bf1e313c9.zip
r17339: pass the event context and messaging context together to the
smb ejs functions metze (This used to be commit 0397911b414518d54f6dba2a8c81a5872b90a034)
Diffstat (limited to 'source4/scripting')
-rw-r--r--source4/scripting/ejs/smbcalls.h5
-rw-r--r--source4/scripting/ejs/smbcalls_auth.c13
2 files changed, 16 insertions, 2 deletions
diff --git a/source4/scripting/ejs/smbcalls.h b/source4/scripting/ejs/smbcalls.h
index 5d5f6841d9..9fa9100276 100644
--- a/source4/scripting/ejs/smbcalls.h
+++ b/source4/scripting/ejs/smbcalls.h
@@ -29,6 +29,11 @@ void mprAddArray(struct MprVar *var, int i, struct MprVar v);
void mprSetCFunction(struct MprVar *obj, const char *name, MprCFunction fn);
void mprSetStringCFunction(struct MprVar *obj, const char *name, MprStringCFunction fn);
+struct smbcalls_context {
+ struct event_context *event_ctx;
+ struct messaging_context *msg_ctx;
+};
+
struct ldb_context;
struct ldb_message;
struct cli_credentials;
diff --git a/source4/scripting/ejs/smbcalls_auth.c b/source4/scripting/ejs/smbcalls_auth.c
index 568b24713c..678d3c6a7f 100644
--- a/source4/scripting/ejs/smbcalls_auth.c
+++ b/source4/scripting/ejs/smbcalls_auth.c
@@ -39,8 +39,17 @@ static int ejs_doauth(MprVarHandle eid,
struct MprVar *session_info_obj;
NTSTATUS nt_status;
- /* Hope we can find the event context somewhere up there... */
- struct event_context *ev = event_context_find(tmp_ctx);
+ struct smbcalls_context *c;
+ struct event_context *ev;
+
+ /* Hope we can find an smbcalls_context somewhere up there... */
+ c = talloc_find_parent_bytype(tmp_ctx, struct smbcalls_context);
+ if (c) {
+ ev = c->event_ctx;
+ } else {
+ /* Hope we can find the event context somewhere up there... */
+ ev = event_context_find(tmp_ctx);
+ }
nt_status = auth_context_create(tmp_ctx, auth_types, &auth_context, ev);
if (!NT_STATUS_IS_OK(nt_status)) {