From: Jeffrey Altman Date: Tue, 30 Jun 2009 19:11:28 +0000 (+0000) Subject: windows-dfs-file-set-warning-20090630 X-Git-Tag: openafs-devel-1_5_61~190 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=efdf78ae086ba02cc3f6ffbd7b0a2ca31743ced7;p=packages%2Fo%2Fopenafs.git windows-dfs-file-set-warning-20090630 LICENSE MIT Add a debug log warning if the target volume is a DFS File Set. If so, the client will not properly protect against information leakage or properly deal with directory name caching, symlinks, and other behavioral differences between AFS and DFS. --- diff --git a/src/WINNT/afsd/cm_volume.c b/src/WINNT/afsd/cm_volume.c index 17b6cd12e..fbc731889 100644 --- a/src/WINNT/afsd/cm_volume.c +++ b/src/WINNT/afsd/cm_volume.c @@ -452,6 +452,12 @@ long cm_UpdateVolumeLocation(struct cm_cell *cellp, cm_user_t *userp, cm_req_t * cm_AddVolumeToNameHashTable(volp); } + if (flags & VLF_DFSFILESET) { + volp->flags |= CM_VOLUMEFLAG_DFS_VOLUME; + osi_Log1(afsd_logp, "cm_UpdateVolume Volume Group '%s' is a DFS File Set. Correct behavior is not implemented.", + osi_LogSaveString(afsd_logp, volp->namep)); + } + if (flags & VLF_RWEXISTS) { if (volp->vol[RWVOL].ID != rwID) { if (volp->vol[RWVOL].flags & CM_VOLUMEFLAG_IN_HASH) diff --git a/src/WINNT/afsd/cm_volume.h b/src/WINNT/afsd/cm_volume.h index 704d21636..3cef972be 100644 --- a/src/WINNT/afsd/cm_volume.h +++ b/src/WINNT/afsd/cm_volume.h @@ -50,7 +50,7 @@ typedef struct cm_volume { #define CM_VOLUMEFLAG_IN_HASH 2 #define CM_VOLUMEFLAG_IN_LRU_QUEUE 4 #define CM_VOLUMEFLAG_UPDATING_VL 8 - +#define CM_VOLUMEFLAG_DFS_VOLUME 16 typedef struct cm_volumeRef { struct cm_volumeRef * next;