diff options
| author | Rafal Szczesniak <mimir@samba.org> | 2007-04-17 23:06:43 +0000 | 
|---|---|---|
| committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 14:51:02 -0500 | 
| commit | 4a23a696b957639a9f9ffbdd0121ce1ff453d20c (patch) | |
| tree | 04e88ea019d149febdf41890dbee445e604685cf /source4/scripting | |
| parent | e18eed167a020d1262ff4508ecd51d74fb18c4cc (diff) | |
| download | samba-4a23a696b957639a9f9ffbdd0121ce1ff453d20c.tar.gz samba-4a23a696b957639a9f9ffbdd0121ce1ff453d20c.tar.bz2 samba-4a23a696b957639a9f9ffbdd0121ce1ff453d20c.zip  | |
r22323: - add credentials property to NetContext object
- change a comment (matches the idea better)
rafal
(This used to be commit 4e8d9d3f6066d86af0e6dbe1f7091ce848dceb4f)
Diffstat (limited to 'source4/scripting')
| -rw-r--r-- | source4/scripting/ejs/ejsnet/net_ctx.c | 30 | ||||
| -rw-r--r-- | source4/scripting/ejs/ejsnet/net_user.c | 2 | 
2 files changed, 25 insertions, 7 deletions
diff --git a/source4/scripting/ejs/ejsnet/net_ctx.c b/source4/scripting/ejs/ejsnet/net_ctx.c index 25239512d0..9a5e6bb3cc 100644 --- a/source4/scripting/ejs/ejsnet/net_ctx.c +++ b/source4/scripting/ejs/ejsnet/net_ctx.c @@ -43,7 +43,7 @@ static int ejs_net_context(MprVarHandle eid, int argc, struct MprVar **argv)  	TALLOC_CTX *event_mem_ctx = talloc_new(mprMemCtx());  	struct cli_credentials *creds;  	struct libnet_context *ctx; -	struct MprVar obj; +	struct MprVar obj, mprCreds;  	struct event_context *ev;  	if (!event_mem_ctx) { @@ -59,6 +59,9 @@ static int ejs_net_context(MprVarHandle eid, int argc, struct MprVar **argv)  	talloc_steal(ctx, event_mem_ctx);  	if (argc == 0 || (argc == 1 && argv[0]->type == MPR_TYPE_NULL)) { +		/*  +		   create the default credentials +		*/  		creds = cli_credentials_init(ctx);  		if (creds == NULL) {  			ejsSetErrorMsg(eid, "cli_credential_init() failed"); @@ -68,11 +71,16 @@ static int ejs_net_context(MprVarHandle eid, int argc, struct MprVar **argv)  		cli_credentials_set_conf(creds);  		cli_credentials_set_anonymous(creds); +		mprCreds = mprCredentials(creds); +  	} else if (argc == 1 && argv[0]->type == MPR_TYPE_OBJECT) { -		/* get credential values from credentials object */ -		creds = mprGetPtr(argv[0], "creds"); +		/* +		  get credential values from credentials object +		*/ +		mprCreds = *(argv[0]); +		creds = mprGetPtr(&mprCreds, "creds");  		if (creds == NULL) { -			ejsSetErrorMsg(eid, "userAuth requires a 'creds' first parameter"); +			ejsSetErrorMsg(eid, "invalid credentials parameter");  			talloc_free(ctx);  			return -1;  		} @@ -82,15 +90,25 @@ static int ejs_net_context(MprVarHandle eid, int argc, struct MprVar **argv)  		talloc_free(ctx);  		return -1;  	} - +	 +	/* setup libnet_context credentials */  	ctx->cred = creds; -	obj = mprObject("NetCtx"); +	/* create the NetContext object */ +	obj = mprObject("NetContext"); + +	/* add internal libnet_context pointer to the NetContext object */  	mprSetPtrChild(&obj, "ctx", ctx); + +	/* add properties publicly available from js code */ +	mprCreateProperty(&obj, "credentials", &mprCreds); +	/* add methods to the object */  	mprSetCFunction(&obj, "UserMgr", ejs_net_userman);  	mprSetCFunction(&obj, "JoinDomain", ejs_net_join_domain);  	mprSetCFunction(&obj, "SamSyncLdb", ejs_net_samsync_ldb); + +	/* return the object */  	mpr_Return(eid, obj);  	return 0; diff --git a/source4/scripting/ejs/ejsnet/net_user.c b/source4/scripting/ejs/ejsnet/net_user.c index 9a4f9473f6..804ca04cd6 100644 --- a/source4/scripting/ejs/ejsnet/net_user.c +++ b/source4/scripting/ejs/ejsnet/net_user.c @@ -59,7 +59,7 @@ int ejs_net_userman(MprVarHandle eid, int argc, struct MprVar **argv)  	} else if (argc == 1 && mprVarIsString(argv[0]->type)) {  		/* domain name can also be specified explicitly  -		   (e.g. to connect remote domain) */ +		   (e.g. to connect BUILTIN domain) */  		userman_domain = mprToString(argv[0]);  	} else {  | 
