bozo: test program update
[openafs.git] / doc / txt / winnotes / afs-changes-since-1.2.txt
index 1de4352..609ab2c 100644 (file)
@@ -1,3 +1,200 @@
+Since 1.6.0002 (1.6.0b)
+
+ * Correct an error in mount point string construction
+   when the user provides a cell alias to "fs mkmount"
+   instead of the full cell name.  Every mount point
+   string must end in a trailing dot.
+
+ * Major improvements to the Explorer Shell Extension.
+
+ * Addition of the AFS Redirector drivers and service
+   interface.
+
+Since 1.6.0001 (1.6.0a)
+
+ * Correct an error in CheckOfflineVolumeState processing
+
+ * Permit NPLogonNotify() to exit immediately if the
+   SetToken error is KTC_NOCM.
+
+Since 1.6.0000 (1.6.0)
+
+ * Avoid a cm_serverLock reference count leak.
+
+Since 1.5.9907 (1.6pre7)
+
+ * Add Shutdown message to the windows event log
+
+ * Check Offline Volume status according to the specified policy
+   not every time the daemon thread runs.
+
+ * if the directory object cannot be found in the tree, return
+   CM_ERROR_PATHNOTFOUND instead of crashing.
+
+ * avoid memoryt leak of cm_GetSpace() allocations
+
+ * improve afs/kfw error message output.  Include PT and KTC
+   errors.  Impacts afslogon.dll, afscreds.exe and afssrvadm.exe
+
+ * afslogon.dll NPNotifyLogon will now kick start the
+   afsd_service if it is not already in a pending start or
+   started state.
+
+ * properly construct the userrealm in the afskfw library.
+   do not include the '@' in the realm.
+
+ * fix the generation of HTML reference manual pages from
+   POD.
+
+ * No longer send release lock RPCs to a file server for
+   a deleted file.  Each attempt will fail with a VNOVNODE
+   abort.  Multiple aborts can result in the file server
+   throttling the client.
+
+ * cm_BkgDaemon should not perform the job of cm_SyncOp
+   which already properly serializes operations on the
+   a file.
+
+ * cm_BkgDaemon should not perform queued tasks on deleted
+   objects. Doing so is a waste of resources.
+
+ * Avoid rx nat pings prior to connection attachment.
+
+ * After directory enumeration completes move the directory
+   status object to the most recently used position to avoid
+   it being recycled when the directory contains more objects
+   that the status cache can hold.
+
+ * Reduce memory fragmentation caused by lock order validation
+   checks.
+
+ * When a status object is deleted, move its object to the
+   least recently used position in the queue to promote
+   recycling when the reference count drops to zero.
+
+ * Fix the osi_Log macros so they safe for use in if..else
+   statements by wrapping in do..while(0).  Several logged
+   messages were wrong as a result and there may have been
+   other logic errors caused by mismatched if and else
+   statements when braces were not used in the code.
+
+ * Apply interlocked operations to all state and queue fields
+   in the cm_call, cm_volume, cm_scache, and cm_buf objects
+   in order to ensure that operations are atomic.  State flag
+   bits were being lost on multi-processor systems under heavy
+   load.
+
+Since 1.5.9906 (1.6pre6)
+ * add support for detection of NTFS symlinks to
+   \\AFS using GetFileInformationByHandleEx which is
+   available on Vista, Server 2008 and beyond.
+
+ * improve thread safety of afs_shl_ext.dll
+
+ * MS11-043 adds response validation for SMB_COM_NEGOTIATE
+   messages received by the SMB Redirector.  OpenAFS failed
+   to properly specify a Challenge and DomainName in the
+   response when the security mode is SMB_AUTH_NONE (or share
+   with password).  This patchset corrects smb_ReceiveNegotiate()
+   so that it adheres to the protocol specification.
+
+ * smb_T2SearchDirSingle() must not fail directory search requests
+   for the _._AFS_IOCTL_._ file.  Although this file does not actually
+   exist, it is successfully processed by CreateFile operations.
+   Therefore, an explicit search for it should return a valid answer.
+
+ * cm_SyncOp/cm_SyncOpDone is used to synchronize the RPC processing
+   to ensure that calls which are in conflict cannot occur at the
+   same time but also to ensure that the ordering of operations
+   is consistent.  cm_MergeStatus() was in many cases executed after
+   cm_SyncOpDone() removed the synchronization barrier which in turn
+   permitted status information to be applied out of order.  Side
+   effects could have included data loss due to client side file
+   truncation.  More commonly two StoreData RPCs would have their
+   status information applied out of order forcing the cache manager
+   to invalidate all of the cached data for the file.
+
+ * cm_NewServer() can result in a call to cm_UpdateVolumeLocation()
+   if a server probe is performed.   In order to avoid recursive
+   calls to cm_UpdateVolumeLocation() do not probe new servers from
+   within cm_UpdateVolumeLocation().
+
+ * Numerous Rx improvements.
+
+ * Fix out of order lock acquisition in smb_ReceiveV3LockingX()
+   which occurs if the lock acquisition fails.
+
+Since 1.5.9905 (1.6pre5)
+ * aklog supports dotted Kerberos v5 principal names.
+
+ * afskfw library always attempts afs/cell@USER-REALM
+
+ * afskfw library must test return code from
+   krb5_cc_start_seq_get() or will trigger a null
+   pointer exception when using Heimdal.
+
+ * lock protected fields must be 32-bit in order
+   to avoid memory overwrite races.
+
+Since 1.5.9904 (1.6pre4)
+ * Fix caching of non-existent volumes.  The test to
+   trigger an immediate CM_ERROR_NOSUCHVOLUME in
+   cm_UpdateVolumeLocation() was backwards.
+
+ * Prevent the background daemon from checking the
+   status of non-existent volumes.  cm_CheckOfflineVolumes()
+   should skip volume groups with the CM_VOLUMEFLAG_NOEXIST
+   flag set.
+
+ * The afskfw library should return an error immediately
+   if the krb5_32.dll library cannot be loaded.  Affects
+   afslogon.dll and afscreds.exe.
+
+ * No longer depend on leashw32.dll in afskfw library.
+
+ * NPLogonNotify must provide the user password in all
+   calls to KFW_AFS_get_cred().  It cannot count on a
+   credential cache being preserved between calls.  Permits
+   tokens to be acquired for all cells listed in the
+   TheseCells registry value for a domain.
+
+ * Improve the trace logging from NPLogonNotify().
+
+ * Avoid a race when writing the cm_scache_t mountPointString
+   when acquiring mount point or symlink target data via
+   cm_GetData().  The race could result in bogus target
+   data being cached.
+
+ * Permit the use of des-cbc-md5 and des-cbc-md4 enctypes
+   as DES keys in asetkey.exe.
+
+Since 1.5.9903 (1.6pre3)
+ * Fix automatic addition of Freelance cell mount points
+   broken in 1.5.9902.
+
+ * Avoid recursive offline volume checks which could cause
+   a crash due to stack exhaustion.
+
+Since 1.5.9902 (1.6pre2)
+ * rx calls issued on a busy call channel are now specially
+   handled and logged.  All calls are automatically retried.
+
+ * The vos support for multi-homed servers was incorrectly
+   implemented.  The changes have been reverted.
+
+ * Avoid wasting cm_buf_t objects and associated data buffers
+   for obtaining mountpoint and symlink target strings.  Instead
+   read them directly into the cm_scache_t mountPointTarget
+   buffer.
+
+ * Optimize the evaluation of mountpoint and symlink targets
+   by skipping the FetchStatus and a full round-trip if
+   the cache manager does not have valid status information
+   for the object.
+
+ * Fix the abstraction of cm_FreelanceAddMount() by passing
+   in volume names that do not include the trailing dot.
+
 Since 1.5.78
  [there was no 1.6pre1 for Windows]