[Samba] Difficulty w/Offline Files and Samba 3.0.25

Jeremy Allison jra at samba.org
Mon Jun 4 22:37:25 GMT 2007


On Fri, Jun 01, 2007 at 08:50:48AM -0700, David F. Severski wrote:
> Good morning,
> 
> I have a working Offline Files setup w/Samba 3.0.24 (FreeBSD 6.2 host OS)
> and a Win XP SP2 client.  Upon updating to Samba 3.0.25, the XP client's
> offline cache would show (as viewed via the Offline Files Folder) that
> synced files are write-only ('User W' in the Access column).  When
> offline, theses files appeared to be available via Explorer and double
> clicking would launch the appropriate program, but would then generate a
> file not found error.  Reverting to Samba 3.0.24 and resyncing has
> corrected the problem ('User R/W' in the Access column and proper access
> restored when offline).
> 
> My smb.conf is attached.  Apart from the 'map acl inherit' parameter,
> which I added when upgrading to 3.0.25 at the suggestion of WHATSNEW.txt,
> this configuration file has not been changed in several months.  Any
> suggestions as to what the cause of this problem could be?  Are any of
> the recent changes in 3.0.25a likely applicable to this problem?

It was an off-by-one error in some code I added into 3.0.25.
I've now fixed it in the codebases and it will be in any
subsequent release. If you want the patch for 3.0.25a I've
attached it to this email.

Very, very, sorry for this bug :-(.

Jeremy.
-------------- next part --------------
Index: smbd/nttrans.c
===================================================================
--- smbd/nttrans.c	(revision 23345)
+++ smbd/nttrans.c	(working copy)
@@ -414,7 +414,7 @@
 	p += 4;
 
 	if (flags & EXTENDED_RESPONSE_REQUIRED) {
-		p += 26;
+		p += 25;
 		SIVAL(p,0,FILE_GENERIC_ALL);
 		/* 
 		 * For pipes W2K3 seems to return
@@ -944,7 +944,7 @@
 
 	if (flags & EXTENDED_RESPONSE_REQUIRED) {
 		uint32 perms = 0;
-		p += 26;
+		p += 25;
 		if (fsp->is_directory || can_write_to_file(conn, fname, &sbuf)) {
 			perms = FILE_GENERIC_ALL;
 		} else {
@@ -1029,7 +1029,7 @@
 	p += 4;
 	
 	if (flags & EXTENDED_RESPONSE_REQUIRED) {
-		p += 26;
+		p += 25;
 		SIVAL(p,0,FILE_GENERIC_ALL);
 		/* 
 		 * For pipes W2K3 seems to return
@@ -1625,7 +1625,7 @@
 
 	if (flags & EXTENDED_RESPONSE_REQUIRED) {
 		uint32 perms = 0;
-		p += 26;
+		p += 25;
 		if (fsp->is_directory || can_write_to_file(conn, fname, &sbuf)) {
 			perms = FILE_GENERIC_ALL;
 		} else {


More information about the samba mailing list