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