[SCM] Samba Shared Repository - branch master updated

Jeremy Allison jra at samba.org
Fri Mar 26 10:35:44 MDT 2010


The branch, master has been updated
       via  1fc5e7a... Revert the part of bug fix #7233 - print fails with jobs >4GB from Win7 clients.
      from  4b89195... s3-util_sock: Rise debug level for getpeername failed messages.

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 1fc5e7a3d6b1ee88da5479c8614ef18498799ae0
Author: Jeremy Allison <jra at samba.org>
Date:   Fri Mar 26 09:32:40 2010 -0700

    Revert the part of bug fix #7233 - print fails with jobs >4GB from Win7 clients.
    
    Submitter reports print file corruption after 2GB when SMBwrite etc.
    always write at EOF. Still working on the fix.
    
    Jeremy.

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

Summary of changes:
 source3/smbd/reply.c |   26 ++++----------------------
 1 files changed, 4 insertions(+), 22 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/smbd/reply.c b/source3/smbd/reply.c
index 5cb4220..1c99aec 100644
--- a/source3/smbd/reply.c
+++ b/source3/smbd/reply.c
@@ -3803,11 +3803,6 @@ void reply_writebraw(struct smb_request *req)
 	startpos = IVAL_TO_SMB_OFF_T(req->vwv+3, 0);
 	write_through = BITSETW(req->vwv+7,0);
 
-	if (fsp->print_file) {
-		/* Print files ignore the offset - use end of file. */
-		startpos = (SMB_OFF_T)-1;
-	}
-
 	/* We have to deal with slightly different formats depending
 		on whether we are using the core+ or lanman1.0 protocol */
 
@@ -3916,11 +3911,7 @@ void reply_writebraw(struct smb_request *req)
 			exit_server_cleanly("secondary writebraw failed");
 		}
 
-		if (fsp->print_file) {
-			nwritten = write_file(req,fsp,buf+4,(SMB_OFF_T)-1,numtowrite);
-		} else {
-			nwritten = write_file(req,fsp,buf+4,startpos+nwritten,numtowrite);
-		}
+		nwritten = write_file(req,fsp,buf+4,startpos+nwritten,numtowrite);
 		if (nwritten == -1) {
 			TALLOC_FREE(buf);
 			reply_nterror(req, map_nt_error_from_unix(errno));
@@ -4033,10 +4024,7 @@ void reply_writeunlock(struct smb_request *req)
 	startpos = IVAL_TO_SMB_OFF_T(req->vwv+2, 0);
 	data = (const char *)req->buf + 3;
 
-	if (fsp->print_file) {
-		/* Print files ignore the offset - use end of file. */
-		startpos = (SMB_OFF_T)-1;
-	} else if (numtowrite) {
+	if (numtowrite && !fsp->print_file) {
 		init_strict_lock_struct(fsp, (uint32)req->smbpid,
 		    (uint64_t)startpos, (uint64_t)numtowrite, WRITE_LOCK,
 		    &lock);
@@ -4157,10 +4145,7 @@ void reply_write(struct smb_request *req)
 	startpos = IVAL_TO_SMB_OFF_T(req->vwv+2, 0);
 	data = (const char *)req->buf + 3;
 
-	if (fsp->print_file) {
-		/* Print files ignore the offset - use end of file. */
-		startpos = (SMB_OFF_T)-1;
-	} else {
+	if (!fsp->print_file) {
 		init_strict_lock_struct(fsp, (uint32)req->smbpid,
 			(uint64_t)startpos, (uint64_t)numtowrite, WRITE_LOCK,
 			&lock);
@@ -4766,10 +4751,7 @@ void reply_writeclose(struct smb_request *req)
 	mtime = convert_time_t_to_timespec(srv_make_unix_date3(req->vwv+4));
 	data = (const char *)req->buf + 1;
 
-	if (fsp->print_file) {
-		/* Print files ignore the offset - use end of file. */
-		startpos = (SMB_OFF_T)-1;
-	} else if (numtowrite) {
+	if (numtowrite && !fsp->print_file) {
 		init_strict_lock_struct(fsp, (uint32)req->smbpid,
 		    (uint64_t)startpos, (uint64_t)numtowrite, WRITE_LOCK,
 		    &lock);


-- 
Samba Shared Repository


More information about the samba-cvs mailing list