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 <[EMAIL PROTECTED]>
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 <[EMAIL PROTECTED]>
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

Reply via email to