windows-notes-20050402
[openafs.git] / doc / txt / winnotes / afs-issues.txt
1 This file is a rough list of known issues with the 1.3.81 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 to the SMB server
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 Things are not quite this bad anymore.  We are 10% slower than OpenAFS on
33 Linux but we could still be doing quite a bit faster if we were using an
34 IFS.
35
36 (7) File termination differences between Win9x and nt/w2k/xp (Jim Peterson)
37
38 (8) How to silence "Explorer" when the mapped drive is not available?
39
40 (9) Convert to IFS!!!!!!
41
42 (10) Kerberos 5 integration:
43 (10f) allow arbitrary cell to realm mappings
44 (10g) modify UI to allow user to choose whether to authenticate
45       using Kerberos or AFS 
46 (10h) modify UI to allow user to select an existing principal to
47       be used to request AFS tokens
48 (10i) modify UI to display Kerberos 5 ticket info (principal, 
49       ticket lifetimes, etc) 
50
51 (11) Default cell is system global just like everything else.  Different
52      users logging in via Integrated Logon or using afscreds.exe cannot
53      be automatically prompted for different cells
54
55 (12) AFS Integrated Logon:
56 (12b) If using Kerberos, need to figure out a means of passing credentials
57       into the user space until such time as I finish the new credential
58       cache service.
59 (12c) If network is not available must store the username and password 
60       somewhere until such time as the network starts.
61
62 (13) Loopback adapter is not always installed without bindings to "File and 
63      Printer Sharing for Microsoft Networks" and with bindings to "Client for Microsoft 
64      Networks".   If these are not bound correct then SMB names will successfully
65      be published to a list of zero which causes the AFS not to function.
66      We need a way to test whether the Loopback adapter is properly bound
67      so we know if it is safe to use.  Actually, it is worse.  Even with
68      the bindings on Win2000 the loopback adapter frequently fails to publish
69      SMB names.  Of course, the error messages report nothing.
70
71 (14) If a drive mapping is "in use", then afscreds cannot be used to Modify
72      or Delete the Mapping.  If a map to "H:" to \afs\cell\foo" with 
73      description "home" is modified to point to \afs\cell\bar, then the 
74      description must be unique.  "home" cannot be reused.  We need a way 
75      to remove "home" from the submount list.  
76
77      [Actually, an end user should not be able to modify the submount list]
78
79 (15) Drive mappings are lost on WinXP after return from Standby.  (This could
80      be because the AFS Client Service fails OR because the RX protocol is
81      temporarily unable to access the Cell due to network restore timing
82      issues.)
83
84 (16) No support for Unicode CIFS/SMB data structures.  OEM Code Pages prevent
85      the use of interoperable file names; force the use of paths no longer 
86      than 256 characters; force share names to be no longer than 13 
87      characters; restrict authentication to ASCII only names and passwords;
88      etc.
89
90 (17) No auto-restart on service failure
91
92 (18) Better EventLog handling
93
94 (19) Named Pipes Support [requires modifications to AFS servers to support]
95
96 (20) Memory Mapped File support
97
98 (21) Large file support [both SMB/CIFS and AFS]
99
100 (22) Implement persistent disk based cache which survives restarts
101
102 (23) NSIS Installer issues
103      (a) integration with KFW install script
104      (b) Optional removal of AFS Server volumes
105
106 (24) The User Interface needs to be re-designed to separate the per-user
107      and per-machine settings.  All of the new registry items need to 
108      be added to the UI
109
110 (25) CIFS Remote Administration Protocol implementation is incomplete.
111      Notifications are not made to requestors when the view of a file
112      or folder changes due to token acquisition; token expiration; or
113      token destruction
114
115 (26) Remove submount creation as a side effect of AFS drive mapping.
116      
117      The AFS Submount is effectively a server side alias for a path 
118      located in the AFS space.  This alias is exported by the AFS 
119      SMB/CIFS Server to the Windows SMB/CIFS client as a Share name.  
120      This makes the AFS Submount a system global setting which should 
121      only be modified by a member of the "AFS Client Admin" group.
122
123      afs_creds.exe and afs_config.exe should be modified to no longer 
124      use submount names when creating drive maps.  Drive maps should 
125      simply use the full AFS path name.  Submounts should not be 
126      created as a side effect of a drive mapping.
127
128      The creation of submounts should only be possible via afsshare.exe 
129      or by the new AFS Client Service Administration tool when executed 
130      by an authorized user.
131
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. Prevent panic situation when the root.afs volume is not reachable and 
138       the AFS Client Server is not using Freelance mode
139    3. Prevent panic situation when the IP address to which the SMB server is bound is removed 
140       from the local machine's network configuration
141    4. Add support for Named Pipes within the afs filesystem
142       (This is not currently a supported feature of AFS; it will require 
143       changes to the servers as well as the clients.)
144    5. Re-write afscreds.exe to support:
145          1. choosing between Kerberos 5 and Kerberos 4 on a per principal basis
146          2. providing users with the ability to map multiple cells to a single principal
147          3. providing change password functionality on a per principal basis
148          4. no longer include drive mapping
149          5. configuration of afscreds startup options in shortcut
150    6. Re-write afs_config.exe to be only "per user" functionality which does not require admin 
151       privileges
152          1. default cell and principal for the user
153          2. drive mappings but no submounts
154          3. visibility of afs creds and setting of afs creds startup options
155    7. Create new afs_admin.exe tool to be installed in the administrator folder (or use MMS) 
156       which contains
157          1. afs client service cell name
158          2. integrated logon configuration
159          3. Gateway configuration
160          4. start/stop service
161          5. global drive mapping
162          6. submount management
163          7. file/volume server preferences
164          8. afs cells
165          9. cache configuration
166         10. diagnostics
167         11. network configuration
168         12. miscellaneous
169         13. need to add support for all of the new registry values since 1.2.8
170    8. Identify why 16-bit DOS applications executed out of AFS fail
171    9. Add support for configurable Icon file representing AFS folders within the Explorer Shell
172   10. Documentation Documentation Documentation
173   11. Large File support (> 2GB) in SMB/CIFS client
174   12. Integrate KFW installation into the NSIS and MSI installers
175   13. Add support for record locking to AFS (requires changes to the servers)
176   14. Unicode enable the SMB/CIFS server.  OEM Code Pages: 
177       1. prevent the use of interoperable file names
178       2. force the use of paths no longer than 256 characters
179       3. force share names to be no longer than 13 characters
180       4. restrict authentication to ASCII only names and passwords
181   15. Complete implementation of CIFS Remote Administration Protocol
182   16. Add support for SMB/CIFS Digital Signatures
183   17. Development of afsmap.exe tool to provide AFS aware NET USE functionality
184       afsmap.exe <drive> <afs-path> [/PERSISTENT]
185       afsmap.exe <drive> <unc-path> [/PERSISTENT]
186       afsmap.exe <drive> /DELETE
187   18. Missing SMB/CIFS functions: 
188         Find
189         FindUnique
190         FindClose
191         ReadBulk
192         WriteBulk       
193         WriteBulkData
194         Tran2::SessionSetup
195   19. StoreBehind mode is not implemented.  Or more correctly, all data is
196       written directly to the server and is not cached.  Writes invalidate
197       the local cache entries which are then read back from the server.
198   20. Develop an optional Installable File System replacement for the SMB/CIFS 
199       Server.
200   21. Add support for storing Extended Attributes on files
201   22. Add support for storing Windows ACLs on files
202   23. Remove submount creation as a side effect of drive creation
203   24. Finish conversion from string.h to strsafe.h for VS.NET 2005
204