diff options
author | Stefan Metzmacher <metze@samba.org> | 2006-07-31 13:34:00 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 14:15:16 -0500 |
commit | 9b6f35edbf439fec4a0d32104ee8475bf1e313c9 (patch) | |
tree | 54566bef45c235824e90891684547c6ce196dfa5 /source4/scripting | |
parent | 9e0993a647d4062f98c0c9039d10158d9029c38e (diff) | |
download | samba-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.h | 5 | ||||
-rw-r--r-- | source4/scripting/ejs/smbcalls_auth.c | 13 |
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)) { |