Add NEWS entry for recent ubik changes
[openafs.git] / NEWS
1                        User-Visible OpenAFS Changes
2
3 OpenAFS 1.8.0pre2
4
5   All Platforms
6
7     * Substantial code quality improvements, largely spotted by Coverity and
8       clang's static analysis.
9       - Add new library for platform independent functions (opr).
10       - Remove arbitrary path name length limits.
11       - Convert to Heimdal's roken library for reliability.
12       - Avoid garbage in allocated buffers (calloc).
13       - Modernize signal handling in pthreaded server processes (softsig).
14       - Improve code comments and additional Doxygen style comments.
15       - Reduce compiler warnings, dead code, unused variables, and
16         undefined behavior.
17       - Fix bugs found by static code analyzer (clang-analyzer).
18       - Improved unit test coverage.
19       - Make VLDB flag definitions consistent.
20       - Improve use of run-time assertions and add static assertions.
21       - Add compiler attributes to assist static analyzers.
22       - Clean up include headers in the entire tree.
23       - Improve command-line handling library (libcmd).
24       - Replace hash functions with Jenkin's hash function for faster
25         and more evenly distributed lookups.
26       - Provide a red-black tree data structure to enable algorithmic speedups.
27       - Convert backup and salvage servers to the common logging API (libutil).
28       - Improve volume id data type consistency (VolumeId).
29       - Import APIs for kerberos-style profile configuration support.
30       - Add new APIs to support UserList identities.
31       - Add new APIs to support tabular output from command-line utilities.
32       - Convert vnode macros to inline-functions.
33
34     * Improved support for non-DES encryption types:
35       - Convert to Heimdal's hcrypto library to support RFC 3961.
36       - Add extended key file format replacing rxkad.keytab, and
37         new key management APIs.
38       - Add support for extended key types to asetkey.
39       - Add akeyconvert to assist in upgrading to OpenAFS 1.8.x by converting an
40         existing rxkad.keytab file to an extended key file.
41       - Do not install the kaserver and related utilities by default to
42         discourage the use of these DES-dependent components.
43       - Remove obsolete klogin and klogin.krb programs.
44       - Add new token APIs to support new rx security classes.
45
46     * Migrate from LWP to POSIX threads (pthreads):
47       - Convert the ptserver and vlserver from LWP to pthreads.
48       - Remove LWP version of the file server binary.
49       - Convert afsd, aklog, asetkey, klog.krb5, pts, udebug, and vos, from LWP
50         to pthreads.
51
52     * Improvements to Rx:
53       - Restructure the Rx API to privatize the implementation.
54       - Convert rx events to a red-black tree data structure to improve
55         performance.
56       - Convert from mutexes to atomic operations for counters to reduce lock
57         contention.
58       - Provide per-opcode Rx statistics.
59       - Add an rx_opaque data type to support non-DES encryption types
60         and general code cleanup.
61       - Wake up the application thread after 'twind' is updated to avoid 100ms
62         transmit delays when the receive window transitions from closed to
63         open.
64
65     * Libraries (both internal and installed) are built using libtool, including
66       libuafs. The resulting shared libraries for libafsrpc and libafsauthent
67       should be more usable than previously.
68
69     * Improvements to the build system:
70       - Convert to libtool to build shared libraries.
71       - Clean up and improve the build system.
72       - Support out of tree builds.
73       - Add a makefile target to generate Doxygen source code documentation.
74       - Link the Java API for OpenAFS with libuafs.a and remove the
75         libjuafs.a library.
76       - Always build the rxperf tool.
77       - Fix man-page generation by make after ./regen.sh -q
78       - Support the SOURCE_DATE_EPOCH environment variable to improve build
79         reproducibility.
80       - Modernize language specific SWIG typemaps for libuafs Perl bindings.
81
82     * Improvements to documentation:
83       - Document the new KeyFileExt file.
84       - Reorganized the README files.
85       - Improvements and fixes to documentation generation.
86       - Add experimental epub and mobi support
87       - Remove obsolete LWP information from the file server documentation.
88       - Update and reorganize the Quick Start Guide.
89       - Update the Admin Guide.
90       - Remove AIX, HP-UX, and IRIX information from the Quick Start Guide.
91       - Document the vldb and prdb (ubik) file formats.
92       - Add PtLog man page.
93       - Corrections and clarifications to man pages.
94       - Add ubik threading analysis doc.
95
96     * Improvements for troublshooting, debugging, and testing:
97       - Log more details on volume-server-to-fileserver communication errors
98         when possible.
99       - Set thread names in pthreaded servers on platforms which support
100         thread names.
101       - Add dynroot lock tracking to cmdebug
102       - Fix tracking of an fstrace call site in the cache manager background
103         process.
104       - Add the afsload tool to simulate multiple cache managers for file server
105         load testing.
106       - Add run-time checks for refcount imbalances in the cache manager.
107       - Fix missing newlines in afsd -debug output.
108
109     * Developer tool improvements:
110       - Improvements and fixes for rxgen (used to generate Rx RPC bindings).
111       - Add tool for man page verification of command options.
112       - Add tool to find Unix cache manager lock identification numbers.
113       - Add an option for pretty build output.
114
115     * RPM packaging updated:
116       - Update the spec file to keep up with accumulated changes.
117       - Move the klog.krb5 man page to the openafs-krb5 sub-package.
118       - Prevent double-starting client on RHEL7
119       - Convert rpm spec file from deprecated 'make dest' to 'make install'.
120       - Fix rpmbuild command line option default handling.
121
122     * Add a new protection error code (PRNAMETOOLONG) instead of silently
123       truncating names which exceed the maximum name length (PR_MAXNAMELEN).
124
125     * Add an implementation limit (50000) on the number of names/ids which can
126       be transmitted by unauthenticated clients to the ptserver, avoiding
127       excessive resource consumption from unauthenticated requests.
128
129     * Add the -config option to vos, pts, and aklog to specify the path to the
130       cell configuration files.
131
132     * Add more details in vos release -verbose output.
133
134     * Add the cacheout -encrypt option to encrypt communication between the
135       cacheout client and the fileserver.
136
137     * Add the command line options to the afsio program to enable encryption of
138       traffic between afsio and the fileserver (-clear, -crypt).
139
140     * Add the vos release -force-reclone option to force recloning the volume to
141       be released without forcing a full volume dump being transmitted to all
142       remote sites.
143
144     * Fix vos to avoid writing loopback addresses into the VLDB in
145       certain cases.
146
147     * Print bos and pts error messages to standard error instead of
148       standard out.
149
150     * Improve formatting of the -help output of all commands.
151
152     * Change -n to -dryrun in all backup subcommands.
153
154     * Change the backup deletedump -port command line option to -portoffset.
155
156     * Add user and build host in the version string returned by
157       rxdebug -version.
158
159   All Server Platforms
160
161     * Ubik servers using pthreads are now available and are used by default
162
163     * As part of improving Ubik reliability in certain edge cases, an extra
164       election cycle (about 60 seconds) may be needed before writes are
165       permitted.  This is a conservative change that may be removed in
166       the future.
167
168     * Remove periodic background fsync by the fileserver (ihandle fsync thread).
169
170     * Fix potential file handle leak in the file server ihandle caching layer.
171
172     * Disable the so-called "hot threads" feature in the file server. The hot
173       threads feature was intended as an optimization for dispatching incoming
174       calls to the current listener thread, but has been reported to incur a
175       performance penalty on modern multi-core systems.
176
177     * Do not permit creation of users with id of ANONYMOUSID.
178
179     * Do not save/restore host states in the fsstate.dat file for hosts which
180       are in the process of retrieving CPS information from the ptserver when
181       the fileserver is being shutdown. This fixes a bug in which the fileserver
182       will incorrectly block all threads following a restart.
183
184     * Add the ptserver -restrict_anonymous option to inhibit exposure of user
185       names from the ptserver.
186
187     * Do not truncate server log files by default when server processes
188       are started.  The -transarc-logs option provides backward compatibility
189       with IBM AFS log handling on server startup. Log messages may be lost
190       in back-to- back restarts when a server is running in this mode.
191
192     * Reopen server logs on SIGUSR1. This may be used by third-party log
193       rotation tools, such as logrotate, to reopen the log file handles after
194       log files have been renamed.
195
196     * Fix various bugs when logging with -mrafslogs enabled.
197
198     * Dynamically reload the kerberos realm to AFS cell mapping (krb.conf) and
199       exclusions for mapping kerberos principals to AFS identities (krb.excl)
200       configuration when the CellServDB cell configuration file is touched.
201       Previously, a restart of the file server was required after updating the
202       kerberos mapping configuration files.
203
204     * Add a command line option (-restricted_query) to the vlserver and
205       volserver to restrict information queries about volumes to a specific
206       group of users.
207
208     * Add a command line option to the server programs to specify an alternate
209       fully qualified log file name (-logfile).
210
211     * Add a command line option (-config) to the server programs to specify
212       an alternate path to the server configuration.
213
214     * Add a command line option to the ptserver and vlserver to specify an
215       alternate path to the database data files.
216
217     * Add a command line option to the volume server to enable encryption of
218       volume-server-to-volume-server-traffic (-s2scrypt).
219
220     * Increase the maximum number of LWP threads allowed for the ptserver and
221       vlserver from 16 to 64 (-lwp).
222
223     * Remove an unused file server command line option (-k).
224
225     * Fix an incorrect assertion in Demand Attach File Server which could cause
226       the file server process to abort in certain rare conditions.
227
228     * Deprecate the -bitmap-later configure option for non-Demand-Attach File
229       Servers (DAFS).
230
231     * Add -vhashsize support to non-Demand-Attach File Servers (DAFS).
232
233     * Add support for subnet ranges in the NetInfo and NetRestrict
234       configuration files.
235
236     * Add the GetXStats RPC to the audit log.
237
238     * Fix directory creation by bosserver when built for non-Transarc paths.
239
240     * Fix incomplete list of server addresses retreived by vos listaddr when the
241       vldb contains unreferenced multi-homed server entries.
242
243     * Remove obsolete bos blockscanner and unblockscanner commands that
244       were only needed for the removed MR-AFS functionality.
245
246     * Remove obsolete bos salvage options that were only used by the
247       removed MR-AFS functionality..
248
249     * Remove calls to the deprecated sbrk() function.
250
251     * Add an experimental feature to database servers to support ubik reads
252       while write transactions are in progress, enabled at build time with the
253       --enable-ubik-read-while-write configure option. This feature is not
254       considered ready for production usage at this time.
255
256     * Avoid filling the FileLog with "Volume x offline: not in service" when
257       a volume is administratively taken offline with vos offline.
258
259     * Print an error message when bosserver is started with an unknown
260       command line option.
261
262     * Modify the volume updateDate when the volume is changed by a salvage.
263
264     * Volume usage statistics are now preserved during reclone and restore
265       operations by default, the behavior previously enabled by
266       the -preserve-vol-stats flag to the volserver.  The historical behavior
267       can be retained via the -clear-vol-stats argument.
268
269   All Client Platforms
270
271     * Add support for relative ACL changes with fs setacl. If a single plus (+)
272       or minus (-) character is appended to the rights' letters argument, the
273       new rights are computed relatively to the existing ones.
274
275     * Remove afsd -settime and afsd -nosettime support.
276
277     * Add the afsd -inumcalc option to specify the method used to calculate
278       inode numbers presented by AFS.
279
280     * Add the afsd -volume-ttl option to specify set the maximum amount of time
281       information retrieved from the vlserver will be cached, regardless of
282       callback expiry times.
283
284     * Return EIO on internal errors instead of the misleading ENOENT.
285
286     * Log ICMP errors received, if any, for unreachable servers.
287
288     * Improve performance of clients with multiple PAGs for different cells.
289
290     * Fix race condition between changing and using user tokens among cache
291       manager threads.
292
293     * Fix fs sysname for users with UID 2748 and 2750 when not running
294       in -rmtsys mode.
295
296     * Add Perl bindings for the user-space cache manager library (libuafs).
297
298     * Fixes to the bypasscache feature.
299
300     * Fix fs getcacheparms miscounts.
301
302     * Remove the obsolete Netscape plugin.
303
304   Linux
305
306     * Remove Linux 2.2 and 2.4 support.
307
308     * Changes to avoid EIO errors with multiple processes doing intensive mmap
309       writing. (Drop PageReclaim AOP_WRITEPAGE_ACTIVATE.)
310
311     * Prevent fakestat data inconsistencies in certain cases (131855).
312
313     * Fix dentry leak which can cause a crash on shutdown.
314
315     * Fix improper use of ENOENT and avoid incorrect use of linux negative
316       dentry cache.
317
318     * Improve error reporting when encountering corrupt directories.
319
320     * Improve rx error handling in the Linux cache manager.
321
322     * Rename kpasswd to kapasswd when packaging RPMs to avoid colliding with
323       Kerberos kpasswd.
324
325     * Do not use the obsolete --enable-largefile-fileservers configure option
326       when packaging RPMs.
327
328     * Use the RemainAfterExit systemd feature to avoid premature exit
329       when -afsdb is not given, for RPM packages.
330
331     * Remove Debian packaging files from the OpenAFS source tree. Debian
332       packaging files are currently maintained in the downstream Debian
333       infrastructure.
334
335     * Add the sparc_linux26 sysname.
336
337     * Desupport 32-bit Linux kernels on s390/s390x.
338
339     * Fix Debian/Ubuntu build regression on kernel 3.16.39.
340
341     * Fix --enable-kernel-debug for linux 4.8+.
342
343     * Support linux 4.10, 4.11, 4.12
344
345   Solaris
346
347     * Remove support for all Solaris and SunOS platforms prior to Solaris 8.
348
349     * Build 64-bit binaries for Solaris x86 by default.
350
351     * Use one-group PAGs on Solaris 11, which is required for PAG support
352       on Solaris 11 since supplemental groups must be sorted starting with
353       Solaris 11.1.
354
355     * Update search paths for solaris cc for recent versions Solaris Studio.
356
357     * Modernize declaration of module dependences by converting from the
358       deprecated _depends_on symbol to ELF dependencies.
359
360     * Avoid BAD TRAP panic due to invalid opcodes on x86 with Studio 12.5.
361
362   MacOS
363
364     * Stop processing upcalls once rx shutdown starts.
365
366     * Enable atomics for the darwin kernel.
367
368     * Add a syscall to enable/disable bulkstat at run-time, which is
369       disabled by default.
370
371     * Fix path to binaries in the prefpane.
372
373     * Fix builds on MacOS 10.12 by building only the active architecture
374       by default.
375
376   FreeBSD
377
378     * Use the native kernel module build system instead of an ad hoc
379       replacement build system.
380
381     * Remove FreeBSD packaging files from the OpenAFS source tree. FreeBSD
382       packaging files are currently maintained in the downstream FreeBSD Ports
383       Collection.
384
385     * Stay up to date with new FreeBSD releases (through 10.3).
386
387     * Do not claim AFS_VM_RDWR_ENV
388
389   NetBSD
390
391     * Stay up to date with new NetBSD releases (through 7.x)
392
393     * Update to use cprng(9) as the randomness source on NetBSD 6.99/7.x.
394
395     * Build system updates for NetBDS 6.99.x
396
397     * Do not claim AFS_VM_RDWR_ENV
398
399   OpenBSD
400
401     * Stay up to date with new OpenBSD releases (through 4.7)
402
403     * Do not claim AFS_VM_RDWR_ENV
404
405   AIX
406
407     * Updates for AIX support.
408
409     * Fix build system for AIX exports.
410
411     * Add the uidpag and localuid runtime options to the aklog LAM plugin.
412       (These runtime options override the use of UID-based PAGs, which were
413       introduced to appease the CDE screensaver.)
414
415 OpenAFS 1.6.21
416
417   All platforms
418
419     * Avoid a possible 100ms transmit delay in the RX protocol when a peer's
420       receive window transitions from closed to open (12627)
421
422     * Documentation improvements (12476 12477 12559[RT #133339])
423
424   All server platforms
425
426     * When bosserver is started with an unknown option, print an error message
427       and exit with a non-zero value rather than failing silently (12631)
428
429   All DB server platforms
430
431     * Hold the DB lock while checking for an aborted write transaction (12516)
432
433   All file server platforms
434
435     * On demand attach fileservers, don't save or restore a client's host
436       state if CPS ("Current Protection Subdomain") recalculation for it is
437       in progress, to avoid fileserver thread exhaustion (12568)
438
439     * On demand attach fileservers, avoid flooding the log with error messages,
440       which could happen when the fileserver was restarted while a volume was
441       offline (12569)
442
443     * Update a volume's "Last Update" time when its content is modified by
444       the salvager, to make the change visible in the output of "vos examine"
445       and to backup services (12633)
446
447   All client platforms
448
449     * Corrected the DCentries bucket counts for very large and zero length
450       files in the output of "fs getcacheparms -excessive" (12604 12605)
451
452     * Fixed a bug that prevented users with GID 2748 and 2750 from executing
453       the "fs sysname" command on clients running afsd with -rmtsys (12607)
454
455     * Provide a new -inumcalc switch for afsd to allow enabling the alternative
456       MD5 method of inode number calculation, which was previously only
457       possible on Linux and through the sysctl interface (12608 12632)
458
459   Linux clients
460
461     * Support for mainline kernel 4.12 and distribution kernels with backports
462       from it (12624 12626)
463
464     * Re-added the improved algorithm for freeing unused vcaches to reduce
465       memory consumption first introduced with the 1.6.18 release, together
466       with a fix for the issue leading to its removal in 1.6.18.2 (12448..12451)
467
468   macOS clients
469
470     * Fixed a crash while stopping the client on macOS 10.12 "Sierra" (12602)
471
472
473 OpenAFS 1.6.20.2
474
475   All platforms
476
477     * Build fixes required by recent compilers or platforms (12514 12521 12534
478       12536 12538)
479
480     * Allow the bos server to start successfully in the presence of those, by
481       accepting a now checked return value indicating that the client ThisCell
482       and CellServDB already exist (12522)
483
484   Linux clients
485
486     * Support for mainline kernels 4.10 and - most likely - 4.11 and
487       distribution kernels with backports from them (12530 12588..12590 12598)
488
489     * Support for distribution kernels with partial backports from 4.9 (12535)
490       (RT #134158)
491
492     * In Red Hat packaging, moved the klog.krb5 manual page into the krb5
493       subpackage (12511)
494
495     * In Red Hat packaging, prevent systemd from double-starting the client
496       (12587)
497
498     * Allow aklog to function on current S390/S390x (12499)
499
500   Solaris clients
501
502     * Make process authentication groups work on Solaris 11, now using a single
503       group ID (12524..12527)
504
505     * Fix a BAD TRAP panic on Solaris 11 clients built with Studio 12.5 (12567)
506
507   macOS clients
508
509     * Fixed the preference pane for OS X 10.11 and later (12512)
510
511 OpenAFS 1.6.20.1
512
513   All platforms
514
515     * Build fixes required by recent compilers (12482..12484)
516
517   Linux clients
518
519     * Support for mainline kernel 4.9 and distribution kernels with
520       backports from it (12478..12480)
521
522     * In Red Hat packaging, make systemd deal correctly with the client
523       when no userland processes remain after starting it (12481)
524       (RT #133482)
525
526   macOS
527
528     * Support for release 10.12 "Sierra" (12431 12432)
529
530     * Avoid a crash in the Mounts tab of the OpenAFS preference pane (12447)
531
532 OpenAFS 1.6.20 (Security Release)
533
534   All platforms
535
536     * Fix for OPENAFS-SA-2016-003: file and directory names leak due to
537       reuse of directory objects without zeroing the contents
538       (12461 12462 12463 12464 12465)
539
540 OpenAFS 1.6.19
541
542   All platforms
543
544     * Documentation improvements (12304)
545     * Fixes for test failures (12396 12415)
546
547   All DB server platforms
548
549     * Avoid potentially writing to an out of date volume location or protection
550       database, or losing a database write, which could happen in rare cases
551       under special conditions during database leader election
552       (12339 12389)
553
554   Solaris clients
555
556     * Allow the fsinfo::: DTrace provider to work with AFS files (12371)
557
558   Linux clients
559
560     * Don't commit more data to a file than was actually copied during writes,
561       which could happen on architectures with a page size > 4 KiB (12413)
562     * Fixed build on PPC64 with GCC 6.1 (12388) (RT #133407)
563     * Fixed build on x86_64 with recent GCC (12365 12366)
564
565
566 OpenAFS 1.6.18.3
567
568   Linux clients
569
570     * Support for mainline kernel 4.7 and distribution kernels with
571       backports from it (12348)
572
573   Solaris clients
574
575     * Fixed memory mapped I/O on files >= 4 GiB (12349 12350)
576
577       Note that there is a suspicion that this might break the client
578       on very old Solaris releases (2.6). If it does, the breakage should
579       occur at build time.
580
581   OS X
582
583     * Added tooling to build a package for OS X 10.10 "Yosemite" and
584       10.11 "El Capitan" (12335 12351)
585
586
587 OpenAFS 1.6.18.2
588
589   Linux clients
590
591     * Support for mainline kernel 4.6 and distribution kernels with
592       backports from it (12332)
593
594     * Switch back to the pre-1.6.18 algorithm for freeing unused vcaches.
595       While the new algorithm is still believed to be correct, it turned
596       out that at least on some kernels, including 4.5 and 4.6, the dentry
597       for the current working directory may be erroneously invalidated.
598       This could lead to errors like "Unable to read current working directory"
599       when a directory wasn't accessed for a few minutes. (12323)
600
601     * Use a secure URL to retrieve the CellServDB in the script to create
602       the Red Hat source package (12330)
603
604   FreeBSD
605
606     * Added sysname IDs for 10.2 and 10.3 to fix the build on those platforms
607       (12322)
608
609
610 OpenAFS 1.6.18.1
611
612   Linux clients
613
614     * Support for mainline kernel 4.5 and distribution kernels with
615       backports from it (12300..12302)
616
617
618 OpenAFS 1.6.18
619
620   All platforms
621
622     * Documentation improvements (12224 11675 11613 12197)
623
624     * Improved diagnostics and error messages (12129 12207 12185 12211 12113
625       12215 12216)
626
627     * Check that CellServDB entries are valid IPv4 addresses, to avoid
628       occasional hangs or potentially other erratic behaviour due to invalid
629       entries (12210) (RT #131794)
630
631   All client platforms
632
633     * Gracefully handle cases where a client shutdown sequence is initiated
634       while the client is already shutting down, rather than cause a panic
635       (12179)
636
637     * Fixed several bugs that could cause erratic behaviour when the write
638       offset into a file was more than 2 GiB beyond the file's current end
639       on the server (12213 12214)
640
641   All server platforms
642
643     * Avoid a possible volserver crash during volume dump or restore due
644       to invalid ACL entries (12127)
645
646     * Allow recovering from a DAFS fileserver operation which allocates a
647       new vnode but fails to update the vnode index, rather than crashing the
648       server (12209)
649
650     * Fixed a longstanding bug which could damage the volume location database
651       when "vos changeaddr" was run with "-oldaddr" and "-newaddr" and the
652       old address was present in a multi-homed entry (12089)
653
654   FreeBSD
655
656     * Added support for releases 10.2 and 10.3 (12232)
657
658   Linux clients
659
660     * Support for mainline kernel 4.4 and distribution kernels with
661       backports from it, alas at a performance penalty (12226 12227 12228)
662       (RT #132677 #132819)
663
664     * Avoid using excessive amounts of kernel memory for dynamically
665       allocated vcaches, by improving the algorithm to free unused ones
666       (12256 12257)
667
668     * In Red Hat packaging, make the init script use "ip" if available, with
669       "ifconfig" as a fallback (12193)
670
671   OS X
672
673     * Basic support for release 10.11 "El Capitan" (12212)
674
675   IRIX clients
676
677     * Fixed kernel module builds with optimization (12198) (RT #131261)
678
679
680 OpenAFS 1.6.17 (Security Release)
681
682   All server platforms
683
684     * Fix for OPENAFS-SA-2016-001: foreign users can create groups as
685       if they were an administrator (RT #132822) (CVE-2016-2860)
686
687   All client platforms
688
689     * Fix for OPENAFS-SA-2016-002: information leakage from sending
690       uninitialized memory over the network.  Multiple call sites
691       were vulnerable, with potential for leaking both kernel and
692       userland stack data (RT #132847)
693
694     * Update to the GCO CellServDB update from 01 January 2016 (12188)
695
696   Linux clients
697
698     * Fix a crash when the root volume is not found and dynroot is not
699       in use, a regression introduced in 1.6.14.1 (12166)
700
701     * Avoid introducing a dependency on the kernel-devel package corresponding
702       to the currently running system while building the srpm (12195)
703
704     * Create systemd unit files with mode 0644 instead of 0755
705       (12196) (RT #132662)
706
707 OpenAFS 1.6.16
708
709   All platforms
710
711     * Documentation improvements (11932 12096 12100 12112 12120)
712
713     * Improved diagnostics and error messages (11586 11587)
714
715     * Distribute the contributor code of conduct with the stable release (12056)
716
717   All server platforms
718
719     * Create PID files in the right location when bosserver is started with
720       the "-pidfiles" argument and transarc paths are not being used (12086)
721
722     * Several fixes regarding volume dump creation and restore (11433 11553
723       11825 11826 12082)
724
725     * Avoid a reported bosserver crash, and potentially others, by replacing
726       fixed size buffers with dynamically allocated ones in some user handling
727       functions (11436) (RT #130719)
728
729     * Obey the "-toname" parameter in "vos clone" operations (11434)
730
731     * Avoid writing a loopback address into the server CellServDB - search
732       for a non-loopback one, and fail if none is found (12083 12105)
733
734     * Rebuild the vldb free list with "vldb_check -fix" (12084)
735
736     * Fixed and improved the "check_sysid" utility (12090)
737
738     * Fixed and improved the "prdb_check" utility (12101..04)
739
740   All client platforms
741
742     * Avoid a potential denial of service issue, by fixing a bug in pioctl
743       logic that allowed a local user to overrun a kernel buffer with a single
744       NUL byte (commit 2ef86372) (RT #132256) (CVE-2015-8312)
745
746     * Refuse to change multi-homed server entries with "vos changeaddr",
747       unless "-force" is given, to avoid corruption of those entries (12087)
748
749     * Provide a new vos subcommand "remaddrs" for removing server entries, to
750       replace the slightly confusing "vos changeaddr -remove" (12092 12094)
751
752     * Make "fs flushall" actually invalidate all cached data (11894)
753
754     * Prevent spurious call aborts due to erroneous idle timeouts (11594)
755
756     * Provide a "--disable-gtx" configure switch to avoid building and
757       installing libgtx and its header files as well as the depending
758       "scout" and "afsmonitor" applications (12095)
759
760     * Fixed building the gtx applications against newer ncurses (12125)
761
762     * Allow pioctls to work in environments where the syscall emulation
763       pseudo file is created in a read-only pseudo filesystem, like in
764       containers under recent versions of docker (12124)
765
766   Linux clients
767
768     * In Red Hat packaging, avoid following a symbolic link when writing
769       the client CellServDB, which could overwrite the server CellServDB,
770       by removing an existing symlink before writing the file (12081)
771
772     * In Red Hat packaging, avoid a conflict of openafs-debuginfo with
773       krb5-debuginfo by excluding our kpasswd executable from debuginfo
774       processing (12128) (RT #131771)
775
776 OpenAFS 1.6.15 (Security Release)
777
778   All client and server platforms
779
780     * Fix for OPENAFS-SA-2015-007 "Tattletale"
781
782       When constructing an Rx acknowledgment (ACK) packet, Andrew-derived
783       Rx implementations do not initialize three octets of data that are
784       padding in the C language structure and were inadvertently included
785       in the wire protocol (CVE-2015-7762).  Additionally, OpenAFS Rx in
786       versions 1.5.75 through 1.5.78, 1.6.0 through 1.6.14, and 1.7.0
787       through 1.7.32 include a variable-length padding at the end of the
788       ACK packet, in an attempt to detect the path MTU, but only four octets
789       of the additional padding are initialized (CVE-2015-7763).
790
791 OpenAFS 1.6.14.1
792
793   Linux clients
794
795     * Support kernels up to 4.2
796
797       Due to changes to internal data structures with this kernel release,
798       the OpenAFS client can no longer reset the link count during path
799       lookups. Since volume root directories must behave like symlinks
800       instead of normal directories in order to satisfy Linux kernel
801       invariants, looking up paths containing more than 40 mount points
802       will fail with ELOOP on such kernels.
803
804 OpenAFS 1.6.14
805
806   All server platforms
807
808     * Prior to the OpenAFS security release 1.6.13, the Volume Location
809       Server (vlserver) RPC VL_ListAttributesN2() supported wildcard volume
810       name lookups via regular expression (regex) pattern matching. This
811       support was completely disabled in 1.6.13 because it was judged to be
812       a security risk due to buffer overruns in the implementation, as well
813       as the possibility of denial of service attacks where certain regular
814       expressions could cause excessive CPU usage in some regex
815       implementations.
816
817       Unfortunately, after 1.6.13 was released, it was discovered that
818       the native OpenAFS 'backup' system uses the VL_ListAttributesN2()
819       regex support to evaluate configured volume sets. If you use the
820       OpenAFS 'backup' system (or another backup system which relies on it,
821       such as Tivoli Storage Manager (TSM, aka Tivoli ADSM)), and are using
822       volume sets which require regular expressions for the volume name,
823       then those volume sets cannot be resolved by OpenAFS 1.6.13. The next
824       paragraph provides details on how to identify any affected volume sets.
825
826       OpenAFS backup volume sets may be described by fileserver, partition
827       name, and volume name. The fileserver and partition specifications
828       never require regular expression support. The volume name specification
829       always requires regular expression support except for when specifying
830       _all_ volumes via two special cases: the universal wildcard ".*", or "".
831       For example, volume name "proj" or "*.backup" or "homevol.*" all
832       require regex support - even if the specification contains no wildcard
833       characters and/or exactly matches an existing volume name.
834
835       As a result of this issue, OpenAFS 1.6.14 replaces the 1.6.13 changes
836       to VL_ListAttributesN2. 1.6.14 prevents the buffer overruns and
837       reenables the regex support, but restricts it to OpenAFS super-users
838       and -localauth only. This is sufficient to restore the OpenAFS 'backup'
839       system's ability to work correctly with any previously supported volume
840       set. The OpenAFS 'backup' commands are already documented to require
841       super-user authorization, so this restriction is moot for the backup
842       system.
843
844       There are no other direct consumers of the VL_ListAttributesN2() regex
845       support in the OpenAFS tree. However, the VL_ListAttributesN2 RPC is
846       publicly accessible and might be used by third party tools directly or
847       indirectly via OpenAFS's libadmin. Any such tools that issue
848       VL_ListAttributesN2 RPCs must now be executed using super-user or
849       -localauth tokens.
850
851       None of the other security fixes in OpenAFS 1.6.13 are known to have
852       any issues, and are still included unchanged in OpenAFS 1.6.14.
853
854       If there are any questions concerning the possible impact of OpenAFS
855       1.6.13 or 1.6.14 at your site, please contact your OpenAFS support
856       provider or the openafs-info@openafs.org mailing list for further
857       assistance.
858
859 OpenAFS 1.6.13
860
861   All server platforms
862
863     * Fix for CVE-2015-3282: vos leaks stack data onto the wire in the
864       clear when creating vldb entries
865
866     * Workaround for CVE-2015-3283: bos commands can be spoofed, including
867       some which alter server state
868
869     * Disabled searching the VLDB by volume name regular expression to avoid
870       possible buffer overruns in the volume location server
871
872   All client platforms
873
874     * Fix for CVE-2015-3284: pioctls leak kernel memory
875
876     * Fix for CVE-2015-3285: kernel pioctl support for OSD command passing
877       can trigger a panic
878
879   Solaris clients
880
881     * Fix for CVE-2015-3286: Solaris grouplist modifications for PAGs can
882       panic  or overwrite memory
883
884 OpenAFS 1.6.12
885
886   All server platforms
887
888     * Avoid database corruption if a database server is shut down and then
889       brought up again quickly with an altered database (11773 11774)
890       (RT #131997)
891
892   All client platforms
893
894     * Fixed a potential buffer overflow in aklog (11808)
895
896     * Avoid a bogus warning regarding the checkserver daemon, which could be
897       logged during startup when the cache initialization was very fast (11680)
898
899     * Added documentation of the inaccuracy of the 'partition' field in
900       'fs listquota' output for partitions larger than 2 TiB (11626)
901
902   Linux clients
903
904     * Support kernels up to 4.1 (11872 11873)
905
906     * Avoid spurious EIO errors when writing large chunks of data to
907       mmapped files (11877)
908
909   OS X
910
911     * Build fixes required at least on OS X 10.10 Yosemite with the latest
912       XCode (11859 11876 11842..11845 11863 11878 11879)
913
914 OpenAFS 1.6.11.1
915
916   Linux clients
917
918     * Support kernels up to 4.0 (11760 11761)
919
920   FreeBSD clients
921
922     * Fixed kernel module build on systems with an updated clang which no
923       longer accepts the -mno-align-long-strings as a no-op (11809)
924
925 OpenAFS 1.6.11
926
927   All platforms
928
929     * Allow aklog to succeed creating native K5 tokens even when mapping
930       the K5 principal to a K4 one fails (11538)
931
932     * Build fixes (11435 11636)
933
934   All client platforms
935
936     * Avoid a potential kernel panic due to connection reference overcounts
937       (11645) (RT #131885)
938
939     * Avoid potential corruption of files written using memory mapped I/O
940       when the file is larger than the cache (11656) (RT #131976)
941
942   Linux clients
943
944     * Support kernels at least up to 3.19 (11549 11550 11569 11570 11595
945       11658..11662 11694 11752)
946
947       Note: By default this excludes kernels 3.17 to 3.17.2, which will leak
948             an inode reference when an error occurs in d_splice_alias(). The
949             module will build and work, but leak kernel memory, leading to
950             performance degradation and eventually system failure due to
951             memory exhaustion. Since it's impossible to detect this condition
952             automatically, the switch --enable-linux-d_splice_alias-extra-iput
953             must be passed to configure when building the module for those
954             kernels. The same would be necessary for any kernel with backports
955             of commit 908790fa3b779d37365e6b28e3aa0f6e833020c3 or commit
956             95ad5c291313b66a98a44dc92b57e0b37c1dd589 but not the fix in commit
957             51486b900ee92856b977eacfc5bfbe6565028070 in the linux-stable repo
958             (git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git) or
959             the corresponding changes on other branches.
960
961     * Fixed a regression introduced in OpenAFS release 1.6.10 which could
962       make the spurious "getcwd: cannot access parent directories" problem
963       return (11558 11568) (RT #131780)
964
965     * Avoid leaking memory when scanning a corrupt directory (11707)
966
967   OS X clients
968
969     * Support OS X 10.10 "Yosemite" (11571 11572 11611) (RT #131946)
970
971   Solaris clients
972
973     * Avoid reading random data rather than correct cache content when using
974       ZFS as the cache file system on Solaris >= 11, and fix potential similar
975       problems on other platforms (11713 11714)
976
977   FreeBSD
978
979     * Build fix for releases >= 11.0 (11610)
980
981   OpenBSD
982
983     * Support release 5.4 (11700)
984
985
986 OpenAFS 1.6.10
987
988   All platforms
989
990     * Don't hide the "version" subcommand in help output (11214)
991
992     * Documentation improvements (11126 11216 11222 11223 11225 11226)
993
994     * Improved diagnostics and error messages (11154 11246 11247 11249 11181
995       11182 11183)
996
997     * Build system improvements (11158 11221 11224 11225 11227..11241 11282
998       11342 11350 11353 11242 11367 11392)
999
1000     * Avoid potentially erratic behaviour under certain error conditions by
1001       either avoiding or at least not ignoring them, in various places (11008
1002       11010..11065 11112 11148 11196 11530)
1003
1004   FreeBSD
1005
1006     * Support releases 9.3 and 10.1 (11368 11369 11402 11403 11404)
1007
1008     * Makes a disk cache more likely to work on FreeBSD, though such
1009       configurations remain not very tested (11448)
1010
1011   All server platforms
1012
1013     * Added volscan(8) (11252..11280 11387 11388)
1014
1015     * Fixed a bug causing subgroups not to function correctly if their
1016       ptdb entry had more than one continuation entry (11352)
1017
1018     * Logging improvements (10946 11153)
1019
1020     * Allow log rotation via copy and truncate (11193)
1021
1022     * Avoid a server crash during startup only observed on a single platform
1023       and when using a 3rd party library under certain circumstances, which is
1024       a collateral effect of the security improvements introduced in OpenAFS
1025       release 1.6.5 (11075) (RT #131852)
1026
1027   All client platforms
1028
1029     * Raised the free space reported for /afs to the maximum possible value of
1030       just under 2 TiB - the old value was 9 GiB on most platforms (10984)
1031
1032     * Reduced the amount of stack space used (11162 11163 11203 11164..11167
1033       11338 11339 11364..11366 11381)
1034
1035     * Sped up a periodic client task which could be problematically slow
1036       on systems with a large number of PAGs and files in use (11307)
1037
1038     * Fixed failure of the up command with large ACLs (11111)
1039
1040     * Avoid a potential crash of aklog (11218)
1041
1042     * Avoid potential crashes of scout and xstat_fs_test (11155)
1043
1044   Linux clients
1045
1046     * Support kernels up to 3.16 (11308 11309)
1047
1048     * Fixed a regression introduced in OpenAFS release 1.6.6 that made
1049       checking for existing write locks incorrectly fail on readonly volumes
1050       (11361)
1051
1052     * Fixed a regression introduced in OpenAFS release 1.6.8 that could
1053       cause VFS cache inconsistencies when a previously-accessed directory
1054       entry was removed and recreated with the same name but pointing to a
1055       different file on another client (11358)
1056
1057     * Use the right path to depmod in Red Hat packaging to avoid dependency
1058       calculation incorrectly failing unless a link /sbin -> /usr/sbin is
1059       present on the system performing it (11171) (RT #131860)
1060
1061     * Do not ignore kernel module build errors (11205)
1062
1063 OpenAFS 1.6.9
1064
1065   All server platforms
1066
1067     * Fix for OPENAFS-SA-2014-002
1068
1069 OpenAFS 1.6.8
1070
1071   All platforms
1072
1073     * Documentation improvements (10751 10875 10931 10897 10883 10954 10955)
1074
1075     * Improved diagnostics and error messages (10756 10814 10949)
1076
1077     * Fixed a bug in RX that could make errors during packet reception go
1078       unnoticed. (10733)
1079
1080     * Fixed a bug that made "vos size -dump" display the wrong size for
1081       large volumes. (10933)  (RT #131819)
1082
1083   All server platforms
1084
1085     * Change the default fileserver sync behavior from "delayed" to "onclose".
1086       This means that explicit syncing only happens when a volume is detached.
1087       (10809)
1088
1089     * Added the -offline-timeout and -offline-shutdown-timeout options to the
1090       fileserver, to implement interrupting clients accessing volumes we are
1091       trying to take offline. (6266 10799)
1092
1093   All client platforms
1094
1095     * When a client is shut down, it will give up its callbacks. The Windows
1096       client has been doing this since 2007. Note that older fileservers
1097       (1.3.50 to 1.4.5 and 1.5.0 to 1.5.27) had a bug in the implementation of
1098       the relevant RPC that could cause crashes or other undefined behavior
1099       when this happens. (6272 8840 10855)
1100
1101     * Restored the pre-1.6 behavior of "vos e" being an alias for "vos examine".
1102       (10886)
1103
1104     * Avoid flooding logs with warnings about byte-range locks, by throttling
1105       them per file. Also, make the messages more useful by including the
1106       FID. (10836..10839)
1107
1108     * Avoid a possible panic during shutdown while tracing. (10932)
1109
1110   Linux clients
1111
1112     * Fixed a bug that could cause the "getcwd: cannot access parent
1113       directories" problem (10804 10984)
1114
1115     * Avoid a delay when accessing uncached data in AFS in a confined
1116       context under SELinux. (10598)
1117
1118     * Red Hat packaging improvements (10600 10767 10807)
1119
1120 OpenAFS 1.6.7
1121
1122   All server platforms
1123
1124     * Fix for OPENAFS-SA-2014-001
1125
1126     * Fix for a potential DOS attack against RX servers
1127
1128 OpenAFS 1.6.6
1129
1130   All platforms
1131
1132     * As of this release, OpenAFS no longer ships uncompressed source tarballs.
1133       Tarballs are still shipped with both compression formats, gzip and bzip2.
1134       (10131)
1135
1136     * Documentation improvements (10136 10314 10601)
1137
1138     * Improved diagnostics and error messages (9412 10085 10274)
1139
1140     * Avoid redefining "assert" in our public header files, which could
1141       cause failures when building some applications using them. (10096)
1142
1143     * Fixes for parallel builds (10005 10309 10337)
1144
1145     * Added a -s switch to afscp (not installed by default) to help simulate
1146       a slow client. (9416 9417)
1147
1148     * Added a -probe switch to vlclient test program (not installed by default)
1149       to ping all vlservers in a cell in parallel. (9570)
1150
1151   All server platforms
1152     * The fileserver now ignores any vice partitions with a NeverAttach flag
1153       file present in the root directory. (RT #130561) (9470 9471)
1154
1155     * Restrict forcing CPS ("Current Protection Subdomain") recalculation in
1156       the fileserver to administrators. Also fixed a bug that could cause this
1157       operation to be incomplete. (9485 9487)
1158
1159     * Allow non-DAFS fileservers to attach unusable volumes, restoring pre-1.6
1160       behaviour. (RT #131505) (9499)
1161
1162     * Restored the pre-1.6 behaviour when running vos examine for a volume
1163       currently in a transaction, showing the volume as busy again rather than
1164       offline. (9685 9915 9916)
1165
1166     * Reduced the minimum time a bos salvage takes from 5 seconds to 1. (9476)
1167
1168     * Fixed buserver to not segfault when started with the -servers option.
1169       (RT #131706) (10166)
1170
1171     * Salvager fixes, addressing a wide variety of possible problems from
1172       unnecessary salvaging to aborts (9282 9283 9457 9458 9459 9461 9462 9480
1173       9481 10165 10167)
1174
1175     * Fixed a bug that could cause saved state information to be discarded
1176       when restarting a large or busy fileserver, which negatively impacted
1177       performance. (9683)
1178
1179     * Fixed a bug that could have caused undefined behaviour in the vlserver
1180       in rare cases when a fileserver registered its addresses in the VLDB.
1181       (9429)
1182
1183     * Added the -preserve-vol-stats switch to volserver, allowing it to keep
1184       the access statistics across volume restore and reclone operations
1185       instead of resetting them. (9477)
1186
1187     * Inserted an exponential delay between retries when bosserver attempts to
1188       restart a server process. (9571 10199)
1189
1190     * Improved vldb_check (not installed by default) to cope with broken
1191       vlentry names and volids, and provide more output to aid debugging.
1192       (10268)
1193
1194     * Releasing a volume after adding a new RO site no longer touches any of
1195       the existing RO sites, if the RW data hasn't changed since the last
1196       release. (10174)
1197
1198     * Make the copyDate field for RO clones have the same meaning as for
1199       remote RO volumes. Previously, the copyDate field for clones was updated
1200       every time we released. (9451)
1201
1202     * Fixed potentially undefined behaviour in ptserver when too many pts
1203       ids are allocated. (10124)
1204
1205     * Note that the server side NAT pings feature present in the prereleases
1206       was removed before the final release, since no positive feedback
1207       was provided during prerelease testing. (9420 10135)
1208
1209   Linux servers
1210
1211     * Start bosserver with -nofork in the systemd unit file, to allow systemd
1212       to track its state (10093)
1213
1214   All client platforms
1215
1216     * No longer track file locks on read-only volumes. Write locks can't
1217       succeed, read locks always will. Avoids log messages about this kind
1218       of lock. (8910)
1219
1220     * Added the "fs flushall" subcommand, which makes the client discard all
1221       cached data. This was previously available on Windows only. (9065 9388
1222       9389 9390)
1223
1224     * Fixed a bug that could make the client incorrectly believe its cache
1225       is up to date. This change could negatively impact AFS <-> DFS
1226       translators, should those still be running anywhere. (8898)
1227
1228     * Several changes to avoid panicing in certain error conditions.
1229       (9131 9287 10354 10355 10356 10357) (partially addressing RT #131747)
1230
1231     * Added the -rxmaxfrags switch to afsd, allowing to limit the number
1232       of UDP fragments sent or received per RX packet. (9430)
1233
1234     * Build fixes for aklog on several platforms (RT #131716) (9917 10107 10275)
1235
1236     * Require that the AFS mountpoint specified in the cacheinfo file is
1237       an absolute path. Relative paths result in a client that basically
1238       works but is not fully functional. (10253)
1239
1240     * Fixed a bug that could cause one of the afsd threads to enter an infinite
1241       loop (10431 .. 10436)
1242
1243   Linux clients
1244
1245     * Support Linux kernels up to 3.13 (10241)
1246
1247     * Fixed a bug that made readv/writev calls in AFS space fail with Linux
1248       kernels where generic_file_aio_read exists but those operations have
1249       not been switched to using aio_read/aio_write. This was a regression
1250       introduced with release 1.6.3 and affected at least RHEL 5.9 kernels.
1251       (10248)
1252
1253     * Fixed a similar bug making core dumps fail in AFS space, affecting
1254       a much wider range of kernels including the most recent ones.
1255       (RT #131729) (10254)
1256
1257     * Enhanced the keyring code to make PAGs work correctly on kernels with a
1258       distribution specific change to the Linux keyring code. This affected at
1259       least SLES 11 SP3 kernels. (10252)
1260
1261     * Fixed a bug that could make failures during PAG instantiation go
1262       unnoticed. (10255)
1263
1264     * Fixed a bug that made compilation fail for Linux kernels without
1265       keyring support. This affected at least the SLE 10 SDK and an
1266       OEM version of SLES 11 SP1. (10325)
1267
1268     * Fixed build for kernels with user namespace support enabled. Likely
1269       to be required for Ubuntu 14.04 and eventually other distributions.
1270       (10456 10457 10458 10518 10472)
1271
1272     * Support RHEL 6.5 kernels, and possibly others with changes backported
1273       from recent mainline kernels that touch getname/putname, by no longer
1274       using those functions. Previously, the client could cause a kernel
1275       panic when syscall auditing was enabled. (10578)
1276
1277     * Make tmpfs usable as the cache filesystem again. This had been broken
1278       since kernel 3.1 (9950 10193)
1279
1280     * When starting the client fails, clean up the backing device information
1281       created in sysfs, to avoid error messages during a subsequent start
1282       and possible system instability later on (10454)
1283
1284     * Update Red Hat packaging to support Fedora >= 20, RHEL >= 7 and
1285       ELrepo kernels (10597 10619 10622 10703 10704)
1286
1287   OS X Clients
1288
1289     * Support OS X 10.9 "Mavericks" (10519 10541 10542 10543 10548 10549)
1290
1291   AIX clients
1292
1293     * Fixed a bug that caused the 1.6 AIX client to never receive any RX
1294       packets in the kernel. (RT #131725)
1295
1296   FUSE client
1297
1298     * Support Solaris 11 (9454 9455)
1299
1300     * Allow other users to access filesystems mounted by root. (9452)
1301
1302   FreeBSD
1303
1304     * Build tvolser and dvolser on this platform (10122)
1305     * Several fixes to catch up with newer releases (10374 .. 10381)
1306
1307   NetBSD
1308
1309     * Build tsalvaged, tvolser and dvolser on this platform (10121)
1310     * Fixed build on NetBSD 5 and newer. (10138)
1311
1312 OpenAFS 1.6.5
1313
1314 All platforms
1315
1316     * Fixes for OpenAFS-SA-2013-0003 and OpenAFS-SA-2013-0004
1317
1318 OpenAFS 1.6.4
1319
1320 All platforms
1321
1322     * Obey the jumbo/nojumbo settings for ubik servers (the DB servers)
1323       too. In previous releases, those servers may have used jumbograms
1324       even if they were not configured to do so. This change corrects
1325       the actual behaviour, and will improve performance and reliability
1326       for sites where jumbograms are problematic. It could cause a decrease
1327       in performance for sites where jumbograms work, but those can turn
1328       them back on manually.
1329
1330     * Dozens of fixes for common coding problems like use after free,
1331       use of possibly uninitialised memory, reading or writing past the
1332       end of arrays and potential NULL pointer derefences. Spotted by
1333       code analysis tools or human inspection.
1334
1335     * Documentation improvements.
1336
1337     * Fixes and improvements to the diagnostic or log messages printed by
1338       vos, the fileserver and others.
1339
1340     * Build fixes, making parallel builds more reliable with certain
1341       configuration options and helping various platforms including
1342       recent releases of IRIX, Solaris and several flavours of Linux.
1343
1344     * Avoid sending a small amount of data over the wire unencrypted
1345       under certain conditions, and emit the correct error message in
1346       this case.
1347
1348 All server platforms
1349
1350     * Avoid generating duplicate IDs for readonly and backup volumes,
1351       which could happen under certain conditions.
1352
1353     * Allow the fileserver to return volume data like quota or free space,
1354       which is available publicly elsewhere, without the additional access
1355       check for read permissions on a volume's root directory the fileserver
1356       performed before.
1357
1358     * The fileserver now emits a log message when it ran out of memory for
1359       callbacks.
1360
1361     * Avoid several potential fileserver problems, including memory
1362       corruption and segmentation faults, due to client bookkeeping.
1363
1364     * Avoid known cases of silent data corruption due to background syncs
1365       on the fileserver, especially during Copy on Write.
1366
1367     * Make the fileserver sync behaviour runtime configurable. Up to 1.4.5,
1368       we had synchronous syncs which were safe but really slow. Since 1.4.5,
1369       we've had asynchronous syncs which are much faster but believed to
1370       be the cause of rare data corruption issues, and while all known cases
1371       of these happening are believed to be fixed in the 1.6.3 release, doubts
1372       remain. This change allows choosing between those, and in addition allows
1373       to turn syncs by the fileserver off altogether, thus relying on the vice
1374       partition's backend filesystem and the operating system, or to just
1375       execute them when a volume is detached. The default behaviour is
1376       unchanged from releases since 1.4.5, but it's highly recommended to
1377       consider the additional options this change provides. Future OpenAFS
1378       releases will default to "-sync=none".
1379
1380     * For dbservers, avoid a situation where misinterpreting transient
1381       network errors causes long-term issues with achieving ubik quorum.
1382
1383 All UNIX client platforms
1384
1385     * Improvements to the detection of an aklog-specific krb5 configuration
1386       file, for the purposes of turning on "weak crypto" for aklog.
1387
1388     * Fixed a regression introduced in release 1.6.2 which caused the
1389       supposedly persistent disk cache to be discarded upon client start.
1390       (RT #131655)
1391
1392 Linux clients
1393
1394     * Support Linux kernels up to 3.10
1395
1396     * Fixed two bugs making it impossible to unmount a disk cache filesystem
1397       after it has been used by the client. (RT #131613)
1398
1399     * Fixed a bug that could cause an oops with kernels 3.6 and later
1400
1401 OpenBSD
1402
1403     * Improved support for OpenBSD 4.9 to 5.3
1404
1405 OpenAFS 1.6.3
1406
1407   This release number had to be skipped for technical reasons.
1408
1409 OpenAFS 1.6.2.1
1410
1411   Linux clients
1412
1413     * Support Linux kernels up to 3.8.
1414
1415     * Make the init script cope with the output of ifconfig on recent Fedora.
1416
1417 OpenAFS 1.6.2
1418
1419   All platforms
1420
1421     * Fix buffer overflows in fileserver and ptserver.
1422
1423     * Abort an rx connection when given an unknown service (Gerrit 7593).
1424
1425     * "idle dead" behavior improvements.
1426
1427     * Documentation updates.
1428
1429   All server platforms
1430
1431     * Fix rare file corruption during background sync (Gerrit 8796).
1432
1433     * Fix corrupting clients' metadata cache during certain errors (Gerrit
1434       6957).
1435
1436     * Avoid saying a volume doesn't exist when accessed as the volume is
1437       going offline (Gerrit 7488).
1438
1439     * Fix fileservers to properly report >2 TiB partitions.
1440
1441     * Fix stale volume info from vos examine on non-DAFS filservers.
1442
1443     * Fix possible volume corruption with vos convertROtoRW.
1444
1445     * Fix bosserver to preserve all command-line options over restart.
1446
1447     * Fix bosserver to properly kill hung processes during shutdown.
1448
1449   All UNIX client platforms
1450
1451     * Fixes for memcache, especially on Solaris.
1452
1453     * Increase the size of the DNS resolver answer buffer to allow sites
1454       with a long response list to use SRV and AFSDB records.
1455
1456     * Fix a crash when a server appears to run out of addresses (Gerrit
1457       7487).
1458
1459     * Fix cache corruption when reading from a file another client is
1460       simultaneously writing to (Gerrit 7994).
1461
1462     * Improve handling of disk cache disk errors.
1463
1464   Linux
1465
1466     * fix DKMS configuration for DKMS 2.2.
1467
1468     * Avoid generating inode number 0 with md5 inodes (Gerrit 7276).
1469
1470     * Fix a crash when reading /proc/fs/openafs/unixusers (Gerrit 7914).
1471
1472     * Make PAG-less access use the real UID of the calling process
1473       instead of the effective UID, when determining what credentials to
1474       use (Gerrit 7931).
1475
1476     * Fix possible abuse of fs mkmount.
1477       Prior to 1.6.2, users could crash a client by nesting volume mounts.
1478
1479     * Fix fileserver memory corruption on RHEL 6
1480       Prior to 1.6.2, fileservers on RHEL 6 may crash under heavy load.
1481
1482     * Fix client page cache corruption on Linux
1483       When multiple clients read and write to a file, the reading client
1484       may see first page (4096 bytes) of a file as nulls.
1485
1486     * Support Linux kernels up to 3.7.
1487
1488     * Support newer glibc versions.
1489
1490     * Improve client systemd unit file.
1491
1492     * Update Red Hat packaging.
1493
1494   OS X
1495
1496     * Fix crashes on shutdown.
1497
1498     * Prevent unloading the module before shutdown completes.
1499
1500     * Security improvement for the OpenAFS preference pane.
1501
1502   Solaris
1503
1504     * Support newer versions of the Sun Studio compiler software.
1505
1506     * Support compiling on newer versions of Solaris 11 and Solaris 10.
1507
1508
1509 OpenAFS 1.6.0 (2011-08-15)
1510
1511   All platforms
1512
1513     * Substantial Rx updates to correct erroneous behavior.
1514
1515     * vos now properly deals with matching sites when servers are
1516       multihomed.
1517
1518     * Don't stop Rx keepalives after an ackall is received, avoiding
1519       spurious connection timeouts. (128848)
1520
1521     * Don't retry Rx calls on channels returning busy errors and improve
1522       Rx busy call channel error handling. (128671)
1523
1524     * Properly enable Rx connection hard timeouts.
1525
1526     * Rx NAT pings are not enabled until peer has answered.
1527
1528     * Initialize rx_multi lock before use.
1529
1530     * Avoid spurious crashes when initializing in "backup" client.
1531
1532     * Revert UUID support in vos.
1533
1534     * pt_util fixed to properly create new databases.
1535
1536     * MTU discovery now properly shut down on call reset.
1537
1538     * Avoid leaking references to hosts during callback break multi-Rx
1539       operations. (129376)
1540
1541     * xstat tools now cope with differing timeval structures between
1542       endpoints.
1543
1544     * Numerous fixes to command argument parsing.
1545
1546     * Documentation updates.
1547
1548   All server platforms
1549
1550     * A file descriptor leak which could result in corrupted files in the
1551       fileserver was fixed. An IMMEDIATE upgrade from previous 1.5 release
1552       fileservers is recommended.
1553
1554     * Fix ptserver supergroups support on 64 bit platforms.
1555
1556     * Demand attach salvaging doesn't use freed volume pointers.
1557
1558     * Properly hold host lock during host enumeration in fileserver.
1559
1560     * Attempt to recovery more quickly from timed out volume release
1561       transactions.
1562
1563     * Auditing now properly byte order swaps IP addresses when printing.
1564
1565     * vos split now has improved error handling.
1566
1567     * Many changes to again support Windows fileservers.
1568
1569     * During volume removal, data removal speed improved.
1570
1571     * Improve CPU utilization during volume attaching by DAFS.
1572
1573     * In salvager check-only mode, avoid potentially fixing a vnode.
1574
1575     * Fix support for large (greater than 2gb) volume special files.
1576
1577     * Salvager will not crash if multiple or bad volume link tables are
1578       encountered.
1579
1580     * Avoid erroneous full dump by remembering which sites were out of
1581       date at the start of the release.
1582
1583     * A deleted volume can now be recreated properly.
1584
1585     * Callbacks are again not broken during whole partition salvages.
1586
1587     * Positional vectored IO fixed for largefile (>2GB) capable systems.
1588
1589     * Fileserver per-client thread usage again properly enforced.
1590
1591     * Anonymous dropbox support improved and drawbacks documented.
1592
1593     * Demand attach: ensure vnodes are not reallocated while in use due to
1594       volume bitmap errors.
1595
1596     * Properly support large volume numbers (larger than 2147483647).
1597
1598     * Allow salvager to be run manually again when DAFS is being
1599       used. (129458)
1600
1601     * Avoid leaking references to hosts during callback break multi-Rx
1602       operations. (129376)
1603
1604     * Demand attach: unlink fileserver state file on standalone salvage.
1605
1606     * Salvager tries harder to detect linktable issues.
1607
1608     * Demand attach: don't attach volumes with special status set.
1609
1610     * Avoid crashing on host table exhaustion. Instead, defer clients.
1611
1612   Microsoft Windows
1613
1614     * afs_config will not longer set the Tray Icon State in the registry
1615       if the checkbox is not present in the dialog. (128591)
1616
1617     * AFS Explorer Shell Extension now works from folder backgrounds.
1618       Overlays for mount points and symlinks are present in the dll, but
1619       are not registered at present by the installers.
1620
1621     * Do not use RankServerInterval registry value as the value for
1622       PerformanceTuningInterval.
1623
1624     * When the data version of a mountpoint or symlink changes, the target
1625       string in the cm_scache_t object must be cleared.
1626
1627     * "fs checkservers" now includes vldb servers in the output and only
1628       lists multi-homed servers once.  A multi-homed server that has at
1629       least one up interface is no longer considered to be down.
1630
1631     * When asynchronously storing dirty data buffers to the file server
1632       ensure that (a) the cm_scache_t object and the cm_buf_t object are
1633       for the same File ID so that locking and signalling work properly;
1634       and (b) if the FID no longer exists on the file server, do not
1635       panic, just discard the buffer.
1636
1637     * When processing VNOVOL, VMOVED and VOFFLINE errors perform server
1638       comparisons by UUID or address and not simply by cm_server_t
1639       pointer.  Otherwise, server failover may not succeed.
1640
1641     * Do not preserve status information for cm_scache_t objects when the
1642       issuing server is multi-homed.
1643
1644     * Giving up all callbacks when shutting down or suspending the machine
1645       is now significantly faster due to the use of an rx_multi
1646       implementation.  (This functionality is still off by default and
1647       must be activated by a registry value.)
1648
1649     * Race conditions were possible when updating the state of the
1650       cm_volume_t flags and when moving the volumes within the least
1651       recently used list.
1652
1653     * Ensure that the lanahelper library does not perform a NCBRESET of
1654       each lan adapter when enumerating the current network bindings.
1655       Correcting this permits OpenAFS to work on Windows 7 when the
1656       network adapter settings change.
1657
1658     * Fix creation of mount points and symlinks as \\AFS\xxxx
1659
1660     * Icon tray state now conditionally set. (128591)
1661
1662     * Properly create new cell mount points in freelance mode.
1663
1664     * Avoid recursive offline volume checks.
1665
1666     * Fix caching of non-existent volumes.  The test to trigger an
1667       immediate CM_ERROR_NOSUCHVOLUME in cm_UpdateVolumeLocation() was
1668       backwards.
1669
1670     * Prevent the background daemon from checking the status of
1671       non-existent volumes.  cm_CheckOfflineVolumes() should skip volume
1672       groups with the CM_VOLUMEFLAG_NOEXIST flag set.
1673
1674     * The afskfw library should return an error immediately if the
1675       krb5_32.dll library cannot be loaded.  Affects afslogon.dll and
1676       afscreds.exe.
1677
1678     * No longer depend on leashw32.dll in afskfw library.
1679
1680     * NPLogonNotify must provide the user password in all calls to
1681       KFW_AFS_get_cred().  It cannot count on a credential cache being
1682       preserved between calls.  Permits tokens to be acquired for all
1683       cells listed in the TheseCells registry value for a domain.
1684
1685     * Improve the trace logging from NPLogonNotify().
1686
1687     * Avoid a race when writing the cm_scache_t mountPointString
1688       when acquiring mount point or symlink target data via
1689       cm_GetData().  The race could result in bogus target
1690       data being cached.
1691
1692     * Permit the use of des-cbc-md5 and des-cbc-md4 enctypes
1693       as DES keys in asetkey.exe.
1694
1695     * aklog supports dotted Kerberos v5 principal names.
1696
1697     * afskfw library always attempts afs/cell@USER-REALM
1698
1699     * afskfw library must test return code from krb5_cc_start_seq_get() or
1700       will trigger a null pointer exception when using Heimdal.
1701
1702     * Lock protected fields must be 32-bit in order to avoid memory
1703       overwrite races.
1704
1705     * Add support for NTFS symlinks.
1706
1707     * Handle file search requests for virtual syscall ioctl file.
1708
1709     * Process SyncOps properly to enforce ordered operations.
1710
1711     * Avoid recursing during NewServer operations.
1712
1713     * Correct lock acquisition order during SMB locking.
1714
1715     * Add shutdown message to event log.
1716
1717     * Check offline volume status by policy rather than on each daemon
1718       thread run.
1719
1720     * Return error on directory object not found instead of crashing.
1721
1722     * Improve error message output.
1723
1724     * afslogin.dll can start afsd_service if it's not starting or started.
1725
1726     * Optimize away release lock RPCs for deleted files.
1727
1728     * Background Daemon will not perform operations on deleted files.
1729
1730     * Resort recently used directories to the top of the LRU if the
1731       directory is larger than the stat cache.
1732
1733     * Resort deleted objects to the bottom of the LRU.
1734
1735     * Use interlocked operations for state and queue fields to allow safe
1736       bit set and clear on multiprocessor systems.
1737
1738   All UNIX client platforms
1739
1740     * Servers now marked down when GetCapabilities returns error.
1741
1742     * In-use vcache count is now properly tracked.
1743
1744     * Check for /afs existance before starting, unless -nomount is
1745       specified.
1746
1747     * Avoid a potential panic when using /afs/.:mount syntax.
1748
1749     * Avoid a panic in memcache mode due to missing CellItems file.
1750
1751     * FUSE client support fixed for non-/afs mounts.
1752
1753     * Avoid a potential deadlock (which times out) when we need to
1754       allocate more callback returns and must flush some already in use.
1755
1756     * Deal with libcom_err conflicts with other packages using it
1757       (e.g. krb5) (128640)
1758
1759     * Fall back to afs3-vlserver SRV record values when afs3-ptserver SRV
1760       record is not available.
1761
1762     * Avoid holding unneeded locks when probing server capabilties.
1763
1764     * Do not attempt page flushes for directories.
1765
1766     * Rx connection reference counting is enabled.
1767
1768     * An Rx connection reference count leak is fixed in bulkstat.
1769
1770     * Handle unparsable directory objects.
1771
1772     * Handle Kerberos cred cache errors in aklog.
1773
1774   AIX
1775
1776     * Fix PAG usage to track by PAG identifier, not group list.
1777
1778   FreeBSD
1779
1780     * Fix socket termination on shutdown.
1781
1782     * Support for 7.2, 7.3, 7.4 and 8.2 included.
1783
1784     * References to vcaches are no longer leaked during root or reclaim.
1785
1786     * Remove support for "Giant" lock as we no longer need to use it.
1787
1788     * Don't sleep with AFS GLOCK.
1789
1790     * Properly enable 64 bit long long support.
1791
1792     * Restore support for FreeBSD 7 (128612)
1793
1794     * Fix locking issues at shutdown and avoid panic at shutdown due to
1795       vcache flushing.
1796
1797     * Support for virtual network stacks.
1798
1799     * New RC script, updated packaging.
1800
1801   IRIX
1802
1803     * Properly create new vnodes to avoid crashing in the client.
1804
1805   Linux
1806
1807     * Support through kernel 2.6.39.  Treat Linux 3.0 as Linux 2.6 for
1808       sysname purposes.
1809
1810     * Use rx_Readv in cache bypass to improve performance.
1811
1812     * Properly handle 0-length replies during cache bypass operations.
1813
1814     * Properly handle non-contiguous readpage cache bypass operations.
1815
1816     * Do proper locking when transitioning to or from cache bypass.
1817
1818     * Avoid extra runs of vcache freeing routine. (128756)
1819
1820     * Perform vcache eviction via a fast path before visiting vcaches
1821       where sleep is needed.
1822
1823     * setpag() errors are now properly reported.
1824
1825     * Avoid attempting to free stat cache entries when we are below
1826       user-specified number of entries in use.
1827
1828     * Properly track user-specified number of stat cache entries to use as
1829       a desired usage target.
1830
1831     * Don't read pages beyond EOF in the cache. (128452)
1832
1833     * Various corrections and improvements to Red Hat packaging, including
1834       modifying the init script to allow deferring for a new binary
1835       restart and properly supporting RHEL6.
1836
1837     * Fix lockup in 2.6.38 due to erroneous kernel feature configure test.
1838
1839     * Improve RPM building tools.
1840
1841     * Attempt to properly handle SELinux in packaging.
1842
1843     * Init script properly returns status as exit code.
1844
1845     * RPM packaging fixes (executable libraries, no postinstall message)
1846
1847     * Kill i386 from RPM packaging.
1848
1849   MacOS
1850
1851     * MacOS 10.7 support.
1852
1853     * Properly handle setpag errors.  PAGs are not supported.
1854
1855     * Check for unloaded kernel extensions when decoding AFS panics.
1856
1857     * Disable "get tokens at login" in prefs pane if AD authentication
1858       plugin is configured.
1859
1860     * aklog AuthorizationPlugin now provided.
1861
1862     * Preferences Pane behavior fixed for 1.6 series (version detection is
1863       used to select default behavior).
1864
1865     * A potential kernel panic during bulkstat operations is
1866       fixed. (128511)
1867
1868     * 64-bit MacOS kernel performance is greatly improved. (128934)
1869
1870     * Properly shut down AFS, closing the Rx socket in the upcall handler
1871       to avoid attempting to process data after we can no longer do so.
1872
1873     * Rework logic for bulk status operations to avoid a potential hang.
1874
1875     * Avoid panic when doing FSEvent synthesis.
1876
1877     * Fix bug when using non-dynroot.
1878
1879     * Update Kerberos support in PreferencesPane.
1880
1881   NetBSD
1882
1883     * Updates for platform support.
1884
1885   OpenBSD
1886
1887     * Bug fixes for issues introduced previously in 1.5 series.
1888
1889     * Support through OpenBSD 4.8.
1890
1891   Solaris
1892
1893     * Switch to ioctl() syscall replacement for Solaris 11 since syscall
1894       65 is not safe.
1895
1896     * Fix support for Solaris pre-10.
1897
1898     * Corrected Solaris 11 startup script.
1899
1900     * vcache mappings freed on shutdown to avoid panic.
1901
1902     * Properly report errors for AFS system call callers.
1903
1904     * Don't leave dangling function references if kernel extension fails
1905       to load.
1906
1907     * Try harder to avoid deadlocks on file-larger-than-cache operations.
1908
1909     * Avoid panic on shutdown when mount failed.
1910
1911
1912 OpenAFS 1.6.0pre2
1913
1914   All systems: Minor bugfixes.
1915
1916   ADDITIONAL CHANGES IN 1.6.0PRE2
1917
1918   All platforms:
1919
1920     - Documentation updates.
1921
1922     - Don't stop Rx keepalives after an ackall is received, avoiding
1923       spurious connection timeouts. (128848)
1924
1925     - Don't retry Rx calls on channels returning busy errors. (128671)
1926
1927     - vos will not die with a double free error at command completion.
1928
1929     - Properly enable Rx connection hard timeouts.
1930
1931     - Initialize rx_multi lock before use.
1932
1933     - Avoid spurious crashes when initializing in "backup" client.
1934
1935   All unix platforms:
1936
1937     - Check for /afs existance before starting, unless -nomount is specified.
1938
1939     - Avoid a potential panic when using /afs/.:mount syntax.
1940
1941     - Avoid a panic in memcache mode due to missing CellItems file.
1942
1943   All server platforms:
1944
1945     - Attempt to recovery more quickly from timed out volume release
1946       transactions.
1947
1948     - Auditing now properly byte order swaps IP addresses when printing.
1949
1950     - vos split now has improved error handling.
1951
1952     - Many changes to again support Windows fileservers.
1953
1954     - During volume removal, data removal speed improved.
1955
1956     - Improve CPU utilization during volume attaching by DAFS.
1957
1958     - In salvager check-only mode, avoid potentially fixing a vnode.
1959
1960     - Fix support for large (greater than 2gb) volume special files.
1961
1962     - Salvager will not crash if multiple or bad volume link tables
1963       are encountered.
1964
1965     - Avoid erroneous full dump by remembering which sites were out of date
1966       at the start of the release.
1967
1968   FreeBSD:
1969
1970     - Remove support for "Giant" lock as we no longer need to use it.
1971
1972     - Don't sleep with AFS GLOCK.
1973
1974     - Properly enable 64 bit long long support.
1975
1976     - Restore support for FreeBSD 7 (128612)
1977
1978     - Fix locking issues at shutdown.
1979
1980   Linux:
1981
1982     - support through kernel 2.6.38.
1983
1984     - RedHat packaging now properly supports RHEL6.
1985
1986     - Use rx_Readv in cache bypass to improve performance.
1987
1988     - Properly handle 0-length replies during cache bypass operations.
1989
1990     - Properly handle non-contiguous readpage cache bypass operations.
1991
1992     - Do proper locking when transitioning to or from cache bypass.
1993
1994     - Avoid extra runs of vcache freeing routine. (128756)
1995
1996   MacOS:
1997
1998     - Check for unloaded kernel extensions when decoding AFS panics.
1999
2000     - Properly handle setpag errors. PAGs are not supported.
2001
2002     - Disable "get tokens at login" in prefs pane if AD authentication
2003       plugin is configured.
2004
2005   OpenBSD:
2006
2007     - support through OpenBSD 4.8.
2008
2009   Solaris:
2010
2011     - Fix support for Solaris pre-10.
2012
2013   Windows:
2014
2015     - afs_config will not longer set the Tray Icon State
2016       in the registry if the checkbox is not present in
2017       the dialog. (128591)
2018
2019     - AFS Explorer Shell Extension now works from folder
2020       backgrounds.  Overlays for mount points and symlinks
2021       are present in the dll, but are not registered at present
2022       by the installers.
2023
2024     - Do not use RankServerInterval registry value as the value for
2025       PerformanceTuningInterval.
2026
2027     - When the data version of a mountpoint or symlink changes,
2028       the target string in the cm_scache_t object must be cleared.
2029
2030     - "fs checkservers" now includes vldb servers in the output
2031       and only lists multi-homed servers once.  A multi-homed
2032       server that has at least one up interface is no longer
2033       considered to be down.
2034
2035     - When asynchronously storing dirty data buffers to the
2036       file server ensure that (a) the cm_scache_t object and
2037       the cm_buf_t object are for the same File ID so that
2038       locking and signalling work properly; and (b) if the
2039       FID no longer exists on the file server, do not panic,
2040       just discard the buffer.
2041
2042     - When processing VNOVOL, VMOVED and VOFFLINE errors perform
2043       server comparisons by UUID or address and not simply by
2044       cm_server_t pointer.  Otherwise, server failover may not
2045       succeed.
2046
2047     - Do not preserve status information for cm_scache_t objects
2048       when the issuing server is multi-homed.
2049
2050     - Giving up all callbacks when shutting down or suspending
2051       the machine is now significantly faster due to the use
2052       of an rx_multi implementation.  (This functionality is
2053       still off by default and must be activated by a registry
2054       value.)
2055
2056     - Race conditions were possible when updating the state
2057       of the cm_volume_t flags and when moving the volumes
2058       within the least recently used list.
2059
2060     - Ensure that the lanahelper library does not perform a
2061       NCBRESET of each lan adapter when enumerating the
2062       current network bindings.  Correcting this permits OpenAFS
2063       to work on Windows 7 when the network adapter settings
2064       change.
2065
2066     - Fix creation of mount points and symlinks as \\AFS\xxxx
2067
2068   PREVIOUS CHANGES:
2069
2070   All platforms:
2071
2072     - vos now properly deals with matching sites when servers are multihomed.
2073
2074   All Unix platforms:
2075
2076     - Servers now marked down when GetCapabilities returns error.
2077
2078     - In-use vcache count is now properly tracked.
2079
2080   All server platforms:
2081
2082     - Fix ptserver supergroups support on 64 bit platforms.
2083
2084     - Demand attach salvaging doesn't use freed volume pointers.
2085
2086     - Properly hold host lock during host enumeration in fileserver.
2087
2088   FreeBSD:
2089
2090     - Fix socket termination on shutdown.
2091
2092     - Support for 7.2, 7.3, 7.4 and 8.2 included.
2093
2094     - References to vcaches are no longer leaked during root or reclaim.
2095
2096   Linux:
2097
2098     - Define llseek handler to avoid ESPIPE error in 2.6.37.
2099
2100     - Mount interface replaces get_sb (new for 2.6.37, not yet required).
2101
2102     - RedHat init script allows deferring for a new binary restart.
2103
2104     - DEFINE_MUTEX replaces DECLARE_MUTEX for 2.6.37.
2105
2106   MacOS:
2107
2108     - Correct return value from setpag syscall.
2109
2110   OpenBSD:
2111
2112     - Bug fixes for issues introduced previously in 1.5 series.
2113
2114   Solaris:
2115
2116     - Switch to ioctl() syscall replacement for Solaris 11 since syscall 65
2117       is not safe.
2118
2119
2120 OpenAFS 1.5.78 (2010-11-04)
2121
2122   All platforms
2123
2124     * Revisions to Rx to fix performance issues.
2125
2126     * Make fs getfid behave consistently across all platforms. (128372)
2127
2128     * Properly check IDs handed to pts when creating users or groups so
2129       useful error messages can be provided. (128343)
2130
2131     * Correct byte order handling of port in afsconf_LookupServer for SRV
2132       records.
2133
2134     * Force a full dump when releasing to a site which was previously
2135       marked "don't use", in case the previous clone was out of date.
2136
2137   All server platforms
2138
2139     * Demand salvage of attached volumes now correctly track attachment
2140       state.
2141
2142     * Avoid a potential crash due to failure to hold a lock when attaching
2143       a volume fails.
2144
2145   Microsoft Windows
2146
2147     * Track SMB connections by SID rather than username.
2148
2149     * Error write attempts to known-readonly volumes earlier.
2150
2151     * Validate directory buffers to avoid potential crashes.
2152
2153     * Handle VIO errors from bulkstatus.
2154
2155     * Make PMTU discovery configurable and register error handlers for it.
2156
2157   All UNIX client platforms
2158
2159     * Use larger I/O sizes in memcache to improve performance.
2160
2161     * Avoid potential alignment issues doing I/O for pioctl calls.
2162
2163   FreeBSD
2164
2165     * Avoid panicing if the listener process is not findable.
2166
2167     * Avoid deadlock issues while performing lookups.
2168
2169   Linux
2170
2171     * Handle stale file handle errors for some cache partition types.
2172
2173     * Avoid blocking with xvcache lock when attempting to free in-use
2174       vcaches.
2175
2176     * Build fixes for older kernels.
2177
2178     * Properly configure LWP to use ucontext() on platforms where it
2179       should.
2180
2181     * Eliminate spurious errors from AFS system call returns. (126230)
2182
2183   MacOS
2184
2185     * Attempt to honor configured Kerberos defaults in Preferences Pane.
2186
2187
2188 OpenAFS 1.5.77 (2010-09-08)
2189
2190   All platforms
2191
2192     * Rx path MTU detection will terminate detection in cases where the
2193       minimum required packet size cannot be transferred.
2194
2195     * vos dryrun mode now shows effects for syncvldb single volume case.
2196
2197     * vos dryrun mode now shows "status after" for syncvldb and syncserv.
2198
2199   All server platforms
2200
2201     * RXAFS_GetStatistics64 now returns statistics properly.
2202
2203   Microsoft Windows
2204
2205     * Attempt to properly identify the local system SMB connection for
2206       token tracking.
2207
2208     * Remap timeout and offline errors to proper NT RPC errors.
2209
2210     * Properly fail over to other replicas on bulkstat IO errors.
2211
2212     * Properly error delete-mode createfile if a file is set readonly.
2213
2214     * Validate directory entry buffers to avoid crashing the service.
2215
2216     * Log file modes properly.
2217
2218     * Log cell name when logging server information.
2219
2220   All UNIX client platforms
2221
2222     * cacheout program for discarding callbacks is now built.
2223
2224     * bulkstatus kernel locking is corrected to avoid a potential panic.
2225
2226   Dragonfly BSD
2227
2228     * userspace support update
2229
2230   FreeBSD
2231
2232     * Updated vnode locking for children returned via lookup().
2233
2234     * Avoid file open undercount with needed calls to
2235       FakeOpen/FakeClose().
2236
2237     * Use vnode_pager_setsize to properly track file size during kernel
2238       IO.
2239
2240     * Update system call installation.
2241
2242     * Fix shutdown of Rx kernel listener to avoid potential dereference
2243       after it's gone.
2244
2245     * Avoid closing vnodes during vnode recycle.
2246
2247     * Fix bogus call to FlushVS for vnode reclaims.
2248
2249   Linux
2250
2251     * Packaging updated for current configure options and built files.
2252
2253     * Cache bypass now holds reference on pages during readpage.
2254
2255     * s390x setgroups32 patching update.
2256
2257   MacOS
2258
2259     * DNS resolver is reinitialized on IP address change. (126440)
2260
2261
2262 OpenAFS 1.5.76 (2010-08-16)
2263
2264   All platforms
2265
2266     * Updates to build-time configuration.
2267
2268     * Fix XDR support in Rx to match header definition.
2269
2270     * vos status now shows transaction creation, not action creation.
2271
2272     * Rx avoids reporting loopback adapters when listing interfaces.
2273
2274   All server platforms
2275
2276     * Demand-Attach Fileserver always built and installed (dafileserver,
2277       davolserver, dasalvager).
2278
2279     * Return VNOVOL from fileserver when a volume is deleted.
2280
2281     * Ignore duplicate tags during volume restore operation.
2282
2283     * Update inode array after salvage repairs volume.
2284
2285     * Zero a corrupted header in memory during salvage to avoid further
2286       corruption.
2287
2288     * Fix NAMEI backend to allow low-numbered volumes to work properly.
2289
2290     * ptserver does not include cell name as part of length check for
2291       names.
2292
2293     * Updated error messages for unblessed volumes.
2294
2295     * vlserver avoids buffer overflow with regex pattern
2296
2297     * Attach-time failures now note failures as the rest of the fileserver
2298       would.
2299
2300     * Server argument logging will no longer overflow stack.
2301
2302     * Provide fast-restart-like unsafe-nosalvage option for DAFS.
2303
2304     * Deal with host hash collisions in the fileserver.
2305
2306   Microsoft Windows
2307
2308     * Avoid crashing when interpreting a drive letter as potentially
2309       matching a cell name.
2310
2311     * Properly handle volume package errors.
2312
2313     * Allow page recycling from known-readonly content without ensuring
2314       they are not dirty.
2315
2316     * 32 bit tools installer should not override client configuration.
2317
2318     * Ensure root scache item has a valid callback when use is attempted.
2319
2320     * Freelance directory changes now properly invalidate and replace the
2321       old root object.
2322
2323   All UNIX client platforms
2324
2325     * Support disconnected reconnecting with specified UID for PAGless
2326       platforms.
2327
2328     * Proper disconnected vnode reference tracking.
2329
2330     * Update server site blacklisting to not return success if nothing was
2331       blacklisted.
2332
2333     * Avoid a panic during vcache contention due to CVInit vcache
2334       racing. (127645)
2335
2336   FreeBSD
2337
2338     * Update for network stack in 8.1/9.0.
2339
2340   HP-UX
2341
2342     * Bug fixes.
2343
2344   Linux
2345
2346     * 2.6.36 support
2347
2348     * Disable PMTU error packet handling.
2349
2350     * flock() fixes.
2351
2352     * Debian packaging updated.
2353
2354     * freezer interface updates.
2355
2356   MacOS
2357
2358     * Hold references to disconnected mode written vnodes properly.
2359
2360   Solaris
2361
2362     * Handle NFS translator module references for amd64.
2363
2364     * INODE fileserver backend support now exists for amd64.
2365
2366
2367 OpenAFS 1.5.75 (2010-07-07)
2368
2369   All platforms
2370
2371     * Prevent rx_rpc_stats global lock from being a bottleneck.
2372
2373     * Path MTU discovery is now provided to allow traffic to pass networks
2374       with sub-1500 byte MTUs and poor fragment handling.
2375
2376     * Further reduce Rx NAT ping transmission when enabled.
2377
2378     * Update Kerberos 5-based token handling in rxkad from upstream
2379       Heimdal.  (127554)
2380
2381     * Update version numbers emitted during build to reflect what is
2382       actually being built.
2383
2384     * Add "-human" switch for human-readable units in fs diskfree and
2385       listquota. (124529)
2386
2387     * vos provides reasons for locked volumes when known.
2388
2389     * Do not count retransmission and ping acks as non-idle for Rx
2390       connections.
2391
2392     * Rx: provide service-specific data getter and setter routines.
2393
2394     * Update build-time Kerberos detection.
2395
2396     * Updated userspace AFS client.
2397
2398     * Beginning of a modernized test suite.
2399
2400     * Additional documentation.
2401
2402     * Updated documentation, notably the Administrators Guide.
2403
2404     * Substantial code cleanup.
2405
2406   All server platforms
2407
2408     * Update handling of vnode allocation failures.
2409
2410     * DAFS: allow salvaging volumes not known to the fileserver, to allow
2411       cleanup of data not attached to a current volume.
2412
2413     * Properly handle volumes slated for destruction.
2414
2415     * Handle volumes with many files properly.
2416
2417     * Force core file generation in bosserver by overriding default
2418       resource limits when possible.
2419
2420     * Update vlclient and vldb_check.
2421
2422     * Avoid potentially corrupting a volume on creation if files are left
2423       from previous failed cleanup.
2424
2425     * Note volume changed during salvage as needed.
2426
2427     * DAFS: do not assume invalid addresses are in fileserver address hash
2428       table.
2429
2430     * Avoid tying up fileserver threads with volumes that are being taken
2431       offline.
2432
2433     * Do not set inUse on volumes for non-DAFS other than in fileserver.
2434
2435     * Break origin's callback on target of rename operation.
2436
2437     * Avoid unneeded parent directory link updates during some rename
2438       operations.
2439
2440     * Do not open /dev/console for writing in the fileserver.
2441
2442     * DAFS: avoid spurious restarts when binary restarts are configured.
2443
2444     * Avoid spurious and unneeded calls to sync(), which can slow down the
2445       fileserver.
2446
2447   Microsoft Windows
2448
2449     * Revised SMB QuerySecurityInfo to address issues caused by MS10-020
2450       (http://support.microsoft.com/kb/980232)
2451
2452     * Prevent use of the AFSCache file contents if mapped to a new
2453       address.
2454
2455     * Make fs newcell include behavior compatible with the non-Windows
2456       version.
2457
2458     * Provide a registry option (FreelanceImportCellServDB) to pre-create
2459       mount points in the AFS root for all cells in CellServDB.
2460
2461     * Fix a memory leak in the cm_FreeServerList() routine.
2462
2463     * Reduce privilege when reading registry CellServDB.
2464
2465     * Add support for RPC Pipe Service NetWkstaGetInfo levels needed for
2466       Windows 7.
2467
2468     * Prevent overflow when computing quota percentage in Explorer Shell.
2469       (126846)
2470
2471     * Generate meaningful errors for ACL operations on freelance AFS root.
2472
2473     * Fix error handling on InlineBulkStatus RPCs.
2474
2475     * Show configuration pages for all types of MSI installations.
2476
2477     * Improve freemount AFS root directory handling and operations.
2478
2479     * Properly validate GetVolumeStatus pioctl responses.
2480
2481     * Commit file length changes and dirty buffers when flushing a file.
2482
2483   All UNIX client platforms
2484
2485     * Update version of files for disk cache.
2486
2487     * Do not call afs_FlushVCBs with xvcache lock held, to improve
2488       parallelization.
2489
2490     * Add mariner log messages for creating and removing files.
2491
2492     * Don't hold xvcache lock while creating symlinks, to improve
2493       parallelization.
2494
2495     * Provide -dynroot-sparse mode to not show all cells in CellServDB in
2496       dynroot mode.
2497
2498     * Avoid a potential crash in aklog in linked cell handling.
2499
2500     * Log MTU-caused packet retransmission.
2501
2502     * Prevent crashes caused be fs checkservers while cache is being set
2503       up.
2504
2505     * fs getserverprefs now has a buffer large enough for the default
2506       CellServDB.
2507
2508     * Report server address when logging warnings.
2509
2510     * Avoid panic in GetCapabilities when cell is not known.
2511
2512     * Lock process name and id for advisory lock warnings when possible.
2513
2514     * Handle need for allocating additional Rx packets.
2515
2516     * Properly handle errors from InlineBulkStatus operations.
2517
2518     * Fix errors returned from fcntl() on readonly files locked for write.
2519
2520     * Flush pending changes to the server on LOCK_EX unlock.
2521
2522     * Reflect length changes as a result of callbacks even when file is
2523       open for write.
2524
2525     * Avoid hanging due to error exit when attempting to store a large
2526       file to a non-largefile fileserver.
2527
2528     * Recover from afs_GetVolSlot errors.
2529
2530   FreeBSD
2531
2532     * Bugfixes for kernel VFS and network routines.
2533
2534   IRIX
2535
2536     * Provide makesname().
2537
2538   Linux
2539
2540     * Avoid syscall probes when keyrings are present, by default. (125215)
2541
2542     * Remove "Big Kernel Lock" from VFS operations.
2543
2544     * Use filehandles for all Linux 2.6 versions to avoid need for matched
2545       afsd. (127530)
2546
2547     * Updated RPM packaging.
2548
2549     * Fix dkms configuration provided with RPMs.
2550
2551     * Hold reference on pages during background I/O for cache bypass.
2552
2553     * Fix cache bypass handling of non-largefile fileservers.
2554
2555     * Protect truncate_inode_pages mappings with mutex or semaphore as
2556       needed.
2557
2558     * Fix pagevec use in cache bypass. (127505)
2559
2560     * Updates for 2.6.35
2561
2562   MacOS
2563
2564     * Improve launchd configuration.
2565
2566     * Avoid hanging on recursive cache file lock acquisition when user
2567       notification is enabled.
2568
2569     * Fix and re-enable bulkstat mode.
2570
2571   OpenBSD
2572
2573     * Build updates.
2574
2575   Solaris
2576
2577     * Precluding unmount while AFS is busy.
2578
2579     * Avoid deadlocking when releasing the VFS object.
2580
2581     * Stop network interface poller in kernel on AFS shutdown.
2582
2583     * Avoid issues with lookups on empty directory names. (127356)
2584
2585
2586 OpenAFS 1.5.74 (2010-04-22)
2587
2588   All platforms
2589
2590     * Add "vos setaddrs" command.
2591
2592     * Rx library lock contention avoidance between rx_NewCall and
2593       rx_EndCall.
2594
2595     * Rx library races due to inconsistent use of rx_connection
2596       conn_data_lock to protect the flags field.
2597
2598     * Rx library inconsistent use of RX_CALL_TQ_WAIT which could result in
2599       deadlocks.
2600
2601     * Rx library must signal transmit queue waiters when flushing.
2602
2603     * afsmonitor shows busy counts now.
2604
2605     * afsmonitor displays xstat callback statistics.
2606
2607     * Provide expandgroups for pts mem on a supergroups server.
2608
2609     * Provide supergroup option to liste nested groups during pts mem.
2610
2611   All server platforms
2612
2613     * Avoid volume lock contention during DAFS startup.
2614
2615   Microsoft Windows
2616
2617     * Avoid a race when updating cell vldb server lists that can result in
2618       a crash.
2619
2620     * Avoid a deadlock when managing CM_SCACHESYNC_STOREDATA state
2621       operations for directory objects.
2622
2623     * Add new Windows Application Event log messages for VBUSY,
2624       VRESTARTING, ALL_BUSY, ALL_OFFLINE, and ALL_DOWN.
2625
2626     * Reduce lock contention by waiting for cm_buf_t I/O operations.
2627
2628     * Split the cm_buf_t flags field to separate the flags that are
2629       protected by the cm_buf_t mutex from those protected by the
2630       buf_globalLock.
2631
2632     * In cm_UpdateVolumeLocation, avoid searching for a ".readonly" volume
2633       on a numeric volume name.
2634
2635     * File buffer allocations whose offsets are beyond server EOF should
2636       be locally allocated and zero filled.  The file server should not be
2637       issued a FetchData rpc which is guaranteed to fail.
2638
2639     * Enable integrated logon to work with Windows 7/2008 when user logons
2640       are performed with a non-Domain Kerberos principal.
2641
2642     * Add Protection Error messages to aklog output.
2643
2644   All UNIX client platforms
2645
2646     * Provide a FUSE-interfacing userspace afs client.
2647
2648     * Updates to libuafs userspace cache manager.
2649
2650     * Probe servers using GetCapabilities instead of GetTime, thus
2651       requiring fewer RPCs.
2652
2653     * Fix DNS SRV record handling for cell lookup.
2654
2655   FreeBSD
2656
2657     * Fix sleep/wakeup routines.
2658
2659     * Update for 8.0 release.
2660
2661   Linux
2662
2663     * Handle high memory addresses correctly.
2664
2665   MacOS
2666
2667     * Make 32 bit AFS syscalls work again.
2668
2669     * Work around finder "Duplicate" failure (caused by setting modes on
2670       symlinks).
2671
2672     * Disable bulkstat again (will be re-enabled at or before .75).
2673
2674     * Provide symlink type hints during readdir.
2675
2676
2677 OpenAFS 1.5.73 (2010-03-24)
2678
2679   All systems: Minor bugfixes. New features.
2680
2681   * New functionality:
2682
2683   All systems:
2684
2685     - NAT keepalive support at Rx level.
2686
2687     * Bugfixes:
2688
2689   All systems:
2690
2691     - Corrected server IP address output in vos syncvldb verbose mode.
2692
2693     - Corrected server IP address output for last "yes" host in udebug.
2694
2695     - Corrected SRV record support for canonicalizing cell names.
2696
2697   All UNIX clients:
2698
2699     - Fixed a potential race in Disconnected AFS "remove" support.
2700
2701     - Fix a potential blocking condition in fakestat mode.
2702
2703     - Avoid some errors and stack overflow reports when vos is interrupted.
2704       (33360,125535)
2705
2706     - Clean up several minor memory leaks.
2707
2708     - If a large file is stored to a non-largefile fileserver, avoid
2709       a potential deadlock.
2710
2711     - Increase maximum number of sysnames to 32.
2712
2713     - Readd fs mariner "storing" message, missing since AFS 3.3.
2714
2715     - Attempt timeouts on AFSDB lookups in userspace.
2716
2717     - Avoid interrupting writes due to an idle deadtime timeout.
2718
2719   All server platforms:
2720
2721     - Properly notify only affected hosts for volume callbacks. (126497)
2722
2723     - Allow volumes with trashed root directory to be recovered. (94658)
2724
2725     - Hold lock in file and volservers when traversing partition list.
2726
2727     - Use finer-grained locking in DAFS: volume, instead of partition locks.
2728
2729     - Schedule all DAFS salvages via FSSYNC.
2730
2731     - Avoid stale ptserver credential caching issue on keyfile update.
2732
2733     - Improve callback table overflow handling. (126451)
2734
2735     - Preclude deadlocks on when attempting to save DAFS state.
2736
2737     - Avoid races deleting hosts. (126454)
2738
2739     - Improve salvage speed for DAFS (124488)
2740
2741     - The bosserver now handles SIGTERM.
2742
2743   Microsoft Windows
2744
2745     - Prevent the Explorer Shell extension from crashing if symlink
2746       creation failed.  (126406)
2747
2748     - A Rx level NAT ping has been implemented. A registry value enables.
2749
2750     - Adds krb5 error message translation to aklog, afscreds,
2751       afslogon.dll, the network identity manager afs provider and
2752       translate_et.
2753
2754     - Default mode bit settings for file and directory creation are now
2755       provided, and can be configured.
2756
2757     - An SMB request trace facility is provided and can be enabled for
2758       debugging.
2759
2760   AIX:
2761
2762     - Clean up properly on mount failure.
2763
2764     - Add entry to /etc/vfs to allow umount to work.
2765
2766   FreeBSD:
2767
2768     - Additional work to support FreeBSD 8-current.
2769
2770   IRIX:
2771
2772     - Fix build issues with library order.
2773
2774   Linux:
2775
2776     - Fix s390 support conflict with executable stack patches.
2777
2778     - Don't count root's AFS session keyrings against quota.
2779
2780     - Correct dkms support in RPM config file.
2781
2782     - Keyring destructor now properly cleans up all tokens.
2783
2784     - Build again on old 2.6 kernels.
2785
2786     - Avoid GLOCK leak when updating CellServDB in-core.
2787
2788     - Fix byte-range lock handling.
2789
2790     - Attempt to deal with bdi issues. (126514)
2791
2792   MacOS:
2793
2794     - Some FSEvents hinting for authentication events now done. (23781)
2795
2796     - Update uninstaller. (125634)
2797
2798     - Rewrite afssettings and fstab code to avoid licensing issue with APSL.
2799
2800     - Growl client for user monitoring of AFS events included.
2801
2802     - Properly support insert-only dropboxes.
2803
2804     - Add bulkstat support.
2805
2806     - Include support for moving in Finder across mount points.
2807
2808     - Preferences Pane includes support for Kerberos 5 ticket renewal.
2809
2810   OpenBSD:
2811
2812     - Some support for OpenBSD 4.7.
2813
2814
2815 OpenAFS 1.5.72 (2010-02-15)
2816
2817   All platforms
2818
2819     * Provide internationalization support in com_err.
2820
2821     * Fix array length checking to avoid crashes when checking for a
2822       volume type based on name in vos.
2823
2824   All server platforms
2825
2826     * Provide backward compatible "-f" flag to salvager for force mode.
2827
2828   Microsoft Windows
2829
2830     * Restore use of DNS AFSDB and SRV records by kaserver clients.
2831
2832   All UNIX client platforms
2833
2834     * Fix client cache file truncation to not lose chunks when truncating
2835       a large file.
2836
2837     * Ensure a cache writeback hook is installed in the client (bug from
2838       1.5.71).
2839
2840     * Avoid spurious free memory warnings during clean shutdown.
2841
2842     * Fakestat mode avoids AFSDB lookups.
2843
2844     * "fs storebehind" now correctly reports errors on readonly volumes.
2845
2846     * Additional documentation for "fs getcacheparms"
2847
2848     * Forced new uuid generation with "fs uuid -generate" now works
2849       enforced permission correctly.
2850
2851   MacOS
2852
2853     * Add optimized Rx event handler in kernel.
2854
2855     * Installer now allows installing an older version.
2856
2857     * Panic decoder can now deal with MacOS 10.5 again.
2858
2859     * MacOS ._ files are now correctly not looked up as cellnames.
2860
2861   Linux
2862
2863     * To deal with SELinux file labeling, try cache accesses with current
2864       credentials in event of failure.
2865
2866     * Rx XDR encoding bug on i386 Linux is fixed (bug introduced in
2867       1.5.71).
2868
2869   IRIX
2870
2871     * Code compilation fixes.
2872
2873   OpenBSD
2874
2875     * Update for OpenBSD 4.6.
2876
2877
2878 OpenAFS 1.5.69 (2010-01-19)
2879
2880   All platforms
2881
2882     * Configuration of BOSserver no longer defaults to weekly restarts
2883       enabled.
2884
2885     * Provide BOS restricted mode by default.
2886
2887     * Add support for "vos endtrans" command.
2888
2889     * Default to providing full output from vos listvol.
2890
2891     * Correct additional-address tracking in the fileserver.
2892
2893     * Improve Rx performance by not unnecessarily dropping and reacquiring
2894       call locks in read and write processes.
2895
2896     * Avoid crashes when monitoring volserver transactions across
2897       potential transaction garbage collection.
2898
2899     * Numerous warning fixes.
2900
2901   All server platforms
2902
2903     * Avoid saving fileserver state in demand attach fileserver when
2904       panicing.
2905
2906     * Demand attach fileserver allows other callers to schedule salvages.
2907
2908     * Demand attach "bos salvage" now works correctly with restricted
2909       mode.
2910
2911   Microsoft Windows:
2912
2913     * Numerous changes to the client-internal btree directory handling to
2914       prevent errors.
2915
2916     * fs examine reports owner and group ids as signed values (PTS groups
2917       are negative).
2918
2919     * Preclude corruption due to races writing to smb buffers.
2920
2921     * Allow MTU settings in registry to be used.
2922
2923     * Apply MTU to both send and receive sizes.
2924
2925   All UNIX client platforms
2926
2927     * Avoid double-freeing Rx call structure if reading a response from
2928       the file server results in a short read.
2929
2930     * Handle negative lengths in FetchStatus results correctly.
2931
2932     * Properly clean up allocated memory at shutdown.
2933
2934     * Default to AFSDB compiled into the cache manager.
2935
2936     * Avoid inadvertant disclosure of stat() information to clients not so
2937       entitled.
2938
2939     * Correct a bug with AFSDB lookups introduced with SRV record support.
2940
2941   MacOS
2942
2943     * Install kernel panic processing tool in /Library/OpenAFS/Tools.
2944
2945     * Include debugging symbols for kernel extension in additional package.
2946
2947     * Support "Application Firewall" users.
2948
2949     * Avoid ._cellname AFSDB lookups.
2950
2951     * Compile preferences pane as a universal binary.
2952
2953   Linux
2954
2955     * Use splice to speed up storing files.
2956
2957     * When using memcache, avoid duplicating work in readpages.
2958
2959     * Use dget_parent to safely find an inode's parent.
2960
2961     * Disable access time updates in our superblock.
2962
2963     * Avoid crashing doing writeback if no credentials were stashed at
2964       file open.
2965
2966     * Simplify keyring support.
2967
2968     * Properly clean up vcache in event of failed mount.
2969
2970   FreeBSD
2971
2972     * Update for current FreeBSD 8.
2973
2974   Solaris
2975
2976     * Abstractly manipulate groups as now required.
2977
2978     * Abstractly access time instead of using lbolt directly.
2979
2980
2981 OpenAFS 1.5.68 (2009-12-08)
2982
2983   All platforms
2984
2985     * aklog now attempts to convert non-AFS errors to human-readable
2986       strings.
2987
2988     * Make stack not executable when compiling assembler source with GCC.
2989
2990     * Numerous source warning cleanups and code reorganization.
2991
2992   All server platforms
2993
2994     * Compute midnight for volume statistics calculation from local time.
2995
2996     * Salvager now orphans duplicate special inodes when running to allow
2997       recovery in event of a problem, instead of simply ignoring the
2998       issue.
2999
3000     * Support to ensure a server panic attempt leaves a core and thus
3001       restarts in a timely manner, rather than potentially hanging. Use
3002       panic to attempt cleanup before leaving a core when possible.
3003
3004     * Volume sync data reported during bulkstatus is now set correctly.
3005
3006     * Provide better tuning for fileserver file descriptor caching.
3007
3008     * Allow more than 128 threads in fileserver by modifying host
3009       structure in-use tracking.
3010
3011     * Avoid crashes getting volume server status during transaction
3012       cleanup.
3013
3014     * Improved logging of offline volume conditions.
3015
3016     * Correct volume statistics when cloning a volume.
3017
3018     * Avoid referencing host structures in the fileserver which are marked
3019       for deletion.
3020
3021     * Demand attach fileserver corrections to avoid coring during an
3022       aborted startup.
3023
3024     * host array bounds checking corrections to avoid buffer overflow.
3025
3026     * Handle special inodes correctly when promoting an inode fileserver
3027       readonly volume to read-write.
3028
3029   Microsoft Windows
3030
3031     * Set the DOS Readonly attribute on a file/directory whenever the unix
3032       mode combined with the mask 0200 is true.  Previously there was a
3033       discrepency between the mask used for testing for readonly behavior
3034       and that used for setting the attribute.
3035
3036     * Disable AFSVolSync based .readonly "whole-volume callback" support
3037       because the all file servers prior to 1.5.67 (and perhaps 1.4.12) do
3038       not properly assign a value to the AFSVolSync structure in bulk
3039       status RPC responses.
3040
3041     * Improve the error output from aklog to output the value from krb5
3042       error_message() if the afs_com_err output indicates an unknown
3043       value.
3044
3045     * Convert VBUSY and VRESTARTING to CM_ERROR_ALLBUSY and do not permit
3046       them to be exposed to the smb redirector.
3047
3048     * Convert STATUS_TIMEOUT responses to STATUS_IO_TIMEOUT to avoid
3049       confusion within the smb redirector.
3050
3051     * Fix the byte order assigned to port numbers associated with AFSDB
3052       record lookups.  They must be network byte order not host byte
3053       order.
3054
3055     * Add dynamic server ranking based on RPC round trip time
3056       measurements.
3057
3058   All UNIX client platforms
3059
3060     * Additional shutdown-time memory leaks removed.
3061
3062     * Improved logging of resource contention.
3063
3064     * Provide dumping for Rx debug packet tracking support in source.
3065
3066     * Update afscp test client to build, and provide an unlock client.
3067
3068     * Client buffers for directory parsing can now be allocated beyond the
3069       fixed set formerly provided.
3070
3071     * Work around race condition when manipulating read-only volume
3072       callbacks.
3073
3074     * Bugfixes to get PAG value pioctl.
3075
3076     * Bugfixes to SRV record support.
3077
3078   Linux
3079
3080     * Path MTU tracking code cleanup.
3081
3082     * Avoid an oops due to racing with vcache recycling thread.
3083
3084     * Changes to keyring PAG handling: for sufficiently new kernels, use
3085       only keyring-based PAGs, and disable group PAGs entirely.
3086
3087     * Updates to the kernel page cache interface: writing pages will now
3088       not spuriously leak page locks, and will avoid requiring duplicate
3089       work.
3090
3091     * Credential references are now tracked using native atomic counters.
3092
3093     * Kernel mutex/semaphore lock ordering fix to avoid deadlocks.
3094
3095     * Manipulate disk cache with credentials used to initialize it, to
3096       avoid security issues.
3097
3098   MacOS
3099
3100     * Fix fstrace message catalog location.
3101
3102     * Fix kernel fstrace logging.
3103
3104
3105 OpenAFS 1.5.66 (2009-10-25)
3106
3107   All platforms
3108
3109     * Avoid calling exit() in library code.
3110
3111     * Add rx window size and peer timeout tuning APIs.
3112
3113     * Correct rx peer timeout handling to disallow 0ms timeouts.
3114
3115     * Correct calculation of rx RTT by disregarding retransmitted packets.
3116
3117     * vos manpages updated to reflect changes in recent versions.
3118
3119     * GNU-style long options (e.g. --cell) are now supported in all
3120       commands.
3121
3122     * fs listacl can now print a command to recreate the current ACL.
3123
3124   All server platforms
3125
3126     * Fix a race on transaction objects in the volserver which can cause a
3127       crash.
3128
3129     * Avoid destroying and setting to NULL the callback connection when it
3130       could still be being used.
3131
3132     * Correct unlink handling in salvager.
3133
3134     * Improve error messages due to I/O errors in the volserver.
3135
3136     * Correct an issue which caused converted RO to RW volumes on namei
3137       fileservers to not come online immediately.
3138
3139   Microsoft Windows
3140
3141     * Official support for Windows 7 and Server 2008 R2.
3142
3143     * Prevent a file server bug (FetchData returning an invalid length
3144       instead of zero) from causing an "unexpected network error" when
3145       writing to files.
3146
3147     * Promote DNS SRV records as superior to DNS AFSDB records.  Support
3148       arbitrary port numbers for vldb servers.
3149
3150     * Add AFSVolSync based .readonly "whole-volume callback" support.
3151       With this functionality, multiple objects from a .readonly volume
3152       can have their status validated by issuing a single
3153       RXAFS_FetchStatus RPC.
3154
3155     * Remove drive mapping functionality and service start/stop from
3156       afscreds.exe.
3157
3158     * Remove drive mapping functionality from afs_config.exe.
3159
3160     * Use {HKLM,HKCU}\SOFTWARE\OpenAFS\Client DWORD "ShowMountTab" to
3161       restore access to drive mapping functionality in afscreds.exe and
3162       afs_config.exe.
3163
3164     * Adjust SMB error return codes to avoid returning STATUS_TIMEOUT
3165       which results in the SMB redirector disconnecting.
3166
3167     * Network Identity Manager OpenAFS Provider now provides its own "AFS
3168       lock" notification icon to report the status of "have tokens, have
3169       no tokens, service not started, service started but inaccessible".
3170       Hovering over the icon lists the cells for which tokens exist (if
3171       any) and the OpenAFS version number.  Double-clicking executes the
3172       Network Identity Manager default action.
3173
3174     * Prevent pioctl calls from retrying indefinitely when a sharing
3175       violation error occurs.
3176
3177   All UNIX client platforms
3178
3179     * Correct a condition which could discard the error from initializing
3180       a fetch request.
3181
3182     * Avoid using invalid references to afs_Conn connection structures,
3183       and thus potentially producing invalid data when a retry is needed.
3184
3185     * SRV records are now supported for discovering AFS servers.
3186
3187   Linux
3188
3189     * Correct writepage behavior.
3190
3191     * Fix error code handling in the writepage code.
3192
3193     * Avoid leaking page locks, which could potentially hang a machine.
3194
3195   MacOS X
3196
3197     * Preferences Pane improvements.
3198
3199   HP-UX
3200
3201     * Avoiding attempting to handle critical signals in servers, so that
3202       core file handling works correctly.
3203
3204
3205 OpenAFS 1.5.65 (2009-10-06)
3206
3207   All platforms
3208
3209     * Code compilation warning fixes, to enable better finding and
3210       tracking bugs.
3211
3212     * Provide configure-time switch to enable code warning compilation.
3213
3214   All server platforms
3215
3216     * Demand-attach fileserver now makes volume LRU list operations
3217       exclusive operations to avoid races during adding to the list.
3218
3219     * Fileservers now avoid potential "negative length" fetches.
3220
3221     * A leak in host tracking objects in the fileserver has been fixed.
3222
3223     * Salvager now unlinks all files by full path, to deal with the change
3224       to not chdir for core file tracking.
3225
3226     * Salvager avoids asserting if the volume header is unreadable.
3227
3228     * Demand-attach fileserver puts back volume references from fssync
3229       handlers when done.
3230
3231   Microsoft Windows
3232
3233     * Improved service response to suspend and shutdown event
3234       notifications.
3235
3236     * Avoid a bug in the file server that can result in an invalid length
3237       being returned as part of a fetch data response if the client
3238       attempts to read beyond the length of the file.
3239
3240     * Do not publish a default stream object for directories and mount
3241       point objects.  This was impacting the ability of some Windows XP
3242       systems to save roaming profiles.
3243
3244   All UNIX client platforms
3245
3246     * A bug which could cause erroneous handling of lengths on data reads
3247       has been fixed.
3248
3249     * A bug where erroneous length returns from the fileserver could
3250       result in a false error has been fixed.
3251
3252   Linux
3253
3254     * Background page copies are now supported for enhanced disk cache
3255       read performance.
3256
3257     * Blocking readahead is supported in readpages() to reduce overhead.
3258
3259     * Use readpage() instead of read() to access cache data to avail disk
3260       cache users of the kernel backing cache for improved performance.
3261
3262     * Minimize credential handling for improved performance.
3263
3264   MacOS X
3265
3266     * Preferences Pane cleanup.
3267
3268   Solaris
3269
3270     * Provide a fs_pathconf method with sensible defaults.
3271
3272     * Provide a _PC_FILESIZEBITS method to fix some NFS translator
3273       consumers.
3274
3275
3276 OpenAFS 1.5.64 (2009-09-22)
3277
3278   All server platforms
3279
3280     * The demand attach fileserver now puts back volume references gotten
3281       via the fssync interface.
3282
3283     * The demand attach fileserver had a structure reference error, which
3284       has been correected.
3285
3286   Microsoft Windows
3287
3288     * Restores Windows 2000 compatibility.
3289
3290     * Fixes a data consistency error between the output of NetWkstaGetInfo
3291       and NetServerGetInfo RPCs, specify the Lan workstation group name
3292       "AFS", and report server name as "AFS" instead of "\\AFS" when the
3293       caller asks for "\\AFS".
3294
3295     * Enables executables to be run from \\AFS on Windows 7.  Returns
3296       "Name not found" instead of "File not found" when a directory or
3297       file name cannot be found.  This avoids loader errors when system
3298       dlls cannot be located in the executable directory.
3299
3300     * Prevents cache manager from marking the file server "down" when the
3301       data returned in response to either RXAFS_FetchData64 or
3302       RXAFS_StoreData64 is invalid.
3303
3304     * Adds pioctl data validation to the AFS Explorer Shell extension.
3305
3306   All UNIX client platforms
3307
3308     * A bug which could cause a kernel panic in 1.5.63 has been corrected.
3309       This would manifest as a GetDCache panic or oops.
3310
3311   Linux
3312
3313     * aklog -setpag works again with recent kernels when keyring is in
3314       use.
3315
3316   MacOS
3317
3318     * When Fast User Switch is in use, AFS login is now handled correctly
3319       by the integration tool included with the preferences pane.
3320
3321     * Several packaging bugs have been corrected.
3322
3323
3324 OpenAFS 1.5.63 (2009-09-11)
3325
3326   All platforms
3327
3328     * The restorevol command is now documented and installed as a user
3329       command.
3330
3331     * The uss command now properly translates vldb entries to its expected
3332       format when handling them in all cases.
3333
3334     * Documentation now refers to Kerberos instead of kaserver.
3335
3336   All server platforms
3337
3338     * bosserver now handles BosConfig.new when restarting, allowing
3339       configuration to be replaced at restart time rather than with bos
3340       delete and bos create.  Documentation is updated to reflect this.
3341
3342     * The demand attach fileservice not longer potentially hangs trying to
3343       terminate demand-salvages which have already exited.
3344
3345     * The demand attach fileservice has been modified to avoid spurious
3346       'SYNC_putRes: write failed' warnings when some protocol messages
3347       cannot be acknowledged due to the sender terminating the connection.
3348
3349     * In the event of failure to contact the vlserver or ptserver, the
3350       fileserver will not exit and trigger a forced salvage. It will
3351       continue to try in the background to contact the needed services.
3352
3353     * The salvager can now repair certain cases of a damamged vnode index.
3354
3355     * The accessDate metadata for a volume is now updated correctly.
3356
3357   Microsoft Windows
3358
3359     * CRITICAL: Some applications for example those based on Cygwin were
3360       unable to access data stored in the AFS name space.  Explorer Shell
3361       also experienced inconsistent behavior.  This is fixed.
3362
3363     * CRITICAL: Multiple AFS pioctl requests issued nearly simultaneously
3364       by applications could result in pioctl responses being received by
3365       the wrong requester.  This in turn could result in application
3366       crashes.  symlink.exe, fs.exe, afslogon.dll, afscreds.exe, and the
3367       netidmgr afscred.dll plugin were all affected.
3368
3369     * Some XP machines running 1.5.62 had trouble saving roaming profile
3370       data.  This is fixed.
3371
3372     * Integrated Logon (afslogon.dll) did not function with domain
3373       specific configurations.
3374
3375     * Ensure that access denied and over quota errors experienced while
3376       storing data to the file server do not result in on-going retry
3377       attempts.
3378
3379   All UNIX client platforms
3380
3381     * Except on Solaris and AIX, the compiler may now be overriden at
3382       configure time by setting the CC environment variable.
3383
3384     * afsd now properly deals with large cache partitions.
3385
3386   FreeBSD
3387
3388     * Build shared libafsauthent and libafsrpc.
3389
3390   Linux
3391
3392     * Kernel module DKMS support now installs an unstripped module to
3393       allow debugging information to be collected.
3394
3395   MacOS
3396
3397     * Preferences pane properly updates token information.
3398
3399   MacOS 10.6
3400
3401     * klog will now properly handle passwords of 8 or fewer characters
3402       with an AFS string to key on hosts able to run 64 bit binaries.
3403
3404     * A panic at AFS shutdown due to "NO PCB" on a udp_lock has been
3405       addressed.
3406
3407     * The panic decoder script included in the source now properly handles
3408       32 and 64 bit panics.
3409
3410   NetBSD
3411
3412     * Avoid defining AFS_KERBEROS_ENV globally as it creates a circular
3413       dependency.
3414
3415     * Build shared libafsauthent and libafsrpc.
3416
3417   OpenBSD
3418
3419     * Build shared libafsauthent and libafsrpc.
3420
3421
3422 OpenAFS 1.5.62 (2009-08-28)
3423
3424   All platforms
3425
3426     * Numerous invisible changes to improve code maintainability,
3427       portability and enhanceability.
3428
3429   Microsoft Windows
3430
3431     * CRITICAL: Fixes two errors that can result in data loss when storing
3432       data to the file server.
3433       1. Failure to Store Portions of Unaligned Writes
3434       2. Failure to Store Data to File Servers Lacking Large File Support
3435       Read the announcement for more details:
3436         http://www.openafs.org/pipermail/openafs-announce/2009/000305.html
3437
3438     * CRITICAL: The cache manager daemon thread could terminate when the
3439       machine enters suspend mode.  This daemon thread performs the
3440       background check of down servers, offline volumes, callback
3441       expirations, etc.
3442
3443     * CRITICAL: Integrated Logon (afslogon.dll) was terminating
3444       unexpectedly.  Error checking has been improved and NULL pointer
3445       dereferences after Lsa API calls fail have been eliminated.
3446
3447     * For the first time, the OpenAFS SMB Server supports the DCE RPC
3448       services SRVSVC and WKSSVC.  Browsing \\AFS with the Explorer Shell
3449       or NET VIEW will now be faster and provide additional functionality.
3450       No longer will cell names longer than 12 characters be truncated.
3451
3452     * Improvements to DFS Referral request processing have been
3453       implemented.
3454
3455     * Unnecessary DNS lookups of share names are avoided improving
3456       performance.
3457
3458   All UNIX client platforms
3459
3460     * Non-Kerberos PAM modules work correctly again.
3461
3462   MacOS X
3463
3464     * MacOS 10.6 (Snowleopard) is now supported, both 32 and 64 bit mode.
3465
3466     * Updates to the AFSCommander preferences pane.
3467
3468     * Installer now permits cell names with dashes.
3469
3470
3471 OpenAFS 1.5.61 (2009-08-06)
3472
3473   All platforms
3474
3475     * Correct another race condition in the Rx library that could result
3476       in an unexpected panic while freeing the Rx call iovq.
3477
3478     * rx packet resend and data packets sent counts were incorrect.
3479
3480     * fs setquota, fs setcachesize, vos setfields, and vos create now
3481       accept human readable orders of magnitude. (K, M, G)
3482
3483     * fs listquota fixed to permit large quota sizes to be displayed.
3484
3485     * Correct documentation of bosserver permissions requirements.
3486
3487     * Modify vlserver to avoid potentially corrupting the database through
3488       volume id reuse.
3489
3490     * Generalized support for fast Rx timeout due to network
3491       down/unreachable.
3492
3493   All server platforms
3494
3495     * Allow audit logs to be sent via sys5 IPC message queues instead of
3496       logged directly.
3497
3498   Microsoft Windows
3499
3500     * If a file server becomes inaccessible while the cache manager has
3501       dirty buffers to write, the afsd_service buf_IncrSync thread can
3502       attempt to use 100% of the cpu.
3503
3504     * Fix "fs newcell" which was broken in 1.5.60.
3505
3506     * Do not attempt to synchronize dirty buffers if the associated volume
3507       is known to be unavailable.
3508
3509     * Modify behavior of a Freelance mountpoint target that does not
3510       specify a cell.  Instead of assuming the target volume is in the
3511       Freelance.Local cell, use the workstation "Cell" specified in the
3512       registry. A mountpoint target of "#root.cell." will now mean the
3513       root.cell volume in the workstation cell for the current session.
3514       If the workstation cell changes from "athena.mit.edu" to
3515       "andrew.cmu.edu", the referenced volume will also change without
3516       requiring that the mount point targets be altered.
3517
3518     * Add cm_FindServerByUuid().  Re-implement RXAFS_InitCallBackState3()
3519       to permit the server Uuid to be used to lookup the server object and
3520       from that determine the cell.  This permits callbacks that are
3521       received from alternate addresses to be processed with a known
3522       server object.  Previously a request from an unknown server would
3523       clear all callbacks from all cells.
3524
3525     * Fix a bug that prevented optimal performance when using a non-zero
3526       value for 'daemonCheckVolCBInterval'.  As a reminder, when
3527       "daemonCheckVolCBInterval" is set to a non-zero value, all .readonly
3528       volume callbacks are automatically renewed 90 minutes before their
3529       expiration.
3530
3531     * Fix automatic ranking of vldb servers whose values are obtained from
3532       the CellServDB file.
3533
3534     * Add failover for RX CALL TIMEOUT errors when the volume is readonly
3535       or the call is to a vldb server.
3536
3537     * Add registry based cell search functionality to NetIdMgr,
3538       afs_config.exe, and klog.exe.
3539
3540     * afsconf_GetCellInfo() has been modified to perform gethostbyname()
3541       lookups on the host names in the CellServDB instead of using the
3542       specified IP addresses.  This provides aklog, pts, vos, etc. the
3543       same CellServDB behavior that the Windows Cache Manager uses.
3544
3545     * When updating the stat cache entry callback of a .readonly object
3546       from the volume group object, update the file server reference to
3547       ensure it matches the most update to date callback.
3548
3549     * Add proper support for processing callbacks from multi-homed file
3550       servers.  Instead of comparing servers by cm_server_t pointer,
3551       compare them by UUID when the UUID is known.
3552
3553     * During a shutdown short circuit the offline volume check daemon
3554       functionality.
3555
3556     * Return the error code of RXAFS_FetchData / RXAFS_StoreData in
3557       preference to an error code reported by rx_EndCall.
3558
3559     * Add "PerFileAccessCheck" registry value to permit testing against
3560       experimental file servers that include per-file acl support.  This
3561       value is intentionally undocumented.  It is not to be used by
3562       production environment deployments.
3563
3564     * Fix a bug introduced in 1.5.60 that prevents the afs netidmgr
3565       provider from obtaining tokens when referrals are in play.
3566
3567     * Add "fs chown" and "fs chgrp" commands to permit the owner and group
3568       of objects stored in AFS to be set from Windows.
3569
3570     * Avoid performing background daemon operations when the machine is
3571       going into suspend mode.
3572
3573     * Perform offline volume checks in most recently used order.
3574
3575     * Prevent crash when a data version for a cache object goes backwards.
3576
3577     * Multi-thread safe library versions are now being generated and used.
3578       mtafsubik.lib, mtafsutil.lib, mtafsvldb.lib, mtafsvol.lib.
3579
3580     * Microsoft SMB Redirector (mrxsmb.sys) support for
3581       ExtendedSessTimeout values are now available on XP through Windows
3582       7.  Add functionality to autodetect if such support is present on
3583       the machine.  If so, configure it if necessary and dynamically
3584       adjust the AFS Rx timeout values accordingly.
3585
3586   All UNIX client platforms
3587
3588     * Fix out-of-tree source builds.
3589
3590   MacOS
3591
3592     * GUI installer now asks for local cell information.
3593
3594     * AFS Commander preferences pane is now installed by default.
3595
3596   Solaris
3597
3598     * Avoid kernel panics due to null pointer dereferences in the network
3599       interface poller kernel thread.
3600
3601
3602 OpenAFS 1.5.60 (2009-05-31)
3603
3604   All platforms
3605
3606     * Retry volserver transaction creation on failure.
3607
3608     * Allow building HTML and PDF documentation from included XML copies
3609       of User Guide, Admin Guide and Quick Start Guide for Unix.
3610
3611     * Documentation updates and additional documentation.
3612
3613     * Add -encrypt support to pts client.
3614
3615     * Convert MR-AFS fs commands to OSD commands.
3616
3617   All server platforms
3618
3619     * Updated background sync process in fileserver to avoid a race which
3620       could result in a volume being taken offline.
3621
3622   Microsoft Windows
3623
3624     * On April 9th Microsoft released a Hot Fix for Windows Server 2003
3625       SP2 that corrects a deadlock in the smb redirector and also adds new
3626       functionality that permits the AFS SMB server to be given a longer
3627       timeout than is normally the case.  New functionality has been added
3628       to configure these additional LanmanWorkstation\Parameter values.
3629       (This functionality has been backported to XP SP3 and is scheduled
3630       to be released on June 5th.)
3631
3632     * Fix RT#124787, a race condition between "fs flush <dir>", "fs
3633       flushvolume", or "fs flushall" and on-going directory operations
3634       that can result in afsd_service.exe crashing.
3635
3636     * Release Notes, User and Administrator guides are now shipped as
3637       indexed Windows HtmlHelp Files. (.chm).  Shortcuts are provided from
3638       the Start Menu.
3639
3640     * A method of specifying Client CellServDB information within the
3641       registry has been added that can be used to either override the
3642       CellServDB file or force the use of DNS lookups for a given cell.
3643       See the release notes for details.
3644
3645     * The pioctl interface now properly handles drive letter substitution
3646       to UNC paths.  (SUBST <d:> <\\afs\cell\path>)
3647
3648     * The BackConnectionHostNames registry value configuration was broken
3649       when dynamic re-establishment of Netbios Name registrations was
3650       added.  This release restores the functionality.
3651
3652     * All hidden vos.exe commands are now revealed.
3653
3654     * Attempts to store the same dirty file chunk from multiple threads
3655       are now prevented.
3656
3657     * The IsPathInAfs test in Explorer Shell Extension and fs.exe now
3658       permits broken symlinks to be treated as being in AFS.
3659
3660     * vos.exe commands that output 64-bit integer values once again do so.
3661       This was broken in 1.5.59.
3662
3663     * Cygwin Import Libraries are provided in the SDK for all OpenAFS
3664       DLLs.  This permits building cygwin applications against OpenAFS
3665       libraries.
3666
3667     * NSIS installer does a much better job of cleaning up files left over
3668       from previous installs.
3669
3670     * libafsconf.dll moved from Client\Program to Common directory as is
3671       is now used by all modules for CellServDB processing.
3672
3673   All UNIX client platforms
3674
3675     * Write back changes on last store for memcache to avoid discarding
3676       changes.
3677
3678     * Abstract disk cache support to allow for path, fh, inode based
3679       caches with no need for messy ifdef structures each time a new type
3680       is added.
3681
3682   DragonflyBSD
3683
3684     * Support as a userland port.
3685
3686   FreeBSD
3687
3688     * Corrected structure definition for userspace cache manager to allow
3689       builds to complete.
3690
3691   Linux
3692
3693     * Corrected client locking support.
3694
3695     * Updated patch to stop deadlocking in the kernel during mmap.
3696
3697     * Avoid oops when setting up groups for PAGs to match keyrings.
3698
3699     * Use Linux fh-based cache in cases where possible by default.
3700
3701   MacOS 10.3:
3702
3703     * Corrected structure definition for userspace cache manager to allow
3704       builds to complete.
3705
3706   OpenBSD
3707
3708     * Support for OpenBSD 4.5.
3709
3710   Solaris
3711
3712     * Corrected support for server-side vos split interface.
3713
3714
3715 OpenAFS 1.5.59 (2009-04-06)
3716
3717   Microsoft Windows
3718
3719     * Increased service priority class to "High" to match the priority of
3720       system components that are dependent upon the a timely response.
3721
3722     * SMB error responses avoid returning errors that could confuse the
3723       Microsoft SMB redirector into disconnecting the connection to \\AFS.
3724
3725   All UNIX client platforms (except MacOS X 10.4 and 10.5)
3726
3727     * OpenAFS 1.5.59 contains fixes for the client issues addressed by the
3728       security advisories OPENAFS-SA-2009-001 and OPENAFS-SA-2009-002.
3729
3730   Linux platforms
3731
3732     * Support for prerelease Linux 2.6.30 kernels.
3733
3734
3735 OpenAFS 1.5.58 (2009-03-30)
3736
3737   All platforms
3738
3739     * Code cleanup and prototyping.
3740
3741     * Avoid unnecessary blocking in Rx periodic cleanup code.
3742
3743   All server platforms
3744
3745     * Fileserver CopyOnWrite routine optimized for performance.
3746
3747     * Make fileserver callback dumps 64 bit safe.
3748
3749     * Fix byte order issues with fileserver host hashing.
3750
3751     * Fix buffer size issues with butc.
3752
3753     * Fix several Ubik recovery issues.
3754
3755     * Avoid leaking file references in the fileserver.
3756
3757     * Fix a race in DAFS while closing vnodes, and another offlining
3758       volumes.
3759
3760     * volserver interfaces for volume splitting client.
3761
3762   Microsoft Windows
3763
3764     * [RT 124293] A race condition exists which can result in a crash.
3765
3766     * [RT 124276] If the vldb is out of sync with the contents of the file
3767       servers, afsd_service will retry too many times when a file server
3768       reports a volume as not being present.  Now if the list reported by
3769       the vldb is the same as the previously seen list, then the retry is
3770       aborted.
3771
3772     * [RT 124276] Read-only volume failover was broken in 1.5.53 whenever
3773       accessing a volume results in VNOVOL or VMOVED.
3774
3775     * [RT 124276] Prior to 1.3.70 the volume server reference list was not
3776       reference counted and would be prematurely freed while in use.  When
3777       reference counting was added in 1.3.70 a bug was introduced that
3778       could result in service reference list corruption.
3779
3780     * Add Windows Application Event Log warning messages for "Client SMB
3781       MPX value too large" and "Client SMB Buffer Size too small".
3782
3783     * Renaming of files across directory boundaries would result in an
3784       invalid handle error when attempting to access the files after the
3785       move.
3786
3787     * Fix the handling of Tran2 Set Path Info RPCs.  Do not fail when a
3788       smb file descriptor cannot be found.  The whole point of using a
3789       Path Info function is because an smb file descriptor wasn't
3790       allocated.
3791
3792     * More edge cases in which dynamic addition of Freelance root.afs
3793       entries would get the wrong FID or where the root.afs directory
3794       would not be refreshed.
3795
3796     * Buffer overflow could occur if the workstation cell name was longer
3797       than 64 characters.  Crashes could occur in afscreds.exe,
3798       afslogon.dll, and afsd_service.exe.
3799
3800     * VNOSERVICE and VOFFLINE errors were leaking and were exposed to the
3801       smb client.
3802
3803     * Log file server uuid values as part of the cm_server object when
3804       available.  Dump the cm_server object list in response to "fs
3805       memdump".
3806
3807     * Optimize the performance of resetting access control lists when
3808       tokens are set or removed.
3809
3810     * Remove symlink recursion tests and increase max symlink count to 64
3811       from 16.
3812
3813     * Windows specific Rx performance improvements.
3814
3815     * Support for Network Identity Manager 2.0
3816
3817   All UNIX client platforms
3818
3819     * Avoid issues with freeing resources at shutdown.
3820
3821     * Numerous fixes to disconnected AFS.
3822
3823     * Disconnected AFS fixes for replaying changes without double-freeing.
3824
3825     * Attempt to use krb524 principal conversion in aklog if available.
3826
3827   AIX
3828
3829     * Kerberos configuration at build time corrected.
3830
3831   Linux
3832
3833     * Default to dynamic allocation of AFS kernel cache entries to allow
3834       growth for inotify()-pinned entries. (beagle, famd, etc)
3835
3836     * Change client truncation routines to avoid locking issues.
3837
3838     * IA64 port clients fixed on Linux 2.6.
3839
3840     * RPMs now install fstrace message catalog.
3841
3842     * Support through kernel 2.6.29 tested.
3843
3844     * Fix locking issues on CellServDB file in /proc.
3845
3846   OpenBSD
3847
3848     * Support OpenBSD 4.4
3849
3850
3851 OpenAFS 1.5.57 (2009-01-23)
3852
3853   All platforms
3854
3855     * Conditional compilation of rxdebug support is now possible.
3856
3857     * Documentation updates.
3858
3859     * Further race connditions in Rx have been corrected.
3860
3861   All server platforms
3862
3863     * Salvager no longer attempts to recreate headers in the wrong
3864       partition.
3865
3866     * Volumes are properly marked in use on creation and subsequently on
3867       examination with vos.
3868
3869   Microsoft Windows
3870
3871     * Undo the "UAC manifest fix" applied to afs_config.exe.
3872
3873     * Ensure that Freelance allocation of vnodes follow the AFS convention
3874       of odd vnodes are directories and everything else is an even vnode.
3875
3876     * Add Freelance logic to mount point and symlink evaluation functions.
3877
3878     * Enhance smb_ParseASCIIBlock() so that it can handle all of the
3879       STRING formats defined by the CIFS Technical Report 1.0.
3880
3881     * Validate the output of smb_ParseASCIIBlock() in all callers.  Return
3882       CM_ERROR_BADSMB if the STRING field cannot be parsed.
3883       CM_ERROR_BADSMB will cause the contents of the packet to be logged.
3884
3885     * If multiple SMB Raw Write operations were taking place at the same
3886       time, there could be data corruption because unique event objects
3887       were not generated for each Netbios receive operation.
3888
3889   All UNIX client platforms
3890
3891     * Userspace AFS library can now deal with large files when supported
3892       by the platform.
3893
3894     * Numerous updates to disconnected AFS support, including changes to
3895       allow reconnection to work in more circumstances.
3896
3897   FreeBSD
3898
3899     * FreeBSD unstrategy code has been updated.
3900
3901   Linux
3902
3903     * A race during file truncation has been corrected.
3904
3905     * System call probing routines have been updated.
3906
3907     * 2.6.29 is now supported.
3908
3909   MacOS
3910
3911     * 10.3 support has been corrected.
3912
3913   OpenBSD
3914
3915     * Initial OpenBSD 4.4 support.
3916
3917   Solaris
3918
3919     * Updates to allow compiling on newer OpenSolaris are now included.
3920
3921
3922 OpenAFS 1.5.56 (2008-12-30)
3923
3924   All platforms
3925
3926     * libuafs (userspace cache manager) updated to correct several errors.
3927
3928     * Additional rx debugging support is available as a conditional
3929       compile.
3930
3931     * A race condition in Rx leading to a panic has been corrected.
3932
3933     * Rx idle time tracking has been corrected.
3934
3935     * ubik clone server support has been corrected.
3936
3937   All server platforms
3938
3939     * Salvager no longer leaves cores in vice partitions.
3940
3941     * The vol-dump tool now supports dumps larger than 2gb where possible.
3942
3943     * Operations on multiple files now report all FIDs in the audit log.
3944
3945     * butc XBSA support now works correctly on amd64.
3946
3947   Microsoft Windows
3948
3949     * The NetIDMgr AFS Provider automated configuration logic was broken
3950       by the introduction of Kerberos referrals.  If the realm of the
3951       identity cannot be determined, the workstation cell is now assumed
3952       to belong to the newly created identity.
3953
3954     * Avoid a reference count under flow during rename operations.
3955
3956     * Avoid a crash caused by treating an arbitrary length directory
3957       search mask as an 8.3 mask.
3958
3959     * Prevent rename operations if a case insensitive match for the target
3960       name already exists and does not refer to the object being renamed.
3961
3962     * Increase the maximum number of background daemons to 64.
3963
3964     * Fix the UAC manifest applied to afs_config.exe
3965
3966   All UNIX client platforms
3967
3968     * Updates to disconnected AFS support.
3969
3970   FreeBSD
3971
3972     * FreeBSD 7.1 is now supported.
3973
3974     * amd64 FreeBSD is now supported.
3975
3976   Linux
3977
3978     * Generic fh (exportfs API) cache type is now available.
3979
3980     * Avoid some oopses due to backing_dev_info inode fields not being
3981       filled.
3982
3983     * 2.6.28 is now supported.
3984
3985   MacOS
3986
3987     * 10.3 support has been corrected.
3988
3989   Solaris
3990
3991     * Large partition support has been corrected.
3992
3993     * Filesystem-agnostic cache is now available on Solaris 10 and 11.
3994
3995
3996 OpenAFS 1.5.55 (2009-11-10)
3997
3998   All platforms
3999
4000     * Salvager avoids leaving core files in vice partitions.
4001
4002     * NFS translator fixes.
4003
4004     * Unresponsive server handling fixes.
4005
4006     * A volserver race which could result in duplicate transactions is
4007       fixed.
4008
4009   Microsoft Windows
4010
4011     * Fixes a panic caused by corruption of the SMB virtual circuit list.
4012       (race condition)
4013
4014     * Fixes a panic caused by receipt of a UTF-16 string that cannot be
4015       converted to UTF-8.
4016
4017     * Implements a more aggressive recovery algorithm for Netbios errors
4018       that result in loss of communication to the AFS SMB server.
4019
4020     * Improve pioctl response time when testing whether or not a PATH is
4021       in AFS.
4022
4023     * Adds support for linked cells.
4024
4025     * Increases the length of the cell and realm names that can be input
4026       into the Network Identity Manage AFS provider configuration dialog.
4027
4028   All UNIX client platforms
4029
4030     * Disconnected AFS avoids infinite recursion during rmdir.
4031
4032   Linux
4033
4034     * Support for 2.6.28 (not complete for NFS translator modules).
4035
4036     * Support for using exportfs API for filesystem-agnostic cache.
4037
4038     * Disable backing store readahead.
4039
4040     * Avoid deadlocks when writing back mmapped files larger than the
4041       cache.
4042
4043     * Avoid Oops when doing PAG garbage collection.
4044
4045
4046 OpenAFS 1.5.54 (2008-10-08)
4047
4048   All platforms
4049
4050     * Updates for new Tivoli X/Open API finding.
4051
4052     * A double-free is corrected in Rx.
4053
4054   All server platforms
4055
4056     * Ubik cleans up file descriptor cache correctly when doing recovery.
4057
4058     * Enhanced vldb error checker included.
4059
4060   Microsoft Windows
4061
4062     * Prevent a crash that could occur when multiple file / directory
4063       change notifications are processed simultaneously.
4064
4065   MacOS
4066
4067     * AFS claims more free space so Finder will attempt file copies.