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