The branch, v3-2-test has been updated
       via  ef9b278b6289a9ecdd6b103927058f64fbb7eb97 (commit)
      from  a861ff20917eeca303e2d36de71cd8614e937d5f (commit)

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


- Log -----------------------------------------------------------------
commit ef9b278b6289a9ecdd6b103927058f64fbb7eb97
Author: Jeremy Allison <[EMAIL PROTECTED]>
Date:   Mon Jan 14 13:46:06 2008 -0800

    Windows insists on write sizes < max_xmit on signed connections.
    Jeremy.

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

Summary of changes:
 source/libsmb/clireadwrite.c |    9 ++++++---
 1 files changed, 6 insertions(+), 3 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source/libsmb/clireadwrite.c b/source/libsmb/clireadwrite.c
index 0b33e43..6b39a88 100644
--- a/source/libsmb/clireadwrite.c
+++ b/source/libsmb/clireadwrite.c
@@ -404,6 +404,9 @@ ssize_t cli_write(struct cli_state *cli,
                mpx = 1;
        }
 
+       /* Default (small) writesize. */
+       writesize = (cli->max_xmit - (smb_size+32)) & ~1023;
+
         if (write_mode == 0 &&
                        !client_is_signing_on(cli) &&
                        !cli_encryption_on(cli) &&
@@ -415,11 +418,11 @@ ssize_t cli_write(struct cli_state *cli,
        } else if (cli->capabilities & CAP_LARGE_WRITEX) {
                if (cli->is_samba) {
                        writesize = CLI_SAMBA_MAX_LARGE_WRITEX_SIZE;
-               } else {
+               } else if (!client_is_signing_on(cli)) {
+                       /* Windows restricts signed writes to max_xmit.
+                        * Found by Volker. */
                        writesize = CLI_WINDOWS_MAX_LARGE_WRITEX_SIZE;
                }
-       } else {
-               writesize = (cli->max_xmit - (smb_size+32)) & ~1023;
        }
 
        blocks = (size + (writesize-1)) / writesize;


-- 
Samba Shared Repository

Reply via email to