windows-volstat-and-vista-dfs-support-20071222
authorJeffrey Altman <jaltman@secure-endpoints.com>
Sun, 23 Dec 2007 04:51:59 +0000 (04:51 +0000)
committerJeffrey Altman <jaltman@secure-endpoints.com>
Sun, 23 Dec 2007 04:51:59 +0000 (04:51 +0000)
commit150919d690eca9ee00d3ce549554a058662c360c
tree554a055a3511b939539713e43e78cb6cc0e2a881
parentbb77b085ff420d8b13c1a71b3144b6b31258ad3d
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
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