winnotes-20041012
[openafs.git] / doc / txt / winnotes / afs-issues.txt
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.
4
5
6 (1) File/Directory access is not integrated with windows security 
7
8 (3) SMB LANA list is static.  
9
10 (3a) IP address changes cause the service to terminate due to an assertion 
11 in smb_Listener() thread.
12
13 (3b) New IP addresses do not get bound
14
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
20
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.
31
32 (7) There appear to be directory locking problems associated with renaming 
33 directories.
34
35 (8) File termination differences between Win9x and nt/w2k/xp (Jim Peterson)
36
37 (9) How to silence "Explorer" when the mapped drive is not available?
38
39 (10) Convert to IFS!!!!!!
40
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
44       using Kerberos or AFS 
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) 
49
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
53
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
57       cache service.
58 (13c) If network is not available must store the username and password 
59       somewhere until such time as the network starts.
60
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.
69
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.  
75
76 (16) WinAFS configuration values are still stored in old style INI files 
77      instead of using the Registry.  This is especially important for
78      per-user values such as drive mappings
79
80 (17) Drive mappings are lost on WinXP after return from Standby.  (This could
81      be because the AFS Client Service fails OR because the RX protocol is
82      temporarily unable to access the Cell due to network restore timing
83      issues.)
84
85 (18) No support for Unicode CIFS/SMB data structures.  OEM Code Pages prevent
86      the use of interoperable file names; force the use of paths no longer 
87      than 256 characters; force share names to be no longer than 13 
88      characters; restrict authentication to ASCII only names and passwords;
89      etc.
90
91 (19) No auto-restart on service failure
92
93 (20) Better EventLog handling
94
95 (21) Named Pipes Support [requires modifications to AFS servers to support]
96
97 (22) Memory Mapped File support
98
99 (23) Large file support [both SMB/CIFS and AFS]
100
101 (24) Implement persistent disk based cache which survives restarts
102
103 (25) NSIS Installer issues
104      (a) integration with KFW install script
105      (b) Optional removal of AFS Server volumes
106
107 (26) The User Interface needs to be re-designed to separate the per-user
108      and per-machine settings.  All of the new registry items need to 
109      be added to the UI
110
111 (27) Thread initialization versus Global Drive Mapping.  There is no
112      mechanism in the afsd_init.c to ensure that all of the threads 
113      complete initializing in the correct sequence.  In the case of 
114      Global Drive Maps this is a problem because the Global Drive Maps
115      can be executed prior to the completion of the SMB registration
116      and service thread initialization.
117
118 (28) Should we allow the AFSCACHE file to be stored in the Virtual Paging
119      file as long as we do not support persistent caches?
120
121 (29) CIFS Remote Administration Protocol implementation is incomplete.
122      Notifications are not made to requestors when the view of a file
123      or folder changes due to token acquisition; token expiration; or
124      token destruction
125
126 (30) Microsoft Office appears to have trouble editing files of ~20MB
127      or larger from within AFS.  Performance is particularly slow and
128      applications such as Word often crash upon saving the files.
129
130 (31) The Cache Manager Flush routines do not return or check error 
131      codes.        
132
133 -------------------------------------------------------------------------
134 List of unfunded projects:
135
136    1. No longer use AFS Client Service "cell" as the default cell for individual users
137    2. Re-write afsd_service.exe to perform synchronized thread startup and shutdown.  
138       Currently there is no synchronization of thread creation which results in timing 
139       conflicts; and there is no attempt to cleanly shutdown the service which causes 
140       problems when restarting and prevents the implementation of a persistent cache
141    3. Implement a persistent cache (requires item 2)
142    4. Prevent panic situation when the root.afs volume is not reachable and 
143       the AFS Client Server is not using Freelance mode
144    5. Prevent panic situation when the IP address to which the SMB server is bound is removed 
145       from the local machine's network configuration
146    6. Add support for Named Pipes within the afs filesystem
147       (This is not currently a supported feature of AFS; it will require 
148       changes to the servers as well as the clients.)
149    7. Re-write afscreds.exe to support:
150          1. choosing between Kerberos 5 and Kerberos 4 on a per principal basis
151          2. providing users with the ability to map multiple cells to a single principal
152          3. providing change password functionality on a per principal basis
153          4. no longer include drive mapping
154          5. configuration of afscreds startup options in shortcut
155    8. Re-write afs_config.exe to be only "per user" functionality which does not require admin 
156       privileges
157          1. default cell and principal for the user
158          2. drive mappings
159          3. visibility of afs creds and setting of afs creds startup options
160    9. Create new afs_admin.exe tool to be installed in the administrator folder (or use MMS) 
161       which contains
162          1. afs client service cell name
163          2. integrated logon configuration
164          3. Gateway configuration
165          4. start/stop service
166          5. global drive mapping
167          6. submount management
168          7. file/volume server preferences
169          8. afs cells
170          9. cache configuration
171         10. diagnostics
172         11. network configuration
173         12. miscellaneous
174         13. need to add support for all of the new registry values since 1.2.8
175   10. Identify why 16-bit DOS applications executed out of AFS fail
176   11. Add support for configurable Icon file representing AFS folders within the Explorer Shell
177   12. Documentation Documentation Documentation
178   13. Large File support (> 2GB)
179   14. Integrate KFW installation into the NSIS installer
180   15. Add support for record locking to AFS (requires changes to the servers)
181   16. Unicode enable the SMB/CIFS server.  OEM Code Pages: 
182       1. prevent the use of interoperable file names
183       2. force the use of paths no longer than 256 characters
184       3. force share names to be no longer than 13 characters
185       4. restrict authentication to ASCII only names and passwords
186   17. Complete implementation of CIFS Remote Administration Protocol
187   18. Correct the problems with overlapped writes which adversely affect 
188       Microsoft Office applications storing documents and temporary files
189       within AFS volumes
190   19. Add support for SMB/CIFS Digital Signatures
191   20. Development of afsmap.exe tool to provide AFS aware NET USE functionality
192       afsmap.exe <drive> <afs-path> [/PERSISTENT]
193       afsmap.exe <drive> <unc-path> [/PERSISTENT]
194       afsmap.exe <drive> /DELETE
195   21. Write-through caching appears to be unsupported.   Files copied to AFS
196       do not end up in the local cache.
197   22. Missing SMB/CIFS functions: 
198         Find
199         FindUnique
200         FindClose
201         ReadBulk
202         WriteBulk       
203         WriteBulkData
204         Tran2::SessionSetup
205   23. StoreBehind mode is not implemented.  Or more correctly, all data is
206       written directly to the server and is not cached.  Writes invalidate
207       the local cache entries which are then read back from the server.
208   24. The Power Management Flush Cache code does not work on Terminal 
209       Server nor does it always successfully flush all of the dirty buffers
210       to the AFS servers before suspend/hibernate operations occur.
211
212