[SCM] Samba Shared Repository - branch v3-2-test updated - initial-v3-2-test-1352-gef9b278

Jeremy Allison jra at samba.org
Mon Jan 14 21:59:26 GMT 2008


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 <jra at samba.org>
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


More information about the samba-cvs mailing list