This file is a rough list of known issues with the 1.3.72 release of OpenAFS
on Windows.  This list is not complete.  There are probably other issues 
which can be found in the RT database or on the mailing list.


(1) File/Directory access is not integrated with windows security 

(3) SMB LANA list is static.  

(3a) IP address changes cause the service to terminate due to an assertion 
in smb_Listener() thread.

(3b) New IP addresses do not get bound

(3c) Loopback adapter hack:
  (i)   prevents use of AFS Gateway 
  (ii)  requires installation of loopback adapter
  (iii) the list of hack adapters is incomplete (VMWare, MS TV/Video, ...)
  (iv)  incompatible with Windows 2000 and earlier

(4) Performance of the AFS Client Service code simply sucks.  The average 
read, write, and delete times for AFS are more than ten times slower than 
the equivalent Windows File Share operations.  The Window File Share operations 
are not all that fast.  It has been claimed that the Windows AFS functions are
one hundred times slower than the equivalent operations on Linux.  I would not 
be at all surprised.  The best we can do without rewriting AFS as a IFS would
be to match the Windows File Share performance.  I believe the threading model
is imposing significant delays in the movement of data from between the SMB 
and RX protocol operations. There was also an issue with large numbers of 
page faults which have since been fixed.

(7) File termination differences between Win9x and nt/w2k/xp (Jim Peterson)

(8) How to silence "Explorer" when the mapped drive is not available?

(9) Convert to IFS!!!!!!

(10) Kerberos 5 integration:
(10f) allow arbitrary cell to realm mappings
(10g) modify UI to allow user to choose whether to authenticate
      using Kerberos or AFS 
(10h) modify UI to allow user to select an existing principal to
      be used to request AFS tokens
(10i) modify UI to display Kerberos 5 ticket info (principal, 
      ticket lifetimes, etc) 

(11) Default cell is system global just like everything else.  Different
     users logging in via Integrated Logon or using afscreds.exe cannot
     be automatically prompted for different cells

(12) AFS Integrated Logon:
(12b) If using Kerberos, need to figure out a means of passing credentials
      into the user space until such time as I finish the new credential
      cache service.
(12c) If network is not available must store the username and password 
      somewhere until such time as the network starts.

(13) Loopback adapter is not always installed with bindings to "File and 
     Printer Sharing for Microsoft Networks" or "Client for Microsoft 
     Networks".   If these are not bound then SMB names will successfully
     be published to a list of zero which causes the AFS not to function.
     We need a way to test whether the Loopback adapter is properly bound
     so we know if it is safe to use.  Actually, it is worse.  Even with
     the bindings on Win2000 the loopback adapter frequently fails to publish
     SMB names.  Of course, the error messages report nothing.

(14) If a drive mapping is "in use", then afscreds cannot be used to Modify
     or Delete the Mapping.  If a map to "H:" to \afs\cell\foo" with 
     description "home" is modified to point to \afs\cell\bar, then the 
     description must be unique.  "home" cannot be reused.  We need a way 
     to remove "home" from the submount list.  

     [Actually, an end user should not be able to modify the submount list]

(15) Drive mappings are lost on WinXP after return from Standby.  (This could
     be because the AFS Client Service fails OR because the RX protocol is
     temporarily unable to access the Cell due to network restore timing
     issues.)

(16) No support for Unicode CIFS/SMB data structures.  OEM Code Pages prevent
     the use of interoperable file names; force the use of paths no longer 
     than 256 characters; force share names to be no longer than 13 
     characters; restrict authentication to ASCII only names and passwords;
     etc.

(17) No auto-restart on service failure

(18) Better EventLog handling

(19) Named Pipes Support [requires modifications to AFS servers to support]

(20) Memory Mapped File support

(21) Large file support [both SMB/CIFS and AFS]

(22) Implement persistent disk based cache which survives restarts

(23) NSIS Installer issues
     (a) integration with KFW install script
     (b) Optional removal of AFS Server volumes

(24) The User Interface needs to be re-designed to separate the per-user
     and per-machine settings.  All of the new registry items need to 
     be added to the UI

(25) Thread initialization versus Global Drive Mapping.  There is no
     mechanism in the afsd_init.c to ensure that all of the threads 
     complete initializing in the correct sequence.  In the case of 
     Global Drive Maps this is a problem because the Global Drive Maps
     can be executed prior to the completion of the SMB registration
     and service thread initialization.

(26) CIFS Remote Administration Protocol implementation is incomplete.
     Notifications are not made to requestors when the view of a file
     or folder changes due to token acquisition; token expiration; or
     token destruction

(27) The Cache Manager Flush routines do not return or check error 
     codes.       

(28) Remove submount creation as a side effect of AFS drive mapping.
     
     The AFS Submount is effectively a server side alias for a path 
     located in the AFS space.  This alias is exported by the AFS 
     SMB/CIFS Server to the Windows SMB/CIFS client as a Share name.  
     This makes the AFS Submount a system global setting which should 
     only be modified by a member of the "AFS Client Admin" group.

     afs_creds.exe and afs_config.exe should be modified to no longer 
     use submount names when creating drive maps.  Drive maps should 
     simply use the full AFS path name.  Submounts should not be 
     created as a side effect of a drive mapping.

     The creation of submounts should only be possible via afsshare.exe 
     or by the new AFS Client Service Administration tool when executed 
     by an authorized user.

(29) Add support for multi-homed servers


-------------------------------------------------------------------------
List of unfunded projects:

   1. No longer use AFS Client Service "cell" as the default cell for individual users
   2. Re-write afsd_service.exe to perform synchronized thread startup and shutdown.  
      Currently there is no synchronization of thread creation which results in timing 
      conflicts; and there is no attempt to cleanly shutdown the service which causes 
      problems when restarting and prevents the implementation of a persistent cache
   3. Implement a persistent cache (requires item 2)
   4. Prevent panic situation when the root.afs volume is not reachable and 
      the AFS Client Server is not using Freelance mode
   5. Prevent panic situation when the IP address to which the SMB server is bound is removed 
      from the local machine's network configuration
   6. Add support for Named Pipes within the afs filesystem
      (This is not currently a supported feature of AFS; it will require 
      changes to the servers as well as the clients.)
   7. Re-write afscreds.exe to support:
         1. choosing between Kerberos 5 and Kerberos 4 on a per principal basis
         2. providing users with the ability to map multiple cells to a single principal
         3. providing change password functionality on a per principal basis
         4. no longer include drive mapping
         5. configuration of afscreds startup options in shortcut
   8. Re-write afs_config.exe to be only "per user" functionality which does not require admin 
      privileges
         1. default cell and principal for the user
         2. drive mappings but no submounts
         3. visibility of afs creds and setting of afs creds startup options
   9. Create new afs_admin.exe tool to be installed in the administrator folder (or use MMS) 
      which contains
         1. afs client service cell name
         2. integrated logon configuration
         3. Gateway configuration
         4. start/stop service
         5. global drive mapping
         6. submount management
         7. file/volume server preferences
         8. afs cells
         9. cache configuration
        10. diagnostics
        11. network configuration
        12. miscellaneous
        13. need to add support for all of the new registry values since 1.2.8
  10. Identify why 16-bit DOS applications executed out of AFS fail
  11. Add support for configurable Icon file representing AFS folders within the Explorer Shell
  12. Documentation Documentation Documentation
  13. Large File support (> 2GB) in SMB/CIFS client
  14. Integrate KFW installation into the NSIS and MSI installers
  15. Add support for record locking to AFS (requires changes to the servers)
  16. Unicode enable the SMB/CIFS server.  OEM Code Pages: 
      1. prevent the use of interoperable file names
      2. force the use of paths no longer than 256 characters
      3. force share names to be no longer than 13 characters
      4. restrict authentication to ASCII only names and passwords
  17. Complete implementation of CIFS Remote Administration Protocol
  19. Add support for SMB/CIFS Digital Signatures
  19. Development of afsmap.exe tool to provide AFS aware NET USE functionality
      afsmap.exe <drive> <afs-path> [/PERSISTENT]
      afsmap.exe <drive> <unc-path> [/PERSISTENT]
      afsmap.exe <drive> /DELETE
  20. Missing SMB/CIFS functions: 
        Find
        FindUnique
        FindClose
        ReadBulk
        WriteBulk       
        WriteBulkData
        Tran2::SessionSetup
  21. StoreBehind mode is not implemented.  Or more correctly, all data is
      written directly to the server and is not cached.  Writes invalidate
      the local cache entries which are then read back from the server.
  22. The Power Management Flush Cache code does not work on Terminal 
      Server nor does it always successfully flush all of the dirty buffers
      to the AFS servers before suspend/hibernate operations occur.
  23. Develop an optional Installable File System replacement for the SMB/CIFS 
      Server.
  24. Add support for storing Extended Attributes on files
  25. Add support for storing Windows ACLs on files
  26. Remove submount creation as a side effect of drive creation
  27. Finish conversion from string.h to strsafe.h for VS.NET 2005
  28. Add support for multi-homed servers
