1 This file is a rough list of known issues with the 1.3.72 release of OpenAFS
2 on Windows. This list is not complete. There are probably other issues
3 which can be found in the RT database or on the mailing list.
6 (1) File/Directory access is not integrated with windows security
8 (3) SMB LANA list is static.
10 (3a) IP address changes cause the service to terminate due to an assertion
11 in smb_Listener() thread.
13 (3b) New IP addresses do not get bound
15 (3c) Loopback adapter hack:
16 (i) prevents use of AFS Gateway
17 (ii) requires installation of loopback adapter
18 (iii) the list of hack adapters is incomplete (VMWare, MS TV/Video, ...)
19 (iv) incompatible with Windows 2000 and earlier
21 (4) Performance of the AFS Client Service code simply sucks. The average
22 read, write, and delete times for AFS are more than ten times slower than
23 the equivalent Windows File Share operations. The Window File Share operations
24 are not all that fast. It has been claimed that the Windows AFS functions are
25 one hundred times slower than the equivalent operations on Linux. I would not
26 be at all surprised. The best we can do without rewriting AFS as a IFS would
27 be to match the Windows File Share performance. I believe the threading model
28 is imposing significant delays in the movement of data from between the SMB
29 and RX protocol operations. There was also an issue with large numbers of
30 page faults which have since been fixed.
32 (7) There appear to be directory locking problems associated with renaming
35 (8) File termination differences between Win9x and nt/w2k/xp (Jim Peterson)
37 (9) How to silence "Explorer" when the mapped drive is not available?
39 (10) Convert to IFS!!!!!!
41 (11) Kerberos 5 integration:
42 (11f) allow arbitrary cell to realm mappings
43 (11g) modify UI to allow user to choose whether to authenticate
45 (11h) modify UI to allow user to select an existing principal to
46 be used to request AFS tokens
47 (11i) modify UI to display Kerberos 5 ticket info (principal,
48 ticket lifetimes, etc)
50 (12) Default cell is system global just like everything else. Different
51 users logging in via Integrated Logon or using afscreds.exe cannot
52 be automatically prompted for different cells
54 (13) AFS Integrated Logon:
55 (13b) If using Kerberos, need to figure out a means of passing credentials
56 into the user space until such time as I finish the new credential
58 (13c) If network is not available must store the username and password
59 somewhere until such time as the network starts.
61 (14) Loopback adapter is not always installed with bindings to "File and
62 Printer Sharing for Microsoft Networks" or "Client for Microsoft
63 Networks". If these are not bound then SMB names will successfully
64 be published to a list of zero which causes the AFS not to function.
65 We need a way to test whether the Loopback adapter is properly bound
66 so we know if it is safe to use. Actually, it is worse. Even with
67 the bindings on Win2000 the loopback adapter frequently fails to publish
68 SMB names. Of course, the error messages report nothing.
70 (15) If a drive mapping is "in use", then afscreds cannot be used to Modify
71 or Delete the Mapping. If a map to "H:" to \afs\cell\foo" with
72 description "home" is modified to point to \afs\cell\bar, then the
73 description must be unique. "home" cannot be reused. We need a way
74 to remove "home" from the submount list.
76 [Actually, an end user should not be able to modify the submount list]
78 (16) WinAFS configuration values are still stored in old style INI files
79 instead of using the Registry. This is especially important for
80 per-user values such as drive mappings
82 (17) Drive mappings are lost on WinXP after return from Standby. (This could
83 be because the AFS Client Service fails OR because the RX protocol is
84 temporarily unable to access the Cell due to network restore timing
87 (18) No support for Unicode CIFS/SMB data structures. OEM Code Pages prevent
88 the use of interoperable file names; force the use of paths no longer
89 than 256 characters; force share names to be no longer than 13
90 characters; restrict authentication to ASCII only names and passwords;
93 (19) No auto-restart on service failure
95 (20) Better EventLog handling
97 (21) Named Pipes Support [requires modifications to AFS servers to support]
99 (22) Memory Mapped File support
101 (23) Large file support [both SMB/CIFS and AFS]
103 (24) Implement persistent disk based cache which survives restarts
105 (25) NSIS Installer issues
106 (a) integration with KFW install script
107 (b) Optional removal of AFS Server volumes
109 (26) The User Interface needs to be re-designed to separate the per-user
110 and per-machine settings. All of the new registry items need to
113 (27) Thread initialization versus Global Drive Mapping. There is no
114 mechanism in the afsd_init.c to ensure that all of the threads
115 complete initializing in the correct sequence. In the case of
116 Global Drive Maps this is a problem because the Global Drive Maps
117 can be executed prior to the completion of the SMB registration
118 and service thread initialization.
120 (28) CIFS Remote Administration Protocol implementation is incomplete.
121 Notifications are not made to requestors when the view of a file
122 or folder changes due to token acquisition; token expiration; or
125 (29) The Cache Manager Flush routines do not return or check error
128 (30) Remove submount creation as a side effect of AFS drive mapping.
130 The AFS Submount is effectively a server side alias for a path
131 located in the AFS space. This alias is exported by the AFS
132 SMB/CIFS Server to the Windows SMB/CIFS client as a Share name.
133 This makes the AFS Submount a system global setting which should
134 only be modified by a member of the "AFS Client Admin" group.
136 afs_creds.exe and afs_config.exe should be modified to no longer
137 use submount names when creating drive maps. Drive maps should
138 simply use the full AFS path name. Submounts should not be
139 created as a side effect of a drive mapping.
141 The creation of submounts should only be possible via afsshare.exe
142 or by the new AFS Client Service Administration tool when executed
143 by an authorized user.
145 (31) Add support for multi-homed servers
148 -------------------------------------------------------------------------
149 List of unfunded projects:
151 1. No longer use AFS Client Service "cell" as the default cell for individual users
152 2. Re-write afsd_service.exe to perform synchronized thread startup and shutdown.
153 Currently there is no synchronization of thread creation which results in timing
154 conflicts; and there is no attempt to cleanly shutdown the service which causes
155 problems when restarting and prevents the implementation of a persistent cache
156 3. Implement a persistent cache (requires item 2)
157 4. Prevent panic situation when the root.afs volume is not reachable and
158 the AFS Client Server is not using Freelance mode
159 5. Prevent panic situation when the IP address to which the SMB server is bound is removed
160 from the local machine's network configuration
161 6. Add support for Named Pipes within the afs filesystem
162 (This is not currently a supported feature of AFS; it will require
163 changes to the servers as well as the clients.)
164 7. Re-write afscreds.exe to support:
165 1. choosing between Kerberos 5 and Kerberos 4 on a per principal basis
166 2. providing users with the ability to map multiple cells to a single principal
167 3. providing change password functionality on a per principal basis
168 4. no longer include drive mapping
169 5. configuration of afscreds startup options in shortcut
170 8. Re-write afs_config.exe to be only "per user" functionality which does not require admin
172 1. default cell and principal for the user
173 2. drive mappings but no submounts
174 3. visibility of afs creds and setting of afs creds startup options
175 9. Create new afs_admin.exe tool to be installed in the administrator folder (or use MMS)
177 1. afs client service cell name
178 2. integrated logon configuration
179 3. Gateway configuration
180 4. start/stop service
181 5. global drive mapping
182 6. submount management
183 7. file/volume server preferences
185 9. cache configuration
187 11. network configuration
189 13. need to add support for all of the new registry values since 1.2.8
190 10. Identify why 16-bit DOS applications executed out of AFS fail
191 11. Add support for configurable Icon file representing AFS folders within the Explorer Shell
192 12. Documentation Documentation Documentation
193 13. Large File support (> 2GB)
194 14. Integrate KFW installation into the NSIS and MSI installers
195 15. Add support for record locking to AFS (requires changes to the servers)
196 16. Unicode enable the SMB/CIFS server. OEM Code Pages:
197 1. prevent the use of interoperable file names
198 2. force the use of paths no longer than 256 characters
199 3. force share names to be no longer than 13 characters
200 4. restrict authentication to ASCII only names and passwords
201 17. Complete implementation of CIFS Remote Administration Protocol
202 19. Add support for SMB/CIFS Digital Signatures
203 19. Development of afsmap.exe tool to provide AFS aware NET USE functionality
204 afsmap.exe <drive> <afs-path> [/PERSISTENT]
205 afsmap.exe <drive> <unc-path> [/PERSISTENT]
206 afsmap.exe <drive> /DELETE
207 20. Missing SMB/CIFS functions:
215 21. StoreBehind mode is not implemented. Or more correctly, all data is
216 written directly to the server and is not cached. Writes invalidate
217 the local cache entries which are then read back from the server.
218 22. The Power Management Flush Cache code does not work on Terminal
219 Server nor does it always successfully flush all of the dirty buffers
220 to the AFS servers before suspend/hibernate operations occur.
221 23. Develop an optional Installable File System replacement for the SMB/CIFS
223 24. Add support for storing Extended Attributes on files
224 25. Add support for storing Windows ACLs on files
225 26. Remove submount creation as a side effect of drive creation
226 27. Finish conversion from string.h to strsafe.h
227 28. Add support for multi-homed servers