windows-byte-range-locks-20050816
[openafs.git] / doc / txt / winnotes / afs-changes-since-1.2.txt
index 4811671..980ac90 100644 (file)
@@ -1,3 +1,164 @@
+Since 1.3.87:
+ * Byte-range locking as described in cm_vnodeops.c has been implemented.
+
+ * When the cache manager reports ALLBUSY or ALLOFFLINE for
+   a resource we should not be returning status codes such
+   as Network Busy or Remote Host Down because these errors
+   will imply that the AFS Client Service is Busy or Down
+   and that is simply not the case.   Instead we will return
+   Bad Network Path as the path is temporarily not available.
+
+   Instead of returning Sharing Paused when there is a
+   timeout error, return Timeout.  Once again, the AFS Client
+   Service is not paused.
+
+ * afscreds.exe would display an Obtain Creds dialog when
+   the expired credentials reminder was triggered even 
+   if there was no network path to the KDC.  This is prevented
+   by adding KDC probe logic to the reminder thread.  
+
+ * afscreds.exe would display expired tokens no differently
+   than unexpired ones.  This would make it difficult for the
+   user to distiguish when the tokens were expired.  For the 
+   English build added a new resource string "(expired) that
+   is displayed instead of the expiration time. 
+
+Since 1.3.86:
+ * "fs wscell" when executed in freelance mode will return the
+   name of the cell configured in the registry.  The root.afs
+   volume is not loaded from this cell, but it is used for the
+   default for aklog and integrated login.
+
+ * "fs mkmount, fs rmmount, symlink make, symlink remove" will
+   no longer work on \\AFS\all when freelance is being used 
+   unless the user is a member of the "AFS Client Admins" Windows
+   Security group.
+
+ * some more checks performed during persistent cache validation.
+
+Since 1.3.85:
+ * Optimize calls to cm_CheckServer from cm_Analyze.  Only check
+   down servers for the current cell not all cells.
+
+ * If the scache LRU list becomes corrupted, the AFS Client Service
+   might enter an infinite loop at startup.   Detect the corruption
+   and discard the cache contents in this case.
+
+ * Fixed the Explorer Shell's remove mountpoint functionality.
+
+ * Fixed a deadlock caused by the holder of cm_aclLock attempting to 
+   obtain a mutex lock on a cm_scache_t object whose lock is held by
+   a thread attempting to obtain the cm_aclLock.
+
+Since 1.3.84:
+ * Really fixed DNS AFSDB queries to ensure that "csail" cannot be
+   misinterpretted as "csail.mit.edu" when the resolver 
+   is configured to append ".mit.edu" to failed DNS queries.
+
+ * Added a new registry key, "LogoffPreserveTokens" (see registry.txt),
+   that can be used to force the preservation of user tokens upon logout.
+
+ * Update the NSIS install scripts to use NSIS 2.07.   This release adds 
+   recommended installation categories: AFS Client, AFS Administrator,
+   AFS Server, AFS Development Kit.  Each category includes a different 
+   default subset of the OpenAFS components.
+
+   The OpenAFS logo is now associated with the NSIS uninstall entry
+   in the Add/Remove Programs control panel.
+
+ * The user name associated with AFS tokens when obtained with
+   integrated login, the afs systray tool, or aklog will always
+   include the full Kerberos 5 user principal name regardless of 
+   whether or not the cell is local to the realm.
+
+ * Eric William's IFS redirector has been checked onto the CVS head.
+   This code is experimental at the current time and is not being 
+   incorporated into the 1-4 branch releases.  Instructions for 
+   building from sources are found in the top-level README-NT file.
+
+ * Modify integrated login so that it does not enter an infinite
+   loop if the service is not set to auto start.
+
+ * Added asetkey.exe used to set a Kerberos 5 key for use by the
+   AFS server daemons
+
+ * Added uninstall.exe to Wix installation
+
+ * More modifications to algorithms used to wake sleeping threads.
+
+Since 1.3.83:
+
+ * Changes to the algorithms used to wake threads when they are
+   put to sleep because of conflicts over buffer operations.
+
+Since 1.3.82:
+ * The OpenAFS integrated logon obtains Kerberos 5 tickets as part of 
+   the process of producing AFS tokens.  The tokens are stored within
+   the AFS Client Service but the Kerberos 5 tickets have been discarded.
+   New functionality has been added to temporarily copy the tickets to
+   a file ccache during the short window between the NPLogonNotify and
+   WinLogon Logon Event.  The Logon Event handler starts a process as
+   user, afscpcc.exe, that copies the tickets into the default ccache.
+   The file ccache is then destroyed by the event handler.
+
+ * During synchronization operations on stat cache entries, if threads
+   are forced to sleep it was possible that the threads would not be
+   woken under heavy load.
+
+ * Enforce the delete on close flag specified by the NTCreateX()
+   operation.
+
+ * A race condition in the rx library was fixed that resulted in 
+   a deadlock in rx_NewCall when the RX_CONN_MAKECALL_WAITING flag
+   was cleared when threads were still waiting to use the 
+   connection.   Also, fixed a potential case in which the 
+   connection could be destroyed while threads were waiting to use it.
+
+ * The DNLC freelist has been seen to become corrupted with still 
+   active entries being stored on the freelist.  Changes were made
+   to perform a better job of cleaning entries before placing them
+   onto the freelist; marking them with the correct magic value when
+   purging the list; and allowing the list to be purged on startup
+   if the cache validation fails.
+
+ * Windows Crash Reporting does not get triggered for afsd_service.exe
+   because it provides its own top level exception handler.  This patch 
+   places an explicit call to ReportCrash() on platforms which support 
+   it.  (XP and above.)
+
+   If you configure Crash Reporting via AD Policy to capture crash
+   reports within the domain, then you will receive this output.
+
+ * Generate MiniDumps independent of the Windows Crash Reporting.
+   (a) If an exception occurs,a minidump will be generated at the path
+       %TEMP%\afsd.dmp. The type of minidump defaults to Normal but 
+       can be set to any other type via use of the
+       registry.      
+
+       [HKLM\SOFTWARE\OpenAFS\Client]  MiniDumpType (DWORD)
+
+   (b) MiniDumps can be generated at any time using the "fs minidump"
+       command.   This allows you to generate a minidump without 
+       stopping the process or even requiring the use of a debugger
+       on the system.
+
+  * an RX connection which reports bad ticket now treats it the same way
+    the expired ticket is treated.   The ticket is removed from the 
+    connection and a new anonymous connection is established.
+
+  * fs memdump now requires that the caller be in the AFS Client Admins
+    group
+
+  * additional debugging information is provided in cm_Analyze when the
+    error code is ignored.
+
+  * Fix a regression introduced into the pioctl() client code which
+    will cause a crash in winlogon.exe, explorer.exe and fs.exe if
+    MIT KFW is not installed. (1.3.82a)
+
+  * Remove AFS Gateway option from OpenAFS Control Panel (1.3.82a)
+
 Since 1.3.81:
   * Fix a race condition in cm_EndCallbackGrantingCall() that 
     could leave 'nrevp' pointing to freed memory.  In the process,