User-Visible OpenAFS Changes
-OpenAFS 1.6.0 (in progress)
+OpenAFS 1.8 (in progress)
+
+ All Platforms
+
+ * Substantial code quality improvements, largely spotted by Coverity and
+ clang's static analysis.
+ - Add new library for platform independent functions (opr).
+ - Remove arbitrary path name length limits.
+ - Convert to Heimdal's roken library for reliability.
+ - Avoid garbage in allocated buffers (calloc).
+ - Modernize signal handling in pthreaded server processes (softsig).
+ - Improve code comments and additional Doxygen style comments.
+ - Reduce compiler warnings, dead code, unused variables, and
+ undefined behavior.
+ - Fix bugs found by static code analyzer (clang-analyzer).
+ - Improved unit test coverage.
+ - Make VLDB flag definitions consistent.
+ - Improve use of run-time assertions and add static assertions.
+ - Add compiler attributes to assist static analyzers.
+ - Clean up include headers in the entire tree.
+ - Improve command-line handling library (libcmd).
+ - Replace hash functions with Jenkin's hash function for faster
+ and more evenly distributed lookups.
+ - Provide a red-black tree data structure to enable algorithmic speedups.
+ - Convert backup and salvage servers to the common logging API (libutil).
+ - Improve volume id data type consistency (VolumeId).
+ - Import APIs for kerberos-style profile configuration support.
+ - Add new APIs to support UserList identities.
+ - Add new APIs to support tabular output from command-line utilities.
+
+ * Improved support for non-DES encryption types:
+ - Convert to Heimdal's hcrypto library to support RFC 3961.
+ - Add extended key file format replacing rxkad.keytab, and
+ new key management APIs.
+ - Add support for extended key types to asetkey.
+ - Add akeyconvert to assist in upgrading to OpenAFS 1.8.x by converting an
+ existing rxkad.keytab file to an extended key file.
+ - Do not install the kaserver and related utilities by default to
+ discourage the use of these DES-dependent components.
+ - Remove obsolete klogin and klogin.krb programs.
+ - Add new token APIs to support new rx security classes.
+
+ * Migrate from LWP to POSIX threads (pthreads):
+ - Convert the ptserver and vlserver from LWP to pthreads.
+ - Remove LWP version of the file server binary.
+ - Convert afsd, aklog, asetkey, klog.krb5, pts, udebug, and vos, from LWP
+ to pthreads.
+
+ * Improvements to Rx:
+ - Restructure the Rx API to privatize the implementation.
+ - Convert rx events to a red-black tree data structure to improve
+ performance.
+ - Convert from mutexes to atomic operations for counters to reduce lock
+ contention.
+ - Provide per-opcode Rx statistics.
+ - Add an rx_opaque data type to support non-DES encryption types
+ and general code cleanup.
+
+ * Libraries (both internal and installed) are built using libtool, including
+ libuafs. The resulting shared libraries for libafsrpc and libafsauthent
+ should be more usable than previously.
+
+ * Improvements to the build system:
+ - Convert to libtool to build shared libraries.
+ - Clean up and improve the build system.
+ - Support out of tree builds.
+ - Add a makefile target to generate Doxygen source code documentation.
+ - Link the Java API for OpenAFS with libuafs.a and remove the
+ libjuafs.a library.
+ - Always build the rxperf tool.
+
+ * Improvements to documentation:
+ - Document the new KeyFileExt file.
+ - Reorganized the README files.
+ - Improvements and fixes to documentation generation.
+ - Add experimental epub and mobi support
+ - Remove obsolete LWP information from the file server documentation.
+ - Update and reorganize the Quick Start Guide.
+ - Update the Admin Guide.
+ - Remove AIX, HP-UX, and IRIX information from the Quick Start Guide.
+ - Document the vldb and prdb (ubik) file formats.
+ - Corrections and clarifications to man pages.
+
+ * Improvements for troublshooting, debugging, and testing:
+ - Log more details on volume-server-to-fileserver communication errors
+ when possible.
+ - Set thread names in pthreaded servers on platforms which support
+ thread names.
+ - Add dynroot lock tracking to cmdebug
+ - Fix tracking of an fstrace call site in the cache manager background
+ process.
+ - Add the afsload tool to simulate multiple cache managers for file server
+ load testing.
+ - Add run-time checks for refcount imbalances in the cache manager.
+
+ * Developer tool improvements:
+ - Improvements and fixes for rxgen (used to generate Rx RPC bindings).
+ - Add tool for man page verification of command options.
+ - Add tool to find Unix cache manager lock identification numbers.
+ - Add an option for pretty build output.
+
+ * Add a new protection error code (PRNAMETOOLONG) instead of silently
+ truncating names which exceed the maximum name length (PR_MAXNAMELEN).
+
+ * Add an implementation limit (50000) on the number of names/ids which can
+ be transmitted by unauthenticated clients to the ptserver, avoiding
+ excessive resource consumption from unauthenticated requests.
+
+ * Add the -config option to vos, pts, and aklog to specify the path to the
+ cell configuration files.
+
+ * Add more details in vos release -verbose output.
+
+ * Add the cacheout -encrypt option to encrypt communication between the
+ cacheout client and the fileserver.
+
+ * Add the command line options to the afsio program to enable encryption of
+ traffic between afsio and the fileserver (-clear, -crypt).
+
+ * Add the vos release -force-reclone option to force recloning the volume to
+ be released without forcing a full volume dump being transmitted to all
+ remote sites.
+
+ * Fix vos to avoid writing loopback addresses into the VLDB in
+ certain cases.
+
+ * Print bos and pts error messages to standard error instead of
+ standard out.
+
+ * Improve formatting of the -help output of all commands.
+
+ * Change -n to -dryrun in all backup subcommands.
+
+ * Change the backup deletedump -port command line option to -portoffset.
+
+ * Add user and build host in the version string returned by
+ rxdebug -version.
+
+ All Server Platforms
+
+ * Ubik servers using pthreads are now available and are used by default
+
+ * Remove periodic background fsync by the fileserver (ihandle fsync thread).
+
+ * Fix potential file handle leak in the file server ihandle caching layer.
+
+ * Disable the so-called "hot threads" feature in the file server. The hot
+ threads feature was intended as an optimization for dispatching incoming
+ calls to the current listener thread, but has been reported to incur a
+ performance penalty on modern multi-core systems.
+
+ * Do not permit creation of users with id of ANONYMOUSID.
+
+ * Add the ptserver -restrict_anonymous option to inhibit exposure of user
+ names from the ptserver.
+
+ * Do not truncate server log files by default when server processes
+ are started. The -transarc-logs option provides backward compatibility
+ with IBM AFS log handling on server startup. Log messages may be lost
+ in back-to- back restarts when a server is running in this mode.
+
+ * Reopen server logs on SIGUSR1. This may be used by third-party log
+ rotation tools, such as logrotate, to reopen the log file handles after
+ log files have been renamed.
+
+ * Fix various bugs when logging with -mrafslogs enabled.
+
+ * Dynamically reload the kerberos realm to AFS cell mapping (krb.conf) and
+ exclusions for mapping kerberos principals to AFS identities (krb.excl)
+ configuration when the CellServDB cell configuration file is touched.
+ Previously, a restart of the file server was required after updating the
+ kerberos mapping configuration files.
+
+ * Add a command line option (-restricted_query) to the vlserver and
+ volserver to restrict information queries about volumes to a specific
+ group of users.
+
+ * Add a command line option to the server programs to specify an alternate
+ fully qualified log file name (-logfile).
+
+ * Add a command line option (-config) to the server programs to specify
+ an alternate path to the server configuration.
+
+ * Add a command line option to the ptserver and vlserver to specify an
+ alternate path to the database data files.
+
+ * Add a command line option to the volume server to enable encryption of
+ volume-server-to-volume-server-traffic (-s2scrypt).
+
+ * Increase the maximum number of LWP threads allowed for the ptserver and
+ vlserver from 16 to 64 (-lwp).
+
+ * Remove an unused file server command line option (-k).
+
+ * Fix an incorrect assertion in Demand Attach File Server which could cause
+ the file server process to abort in certain rare conditions.
+
+ * Deprecate the -bitmap-later configure option for non-Demand-Attach File
+ Servers (DAFS).
+
+ * Add -vhashsize support to non-Demand-Attach File Servers (DAFS).
+
+ * Add support for subnet ranges in the NetInfo and NetRestrict
+ configuration files.
+
+ * Add the GetXStats RPC to the audit log.
+
+ * Fix directory creation by bosserver when built for non-Transarc paths.
+
+ * Fix incomplete list of server addresses retreived by vos listaddr when the
+ vldb contains unreferenced multi-homed server entries.
+
+ * Remove obsolete bos blockscanner and unblockscanner commands that
+ were only needed for the removed MR-AFS functionality.
+
+ * Remove obsolete bos salvage options that were only used by the
+ removed MR-AFS functionality..
+
+ * Remove calls to the deprecated sbrk() function.
+
+ * Add an experimental feature to database servers to support ubik reads
+ while write transactions are in progress, enabled at build time with the
+ --enable-ubik-read-while-write configure option. This feature is not
+ considered ready for production usage at this time.
+
+ All Client Platforms
+
+ * Add support for relative ACL changes with fs setacl. If a single plus (+)
+ or minus (-) character is appended to the rights' letters argument, the
+ new rights are computed relatively to the existing ones.
+
+ * Remove afsd -settime and afsd -nosettime support.
+
+ * Add the afsd -inumcalc option to specify the method used to calculate
+ inode numbers presented by AFS.
+
+ * Return EIO on internal errors instead of the misleading ENOENT.
+
+ * Log ICMP errors received, if any, for unreachable servers.
+
+ * Improve performance of clients with multiple PAGs for different cells.
+
+ * Fix race condition between changing and using user tokens among cache
+ manager threads.
+
+ * Fix fs sysname for users with UID 2748 and 2750 when not running
+ in -rmtsys mode.
+
+ * Add Perl bindings for the user-space cache manager library (libuafs).
+
+ * Fixes to the bypasscache feature.
+
+ * Remove the obsolete Netscape plugin.
+
+ Linux
+
+ * Remove Linux 2.2 and 2.4 support.
+
+ * Changes to avoid EIO errors with multiple processes doing intensive mmap
+ writing. (Drop PageReclaim AOP_WRITEPAGE_ACTIVATE.)
+
+ * Prevent fakestat data inconsistencies in certain cases (131855).
+
+ * Fix dentry leak which can cause a crash on shutdown.
+
+ * Improve error reporting when encountering corrupt directories.
+
+ * Improve rx error handling in the Linux cache manager.
+
+ * Rename kpasswd to kapasswd when packaging RPMs to avoid colliding with
+ Kerberos kpasswd.
+
+ * Do not use the obsolete --enable-largefile-fileservers configure option
+ when packaging RPMs.
+
+ * Use the RemainAfterExit systemd feature to avoid premature exit
+ when -afsdb is not given, for RPM packages.
+
+ * Remove Debian packaging files from the OpenAFS source tree. Debian
+ packaging files are currently maintained in the downstream Debian
+ infrastructure.
+
+ * Add the sparc_linux26 sysname.
+
+ Solaris
+
+ * Remove support for all Solaris and SunOS platforms prior to Solaris 8.
+
+ * Build 64-bit binaries for Solaris x86 by default.
+
+ MacOS
+
+ * Stop processing upcalls once rx shutdown starts.
+
+ * Enable atomics for the darwin kernel.
+
+ * Add a syscall to enable/disable bulkstat at run-time, which is
+ disabled by default.
+
+ FreeBSD
+
+ * Use the native kernel module build system instead of an ad hoc
+ replacement build system.
+
+ * Remove FreeBSD packaging files from the OpenAFS source tree. FreeBSD
+ packaging files are currently maintained in the downstream FreeBSD Ports
+ Collection.
+
+ * Stay up to date with new FreeBSD releases (through 10.3).
+
+ NetBSD
+
+ * Stay up to date with new NetBSD releases (through 7.x)
+
+ * Update to use cprng(9) as the randomness source on NetBSD 6.99/7.x.
+
+ * Build system updates for NetBDS 6.99.x
+
+ OpenBSD
+
+ * Stay up to date with new OpenBSD releases (through 4.7)
+
+ AIX
+
+ * Updates for AIX support.
+
+ * Fix build system for AIX exports.
+
+ * Add the uidpag and localuid runtime options to the aklog LAM plugin.
+ (These runtime options override the use of UID-based PAGs, which were
+ introduced to appease the CDE screensaver.)
+
+OpenAFS 1.6.20 (Security Release)
+
+ All platforms
+
+ * Fix for OPENAFS-SA-2016-003: file and directory names leak due to
+ reuse of directory objects without zeroing the contents
+ (12461 12462 12463 12464 12465)
+
+OpenAFS 1.6.19
+
+ All platforms
+
+ * Documentation improvements (12304)
+ * Fixes for test failures (12396 12415)
+
+ All DB server platforms
+
+ * Avoid potentially writing to an out of date volume location or protection
+ database, or losing a database write, which could happen in rare cases
+ under special conditions during database leader election
+ (12339 12389)
+
+ Solaris clients
+
+ * Allow the fsinfo::: DTrace provider to work with AFS files (12371)
+
+ Linux clients
+
+ * Don't commit more data to a file than was actually copied during writes,
+ which could happen on architectures with a page size > 4 KiB (12413)
+ * Fixed build on PPC64 with GCC 6.1 (12388) (RT #133407)
+ * Fixed build on x86_64 with recent GCC (12365 12366)
+
+
+OpenAFS 1.6.18.3
+
+ Linux clients
+
+ * Support for mainline kernel 4.7 and distribution kernels with
+ backports from it (12348)
+
+ Solaris clients
+
+ * Fixed memory mapped I/O on files >= 4 GiB (12349 12350)
+
+ Note that there is a suspicion that this might break the client
+ on very old Solaris releases (2.6). If it does, the breakage should
+ occur at build time.
+
+ OS X
+
+ * Added tooling to build a package for OS X 10.10 "Yosemite" and
+ 10.11 "El Capitan" (12335 12351)
+
+
+OpenAFS 1.6.18.2
+
+ Linux clients
+
+ * Support for mainline kernel 4.6 and distribution kernels with
+ backports from it (12332)
+
+ * Switch back to the pre-1.6.18 algorithm for freeing unused vcaches.
+ While the new algorithm is still believed to be correct, it turned
+ out that at least on some kernels, including 4.5 and 4.6, the dentry
+ for the current working directory may be erroneously invalidated.
+ This could lead to errors like "Unable to read current working directory"
+ when a directory wasn't accessed for a few minutes. (12323)
+
+ * Use a secure URL to retrieve the CellServDB in the script to create
+ the Red Hat source package (12330)
+
+ FreeBSD
+
+ * Added sysname IDs for 10.2 and 10.3 to fix the build on those platforms
+ (12322)
+
+
+OpenAFS 1.6.18.1
+
+ Linux clients
+
+ * Support for mainline kernel 4.5 and distribution kernels with
+ backports from it (12300..12302)
+
+
+OpenAFS 1.6.18
+
+ All platforms
+
+ * Documentation improvements (12224 11675 11613 12197)
+
+ * Improved diagnostics and error messages (12129 12207 12185 12211 12113
+ 12215 12216)
+
+ * Check that CellServDB entries are valid IPv4 addresses, to avoid
+ occasional hangs or potentially other erratic behaviour due to invalid
+ entries (12210) (RT #131794)
+
+ All client platforms
+
+ * Gracefully handle cases where a client shutdown sequence is initiated
+ while the client is already shutting down, rather than cause a panic
+ (12179)
+
+ * Fixed several bugs that could cause erratic behaviour when the write
+ offset into a file was more than 2 GiB beyond the file's current end
+ on the server (12213 12214)
+
+ All server platforms
+
+ * Avoid a possible volserver crash during volume dump or restore due
+ to invalid ACL entries (12127)
+
+ * Allow recovering from a DAFS fileserver operation which allocates a
+ new vnode but fails to update the vnode index, rather than crashing the
+ server (12209)
+
+ * Fixed a longstanding bug which could damage the volume location database
+ when "vos changeaddr" was run with "-oldaddr" and "-newaddr" and the
+ old address was present in a multi-homed entry (12089)
+
+ FreeBSD
+
+ * Added support for releases 10.2 and 10.3 (12232)
+
+ Linux clients
+
+ * Support for mainline kernel 4.4 and distribution kernels with
+ backports from it, alas at a performance penalty (12226 12227 12228)
+ (RT #132677 #132819)
+
+ * Avoid using excessive amounts of kernel memory for dynamically
+ allocated vcaches, by improving the algorithm to free unused ones
+ (12256 12257)
+
+ * In Red Hat packaging, make the init script use "ip" if available, with
+ "ifconfig" as a fallback (12193)
+
+ OS X
+
+ * Basic support for release 10.11 "El Capitan" (12212)
+
+ IRIX clients
+
+ * Fixed kernel module builds with optimization (12198) (RT #131261)
+
+
+OpenAFS 1.6.17 (Security Release)
+
+ All server platforms
+
+ * Fix for OPENAFS-SA-2016-001: foreign users can create groups as
+ if they were an administrator (RT #132822) (CVE-2016-2860)
+
+ All client platforms
+
+ * Fix for OPENAFS-SA-2016-002: information leakage from sending
+ uninitialized memory over the network. Multiple call sites
+ were vulnerable, with potential for leaking both kernel and
+ userland stack data (RT #132847)
+
+ * Update to the GCO CellServDB update from 01 January 2016 (12188)
+
+ Linux clients
+
+ * Fix a crash when the root volume is not found and dynroot is not
+ in use, a regression introduced in 1.6.14.1 (12166)
+
+ * Avoid introducing a dependency on the kernel-devel package corresponding
+ to the currently running system while building the srpm (12195)
+
+ * Create systemd unit files with mode 0644 instead of 0755
+ (12196) (RT #132662)
+
+OpenAFS 1.6.16
+
+ All platforms
+
+ * Documentation improvements (11932 12096 12100 12112 12120)
+
+ * Improved diagnostics and error messages (11586 11587)
+
+ * Distribute the contributor code of conduct with the stable release (12056)
+
+ All server platforms
+
+ * Create PID files in the right location when bosserver is started with
+ the "-pidfiles" argument and transarc paths are not being used (12086)
+
+ * Several fixes regarding volume dump creation and restore (11433 11553
+ 11825 11826 12082)
+
+ * Avoid a reported bosserver crash, and potentially others, by replacing
+ fixed size buffers with dynamically allocated ones in some user handling
+ functions (11436) (RT #130719)
+
+ * Obey the "-toname" parameter in "vos clone" operations (11434)
+
+ * Avoid writing a loopback address into the server CellServDB - search
+ for a non-loopback one, and fail if none is found (12083 12105)
+
+ * Rebuild the vldb free list with "vldb_check -fix" (12084)
+
+ * Fixed and improved the "check_sysid" utility (12090)
+
+ * Fixed and improved the "prdb_check" utility (12101..04)
+
+ All client platforms
+
+ * Avoid a potential denial of service issue, by fixing a bug in pioctl
+ logic that allowed a local user to overrun a kernel buffer with a single
+ NUL byte (commit 2ef86372) (RT #132256) (CVE-2015-8312)
+
+ * Refuse to change multi-homed server entries with "vos changeaddr",
+ unless "-force" is given, to avoid corruption of those entries (12087)
+
+ * Provide a new vos subcommand "remaddrs" for removing server entries, to
+ replace the slightly confusing "vos changeaddr -remove" (12092 12094)
+
+ * Make "fs flushall" actually invalidate all cached data (11894)
+
+ * Prevent spurious call aborts due to erroneous idle timeouts (11594)
+
+ * Provide a "--disable-gtx" configure switch to avoid building and
+ installing libgtx and its header files as well as the depending
+ "scout" and "afsmonitor" applications (12095)
+
+ * Fixed building the gtx applications against newer ncurses (12125)
+
+ * Allow pioctls to work in environments where the syscall emulation
+ pseudo file is created in a read-only pseudo filesystem, like in
+ containers under recent versions of docker (12124)
+
+ Linux clients
+
+ * In Red Hat packaging, avoid following a symbolic link when writing
+ the client CellServDB, which could overwrite the server CellServDB,
+ by removing an existing symlink before writing the file (12081)
+
+ * In Red Hat packaging, avoid a conflict of openafs-debuginfo with
+ krb5-debuginfo by excluding our kpasswd executable from debuginfo
+ processing (12128) (RT #131771)
+
+OpenAFS 1.6.15 (Security Release)
+
+ All client and server platforms
+
+ * Fix for OPENAFS-SA-2015-007 "Tattletale"
+
+ When constructing an Rx acknowledgment (ACK) packet, Andrew-derived
+ Rx implementations do not initialize three octets of data that are
+ padding in the C language structure and were inadvertently included
+ in the wire protocol (CVE-2015-7762). Additionally, OpenAFS Rx in
+ versions 1.5.75 through 1.5.78, 1.6.0 through 1.6.14, and 1.7.0
+ through 1.7.32 include a variable-length padding at the end of the
+ ACK packet, in an attempt to detect the path MTU, but only four octets
+ of the additional padding are initialized (CVE-2015-7763).
+
+OpenAFS 1.6.14.1
+
+ Linux clients
+
+ * Support kernels up to 4.2
+
+ Due to changes to internal data structures with this kernel release,
+ the OpenAFS client can no longer reset the link count during path
+ lookups. Since volume root directories must behave like symlinks
+ instead of normal directories in order to satisfy Linux kernel
+ invariants, looking up paths containing more than 40 mount points
+ will fail with ELOOP on such kernels.
+
+OpenAFS 1.6.14
+
+ All server platforms
+
+ * Prior to the OpenAFS security release 1.6.13, the Volume Location
+ Server (vlserver) RPC VL_ListAttributesN2() supported wildcard volume
+ name lookups via regular expression (regex) pattern matching. This
+ support was completely disabled in 1.6.13 because it was judged to be
+ a security risk due to buffer overruns in the implementation, as well
+ as the possibility of denial of service attacks where certain regular
+ expressions could cause excessive CPU usage in some regex
+ implementations.
+
+ Unfortunately, after 1.6.13 was released, it was discovered that
+ the native OpenAFS 'backup' system uses the VL_ListAttributesN2()
+ regex support to evaluate configured volume sets. If you use the
+ OpenAFS 'backup' system (or another backup system which relies on it,
+ such as Tivoli Storage Manager (TSM, aka Tivoli ADSM)), and are using
+ volume sets which require regular expressions for the volume name,
+ then those volume sets cannot be resolved by OpenAFS 1.6.13. The next
+ paragraph provides details on how to identify any affected volume sets.
+
+ OpenAFS backup volume sets may be described by fileserver, partition
+ name, and volume name. The fileserver and partition specifications
+ never require regular expression support. The volume name specification
+ always requires regular expression support except for when specifying
+ _all_ volumes via two special cases: the universal wildcard ".*", or "".
+ For example, volume name "proj" or "*.backup" or "homevol.*" all
+ require regex support - even if the specification contains no wildcard
+ characters and/or exactly matches an existing volume name.
+
+ As a result of this issue, OpenAFS 1.6.14 replaces the 1.6.13 changes
+ to VL_ListAttributesN2. 1.6.14 prevents the buffer overruns and
+ reenables the regex support, but restricts it to OpenAFS super-users
+ and -localauth only. This is sufficient to restore the OpenAFS 'backup'
+ system's ability to work correctly with any previously supported volume
+ set. The OpenAFS 'backup' commands are already documented to require
+ super-user authorization, so this restriction is moot for the backup
+ system.
+
+ There are no other direct consumers of the VL_ListAttributesN2() regex
+ support in the OpenAFS tree. However, the VL_ListAttributesN2 RPC is
+ publicly accessible and might be used by third party tools directly or
+ indirectly via OpenAFS's libadmin. Any such tools that issue
+ VL_ListAttributesN2 RPCs must now be executed using super-user or
+ -localauth tokens.
+
+ None of the other security fixes in OpenAFS 1.6.13 are known to have
+ any issues, and are still included unchanged in OpenAFS 1.6.14.
+
+ If there are any questions concerning the possible impact of OpenAFS
+ 1.6.13 or 1.6.14 at your site, please contact your OpenAFS support
+ provider or the openafs-info@openafs.org mailing list for further
+ assistance.
+
+OpenAFS 1.6.13
+
+ All server platforms
+
+ * Fix for CVE-2015-3282: vos leaks stack data onto the wire in the
+ clear when creating vldb entries
+
+ * Workaround for CVE-2015-3283: bos commands can be spoofed, including
+ some which alter server state
+
+ * Disabled searching the VLDB by volume name regular expression to avoid
+ possible buffer overruns in the volume location server
+
+ All client platforms
+
+ * Fix for CVE-2015-3284: pioctls leak kernel memory
+
+ * Fix for CVE-2015-3285: kernel pioctl support for OSD command passing
+ can trigger a panic
+
+ Solaris clients
+
+ * Fix for CVE-2015-3286: Solaris grouplist modifications for PAGs can
+ panic or overwrite memory
+
+OpenAFS 1.6.12
+
+ All server platforms
+
+ * Avoid database corruption if a database server is shut down and then
+ brought up again quickly with an altered database (11773 11774)
+ (RT #131997)
+
+ All client platforms
+
+ * Fixed a potential buffer overflow in aklog (11808)
+
+ * Avoid a bogus warning regarding the checkserver daemon, which could be
+ logged during startup when the cache initialization was very fast (11680)
+
+ * Added documentation of the inaccuracy of the 'partition' field in
+ 'fs listquota' output for partitions larger than 2 TiB (11626)
+
+ Linux clients
+
+ * Support kernels up to 4.1 (11872 11873)
+
+ * Avoid spurious EIO errors when writing large chunks of data to
+ mmapped files (11877)
+
+ OS X
+
+ * Build fixes required at least on OS X 10.10 Yosemite with the latest
+ XCode (11859 11876 11842..11845 11863 11878 11879)
+
+OpenAFS 1.6.11.1
+
+ Linux clients
+
+ * Support kernels up to 4.0 (11760 11761)
+
+ FreeBSD clients
+
+ * Fixed kernel module build on systems with an updated clang which no
+ longer accepts the -mno-align-long-strings as a no-op (11809)
+
+OpenAFS 1.6.11
+
+ All platforms
+
+ * Allow aklog to succeed creating native K5 tokens even when mapping
+ the K5 principal to a K4 one fails (11538)
+
+ * Build fixes (11435 11636)
+
+ All client platforms
+
+ * Avoid a potential kernel panic due to connection reference overcounts
+ (11645) (RT #131885)
+
+ * Avoid potential corruption of files written using memory mapped I/O
+ when the file is larger than the cache (11656) (RT #131976)
+
+ Linux clients
+
+ * Support kernels at least up to 3.19 (11549 11550 11569 11570 11595
+ 11658..11662 11694 11752)
+
+ Note: By default this excludes kernels 3.17 to 3.17.2, which will leak
+ an inode reference when an error occurs in d_splice_alias(). The
+ module will build and work, but leak kernel memory, leading to
+ performance degradation and eventually system failure due to
+ memory exhaustion. Since it's impossible to detect this condition
+ automatically, the switch --enable-linux-d_splice_alias-extra-iput
+ must be passed to configure when building the module for those
+ kernels. The same would be necessary for any kernel with backports
+ of commit 908790fa3b779d37365e6b28e3aa0f6e833020c3 or commit
+ 95ad5c291313b66a98a44dc92b57e0b37c1dd589 but not the fix in commit
+ 51486b900ee92856b977eacfc5bfbe6565028070 in the linux-stable repo
+ (git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git) or
+ the corresponding changes on other branches.
+
+ * Fixed a regression introduced in OpenAFS release 1.6.10 which could
+ make the spurious "getcwd: cannot access parent directories" problem
+ return (11558 11568) (RT #131780)
+
+ * Avoid leaking memory when scanning a corrupt directory (11707)
+
+ OS X clients
+
+ * Support OS X 10.10 "Yosemite" (11571 11572 11611) (RT #131946)
+
+ Solaris clients
+
+ * Avoid reading random data rather than correct cache content when using
+ ZFS as the cache file system on Solaris >= 11, and fix potential similar
+ problems on other platforms (11713 11714)
+
+ FreeBSD
+
+ * Build fix for releases >= 11.0 (11610)
+
+ OpenBSD
+
+ * Support release 5.4 (11700)
+
+
+OpenAFS 1.6.10
+
+ All platforms
+
+ * Don't hide the "version" subcommand in help output (11214)
+
+ * Documentation improvements (11126 11216 11222 11223 11225 11226)
+
+ * Improved diagnostics and error messages (11154 11246 11247 11249 11181
+ 11182 11183)
+
+ * Build system improvements (11158 11221 11224 11225 11227..11241 11282
+ 11342 11350 11353 11242 11367 11392)
+
+ * Avoid potentially erratic behaviour under certain error conditions by
+ either avoiding or at least not ignoring them, in various places (11008
+ 11010..11065 11112 11148 11196 11530)
+
+ FreeBSD
+
+ * Support releases 9.3 and 10.1 (11368 11369 11402 11403 11404)
+
+ * Makes a disk cache more likely to work on FreeBSD, though such
+ configurations remain not very tested (11448)
+
+ All server platforms
+
+ * Added volscan(8) (11252..11280 11387 11388)
+
+ * Fixed a bug causing subgroups not to function correctly if their
+ ptdb entry had more than one continuation entry (11352)
+
+ * Logging improvements (10946 11153)
+
+ * Allow log rotation via copy and truncate (11193)
+
+ * Avoid a server crash during startup only observed on a single platform
+ and when using a 3rd party library under certain circumstances, which is
+ a collateral effect of the security improvements introduced in OpenAFS
+ release 1.6.5 (11075) (RT #131852)
+
+ All client platforms
+
+ * Raised the free space reported for /afs to the maximum possible value of
+ just under 2 TiB - the old value was 9 GiB on most platforms (10984)
+
+ * Reduced the amount of stack space used (11162 11163 11203 11164..11167
+ 11338 11339 11364..11366 11381)
+
+ * Sped up a periodic client task which could be problematically slow
+ on systems with a large number of PAGs and files in use (11307)
+
+ * Fixed failure of the up command with large ACLs (11111)
+
+ * Avoid a potential crash of aklog (11218)
+
+ * Avoid potential crashes of scout and xstat_fs_test (11155)
+
+ Linux clients
+
+ * Support kernels up to 3.16 (11308 11309)
+
+ * Fixed a regression introduced in OpenAFS release 1.6.6 that made
+ checking for existing write locks incorrectly fail on readonly volumes
+ (11361)
+
+ * Fixed a regression introduced in OpenAFS release 1.6.8 that could
+ cause VFS cache inconsistencies when a previously-accessed directory
+ entry was removed and recreated with the same name but pointing to a
+ different file on another client (11358)
+
+ * Use the right path to depmod in Red Hat packaging to avoid dependency
+ calculation incorrectly failing unless a link /sbin -> /usr/sbin is
+ present on the system performing it (11171) (RT #131860)
+
+ * Do not ignore kernel module build errors (11205)
+
+OpenAFS 1.6.9
+
+ All server platforms
+
+ * Fix for OPENAFS-SA-2014-002
+
+OpenAFS 1.6.8
+
+ All platforms
+
+ * Documentation improvements (10751 10875 10931 10897 10883 10954 10955)
+
+ * Improved diagnostics and error messages (10756 10814 10949)
+
+ * Fixed a bug in RX that could make errors during packet reception go
+ unnoticed. (10733)
+
+ * Fixed a bug that made "vos size -dump" display the wrong size for
+ large volumes. (10933) (RT #131819)
+
+ All server platforms
+
+ * Change the default fileserver sync behavior from "delayed" to "onclose".
+ This means that explicit syncing only happens when a volume is detached.
+ (10809)
+
+ * Added the -offline-timeout and -offline-shutdown-timeout options to the
+ fileserver, to implement interrupting clients accessing volumes we are
+ trying to take offline. (6266 10799)
+
+ All client platforms
+
+ * When a client is shut down, it will give up its callbacks. The Windows
+ client has been doing this since 2007. Note that older fileservers
+ (1.3.50 to 1.4.5 and 1.5.0 to 1.5.27) had a bug in the implementation of
+ the relevant RPC that could cause crashes or other undefined behavior
+ when this happens. (6272 8840 10855)
+
+ * Restored the pre-1.6 behavior of "vos e" being an alias for "vos examine".
+ (10886)
+
+ * Avoid flooding logs with warnings about byte-range locks, by throttling
+ them per file. Also, make the messages more useful by including the
+ FID. (10836..10839)
+
+ * Avoid a possible panic during shutdown while tracing. (10932)
+
+ Linux clients
+
+ * Fixed a bug that could cause the "getcwd: cannot access parent
+ directories" problem (10804 10984)
+
+ * Avoid a delay when accessing uncached data in AFS in a confined
+ context under SELinux. (10598)
+
+ * Red Hat packaging improvements (10600 10767 10807)
+
+OpenAFS 1.6.7
+
+ All server platforms
+
+ * Fix for OPENAFS-SA-2014-001
+
+ * Fix for a potential DOS attack against RX servers
+
+OpenAFS 1.6.6
+
+ All platforms
+
+ * As of this release, OpenAFS no longer ships uncompressed source tarballs.
+ Tarballs are still shipped with both compression formats, gzip and bzip2.
+ (10131)
+
+ * Documentation improvements (10136 10314 10601)
+
+ * Improved diagnostics and error messages (9412 10085 10274)
+
+ * Avoid redefining "assert" in our public header files, which could
+ cause failures when building some applications using them. (10096)
+
+ * Fixes for parallel builds (10005 10309 10337)
+
+ * Added a -s switch to afscp (not installed by default) to help simulate
+ a slow client. (9416 9417)
+
+ * Added a -probe switch to vlclient test program (not installed by default)
+ to ping all vlservers in a cell in parallel. (9570)
+
+ All server platforms
+ * The fileserver now ignores any vice partitions with a NeverAttach flag
+ file present in the root directory. (RT #130561) (9470 9471)
+
+ * Restrict forcing CPS ("Current Protection Subdomain") recalculation in
+ the fileserver to administrators. Also fixed a bug that could cause this
+ operation to be incomplete. (9485 9487)
+
+ * Allow non-DAFS fileservers to attach unusable volumes, restoring pre-1.6
+ behaviour. (RT #131505) (9499)
+
+ * Restored the pre-1.6 behaviour when running vos examine for a volume
+ currently in a transaction, showing the volume as busy again rather than
+ offline. (9685 9915 9916)
+
+ * Reduced the minimum time a bos salvage takes from 5 seconds to 1. (9476)
+
+ * Fixed buserver to not segfault when started with the -servers option.
+ (RT #131706) (10166)
+
+ * Salvager fixes, addressing a wide variety of possible problems from
+ unnecessary salvaging to aborts (9282 9283 9457 9458 9459 9461 9462 9480
+ 9481 10165 10167)
+
+ * Fixed a bug that could cause saved state information to be discarded
+ when restarting a large or busy fileserver, which negatively impacted
+ performance. (9683)
+
+ * Fixed a bug that could have caused undefined behaviour in the vlserver
+ in rare cases when a fileserver registered its addresses in the VLDB.
+ (9429)
+
+ * Added the -preserve-vol-stats switch to volserver, allowing it to keep
+ the access statistics across volume restore and reclone operations
+ instead of resetting them. (9477)
+
+ * Inserted an exponential delay between retries when bosserver attempts to
+ restart a server process. (9571 10199)
+
+ * Improved vldb_check (not installed by default) to cope with broken
+ vlentry names and volids, and provide more output to aid debugging.
+ (10268)
+
+ * Releasing a volume after adding a new RO site no longer touches any of
+ the existing RO sites, if the RW data hasn't changed since the last
+ release. (10174)
+
+ * Make the copyDate field for RO clones have the same meaning as for
+ remote RO volumes. Previously, the copyDate field for clones was updated
+ every time we released. (9451)
+
+ * Fixed potentially undefined behaviour in ptserver when too many pts
+ ids are allocated. (10124)
+
+ * Note that the server side NAT pings feature present in the prereleases
+ was removed before the final release, since no positive feedback
+ was provided during prerelease testing. (9420 10135)
+
+ Linux servers
+
+ * Start bosserver with -nofork in the systemd unit file, to allow systemd
+ to track its state (10093)
+
+ All client platforms
+
+ * No longer track file locks on read-only volumes. Write locks can't
+ succeed, read locks always will. Avoids log messages about this kind
+ of lock. (8910)
+
+ * Added the "fs flushall" subcommand, which makes the client discard all
+ cached data. This was previously available on Windows only. (9065 9388
+ 9389 9390)
+
+ * Fixed a bug that could make the client incorrectly believe its cache
+ is up to date. This change could negatively impact AFS <-> DFS
+ translators, should those still be running anywhere. (8898)
+
+ * Several changes to avoid panicing in certain error conditions.
+ (9131 9287 10354 10355 10356 10357) (partially addressing RT #131747)
+
+ * Added the -rxmaxfrags switch to afsd, allowing to limit the number
+ of UDP fragments sent or received per RX packet. (9430)
+
+ * Build fixes for aklog on several platforms (RT #131716) (9917 10107 10275)
+
+ * Require that the AFS mountpoint specified in the cacheinfo file is
+ an absolute path. Relative paths result in a client that basically
+ works but is not fully functional. (10253)
+
+ * Fixed a bug that could cause one of the afsd threads to enter an infinite
+ loop (10431 .. 10436)
+
+ Linux clients
+
+ * Support Linux kernels up to 3.13 (10241)
+
+ * Fixed a bug that made readv/writev calls in AFS space fail with Linux
+ kernels where generic_file_aio_read exists but those operations have
+ not been switched to using aio_read/aio_write. This was a regression
+ introduced with release 1.6.3 and affected at least RHEL 5.9 kernels.
+ (10248)
+
+ * Fixed a similar bug making core dumps fail in AFS space, affecting
+ a much wider range of kernels including the most recent ones.
+ (RT #131729) (10254)
+
+ * Enhanced the keyring code to make PAGs work correctly on kernels with a
+ distribution specific change to the Linux keyring code. This affected at
+ least SLES 11 SP3 kernels. (10252)
+
+ * Fixed a bug that could make failures during PAG instantiation go
+ unnoticed. (10255)
+
+ * Fixed a bug that made compilation fail for Linux kernels without
+ keyring support. This affected at least the SLE 10 SDK and an
+ OEM version of SLES 11 SP1. (10325)
+
+ * Fixed build for kernels with user namespace support enabled. Likely
+ to be required for Ubuntu 14.04 and eventually other distributions.
+ (10456 10457 10458 10518 10472)
+
+ * Support RHEL 6.5 kernels, and possibly others with changes backported
+ from recent mainline kernels that touch getname/putname, by no longer
+ using those functions. Previously, the client could cause a kernel
+ panic when syscall auditing was enabled. (10578)
+
+ * Make tmpfs usable as the cache filesystem again. This had been broken
+ since kernel 3.1 (9950 10193)
+
+ * When starting the client fails, clean up the backing device information
+ created in sysfs, to avoid error messages during a subsequent start
+ and possible system instability later on (10454)
+
+ * Update Red Hat packaging to support Fedora >= 20, RHEL >= 7 and
+ ELrepo kernels (10597 10619 10622 10703 10704)
+
+ OS X Clients
+
+ * Support OS X 10.9 "Mavericks" (10519 10541 10542 10543 10548 10549)
+
+ AIX clients
+
+ * Fixed a bug that caused the 1.6 AIX client to never receive any RX
+ packets in the kernel. (RT #131725)
+
+ FUSE client
+
+ * Support Solaris 11 (9454 9455)
+
+ * Allow other users to access filesystems mounted by root. (9452)
+
+ FreeBSD
+
+ * Build tvolser and dvolser on this platform (10122)
+ * Several fixes to catch up with newer releases (10374 .. 10381)
+
+ NetBSD
+
+ * Build tsalvaged, tvolser and dvolser on this platform (10121)
+ * Fixed build on NetBSD 5 and newer. (10138)
+
+OpenAFS 1.6.5
+
+All platforms
+
+ * Fixes for OpenAFS-SA-2013-0003 and OpenAFS-SA-2013-0004
+
+OpenAFS 1.6.4
+
+All platforms
+
+ * Obey the jumbo/nojumbo settings for ubik servers (the DB servers)
+ too. In previous releases, those servers may have used jumbograms
+ even if they were not configured to do so. This change corrects
+ the actual behaviour, and will improve performance and reliability
+ for sites where jumbograms are problematic. It could cause a decrease
+ in performance for sites where jumbograms work, but those can turn
+ them back on manually.
+
+ * Dozens of fixes for common coding problems like use after free,
+ use of possibly uninitialised memory, reading or writing past the
+ end of arrays and potential NULL pointer derefences. Spotted by
+ code analysis tools or human inspection.
+
+ * Documentation improvements.
+
+ * Fixes and improvements to the diagnostic or log messages printed by
+ vos, the fileserver and others.
+
+ * Build fixes, making parallel builds more reliable with certain
+ configuration options and helping various platforms including
+ recent releases of IRIX, Solaris and several flavours of Linux.
+
+ * Avoid sending a small amount of data over the wire unencrypted
+ under certain conditions, and emit the correct error message in
+ this case.
+
+All server platforms
+
+ * Avoid generating duplicate IDs for readonly and backup volumes,
+ which could happen under certain conditions.
+
+ * Allow the fileserver to return volume data like quota or free space,
+ which is available publicly elsewhere, without the additional access
+ check for read permissions on a volume's root directory the fileserver
+ performed before.
+
+ * The fileserver now emits a log message when it ran out of memory for
+ callbacks.
+
+ * Avoid several potential fileserver problems, including memory
+ corruption and segmentation faults, due to client bookkeeping.
+
+ * Avoid known cases of silent data corruption due to background syncs
+ on the fileserver, especially during Copy on Write.
+
+ * Make the fileserver sync behaviour runtime configurable. Up to 1.4.5,
+ we had synchronous syncs which were safe but really slow. Since 1.4.5,
+ we've had asynchronous syncs which are much faster but believed to
+ be the cause of rare data corruption issues, and while all known cases
+ of these happening are believed to be fixed in the 1.6.3 release, doubts
+ remain. This change allows choosing between those, and in addition allows
+ to turn syncs by the fileserver off altogether, thus relying on the vice
+ partition's backend filesystem and the operating system, or to just
+ execute them when a volume is detached. The default behaviour is
+ unchanged from releases since 1.4.5, but it's highly recommended to
+ consider the additional options this change provides. Future OpenAFS
+ releases will default to "-sync=none".
+
+ * For dbservers, avoid a situation where misinterpreting transient
+ network errors causes long-term issues with achieving ubik quorum.
+
+All UNIX client platforms
+
+ * Improvements to the detection of an aklog-specific krb5 configuration
+ file, for the purposes of turning on "weak crypto" for aklog.
+
+ * Fixed a regression introduced in release 1.6.2 which caused the
+ supposedly persistent disk cache to be discarded upon client start.
+ (RT #131655)
+
+Linux clients
+
+ * Support Linux kernels up to 3.10
+
+ * Fixed two bugs making it impossible to unmount a disk cache filesystem
+ after it has been used by the client. (RT #131613)
+
+ * Fixed a bug that could cause an oops with kernels 3.6 and later
+
+OpenBSD
+
+ * Improved support for OpenBSD 4.9 to 5.3
+
+OpenAFS 1.6.3
+
+ This release number had to be skipped for technical reasons.
+
+OpenAFS 1.6.2.1
+
+ Linux clients
+
+ * Support Linux kernels up to 3.8.
+
+ * Make the init script cope with the output of ifconfig on recent Fedora.
+
+OpenAFS 1.6.2
+
+ All platforms
+
+ * Fix buffer overflows in fileserver and ptserver.
+
+ * Abort an rx connection when given an unknown service (Gerrit 7593).
+
+ * "idle dead" behavior improvements.
+
+ * Documentation updates.
+
+ All server platforms
+
+ * Fix rare file corruption during background sync (Gerrit 8796).
+
+ * Fix corrupting clients' metadata cache during certain errors (Gerrit
+ 6957).
+
+ * Avoid saying a volume doesn't exist when accessed as the volume is
+ going offline (Gerrit 7488).
+
+ * Fix fileservers to properly report >2 TiB partitions.
+
+ * Fix stale volume info from vos examine on non-DAFS filservers.
+
+ * Fix possible volume corruption with vos convertROtoRW.
+
+ * Fix bosserver to preserve all command-line options over restart.
+
+ * Fix bosserver to properly kill hung processes during shutdown.
+
+ All UNIX client platforms
+
+ * Fixes for memcache, especially on Solaris.
+
+ * Increase the size of the DNS resolver answer buffer to allow sites
+ with a long response list to use SRV and AFSDB records.
+
+ * Fix a crash when a server appears to run out of addresses (Gerrit
+ 7487).
+
+ * Fix cache corruption when reading from a file another client is
+ simultaneously writing to (Gerrit 7994).
+
+ * Improve handling of disk cache disk errors.
+
+ Linux
+
+ * fix DKMS configuration for DKMS 2.2.
+
+ * Avoid generating inode number 0 with md5 inodes (Gerrit 7276).
+
+ * Fix a crash when reading /proc/fs/openafs/unixusers (Gerrit 7914).
+
+ * Make PAG-less access use the real UID of the calling process
+ instead of the effective UID, when determining what credentials to
+ use (Gerrit 7931).
+
+ * Fix possible abuse of fs mkmount.
+ Prior to 1.6.2, users could crash a client by nesting volume mounts.
+
+ * Fix fileserver memory corruption on RHEL 6
+ Prior to 1.6.2, fileservers on RHEL 6 may crash under heavy load.
+
+ * Fix client page cache corruption on Linux
+ When multiple clients read and write to a file, the reading client
+ may see first page (4096 bytes) of a file as nulls.
+
+ * Support Linux kernels up to 3.7.
+
+ * Support newer glibc versions.
+
+ * Improve client systemd unit file.
+
+ * Update Red Hat packaging.
+
+ OS X
+
+ * Fix crashes on shutdown.
+
+ * Prevent unloading the module before shutdown completes.
+
+ * Security improvement for the OpenAFS preference pane.
+
+ Solaris
+
+ * Support newer versions of the Sun Studio compiler software.
+
+ * Support compiling on newer versions of Solaris 11 and Solaris 10.
+
+
+OpenAFS 1.6.0 (2011-08-15)
All platforms
+ * Substantial Rx updates to correct erroneous behavior.
+
* vos now properly deals with matching sites when servers are
multihomed.
* Properly enable Rx connection hard timeouts.
+ * Rx NAT pings are not enabled until peer has answered.
+
* Initialize rx_multi lock before use.
* Avoid spurious crashes when initializing in "backup" client.
* MTU discovery now properly shut down on call reset.
+ * Avoid leaking references to hosts during callback break multi-Rx
+ operations. (129376)
+
+ * xstat tools now cope with differing timeval structures between
+ endpoints.
+
+ * Numerous fixes to command argument parsing.
+
+ * Documentation updates.
+
All server platforms
+ * A file descriptor leak which could result in corrupted files in the
+ fileserver was fixed. An IMMEDIATE upgrade from previous 1.5 release
+ fileservers is recommended.
+
* Fix ptserver supergroups support on 64 bit platforms.
* Demand attach salvaging doesn't use freed volume pointers.
* Demand attach: ensure vnodes are not reallocated while in use due to
volume bitmap errors.
- Microsoft Windows:
+ * Properly support large volume numbers (larger than 2147483647).
+
+ * Allow salvager to be run manually again when DAFS is being
+ used. (129458)
+
+ * Avoid leaking references to hosts during callback break multi-Rx
+ operations. (129376)
+
+ * Demand attach: unlink fileserver state file on standalone salvage.
+
+ * Salvager tries harder to detect linktable issues.
+
+ * Demand attach: don't attach volumes with special status set.
+
+ * Avoid crashing on host table exhaustion. Instead, defer clients.
+
+ Microsoft Windows
* afs_config will not longer set the Tray Icon State in the registry
if the checkbox is not present in the dialog. (128591)
* Icon tray state now conditionally set. (128591)
+ * Properly create new cell mount points in freelance mode.
+
+ * Avoid recursive offline volume checks.
+
+ * 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.
+
+ * 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.
+
+ * Add support for NTFS symlinks.
+
+ * Handle file search requests for virtual syscall ioctl file.
+
+ * Process SyncOps properly to enforce ordered operations.
+
+ * Avoid recursing during NewServer operations.
+
+ * Correct lock acquisition order during SMB locking.
+
+ * Add shutdown message to event log.
+
+ * Check offline volume status by policy rather than on each daemon
+ thread run.
+
+ * Return error on directory object not found instead of crashing.
+
+ * Improve error message output.
+
+ * afslogin.dll can start afsd_service if it's not starting or started.
+
+ * Optimize away release lock RPCs for deleted files.
+
+ * Background Daemon will not perform operations on deleted files.
+
+ * Resort recently used directories to the top of the LRU if the
+ directory is larger than the stat cache.
+
+ * Resort deleted objects to the bottom of the LRU.
+
+ * Use interlocked operations for state and queue fields to allow safe
+ bit set and clear on multiprocessor systems.
+
All UNIX client platforms
* Servers now marked down when GetCapabilities returns error.
* FUSE client support fixed for non-/afs mounts.
+ * Avoid a potential deadlock (which times out) when we need to
+ allocate more callback returns and must flush some already in use.
+
+ * Deal with libcom_err conflicts with other packages using it
+ (e.g. krb5) (128640)
+
+ * Fall back to afs3-vlserver SRV record values when afs3-ptserver SRV
+ record is not available.
+
+ * Avoid holding unneeded locks when probing server capabilties.
+
+ * Do not attempt page flushes for directories.
+
+ * Rx connection reference counting is enabled.
+
+ * An Rx connection reference count leak is fixed in bulkstat.
+
+ * Handle unparsable directory objects.
+
+ * Handle Kerberos cred cache errors in aklog.
+
+ AIX
+
+ * Fix PAG usage to track by PAG identifier, not group list.
+
FreeBSD
* Fix socket termination on shutdown.
* Restore support for FreeBSD 7 (128612)
- * Fix locking issues at shutdown.
+ * Fix locking issues at shutdown and avoid panic at shutdown due to
+ vcache flushing.
- Linux
+ * Support for virtual network stacks.
+
+ * New RC script, updated packaging.
+
+ IRIX
- * Support through kernel 2.6.38.
+ * Properly create new vnodes to avoid crashing in the client.
- * Red Hat init script allows deferring for a new binary restart.
+ Linux
- * Red Hat packaging now properly supports RHEL6.
+ * Support through kernel 2.6.39. Treat Linux 3.0 as Linux 2.6 for
+ sysname purposes.
* Use rx_Readv in cache bypass to improve performance.
* Perform vcache eviction via a fast path before visiting vcaches
where sleep is needed.
+ * setpag() errors are now properly reported.
+
+ * Avoid attempting to free stat cache entries when we are below
+ user-specified number of entries in use.
+
+ * Properly track user-specified number of stat cache entries to use as
+ a desired usage target.
+
+ * Don't read pages beyond EOF in the cache. (128452)
+
+ * Various corrections and improvements to Red Hat packaging, including
+ modifying the init script to allow deferring for a new binary
+ restart and properly supporting RHEL6.
+
+ * Fix lockup in 2.6.38 due to erroneous kernel feature configure test.
+
+ * Improve RPM building tools.
+
+ * Attempt to properly handle SELinux in packaging.
+
+ * Init script properly returns status as exit code.
+
+ * RPM packaging fixes (executable libraries, no postinstall message)
+
+ * Kill i386 from RPM packaging.
+
MacOS
+ * MacOS 10.7 support.
+
* Properly handle setpag errors. PAGs are not supported.
* Check for unloaded kernel extensions when decoding AFS panics.
* aklog AuthorizationPlugin now provided.
+ * Preferences Pane behavior fixed for 1.6 series (version detection is
+ used to select default behavior).
+
+ * A potential kernel panic during bulkstat operations is
+ fixed. (128511)
+
+ * 64-bit MacOS kernel performance is greatly improved. (128934)
+
+ * Properly shut down AFS, closing the Rx socket in the upcall handler
+ to avoid attempting to process data after we can no longer do so.
+
+ * Rework logic for bulk status operations to avoid a potential hang.
+
+ * Avoid panic when doing FSEvent synthesis.
+
+ * Fix bug when using non-dynroot.
+
+ * Update Kerberos support in PreferencesPane.
+
+ NetBSD
+
+ * Updates for platform support.
+
OpenBSD
* Bug fixes for issues introduced previously in 1.5 series.
* vcache mappings freed on shutdown to avoid panic.
+ * Properly report errors for AFS system call callers.
+
+ * Don't leave dangling function references if kernel extension fails
+ to load.
+
+ * Try harder to avoid deadlocks on file-larger-than-cache operations.
+
+ * Avoid panic on shutdown when mount failed.
+
OpenAFS 1.5.78 (2010-11-04)