Add explicit buf arg to cli_encrypt_message and cli_calculate_sign_mac
authorVolker Lendecke <vl@samba.org>
Tue, 12 Feb 2008 10:54:37 +0000 (11:54 +0100)
committerVolker Lendecke <vl@samba.org>
Thu, 28 Feb 2008 12:12:34 +0000 (13:12 +0100)
source/libsmb/cliconnect.c
source/libsmb/clientgen.c
source/libsmb/smb_seal.c
source/libsmb/smb_signing.c

index d88a5d624235da0167418379fbbb1c0211f8c57a..9c27d30166df48d82b3560d105bd2da360f51639 100644 (file)
@@ -757,7 +757,7 @@ static NTSTATUS cli_session_setup_ntlmssp(struct cli_state *cli, const char *use
                        
                        /* 'resign' the last message, so we get the right sequence numbers
                           for checking the first reply from the server */
-                       cli_calculate_sign_mac(cli);
+                       cli_calculate_sign_mac(cli, cli->outbuf);
                        
                        if (!cli_check_sign_mac(cli)) {
                                nt_status = NT_STATUS_ACCESS_DENIED;
index 3b7669f33ef560b292639d3b43b1fad31bd3a826..2fd304f13500b8cd948700f624d16884eb2e9b70 100644 (file)
@@ -343,10 +343,11 @@ bool cli_send_smb(struct cli_state *cli)
        if (cli->fd == -1)
                return false;
 
-       cli_calculate_sign_mac(cli);
+       cli_calculate_sign_mac(cli, cli->outbuf);
 
        if (enc_on) {
-               NTSTATUS status = cli_encrypt_message(cli, &buf_out);
+               NTSTATUS status = cli_encrypt_message(cli, cli->outbuf,
+                                                     &buf_out);
                if (!NT_STATUS_IS_OK(status)) {
                        close(cli->fd);
                        cli->fd = -1;
index b5befbf7cdcecba0e7adc2fd83adf28f781927a2..a81ae9afd553643e3460f20334e873e2d32e5818 100644 (file)
@@ -483,15 +483,15 @@ NTSTATUS cli_decrypt_message(struct cli_state *cli)
  Encrypt an outgoing buffer. Return the encrypted pointer in buf_out.
 ******************************************************************************/
 
-NTSTATUS cli_encrypt_message(struct cli_state *cli, char **buf_out)
+NTSTATUS cli_encrypt_message(struct cli_state *cli, char *buf, char **buf_out)
 {
        /* Ignore non-session messages. */
-       if(CVAL(cli->outbuf,0)) {
+       if (CVAL(buf,0)) {
                return NT_STATUS_OK;
        }
 
        /* If we supported multiple encrytion contexts
         * here we'd look up based on tid.
         */
-       return common_encrypt_buffer(cli->trans_enc_state, cli->outbuf, buf_out);
+       return common_encrypt_buffer(cli->trans_enc_state, buf, buf_out);
 }
index f03c21bd0e0c59e6a569c8afaebb0b257ed29354..eeaf28c3d1d095876cbe8eb6b1e9e570c9143e13 100644 (file)
@@ -573,9 +573,9 @@ void cli_free_signing_context(struct cli_state *cli)
  * Sign a packet with the current mechanism
  */
  
-void cli_calculate_sign_mac(struct cli_state *cli)
+void cli_calculate_sign_mac(struct cli_state *cli, char *buf)
 {
-       cli->sign_info.sign_outgoing_message(cli->outbuf, &cli->sign_info);
+       cli->sign_info.sign_outgoing_message(buf, &cli->sign_info);
 }
 
 /**