1
0
mirror of https://github.com/samba-team/samba.git synced 2025-08-02 00:22:11 +03:00

Introduce mprLpCtx() similar to mprMemCtx() for loadparm_context used by

all EJS code.
(This used to be commit 184988866f)
This commit is contained in:
Jelmer Vernooij
2008-02-21 18:21:44 +01:00
parent 3c20b3eeba
commit e11c61bc5c
14 changed files with 45 additions and 36 deletions

View File

@ -52,7 +52,7 @@ static int ejs_net_context(MprVarHandle eid, int argc, struct MprVar **argv)
}
ev = event_context_find(event_mem_ctx);
ctx = libnet_context_init(ev, global_loadparm);
ctx = libnet_context_init(ev, mprLpCtx());
/* IF we generated a new event context, it will be under here,
* and we need it to last as long as the libnet context, so
* make it a child */
@ -68,7 +68,7 @@ static int ejs_net_context(MprVarHandle eid, int argc, struct MprVar **argv)
talloc_free(ctx);
return -1;
}
cli_credentials_set_conf(creds, global_loadparm);
cli_credentials_set_conf(creds, mprLpCtx());
cli_credentials_set_anonymous(creds);
mprCreds = mprCredentials(creds);

View File

@ -111,7 +111,7 @@ static int ejs_typeof_native(MprVarHandle eid, int argc, struct MprVar **argv)
static int ejs_libinclude(int eid, int argc, char **argv)
{
int i, j;
const char **js_include = lp_js_include(global_loadparm);
const char **js_include = lp_js_include(mprLpCtx());
if (js_include == NULL || js_include[0] == NULL) {
ejsSetErrorMsg(eid, "js include path not set");
@ -184,7 +184,7 @@ void smb_setup_ejs_functions(void (*exception_handler)(const char *))
smb_setup_ejs_param();
smb_setup_ejs_literal();
shared_init = load_samba_modules(NULL, global_loadparm, "smbcalls");
shared_init = load_samba_modules(NULL, mprLpCtx(), "smbcalls");
run_init_functions(static_init);
run_init_functions(shared_init);

View File

@ -56,14 +56,14 @@ static int ejs_doauth(MprVarHandle eid,
} else {
/* Hope we can find the event context somewhere up there... */
ev = event_context_find(tmp_ctx);
msg = messaging_client_init(tmp_ctx, lp_messaging_path(tmp_ctx, global_loadparm),
lp_iconv_convenience(global_loadparm), ev);
msg = messaging_client_init(tmp_ctx, lp_messaging_path(tmp_ctx, mprLpCtx()),
lp_iconv_convenience(mprLpCtx()), ev);
}
if (auth_types) {
nt_status = auth_context_create_methods(tmp_ctx, auth_types, ev, msg, global_loadparm, &auth_context);
nt_status = auth_context_create_methods(tmp_ctx, auth_types, ev, msg, mprLpCtx(), &auth_context);
} else {
nt_status = auth_context_create(tmp_ctx, ev, msg, global_loadparm, &auth_context);
nt_status = auth_context_create(tmp_ctx, ev, msg, mprLpCtx(), &auth_context);
}
if (!NT_STATUS_IS_OK(nt_status)) {
mprSetPropertyValue(auth, "result", mprCreateBoolVar(false));
@ -109,7 +109,7 @@ static int ejs_doauth(MprVarHandle eid,
goto done;
}
nt_status = auth_generate_session_info(tmp_ctx, global_loadparm, server_info, &session_info);
nt_status = auth_generate_session_info(tmp_ctx, mprLpCtx(), server_info, &session_info);
if (!NT_STATUS_IS_OK(nt_status)) {
mprSetPropertyValue(auth, "report", mprString("Session Info generation failed"));
mprSetPropertyValue(auth, "result", mprCreateBoolVar(false));
@ -222,7 +222,7 @@ static int ejs_userAuth(MprVarHandle eid, int argc, struct MprVar **argv)
static int ejs_system_session(MprVarHandle eid, int argc, struct MprVar **argv)
{
struct MprVar *obj = mprInitObject(eid, "session_info", argc, argv);
struct auth_session_info *session_info = system_session(mprMemCtx(), global_loadparm);
struct auth_session_info *session_info = system_session(mprMemCtx(), mprLpCtx());
if (session_info == NULL) {
return -1;

View File

@ -432,23 +432,23 @@ static int ejs_tree_connect(MprVarHandle eid, int argc, char **argv)
/* Set up credentials */
creds = cli_credentials_init(NULL);
cli_credentials_set_conf(creds, global_loadparm);
cli_credentials_set_conf(creds, mprLpCtx());
cli_credentials_parse_string(creds, argv[1], CRED_SPECIFIED);
/* Do connect */
io.in.dest_host = hostname;
io.in.dest_ports = lp_smb_ports(global_loadparm);
io.in.dest_ports = lp_smb_ports(mprLpCtx());
io.in.called_name = strupper_talloc(mem_ctx, hostname);
io.in.service = sharename;
io.in.service_type = "?????";
io.in.credentials = creds;
io.in.fallback_to_anonymous = false;
io.in.workgroup = lp_workgroup(global_loadparm);
io.in.workgroup = lp_workgroup(mprLpCtx());
lp_smbcli_options(global_loadparm, &io.in.options);
result = smb_composite_connect(&io, mem_ctx,
lp_resolve_context(global_loadparm),
lp_resolve_context(mprLpCtx()),
NULL);
tree = io.out.tree;

View File

@ -36,8 +36,8 @@ static int ejs_lpServices(MprVarHandle eid, int argc, char **argv)
const char **list = NULL;
if (argc != 0) return -1;
for (i=0;i<lp_numservices(global_loadparm);i++) {
list = str_list_add(list, lp_servicename(lp_servicebynum(global_loadparm, i)));
for (i=0;i<lp_numservices(mprLpCtx());i++) {
list = str_list_add(list, lp_servicename(lp_servicebynum(mprLpCtx(), i)));
}
talloc_steal(mprMemCtx(), list);
mpr_Return(eid, mprList("services", list));
@ -68,7 +68,7 @@ static int ejs_lpGet(MprVarHandle eid, int argc, char **argv)
if (argc == 2) {
struct loadparm_service *service;
/* its a share parameter */
service = lp_service(global_loadparm, argv[0]);
service = lp_service(mprLpCtx(), argv[0]);
if (service == NULL) {
mpr_Return(eid, mprCreateUndefinedVar());
return 0;
@ -84,7 +84,7 @@ static int ejs_lpGet(MprVarHandle eid, int argc, char **argv)
mpr_Return(eid, mprCreateUndefinedVar());
return 0;
}
value = lp_get_parametric(global_loadparm, service, type, option);
value = lp_get_parametric(mprLpCtx(), service, type, option);
if (value == NULL) {
mpr_Return(eid, mprCreateUndefinedVar());
return 0;
@ -98,7 +98,7 @@ static int ejs_lpGet(MprVarHandle eid, int argc, char **argv)
mpr_Return(eid, mprCreateUndefinedVar());
return 0;
}
parm_ptr = lp_parm_ptr(global_loadparm, service, parm);
parm_ptr = lp_parm_ptr(mprLpCtx(), service, parm);
} else if (strchr(argv[0], ':')) {
/* its a global parametric option */
const char *type = talloc_strndup(mprMemCtx(),
@ -109,7 +109,7 @@ static int ejs_lpGet(MprVarHandle eid, int argc, char **argv)
mpr_Return(eid, mprCreateUndefinedVar());
return 0;
}
value = lp_get_parametric(global_loadparm, NULL, type, option);
value = lp_get_parametric(mprLpCtx(), NULL, type, option);
if (value == NULL) {
mpr_Return(eid, mprCreateUndefinedVar());
return 0;
@ -123,7 +123,7 @@ static int ejs_lpGet(MprVarHandle eid, int argc, char **argv)
mpr_Return(eid, mprCreateUndefinedVar());
return 0;
}
parm_ptr = lp_parm_ptr(global_loadparm, NULL, parm);
parm_ptr = lp_parm_ptr(mprLpCtx(), NULL, parm);
}
if (parm == NULL || parm_ptr == NULL) {
@ -166,7 +166,7 @@ static int ejs_lpGet(MprVarHandle eid, int argc, char **argv)
*/
static int ejs_lpFilename(MprVarHandle eid, int argc, char **argv)
{
mpr_ReturnString(eid, lp_configfile(global_loadparm));
mpr_ReturnString(eid, lp_configfile(mprLpCtx()));
return 0;
}
@ -184,7 +184,7 @@ static int ejs_lpSet(MprVarHandle eid, int argc, char **argv)
return -1;
}
mpr_Return(eid, mprCreateBoolVar(lp_set_cmdline(global_loadparm, argv[0], argv[1])));
mpr_Return(eid, mprCreateBoolVar(lp_set_cmdline(mprLpCtx(), argv[0], argv[1])));
return 0;
}
@ -196,9 +196,9 @@ static int ejs_lpSet(MprVarHandle eid, int argc, char **argv)
static int ejs_lpReload(MprVarHandle eid, int argc, char **argv)
{
bool ret;
const char *filename = lp_configfile(global_loadparm);
const char *filename = lp_configfile(mprLpCtx());
ret = lp_load(global_loadparm, filename);
ret = lp_load(mprLpCtx(), filename);
mpr_Return(eid, mprCreateBoolVar(ret));
return 0;
}

View File

@ -192,7 +192,7 @@ static int ejs_creds_set_machine_account(MprVarHandle eid, int argc, struct MprV
return -1;
}
if (NT_STATUS_IS_OK(cli_credentials_set_machine_account(creds, global_loadparm))) {
if (NT_STATUS_IS_OK(cli_credentials_set_machine_account(creds, mprLpCtx()))) {
mpr_Return(eid, mprCreateBoolVar(true));
} else {
mpr_Return(eid, mprCreateBoolVar(false));
@ -248,7 +248,7 @@ static int ejs_credentials_init(MprVarHandle eid, int argc, struct MprVar **argv
return -1;
}
cli_credentials_set_conf(creds, global_loadparm);
cli_credentials_set_conf(creds, mprLpCtx());
return ejs_credentials_obj(obj, creds);
}

View File

@ -177,7 +177,7 @@ static int ejs_regToVar(MprVarHandle eid, int argc, struct MprVar **argv)
case REG_EXPAND_SZ: {
char *s;
ssize_t len;
len = convert_string_talloc(mprMemCtx(), lp_iconv_convenience(global_loadparm), CH_UTF16, CH_UNIX,
len = convert_string_talloc(mprMemCtx(), lp_iconv_convenience(mprLpCtx()), CH_UTF16, CH_UNIX,
blob->data, blob->length, (void **)&s);
if (len == -1) {
ejsSetErrorMsg(eid, "regToVar invalid REG_SZ string");
@ -225,7 +225,7 @@ static int ejs_regToVar(MprVarHandle eid, int argc, struct MprVar **argv)
if (slen == 2 && b.length == 2 && SVAL(b.data, 0) == 0) {
break;
}
len = convert_string_talloc(mprMemCtx(), lp_iconv_convenience(global_loadparm), CH_UTF16, CH_UNIX,
len = convert_string_talloc(mprMemCtx(), lp_iconv_convenience(mprLpCtx()), CH_UTF16, CH_UNIX,
b.data, slen, (void **)&s);
if (len == -1) {
ejsSetErrorMsg(eid, "regToVar invalid REG_MULTI_SZ string");

View File

@ -453,7 +453,7 @@ static int ejs_ldbConnect(MprVarHandle eid, int argc, char **argv)
dbfile = argv[0];
ldb = ldb_wrap_connect(mprMemCtx(), global_loadparm, dbfile,
ldb = ldb_wrap_connect(mprMemCtx(), mprLpCtx(), dbfile,
session_info, creds,
0, (const char **)(argv+1));
if (ldb == NULL) {

View File

@ -70,7 +70,7 @@ static int ejs_resolve_name(MprVarHandle eid, int argc, struct MprVar **argv)
result = 0;
nt_status = resolve_name(lp_resolve_context(global_loadparm), &name, tmp_ctx, &reply_addr, event_context_find(tmp_ctx));
nt_status = resolve_name(lp_resolve_context(mprLpCtx()), &name, tmp_ctx, &reply_addr, event_context_find(tmp_ctx));
if (NT_STATUS_IS_OK(nt_status)) {
mprSetPropertyValue(argv[0], "value", mprString(reply_addr));

View File

@ -70,7 +70,7 @@ static int ejs_reg_open(MprVarHandle eid, int argc, struct MprVar **argv)
struct registry_context *rctx;
WERROR error;
error = reg_open_samba(mprMemCtx(), &rctx, global_loadparm, NULL, NULL);
error = reg_open_samba(mprMemCtx(), &rctx, mprLpCtx(), NULL, NULL);
SMB_ASSERT(W_ERROR_IS_OK(error));
mprSetPtrChild(reg, "registry", rctx);

View File

@ -79,9 +79,9 @@ static int ejs_irpc_connect(MprVarHandle eid, int argc, char **argv)
allocate temporary server ids automatically */
for (i=0;i<10000;i++) {
p->msg_ctx = messaging_init(p,
lp_messaging_path(p, global_loadparm),
lp_messaging_path(p, mprLpCtx()),
cluster_id(EJS_ID_BASE, i),
lp_iconv_convenience(global_loadparm),
lp_iconv_convenience(mprLpCtx()),
ev);
if (p->msg_ctx) break;
}
@ -161,7 +161,7 @@ static int ejs_rpc_connect(MprVarHandle eid, int argc, char **argv)
ev = event_context_find(mprMemCtx());
status = dcerpc_pipe_connect(this, &p, binding, iface, creds, ev,
global_loadparm);
mprLpCtx());
if (!NT_STATUS_IS_OK(status)) goto done;
/* callers don't allocate ref vars in the ejs interface */

View File

@ -36,7 +36,7 @@ static int ejs_sys_interfaces(MprVarHandle eid, int argc, struct MprVar **argv)
struct MprVar ret = mprArray("interfaces");
struct interface *ifaces;
load_interfaces(NULL, lp_interfaces(global_loadparm), &ifaces);
load_interfaces(NULL, lp_interfaces(mprLpCtx()), &ifaces);
count = iface_count(ifaces);
for (i=0;i<count;i++) {