On 08/06/2011 02:01, Hongwei Sun wrote:
Matthieu,

   I confirmed that there is a problem with the Netmon parser when displaying 
ReferralEntryFlag.  The ReferralEntryFlags should be in little endian.  In the 
packet, it should be parsed as 0x0004 that has TargetSetBoundary bit set for 
the first entry.  So this is not the problem.   I will file a Netmon parser bug 
for that.
Ok good !

   After looking further at the traces (XP to Samba and XP to Windows server 
2008R2), I think that the DFS referral v4 returned by Samba doesn't seem to 
have any problem.  The only differences between two responses are if the 
DFSPath and DFSAlternativePath are shared between ReferralEntries.      This 
should not be the problem if  the correct offsets are used.   The details are 
shown as below:

   Response from Samba:

      DfsPath: Index:1 \w2k8r2.home.matws.net\sysvol
      DfsAlternatePath: Index:1 \w2k8r2.home.matws.net\sysvol
      TargetPath: Index:1 \s2-w2k8r2.w2k8r2.home.matws.net\sysvol
      DfsPath: Index:2 \w2k8r2.home.matws.net\sysvol
      DfsAlternatePath: Index:2 \w2k8r2.home.matws.net\sysvol
      TargetPath: Index:2 \ares.w2k8r2.home.matws.net\sysvol

Response from Windows:

      DfsPath: \w2k8r2.home.matws.net\sysvol
      DfsAlternatePath: \w2k8r2.home.matws.net\sysvol
      TargetPath: Index:1 \s2-w2k8r2.w2k8r2.home.matws.net\sysvol
      TargetPath: Index:2 \ares.w2k8r2.home.matws.net\sysvol
Yeah I noticed this before, it's a limitation in our IDL compiler at the moment and it's uneasy to fix, but as far as I understand it's should be so much of a problem as the structure of the packet is correct (offset are correctly pointing to paths).

    It seems  that  XP client did  process  the DFS Referral Response v4 from 
Samba server correctly.   The following is the analysis of the events.

      Packet  339       XP      ARES    DFSC    DFSC:Get DFS Referral Request, 
FileName: \w2k8r2.home.matws.net\sysvol, MaxReferralLevel: 4
      Packet   340      ARES    XP      DFSC    DFSC:Get DFS Referral Response, 
NumberOfReferrals: 2 VersionNumber: 4

                        Two  TargetPaths returned :  
\s2-w2k8r2.w2k8r2.home.matws.net\sysvol,   \ares.w2k8r2.home.matws.net\sysvol

     Packet  345        XP      ARES    DNS     DNS:QueryId = 0xB8C8, QUERY 
(Standard query), Query  for s2-w2k8r2.w2k8r2.home.matws.net
     Packet  346        ARES    XP      DNS     DNS:QueryId = 0xB8C8, QUERY 
(Standard query), Response - Success, 172.16.100.27
      Packet 442        ARES    XP      ICMP    ICMP:Destination Unreachable 
Message, Host Unreachable, 172.16.100.27

                            The client goes to the first target 
(s2-w2k8r2.w2k8r2.home.matws.net), but it is not reachable.   Why was  
s2-w2k8r2.w2k8r2.home.matws.net not accessible ?  Was this intended because you 
were testing the DFS target failover ?
Well I tried to check that XP is a happy with samba4 as well as I expect him to be ok with Windows 2008R2.
    Packet 634  XP      ARES    ICMP    ICMP:Echo Request Message, From 
172.16.101.16 To 172.16.101.1
    Packet 657  XP      ARES    KerberosV5      KerberosV5:TGS Request Realm: 
W2K8R2.HOME.MATWS.NET Sname: cifs/ares.w2k8r2.home.matws.net
    Packet 659  ARES    XP      KerberosV5      KerberosV5:TGS Response Cname: 
Administrator
    Packet 668  XP      ARES    SMB     SMB:C; Tree Connect Andx, Path = 
\\ARES.W2K8R2.HOME.MATWS.NET\SYSVOL, Service = ?????

                          The client fails over to the second target 
(ares.w2k8r2.home.matws.net) and use the Kerberos to do session setup.

     It seems to me that when it fell back to NTLM, it was trying to access 
IPC$ for srvsrc service, not to access SYSVOL or NETLOGON. I don't see this in 
the trace between Windows.   I am not sure if it is related to the DFS Referral 
Response v4.
The thing is that XP is very slow with DFS referral response v4, and not only the first call (as you might expect with the first call as it is testing first the s2-w2k8r2 server). With a DFS referral response v3 it's very quick and responsive.

Also I noticed that most of the time XP comes to Windows server with level 3 request and not a level 4, is there anything in Windows server that trigger this behavior ?.

Matthieu.


--
Matthieu Patou
Samba Team        http://samba.org
Private repo      http://git.samba.org/?p=mat/samba.git;a=summary


_______________________________________________
cifs-protocol mailing list
[email protected]
https://lists.samba.org/mailman/listinfo/cifs-protocol

Reply via email to