msdfs, win98 / NT and non-resolvable symlink paths

Arjen van Drie arjen at mind.be
Thu Feb 14 02:43:07 GMT 2002


Hi,

a comparable message was sent to the samba general list, but no reply
was received. I assume it is a developement issue, although I am not a
developer myself.

Problem exists with Samba 2.2.2 and 2.2.3a. Tested on RedHat Linux 7.1



== Problem. ==

Where Windows2000 clients do, win98 and NT clients do not follow a msdfs
link. When we open Windows Eplorer, doubleclick on a mounted SMB network
share and click on one of the maps therein on the _left_ side of Windows
Explorer, the right side shows up empty. There are files though. From
then on, no matter what route we take to get to the share, the files
remain invisible.

When we log off the Win98 client and logon again, and we doubleclick the
Network Environment icon on the desktop to go to the Linux-symlinked
msdfs share, we _do_ see the content of the maps. As soon as we go by
the left side of Explorer again, maps and files become again invisible.




== Relevant parts from smb.conf: ==

The host's DNS and netbios name is ls-aiv-03.

In [global] we have:
   host msdfs = Yes

Then we have the dfs root:
[shared-aiv]
   path = /home/samba/dfsroot-aiv
   msdfs root = Yes
   browseable = Yes

And we have two shares, [pcsupp-aiv] and [hardsoft-aiv].

On the Linux filesystem we have two symlinks in /home/samba/dfsroot-aiv:

[root at ls-aiv-03 dfsroot-aiv]# ls -l
total 0
lrwxr-xr-x    1 root     root           28 Jan 30 11:35 hardsoft ->
msdfs:ls-aiv-03\hardsoft-aiv
lrwxr-xr-x    1 root     root           26 Jan 30 11:34 pcsupport ->
msdfs:ls-aiv-03\pcsupp-aiv



== Logging with debug level 5. ==


This the snippet from the w2k logfile (works):

[2002/01/30 11:08:47, 5] smbd/uid.c:become_user(201)
  become_user uid=(0,10067) gid=(0,79999999)
[2002/01/30 11:08:47, 3] smbd/vfs.c:vfs_init_default(98)
  Initialising default vfs hooks
[2002/01/30 11:08:47, 5] msdfs/msdfs.c:is_msdfs_link(185)
  is_msdfs_link: /home/samba/dfsroot-aiv/pcsupport ->
msdfs:ls-aiv-03\pcsupp-aiv
[2002/01/30 11:08:47, 3] msdfs/msdfs.c:setup_dfs_referral(600)
  setup_dfs_referral: Path \LS-AIV-03\shared-aiv\pcsupport\ to alternate
path(s): \ls-aiv-03\pcsupp-aiv.
[2002/01/30 11:08:47, 3] smbd/process.c:process_smb(860)
  Transaction 1449 of length 77


Snippet from the Win98 logfile (does not work):

[2002/01/30 11:12:59, 5] smbd/uid.c:become_user(201)
  become_user uid=(0,10067) gid=(0,79999999)
[2002/01/30 11:12:59, 3] smbd/vfs.c:vfs_ChDir(658)
  vfs_ChDir to /home/samba/dfsroot-aiv
[2002/01/30 11:12:59, 3] smbd/trans2.c:call_trans2findfirst(671)
  call_trans2findfirst: dirtype = 22, maxentries = 6,
close_after_first=0,
close_if_end = 0 requires_resume_key = 0 level = 260, max_data
_bytes = 2432
[2002/01/30 11:12:59, 5] msdfs/msdfs.c:is_msdfs_link(171)
  is_msdfs_link: /home/samba/dfsroot-aiv/pcsupport/* does not exist.
[2002/01/30 11:12:59, 5] msdfs/msdfs.c:is_msdfs_link(185)
  is_msdfs_link: /home/samba/dfsroot-aiv/pcsupport ->
msdfs:ls-aiv-03\pcsupp-aiv
[2002/01/30 11:12:59, 4] msdfs/msdfs.c:resolve_dfs_path(257)
  resolve_dfs_path: Redirecting \LS-AIV-03\SHARED-AIV\PCSUPPORT\*
because
parent /home/samba/dfsroot-aiv/pcsupport is dfs link
[2002/01/30 11:12:59, 3] msdfs/msdfs.c:dfs_redirect(309)
  dfs_redirect: Redirecting \LS-AIV-03\SHARED-AIV\PCSUPPORT\*
[2002/01/30 11:12:59, 3] smbd/error.c:error_packet(99)
  error string = No such file or directory
[2002/01/30 11:12:59, 3] smbd/error.c:error_packet(111)
  error packet at msdfs/msdfs.c(643) cmd=50 (SMBtrans2) eclass=2 ecode=3


The Win98 log also tells us:

  3 user groups: 
  79999999 10000002 10000004 
[2002/01/30 11:12:59, 5] smbd/uid.c:become_user(201)
  become_user uid=(0,10067) gid=(0,79999999)
[2002/01/30 11:12:59, 3] smbd/vfs.c:vfs_ChDir(658)
  vfs_ChDir to /tmp
[2002/01/30 11:12:59, 3] smbd/vfs.c:vfs_init_default(98)
  Initialising default vfs hooks
[2002/01/30 11:12:59, 3] msdfs/msdfs.c:get_referred_path(368)
  get_referred_path: .PCSUPP-AIV. in dfs path
\\LS-AIV-03\PCSUPP-AIV\PCSUPPORT\*.* is not a dfs root.
[2002/01/30 11:12:59, 3] smbd/error.c:error_packet(111)
  error packet at smbd/trans2.c(2334) cmd=50 (SMBtrans2) eclass=1
ecode=2


The dfs path \\LS-AIV-03\PCSUPP-AIV\PCSUPPORT does not exist, the map
PCSUPPORT only exists in \\LS-AIV-03\SHARED-AIV\.



We have been playing around with smb.conf, but nothing seems to solve 
our problem. That is why I assume it could (maybe even should) be fixed
in the code? 

Thank you,

Arjen van Drie.


-- 

Arjen van Drie.
Linux Consultant at Mind NV.
+32 (0)478 504 408
arjen at mind.be

============================
 Mind Linux Solutions
 Vaartkom 11
 3000 Leuven
 Belgium
 tel: +32 (0)16 309 666
 fax: +32 (0)16 309 644
 http://mind.be
============================






More information about the samba-technical mailing list