iboukris / rpms / samba

Forked from rpms/samba 4 years ago
Clone
Blob Blame History Raw
From 94565270786003d6fb97ec7289b904948db281cd Mon Sep 17 00:00:00 2001
From: Jeremy Allison <jra@samba.org>
Date: Wed, 15 Jul 2009 14:00:41 -0700
Subject: [PATCH] Fix bug #6551 - win98 clients cannot connect after server upgrade to samba-3.4.0.
 The values of vuid and tid were not being correctly updated in the struct smb_request
 when passed to chain_reply inside sessionsetupX and tconX.
 Jeremy.

---
 source3/smbd/reply.c     |    2 ++
 source3/smbd/sesssetup.c |    1 +
 2 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/source3/smbd/reply.c b/source3/smbd/reply.c
index 6fe4f88..f76ab6d 100644
--- a/source3/smbd/reply.c
+++ b/source3/smbd/reply.c
@@ -759,6 +759,7 @@ void reply_tcon_and_X(struct smb_request *req)
 
 	END_PROFILE(SMBtconX);
 
+	req->tid = conn->cnum;
 	chain_reply(req);
 	return;
 }
@@ -1924,6 +1925,7 @@ void reply_ulogoffX(struct smb_request *req)
 	DEBUG( 3, ( "ulogoffX vuid=%d\n", req->vuid ) );
 
 	END_PROFILE(SMBulogoffX);
+	req->vuid = UID_FIELD_INVALID;
 	chain_reply(req);
 }
 
diff --git a/source3/smbd/sesssetup.c b/source3/smbd/sesssetup.c
index 2c92c41..044e398 100644
--- a/source3/smbd/sesssetup.c
+++ b/source3/smbd/sesssetup.c
@@ -1805,6 +1805,7 @@ void reply_sesssetup_and_X(struct smb_request *req)
 
 	SSVAL(req->outbuf,smb_uid,sess_vuid);
 	SSVAL(req->inbuf,smb_uid,sess_vuid);
+	req->vuid = sess_vuid;
 
 	if (!done_sesssetup)
 		max_send = MIN(max_send,smb_bufsize);
-- 
1.5.4.3