[SCM] Samba Shared Repository - branch v3-2-test updated - initial-v3-2-test-2618-gf64b46d

Volker Lendecke vl at samba.org
Thu Feb 28 13:16:38 GMT 2008


The branch, v3-2-test has been updated
       via  f64b46dc278899c3449cfd3dbb614aadcf5614d3 (commit)
       via  e69244a5c8c7c6b7c1897adc4b4b1cfdfc7a7999 (commit)
      from  b0d1db95e5d7590f9c67be7bf5cb78adfee16635 (commit)

http://gitweb.samba.org/?samba.git;a=shortlog;h=v3-2-test


- Log -----------------------------------------------------------------
commit f64b46dc278899c3449cfd3dbb614aadcf5614d3
Author: Volker Lendecke <vl at samba.org>
Date:   Thu Feb 28 14:04:54 2008 +0100

    Add cli_setup_packet_buf
    
    This is == cli_setup_packet but takes an explicit buffer argument

commit e69244a5c8c7c6b7c1897adc4b4b1cfdfc7a7999
Author: Volker Lendecke <vl at samba.org>
Date:   Thu Feb 28 14:03:38 2008 +0100

    Make cli_struct a talloc parent

-----------------------------------------------------------------------

Summary of changes:
 source/libsmb/clientgen.c |   58 ++++++++++++++++++++++++++------------------
 1 files changed, 34 insertions(+), 24 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source/libsmb/clientgen.c b/source/libsmb/clientgen.c
index ccd1cc6..6419123 100644
--- a/source/libsmb/clientgen.c
+++ b/source/libsmb/clientgen.c
@@ -450,31 +450,41 @@ bool cli_send_smb_direct_writeX(struct cli_state *cli,
  Setup basics in a outgoing packet.
 ****************************************************************************/
 
-void cli_setup_packet(struct cli_state *cli)
+void cli_setup_packet_buf(struct cli_state *cli, char *buf)
 {
+	uint16 flags2;
 	cli->rap_error = 0;
-	SSVAL(cli->outbuf,smb_pid,cli->pid);
-	SSVAL(cli->outbuf,smb_uid,cli->vuid);
-	SSVAL(cli->outbuf,smb_mid,cli->mid);
-	if (cli->protocol > PROTOCOL_CORE) {
-		uint16 flags2;
-		if (cli->case_sensitive) {
-			SCVAL(cli->outbuf,smb_flg,0x0);
-		} else {
-			/* Default setting, case insensitive. */
-			SCVAL(cli->outbuf,smb_flg,0x8);
-		}
-		flags2 = FLAGS2_LONG_PATH_COMPONENTS;
-		if (cli->capabilities & CAP_UNICODE)
-			flags2 |= FLAGS2_UNICODE_STRINGS;
-		if ((cli->capabilities & CAP_DFS) && cli->dfsroot)
-			flags2 |= FLAGS2_DFS_PATHNAMES;
-		if (cli->capabilities & CAP_STATUS32)
-			flags2 |= FLAGS2_32_BIT_ERROR_CODES;
-		if (cli->use_spnego)
-			flags2 |= FLAGS2_EXTENDED_SECURITY;
-		SSVAL(cli->outbuf,smb_flg2, flags2);
+	SIVAL(buf,smb_rcls,0);
+	SSVAL(buf,smb_pid,cli->pid);
+	memset(buf+smb_pidhigh, 0, 12);
+	SSVAL(buf,smb_uid,cli->vuid);
+	SSVAL(buf,smb_mid,cli->mid);
+
+	if (cli->protocol <= PROTOCOL_CORE) {
+		return;
+	}
+
+	if (cli->case_sensitive) {
+		SCVAL(buf,smb_flg,0x0);
+	} else {
+		/* Default setting, case insensitive. */
+		SCVAL(buf,smb_flg,0x8);
 	}
+	flags2 = FLAGS2_LONG_PATH_COMPONENTS;
+	if (cli->capabilities & CAP_UNICODE)
+		flags2 |= FLAGS2_UNICODE_STRINGS;
+	if ((cli->capabilities & CAP_DFS) && cli->dfsroot)
+		flags2 |= FLAGS2_DFS_PATHNAMES;
+	if (cli->capabilities & CAP_STATUS32)
+		flags2 |= FLAGS2_32_BIT_ERROR_CODES;
+	if (cli->use_spnego)
+		flags2 |= FLAGS2_EXTENDED_SECURITY;
+	SSVAL(buf,smb_flg2, flags2);
+}
+
+void cli_setup_packet(struct cli_state *cli)
+{
+	cli_setup_packet_buf(cli, cli->outbuf);
 }
 
 /****************************************************************************
@@ -537,7 +547,7 @@ struct cli_state *cli_initialise(void)
 		return NULL;
 	}
 
-	cli = SMB_MALLOC_P(struct cli_state);
+	cli = talloc(NULL, struct cli_state);
 	if (!cli) {
 		return NULL;
 	}
@@ -695,7 +705,7 @@ void cli_shutdown(struct cli_state *cli)
 	cli->fd = -1;
 	cli->smb_rw_error = SMB_READ_OK;
 
-	SAFE_FREE(cli);
+	TALLOC_FREE(cli);
 }
 
 /****************************************************************************


-- 
Samba Shared Repository


More information about the samba-cvs mailing list