]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
windows-dfs-file-set-warning-20090630
authorJeffrey Altman <jaltman@secure-endpoints.com>
Tue, 30 Jun 2009 19:11:28 +0000 (19:11 +0000)
committerJeffrey Altman <jaltman@secure-endpoints.com>
Tue, 30 Jun 2009 19:11:28 +0000 (19:11 +0000)
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.

src/WINNT/afsd/cm_volume.c
src/WINNT/afsd/cm_volume.h

index 17b6cd12e8eb890d84ba85631777be06858824d1..fbc7318897f644809f9b99532b158ca2072c59a3 100644 (file)
@@ -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)
index 704d21636b8d9c88808a900422ec06e589b27ff9..3cef972bee5d0e13066b0092eb8836080cced5a9 100644 (file)
@@ -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;