DEVEL15-windows-volstat-and-vista-dfs-support-20071222
authorJeffrey Altman <jaltman@secure-endpoints.com>
Sun, 23 Dec 2007 04:52:58 +0000 (04:52 +0000)
committerJeffrey Altman <jaltman@secure-endpoints.com>
Sun, 23 Dec 2007 04:52:58 +0000 (04:52 +0000)
commita1076e12afb4691678d47e1b20d8137a3f1c80a7
treef93e152664c0f16d0837ea31e0f658433bb5f3ea
parenteb71f6a0a1872a3cf3aa06025c52549f6116fea4
DEVEL15-windows-volstat-and-vista-dfs-support-20071222

LICENSE MIT

This patch completes the implementation of smb_ReceiveTran2GetDFSReferral()
which is called by Vista even if we do not advertise the support of DFS
referrals.  It also adds DFS link mapping notifications to the volstat
interface which can be used by volstat plug-ins to redirect requests to
the dfs target path.

Other miscellaneous items:

(1) return EAS_NOT_SUPPORTED instead of EA length 0 and silently accepting
    but not storing EA data

(2) Call cm_VolStatus_Service_Started() before smb initialization instead
    of afterwards

(3) During directory enumeration and link assembly push the UNC path into
    the lower levels by storing references to the tidPath and the relative
    paths within the cm_req_t object.

(4) During directory enumeration make absolutely sure that we do not
    reference an unallocated cm_dirEntry_t object

(5) publish a prototype for cm_FollowMountPoint()

(6) return ERROR_RETRY instead of BAD_NETWORK_PATH if the server returns
    VBUSY

(7) return PATH_NOT_COVERED instead of BADSHARENAME for DfsLinks when
    a volstat plugin is in use

(cherry picked from commit 150919d690eca9ee00d3ce549554a058662c360c)
src/WINNT/afsd/afsd.h
src/WINNT/afsd/afsd_service.c
src/WINNT/afsd/cm.h
src/WINNT/afsd/cm_conn.h
src/WINNT/afsd/cm_vnodeops.c
src/WINNT/afsd/cm_vnodeops.h
src/WINNT/afsd/cm_volstat.c
src/WINNT/afsd/cm_volstat.h
src/WINNT/afsd/smb.c
src/WINNT/afsd/smb.h
src/WINNT/afsd/smb3.c