r22323: - add credentials property to NetContext object
authorRafal Szczesniak <mimir@samba.org>
Tue, 17 Apr 2007 23:06:43 +0000 (23:06 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 19:51:02 +0000 (14:51 -0500)
- change a comment (matches the idea better)

rafal
(This used to be commit 4e8d9d3f6066d86af0e6dbe1f7091ce848dceb4f)

source4/scripting/ejs/ejsnet/net_ctx.c
source4/scripting/ejs/ejsnet/net_user.c

index 25239512d0bd59289766193187d2ee2c26639353..9a5e6bb3cc6dd169bba1219a24b43df0a6024b3d 100644 (file)
@@ -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;
index 9a4f9473f659aafb83f5744c337ebf59efe01909..804ca04cd6ddaeb6c34b61515a13957449998e3f 100644 (file)
@@ -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 {