directory recursion problem
Shirish Kalele
kalele at veritas.com
Thu Apr 10 17:58:31 GMT 2003
John,
Apologies for not getting back to you on this, but at the time, I thought
this was an expensive way to fix what seemed like a corner case and was
wondering how it could be fixed better. And it must have slipped through.
I'll make sure to fix it in cvs this time.
I don't think Robin's problem is the same as yours. The last time I'd
investigated the directory recursion problem he reports, afaicr, I could
reproduce it with a Windows 2000 based DFS as well, and I concluded the
problem actually is with the client (probably the Explorer.exe program).
I'll try and confirm this.
- Shirish
----- Original Message -----
From: "John P Janosik" <jpjanosi at us.ibm.com>
To: <Robin.SOPER at tfeeuk.co.uk>
Cc: <samba-technical at lists.samba.org>
Sent: Thursday, April 10, 2003 9:47 AM
Subject: Re: directory recursion problem
>
>
>
>
> Robin -
>
> We were having the same problem along with a problem running binaries via
a
> UNC instead of a mapped drive if the binaries were more than two levels
> down a tree when the first level was a DFS referral. I made the following
> patch to Samba to fix the second problem, but we never saw the directory
> recursion problem again after this. Shirish Kalele said he would take a
> look at applying the patch or something similar, but I never heard back
and
> never saw the patch get applied. Here is a link to my post about the
> problem:
> http://lists.samba.org/pipermail/samba-technical/2002-August/038903.html.
>
> [rchfs2:root samba-2.2.5]# diff -urN
> source/msdfs/msdfs.c.origsource/msdfs/msdfs.c
> --- source/msdfs/msdfs.c.orig Tue Jun 18 20:13:44 2002
> +++ source/msdfs/msdfs.c Wed Aug 21 10:20:20 2002
> @@ -215,7 +215,7 @@
> BOOL* self_referralp, int* consumedcntp)
> {
> fstring localpath;
> -
> + int levels;
> char *p;
> fstring reqpath;
> @@ -253,7 +253,7 @@
> /* also redirect if the parent directory is a dfs link */
> fstrcpy(reqpath, dp->reqpath);
> p = strrchr(reqpath, '/');
> - if (p) {
> + for(levels=1; p; levels++) {
> *p = '\0';
> fstrcpy(localpath, conn->connectpath);
> fstrcat(localpath, "/");
> @@ -267,19 +267,23 @@
> the path consumed
> */
> if (consumedcntp) {
> - char *q;
> - pstring buf;
> + char *q;
> + pstring buf;
> + int j;
> safe_strcpy(buf, dfspath, sizeof(buf));
> trim_string(buf, NULL, "\\");
> - q = strrchr(buf, '\\');
> - if (q)
> - *q = '\0';
> + for(j=0; j<levels; j++) {
> + q = strrchr(buf, '\\');
> + if (q)
> + *q = '\0';
> + }
> *consumedcntp = strlen(buf);
> DEBUG(10, ("resolve_dfs_path:
Pathconsumed:
> %d\n", *consumedcntp));
> }
> return True;
> - }
> + }
> + p = strrchr(reqpath, '/');
> }
> return False;
>
>
> Date: Thu, 10 Apr 2003 09:52:22 +0100
> From: Robin.SOPER at tfeeuk.co.uk
> To: samba-technical at samba.org
> Subject: directory recursion problem
> Message-ID: <OF902C93F9.3D996294-ON80256D04.0030B9D0 at uk.ad.ep.corp.local>
> Content-Type: text/plain; charset="us-ascii"
> MIME-Version: 1.0
> Precedence: list
> Message: 29
>
> Hi,
>
> Hopefully you can help me with this one. I am using Samba 2.2.6 on two
> Solaris servers . The PC users all see all the shares as being on one
> system and it implements MSDFS to redirect any shares that are physically
> located on another system to the samba server on that system. We have
> been using this config successfully for a good while now, but recently
> it's been getting more and more use and we are experiencing an
> intermittent problem - sometimes when the users look in a directory
> (windows explorer) they see a directory within it with the same, when they
> open that they see a directory within it with the same name etc etc. i.e.
> a kind of recursive directory thing. Meanwhile other users will be using
> the samba shares with no problem. Restarting the PC seems to fix the
> problem - which maybe seems to suggest it's client related? However I am
> uncertain whether the problem lies with the WindowsNT4 clients (having a
> problem with DFS maybe) or with the samba server .
>
> Can you advise/help?
>
> Thanks in advance
>
>
> Robin Soper
> TotalFinaElf Exploration UK PLC
> Crawpeel Road, Altens,
> Aberdeen
> AB12 3FG
>
> Tel (01224) 297290
>
>
> John Janosik
>
More information about the samba-technical
mailing list