svn commit: samba r21898 - in branches/SAMBA_3_0/source: client libsmb smbd

jra at samba.org jra at samba.org
Wed Mar 21 00:44:16 GMT 2007


Author: jra
Date: 2007-03-21 00:44:15 +0000 (Wed, 21 Mar 2007)
New Revision: 21898

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

Log:
Added test command, fixed first valgrind bugs.
Now to investigate why it doesn't work :-).
Jeremy.

Modified:
   branches/SAMBA_3_0/source/client/client.c
   branches/SAMBA_3_0/source/libsmb/clifsinfo.c
   branches/SAMBA_3_0/source/smbd/trans2.c


Changeset:
Modified: branches/SAMBA_3_0/source/client/client.c
===================================================================
--- branches/SAMBA_3_0/source/client/client.c	2007-03-21 00:25:08 UTC (rev 21897)
+++ branches/SAMBA_3_0/source/client/client.c	2007-03-21 00:44:15 UTC (rev 21898)
@@ -1787,6 +1787,48 @@
 /****************************************************************************
 ****************************************************************************/
 
+static int cmd_posix_encrypt(void)
+{
+	fstring buf;
+	fstring domain;
+	fstring user;
+	fstring password;
+	NTSTATUS status;
+
+	if (!next_token_nr(NULL,buf,NULL,sizeof(buf))) {
+		d_printf("posix_encrypt domain user password\n");
+		return 1;
+	}
+	fstrcat(domain,buf);
+	if (!next_token_nr(NULL,buf,NULL,sizeof(buf))) {
+		d_printf("posix_encrypt domain user password\n");
+		return 1;
+	}
+	fstrcat(user,buf);
+
+	if (!next_token_nr(NULL,buf,NULL,sizeof(buf))) {
+		d_printf("posix_encrypt domain user password\n");
+		return 1;
+	}
+	fstrcat(password,buf);
+
+	status = cli_raw_ntlm_smb_encryption_start(cli,
+						user,
+						password,
+						domain);
+	
+	if (!NT_STATUS_IS_OK(status)) {
+		d_printf("posix_encrypt failed with error %s\n", nt_errstr(status));
+	} else {
+		d_printf("encryption on\n");
+	}
+
+	return 0;
+}
+
+/****************************************************************************
+****************************************************************************/
+
 static int cmd_posix_open(void)
 {
 	pstring mask;
@@ -3227,6 +3269,7 @@
   {"newer",cmd_newer,"<file> only mget files newer than the specified local file",{COMPL_LOCAL,COMPL_NONE}},
   {"open",cmd_open,"<mask> open a file",{COMPL_REMOTE,COMPL_NONE}},
   {"posix", cmd_posix, "turn on all POSIX capabilities", {COMPL_REMOTE,COMPL_NONE}},
+  {"posix_encrypt",cmd_posix_encrypt,"<domain> <user> <password> start up transport encryption",{COMPL_REMOTE,COMPL_NONE}},
   {"posix_open",cmd_posix_open,"<name> 0<mode> open_flags mode open a file using POSIX interface",{COMPL_REMOTE,COMPL_NONE}},
   {"posix_mkdir",cmd_posix_mkdir,"<name> 0<mode> creates a directory using POSIX interface",{COMPL_REMOTE,COMPL_NONE}},
   {"posix_rmdir",cmd_posix_rmdir,"<name> removes a directory using POSIX interface",{COMPL_REMOTE,COMPL_NONE}},

Modified: branches/SAMBA_3_0/source/libsmb/clifsinfo.c
===================================================================
--- branches/SAMBA_3_0/source/libsmb/clifsinfo.c	2007-03-21 00:25:08 UTC (rev 21897)
+++ branches/SAMBA_3_0/source/libsmb/clifsinfo.c	2007-03-21 00:44:15 UTC (rev 21898)
@@ -310,20 +310,21 @@
 static NTSTATUS enc_blob_send_receive(struct cli_state *cli, DATA_BLOB *in, DATA_BLOB *out)
 {
 	uint16 setup;
-	char param[2];
+	char param[4];
 	char *rparam=NULL, *rdata=NULL;
 	unsigned int rparam_count=0, rdata_count=0;
 	NTSTATUS status = NT_STATUS_OK;
 
 	setup = TRANSACT2_SETFSINFO;
 
-	SSVAL(param,0,SMB_REQUEST_TRANSPORT_ENCRYPTION);
+	SSVAL(param,0,0);
+	SSVAL(param,2,SMB_REQUEST_TRANSPORT_ENCRYPTION);
 
 	if (!cli_send_trans(cli, SMBtrans2,
 				NULL,
 				0, 0,
 				&setup, 1, 0,
-				param, 2, 0,
+				param, 4, 0,
 				(char *)in->data, in->length, CLI_BUFFER_SIZE)) {
 		status = cli_nt_error(cli);
 		goto out;

Modified: branches/SAMBA_3_0/source/smbd/trans2.c
===================================================================
--- branches/SAMBA_3_0/source/smbd/trans2.c	2007-03-21 00:25:08 UTC (rev 21897)
+++ branches/SAMBA_3_0/source/smbd/trans2.c	2007-03-21 00:44:15 UTC (rev 21898)
@@ -2769,7 +2769,7 @@
 
 				DEBUG( 4,("call_trans2setfsinfo: request transport encrption.\n"));
 
-				status = srv_request_encryption_setup((unsigned char **)&pdata, &data_len);
+				status = srv_request_encryption_setup((unsigned char **)ppdata, &data_len);
 
 				if (NT_STATUS_EQUAL(status, NT_STATUS_MORE_PROCESSING_REQUIRED)) {
 					error_packet_set(outbuf, 0, 0, status, __LINE__,__FILE__);
@@ -2777,7 +2777,7 @@
 					return ERROR_NT(status);
 				}
 
-				send_trans2_replies( outbuf, bufsize, params, 0, pdata, data_len, max_data_bytes);
+				send_trans2_replies( outbuf, bufsize, params, 0, *ppdata, data_len, max_data_bytes);
 
 				if (NT_STATUS_IS_OK(status)) {
 					/* Server-side transport encryption is now *on*. */



More information about the samba-cvs mailing list