Author: jra
Date: 2007-07-11 21:01:06 +0000 (Wed, 11 Jul 2007)
New Revision: 23843

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=23843

Log:
Fix bug #4777, reported by Bill Marshall <[EMAIL PROTECTED]>.
Doing a DFS traverse through a deep link could fail (not using
explorer).
Jeremy.

Modified:
   branches/SAMBA_3_0_25/source/smbd/msdfs.c
   branches/SAMBA_3_2/source/smbd/msdfs.c
   branches/SAMBA_3_2_0/source/smbd/msdfs.c


Changeset:
Modified: branches/SAMBA_3_0_25/source/smbd/msdfs.c
===================================================================
--- branches/SAMBA_3_0_25/source/smbd/msdfs.c   2007-07-11 15:46:01 UTC (rev 
23842)
+++ branches/SAMBA_3_0_25/source/smbd/msdfs.c   2007-07-11 21:01:06 UTC (rev 
23843)
@@ -388,7 +388,8 @@
 
        pstrcpy(localpath, pdp->reqpath);
        status = unix_convert(conn, localpath, search_flag, NULL, &sbuf);
-       if (!NT_STATUS_IS_OK(status)) {
+       if (!NT_STATUS_IS_OK(status) && !NT_STATUS_EQUAL(status,
+                                       NT_STATUS_OBJECT_PATH_NOT_FOUND)) {
                return status;
        }
 

Modified: branches/SAMBA_3_2/source/smbd/msdfs.c
===================================================================
--- branches/SAMBA_3_2/source/smbd/msdfs.c      2007-07-11 15:46:01 UTC (rev 
23842)
+++ branches/SAMBA_3_2/source/smbd/msdfs.c      2007-07-11 21:01:06 UTC (rev 
23843)
@@ -389,7 +389,8 @@
 
        pstrcpy(localpath, pdp->reqpath);
        status = unix_convert(conn, localpath, search_flag, NULL, &sbuf);
-       if (!NT_STATUS_IS_OK(status)) {
+       if (!NT_STATUS_IS_OK(status) && !NT_STATUS_EQUAL(status,
+                                       NT_STATUS_OBJECT_PATH_NOT_FOUND)) {
                return status;
        }
 

Modified: branches/SAMBA_3_2_0/source/smbd/msdfs.c
===================================================================
--- branches/SAMBA_3_2_0/source/smbd/msdfs.c    2007-07-11 15:46:01 UTC (rev 
23842)
+++ branches/SAMBA_3_2_0/source/smbd/msdfs.c    2007-07-11 21:01:06 UTC (rev 
23843)
@@ -389,7 +389,8 @@
 
        pstrcpy(localpath, pdp->reqpath);
        status = unix_convert(conn, localpath, search_flag, NULL, &sbuf);
-       if (!NT_STATUS_IS_OK(status)) {
+       if (!NT_STATUS_IS_OK(status) && !NT_STATUS_EQUAL(status,
+                                       NT_STATUS_OBJECT_PATH_NOT_FOUND)) {
                return status;
        }
 

Reply via email to