svn commit: samba r7505 - in branches/SAMBA_4_0/source/scripting/ejs: .

tpot at samba.org tpot at samba.org
Sun Jun 12 07:03:32 GMT 2005


Author: tpot
Date: 2005-06-12 07:03:32 +0000 (Sun, 12 Jun 2005)
New Revision: 7505

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=7505

Log:
Add more argument forms for session_setup().

Throw an exception if tree connect fails.

Modified:
   branches/SAMBA_4_0/source/scripting/ejs/smbcalls_cli.c


Changeset:
Modified: branches/SAMBA_4_0/source/scripting/ejs/smbcalls_cli.c
===================================================================
--- branches/SAMBA_4_0/source/scripting/ejs/smbcalls_cli.c	2005-06-12 06:58:20 UTC (rev 7504)
+++ branches/SAMBA_4_0/source/scripting/ejs/smbcalls_cli.c	2005-06-12 07:03:32 UTC (rev 7505)
@@ -89,7 +89,7 @@
 
 /* Perform a session setup:
    
-     session_setup(conn, "DOMAIN\USERNAME%PASSWORD");
+     session_setup(conn, "DOMAIN\\USERNAME%PASSWORD");
      session_setup(conn, USERNAME, PASSWORD);
      session_setup(conn, DOMAIN, USERNAME, PASSWORD);
      session_setup(conn);  // anonymous
@@ -149,6 +149,34 @@
 		cli_credentials_set_password(creds, argv[3]->string,
 					     CRED_SPECIFIED);
 
+	} else if (argc == 3) {
+
+		/* USERNAME, PASSWORD form */
+
+		if (!mprVarIsString(argv[1]->type)) {
+			ejsSetErrorMsg(eid, "arg1 must be a string");
+			goto done;
+		}
+
+		cli_credentials_set_username(creds, argv[1]->string,
+					     CRED_SPECIFIED);
+
+		if (!mprVarIsString(argv[2]->type)) {
+
+			ejsSetErrorMsg(eid, "arg2 must be a string");
+			goto done;
+		}
+
+		cli_credentials_set_password(creds, argv[2]->string,
+					     CRED_SPECIFIED);
+
+	} else if (argc == 2) {
+
+		/* DOMAIN/USERNAME%PASSWORD form */
+
+		cli_credentials_parse_string(creds, argv[1]->string,
+					     CRED_SPECIFIED);
+
 	} else {
 
 		/* Anonymous connection */
@@ -255,6 +283,11 @@
 	
 	status = smb_tree_connect(tree, mem_ctx, &tcon);
 
+	if (!NT_STATUS_IS_OK(status)) {
+		ejsSetErrorMsg(eid, "session setup: %s", nt_errstr(status));
+		return -1;
+	}
+
 	tree->tid = tcon.tconx.out.tid;
 
 	talloc_free(mem_ctx);	



More information about the samba-cvs mailing list