DARWIN: ensure PrefPane materials are properly signed
[openafs.git] / NEWS
1                        User-Visible OpenAFS Changes
2
3 OpenAFS 1.9.0
4
5   All platforms
6
7     Introduce the rxgk Rx security class, initially limited to server-to-server
8     traffic and local keys (gerrit topic: rxgk-phase1).
9
10     Add options to the vos and pts commands for server-to-server rxgk support.
11
12     Add support to add and delete rxgk keys with asetkey.  Add support to
13     generate random keys with asetkey, which can be useful to create certain
14     types of rxgk keys.
15
16     Raise implementation-defined anti-DoS length limits for prdb-related XDR
17     array types, which were being reached at some sites (13838).
18
19     Bring "-setpag" functionality in klog to parity with aklog (14146).
20
21     Fix potential Rx hang when an incoming call must wait (14158).
22
23     Do not leave empty directories behind in the file server vice partition
24     when running the "vos zap -force" command (12879, 12839).
25
26     Make non-verbose "vos remsite" output output more readable (14127).
27
28     Display the usage of simple commands (commands without subcommands) when run
29     only with the -help option (10983).
30
31     Replace SOURCE-MAP with a README.md (14003).
32
33     Remove unused definition of LINUX_PKGREL from configure.ac (14117).
34
35     Improve logging and diagnostic messages:
36       * Add a warning message to vos when performing an incremental volume
37         restore over an existing volume which is newer than the dump
38         volume (13251)
39       * Log the binding address and port during startup in the cache manager and
40         all of the server processes (13272)
41       * Improve volume server logging to provide better information during
42         volume restore failures (13252)
43       * Improved cache manager syslog tracing (11858)
44       * Improved database server logging to log important messages at the
45         default logging level, log information during database synchronizations,
46         and log diagnostic messages during recovery aborts (12617, 13079, 12618)
47       * Set a thread name for rx listener threads (13600)
48       * Avoid truncating authentication information in vlserver log
49         messages (13466)
50       * Log when ubik recovery aborts a running remote transaction (13862).
51
52     Fix warnings issued by static code analyzers:
53       * Fix possible undefined variable in disconnected mode (13207)
54       * Remove redundant conditionals (13158, 13157)
55       * Exit if out of memory while attempting to format command help
56         messages (13335)
57       * Fix possible undefined variable when reading old vldb formats (13755)
58
59     Assorted memory-handling fixes (13461, 12293, 13355, 13395, 13396, 13161,
60     13659, 13714, 13715, 13760, 13716, 13761).
61
62     Fix many (but not all) of the new warnings issued by recent versions of
63     gcc and clang (12987..12989, 13010, 13287, 13462..13464, 13467..13468,
64     13470..13476, 13494, 13660..13664, 13684, 13726, 13754, 14049, 14092,
65     14106).
66
67     Added unit tests for functions mapping vide partition to id (13176).
68
69     Fix issues resulting in parallel "make install" to fail (13786, 14137).
70
71     Updated libauth test program (13394).
72
73     General code cleanup; remove unused code or obsolete code, old comments,
74     or refactor for clarity
75     (12988, 13204, 13209, 13210, 13213, 13226, 13227, 13260, 13271, 13277,
76     13309, 13310, 13324, 13325, 13339, 13345, 13346, 13351, 13361, 13362, 13363,
77     13390, 13397, 13408, 13414, 13458, 13490, 13500, 13509, 13514, 13557, 13640,
78     13655, 13282, 13683).
79
80     Build system clean up and fixes
81     (12956, 12961, 12962, 12963, 12992, 12993, 12994, 13237, 13275, 13338,
82     13357, 13360, 13387, 13419, 13594, 13652).
83
84   All server platforms
85
86     Improve database server logging by logging messages when and why a server
87     is marked as down (12616).
88
89     Log a warning message when starting server processes with no encryption
90     keys available (13911).
91
92     Remove redundant lseek system calls and use positional I/O in the database
93     servers to improve performance (12271, 12272).
94
95     Fix an edge case where writes were errneously allowed on readonly
96     fileservers (13934).
97
98     Add an option to allow members of system:administrators to perform
99     write operations on otherwise readonly fileservers (13707).
100
101     Allow "vos rename" to be re-run to finish a previously interrupted
102     volume rename operation (13720).
103
104     Take volumes offline during convertROtoRW operations, since volume access
105     during the conversion can leave it in an inconsistent state (14066).
106
107     Do not overwrite the errno variable when logging certain database sendfile
108     errors (13263).
109
110     Code migration to POSIX Threads (pthreads) from LWP.
111       * Convert upserver and upclient to pthreads (12754)
112       * Convert xstat libraries and related utilities to pthreads (12745, 12746,
113         12747, 12753, 13454, 13455)
114
115   All client platforms
116
117     Attempt to detect and report some common types of cache corruption
118     (13436, 13747, 13969, 14002).
119
120     Require opt-in to use the historical/deprecated single-DES krb5
121     encryption types, which are being removed from krb5 distributions (13689).
122
123     Fix incorrect informational messages when the AFSCELL environment
124     variable is set (13371).
125
126     Fix reading entries of historic vldb formats (13465).
127
128   Linux
129
130     Be more careful about overriding the current credentials for operations
131     on cache files, preventing spurious permission errors when systems like
132     AppArmor and SELinux are in use (13751, 14098).
133
134     Avoid panics from procfs when the kernel module is loaded but afsd is
135     not running (14093).
136
137     Improve ppc64le support (13980, 14046).
138
139   MacOS
140
141     Simplify background-move return-code processing (13280).
142
143     Support macOS Catalina (13935, 13936, 13668..13671, 13928, 14062).
144
145   Solaris
146
147     Remove references to (unspported) SunOS 4 (13506).
148
149     Build system fixes for parallel make on Solaris.
150
151     Support function attributes when building with recent versions of Solaris
152     compilers.
153
154     Fix many (but not all) of the compiler warnings when building on the Solaris
155     platform.
156
157     Add autoconf support for Studio 12.6 tools (13867).
158
159   FreeBSD
160
161     General improvements to VFS compliance.
162
163     Create destination kernel module directory when installing on
164     FreeBSD (13653, 13690)).
165
166     Add param.h files and sysnames for FreeBSD 11.2 (13534) and 11.3 (13792).
167
168     Fix fcntl-style locks by adapting to quirky historical behavior (12579).
169
170     Support kernels that use VIMAGE support at runtime, not just at
171     build-time (12580).
172
173     Change LWP stack strategy to avoid SIGBUS errors (13691).
174
175     Skip SIGBUS test (for reasons unrelated to the previous) (14145).
176
177
178 OpenAFS 1.8.5
179
180 All platforms
181
182     * Fix OPENAFS-SA-2019-001: information leakage in failed RPC output
183       Generated RPC handler routines ran output variables through XDR encoding
184       even when the call had failed and would shortly be aborted (and for
185       which uninitialized output variables is common); any complete packets
186       assembled in the process would be sent to the peer, leaking the contents
187       of the uninitialized memory in question.
188
189     * Fix OPENAFS-SA-2019-002: information leakage from uninitialized scalars
190       Generated RPC handler routines did not initialize output variables of
191       scalar (fixed-length) type, since they did not require dedicated logic to
192       free.  Such variables allocated on the stack could remain uninitialized
193       in some cases (including those affected by OPENAFS-SA-2019-001), and the
194       contents of uninitialized memory would be returned to the peer.
195
196 All server platforms
197
198     * Fix OPENAFS-SA-2019-003: fix crash in database servers
199       The ubik debugging RPCs prioritize being fast and non-disruptive to
200       database operations over strict correctness, and do not adhere to the
201       usual locking protocol for data access.  A data race could cause a NULL
202       dereference if the second memory load was not optimized out by the
203       compiler.
204
205 OpenAFS 1.8.4
206
207   All platforms
208
209     Build system updates to remove obsolete autoconf macros and remove missing
210     script warning during builds (13480, 13481, 13482, 13483, 13484, 13486,
211     13789, 13790).
212
213     Build system update to fix a conditional check in the pthread.m4 autoconf
214     file (13595)
215
216     Build system update to create the man3 subdirectory, fixing a
217     reported build failure (13535).
218
219     Remove the last reference to src/mcas in the documentation (13558).
220
221   All server platforms
222
223     Fix fileserver's parsing of the options -vlruthresh, -vlruinterval,
224     -vlrumax and -novbc (13680).
225
226     Fixes to make ptserver's behaviour when run in restricted mode consistent
227     with the documentation: Non-members of the system:administrators group
228     are no longer allowed to issue the adduser, setfields and delete pts
229     commands, and all members of system:administrators are now allowed to
230     issue pts commands in this mode, not just the admin principal (13686..88).
231
232   All client platforms
233
234     Fix missing Rx call clean-up after failing to read dcaches from a file
235     server (13511).
236
237     Fix an Rx call leak for calls aborted by a connection abort after the call
238     was initialized but before use (13517).
239
240     Remove the obsolete afs_xosi lock to remove unnecessary serialization of
241     VOP_GETATTR calls. This can lead to improved performance under heavy
242     workloads (13529).
243
244     Increase the size of the Directory Name Lookup Cache (DNLC) to improve
245     cache performance (13559).
246
247     Fix getting tokens for cells with a three character name (13679).
248
249     Avoid a misleading message about the cell being used when aklog is run
250     with the -cell parameter but the AFSCELL environment variable is set to
251     a different cell (13676).
252
253     Build system update to honor the CFLAGS environment variable when building
254     libuafs (13544).
255
256   Linux
257
258     Support for mainline kernels up to 5.3 (13787, 13789).
259
260     More fixes for improper use of ENOENT fixes to avoid incorrect use of linux
261     negative dentry cache, which can lead to false ENOENT errors (13542, 13543,
262     13590, 13692) (RT #134904).
263
264     Return errors instead of returning incomplete directory listings when the
265     directory objects are incomplete in the cache (13591).
266
267     Add ppc64le_linux26 sysname for the ppc64le architecture (13636, 13637,
268     13589).
269
270     Fix configure check for a kernel time function in order to build on
271     Linux 5.0 (13523).
272
273     RPM packaging update for RHEL8 adding a build requirement to ensure the
274     kernel module can be built from the SRPM (13563) (RT #134900).
275
276     On systemd based RHEL/Fedora systems, start the client after dkms startup
277     is finished if the latter is installed and enabled, to avoid attempting
278     starts without the kernel module being available yet (13674) (RT #134974).
279
280   MacOS
281
282     Build system updates for MacOS (13584).
283
284   Solaris
285
286     Add CTF debugging records to userspace objects to improve debugging
287     of servers (13487).
288
289     Convert the cache manager vnodes to be non-embebbed on Solaris 11 in order
290     to make the cache manager more resilient across Solaris 11 changes (13524,
291     13525, 13526, 13527, 13528).
292
293
294 OpenAFS 1.8.3
295
296   All platforms
297
298     * Improved diagnostics and error messages (13186 13411 13417)
299
300     * Avoid sending RX packets with random garbage in the userStatus field
301       (13332)
302
303     * Fixed detection of the RX initialization status (13416)
304
305     * Assorted fixes to avoid segmentation faults and other potential problems
306       by detecting internal errors rather than letting them go unnoticed
307       (13329 13372)
308
309   All server platforms
310
311     * Fixed a build problem accidentally introduced in release 1.8.2 (13328)
312
313     * Assorted efficiency improvements in the ubik implementation (13153 13218
314       13188 13353)
315
316     * Fixed locking around transaction list processing in volserver to avoid
317       segmentation faults and other potential problems (13336 13337)
318
319     * When the volserver attempts to remove a temporary volume after a
320       transaction, but the volume was already removed, e.g., by the salvager,
321       this is no longer treated as an error (13235)
322
323   All client platforms
324
325     * Update the CellServDB to the latest version from grand.central.org from
326       May 14th 2018 (13409)
327
328     * Avoid a panic during cache initialization when allocating the required
329       memory fails (13307)
330
331     * Add back the packet counters and timestamps to "vos status" output
332       which had been missing since release 1.8.0 (13421)
333
334     * Correctly handle errors encountered while reading data from the server
335       and writing it to the cache, e.g., due to a full cache partition (13443)
336
337     * Avoid a panic due to a recoverable error while flushing cache items
338       (13503)
339
340   Linux clients
341
342     * Support mainline kernels 4.20 and 5.0 and distribution kernels with
343       backports from those (13405 13406 13440 13441 13442)
344
345     * DKMS-related fixes in Red Hat packaging (13438 13479)
346
347   macOS
348
349     * Support building and packaging on macOS 10.14 "Mojave" (13412 13413)
350
351
352 OpenAFS 1.8.2
353
354   All platforms
355
356     * Fix OPENAFS-SA-2018-002: information leakage in RPC output variables
357       Various RPC routines did not always initialize all output fields,
358       exposing memory contents to network attackers.  The relevant RPCs include
359       an AFSCB_ RPC, so cache managers are affected as well as servers.
360
361   All server platforms
362
363     * Fix OPENAFS-SA-2018-003: denial of service due to excess resource consumption
364       Various RPCs were defined as allowing unbounded arrays as input, allowing
365       an unauthenticated attacker to cause excess memory allocation and tie up
366       network bandwidth by sending (or claiming to send) large input arrays.
367
368     * Fix OPENAFS-SA-2018-001: unauthenticated volume operations via butc
369       On systems using the in-tree backup system, the butc process was running
370       with administrative credentials, but accepted incoming RPCs over
371       unauthenticated connections; these incoming RPCs in turn triggered
372       outgoing RPCs using the administrative credentials.  Unauthenticated
373       attackers could construct volue dumps containing arbitrary contents
374       and cause these dumps to be restored and overwrite arbitrary volume
375       contents; afterward, the backup database could be restored to its
376       initial state, hiding evidence of the unauthorized changes.
377
378       Running butc with -localauth now requires authenticated incoming
379       connections, and the backup utility makes authenticated connections to
380       the butc.  Audit capabilities have been added to the butc RPC handlers.
381       Command-line arguments are provided to retain the (insecure) historical
382       behavior until all systems have been upgraded.
383
384 OpenAFS 1.8.1.1
385
386   Linux Clients
387
388     * Support for mainline kernel 4.18 and distribution kernels with backports
389       from it (13268)
390
391 OpenAFS 1.8.1
392
393   All Platforms
394
395     * Improve the usability and consistency of the public API: install missing
396       headers, and add additional symbols to the export list for shared libraries.
397
398     * Improved Rx abort generation: use the proper serial number for an existing
399       connection if possible, and 0 otherwise (to improve debugging).
400
401     * Assorted minor fixes in response to static analysis of the codebase.
402
403     * Fix memory-safety error in XDR decoding of enumerated types.
404
405   All Server Platforms
406
407     * Fix reference counting error that could cause an assertion failure
408       in some workloads.
409
410     * vldb_check -fix will no longer corrupt the vldb when multiple MH blocks are present.
411
412     * Assorted cleanups and efficiency improvements in the ubik implementation.
413
414     * Return a valid InlineBulkStatus response in error cases.
415
416     * The fileserver now rejects invalid partition names when attaching partitions.
417
418   All Client Platforms
419
420     * Fix volume callbacks (e.g., when running 'vos release').
421
422     * Treat failure to obtain a DSlot as a hard error for that cache partition,
423       avoiding a flood of "disk cache read error in CacheItems" log messages,
424       and reducing the chance of subsequent panic.
425
426     * Improve error messages for invalid values with -volume-ttl.
427
428     * Remove useless error message:
429       "find_preferred_connection: no connection and !create".
430
431     * Avoid passing NULL to a kernel memory deallocator, which is not guaranteed
432       to be safe on all systems.
433
434   Linux
435
436     * Add support for 64-bit ARM clients ("arm64").
437
438     * Fix panic when cache bypass is enabled.
439
440     * Improve cache manager behavior when unable to open cache files.
441
442     * Improvements to the RPM packaging.
443
444     * Detect out-of-memory when using kernel pages for writing.
445
446   Solaris
447
448     * Fix various issues in the build process for recent Solaris versions.
449
450   MacOS
451
452     * Fix clients on OS X 10.13.
453
454   FreeBSD / NetBSD / OpenBSD
455
456     * Fix panic triggered during periodic cleanup operations and shutdown.
457
458 OpenAFS 1.8.0
459
460   All Platforms
461
462     * Substantial code quality improvements, largely spotted by Coverity and
463       clang's static analysis.
464       - Add new library for platform independent functions (opr).
465       - Remove arbitrary path name length limits.
466       - Convert to Heimdal's roken library for reliability.
467       - Avoid garbage in allocated buffers (calloc).
468       - Modernize signal handling in pthreaded server processes (softsig).
469       - Improve code comments and additional Doxygen style comments.
470       - Reduce compiler warnings, dead code, unused variables, and
471         undefined behavior.
472       - Fix bugs found by static code analyzer (clang-analyzer).
473       - Improved unit test coverage.
474       - Make VLDB flag definitions consistent.
475       - Improve use of run-time assertions and add static assertions.
476       - Add compiler attributes to assist static analyzers.
477       - Clean up include headers in the entire tree.
478       - Improve command-line handling library (libcmd).
479       - Replace hash functions with Jenkin's hash function for faster
480         and more evenly distributed lookups.
481       - Provide a red-black tree data structure to enable algorithmic speedups.
482       - Convert backup and salvage servers to the common logging API (libutil).
483       - Improve volume id data type consistency (VolumeId).
484       - Import APIs for kerberos-style profile configuration support.
485       - Add new APIs to support UserList identities.
486       - Add new APIs to support tabular output from command-line utilities.
487       - Convert vnode macros to inline-functions.
488
489     * Improved support for non-DES encryption types:
490       - Convert to Heimdal's hcrypto library to support RFC 3961.
491       - Add extended key file format replacing rxkad.keytab, and
492         new key management APIs.
493       - Add support for extended key types to asetkey.
494       - Add akeyconvert to assist in upgrading to OpenAFS 1.8.x by converting an
495         existing rxkad.keytab file to an extended key file.
496       - Do not install the kaserver and related utilities by default to
497         discourage the use of these DES-dependent components.
498       - Remove obsolete klogin and klogin.krb programs.
499       - Add new token APIs to support new rx security classes.
500
501     * Migrate from LWP to POSIX threads (pthreads):
502       - Convert the ptserver and vlserver from LWP to pthreads.
503       - Remove LWP version of the file server binary.
504       - Convert afsd, aklog, asetkey, klog.krb5, pts, udebug, and vos, from LWP
505         to pthreads.
506
507     * Improvements to Rx:
508       - Restructure the Rx API to privatize the implementation.
509       - Convert rx events to a red-black tree data structure to improve
510         performance.
511       - Convert from mutexes to atomic operations for counters to reduce lock
512         contention.
513       - Provide per-opcode Rx statistics.
514       - Add an rx_opaque data type to support non-DES encryption types
515         and general code cleanup.
516       - Wake up the application thread after 'twind' is updated to avoid 100ms
517         transmit delays when the receive window transitions from closed to
518         open.
519       - Fix for OPENAFS-SA-2017-001: sanity-check peer transport parmeters
520         received in ack trailers
521
522     * Libraries (both internal and installed) are built using libtool, including
523       libuafs. The resulting shared libraries for libafsrpc and libafsauthent
524       should be more usable than previously.
525
526     * Improvements to the build system:
527       - Convert to libtool to build shared libraries.
528       - Clean up and improve the build system.
529       - Support out of tree builds.
530       - Add a makefile target to generate Doxygen source code documentation.
531       - Link the Java API for OpenAFS with libuafs.a and remove the
532         libjuafs.a library.
533       - Always build the rxperf tool.
534       - Fix man-page generation by make after ./regen.sh -q
535       - Support the SOURCE_DATE_EPOCH environment variable to improve build
536         reproducibility.
537       - Modernize language specific SWIG typemaps for libuafs Perl bindings.
538       - Refactor acinclude.m4 into a set of smaller m4 files (12876, 12877, 12878)
539
540     * Improvements to documentation:
541       - Document the new KeyFileExt file.
542       - Reorganized the README files.
543       - Improvements and fixes to documentation generation.
544       - Add experimental epub and mobi support
545       - Remove obsolete LWP information from the file server documentation.
546       - Update and reorganize the Quick Start Guide.
547       - Update the Admin Guide.
548       - Remove AIX, HP-UX, and IRIX information from the Quick Start Guide.
549       - Document the vldb and prdb (ubik) file formats.
550       - Add PtLog man page.
551       - Corrections and clarifications to man pages.
552       - Add ubik threading analysis doc.
553       - Normalize the location of text documents in the source tree.
554
555     * Improvements for troublshooting, debugging, and testing:
556       - Log more details on volume-server-to-fileserver communication errors
557         when possible.
558       - Set thread names in pthreaded servers on platforms which support
559         thread names.
560       - Add dynroot lock tracking to cmdebug
561       - Fix tracking of an fstrace call site in the cache manager background
562         process.
563       - Add the afsload tool to simulate multiple cache managers for file server
564         load testing.
565       - Add run-time checks for refcount imbalances in the cache manager.
566       - Fix missing newlines in afsd -debug output.
567
568     * Developer tool improvements:
569       - Improvements and fixes for rxgen (used to generate Rx RPC bindings).
570       - Add tool for man page verification of command options.
571       - Add tool to find Unix cache manager lock identification numbers.
572       - Add an option for pretty build output.
573
574     * RPM packaging updates:
575       - Update the spec file to keep up with accumulated changes.
576       - Move the klog.krb5 man page to the openafs-krb5 sub-package.
577       - Remove stray man pages. (12870, 12871)
578       - Prevent double-starting client on RHEL7
579       - Convert rpm spec file from deprecated 'make dest' to 'make install'.
580       - Fix rpmbuild command line option default handling.
581       - Support older versions of rpmbuild which do not support the
582         rpmbuild %exclude directive. (12873)
583       - Move the legacy kaserver and related programs to separate sub-packages,
584         which are only built when rpmbuild is given the '--with kauth' option
585         (12600, 12872)
586       - Package the libuafs perl bindings (12921)
587
588     * Add a new protection error code (PRNAMETOOLONG) instead of silently
589       truncating names which exceed the maximum name length (PR_MAXNAMELEN).
590
591     * Add an implementation limit (50000) on the number of names/ids which can
592       be transmitted by unauthenticated clients to the ptserver, avoiding
593       excessive resource consumption from unauthenticated requests.
594
595     * Add the -config option to vos, pts, and aklog to specify the path to the
596       cell configuration files.
597
598     * Add more details in vos release -verbose output.
599
600     * Add the cacheout -encrypt option to encrypt communication between the
601       cacheout client and the fileserver.
602
603     * Add the command line options to the afsio program to enable encryption of
604       traffic between afsio and the fileserver (-clear, -crypt).
605
606     * Add the vos release -force-reclone option to force recloning the volume to
607       be released without forcing a full volume dump being transmitted to all
608       remote sites.
609
610     * Fix vos to avoid writing loopback addresses into the VLDB in
611       certain cases.
612
613     * Print bos and pts error messages to standard error instead of
614       standard out.
615
616     * Improve formatting of the -help output of all commands.
617
618     * Change -n to -dryrun in all backup subcommands.
619
620     * Change the backup deletedump -port command line option to -portoffset.
621
622     * Add user and build host in the version string returned by
623       rxdebug -version.
624
625     * Support recent versions of gcc (7.2.1) (12897)
626
627   All Server Platforms
628
629     * Ubik servers using pthreads are now available and are used by default
630
631     * As part of improving Ubik reliability in certain edge cases, an extra
632       election cycle (about 60 seconds) may be needed before writes are
633       permitted.  This is a conservative change that may be removed in
634       the future.
635
636     * Avoid continually retransmitting the ubik database to remote sites when
637       a write transaction occurs as remote sites are attempting to rejoin the
638       ubik cluster. (12896)
639
640     * Ensure the ubik database version number is updated on remote sites at the
641       point the database is transferred to remote sites instead of waiting for
642       the next ubik beacon. This avoids write transaction failures during the
643       window between the database transfer and the next ubik beacon (12885).
644
645     * Remove periodic background fsync by the fileserver (ihandle fsync thread).
646
647     * Fix potential file handle leak in the file server ihandle caching layer.
648
649     * Disable the so-called "hot threads" feature in the file server. The hot
650       threads feature was intended as an optimization for dispatching incoming
651       calls to the current listener thread, but has been reported to incur a
652       performance penalty on modern multi-core systems.
653
654     * Do not permit creation of users with id of ANONYMOUSID.
655
656     * Do not save/restore host states in the fsstate.dat file for hosts which
657       are in the process of retrieving CPS information from the ptserver when
658       the fileserver is being shutdown. This fixes a bug in which the fileserver
659       will incorrectly block all threads following a restart.
660
661     * Add the ptserver -restrict_anonymous option to inhibit exposure of user
662       names from the ptserver.
663
664     * Do not truncate server log files by default when server processes
665       are started.  The -transarc-logs option provides backward compatibility
666       with IBM AFS log handling on server startup. Log messages may be lost
667       in back-to- back restarts when a server is running in this mode.
668
669     * Reopen server logs on SIGUSR1. This may be used by third-party log
670       rotation tools, such as logrotate, to reopen the log file handles after
671       log files have been renamed.
672
673     * Fix various bugs when logging with -mrafslogs enabled.
674
675     * Dynamically reload the kerberos realm to AFS cell mapping (krb.conf) and
676       exclusions for mapping kerberos principals to AFS identities (krb.excl)
677       configuration when the CellServDB cell configuration file is touched.
678       Previously, a restart of the file server was required after updating the
679       kerberos mapping configuration files.
680
681     * Add a command line option (-restricted_query) to the vlserver and
682       volserver to restrict information queries about volumes to a specific
683       group of users.
684
685     * Add a command line option to the server programs to specify an alternate
686       fully qualified log file name (-logfile).
687
688     * Add a command line option (-config) to the server programs to specify
689       an alternate path to the server configuration.
690
691     * Add a command line option to the ptserver and vlserver to specify an
692       alternate path to the database data files.
693
694     * Add a command line option to the volume server to enable encryption of
695       volume-server-to-volume-server-traffic (-s2scrypt).
696
697     * Increase the maximum number of LWP threads allowed for the ptserver and
698       vlserver from 16 to 64 (-lwp).
699
700     * Remove an unused file server command line option (-k).
701
702     * Fix an incorrect assertion in Demand Attach File Server which could cause
703       the file server process to abort in certain rare conditions.
704
705     * Deprecate the -bitmap-later configure option for non-Demand-Attach File
706       Servers (DAFS).
707
708     * Add -vhashsize support to non-Demand-Attach File Servers (DAFS).
709
710     * Add support for subnet ranges in the NetInfo and NetRestrict
711       configuration files.
712
713     * Add the GetXStats RPC to the audit log.
714
715     * Fix directory creation by bosserver when built for non-Transarc paths.
716
717     * Fix incomplete list of server addresses retreived by vos listaddr when the
718       vldb contains unreferenced multi-homed server entries.
719
720     * Remove obsolete bos blockscanner and unblockscanner commands that
721       were only needed for the removed MR-AFS functionality.
722
723     * Remove obsolete bos salvage options that were only used by the
724       removed MR-AFS functionality..
725
726     * Remove calls to the deprecated sbrk() function.
727
728     * Add an experimental feature to database servers to support ubik reads
729       while write transactions are in progress, enabled at build time with the
730       --enable-ubik-read-while-write configure option. This feature is not
731       considered ready for production usage at this time.
732
733     * Avoid filling the FileLog with "Volume x offline: not in service" when
734       a volume is administratively taken offline with vos offline.
735
736     * Print an error message when bosserver is started with an unknown
737       command line option.
738
739     * Modify the volume updateDate when the volume is changed by a salvage.
740
741     * Volume usage statistics are now preserved during reclone and restore
742       operations by default, the behavior previously enabled by
743       the -preserve-vol-stats flag to the volserver.  The historical behavior
744       can be retained via the -clear-vol-stats argument.
745
746   All Client Platforms
747
748     * Use rxkad_crypt by default for connections to fileservers.  This matches
749       the existing behavior of the Windows client and has been applied by
750       the distribution packaging on many platforms already.
751
752     * Add support for relative ACL changes with fs setacl. If a single plus (+)
753       or minus (-) character is appended to the rights' letters argument, the
754       new rights are computed relatively to the existing ones.
755
756     * Remove afsd -settime and afsd -nosettime support.
757
758     * Add the afsd -inumcalc option to specify the method used to calculate
759       inode numbers presented by AFS.
760
761     * Add the afsd -volume-ttl option to specify set the maximum amount of time
762       information retrieved from the vlserver will be cached, regardless of
763       callback expiry times.
764
765     * Return EIO on internal errors instead of the misleading ENOENT.
766
767     * Log ICMP errors received, if any, for unreachable servers.
768
769     * Improve performance of clients with multiple PAGs for different cells.
770
771     * Fix race condition between changing and using user tokens among cache
772       manager threads.
773
774     * Fix fs sysname for users with UID 2748 and 2750 when not running
775       in -rmtsys mode.
776
777     * Add Perl bindings for the user-space cache manager library (libuafs).
778
779     * Fixes to the bypasscache feature.
780
781     * Fix fs getcacheparms miscounts.
782
783     * Remove the obsolete Netscape plugin.
784
785     * Fix building gtx when ncurses is linked against libtinfo.
786
787     * Update to the GCO CellServDB update from 14 March 2017.
788
789   Linux
790
791     * Remove Linux 2.2 and 2.4 support.
792
793     * Changes to avoid EIO errors with multiple processes doing intensive mmap
794       writing. (Drop PageReclaim AOP_WRITEPAGE_ACTIVATE.)
795
796     * Prevent fakestat data inconsistencies in certain cases (131855).
797
798     * Fix dentry leak which can cause a crash on shutdown.
799
800     * Fix improper use of ENOENT and avoid incorrect use of linux negative
801       dentry cache.
802
803     * Use a more correct (less aggressive) scheme to react to downward
804       pressure on cache usage, avoiding d_invalidate(), which can cause
805       getcwd() failures on RHEL 7.4.
806
807     * Apply a workaround to be compatible with RHEL 7.5's KABI preservation
808       strategy for reading directories.
809
810     * Improve error reporting when encountering corrupt directories.
811
812     * Improve rx error handling in the Linux cache manager.
813
814     * Rename kpasswd to kapasswd when packaging RPMs to avoid colliding with
815       Kerberos kpasswd.
816
817     * Do not use the obsolete --enable-largefile-fileservers configure option
818       when packaging RPMs.
819
820     * In Red Hat packaging, use a separate rpm for kmod debuginfo,
821       removing a needless tight version dependency on the userspace package.
822       (12822, 12875)
823
824     * Use the RemainAfterExit systemd feature to avoid premature exit
825       when -afsdb is not given, for RPM packages.
826
827     * Remove Debian packaging files from the OpenAFS source tree. Debian
828       packaging files are currently maintained in the downstream Debian
829       infrastructure.
830
831     * Add the sparc_linux26 sysname.
832
833     * Desupport 32-bit Linux kernels on s390/s390x.
834
835     * Fix Debian/Ubuntu build regression on kernel 3.16.39.
836
837     * Fix --enable-kernel-debug for linux 4.8+.
838
839     * Fix a hang encountered when accessing a previously removed
840       directory entry (12811).
841
842     * Support linux 4.10, 4.11, 4.12, 4.13, 4.14, 4.15
843
844   Solaris
845
846     * Remove support for all Solaris and SunOS platforms prior to Solaris 8.
847
848     * Build 64-bit binaries for Solaris x86 by default.
849
850     * Use one-group PAGs on Solaris 11, which is required for PAG support
851       on Solaris 11 since supplemental groups must be sorted starting with
852       Solaris 11.1.
853
854     * Update search paths for solaris cc for recent versions Solaris Studio.
855
856     * Modernize declaration of module dependences by converting from the
857       deprecated _depends_on symbol to ELF dependencies.
858
859     * Avoid BAD TRAP panic due to invalid opcodes on x86 with Studio 12.5.
860
861     * Add ctf debug records to Solaris kernel modules when debug builds
862       are enabled and the ctf tools are present (ctfconvert/ctfmerge).
863
864     * Save kernel module function arguments on x86 for debugging purposes.
865
866   MacOS
867
868     * Stop processing upcalls once rx shutdown starts.
869
870     * Enable atomics for the darwin kernel.
871
872     * Add a syscall to enable/disable bulkstat at run-time, which is
873       disabled by default.
874
875     * Fix path to binaries in the prefpane.
876
877     * Fix builds on MacOS 10.12 by building only the active architecture
878       by default.
879
880     * Support versions up through 10.13 (High Sierra) and APFS
881
882   FreeBSD
883
884     * Use the native kernel module build system instead of an ad hoc
885       replacement build system.
886
887     * Remove FreeBSD packaging files from the OpenAFS source tree. FreeBSD
888       packaging files are currently maintained in the downstream FreeBSD Ports
889       Collection.
890
891     * Stay up to date with new FreeBSD releases (through 10.3).
892
893     * Do not claim AFS_VM_RDWR_ENV
894
895     * Add sysnames and files for i386 and amd64 10.4, 11.1, and 12.0
896      (12-CURRENT, at present). (12887, 12888)
897
898     * Remove trailing semicolons to fix the build on FreeBSD (12899)
899
900   NetBSD
901
902     * Stay up to date with new NetBSD releases (through 7.x)
903
904     * Update to use cprng(9) as the randomness source on NetBSD 6.99/7.x.
905
906     * Build system updates for NetBDS 6.99.x
907
908     * Do not claim AFS_VM_RDWR_ENV
909
910   OpenBSD
911
912     * Stay up to date with new OpenBSD releases (through 4.7)
913
914     * Do not claim AFS_VM_RDWR_ENV
915
916   AIX
917
918     * Updates for AIX support.
919
920     * Fix build system for AIX exports.
921
922     * Add the uidpag and localuid runtime options to the aklog LAM plugin.
923       (These runtime options override the use of UID-based PAGs, which were
924       introduced to appease the CDE screensaver.)
925
926
927 OpenAFS 1.6.21
928
929   All platforms
930
931     * Avoid a possible 100ms transmit delay in the RX protocol when a peer's
932       receive window transitions from closed to open (12627)
933
934     * Documentation improvements (12476 12477 12559[RT #133339])
935
936   All server platforms
937
938     * When bosserver is started with an unknown option, print an error message
939       and exit with a non-zero value rather than failing silently (12631)
940
941   All DB server platforms
942
943     * Hold the DB lock while checking for an aborted write transaction (12516)
944
945   All file server platforms
946
947     * On demand attach fileservers, don't save or restore a client's host
948       state if CPS ("Current Protection Subdomain") recalculation for it is
949       in progress, to avoid fileserver thread exhaustion (12568)
950
951     * On demand attach fileservers, avoid flooding the log with error messages,
952       which could happen when the fileserver was restarted while a volume was
953       offline (12569)
954
955     * Update a volume's "Last Update" time when its content is modified by
956       the salvager, to make the change visible in the output of "vos examine"
957       and to backup services (12633)
958
959   All client platforms
960
961     * Corrected the DCentries bucket counts for very large and zero length
962       files in the output of "fs getcacheparms -excessive" (12604 12605)
963
964     * Fixed a bug that prevented users with GID 2748 and 2750 from executing
965       the "fs sysname" command on clients running afsd with -rmtsys (12607)
966
967     * Provide a new -inumcalc switch for afsd to allow enabling the alternative
968       MD5 method of inode number calculation, which was previously only
969       possible on Linux and through the sysctl interface (12608 12632)
970
971   Linux clients
972
973     * Support for mainline kernel 4.12 and distribution kernels with backports
974       from it (12624 12626)
975
976     * Re-added the improved algorithm for freeing unused vcaches to reduce
977       memory consumption first introduced with the 1.6.18 release, together
978       with a fix for the issue leading to its removal in 1.6.18.2 (12448..12451)
979
980   macOS clients
981
982     * Fixed a crash while stopping the client on macOS 10.12 "Sierra" (12602)
983
984
985 OpenAFS 1.6.20.2
986
987   All platforms
988
989     * Build fixes required by recent compilers or platforms (12514 12521 12534
990       12536 12538)
991
992     * Allow the bos server to start successfully in the presence of those, by
993       accepting a now checked return value indicating that the client ThisCell
994       and CellServDB already exist (12522)
995
996   Linux clients
997
998     * Support for mainline kernels 4.10 and - most likely - 4.11 and
999       distribution kernels with backports from them (12530 12588..12590 12598)
1000
1001     * Support for distribution kernels with partial backports from 4.9 (12535)
1002       (RT #134158)
1003
1004     * In Red Hat packaging, moved the klog.krb5 manual page into the krb5
1005       subpackage (12511)
1006
1007     * In Red Hat packaging, prevent systemd from double-starting the client
1008       (12587)
1009
1010     * Allow aklog to function on current S390/S390x (12499)
1011
1012   Solaris clients
1013
1014     * Make process authentication groups work on Solaris 11, now using a single
1015       group ID (12524..12527)
1016
1017     * Fix a BAD TRAP panic on Solaris 11 clients built with Studio 12.5 (12567)
1018
1019   macOS clients
1020
1021     * Fixed the preference pane for OS X 10.11 and later (12512)
1022
1023 OpenAFS 1.6.20.1
1024
1025   All platforms
1026
1027     * Build fixes required by recent compilers (12482..12484)
1028
1029   Linux clients
1030
1031     * Support for mainline kernel 4.9 and distribution kernels with
1032       backports from it (12478..12480)
1033
1034     * In Red Hat packaging, make systemd deal correctly with the client
1035       when no userland processes remain after starting it (12481)
1036       (RT #133482)
1037
1038   macOS
1039
1040     * Support for release 10.12 "Sierra" (12431 12432)
1041
1042     * Avoid a crash in the Mounts tab of the OpenAFS preference pane (12447)
1043
1044 OpenAFS 1.6.20 (Security Release)
1045
1046   All platforms
1047
1048     * Fix for OPENAFS-SA-2016-003: file and directory names leak due to
1049       reuse of directory objects without zeroing the contents
1050       (12461 12462 12463 12464 12465)
1051
1052 OpenAFS 1.6.19
1053
1054   All platforms
1055
1056     * Documentation improvements (12304)
1057     * Fixes for test failures (12396 12415)
1058
1059   All DB server platforms
1060
1061     * Avoid potentially writing to an out of date volume location or protection
1062       database, or losing a database write, which could happen in rare cases
1063       under special conditions during database leader election
1064       (12339 12389)
1065
1066   Solaris clients
1067
1068     * Allow the fsinfo::: DTrace provider to work with AFS files (12371)
1069
1070   Linux clients
1071
1072     * Don't commit more data to a file than was actually copied during writes,
1073       which could happen on architectures with a page size > 4 KiB (12413)
1074     * Fixed build on PPC64 with GCC 6.1 (12388) (RT #133407)
1075     * Fixed build on x86_64 with recent GCC (12365 12366)
1076
1077
1078 OpenAFS 1.6.18.3
1079
1080   Linux clients
1081
1082     * Support for mainline kernel 4.7 and distribution kernels with
1083       backports from it (12348)
1084
1085   Solaris clients
1086
1087     * Fixed memory mapped I/O on files >= 4 GiB (12349 12350)
1088
1089       Note that there is a suspicion that this might break the client
1090       on very old Solaris releases (2.6). If it does, the breakage should
1091       occur at build time.
1092
1093   OS X
1094
1095     * Added tooling to build a package for OS X 10.10 "Yosemite" and
1096       10.11 "El Capitan" (12335 12351)
1097
1098
1099 OpenAFS 1.6.18.2
1100
1101   Linux clients
1102
1103     * Support for mainline kernel 4.6 and distribution kernels with
1104       backports from it (12332)
1105
1106     * Switch back to the pre-1.6.18 algorithm for freeing unused vcaches.
1107       While the new algorithm is still believed to be correct, it turned
1108       out that at least on some kernels, including 4.5 and 4.6, the dentry
1109       for the current working directory may be erroneously invalidated.
1110       This could lead to errors like "Unable to read current working directory"
1111       when a directory wasn't accessed for a few minutes. (12323)
1112
1113     * Use a secure URL to retrieve the CellServDB in the script to create
1114       the Red Hat source package (12330)
1115
1116   FreeBSD
1117
1118     * Added sysname IDs for 10.2 and 10.3 to fix the build on those platforms
1119       (12322)
1120
1121
1122 OpenAFS 1.6.18.1
1123
1124   Linux clients
1125
1126     * Support for mainline kernel 4.5 and distribution kernels with
1127       backports from it (12300..12302)
1128
1129
1130 OpenAFS 1.6.18
1131
1132   All platforms
1133
1134     * Documentation improvements (12224 11675 11613 12197)
1135
1136     * Improved diagnostics and error messages (12129 12207 12185 12211 12113
1137       12215 12216)
1138
1139     * Check that CellServDB entries are valid IPv4 addresses, to avoid
1140       occasional hangs or potentially other erratic behaviour due to invalid
1141       entries (12210) (RT #131794)
1142
1143   All client platforms
1144
1145     * Gracefully handle cases where a client shutdown sequence is initiated
1146       while the client is already shutting down, rather than cause a panic
1147       (12179)
1148
1149     * Fixed several bugs that could cause erratic behaviour when the write
1150       offset into a file was more than 2 GiB beyond the file's current end
1151       on the server (12213 12214)
1152
1153   All server platforms
1154
1155     * Avoid a possible volserver crash during volume dump or restore due
1156       to invalid ACL entries (12127)
1157
1158     * Allow recovering from a DAFS fileserver operation which allocates a
1159       new vnode but fails to update the vnode index, rather than crashing the
1160       server (12209)
1161
1162     * Fixed a longstanding bug which could damage the volume location database
1163       when "vos changeaddr" was run with "-oldaddr" and "-newaddr" and the
1164       old address was present in a multi-homed entry (12089)
1165
1166   FreeBSD
1167
1168     * Added support for releases 10.2 and 10.3 (12232)
1169
1170   Linux clients
1171
1172     * Support for mainline kernel 4.4 and distribution kernels with
1173       backports from it, alas at a performance penalty (12226 12227 12228)
1174       (RT #132677 #132819)
1175
1176     * Avoid using excessive amounts of kernel memory for dynamically
1177       allocated vcaches, by improving the algorithm to free unused ones
1178       (12256 12257)
1179
1180     * In Red Hat packaging, make the init script use "ip" if available, with
1181       "ifconfig" as a fallback (12193)
1182
1183   OS X
1184
1185     * Basic support for release 10.11 "El Capitan" (12212)
1186
1187   IRIX clients
1188
1189     * Fixed kernel module builds with optimization (12198) (RT #131261)
1190
1191
1192 OpenAFS 1.6.17 (Security Release)
1193
1194   All server platforms
1195
1196     * Fix for OPENAFS-SA-2016-001: foreign users can create groups as
1197       if they were an administrator (RT #132822) (CVE-2016-2860)
1198
1199   All client platforms
1200
1201     * Fix for OPENAFS-SA-2016-002: information leakage from sending
1202       uninitialized memory over the network.  Multiple call sites
1203       were vulnerable, with potential for leaking both kernel and
1204       userland stack data (RT #132847)
1205
1206     * Update to the GCO CellServDB update from 01 January 2016 (12188)
1207
1208   Linux clients
1209
1210     * Fix a crash when the root volume is not found and dynroot is not
1211       in use, a regression introduced in 1.6.14.1 (12166)
1212
1213     * Avoid introducing a dependency on the kernel-devel package corresponding
1214       to the currently running system while building the srpm (12195)
1215
1216     * Create systemd unit files with mode 0644 instead of 0755
1217       (12196) (RT #132662)
1218
1219 OpenAFS 1.6.16
1220
1221   All platforms
1222
1223     * Documentation improvements (11932 12096 12100 12112 12120)
1224
1225     * Improved diagnostics and error messages (11586 11587)
1226
1227     * Distribute the contributor code of conduct with the stable release (12056)
1228
1229   All server platforms
1230
1231     * Create PID files in the right location when bosserver is started with
1232       the "-pidfiles" argument and transarc paths are not being used (12086)
1233
1234     * Several fixes regarding volume dump creation and restore (11433 11553
1235       11825 11826 12082)
1236
1237     * Avoid a reported bosserver crash, and potentially others, by replacing
1238       fixed size buffers with dynamically allocated ones in some user handling
1239       functions (11436) (RT #130719)
1240
1241     * Obey the "-toname" parameter in "vos clone" operations (11434)
1242
1243     * Avoid writing a loopback address into the server CellServDB - search
1244       for a non-loopback one, and fail if none is found (12083 12105)
1245
1246     * Rebuild the vldb free list with "vldb_check -fix" (12084)
1247
1248     * Fixed and improved the "check_sysid" utility (12090)
1249
1250     * Fixed and improved the "prdb_check" utility (12101..04)
1251
1252   All client platforms
1253
1254     * Avoid a potential denial of service issue, by fixing a bug in pioctl
1255       logic that allowed a local user to overrun a kernel buffer with a single
1256       NUL byte (commit 2ef86372) (RT #132256) (CVE-2015-8312)
1257
1258     * Refuse to change multi-homed server entries with "vos changeaddr",
1259       unless "-force" is given, to avoid corruption of those entries (12087)
1260
1261     * Provide a new vos subcommand "remaddrs" for removing server entries, to
1262       replace the slightly confusing "vos changeaddr -remove" (12092 12094)
1263
1264     * Make "fs flushall" actually invalidate all cached data (11894)
1265
1266     * Prevent spurious call aborts due to erroneous idle timeouts (11594)
1267
1268     * Provide a "--disable-gtx" configure switch to avoid building and
1269       installing libgtx and its header files as well as the depending
1270       "scout" and "afsmonitor" applications (12095)
1271
1272     * Fixed building the gtx applications against newer ncurses (12125)
1273
1274     * Allow pioctls to work in environments where the syscall emulation
1275       pseudo file is created in a read-only pseudo filesystem, like in
1276       containers under recent versions of docker (12124)
1277
1278   Linux clients
1279
1280     * In Red Hat packaging, avoid following a symbolic link when writing
1281       the client CellServDB, which could overwrite the server CellServDB,
1282       by removing an existing symlink before writing the file (12081)
1283
1284     * In Red Hat packaging, avoid a conflict of openafs-debuginfo with
1285       krb5-debuginfo by excluding our kpasswd executable from debuginfo
1286       processing (12128) (RT #131771)
1287
1288 OpenAFS 1.6.15 (Security Release)
1289
1290   All client and server platforms
1291
1292     * Fix for OPENAFS-SA-2015-007 "Tattletale"
1293
1294       When constructing an Rx acknowledgment (ACK) packet, Andrew-derived
1295       Rx implementations do not initialize three octets of data that are
1296       padding in the C language structure and were inadvertently included
1297       in the wire protocol (CVE-2015-7762).  Additionally, OpenAFS Rx in
1298       versions 1.5.75 through 1.5.78, 1.6.0 through 1.6.14, and 1.7.0
1299       through 1.7.32 include a variable-length padding at the end of the
1300       ACK packet, in an attempt to detect the path MTU, but only four octets
1301       of the additional padding are initialized (CVE-2015-7763).
1302
1303 OpenAFS 1.6.14.1
1304
1305   Linux clients
1306
1307     * Support kernels up to 4.2
1308
1309       Due to changes to internal data structures with this kernel release,
1310       the OpenAFS client can no longer reset the link count during path
1311       lookups. Since volume root directories must behave like symlinks
1312       instead of normal directories in order to satisfy Linux kernel
1313       invariants, looking up paths containing more than 40 mount points
1314       will fail with ELOOP on such kernels.
1315
1316 OpenAFS 1.6.14
1317
1318   All server platforms
1319
1320     * Prior to the OpenAFS security release 1.6.13, the Volume Location
1321       Server (vlserver) RPC VL_ListAttributesN2() supported wildcard volume
1322       name lookups via regular expression (regex) pattern matching. This
1323       support was completely disabled in 1.6.13 because it was judged to be
1324       a security risk due to buffer overruns in the implementation, as well
1325       as the possibility of denial of service attacks where certain regular
1326       expressions could cause excessive CPU usage in some regex
1327       implementations.
1328
1329       Unfortunately, after 1.6.13 was released, it was discovered that
1330       the native OpenAFS 'backup' system uses the VL_ListAttributesN2()
1331       regex support to evaluate configured volume sets. If you use the
1332       OpenAFS 'backup' system (or another backup system which relies on it,
1333       such as Tivoli Storage Manager (TSM, aka Tivoli ADSM)), and are using
1334       volume sets which require regular expressions for the volume name,
1335       then those volume sets cannot be resolved by OpenAFS 1.6.13. The next
1336       paragraph provides details on how to identify any affected volume sets.
1337
1338       OpenAFS backup volume sets may be described by fileserver, partition
1339       name, and volume name. The fileserver and partition specifications
1340       never require regular expression support. The volume name specification
1341       always requires regular expression support except for when specifying
1342       _all_ volumes via two special cases: the universal wildcard ".*", or "".
1343       For example, volume name "proj" or "*.backup" or "homevol.*" all
1344       require regex support - even if the specification contains no wildcard
1345       characters and/or exactly matches an existing volume name.
1346
1347       As a result of this issue, OpenAFS 1.6.14 replaces the 1.6.13 changes
1348       to VL_ListAttributesN2. 1.6.14 prevents the buffer overruns and
1349       reenables the regex support, but restricts it to OpenAFS super-users
1350       and -localauth only. This is sufficient to restore the OpenAFS 'backup'
1351       system's ability to work correctly with any previously supported volume
1352       set. The OpenAFS 'backup' commands are already documented to require
1353       super-user authorization, so this restriction is moot for the backup
1354       system.
1355
1356       There are no other direct consumers of the VL_ListAttributesN2() regex
1357       support in the OpenAFS tree. However, the VL_ListAttributesN2 RPC is
1358       publicly accessible and might be used by third party tools directly or
1359       indirectly via OpenAFS's libadmin. Any such tools that issue
1360       VL_ListAttributesN2 RPCs must now be executed using super-user or
1361       -localauth tokens.
1362
1363       None of the other security fixes in OpenAFS 1.6.13 are known to have
1364       any issues, and are still included unchanged in OpenAFS 1.6.14.
1365
1366       If there are any questions concerning the possible impact of OpenAFS
1367       1.6.13 or 1.6.14 at your site, please contact your OpenAFS support
1368       provider or the openafs-info@openafs.org mailing list for further
1369       assistance.
1370
1371 OpenAFS 1.6.13
1372
1373   All server platforms
1374
1375     * Fix for CVE-2015-3282: vos leaks stack data onto the wire in the
1376       clear when creating vldb entries
1377
1378     * Workaround for CVE-2015-3283: bos commands can be spoofed, including
1379       some which alter server state
1380
1381     * Disabled searching the VLDB by volume name regular expression to avoid
1382       possible buffer overruns in the volume location server
1383
1384   All client platforms
1385
1386     * Fix for CVE-2015-3284: pioctls leak kernel memory
1387
1388     * Fix for CVE-2015-3285: kernel pioctl support for OSD command passing
1389       can trigger a panic
1390
1391   Solaris clients
1392
1393     * Fix for CVE-2015-3286: Solaris grouplist modifications for PAGs can
1394       panic  or overwrite memory
1395
1396 OpenAFS 1.6.12
1397
1398   All server platforms
1399
1400     * Avoid database corruption if a database server is shut down and then
1401       brought up again quickly with an altered database (11773 11774)
1402       (RT #131997)
1403
1404   All client platforms
1405
1406     * Fixed a potential buffer overflow in aklog (11808)
1407
1408     * Avoid a bogus warning regarding the checkserver daemon, which could be
1409       logged during startup when the cache initialization was very fast (11680)
1410
1411     * Added documentation of the inaccuracy of the 'partition' field in
1412       'fs listquota' output for partitions larger than 2 TiB (11626)
1413
1414   Linux clients
1415
1416     * Support kernels up to 4.1 (11872 11873)
1417
1418     * Avoid spurious EIO errors when writing large chunks of data to
1419       mmapped files (11877)
1420
1421   OS X
1422
1423     * Build fixes required at least on OS X 10.10 Yosemite with the latest
1424       XCode (11859 11876 11842..11845 11863 11878 11879)
1425
1426 OpenAFS 1.6.11.1
1427
1428   Linux clients
1429
1430     * Support kernels up to 4.0 (11760 11761)
1431
1432   FreeBSD clients
1433
1434     * Fixed kernel module build on systems with an updated clang which no
1435       longer accepts the -mno-align-long-strings as a no-op (11809)
1436
1437 OpenAFS 1.6.11
1438
1439   All platforms
1440
1441     * Allow aklog to succeed creating native K5 tokens even when mapping
1442       the K5 principal to a K4 one fails (11538)
1443
1444     * Build fixes (11435 11636)
1445
1446   All client platforms
1447
1448     * Avoid a potential kernel panic due to connection reference overcounts
1449       (11645) (RT #131885)
1450
1451     * Avoid potential corruption of files written using memory mapped I/O
1452       when the file is larger than the cache (11656) (RT #131976)
1453
1454   Linux clients
1455
1456     * Support kernels at least up to 3.19 (11549 11550 11569 11570 11595
1457       11658..11662 11694 11752)
1458
1459       Note: By default this excludes kernels 3.17 to 3.17.2, which will leak
1460             an inode reference when an error occurs in d_splice_alias(). The
1461             module will build and work, but leak kernel memory, leading to
1462             performance degradation and eventually system failure due to
1463             memory exhaustion. Since it's impossible to detect this condition
1464             automatically, the switch --enable-linux-d_splice_alias-extra-iput
1465             must be passed to configure when building the module for those
1466             kernels. The same would be necessary for any kernel with backports
1467             of commit 908790fa3b779d37365e6b28e3aa0f6e833020c3 or commit
1468             95ad5c291313b66a98a44dc92b57e0b37c1dd589 but not the fix in commit
1469             51486b900ee92856b977eacfc5bfbe6565028070 in the linux-stable repo
1470             (git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git) or
1471             the corresponding changes on other branches.
1472
1473     * Fixed a regression introduced in OpenAFS release 1.6.10 which could
1474       make the spurious "getcwd: cannot access parent directories" problem
1475       return (11558 11568) (RT #131780)
1476
1477     * Avoid leaking memory when scanning a corrupt directory (11707)
1478
1479   OS X clients
1480
1481     * Support OS X 10.10 "Yosemite" (11571 11572 11611) (RT #131946)
1482
1483   Solaris clients
1484
1485     * Avoid reading random data rather than correct cache content when using
1486       ZFS as the cache file system on Solaris >= 11, and fix potential similar
1487       problems on other platforms (11713 11714)
1488
1489   FreeBSD
1490
1491     * Build fix for releases >= 11.0 (11610)
1492
1493   OpenBSD
1494
1495     * Support release 5.4 (11700)
1496
1497
1498 OpenAFS 1.6.10
1499
1500   All platforms
1501
1502     * Don't hide the "version" subcommand in help output (11214)
1503
1504     * Documentation improvements (11126 11216 11222 11223 11225 11226)
1505
1506     * Improved diagnostics and error messages (11154 11246 11247 11249 11181
1507       11182 11183)
1508
1509     * Build system improvements (11158 11221 11224 11225 11227..11241 11282
1510       11342 11350 11353 11242 11367 11392)
1511
1512     * Avoid potentially erratic behaviour under certain error conditions by
1513       either avoiding or at least not ignoring them, in various places (11008
1514       11010..11065 11112 11148 11196 11530)
1515
1516   FreeBSD
1517
1518     * Support releases 9.3 and 10.1 (11368 11369 11402 11403 11404)
1519
1520     * Makes a disk cache more likely to work on FreeBSD, though such
1521       configurations remain not very tested (11448)
1522
1523   All server platforms
1524
1525     * Added volscan(8) (11252..11280 11387 11388)
1526
1527     * Fixed a bug causing subgroups not to function correctly if their
1528       ptdb entry had more than one continuation entry (11352)
1529
1530     * Logging improvements (10946 11153)
1531
1532     * Allow log rotation via copy and truncate (11193)
1533
1534     * Avoid a server crash during startup only observed on a single platform
1535       and when using a 3rd party library under certain circumstances, which is
1536       a collateral effect of the security improvements introduced in OpenAFS
1537       release 1.6.5 (11075) (RT #131852)
1538
1539   All client platforms
1540
1541     * Raised the free space reported for /afs to the maximum possible value of
1542       just under 2 TiB - the old value was 9 GiB on most platforms (10984)
1543
1544     * Reduced the amount of stack space used (11162 11163 11203 11164..11167
1545       11338 11339 11364..11366 11381)
1546
1547     * Sped up a periodic client task which could be problematically slow
1548       on systems with a large number of PAGs and files in use (11307)
1549
1550     * Fixed failure of the up command with large ACLs (11111)
1551
1552     * Avoid a potential crash of aklog (11218)
1553
1554     * Avoid potential crashes of scout and xstat_fs_test (11155)
1555
1556   Linux clients
1557
1558     * Support kernels up to 3.16 (11308 11309)
1559
1560     * Fixed a regression introduced in OpenAFS release 1.6.6 that made
1561       checking for existing write locks incorrectly fail on readonly volumes
1562       (11361)
1563
1564     * Fixed a regression introduced in OpenAFS release 1.6.8 that could
1565       cause VFS cache inconsistencies when a previously-accessed directory
1566       entry was removed and recreated with the same name but pointing to a
1567       different file on another client (11358)
1568
1569     * Use the right path to depmod in Red Hat packaging to avoid dependency
1570       calculation incorrectly failing unless a link /sbin -> /usr/sbin is
1571       present on the system performing it (11171) (RT #131860)
1572
1573     * Do not ignore kernel module build errors (11205)
1574
1575 OpenAFS 1.6.9
1576
1577   All server platforms
1578
1579     * Fix for OPENAFS-SA-2014-002
1580
1581 OpenAFS 1.6.8
1582
1583   All platforms
1584
1585     * Documentation improvements (10751 10875 10931 10897 10883 10954 10955)
1586
1587     * Improved diagnostics and error messages (10756 10814 10949)
1588
1589     * Fixed a bug in RX that could make errors during packet reception go
1590       unnoticed. (10733)
1591
1592     * Fixed a bug that made "vos size -dump" display the wrong size for
1593       large volumes. (10933)  (RT #131819)
1594
1595   All server platforms
1596
1597     * Change the default fileserver sync behavior from "delayed" to "onclose".
1598       This means that explicit syncing only happens when a volume is detached.
1599       (10809)
1600
1601     * Added the -offline-timeout and -offline-shutdown-timeout options to the
1602       fileserver, to implement interrupting clients accessing volumes we are
1603       trying to take offline. (6266 10799)
1604
1605   All client platforms
1606
1607     * When a client is shut down, it will give up its callbacks. The Windows
1608       client has been doing this since 2007. Note that older fileservers
1609       (1.3.50 to 1.4.5 and 1.5.0 to 1.5.27) had a bug in the implementation of
1610       the relevant RPC that could cause crashes or other undefined behavior
1611       when this happens. (6272 8840 10855)
1612
1613     * Restored the pre-1.6 behavior of "vos e" being an alias for "vos examine".
1614       (10886)
1615
1616     * Avoid flooding logs with warnings about byte-range locks, by throttling
1617       them per file. Also, make the messages more useful by including the
1618       FID. (10836..10839)
1619
1620     * Avoid a possible panic during shutdown while tracing. (10932)
1621
1622   Linux clients
1623
1624     * Fixed a bug that could cause the "getcwd: cannot access parent
1625       directories" problem (10804 10984)
1626
1627     * Avoid a delay when accessing uncached data in AFS in a confined
1628       context under SELinux. (10598)
1629
1630     * Red Hat packaging improvements (10600 10767 10807)
1631
1632 OpenAFS 1.6.7
1633
1634   All server platforms
1635
1636     * Fix for OPENAFS-SA-2014-001
1637
1638     * Fix for a potential DOS attack against RX servers
1639
1640 OpenAFS 1.6.6
1641
1642   All platforms
1643
1644     * As of this release, OpenAFS no longer ships uncompressed source tarballs.
1645       Tarballs are still shipped with both compression formats, gzip and bzip2.
1646       (10131)
1647
1648     * Documentation improvements (10136 10314 10601)
1649
1650     * Improved diagnostics and error messages (9412 10085 10274)
1651
1652     * Avoid redefining "assert" in our public header files, which could
1653       cause failures when building some applications using them. (10096)
1654
1655     * Fixes for parallel builds (10005 10309 10337)
1656
1657     * Added a -s switch to afscp (not installed by default) to help simulate
1658       a slow client. (9416 9417)
1659
1660     * Added a -probe switch to vlclient test program (not installed by default)
1661       to ping all vlservers in a cell in parallel. (9570)
1662
1663   All server platforms
1664     * The fileserver now ignores any vice partitions with a NeverAttach flag
1665       file present in the root directory. (RT #130561) (9470 9471)
1666
1667     * Restrict forcing CPS ("Current Protection Subdomain") recalculation in
1668       the fileserver to administrators. Also fixed a bug that could cause this
1669       operation to be incomplete. (9485 9487)
1670
1671     * Allow non-DAFS fileservers to attach unusable volumes, restoring pre-1.6
1672       behaviour. (RT #131505) (9499)
1673
1674     * Restored the pre-1.6 behaviour when running vos examine for a volume
1675       currently in a transaction, showing the volume as busy again rather than
1676       offline. (9685 9915 9916)
1677
1678     * Reduced the minimum time a bos salvage takes from 5 seconds to 1. (9476)
1679
1680     * Fixed buserver to not segfault when started with the -servers option.
1681       (RT #131706) (10166)
1682
1683     * Salvager fixes, addressing a wide variety of possible problems from
1684       unnecessary salvaging to aborts (9282 9283 9457 9458 9459 9461 9462 9480
1685       9481 10165 10167)
1686
1687     * Fixed a bug that could cause saved state information to be discarded
1688       when restarting a large or busy fileserver, which negatively impacted
1689       performance. (9683)
1690
1691     * Fixed a bug that could have caused undefined behaviour in the vlserver
1692       in rare cases when a fileserver registered its addresses in the VLDB.
1693       (9429)
1694
1695     * Added the -preserve-vol-stats switch to volserver, allowing it to keep
1696       the access statistics across volume restore and reclone operations
1697       instead of resetting them. (9477)
1698
1699     * Inserted an exponential delay between retries when bosserver attempts to
1700       restart a server process. (9571 10199)
1701
1702     * Improved vldb_check (not installed by default) to cope with broken
1703       vlentry names and volids, and provide more output to aid debugging.
1704       (10268)
1705
1706     * Releasing a volume after adding a new RO site no longer touches any of
1707       the existing RO sites, if the RW data hasn't changed since the last
1708       release. (10174)
1709
1710     * Make the copyDate field for RO clones have the same meaning as for
1711       remote RO volumes. Previously, the copyDate field for clones was updated
1712       every time we released. (9451)
1713
1714     * Fixed potentially undefined behaviour in ptserver when too many pts
1715       ids are allocated. (10124)
1716
1717     * Note that the server side NAT pings feature present in the prereleases
1718       was removed before the final release, since no positive feedback
1719       was provided during prerelease testing. (9420 10135)
1720
1721   Linux servers
1722
1723     * Start bosserver with -nofork in the systemd unit file, to allow systemd
1724       to track its state (10093)
1725
1726   All client platforms
1727
1728     * No longer track file locks on read-only volumes. Write locks can't
1729       succeed, read locks always will. Avoids log messages about this kind
1730       of lock. (8910)
1731
1732     * Added the "fs flushall" subcommand, which makes the client discard all
1733       cached data. This was previously available on Windows only. (9065 9388
1734       9389 9390)
1735
1736     * Fixed a bug that could make the client incorrectly believe its cache
1737       is up to date. This change could negatively impact AFS <-> DFS
1738       translators, should those still be running anywhere. (8898)
1739
1740     * Several changes to avoid panicing in certain error conditions.
1741       (9131 9287 10354 10355 10356 10357) (partially addressing RT #131747)
1742
1743     * Added the -rxmaxfrags switch to afsd, allowing to limit the number
1744       of UDP fragments sent or received per RX packet. (9430)
1745
1746     * Build fixes for aklog on several platforms (RT #131716) (9917 10107 10275)
1747
1748     * Require that the AFS mountpoint specified in the cacheinfo file is
1749       an absolute path. Relative paths result in a client that basically
1750       works but is not fully functional. (10253)
1751
1752     * Fixed a bug that could cause one of the afsd threads to enter an infinite
1753       loop (10431 .. 10436)
1754
1755   Linux clients
1756
1757     * Support Linux kernels up to 3.13 (10241)
1758
1759     * Fixed a bug that made readv/writev calls in AFS space fail with Linux
1760       kernels where generic_file_aio_read exists but those operations have
1761       not been switched to using aio_read/aio_write. This was a regression
1762       introduced with release 1.6.3 and affected at least RHEL 5.9 kernels.
1763       (10248)
1764
1765     * Fixed a similar bug making core dumps fail in AFS space, affecting
1766       a much wider range of kernels including the most recent ones.
1767       (RT #131729) (10254)
1768
1769     * Enhanced the keyring code to make PAGs work correctly on kernels with a
1770       distribution specific change to the Linux keyring code. This affected at
1771       least SLES 11 SP3 kernels. (10252)
1772
1773     * Fixed a bug that could make failures during PAG instantiation go
1774       unnoticed. (10255)
1775
1776     * Fixed a bug that made compilation fail for Linux kernels without
1777       keyring support. This affected at least the SLE 10 SDK and an
1778       OEM version of SLES 11 SP1. (10325)
1779
1780     * Fixed build for kernels with user namespace support enabled. Likely
1781       to be required for Ubuntu 14.04 and eventually other distributions.
1782       (10456 10457 10458 10518 10472)
1783
1784     * Support RHEL 6.5 kernels, and possibly others with changes backported
1785       from recent mainline kernels that touch getname/putname, by no longer
1786       using those functions. Previously, the client could cause a kernel
1787       panic when syscall auditing was enabled. (10578)
1788
1789     * Make tmpfs usable as the cache filesystem again. This had been broken
1790       since kernel 3.1 (9950 10193)
1791
1792     * When starting the client fails, clean up the backing device information
1793       created in sysfs, to avoid error messages during a subsequent start
1794       and possible system instability later on (10454)
1795
1796     * Update Red Hat packaging to support Fedora >= 20, RHEL >= 7 and
1797       ELrepo kernels (10597 10619 10622 10703 10704)
1798
1799   OS X Clients
1800
1801     * Support OS X 10.9 "Mavericks" (10519 10541 10542 10543 10548 10549)
1802
1803   AIX clients
1804
1805     * Fixed a bug that caused the 1.6 AIX client to never receive any RX
1806       packets in the kernel. (RT #131725)
1807
1808   FUSE client
1809
1810     * Support Solaris 11 (9454 9455)
1811
1812     * Allow other users to access filesystems mounted by root. (9452)
1813
1814   FreeBSD
1815
1816     * Build tvolser and dvolser on this platform (10122)
1817     * Several fixes to catch up with newer releases (10374 .. 10381)
1818
1819   NetBSD
1820
1821     * Build tsalvaged, tvolser and dvolser on this platform (10121)
1822     * Fixed build on NetBSD 5 and newer. (10138)
1823
1824 OpenAFS 1.6.5
1825
1826 All platforms
1827
1828     * Fixes for OpenAFS-SA-2013-0003 and OpenAFS-SA-2013-0004
1829
1830 OpenAFS 1.6.4
1831
1832 All platforms
1833
1834     * Obey the jumbo/nojumbo settings for ubik servers (the DB servers)
1835       too. In previous releases, those servers may have used jumbograms
1836       even if they were not configured to do so. This change corrects
1837       the actual behaviour, and will improve performance and reliability
1838       for sites where jumbograms are problematic. It could cause a decrease
1839       in performance for sites where jumbograms work, but those can turn
1840       them back on manually.
1841
1842     * Dozens of fixes for common coding problems like use after free,
1843       use of possibly uninitialised memory, reading or writing past the
1844       end of arrays and potential NULL pointer derefences. Spotted by
1845       code analysis tools or human inspection.
1846
1847     * Documentation improvements.
1848
1849     * Fixes and improvements to the diagnostic or log messages printed by
1850       vos, the fileserver and others.
1851
1852     * Build fixes, making parallel builds more reliable with certain
1853       configuration options and helping various platforms including
1854       recent releases of IRIX, Solaris and several flavours of Linux.
1855
1856     * Avoid sending a small amount of data over the wire unencrypted
1857       under certain conditions, and emit the correct error message in
1858       this case.
1859
1860 All server platforms
1861
1862     * Avoid generating duplicate IDs for readonly and backup volumes,
1863       which could happen under certain conditions.
1864
1865     * Allow the fileserver to return volume data like quota or free space,
1866       which is available publicly elsewhere, without the additional access
1867       check for read permissions on a volume's root directory the fileserver
1868       performed before.
1869
1870     * The fileserver now emits a log message when it ran out of memory for
1871       callbacks.
1872
1873     * Avoid several potential fileserver problems, including memory
1874       corruption and segmentation faults, due to client bookkeeping.
1875
1876     * Avoid known cases of silent data corruption due to background syncs
1877       on the fileserver, especially during Copy on Write.
1878
1879     * Make the fileserver sync behaviour runtime configurable. Up to 1.4.5,
1880       we had synchronous syncs which were safe but really slow. Since 1.4.5,
1881       we've had asynchronous syncs which are much faster but believed to
1882       be the cause of rare data corruption issues, and while all known cases
1883       of these happening are believed to be fixed in the 1.6.3 release, doubts
1884       remain. This change allows choosing between those, and in addition allows
1885       to turn syncs by the fileserver off altogether, thus relying on the vice
1886       partition's backend filesystem and the operating system, or to just
1887       execute them when a volume is detached. The default behaviour is
1888       unchanged from releases since 1.4.5, but it's highly recommended to
1889       consider the additional options this change provides. Future OpenAFS
1890       releases will default to "-sync=none".
1891
1892     * For dbservers, avoid a situation where misinterpreting transient
1893       network errors causes long-term issues with achieving ubik quorum.
1894
1895 All UNIX client platforms
1896
1897     * Improvements to the detection of an aklog-specific krb5 configuration
1898       file, for the purposes of turning on "weak crypto" for aklog.
1899
1900     * Fixed a regression introduced in release 1.6.2 which caused the
1901       supposedly persistent disk cache to be discarded upon client start.
1902       (RT #131655)
1903
1904 Linux clients
1905
1906     * Support Linux kernels up to 3.10
1907
1908     * Fixed two bugs making it impossible to unmount a disk cache filesystem
1909       after it has been used by the client. (RT #131613)
1910
1911     * Fixed a bug that could cause an oops with kernels 3.6 and later
1912
1913 OpenBSD
1914
1915     * Improved support for OpenBSD 4.9 to 5.3
1916
1917 OpenAFS 1.6.3
1918
1919   This release number had to be skipped for technical reasons.
1920
1921 OpenAFS 1.6.2.1
1922
1923   Linux clients
1924
1925     * Support Linux kernels up to 3.8.
1926
1927     * Make the init script cope with the output of ifconfig on recent Fedora.
1928
1929 OpenAFS 1.6.2
1930
1931   All platforms
1932
1933     * Fix buffer overflows in fileserver and ptserver.
1934
1935     * Abort an rx connection when given an unknown service (Gerrit 7593).
1936
1937     * "idle dead" behavior improvements.
1938
1939     * Documentation updates.
1940
1941   All server platforms
1942
1943     * Fix rare file corruption during background sync (Gerrit 8796).
1944
1945     * Fix corrupting clients' metadata cache during certain errors (Gerrit
1946       6957).
1947
1948     * Avoid saying a volume doesn't exist when accessed as the volume is
1949       going offline (Gerrit 7488).
1950
1951     * Fix fileservers to properly report >2 TiB partitions.
1952
1953     * Fix stale volume info from vos examine on non-DAFS filservers.
1954
1955     * Fix possible volume corruption with vos convertROtoRW.
1956
1957     * Fix bosserver to preserve all command-line options over restart.
1958
1959     * Fix bosserver to properly kill hung processes during shutdown.
1960
1961   All UNIX client platforms
1962
1963     * Fixes for memcache, especially on Solaris.
1964
1965     * Increase the size of the DNS resolver answer buffer to allow sites
1966       with a long response list to use SRV and AFSDB records.
1967
1968     * Fix a crash when a server appears to run out of addresses (Gerrit
1969       7487).
1970
1971     * Fix cache corruption when reading from a file another client is
1972       simultaneously writing to (Gerrit 7994).
1973
1974     * Improve handling of disk cache disk errors.
1975
1976   Linux
1977
1978     * fix DKMS configuration for DKMS 2.2.
1979
1980     * Avoid generating inode number 0 with md5 inodes (Gerrit 7276).
1981
1982     * Fix a crash when reading /proc/fs/openafs/unixusers (Gerrit 7914).
1983
1984     * Make PAG-less access use the real UID of the calling process
1985       instead of the effective UID, when determining what credentials to
1986       use (Gerrit 7931).
1987
1988     * Fix possible abuse of fs mkmount.
1989       Prior to 1.6.2, users could crash a client by nesting volume mounts.
1990
1991     * Fix fileserver memory corruption on RHEL 6
1992       Prior to 1.6.2, fileservers on RHEL 6 may crash under heavy load.
1993
1994     * Fix client page cache corruption on Linux
1995       When multiple clients read and write to a file, the reading client
1996       may see first page (4096 bytes) of a file as nulls.
1997
1998     * Support Linux kernels up to 3.7.
1999
2000     * Support newer glibc versions.
2001
2002     * Improve client systemd unit file.
2003
2004     * Update Red Hat packaging.
2005
2006   OS X
2007
2008     * Fix crashes on shutdown.
2009
2010     * Prevent unloading the module before shutdown completes.
2011
2012     * Security improvement for the OpenAFS preference pane.
2013
2014   Solaris
2015
2016     * Support newer versions of the Sun Studio compiler software.
2017
2018     * Support compiling on newer versions of Solaris 11 and Solaris 10.
2019
2020
2021 OpenAFS 1.6.0 (2011-08-15)
2022
2023   All platforms
2024
2025     * Substantial Rx updates to correct erroneous behavior.
2026
2027     * vos now properly deals with matching sites when servers are
2028       multihomed.
2029
2030     * Don't stop Rx keepalives after an ackall is received, avoiding
2031       spurious connection timeouts. (128848)
2032
2033     * Don't retry Rx calls on channels returning busy errors and improve
2034       Rx busy call channel error handling. (128671)
2035
2036     * Properly enable Rx connection hard timeouts.
2037
2038     * Rx NAT pings are not enabled until peer has answered.
2039
2040     * Initialize rx_multi lock before use.
2041
2042     * Avoid spurious crashes when initializing in "backup" client.
2043
2044     * Revert UUID support in vos.
2045
2046     * pt_util fixed to properly create new databases.
2047
2048     * MTU discovery now properly shut down on call reset.
2049
2050     * Avoid leaking references to hosts during callback break multi-Rx
2051       operations. (129376)
2052
2053     * xstat tools now cope with differing timeval structures between
2054       endpoints.
2055
2056     * Numerous fixes to command argument parsing.
2057
2058     * Documentation updates.
2059
2060   All server platforms
2061
2062     * A file descriptor leak which could result in corrupted files in the
2063       fileserver was fixed. An IMMEDIATE upgrade from previous 1.5 release
2064       fileservers is recommended.
2065
2066     * Fix ptserver supergroups support on 64 bit platforms.
2067
2068     * Demand attach salvaging doesn't use freed volume pointers.
2069
2070     * Properly hold host lock during host enumeration in fileserver.
2071
2072     * Attempt to recovery more quickly from timed out volume release
2073       transactions.
2074
2075     * Auditing now properly byte order swaps IP addresses when printing.
2076
2077     * vos split now has improved error handling.
2078
2079     * Many changes to again support Windows fileservers.
2080
2081     * During volume removal, data removal speed improved.
2082
2083     * Improve CPU utilization during volume attaching by DAFS.
2084
2085     * In salvager check-only mode, avoid potentially fixing a vnode.
2086
2087     * Fix support for large (greater than 2gb) volume special files.
2088
2089     * Salvager will not crash if multiple or bad volume link tables are
2090       encountered.
2091
2092     * Avoid erroneous full dump by remembering which sites were out of
2093       date at the start of the release.
2094
2095     * A deleted volume can now be recreated properly.
2096
2097     * Callbacks are again not broken during whole partition salvages.
2098
2099     * Positional vectored IO fixed for largefile (>2GB) capable systems.
2100
2101     * Fileserver per-client thread usage again properly enforced.
2102
2103     * Anonymous dropbox support improved and drawbacks documented.
2104
2105     * Demand attach: ensure vnodes are not reallocated while in use due to
2106       volume bitmap errors.
2107
2108     * Properly support large volume numbers (larger than 2147483647).
2109
2110     * Allow salvager to be run manually again when DAFS is being
2111       used. (129458)
2112
2113     * Avoid leaking references to hosts during callback break multi-Rx
2114       operations. (129376)
2115
2116     * Demand attach: unlink fileserver state file on standalone salvage.
2117
2118     * Salvager tries harder to detect linktable issues.
2119
2120     * Demand attach: don't attach volumes with special status set.
2121
2122     * Avoid crashing on host table exhaustion. Instead, defer clients.
2123
2124   Microsoft Windows
2125
2126     * afs_config will not longer set the Tray Icon State in the registry
2127       if the checkbox is not present in the dialog. (128591)
2128
2129     * AFS Explorer Shell Extension now works from folder backgrounds.
2130       Overlays for mount points and symlinks are present in the dll, but
2131       are not registered at present by the installers.
2132
2133     * Do not use RankServerInterval registry value as the value for
2134       PerformanceTuningInterval.
2135
2136     * When the data version of a mountpoint or symlink changes, the target
2137       string in the cm_scache_t object must be cleared.
2138
2139     * "fs checkservers" now includes vldb servers in the output and only
2140       lists multi-homed servers once.  A multi-homed server that has at
2141       least one up interface is no longer considered to be down.
2142
2143     * When asynchronously storing dirty data buffers to the file server
2144       ensure that (a) the cm_scache_t object and the cm_buf_t object are
2145       for the same File ID so that locking and signalling work properly;
2146       and (b) if the FID no longer exists on the file server, do not
2147       panic, just discard the buffer.
2148
2149     * When processing VNOVOL, VMOVED and VOFFLINE errors perform server
2150       comparisons by UUID or address and not simply by cm_server_t
2151       pointer.  Otherwise, server failover may not succeed.
2152
2153     * Do not preserve status information for cm_scache_t objects when the
2154       issuing server is multi-homed.
2155
2156     * Giving up all callbacks when shutting down or suspending the machine
2157       is now significantly faster due to the use of an rx_multi
2158       implementation.  (This functionality is still off by default and
2159       must be activated by a registry value.)
2160
2161     * Race conditions were possible when updating the state of the
2162       cm_volume_t flags and when moving the volumes within the least
2163       recently used list.
2164
2165     * Ensure that the lanahelper library does not perform a NCBRESET of
2166       each lan adapter when enumerating the current network bindings.
2167       Correcting this permits OpenAFS to work on Windows 7 when the
2168       network adapter settings change.
2169
2170     * Fix creation of mount points and symlinks as \\AFS\xxxx
2171
2172     * Icon tray state now conditionally set. (128591)
2173
2174     * Properly create new cell mount points in freelance mode.
2175
2176     * Avoid recursive offline volume checks.
2177
2178     * Fix caching of non-existent volumes.  The test to trigger an
2179       immediate CM_ERROR_NOSUCHVOLUME in cm_UpdateVolumeLocation() was
2180       backwards.
2181
2182     * Prevent the background daemon from checking the status of
2183       non-existent volumes.  cm_CheckOfflineVolumes() should skip volume
2184       groups with the CM_VOLUMEFLAG_NOEXIST flag set.
2185
2186     * The afskfw library should return an error immediately if the
2187       krb5_32.dll library cannot be loaded.  Affects afslogon.dll and
2188       afscreds.exe.
2189
2190     * No longer depend on leashw32.dll in afskfw library.
2191
2192     * NPLogonNotify must provide the user password in all calls to
2193       KFW_AFS_get_cred().  It cannot count on a credential cache being
2194       preserved between calls.  Permits tokens to be acquired for all
2195       cells listed in the TheseCells registry value for a domain.
2196
2197     * Improve the trace logging from NPLogonNotify().
2198
2199     * Avoid a race when writing the cm_scache_t mountPointString
2200       when acquiring mount point or symlink target data via
2201       cm_GetData().  The race could result in bogus target
2202       data being cached.
2203
2204     * Permit the use of des-cbc-md5 and des-cbc-md4 enctypes
2205       as DES keys in asetkey.exe.
2206
2207     * aklog supports dotted Kerberos v5 principal names.
2208
2209     * afskfw library always attempts afs/cell@USER-REALM
2210
2211     * afskfw library must test return code from krb5_cc_start_seq_get() or
2212       will trigger a null pointer exception when using Heimdal.
2213
2214     * Lock protected fields must be 32-bit in order to avoid memory
2215       overwrite races.
2216
2217     * Add support for NTFS symlinks.
2218
2219     * Handle file search requests for virtual syscall ioctl file.
2220
2221     * Process SyncOps properly to enforce ordered operations.
2222
2223     * Avoid recursing during NewServer operations.
2224
2225     * Correct lock acquisition order during SMB locking.
2226
2227     * Add shutdown message to event log.
2228
2229     * Check offline volume status by policy rather than on each daemon
2230       thread run.
2231
2232     * Return error on directory object not found instead of crashing.
2233
2234     * Improve error message output.
2235
2236     * afslogin.dll can start afsd_service if it's not starting or started.
2237
2238     * Optimize away release lock RPCs for deleted files.
2239
2240     * Background Daemon will not perform operations on deleted files.
2241
2242     * Resort recently used directories to the top of the LRU if the
2243       directory is larger than the stat cache.
2244
2245     * Resort deleted objects to the bottom of the LRU.
2246
2247     * Use interlocked operations for state and queue fields to allow safe
2248       bit set and clear on multiprocessor systems.
2249
2250   All UNIX client platforms
2251
2252     * Servers now marked down when GetCapabilities returns error.
2253
2254     * In-use vcache count is now properly tracked.
2255
2256     * Check for /afs existance before starting, unless -nomount is
2257       specified.
2258
2259     * Avoid a potential panic when using /afs/.:mount syntax.
2260
2261     * Avoid a panic in memcache mode due to missing CellItems file.
2262
2263     * FUSE client support fixed for non-/afs mounts.
2264
2265     * Avoid a potential deadlock (which times out) when we need to
2266       allocate more callback returns and must flush some already in use.
2267
2268     * Deal with libcom_err conflicts with other packages using it
2269       (e.g. krb5) (128640)
2270
2271     * Fall back to afs3-vlserver SRV record values when afs3-ptserver SRV
2272       record is not available.
2273
2274     * Avoid holding unneeded locks when probing server capabilties.
2275
2276     * Do not attempt page flushes for directories.
2277
2278     * Rx connection reference counting is enabled.
2279
2280     * An Rx connection reference count leak is fixed in bulkstat.
2281
2282     * Handle unparsable directory objects.
2283
2284     * Handle Kerberos cred cache errors in aklog.
2285
2286   AIX
2287
2288     * Fix PAG usage to track by PAG identifier, not group list.
2289
2290   FreeBSD
2291
2292     * Fix socket termination on shutdown.
2293
2294     * Support for 7.2, 7.3, 7.4 and 8.2 included.
2295
2296     * References to vcaches are no longer leaked during root or reclaim.
2297
2298     * Remove support for "Giant" lock as we no longer need to use it.
2299
2300     * Don't sleep with AFS GLOCK.
2301
2302     * Properly enable 64 bit long long support.
2303
2304     * Restore support for FreeBSD 7 (128612)
2305
2306     * Fix locking issues at shutdown and avoid panic at shutdown due to
2307       vcache flushing.
2308
2309     * Support for virtual network stacks.
2310
2311     * New RC script, updated packaging.
2312
2313   IRIX
2314
2315     * Properly create new vnodes to avoid crashing in the client.
2316
2317   Linux
2318
2319     * Support through kernel 2.6.39.  Treat Linux 3.0 as Linux 2.6 for
2320       sysname purposes.
2321
2322     * Use rx_Readv in cache bypass to improve performance.
2323
2324     * Properly handle 0-length replies during cache bypass operations.
2325
2326     * Properly handle non-contiguous readpage cache bypass operations.
2327
2328     * Do proper locking when transitioning to or from cache bypass.
2329
2330     * Avoid extra runs of vcache freeing routine. (128756)
2331
2332     * Perform vcache eviction via a fast path before visiting vcaches
2333       where sleep is needed.
2334
2335     * setpag() errors are now properly reported.
2336
2337     * Avoid attempting to free stat cache entries when we are below
2338       user-specified number of entries in use.
2339
2340     * Properly track user-specified number of stat cache entries to use as
2341       a desired usage target.
2342
2343     * Don't read pages beyond EOF in the cache. (128452)
2344
2345     * Various corrections and improvements to Red Hat packaging, including
2346       modifying the init script to allow deferring for a new binary
2347       restart and properly supporting RHEL6.
2348
2349     * Fix lockup in 2.6.38 due to erroneous kernel feature configure test.
2350
2351     * Improve RPM building tools.
2352
2353     * Attempt to properly handle SELinux in packaging.
2354
2355     * Init script properly returns status as exit code.
2356
2357     * RPM packaging fixes (executable libraries, no postinstall message)
2358
2359     * Kill i386 from RPM packaging.
2360
2361   MacOS
2362
2363     * MacOS 10.7 support.
2364
2365     * Properly handle setpag errors.  PAGs are not supported.
2366
2367     * Check for unloaded kernel extensions when decoding AFS panics.
2368
2369     * Disable "get tokens at login" in prefs pane if AD authentication
2370       plugin is configured.
2371
2372     * aklog AuthorizationPlugin now provided.
2373
2374     * Preferences Pane behavior fixed for 1.6 series (version detection is
2375       used to select default behavior).
2376
2377     * A potential kernel panic during bulkstat operations is
2378       fixed. (128511)
2379
2380     * 64-bit MacOS kernel performance is greatly improved. (128934)
2381
2382     * Properly shut down AFS, closing the Rx socket in the upcall handler
2383       to avoid attempting to process data after we can no longer do so.
2384
2385     * Rework logic for bulk status operations to avoid a potential hang.
2386
2387     * Avoid panic when doing FSEvent synthesis.
2388
2389     * Fix bug when using non-dynroot.
2390
2391     * Update Kerberos support in PreferencesPane.
2392
2393   NetBSD
2394
2395     * Updates for platform support.
2396
2397   OpenBSD
2398
2399     * Bug fixes for issues introduced previously in 1.5 series.
2400
2401     * Support through OpenBSD 4.8.
2402
2403   Solaris
2404
2405     * Switch to ioctl() syscall replacement for Solaris 11 since syscall
2406       65 is not safe.
2407
2408     * Fix support for Solaris pre-10.
2409
2410     * Corrected Solaris 11 startup script.
2411
2412     * vcache mappings freed on shutdown to avoid panic.
2413
2414     * Properly report errors for AFS system call callers.
2415
2416     * Don't leave dangling function references if kernel extension fails
2417       to load.
2418
2419     * Try harder to avoid deadlocks on file-larger-than-cache operations.
2420
2421     * Avoid panic on shutdown when mount failed.
2422
2423
2424 OpenAFS 1.6.0pre2
2425
2426   All systems: Minor bugfixes.
2427
2428   ADDITIONAL CHANGES IN 1.6.0PRE2
2429
2430   All platforms:
2431
2432     - Documentation updates.
2433
2434     - Don't stop Rx keepalives after an ackall is received, avoiding
2435       spurious connection timeouts. (128848)
2436
2437     - Don't retry Rx calls on channels returning busy errors. (128671)
2438
2439     - vos will not die with a double free error at command completion.
2440
2441     - Properly enable Rx connection hard timeouts.
2442
2443     - Initialize rx_multi lock before use.
2444
2445     - Avoid spurious crashes when initializing in "backup" client.
2446
2447   All unix platforms:
2448
2449     - Check for /afs existance before starting, unless -nomount is specified.
2450
2451     - Avoid a potential panic when using /afs/.:mount syntax.
2452
2453     - Avoid a panic in memcache mode due to missing CellItems file.
2454
2455   All server platforms:
2456
2457     - Attempt to recovery more quickly from timed out volume release
2458       transactions.
2459
2460     - Auditing now properly byte order swaps IP addresses when printing.
2461
2462     - vos split now has improved error handling.
2463
2464     - Many changes to again support Windows fileservers.
2465
2466     - During volume removal, data removal speed improved.
2467
2468     - Improve CPU utilization during volume attaching by DAFS.
2469
2470     - In salvager check-only mode, avoid potentially fixing a vnode.
2471
2472     - Fix support for large (greater than 2gb) volume special files.
2473
2474     - Salvager will not crash if multiple or bad volume link tables
2475       are encountered.
2476
2477     - Avoid erroneous full dump by remembering which sites were out of date
2478       at the start of the release.
2479
2480   FreeBSD:
2481
2482     - Remove support for "Giant" lock as we no longer need to use it.
2483
2484     - Don't sleep with AFS GLOCK.
2485
2486     - Properly enable 64 bit long long support.
2487
2488     - Restore support for FreeBSD 7 (128612)
2489
2490     - Fix locking issues at shutdown.
2491
2492   Linux:
2493
2494     - support through kernel 2.6.38.
2495
2496     - RedHat packaging now properly supports RHEL6.
2497
2498     - Use rx_Readv in cache bypass to improve performance.
2499
2500     - Properly handle 0-length replies during cache bypass operations.
2501
2502     - Properly handle non-contiguous readpage cache bypass operations.
2503
2504     - Do proper locking when transitioning to or from cache bypass.
2505
2506     - Avoid extra runs of vcache freeing routine. (128756)
2507
2508   MacOS:
2509
2510     - Check for unloaded kernel extensions when decoding AFS panics.
2511
2512     - Properly handle setpag errors. PAGs are not supported.
2513
2514     - Disable "get tokens at login" in prefs pane if AD authentication
2515       plugin is configured.
2516
2517   OpenBSD:
2518
2519     - support through OpenBSD 4.8.
2520
2521   Solaris:
2522
2523     - Fix support for Solaris pre-10.
2524
2525   Windows:
2526
2527     - afs_config will not longer set the Tray Icon State
2528       in the registry if the checkbox is not present in
2529       the dialog. (128591)
2530
2531     - AFS Explorer Shell Extension now works from folder
2532       backgrounds.  Overlays for mount points and symlinks
2533       are present in the dll, but are not registered at present
2534       by the installers.
2535
2536     - Do not use RankServerInterval registry value as the value for
2537       PerformanceTuningInterval.
2538
2539     - When the data version of a mountpoint or symlink changes,
2540       the target string in the cm_scache_t object must be cleared.
2541
2542     - "fs checkservers" now includes vldb servers in the output
2543       and only lists multi-homed servers once.  A multi-homed
2544       server that has at least one up interface is no longer
2545       considered to be down.
2546
2547     - When asynchronously storing dirty data buffers to the
2548       file server ensure that (a) the cm_scache_t object and
2549       the cm_buf_t object are for the same File ID so that
2550       locking and signalling work properly; and (b) if the
2551       FID no longer exists on the file server, do not panic,
2552       just discard the buffer.
2553
2554     - When processing VNOVOL, VMOVED and VOFFLINE errors perform
2555       server comparisons by UUID or address and not simply by
2556       cm_server_t pointer.  Otherwise, server failover may not
2557       succeed.
2558
2559     - Do not preserve status information for cm_scache_t objects
2560       when the issuing server is multi-homed.
2561
2562     - Giving up all callbacks when shutting down or suspending
2563       the machine is now significantly faster due to the use
2564       of an rx_multi implementation.  (This functionality is
2565       still off by default and must be activated by a registry
2566       value.)
2567
2568     - Race conditions were possible when updating the state
2569       of the cm_volume_t flags and when moving the volumes
2570       within the least recently used list.
2571
2572     - Ensure that the lanahelper library does not perform a
2573       NCBRESET of each lan adapter when enumerating the
2574       current network bindings.  Correcting this permits OpenAFS
2575       to work on Windows 7 when the network adapter settings
2576       change.
2577
2578     - Fix creation of mount points and symlinks as \\AFS\xxxx
2579
2580   PREVIOUS CHANGES:
2581
2582   All platforms:
2583
2584     - vos now properly deals with matching sites when servers are multihomed.
2585
2586   All Unix platforms:
2587
2588     - Servers now marked down when GetCapabilities returns error.
2589
2590     - In-use vcache count is now properly tracked.
2591
2592   All server platforms:
2593
2594     - Fix ptserver supergroups support on 64 bit platforms.
2595
2596     - Demand attach salvaging doesn't use freed volume pointers.
2597
2598     - Properly hold host lock during host enumeration in fileserver.
2599
2600   FreeBSD:
2601
2602     - Fix socket termination on shutdown.
2603
2604     - Support for 7.2, 7.3, 7.4 and 8.2 included.
2605
2606     - References to vcaches are no longer leaked during root or reclaim.
2607
2608   Linux:
2609
2610     - Define llseek handler to avoid ESPIPE error in 2.6.37.
2611
2612     - Mount interface replaces get_sb (new for 2.6.37, not yet required).
2613
2614     - RedHat init script allows deferring for a new binary restart.
2615
2616     - DEFINE_MUTEX replaces DECLARE_MUTEX for 2.6.37.
2617
2618   MacOS:
2619
2620     - Correct return value from setpag syscall.
2621
2622   OpenBSD:
2623
2624     - Bug fixes for issues introduced previously in 1.5 series.
2625
2626   Solaris:
2627
2628     - Switch to ioctl() syscall replacement for Solaris 11 since syscall 65
2629       is not safe.
2630
2631
2632 OpenAFS 1.5.78 (2010-11-04)
2633
2634   All platforms
2635
2636     * Revisions to Rx to fix performance issues.
2637
2638     * Make fs getfid behave consistently across all platforms. (128372)
2639
2640     * Properly check IDs handed to pts when creating users or groups so
2641       useful error messages can be provided. (128343)
2642
2643     * Correct byte order handling of port in afsconf_LookupServer for SRV
2644       records.
2645
2646     * Force a full dump when releasing to a site which was previously
2647       marked "don't use", in case the previous clone was out of date.
2648
2649   All server platforms
2650
2651     * Demand salvage of attached volumes now correctly track attachment
2652       state.
2653
2654     * Avoid a potential crash due to failure to hold a lock when attaching
2655       a volume fails.
2656
2657   Microsoft Windows
2658
2659     * Track SMB connections by SID rather than username.
2660
2661     * Error write attempts to known-readonly volumes earlier.
2662
2663     * Validate directory buffers to avoid potential crashes.
2664
2665     * Handle VIO errors from bulkstatus.
2666
2667     * Make PMTU discovery configurable and register error handlers for it.
2668
2669   All UNIX client platforms
2670
2671     * Use larger I/O sizes in memcache to improve performance.
2672
2673     * Avoid potential alignment issues doing I/O for pioctl calls.
2674
2675   FreeBSD
2676
2677     * Avoid panicing if the listener process is not findable.
2678
2679     * Avoid deadlock issues while performing lookups.
2680
2681   Linux
2682
2683     * Handle stale file handle errors for some cache partition types.
2684
2685     * Avoid blocking with xvcache lock when attempting to free in-use
2686       vcaches.
2687
2688     * Build fixes for older kernels.
2689
2690     * Properly configure LWP to use ucontext() on platforms where it
2691       should.
2692
2693     * Eliminate spurious errors from AFS system call returns. (126230)
2694
2695   MacOS
2696
2697     * Attempt to honor configured Kerberos defaults in Preferences Pane.
2698
2699
2700 OpenAFS 1.5.77 (2010-09-08)
2701
2702   All platforms
2703
2704     * Rx path MTU detection will terminate detection in cases where the
2705       minimum required packet size cannot be transferred.
2706
2707     * vos dryrun mode now shows effects for syncvldb single volume case.
2708
2709     * vos dryrun mode now shows "status after" for syncvldb and syncserv.
2710
2711   All server platforms
2712
2713     * RXAFS_GetStatistics64 now returns statistics properly.
2714
2715   Microsoft Windows
2716
2717     * Attempt to properly identify the local system SMB connection for
2718       token tracking.
2719
2720     * Remap timeout and offline errors to proper NT RPC errors.
2721
2722     * Properly fail over to other replicas on bulkstat IO errors.
2723
2724     * Properly error delete-mode createfile if a file is set readonly.
2725
2726     * Validate directory entry buffers to avoid crashing the service.
2727
2728     * Log file modes properly.
2729
2730     * Log cell name when logging server information.
2731
2732   All UNIX client platforms
2733
2734     * cacheout program for discarding callbacks is now built.
2735
2736     * bulkstatus kernel locking is corrected to avoid a potential panic.
2737
2738   Dragonfly BSD
2739
2740     * userspace support update
2741
2742   FreeBSD
2743
2744     * Updated vnode locking for children returned via lookup().
2745
2746     * Avoid file open undercount with needed calls to
2747       FakeOpen/FakeClose().
2748
2749     * Use vnode_pager_setsize to properly track file size during kernel
2750       IO.
2751
2752     * Update system call installation.
2753
2754     * Fix shutdown of Rx kernel listener to avoid potential dereference
2755       after it's gone.
2756
2757     * Avoid closing vnodes during vnode recycle.
2758
2759     * Fix bogus call to FlushVS for vnode reclaims.
2760
2761   Linux
2762
2763     * Packaging updated for current configure options and built files.
2764
2765     * Cache bypass now holds reference on pages during readpage.
2766
2767     * s390x setgroups32 patching update.
2768
2769   MacOS
2770
2771     * DNS resolver is reinitialized on IP address change. (126440)
2772
2773
2774 OpenAFS 1.5.76 (2010-08-16)
2775
2776   All platforms
2777
2778     * Updates to build-time configuration.
2779
2780     * Fix XDR support in Rx to match header definition.
2781
2782     * vos status now shows transaction creation, not action creation.
2783
2784     * Rx avoids reporting loopback adapters when listing interfaces.
2785
2786   All server platforms
2787
2788     * Demand-Attach Fileserver always built and installed (dafileserver,
2789       davolserver, dasalvager).
2790
2791     * Return VNOVOL from fileserver when a volume is deleted.
2792
2793     * Ignore duplicate tags during volume restore operation.
2794
2795     * Update inode array after salvage repairs volume.
2796
2797     * Zero a corrupted header in memory during salvage to avoid further
2798       corruption.
2799
2800     * Fix NAMEI backend to allow low-numbered volumes to work properly.
2801
2802     * ptserver does not include cell name as part of length check for
2803       names.
2804
2805     * Updated error messages for unblessed volumes.
2806
2807     * vlserver avoids buffer overflow with regex pattern
2808
2809     * Attach-time failures now note failures as the rest of the fileserver
2810       would.
2811
2812     * Server argument logging will no longer overflow stack.
2813
2814     * Provide fast-restart-like unsafe-nosalvage option for DAFS.
2815
2816     * Deal with host hash collisions in the fileserver.
2817
2818   Microsoft Windows
2819
2820     * Avoid crashing when interpreting a drive letter as potentially
2821       matching a cell name.
2822
2823     * Properly handle volume package errors.
2824
2825     * Allow page recycling from known-readonly content without ensuring
2826       they are not dirty.
2827
2828     * 32 bit tools installer should not override client configuration.
2829
2830     * Ensure root scache item has a valid callback when use is attempted.
2831
2832     * Freelance directory changes now properly invalidate and replace the
2833       old root object.
2834
2835   All UNIX client platforms
2836
2837     * Support disconnected reconnecting with specified UID for PAGless
2838       platforms.
2839
2840     * Proper disconnected vnode reference tracking.
2841
2842     * Update server site blacklisting to not return success if nothing was
2843       blacklisted.
2844
2845     * Avoid a panic during vcache contention due to CVInit vcache
2846       racing. (127645)
2847
2848   FreeBSD
2849
2850     * Update for network stack in 8.1/9.0.
2851
2852   HP-UX
2853
2854     * Bug fixes.
2855
2856   Linux
2857
2858     * 2.6.36 support
2859
2860     * Disable PMTU error packet handling.
2861
2862     * flock() fixes.
2863
2864     * Debian packaging updated.
2865
2866     * freezer interface updates.
2867
2868   MacOS
2869
2870     * Hold references to disconnected mode written vnodes properly.
2871
2872   Solaris
2873
2874     * Handle NFS translator module references for amd64.
2875
2876     * INODE fileserver backend support now exists for amd64.
2877
2878
2879 OpenAFS 1.5.75 (2010-07-07)
2880
2881   All platforms
2882
2883     * Prevent rx_rpc_stats global lock from being a bottleneck.
2884
2885     * Path MTU discovery is now provided to allow traffic to pass networks
2886       with sub-1500 byte MTUs and poor fragment handling.
2887
2888     * Further reduce Rx NAT ping transmission when enabled.
2889
2890     * Update Kerberos 5-based token handling in rxkad from upstream
2891       Heimdal.  (127554)
2892
2893     * Update version numbers emitted during build to reflect what is
2894       actually being built.
2895
2896     * Add "-human" switch for human-readable units in fs diskfree and
2897       listquota. (124529)
2898
2899     * vos provides reasons for locked volumes when known.
2900
2901     * Do not count retransmission and ping acks as non-idle for Rx
2902       connections.
2903
2904     * Rx: provide service-specific data getter and setter routines.
2905
2906     * Update build-time Kerberos detection.
2907
2908     * Updated userspace AFS client.
2909
2910     * Beginning of a modernized test suite.
2911
2912     * Additional documentation.
2913
2914     * Updated documentation, notably the Administrators Guide.
2915
2916     * Substantial code cleanup.
2917
2918   All server platforms
2919
2920     * Update handling of vnode allocation failures.
2921
2922     * DAFS: allow salvaging volumes not known to the fileserver, to allow
2923       cleanup of data not attached to a current volume.
2924
2925     * Properly handle volumes slated for destruction.
2926
2927     * Handle volumes with many files properly.
2928
2929     * Force core file generation in bosserver by overriding default
2930       resource limits when possible.
2931
2932     * Update vlclient and vldb_check.
2933
2934     * Avoid potentially corrupting a volume on creation if files are left
2935       from previous failed cleanup.
2936
2937     * Note volume changed during salvage as needed.
2938
2939     * DAFS: do not assume invalid addresses are in fileserver address hash
2940       table.
2941
2942     * Avoid tying up fileserver threads with volumes that are being taken
2943       offline.
2944
2945     * Do not set inUse on volumes for non-DAFS other than in fileserver.
2946
2947     * Break origin's callback on target of rename operation.
2948
2949     * Avoid unneeded parent directory link updates during some rename
2950       operations.
2951
2952     * Do not open /dev/console for writing in the fileserver.
2953
2954     * DAFS: avoid spurious restarts when binary restarts are configured.
2955
2956     * Avoid spurious and unneeded calls to sync(), which can slow down the
2957       fileserver.
2958
2959   Microsoft Windows
2960
2961     * Revised SMB QuerySecurityInfo to address issues caused by MS10-020
2962       (http://support.microsoft.com/kb/980232)
2963
2964     * Prevent use of the AFSCache file contents if mapped to a new
2965       address.
2966
2967     * Make fs newcell include behavior compatible with the non-Windows
2968       version.
2969
2970     * Provide a registry option (FreelanceImportCellServDB) to pre-create
2971       mount points in the AFS root for all cells in CellServDB.
2972
2973     * Fix a memory leak in the cm_FreeServerList() routine.
2974
2975     * Reduce privilege when reading registry CellServDB.
2976
2977     * Add support for RPC Pipe Service NetWkstaGetInfo levels needed for
2978       Windows 7.
2979
2980     * Prevent overflow when computing quota percentage in Explorer Shell.
2981       (126846)
2982
2983     * Generate meaningful errors for ACL operations on freelance AFS root.
2984
2985     * Fix error handling on InlineBulkStatus RPCs.
2986
2987     * Show configuration pages for all types of MSI installations.
2988
2989     * Improve freemount AFS root directory handling and operations.
2990
2991     * Properly validate GetVolumeStatus pioctl responses.
2992
2993     * Commit file length changes and dirty buffers when flushing a file.
2994
2995   All UNIX client platforms
2996
2997     * Update version of files for disk cache.
2998
2999     * Do not call afs_FlushVCBs with xvcache lock held, to improve
3000       parallelization.
3001
3002     * Add mariner log messages for creating and removing files.
3003
3004     * Don't hold xvcache lock while creating symlinks, to improve
3005       parallelization.
3006
3007     * Provide -dynroot-sparse mode to not show all cells in CellServDB in
3008       dynroot mode.
3009
3010     * Avoid a potential crash in aklog in linked cell handling.
3011
3012     * Log MTU-caused packet retransmission.
3013
3014     * Prevent crashes caused be fs checkservers while cache is being set
3015       up.
3016
3017     * fs getserverprefs now has a buffer large enough for the default
3018       CellServDB.
3019
3020     * Report server address when logging warnings.
3021
3022     * Avoid panic in GetCapabilities when cell is not known.
3023
3024     * Lock process name and id for advisory lock warnings when possible.
3025
3026     * Handle need for allocating additional Rx packets.
3027
3028     * Properly handle errors from InlineBulkStatus operations.
3029
3030     * Fix errors returned from fcntl() on readonly files locked for write.
3031
3032     * Flush pending changes to the server on LOCK_EX unlock.
3033
3034     * Reflect length changes as a result of callbacks even when file is
3035       open for write.
3036
3037     * Avoid hanging due to error exit when attempting to store a large
3038       file to a non-largefile fileserver.
3039
3040     * Recover from afs_GetVolSlot errors.
3041
3042   FreeBSD
3043
3044     * Bugfixes for kernel VFS and network routines.
3045
3046   IRIX
3047
3048     * Provide makesname().
3049
3050   Linux
3051
3052     * Avoid syscall probes when keyrings are present, by default. (125215)
3053
3054     * Remove "Big Kernel Lock" from VFS operations.
3055
3056     * Use filehandles for all Linux 2.6 versions to avoid need for matched
3057       afsd. (127530)
3058
3059     * Updated RPM packaging.
3060
3061     * Fix dkms configuration provided with RPMs.
3062
3063     * Hold reference on pages during background I/O for cache bypass.
3064
3065     * Fix cache bypass handling of non-largefile fileservers.
3066
3067     * Protect truncate_inode_pages mappings with mutex or semaphore as
3068       needed.
3069
3070     * Fix pagevec use in cache bypass. (127505)
3071
3072     * Updates for 2.6.35
3073
3074   MacOS
3075
3076     * Improve launchd configuration.
3077
3078     * Avoid hanging on recursive cache file lock acquisition when user
3079       notification is enabled.
3080
3081     * Fix and re-enable bulkstat mode.
3082
3083   OpenBSD
3084
3085     * Build updates.
3086
3087   Solaris
3088
3089     * Precluding unmount while AFS is busy.
3090
3091     * Avoid deadlocking when releasing the VFS object.
3092
3093     * Stop network interface poller in kernel on AFS shutdown.
3094
3095     * Avoid issues with lookups on empty directory names. (127356)
3096
3097
3098 OpenAFS 1.5.74 (2010-04-22)
3099
3100   All platforms
3101
3102     * Add "vos setaddrs" command.
3103
3104     * Rx library lock contention avoidance between rx_NewCall and
3105       rx_EndCall.
3106
3107     * Rx library races due to inconsistent use of rx_connection
3108       conn_data_lock to protect the flags field.
3109
3110     * Rx library inconsistent use of RX_CALL_TQ_WAIT which could result in
3111       deadlocks.
3112
3113     * Rx library must signal transmit queue waiters when flushing.
3114
3115     * afsmonitor shows busy counts now.
3116
3117     * afsmonitor displays xstat callback statistics.
3118
3119     * Provide expandgroups for pts mem on a supergroups server.
3120
3121     * Provide supergroup option to liste nested groups during pts mem.
3122
3123   All server platforms
3124
3125     * Avoid volume lock contention during DAFS startup.
3126
3127   Microsoft Windows
3128
3129     * Avoid a race when updating cell vldb server lists that can result in
3130       a crash.
3131
3132     * Avoid a deadlock when managing CM_SCACHESYNC_STOREDATA state
3133       operations for directory objects.
3134
3135     * Add new Windows Application Event log messages for VBUSY,
3136       VRESTARTING, ALL_BUSY, ALL_OFFLINE, and ALL_DOWN.
3137
3138     * Reduce lock contention by waiting for cm_buf_t I/O operations.
3139
3140     * Split the cm_buf_t flags field to separate the flags that are
3141       protected by the cm_buf_t mutex from those protected by the
3142       buf_globalLock.
3143
3144     * In cm_UpdateVolumeLocation, avoid searching for a ".readonly" volume
3145       on a numeric volume name.
3146
3147     * File buffer allocations whose offsets are beyond server EOF should
3148       be locally allocated and zero filled.  The file server should not be
3149       issued a FetchData rpc which is guaranteed to fail.
3150
3151     * Enable integrated logon to work with Windows 7/2008 when user logons
3152       are performed with a non-Domain Kerberos principal.
3153
3154     * Add Protection Error messages to aklog output.
3155
3156   All UNIX client platforms
3157
3158     * Provide a FUSE-interfacing userspace afs client.
3159
3160     * Updates to libuafs userspace cache manager.
3161
3162     * Probe servers using GetCapabilities instead of GetTime, thus
3163       requiring fewer RPCs.
3164
3165     * Fix DNS SRV record handling for cell lookup.
3166
3167   FreeBSD
3168
3169     * Fix sleep/wakeup routines.
3170
3171     * Update for 8.0 release.
3172
3173   Linux
3174
3175     * Handle high memory addresses correctly.
3176
3177   MacOS
3178
3179     * Make 32 bit AFS syscalls work again.
3180
3181     * Work around finder "Duplicate" failure (caused by setting modes on
3182       symlinks).
3183
3184     * Disable bulkstat again (will be re-enabled at or before .75).
3185
3186     * Provide symlink type hints during readdir.
3187
3188
3189 OpenAFS 1.5.73 (2010-03-24)
3190
3191   All systems: Minor bugfixes. New features.
3192
3193   * New functionality:
3194
3195   All systems:
3196
3197     - NAT keepalive support at Rx level.
3198
3199     * Bugfixes:
3200
3201   All systems:
3202
3203     - Corrected server IP address output in vos syncvldb verbose mode.
3204
3205     - Corrected server IP address output for last "yes" host in udebug.
3206
3207     - Corrected SRV record support for canonicalizing cell names.
3208
3209   All UNIX clients:
3210
3211     - Fixed a potential race in Disconnected AFS "remove" support.
3212
3213     - Fix a potential blocking condition in fakestat mode.
3214
3215     - Avoid some errors and stack overflow reports when vos is interrupted.
3216       (33360,125535)
3217
3218     - Clean up several minor memory leaks.
3219
3220     - If a large file is stored to a non-largefile fileserver, avoid
3221       a potential deadlock.
3222
3223     - Increase maximum number of sysnames to 32.
3224
3225     - Readd fs mariner "storing" message, missing since AFS 3.3.
3226
3227     - Attempt timeouts on AFSDB lookups in userspace.
3228
3229     - Avoid interrupting writes due to an idle deadtime timeout.
3230
3231   All server platforms:
3232
3233     - Properly notify only affected hosts for volume callbacks. (126497)
3234
3235     - Allow volumes with trashed root directory to be recovered. (94658)
3236
3237     - Hold lock in file and volservers when traversing partition list.
3238
3239     - Use finer-grained locking in DAFS: volume, instead of partition locks.
3240
3241     - Schedule all DAFS salvages via FSSYNC.
3242
3243     - Avoid stale ptserver credential caching issue on keyfile update.
3244
3245     - Improve callback table overflow handling. (126451)
3246
3247     - Preclude deadlocks on when attempting to save DAFS state.
3248
3249     - Avoid races deleting hosts. (126454)
3250
3251     - Improve salvage speed for DAFS (124488)
3252
3253     - The bosserver now handles SIGTERM.
3254
3255   Microsoft Windows
3256
3257     - Prevent the Explorer Shell extension from crashing if symlink
3258       creation failed.  (126406)
3259
3260     - A Rx level NAT ping has been implemented. A registry value enables.
3261
3262     - Adds krb5 error message translation to aklog, afscreds,
3263       afslogon.dll, the network identity manager afs provider and
3264       translate_et.
3265
3266     - Default mode bit settings for file and directory creation are now
3267       provided, and can be configured.
3268
3269     - An SMB request trace facility is provided and can be enabled for
3270       debugging.
3271
3272   AIX:
3273
3274     - Clean up properly on mount failure.
3275
3276     - Add entry to /etc/vfs to allow umount to work.
3277
3278   FreeBSD:
3279
3280     - Additional work to support FreeBSD 8-current.
3281
3282   IRIX:
3283
3284     - Fix build issues with library order.
3285
3286   Linux:
3287
3288     - Fix s390 support conflict with executable stack patches.
3289
3290     - Don't count root's AFS session keyrings against quota.
3291
3292     - Correct dkms support in RPM config file.
3293
3294     - Keyring destructor now properly cleans up all tokens.
3295
3296     - Build again on old 2.6 kernels.
3297
3298     - Avoid GLOCK leak when updating CellServDB in-core.
3299
3300     - Fix byte-range lock handling.
3301
3302     - Attempt to deal with bdi issues. (126514)
3303
3304   MacOS:
3305
3306     - Some FSEvents hinting for authentication events now done. (23781)
3307
3308     - Update uninstaller. (125634)
3309
3310     - Rewrite afssettings and fstab code to avoid licensing issue with APSL.
3311
3312     - Growl client for user monitoring of AFS events included.
3313
3314     - Properly support insert-only dropboxes.
3315
3316     - Add bulkstat support.
3317
3318     - Include support for moving in Finder across mount points.
3319
3320     - Preferences Pane includes support for Kerberos 5 ticket renewal.
3321
3322   OpenBSD:
3323
3324     - Some support for OpenBSD 4.7.
3325
3326
3327 OpenAFS 1.5.72 (2010-02-15)
3328
3329   All platforms
3330
3331     * Provide internationalization support in com_err.
3332
3333     * Fix array length checking to avoid crashes when checking for a
3334       volume type based on name in vos.
3335
3336   All server platforms
3337
3338     * Provide backward compatible "-f" flag to salvager for force mode.
3339
3340   Microsoft Windows
3341
3342     * Restore use of DNS AFSDB and SRV records by kaserver clients.
3343
3344   All UNIX client platforms
3345
3346     * Fix client cache file truncation to not lose chunks when truncating
3347       a large file.
3348
3349     * Ensure a cache writeback hook is installed in the client (bug from
3350       1.5.71).
3351
3352     * Avoid spurious free memory warnings during clean shutdown.
3353
3354     * Fakestat mode avoids AFSDB lookups.
3355
3356     * "fs storebehind" now correctly reports errors on readonly volumes.
3357
3358     * Additional documentation for "fs getcacheparms"
3359
3360     * Forced new uuid generation with "fs uuid -generate" now works
3361       enforced permission correctly.
3362
3363   MacOS
3364
3365     * Add optimized Rx event handler in kernel.
3366
3367     * Installer now allows installing an older version.
3368
3369     * Panic decoder can now deal with MacOS 10.5 again.
3370
3371     * MacOS ._ files are now correctly not looked up as cellnames.
3372
3373   Linux
3374
3375     * To deal with SELinux file labeling, try cache accesses with current
3376       credentials in event of failure.
3377
3378     * Rx XDR encoding bug on i386 Linux is fixed (bug introduced in
3379       1.5.71).
3380
3381   IRIX
3382
3383     * Code compilation fixes.
3384
3385   OpenBSD
3386
3387     * Update for OpenBSD 4.6.
3388
3389
3390 OpenAFS 1.5.69 (2010-01-19)
3391
3392   All platforms
3393
3394     * Configuration of BOSserver no longer defaults to weekly restarts
3395       enabled.
3396
3397     * Provide BOS restricted mode by default.
3398
3399     * Add support for "vos endtrans" command.
3400
3401     * Default to providing full output from vos listvol.
3402
3403     * Correct additional-address tracking in the fileserver.
3404
3405     * Improve Rx performance by not unnecessarily dropping and reacquiring
3406       call locks in read and write processes.
3407
3408     * Avoid crashes when monitoring volserver transactions across
3409       potential transaction garbage collection.
3410
3411     * Numerous warning fixes.
3412
3413   All server platforms
3414
3415     * Avoid saving fileserver state in demand attach fileserver when
3416       panicing.
3417
3418     * Demand attach fileserver allows other callers to schedule salvages.
3419
3420     * Demand attach "bos salvage" now works correctly with restricted
3421       mode.
3422
3423   Microsoft Windows:
3424
3425     * Numerous changes to the client-internal btree directory handling to
3426       prevent errors.
3427
3428     * fs examine reports owner and group ids as signed values (PTS groups
3429       are negative).
3430
3431     * Preclude corruption due to races writing to smb buffers.
3432
3433     * Allow MTU settings in registry to be used.
3434
3435     * Apply MTU to both send and receive sizes.
3436
3437   All UNIX client platforms
3438
3439     * Avoid double-freeing Rx call structure if reading a response from
3440       the file server results in a short read.
3441
3442     * Handle negative lengths in FetchStatus results correctly.
3443
3444     * Properly clean up allocated memory at shutdown.
3445
3446     * Default to AFSDB compiled into the cache manager.
3447
3448     * Avoid inadvertant disclosure of stat() information to clients not so
3449       entitled.
3450
3451     * Correct a bug with AFSDB lookups introduced with SRV record support.
3452
3453   MacOS
3454
3455     * Install kernel panic processing tool in /Library/OpenAFS/Tools.
3456
3457     * Include debugging symbols for kernel extension in additional package.
3458
3459     * Support "Application Firewall" users.
3460
3461     * Avoid ._cellname AFSDB lookups.
3462
3463     * Compile preferences pane as a universal binary.
3464
3465   Linux
3466
3467     * Use splice to speed up storing files.
3468
3469     * When using memcache, avoid duplicating work in readpages.
3470
3471     * Use dget_parent to safely find an inode's parent.
3472
3473     * Disable access time updates in our superblock.
3474
3475     * Avoid crashing doing writeback if no credentials were stashed at
3476       file open.
3477
3478     * Simplify keyring support.
3479
3480     * Properly clean up vcache in event of failed mount.
3481
3482   FreeBSD
3483
3484     * Update for current FreeBSD 8.
3485
3486   Solaris
3487
3488     * Abstractly manipulate groups as now required.
3489
3490     * Abstractly access time instead of using lbolt directly.
3491
3492
3493 OpenAFS 1.5.68 (2009-12-08)
3494
3495   All platforms
3496
3497     * aklog now attempts to convert non-AFS errors to human-readable
3498       strings.
3499
3500     * Make stack not executable when compiling assembler source with GCC.
3501
3502     * Numerous source warning cleanups and code reorganization.
3503
3504   All server platforms
3505
3506     * Compute midnight for volume statistics calculation from local time.
3507
3508     * Salvager now orphans duplicate special inodes when running to allow
3509       recovery in event of a problem, instead of simply ignoring the
3510       issue.
3511
3512     * Support to ensure a server panic attempt leaves a core and thus
3513       restarts in a timely manner, rather than potentially hanging. Use
3514       panic to attempt cleanup before leaving a core when possible.
3515
3516     * Volume sync data reported during bulkstatus is now set correctly.
3517
3518     * Provide better tuning for fileserver file descriptor caching.
3519
3520     * Allow more than 128 threads in fileserver by modifying host
3521       structure in-use tracking.
3522
3523     * Avoid crashes getting volume server status during transaction
3524       cleanup.
3525
3526     * Improved logging of offline volume conditions.
3527
3528     * Correct volume statistics when cloning a volume.
3529
3530     * Avoid referencing host structures in the fileserver which are marked
3531       for deletion.
3532
3533     * Demand attach fileserver corrections to avoid coring during an
3534       aborted startup.
3535
3536     * host array bounds checking corrections to avoid buffer overflow.
3537
3538     * Handle special inodes correctly when promoting an inode fileserver
3539       readonly volume to read-write.
3540
3541   Microsoft Windows
3542
3543     * Set the DOS Readonly attribute on a file/directory whenever the unix
3544       mode combined with the mask 0200 is true.  Previously there was a
3545       discrepency between the mask used for testing for readonly behavior
3546       and that used for setting the attribute.
3547
3548     * Disable AFSVolSync based .readonly "whole-volume callback" support
3549       because the all file servers prior to 1.5.67 (and perhaps 1.4.12) do
3550       not properly assign a value to the AFSVolSync structure in bulk
3551       status RPC responses.
3552
3553     * Improve the error output from aklog to output the value from krb5
3554       error_message() if the afs_com_err output indicates an unknown
3555       value.
3556
3557     * Convert VBUSY and VRESTARTING to CM_ERROR_ALLBUSY and do not permit
3558       them to be exposed to the smb redirector.
3559
3560     * Convert STATUS_TIMEOUT responses to STATUS_IO_TIMEOUT to avoid
3561       confusion within the smb redirector.
3562
3563     * Fix the byte order assigned to port numbers associated with AFSDB
3564       record lookups.  They must be network byte order not host byte
3565       order.
3566
3567     * Add dynamic server ranking based on RPC round trip time
3568       measurements.
3569
3570   All UNIX client platforms
3571
3572     * Additional shutdown-time memory leaks removed.
3573
3574     * Improved logging of resource contention.
3575
3576     * Provide dumping for Rx debug packet tracking support in source.
3577
3578     * Update afscp test client to build, and provide an unlock client.
3579
3580     * Client buffers for directory parsing can now be allocated beyond the
3581       fixed set formerly provided.
3582
3583     * Work around race condition when manipulating read-only volume
3584       callbacks.
3585
3586     * Bugfixes to get PAG value pioctl.
3587
3588     * Bugfixes to SRV record support.
3589
3590   Linux
3591
3592     * Path MTU tracking code cleanup.
3593
3594     * Avoid an oops due to racing with vcache recycling thread.
3595
3596     * Changes to keyring PAG handling: for sufficiently new kernels, use
3597       only keyring-based PAGs, and disable group PAGs entirely.
3598
3599     * Updates to the kernel page cache interface: writing pages will now
3600       not spuriously leak page locks, and will avoid requiring duplicate
3601       work.
3602
3603     * Credential references are now tracked using native atomic counters.
3604
3605     * Kernel mutex/semaphore lock ordering fix to avoid deadlocks.
3606
3607     * Manipulate disk cache with credentials used to initialize it, to
3608       avoid security issues.
3609
3610   MacOS
3611
3612     * Fix fstrace message catalog location.
3613
3614     * Fix kernel fstrace logging.
3615
3616
3617 OpenAFS 1.5.66 (2009-10-25)
3618
3619   All platforms
3620
3621     * Avoid calling exit() in library code.
3622
3623     * Add rx window size and peer timeout tuning APIs.
3624
3625     * Correct rx peer timeout handling to disallow 0ms timeouts.
3626
3627     * Correct calculation of rx RTT by disregarding retransmitted packets.
3628
3629     * vos manpages updated to reflect changes in recent versions.
3630
3631     * GNU-style long options (e.g. --cell) are now supported in all
3632       commands.
3633
3634     * fs listacl can now print a command to recreate the current ACL.
3635
3636   All server platforms
3637
3638     * Fix a race on transaction objects in the volserver which can cause a
3639       crash.
3640
3641     * Avoid destroying and setting to NULL the callback connection when it
3642       could still be being used.
3643
3644     * Correct unlink handling in salvager.
3645
3646     * Improve error messages due to I/O errors in the volserver.
3647
3648     * Correct an issue which caused converted RO to RW volumes on namei
3649       fileservers to not come online immediately.
3650
3651   Microsoft Windows
3652
3653     * Official support for Windows 7 and Server 2008 R2.
3654
3655     * Prevent a file server bug (FetchData returning an invalid length
3656       instead of zero) from causing an "unexpected network error" when
3657       writing to files.
3658
3659     * Promote DNS SRV records as superior to DNS AFSDB records.  Support
3660       arbitrary port numbers for vldb servers.
3661
3662     * Add AFSVolSync based .readonly "whole-volume callback" support.
3663       With this functionality, multiple objects from a .readonly volume
3664       can have their status validated by issuing a single
3665       RXAFS_FetchStatus RPC.
3666
3667     * Remove drive mapping functionality and service start/stop from
3668       afscreds.exe.
3669
3670     * Remove drive mapping functionality from afs_config.exe.
3671
3672     * Use {HKLM,HKCU}\SOFTWARE\OpenAFS\Client DWORD "ShowMountTab" to
3673       restore access to drive mapping functionality in afscreds.exe and
3674       afs_config.exe.
3675
3676     * Adjust SMB error return codes to avoid returning STATUS_TIMEOUT
3677       which results in the SMB redirector disconnecting.
3678
3679     * Network Identity Manager OpenAFS Provider now provides its own "AFS
3680       lock" notification icon to report the status of "have tokens, have
3681       no tokens, service not started, service started but inaccessible".
3682       Hovering over the icon lists the cells for which tokens exist (if
3683       any) and the OpenAFS version number.  Double-clicking executes the
3684       Network Identity Manager default action.
3685
3686     * Prevent pioctl calls from retrying indefinitely when a sharing
3687       violation error occurs.
3688
3689   All UNIX client platforms
3690
3691     * Correct a condition which could discard the error from initializing
3692       a fetch request.
3693
3694     * Avoid using invalid references to afs_Conn connection structures,
3695       and thus potentially producing invalid data when a retry is needed.
3696
3697     * SRV records are now supported for discovering AFS servers.
3698
3699   Linux
3700
3701     * Correct writepage behavior.
3702
3703     * Fix error code handling in the writepage code.
3704
3705     * Avoid leaking page locks, which could potentially hang a machine.
3706
3707   MacOS X
3708
3709     * Preferences Pane improvements.
3710
3711   HP-UX
3712
3713     * Avoiding attempting to handle critical signals in servers, so that
3714       core file handling works correctly.
3715
3716
3717 OpenAFS 1.5.65 (2009-10-06)
3718
3719   All platforms
3720
3721     * Code compilation warning fixes, to enable better finding and
3722       tracking bugs.
3723
3724     * Provide configure-time switch to enable code warning compilation.
3725
3726   All server platforms
3727
3728     * Demand-attach fileserver now makes volume LRU list operations
3729       exclusive operations to avoid races during adding to the list.
3730
3731     * Fileservers now avoid potential "negative length" fetches.
3732
3733     * A leak in host tracking objects in the fileserver has been fixed.
3734
3735     * Salvager now unlinks all files by full path, to deal with the change
3736       to not chdir for core file tracking.
3737
3738     * Salvager avoids asserting if the volume header is unreadable.
3739
3740     * Demand-attach fileserver puts back volume references from fssync
3741       handlers when done.
3742
3743   Microsoft Windows
3744
3745     * Improved service response to suspend and shutdown event
3746       notifications.
3747
3748     * Avoid a bug in the file server that can result in an invalid length
3749       being returned as part of a fetch data response if the client
3750       attempts to read beyond the length of the file.
3751
3752     * Do not publish a default stream object for directories and mount
3753       point objects.  This was impacting the ability of some Windows XP
3754       systems to save roaming profiles.
3755
3756   All UNIX client platforms
3757
3758     * A bug which could cause erroneous handling of lengths on data reads
3759       has been fixed.
3760
3761     * A bug where erroneous length returns from the fileserver could
3762       result in a false error has been fixed.
3763
3764   Linux
3765
3766     * Background page copies are now supported for enhanced disk cache
3767       read performance.
3768
3769     * Blocking readahead is supported in readpages() to reduce overhead.
3770
3771     * Use readpage() instead of read() to access cache data to avail disk
3772       cache users of the kernel backing cache for improved performance.
3773
3774     * Minimize credential handling for improved performance.
3775
3776   MacOS X
3777
3778     * Preferences Pane cleanup.
3779
3780   Solaris
3781
3782     * Provide a fs_pathconf method with sensible defaults.
3783
3784     * Provide a _PC_FILESIZEBITS method to fix some NFS translator
3785       consumers.
3786
3787
3788 OpenAFS 1.5.64 (2009-09-22)
3789
3790   All server platforms
3791
3792     * The demand attach fileserver now puts back volume references gotten
3793       via the fssync interface.
3794
3795     * The demand attach fileserver had a structure reference error, which
3796       has been correected.
3797
3798   Microsoft Windows
3799
3800     * Restores Windows 2000 compatibility.
3801
3802     * Fixes a data consistency error between the output of NetWkstaGetInfo
3803       and NetServerGetInfo RPCs, specify the Lan workstation group name
3804       "AFS", and report server name as "AFS" instead of "\\AFS" when the
3805       caller asks for "\\AFS".
3806
3807     * Enables executables to be run from \\AFS on Windows 7.  Returns
3808       "Name not found" instead of "File not found" when a directory or
3809       file name cannot be found.  This avoids loader errors when system
3810       dlls cannot be located in the executable directory.
3811
3812     * Prevents cache manager from marking the file server "down" when the
3813       data returned in response to either RXAFS_FetchData64 or
3814       RXAFS_StoreData64 is invalid.
3815
3816     * Adds pioctl data validation to the AFS Explorer Shell extension.
3817
3818   All UNIX client platforms
3819
3820     * A bug which could cause a kernel panic in 1.5.63 has been corrected.
3821       This would manifest as a GetDCache panic or oops.
3822
3823   Linux
3824
3825     * aklog -setpag works again with recent kernels when keyring is in
3826       use.
3827
3828   MacOS
3829
3830     * When Fast User Switch is in use, AFS login is now handled correctly
3831       by the integration tool included with the preferences pane.
3832
3833     * Several packaging bugs have been corrected.
3834
3835
3836 OpenAFS 1.5.63 (2009-09-11)
3837
3838   All platforms
3839
3840     * The restorevol command is now documented and installed as a user
3841       command.
3842
3843     * The uss command now properly translates vldb entries to its expected
3844       format when handling them in all cases.
3845
3846     * Documentation now refers to Kerberos instead of kaserver.
3847
3848   All server platforms
3849
3850     * bosserver now handles BosConfig.new when restarting, allowing
3851       configuration to be replaced at restart time rather than with bos
3852       delete and bos create.  Documentation is updated to reflect this.
3853
3854     * The demand attach fileservice not longer potentially hangs trying to
3855       terminate demand-salvages which have already exited.
3856
3857     * The demand attach fileservice has been modified to avoid spurious
3858       'SYNC_putRes: write failed' warnings when some protocol messages
3859       cannot be acknowledged due to the sender terminating the connection.
3860
3861     * In the event of failure to contact the vlserver or ptserver, the
3862       fileserver will not exit and trigger a forced salvage. It will
3863       continue to try in the background to contact the needed services.
3864
3865     * The salvager can now repair certain cases of a damamged vnode index.
3866
3867     * The accessDate metadata for a volume is now updated correctly.
3868
3869   Microsoft Windows
3870
3871     * CRITICAL: Some applications for example those based on Cygwin were
3872       unable to access data stored in the AFS name space.  Explorer Shell
3873       also experienced inconsistent behavior.  This is fixed.
3874
3875     * CRITICAL: Multiple AFS pioctl requests issued nearly simultaneously
3876       by applications could result in pioctl responses being received by
3877       the wrong requester.  This in turn could result in application
3878       crashes.  symlink.exe, fs.exe, afslogon.dll, afscreds.exe, and the
3879       netidmgr afscred.dll plugin were all affected.
3880
3881     * Some XP machines running 1.5.62 had trouble saving roaming profile
3882       data.  This is fixed.
3883
3884     * Integrated Logon (afslogon.dll) did not function with domain
3885       specific configurations.
3886
3887     * Ensure that access denied and over quota errors experienced while
3888       storing data to the file server do not result in on-going retry
3889       attempts.
3890
3891   All UNIX client platforms
3892
3893     * Except on Solaris and AIX, the compiler may now be overriden at
3894       configure time by setting the CC environment variable.
3895
3896     * afsd now properly deals with large cache partitions.
3897
3898   FreeBSD
3899
3900     * Build shared libafsauthent and libafsrpc.
3901
3902   Linux
3903
3904     * Kernel module DKMS support now installs an unstripped module to
3905       allow debugging information to be collected.
3906
3907   MacOS
3908
3909     * Preferences pane properly updates token information.
3910
3911   MacOS 10.6
3912
3913     * klog will now properly handle passwords of 8 or fewer characters
3914       with an AFS string to key on hosts able to run 64 bit binaries.
3915
3916     * A panic at AFS shutdown due to "NO PCB" on a udp_lock has been
3917       addressed.
3918
3919     * The panic decoder script included in the source now properly handles
3920       32 and 64 bit panics.
3921
3922   NetBSD
3923
3924     * Avoid defining AFS_KERBEROS_ENV globally as it creates a circular
3925       dependency.
3926
3927     * Build shared libafsauthent and libafsrpc.
3928
3929   OpenBSD
3930
3931     * Build shared libafsauthent and libafsrpc.
3932
3933
3934 OpenAFS 1.5.62 (2009-08-28)
3935
3936   All platforms
3937
3938     * Numerous invisible changes to improve code maintainability,
3939       portability and enhanceability.
3940
3941   Microsoft Windows
3942
3943     * CRITICAL: Fixes two errors that can result in data loss when storing
3944       data to the file server.
3945       1. Failure to Store Portions of Unaligned Writes
3946       2. Failure to Store Data to File Servers Lacking Large File Support
3947       Read the announcement for more details:
3948         http://www.openafs.org/pipermail/openafs-announce/2009/000305.html
3949
3950     * CRITICAL: The cache manager daemon thread could terminate when the
3951       machine enters suspend mode.  This daemon thread performs the
3952       background check of down servers, offline volumes, callback
3953       expirations, etc.
3954
3955     * CRITICAL: Integrated Logon (afslogon.dll) was terminating
3956       unexpectedly.  Error checking has been improved and NULL pointer
3957       dereferences after Lsa API calls fail have been eliminated.
3958
3959     * For the first time, the OpenAFS SMB Server supports the DCE RPC
3960       services SRVSVC and WKSSVC.  Browsing \\AFS with the Explorer Shell
3961       or NET VIEW will now be faster and provide additional functionality.
3962       No longer will cell names longer than 12 characters be truncated.
3963
3964     * Improvements to DFS Referral request processing have been
3965       implemented.
3966
3967     * Unnecessary DNS lookups of share names are avoided improving
3968       performance.
3969
3970   All UNIX client platforms
3971
3972     * Non-Kerberos PAM modules work correctly again.
3973
3974   MacOS X
3975
3976     * MacOS 10.6 (Snowleopard) is now supported, both 32 and 64 bit mode.
3977
3978     * Updates to the AFSCommander preferences pane.
3979
3980     * Installer now permits cell names with dashes.
3981
3982
3983 OpenAFS 1.5.61 (2009-08-06)
3984
3985   All platforms
3986
3987     * Correct another race condition in the Rx library that could result
3988       in an unexpected panic while freeing the Rx call iovq.
3989
3990     * rx packet resend and data packets sent counts were incorrect.
3991
3992     * fs setquota, fs setcachesize, vos setfields, and vos create now
3993       accept human readable orders of magnitude. (K, M, G)
3994
3995     * fs listquota fixed to permit large quota sizes to be displayed.
3996
3997     * Correct documentation of bosserver permissions requirements.
3998
3999     * Modify vlserver to avoid potentially corrupting the database through
4000       volume id reuse.
4001
4002     * Generalized support for fast Rx timeout due to network
4003       down/unreachable.
4004
4005   All server platforms
4006
4007     * Allow audit logs to be sent via sys5 IPC message queues instead of
4008       logged directly.
4009
4010   Microsoft Windows
4011
4012     * If a file server becomes inaccessible while the cache manager has
4013       dirty buffers to write, the afsd_service buf_IncrSync thread can
4014       attempt to use 100% of the cpu.
4015
4016     * Fix "fs newcell" which was broken in 1.5.60.
4017
4018     * Do not attempt to synchronize dirty buffers if the associated volume
4019       is known to be unavailable.
4020
4021     * Modify behavior of a Freelance mountpoint target that does not
4022       specify a cell.  Instead of assuming the target volume is in the
4023       Freelance.Local cell, use the workstation "Cell" specified in the
4024       registry. A mountpoint target of "#root.cell." will now mean the
4025       root.cell volume in the workstation cell for the current session.
4026       If the workstation cell changes from "athena.mit.edu" to
4027       "andrew.cmu.edu", the referenced volume will also change without
4028       requiring that the mount point targets be altered.
4029
4030     * Add cm_FindServerByUuid().  Re-implement RXAFS_InitCallBackState3()
4031       to permit the server Uuid to be used to lookup the server object and
4032       from that determine the cell.  This permits callbacks that are
4033       received from alternate addresses to be processed with a known
4034       server object.  Previously a request from an unknown server would
4035       clear all callbacks from all cells.
4036
4037     * Fix a bug that prevented optimal performance when using a non-zero
4038       value for 'daemonCheckVolCBInterval'.  As a reminder, when
4039       "daemonCheckVolCBInterval" is set to a non-zero value, all .readonly
4040       volume callbacks are automatically renewed 90 minutes before their
4041       expiration.
4042
4043     * Fix automatic ranking of vldb servers whose values are obtained from
4044       the CellServDB file.
4045
4046     * Add failover for RX CALL TIMEOUT errors when the volume is readonly
4047       or the call is to a vldb server.
4048
4049     * Add registry based cell search functionality to NetIdMgr,
4050       afs_config.exe, and klog.exe.
4051
4052     * afsconf_GetCellInfo() has been modified to perform gethostbyname()
4053       lookups on the host names in the CellServDB instead of using the
4054       specified IP addresses.  This provides aklog, pts, vos, etc. the
4055       same CellServDB behavior that the Windows Cache Manager uses.
4056
4057     * When updating the stat cache entry callback of a .readonly object
4058       from the volume group object, update the file server reference to
4059       ensure it matches the most update to date callback.
4060
4061     * Add proper support for processing callbacks from multi-homed file
4062       servers.  Instead of comparing servers by cm_server_t pointer,
4063       compare them by UUID when the UUID is known.
4064
4065     * During a shutdown short circuit the offline volume check daemon
4066       functionality.
4067
4068     * Return the error code of RXAFS_FetchData / RXAFS_StoreData in
4069       preference to an error code reported by rx_EndCall.
4070
4071     * Add "PerFileAccessCheck" registry value to permit testing against
4072       experimental file servers that include per-file acl support.  This
4073       value is intentionally undocumented.  It is not to be used by
4074       production environment deployments.
4075
4076     * Fix a bug introduced in 1.5.60 that prevents the afs netidmgr
4077       provider from obtaining tokens when referrals are in play.
4078
4079     * Add "fs chown" and "fs chgrp" commands to permit the owner and group
4080       of objects stored in AFS to be set from Windows.
4081
4082     * Avoid performing background daemon operations when the machine is
4083       going into suspend mode.
4084
4085     * Perform offline volume checks in most recently used order.
4086
4087     * Prevent crash when a data version for a cache object goes backwards.
4088
4089     * Multi-thread safe library versions are now being generated and used.
4090       mtafsubik.lib, mtafsutil.lib, mtafsvldb.lib, mtafsvol.lib.
4091
4092     * Microsoft SMB Redirector (mrxsmb.sys) support for
4093       ExtendedSessTimeout values are now available on XP through Windows
4094       7.  Add functionality to autodetect if such support is present on
4095       the machine.  If so, configure it if necessary and dynamically
4096       adjust the AFS Rx timeout values accordingly.
4097
4098   All UNIX client platforms
4099
4100     * Fix out-of-tree source builds.
4101
4102   MacOS
4103
4104     * GUI installer now asks for local cell information.
4105
4106     * AFS Commander preferences pane is now installed by default.
4107
4108   Solaris
4109
4110     * Avoid kernel panics due to null pointer dereferences in the network
4111       interface poller kernel thread.
4112
4113
4114 OpenAFS 1.5.60 (2009-05-31)
4115
4116   All platforms
4117
4118     * Retry volserver transaction creation on failure.
4119
4120     * Allow building HTML and PDF documentation from included XML copies
4121       of User Guide, Admin Guide and Quick Start Guide for Unix.
4122
4123     * Documentation updates and additional documentation.
4124
4125     * Add -encrypt support to pts client.
4126
4127     * Convert MR-AFS fs commands to OSD commands.
4128
4129   All server platforms
4130
4131     * Updated background sync process in fileserver to avoid a race which
4132       could result in a volume being taken offline.
4133
4134   Microsoft Windows
4135
4136     * On April 9th Microsoft released a Hot Fix for Windows Server 2003
4137       SP2 that corrects a deadlock in the smb redirector and also adds new
4138       functionality that permits the AFS SMB server to be given a longer
4139       timeout than is normally the case.  New functionality has been added
4140       to configure these additional LanmanWorkstation\Parameter values.
4141       (This functionality has been backported to XP SP3 and is scheduled
4142       to be released on June 5th.)
4143
4144     * Fix RT#124787, a race condition between "fs flush <dir>", "fs
4145       flushvolume", or "fs flushall" and on-going directory operations
4146       that can result in afsd_service.exe crashing.
4147
4148     * Release Notes, User and Administrator guides are now shipped as
4149       indexed Windows HtmlHelp Files. (.chm).  Shortcuts are provided from
4150       the Start Menu.
4151
4152     * A method of specifying Client CellServDB information within the
4153       registry has been added that can be used to either override the
4154       CellServDB file or force the use of DNS lookups for a given cell.
4155       See the release notes for details.
4156
4157     * The pioctl interface now properly handles drive letter substitution
4158       to UNC paths.  (SUBST <d:> <\\afs\cell\path>)
4159
4160     * The BackConnectionHostNames registry value configuration was broken
4161       when dynamic re-establishment of Netbios Name registrations was
4162       added.  This release restores the functionality.
4163
4164     * All hidden vos.exe commands are now revealed.
4165
4166     * Attempts to store the same dirty file chunk from multiple threads
4167       are now prevented.
4168
4169     * The IsPathInAfs test in Explorer Shell Extension and fs.exe now
4170       permits broken symlinks to be treated as being in AFS.
4171
4172     * vos.exe commands that output 64-bit integer values once again do so.
4173       This was broken in 1.5.59.
4174
4175     * Cygwin Import Libraries are provided in the SDK for all OpenAFS
4176       DLLs.  This permits building cygwin applications against OpenAFS
4177       libraries.
4178
4179     * NSIS installer does a much better job of cleaning up files left over
4180       from previous installs.
4181
4182     * libafsconf.dll moved from Client\Program to Common directory as is
4183       is now used by all modules for CellServDB processing.
4184
4185   All UNIX client platforms
4186
4187     * Write back changes on last store for memcache to avoid discarding
4188       changes.
4189
4190     * Abstract disk cache support to allow for path, fh, inode based
4191       caches with no need for messy ifdef structures each time a new type
4192       is added.
4193
4194   DragonflyBSD
4195
4196     * Support as a userland port.
4197
4198   FreeBSD
4199
4200     * Corrected structure definition for userspace cache manager to allow
4201       builds to complete.
4202
4203   Linux
4204
4205     * Corrected client locking support.
4206
4207     * Updated patch to stop deadlocking in the kernel during mmap.
4208
4209     * Avoid oops when setting up groups for PAGs to match keyrings.
4210
4211     * Use Linux fh-based cache in cases where possible by default.
4212
4213   MacOS 10.3:
4214
4215     * Corrected structure definition for userspace cache manager to allow
4216       builds to complete.
4217
4218   OpenBSD
4219
4220     * Support for OpenBSD 4.5.
4221
4222   Solaris
4223
4224     * Corrected support for server-side vos split interface.
4225
4226
4227 OpenAFS 1.5.59 (2009-04-06)
4228
4229   Microsoft Windows
4230
4231     * Increased service priority class to "High" to match the priority of
4232       system components that are dependent upon the a timely response.
4233
4234     * SMB error responses avoid returning errors that could confuse the
4235       Microsoft SMB redirector into disconnecting the connection to \\AFS.
4236
4237   All UNIX client platforms (except MacOS X 10.4 and 10.5)
4238
4239     * OpenAFS 1.5.59 contains fixes for the client issues addressed by the
4240       security advisories OPENAFS-SA-2009-001 and OPENAFS-SA-2009-002.
4241
4242   Linux platforms
4243
4244     * Support for prerelease Linux 2.6.30 kernels.
4245
4246
4247 OpenAFS 1.5.58 (2009-03-30)
4248
4249   All platforms
4250
4251     * Code cleanup and prototyping.
4252
4253     * Avoid unnecessary blocking in Rx periodic cleanup code.
4254
4255   All server platforms
4256
4257     * Fileserver CopyOnWrite routine optimized for performance.
4258
4259     * Make fileserver callback dumps 64 bit safe.
4260
4261     * Fix byte order issues with fileserver host hashing.
4262
4263     * Fix buffer size issues with butc.
4264
4265     * Fix several Ubik recovery issues.
4266
4267     * Avoid leaking file references in the fileserver.
4268
4269     * Fix a race in DAFS while closing vnodes, and another offlining
4270       volumes.
4271
4272     * volserver interfaces for volume splitting client.
4273
4274   Microsoft Windows
4275
4276     * [RT 124293] A race condition exists which can result in a crash.
4277
4278     * [RT 124276] If the vldb is out of sync with the contents of the file
4279       servers, afsd_service will retry too many times when a file server
4280       reports a volume as not being present.  Now if the list reported by
4281       the vldb is the same as the previously seen list, then the retry is
4282       aborted.
4283
4284     * [RT 124276] Read-only volume failover was broken in 1.5.53 whenever
4285       accessing a volume results in VNOVOL or VMOVED.
4286
4287     * [RT 124276] Prior to 1.3.70 the volume server reference list was not
4288       reference counted and would be prematurely freed while in use.  When
4289       reference counting was added in 1.3.70 a bug was introduced that
4290       could result in service reference list corruption.
4291
4292     * Add Windows Application Event Log warning messages for "Client SMB
4293       MPX value too large" and "Client SMB Buffer Size too small".
4294
4295     * Renaming of files across directory boundaries would result in an
4296       invalid handle error when attempting to access the files after the
4297       move.
4298
4299     * Fix the handling of Tran2 Set Path Info RPCs.  Do not fail when a
4300       smb file descriptor cannot be found.  The whole point of using a
4301       Path Info function is because an smb file descriptor wasn't
4302       allocated.
4303
4304     * More edge cases in which dynamic addition of Freelance root.afs
4305       entries would get the wrong FID or where the root.afs directory
4306       would not be refreshed.
4307
4308     * Buffer overflow could occur if the workstation cell name was longer
4309       than 64 characters.  Crashes could occur in afscreds.exe,
4310       afslogon.dll, and afsd_service.exe.
4311
4312     * VNOSERVICE and VOFFLINE errors were leaking and were exposed to the
4313       smb client.
4314
4315     * Log file server uuid values as part of the cm_server object when
4316       available.  Dump the cm_server object list in response to "fs
4317       memdump".
4318
4319     * Optimize the performance of resetting access control lists when
4320       tokens are set or removed.
4321
4322     * Remove symlink recursion tests and increase max symlink count to 64
4323       from 16.
4324
4325     * Windows specific Rx performance improvements.
4326
4327     * Support for Network Identity Manager 2.0
4328
4329   All UNIX client platforms
4330
4331     * Avoid issues with freeing resources at shutdown.
4332
4333     * Numerous fixes to disconnected AFS.
4334
4335     * Disconnected AFS fixes for replaying changes without double-freeing.
4336
4337     * Attempt to use krb524 principal conversion in aklog if available.
4338
4339   AIX
4340
4341     * Kerberos configuration at build time corrected.
4342
4343   Linux
4344
4345     * Default to dynamic allocation of AFS kernel cache entries to allow
4346       growth for inotify()-pinned entries. (beagle, famd, etc)
4347
4348     * Change client truncation routines to avoid locking issues.
4349
4350     * IA64 port clients fixed on Linux 2.6.
4351
4352     * RPMs now install fstrace message catalog.
4353
4354     * Support through kernel 2.6.29 tested.
4355
4356     * Fix locking issues on CellServDB file in /proc.
4357
4358   OpenBSD
4359
4360     * Support OpenBSD 4.4
4361
4362
4363 OpenAFS 1.5.57 (2009-01-23)
4364
4365   All platforms
4366
4367     * Conditional compilation of rxdebug support is now possible.
4368
4369     * Documentation updates.
4370
4371     * Further race connditions in Rx have been corrected.
4372
4373   All server platforms
4374
4375     * Salvager no longer attempts to recreate headers in the wrong
4376       partition.
4377
4378     * Volumes are properly marked in use on creation and subsequently on
4379       examination with vos.
4380
4381   Microsoft Windows
4382
4383     * Undo the "UAC manifest fix" applied to afs_config.exe.
4384
4385     * Ensure that Freelance allocation of vnodes follow the AFS convention
4386       of odd vnodes are directories and everything else is an even vnode.
4387
4388     * Add Freelance logic to mount point and symlink evaluation functions.
4389
4390     * Enhance smb_ParseASCIIBlock() so that it can handle all of the
4391       STRING formats defined by the CIFS Technical Report 1.0.
4392
4393     * Validate the output of smb_ParseASCIIBlock() in all callers.  Return
4394       CM_ERROR_BADSMB if the STRING field cannot be parsed.
4395       CM_ERROR_BADSMB will cause the contents of the packet to be logged.
4396
4397     * If multiple SMB Raw Write operations were taking place at the same
4398       time, there could be data corruption because unique event objects
4399       were not generated for each Netbios receive operation.
4400
4401   All UNIX client platforms
4402
4403     * Userspace AFS library can now deal with large files when supported
4404       by the platform.
4405
4406     * Numerous updates to disconnected AFS support, including changes to
4407       allow reconnection to work in more circumstances.
4408
4409   FreeBSD
4410
4411     * FreeBSD unstrategy code has been updated.
4412
4413   Linux
4414
4415     * A race during file truncation has been corrected.
4416
4417     * System call probing routines have been updated.
4418
4419     * 2.6.29 is now supported.
4420
4421   MacOS
4422
4423     * 10.3 support has been corrected.
4424
4425   OpenBSD
4426
4427     * Initial OpenBSD 4.4 support.
4428
4429   Solaris
4430
4431     * Updates to allow compiling on newer OpenSolaris are now included.
4432
4433
4434 OpenAFS 1.5.56 (2008-12-30)
4435
4436   All platforms
4437
4438     * libuafs (userspace cache manager) updated to correct several errors.
4439
4440     * Additional rx debugging support is available as a conditional
4441       compile.
4442
4443     * A race condition in Rx leading to a panic has been corrected.
4444
4445     * Rx idle time tracking has been corrected.
4446
4447     * ubik clone server support has been corrected.
4448
4449   All server platforms
4450
4451     * Salvager no longer leaves cores in vice partitions.
4452
4453     * The vol-dump tool now supports dumps larger than 2gb where possible.
4454
4455     * Operations on multiple files now report all FIDs in the audit log.
4456
4457     * butc XBSA support now works correctly on amd64.
4458
4459   Microsoft Windows
4460
4461     * The NetIDMgr AFS Provider automated configuration logic was broken
4462       by the introduction of Kerberos referrals.  If the realm of the
4463       identity cannot be determined, the workstation cell is now assumed
4464       to belong to the newly created identity.
4465
4466     * Avoid a reference count under flow during rename operations.
4467
4468     * Avoid a crash caused by treating an arbitrary length directory
4469       search mask as an 8.3 mask.
4470
4471     * Prevent rename operations if a case insensitive match for the target
4472       name already exists and does not refer to the object being renamed.
4473
4474     * Increase the maximum number of background daemons to 64.
4475
4476     * Fix the UAC manifest applied to afs_config.exe
4477
4478   All UNIX client platforms
4479
4480     * Updates to disconnected AFS support.
4481
4482   FreeBSD
4483
4484     * FreeBSD 7.1 is now supported.
4485
4486     * amd64 FreeBSD is now supported.
4487
4488   Linux
4489
4490     * Generic fh (exportfs API) cache type is now available.
4491
4492     * Avoid some oopses due to backing_dev_info inode fields not being
4493       filled.
4494
4495     * 2.6.28 is now supported.
4496
4497   MacOS
4498
4499     * 10.3 support has been corrected.
4500
4501   Solaris
4502
4503     * Large partition support has been corrected.
4504
4505     * Filesystem-agnostic cache is now available on Solaris 10 and 11.
4506
4507
4508 OpenAFS 1.5.55 (2009-11-10)
4509
4510   All platforms
4511
4512     * Salvager avoids leaving core files in vice partitions.
4513
4514     * NFS translator fixes.
4515
4516     * Unresponsive server handling fixes.
4517
4518     * A volserver race which could result in duplicate transactions is
4519       fixed.
4520
4521   Microsoft Windows
4522
4523     * Fixes a panic caused by corruption of the SMB virtual circuit list.
4524       (race condition)
4525
4526     * Fixes a panic caused by receipt of a UTF-16 string that cannot be
4527       converted to UTF-8.
4528
4529     * Implements a more aggressive recovery algorithm for Netbios errors
4530       that result in loss of communication to the AFS SMB server.
4531
4532     * Improve pioctl response time when testing whether or not a PATH is
4533       in AFS.
4534
4535     * Adds support for linked cells.
4536
4537     * Increases the length of the cell and realm names that can be input
4538       into the Network Identity Manage AFS provider configuration dialog.
4539
4540   All UNIX client platforms
4541
4542     * Disconnected AFS avoids infinite recursion during rmdir.
4543
4544   Linux
4545
4546     * Support for 2.6.28 (not complete for NFS translator modules).
4547
4548     * Support for using exportfs API for filesystem-agnostic cache.
4549
4550     * Disable backing store readahead.
4551
4552     * Avoid deadlocks when writing back mmapped files larger than the
4553       cache.
4554
4555     * Avoid Oops when doing PAG garbage collection.
4556
4557
4558 OpenAFS 1.5.54 (2008-10-08)
4559
4560   All platforms
4561
4562     * Updates for new Tivoli X/Open API finding.
4563
4564     * A double-free is corrected in Rx.
4565
4566   All server platforms
4567
4568     * Ubik cleans up file descriptor cache correctly when doing recovery.
4569
4570     * Enhanced vldb error checker included.
4571
4572   Microsoft Windows
4573
4574     * Prevent a crash that could occur when multiple file / directory
4575       change notifications are processed simultaneously.
4576
4577   MacOS
4578
4579     * AFS claims more free space so Finder will attempt file copies.
4580
4581   Linux
4582
4583     * Avoid spurious ENOENT when calling gwtcwd() on a volume root.
4584
4585     * Avoid spurious ENOTDIR during fakestat.
4586
4587
4588 OpenAFS 1.5.53 (2008-09-26)
4589
4590   All platforms
4591
4592     * rx avoids many packet leaks.
4593
4594     * rx jumbogram disabling now works (and is the default).
4595
4596   All server platforms
4597
4598     * Demand Attach fileserver tries to avoid issues tracking offline
4599       status of volumes.
4600
4601   Microsoft Windows
4602
4603     * Many potential deadlock conditions due to out of order lock
4604       acquisitions have been corrected.
4605
4606     * A race condition resulting in an undercount on the cm_scache_t
4607       reference counts has been corrected.
4608
4609     * An empty string when sent as an ioctl path is now properly
4610       interpreted as meaning the current directory.  This affects "fs
4611       lsm", "symlink list", etc.
4612
4613     * Fix smb string parsing differences where the smb protocol
4614       documentation does not match the actual Windows implementation.
4615
4616     * Random access denied errors fixed.
4617
4618     * A file server lock synchronization issue was corrected in SMB
4619       NTCreateX and NTTranCreate operations.  This bug prevented properly
4620       operation when loading roaming profiles.
4621
4622     * Fix a heap overwrite error during server probe operations if a new
4623       server is added while a probe operation is in progress.
4624
4625     * Fix an LSA memory leak that was the result of an LSA error.
4626
4627     * Do not leak cm_cell_t objects if the VLDB server lookup fails.
4628
4629     * Only initialize rx mutex/lock objects once.
4630
4631     * Do not nul terminate the AFS volume name when reported to Windows.
4632
4633     * Improve VNOVOL error handling.  Prevent updated vl information from
4634       being destroyed immediately after it was acquired.  This bug
4635       prevented proper fail over when volumes are moved or removed from a
4636       server.
4637
4638     * Remove volume id from the server volume list in response to VMOVED
4639       and VNOVOL errors.
4640
4641     * "fs flushXXX" commands now destroy locally built B+ directory trees.
4642
4643     * Prevent mixture of locally modified directory pages and file server
4644       directory pages.
4645
4646     * Fail over to alternate vl servers if a ubik error is returned.
4647
4648   All UNIX client platforms
4649
4650     * Disconnected AFS now supports read-write mode.
4651
4652     * volserver now builds correctly.
4653
4654   AIX
4655
4656     * AIX 6 is now supported.
4657
4658   FreeBSD
4659
4660     * FreeBSD 7 is now supported.
4661
4662   Linux
4663
4664     * cache bypass is now supported.
4665
4666     * 2.6.x kmod compilation now uses kernel compile options always.
4667
4668     * Support through 2.6.27.
4669
4670   MacOS
4671
4672     * Show more space free so Finder doesn't get confused.
4673
4674   Solaris 10
4675
4676     * Default to namei rather than inode.
4677
4678
4679 OpenAFS 1.5.52 (2008-08-18)
4680
4681   All platforms
4682
4683     * Initialize volume updateDate at volume creation.
4684
4685     * Avoid potential corruption of directories during salvage.
4686
4687     * Check for out of memory condition during allocation of additional Rx
4688       packets.
4689
4690   Microsoft Windows
4691
4692     * Restore support for Windows 2000 (broken in 1.5.50).
4693
4694     * Perform additional validation on volume names in mount points during
4695       creation and evaluation.
4696
4697     * Fix several deadlocks, races, and reference count issues.
4698
4699     * Further optimize SMB Directory Search processing and minimize the
4700       number of InlineBulkStatus RPCs sent to the file server.
4701
4702     * Enable "bos restricted" operations.
4703
4704     * Fix the create of submounts used by the AFSCreds and afs_config
4705       drive mapping tabs.
4706
4707     * Fix a short name truncation bug. (1.5.50)
4708
4709     * Fix the error code reported when attempting to delete a file on a
4710       readonly volume or one that is marked with the readonly DOS
4711       attribute.
4712
4713     * Fix a heap corruption error when reading the CellServDB file
4714       location.
4715
4716     * Add the "RxUdpBufSize" registry value.  The new default is 256KB.
4717
4718     * Do not include trailing NULs in the directory search output.
4719       (1.5.50)
4720
4721     * Pre-allocate 64 Rx Packet buffers per thread in order to improve
4722       performance.
4723
4724     * For debugging: add smb lock requests and stat cache lock allocations
4725       to the output from "fs memdump".
4726
4727   NetBSD
4728
4729     * Workaround broken sigwait() to allow fileserver to shut down
4730       correctly pre NetBSD 5.0.
4731
4732   Solaris 10
4733
4734     * Default to namei fileserver; Allow inode fileserver at configure
4735       time by override.
4736
4737   NFS translator
4738
4739     * Try harder to avoid kernel panics for malformed requests.
4740
4741
4742 OpenAFS 1.5.51 (2008-07-29)
4743
4744   All platforms
4745
4746     * salvager tries harder to arrange for clients to get VBUSY while
4747       salvaging single volumes.
4748
4749     * salvager avoids certain corruption when salvaging directories.
4750
4751     * Rx connection clones disabled.
4752
4753   Microsoft Windows
4754
4755     * The 32-bit EXE 1.5.50 installer failed to properly install the C
4756       Runtime library.  When used as an upgrade OpenAFS would continue to
4757       work but when used as a new installation, OpenAFS binaries would
4758       fail to load.
4759
4760     * Fixes the "fs" and "symlink" commands to properly parse Unicode path
4761       prefixes during the pioctl remote procedure call.  This bug would
4762       result in file not found errors for files and directories that
4763       clearly exist.  (Bug introduced in 1.5.50)
4764
4765     * Large File support is disabled. (Bug introduced in 1.5.50)
4766
4767     * Removes the possibility of a deadlock during volume location update
4768       operation if all of the reported file servers are unreachable at the
4769       time of the update.
4770
4771     * Ensures that reference counts are properly incremented/decremented
4772       on Rx connection objects used for volume location RPCs.
4773
4774     * Over Quota errors during cm_FSync() calls would lead to an infinite
4775       loop as the error was never propagated to the caller.
4776
4777   All UNIX client platforms
4778
4779     * Bugfixes to disconnected AFS support in the cache manager.
4780
4781
4782 OpenAFS 1.5.50 (2008-07-16)
4783
4784   All platforms
4785
4786     * volserver puts recloned volumes back online before returning the
4787       volume to the fileserver, avoiding spurious VNOVOL errors.
4788
4789     * Updated TSM X/Open API support available.
4790
4791     * Demand Attach fileserver will not crash due to accesses during
4792       volume cloning.
4793
4794     * Substantial documentation updates.
4795
4796     * Demand Attach fileserver state tracking and analyzer tool
4797       improvements.
4798
4799     * UAFS userspace cachemanager updates.
4800
4801     * Corrected support for anti-meltdown protection in the client.
4802
4803   Microsoft Windows
4804
4805     * UNICODE Character Set Support.
4806
4807     * Pioctl interfaces to the cache manager have been refactored to
4808       provide layering between the SMB specific code and the general
4809       purpose ioctl operation.
4810
4811     * Garbage collect dead SMB virtual circuits as soon as they are no
4812       longer being referenced.  This avoids problems with outstanding
4813       locks not being dropped when the virtual circuit becomes invalid.
4814
4815     * Remove the IBM Administration Reference documentation and replace it
4816       with the OpenAFS Command Reference Manual.
4817
4818     * Avoid calling rx_SetDeadTime and rx_SetHardDeadTime functions each
4819       time a connection is about to be used.  Do not hold a lock on the rx
4820       connection object while it is being selected.  This avoids a race
4821       between threads attempting to set the timeout values and removes a
4822       bottleneck that was hampering performance.
4823
4824     * Ensure that the smb directory attribute is set for all directory
4825       objects.
4826
4827     * Replace the VC Runtime EXE installer with the MSI installer in the
4828       NSIS installer scripts.
4829
4830   Solaris
4831
4832     * Support for updates to OpenSolaris.
4833
4834   Linux
4835
4836     * Correct dentry revalidation for cross-directory renames.
4837
4838     * Updated rpm packaging materials for 1.5 release series and 2.4
4839       kernels.
4840
4841     * Corrected syscall table probing.
4842
4843     * NFS translator updates for current kernels.
4844
4845
4846 OpenAFS 1.5.39 (2008-06-24)
4847
4848   All platforms
4849
4850     * Updates for Demand Attach fileserver.
4851
4852   Microsoft Windows
4853
4854     * Fix two memory leaks.
4855
4856     * Fix one missing lock.
4857
4858     * Handle access denied errors when writing dirty buffers.
4859
4860     * Fix two errors that would cause the *experimental* AFS Servers
4861       to crash.
4862
4863
4864 OpenAFS 1.5.38 (2008-05-24)
4865
4866   All platforms
4867
4868     * Add read-only disconnected support.
4869
4870
4871 OpenAFS 1.5.37 (2008-05-21)
4872
4873   All platforms
4874
4875     * Includes a number of optimizations for testing.
4876
4877
4878 OpenAFS 1.5.36 (2008-05-09)
4879
4880   All platforms
4881
4882     * Rx optimizations now attempt to deal with high latency WANs.
4883
4884     * Client will not wait infinitely for a server which is not providing
4885       data.  Additional servers will be polled without marking the server
4886       which is not providing data down.
4887
4888     * vos move will not erroneously unlock locked vldb entries on failure.
4889
4890   All server platforms
4891
4892     * Fileserver avoids a potential infinite loop when a client
4893       relinquishes an address.
4894
4895     * Fileserver large setting now configures more threads.
4896
4897     * Fileserver properly registers uuids of new clients.
4898
4899     * Ubik servers do not improperly hide updates from clients.
4900
4901     * Fileservers reserve enough file descriptors such that each thread
4902       can cache one to avoid spurious errors.
4903
4904   Microsoft Windows
4905
4906     * Fix a cm_buf_t reference count leak when attempts to write dirty
4907       buffers to the file server from within cm_IncrSyncer() fail.
4908
4909     * Prevent udebug from crashing.
4910
4911     * Another VNOVNODE issue fixed.  When writing a dirty buffer to the
4912       file server, if VNOVNODE is received, mark all buffers as invalid
4913       without further attempts to contact the file server.
4914
4915
4916 OpenAFS 1.4.12
4917
4918   All client systems: Major bugfixes.
4919   File servers: Major bugfixes.
4920
4921   * New functionality:
4922
4923   All systems:
4924
4925     - Provide portable (pioctl) method for discovering what PAG a user is
4926       in. Required to support userspace PAG information collection on AIX
4927       5.1, and knowing whether Linux uses one group, two group, or only
4928       keyring based PAGs. (124709)
4929
4930     * Bugfixes:
4931
4932   All systems:
4933
4934     - Fixes to avoid issues cleaning up deleted hosts in the fileserver (126454)
4935
4936     - Fixes to avoid dropping writes due to server idle timeouts.
4937
4938     - Don't miss cache chunks of large files while truncating.
4939
4940     - Avoid null pointer dereference for unexpected volume names in volume
4941       utilities.
4942
4943     - Don't mark connections waiting for additional packet window availability
4944       idle.
4945
4946     - Kerberos 5 utilities (klog.krb5, aklog) enable weak encryption support.
4947
4948     - Avoid a double-free of an Rx call structure during a client fetch error.
4949
4950     - Avoid losing hosts during address changes. (125215)
4951
4952     - Clients shouldn't trust Fetchdata replies for the size of returned data.
4953
4954     - fileserver will not hang when attempting to cleanup and dump core.
4955
4956     - salvager will not leave core files in random directories.
4957
4958     - avoid letting retransmit timer get to 0 seconds.
4959
4960     - in event of dbserver contact failure, shut fileserver down cleanly.
4961
4962     - handle large partitions during check for needed disk space at
4963       client start.
4964
4965     - time out Rx connections if network unreachable error received.
4966
4967     - avoid dereferencing NULL pointer freeing Rx packets in receive. (125110)
4968
4969     - mark stack not executable in LWP. (125491)
4970
4971     - return a correct VolumeSync structure from Bulkstat RPCs in fileserver.
4972
4973     - client attempts to better free memory at shutdown.
4974
4975     - clear rx call queue safely. (125110)
4976
4977     - retry VLserver registration on failure in fileserver.
4978
4979     - update accessdate for volumes on access in fileserver.
4980
4981     - additional safety checks on vlserver operations to avoid
4982       database corruption.
4983
4984     - make ktc_curpag available on all builds. (125155)
4985
4986   FreeBSD:
4987
4988     - Build fixes.
4989
4990   Linux:
4991
4992     - Handle kernel changes through 2.6.33.
4993
4994     - Fix oops in clear_inode due to missed locking. (125589)
4995
4996     - Better handle /afs mount failures.
4997
4998     - Clean up after failures creating our kernel kmem cache.
4999
5000     - Work around memory management issues with some kernels when configuring
5001       the buffer cache/bdi (126514)
5002
5003     - Rename compile_et to afs_compile_et to avoid RPM conflicts.
5004
5005     - Handle whole-file locks properly. (126561)
5006
5007     - Deal with kernel autoconf header renaming.
5008
5009     - Handle SELinux cache backing file labels better to avoid potential oops.
5010       (92944,125544)
5011
5012   MacOS:
5013
5014     - klog now works correctly on 64 bit machines.
5015
5016     - launchd now used to launch AFS at boot.
5017
5018     - Preferences pane included for 10.4 and later.
5019
5020     - Older versions can now be installed from packages.
5021
5022     - Finder does not trigger bogus AFSDB lookups in /afs in dynroot mode.
5023
5024     - Include package with debug kernel module symbols.
5025
5026   OpenBSD:
5027
5028     - Build fixes.
5029
5030     - Support for x86_64.
5031
5032   Solaris:
5033
5034     - Handle ZFS caches usefully. (125365)
5035
5036     - Implement additional pathconf support.
5037
5038 OpenAFS 1.4.11
5039
5040   Linux client systems: Major bugfixes.
5041   All client systems: Minor bugfixes.
5042   File servers: Major bugfixes.
5043
5044   * New functionality:
5045
5046   All systems:
5047
5048     - Provide portable (pioctl) method for discovering what PAG a user is
5049       in. Required to support userspace PAG information collection on AIX
5050       5.1, and knowing whether Linux uses one group, two group, or only
5051       keyring based PAGs. (124709)
5052
5053     * Bugfixes:
5054
5055   All systems:
5056
5057     - Fix bosserver to invoke salvager with "-force" instead of ambiguous
5058       "-f". (124916)
5059
5060     - Cleanup for ptserver argument parsing to allow debug mode to work. (124893)
5061
5062     - Sanity checking for ptserver log levels. (124894)
5063
5064     - Fix for uninitialized memory dereference in klog.krb5.
5065
5066     - Fix an overflow in the cellconfig code used by client and server. (124891)
5067
5068     - Fix an erroneous vos verbose mode format string.
5069
5070     - Avoid losing writes on mmap()ed files when cache is memcache. (124671)
5071
5072     - Provide an afsd switch to allow override of the maximum MTU. (124880)
5073
5074     - Provide support for encrypt mode in pts.
5075
5076     - Fix race in background sync code which could cause volumes to go offline.
5077       (124359)
5078
5079     - Fix fileserver to avoid a null pointer dereference in client identity
5080       lookup routines. (125020)
5081
5082     - Improve handling of moves of volumes from 1.5 series fileservers. (18349)
5083
5084   FreeBSD:
5085
5086     - UKERNEL build fix. (124681)
5087
5088   Linux:
5089
5090     - Allow syscall probing to be disabled by switch to configure at build time.
5091
5092     - Fix bug in anti-recursion protection for mmap clients. (124627)
5093
5094     - Avoid a panic caused by changing credentials during VFS operations. (124737)
5095
5096     - Avoid need for rcu subsystem when unavailable. (124986)
5097
5098     - Improve keyring PAG setup code. (125001)
5099
5100     - Avoid possible ext3 cache truncation issues. (124942)
5101
5102   MacOS:
5103
5104     - MacOS 10.3 UKERNEL build fix. (124681)
5105
5106   OpenBSD:
5107
5108     - Update support for 4.5 (124719)
5109
5110   OpenSolaris:
5111
5112     - Updates for newer OpenSolaris kernels. (124116, 124924)
5113
5114 OpenAFS 1.4.10
5115
5116   All client systems: Security fixes.
5117   File servers: Major bugfixes.
5118   All systems: Minor bugfixes.
5119
5120   * Security fixes:
5121
5122   All client systems:
5123
5124     - Avoid a potential kernel memory overrun if more items than requested are
5125       returned from an InlineBulk or BulkStatus message. (124579)
5126
5127   Linux client systems:
5128
5129     - Avoid converting negative errors into invalid kernel memory pointers. (124580)
5130
5131     * Bugfixes:
5132
5133   AIX:
5134
5135     - Don't build aklog NAS module when krb5 is not available. (124522)
5136
5137   FreeBSD:
5138
5139     - Additional fixes and support. (124107, 123917)
5140
5141   Linux:
5142
5143     - Support 2.6.28. (123580)
5144
5145     - Support 2.6.29. (124115)
5146
5147     - Attempt to support 2.6.30 (124560)
5148
5149     - Avoid race during truncation. (124094)
5150
5151     - Dynamic vcache allocation support, to deal with inotify vcache pinning. (124334)
5152
5153     - Correct use of truncate_inode_pages to vmtruncate for locking issues. (124128)
5154
5155     - Update RPM configuration. (123650, 102673, 124272)
5156
5157     - Update kernel feature detection. (124507, 123604)
5158
5159     - Do appropriate locking for CellServDB in /proc. (124407)
5160
5161   MacOS:
5162
5163     - Fix MacOS 10.3 support.
5164
5165     - Add candidate Darwin 10 support.
5166
5167   NetBSD:
5168
5169     - Corrected NetBSD version tests. (123647)
5170
5171   OpenBSD:
5172
5173     - Update support for 4.4 (124541)
5174
5175   Solaris:
5176
5177     - Support cache filesystems which do not allow open by inode number, enabled by
5178       default on Solaris 9 and later. (123677)
5179
5180     - Improve error code return quality. (124426)
5181
5182     - Allow large partitions on Solaris servers.
5183
5184   All client systems:
5185
5186     - Avoid improper error messages about key version when krb5 is in use. (124220)
5187
5188     - Avoid attempting to free kernel memory which was already freed. (124531)
5189
5190     - Properly count offline volumes in vos client. (124333)
5191
5192   All server systems:
5193
5194     - Avoid 64 bit time issues in callback dump files. (124451)
5195
5196     - Support more than one local Kerberos realm; Usernames are assumed to be the
5197       same across realms.
5198
5199     - Ubik recovery is corrected to avoid spurious errors. (123723)
5200
5201     - Do proper host address hashing for little endian machines in fileserver. (124447)
5202
5203     - Update backup utility to properly compute header needs in the backup buffer.
5204       (124425)
5205
5206     - Avoid blocking during Rx unused connection reaping.
5207
5208     - Avoid leaking file handles in the fileserver when closing a volume. (124359)
5209
5210     - Fix bosserver corefile naming to be y2k-safe. (124340)
5211
5212     - Avoid potential infinite loop in deleted host handling in the fileserver.
5213
5214     - Support large volume dumps in vol-dump. (123984)
5215
5216     - Build butc XBSA support on 64 bit systems.
5217
5218   All systems:
5219
5220     - Properly track Rx connection idleness for timeouts.
5221
5222     - Additional documentation. (124472)
5223
5224     - Avoid a race which may result in an in-use Rx packet being freed. (123799)
5225
5226 OpenAFS 1.4.9
5227
5228   All client systems: Security fixes.
5229
5230   * Security fixes:
5231
5232   All client systems:
5233
5234     - Avoid a potential kernel memory overrun if more items than requested are
5235       returned from an InlineBulk or BulkStatus message. (124579)
5236
5237   Linux client systems:
5238
5239     - Avoid converting negative errors into invalid kernel memory pointers. (124580)
5240
5241 OpenAFS 1.4.8
5242
5243   File servers: Major bugfixes.
5244   All systems: Minor bugfixes.
5245
5246   * Bugfixes:
5247
5248   AIX:
5249
5250     - AIX 6.1 is now supported.
5251
5252     - Unpin kernel memory references after free. (99456)
5253
5254     FreeBSD:
5255
5256     - FreeBSD 7 is now supported.
5257
5258   Linux:
5259
5260     - Avoid deadlock when writing back pages in an mmap()ed file larger than
5261       the cache. (120491)
5262
5263     - Update process tree walking for PAG garbage collection to avoid oopses.
5264       (116603)
5265
5266     - fakestat mode now correctly avoids spurious ENOTDIR errors.
5267
5268     - Use kernel build system for all platforms.
5269
5270     - Remove openafs directory from proc in correct order. (112910)
5271
5272     - Handle renames across directories correctly in the linux dcache. (74672)
5273
5274     - Probe syscall table when possible. (105457)
5275
5276     - Mount point parsing is now updated to handle only well-formed mount
5277       points rather than similarly-formed symlinks. (113558, 100836)
5278
5279     - ucontext-style LWP is now anbled for glibc versions newer than 2.3.
5280
5281   MacOS:
5282
5283     - Update available space shown. (112910)
5284
5285   NetBSD:
5286
5287     - Work around broken SIGWAIT. (111404)
5288
5289   Solaris:
5290
5291     - Solaris 10 now defaults to namei fileservers.
5292
5293     - NFS translator issues fixed.
5294
5295     - Changes to address Solaris updates. (105495)
5296
5297   All client systems:
5298
5299     - udebug correctly displays the last "yes" host.
5300
5301     - Allow more vldb lookups to be cached in the client.
5302
5303     - Fix aklog to not be excessively verbose when not requested.
5304
5305     - Add support for timing out accesses which are not completing in a timely
5306       manner.
5307
5308     - Properly flag backup volumes being added to the vldb by vos syncvldb.
5309
5310   All server systems:
5311
5312     - fileserver "large" setting now implies 128 threads instead of 12.
5313
5314     - fileserver check for duplicate uuids is now applied correctly.
5315
5316     - Newer xbsa APIs are supported for TSM integration in butc.
5317
5318     - salvager avoids corrupting length of directory objects. (111585, 107767)
5319
5320     - volserver avoids a race during volume release so a volume will not
5321       appear to be offline. (107258)
5322
5323     - Add support for returning errors when accesses are not completing
5324       in a timely manner.
5325
5326     - Avoid potential race in the volserver when creating transactions. (121263)
5327
5328     - Return sensible error when a release or restore exhausts server
5329       resources. (121040)
5330
5331     - volserver now returns EXDEV if a new replica would duplicate one which
5332       already existed elsewhere on the server.
5333
5334     - Disable jumbograms by default.
5335
5336     - volserver updates a volume's updateDate on volume creation. (110943)
5337
5338     - Partitions over 2tb are now supported. (88811)
5339
5340   All systems:
5341
5342     - Re-enable Rx client keepalives. (20727)
5343
5344     - Support autoconf 2.62. (118058)
5345
5346     - Update Rx to avoid leaking packets.
5347
5348     - vos supports the -noresolve options to avoid issues with 127.0.0.1 being
5349       named in /etc/hosts.
5350
5351     - Additional documentation. (104110)
5352
5353 OpenAFS 1.4.7
5354
5355   File servers: Major bugfixes.
5356   All systems: Minor bugfixes.
5357
5358   * Bugfixes:
5359
5360   AIX:
5361
5362     - Kerberos as included in AIX has missing symbols. AFS krb5 tools now
5363       deal correctly.
5364
5365     - AIX LAM aklog plugin can now be used CDE screenlocker.
5366
5367     - Add support for getting the current PAG in pagsh and PAM.
5368
5369     - Avoid sending a terminal hangup to STREAMS in aklog.
5370
5371     - Fix afsdb support in the client.
5372
5373   Linux:
5374
5375     - Kernels through 2.6.25 are now supported. (77370,88000,83716,83890,80463)
5376
5377     - Client now only hashes dirty inodes. (78544)
5378
5379     - Fix to avoid returning invalid mount point data when -fakestat-all is in use.
5380       (93898)
5381
5382     - RPM build system updates. (93616)
5383
5384     - Restored write-on-close-or-fsync semantics when possible. (17509)
5385
5386     - Enabled support for flock() on files in AFS. (53457)
5387
5388     - ARM Linux now supported.
5389
5390     - Kernel keyring support updated.
5391
5392     - Fix client-displayed timestamp ordering by zeroing nanosecond field.
5393
5394   MacOS:
5395
5396     - Boot time init script now uses afs.conf to store config options. (81825)
5397
5398     - Avoid kernel panic due to excessive lock tracking when removing files.
5399
5400     - Avoid leaking kernel memory when trying to read() a directory.
5401
5402   Solaris:
5403
5404     - Avoid potential kernel panic if the root vnode of AFS changes.
5405
5406     - Avoid potential kernel panic when shutting down if contracts are in use.
5407
5408     - Avoid potential delays when creating new PAGs if the system clock
5409       has gone backwards.
5410
5411   All client systems:
5412
5413     - At client shutdown, try harder to clean up in-use resources. (74479)
5414
5415     - When fakestat is in use, enable optimization for Gnome Nautilus lookups.
5416
5417     - Properly hold lock when updating disk cache metadata to avoid
5418       kernel panic. (59136)
5419
5420     - Avoid wrapping to the start of a file when attempting to write a large file
5421       to a pre-largefile fileserver. (73720)
5422
5423   All server systems:
5424
5425     - Fixed to avoid truncating ubik databases during recovery. (77183)
5426
5427     - fileserver issue with internal file cache filling has been fixed. (87977)
5428
5429     - fileserver thread quota enforcement now done in all cases. (87416)
5430
5431     - fileserver avoids potential network-related deadlock when breaking
5432       callbacks.
5433
5434     - fileserver avoids crash due to race of resource creation and user requests
5435       at startup.
5436
5437     - fileserver avoids crash when reinitializing Ubik connections.
5438
5439     - volserver fixed to avoid leaving orphaned files during restore. (46937)
5440
5441     - volserver now supports convertROtoRW for inode fileservers.
5442
5443     - Support disabling kerberos 4 style username protection in servers. (75101)
5444
5445   All systems:
5446
5447     - Fix to butc to avoid crash due to threaded library variant.
5448
5449     - Fix to avoid network retransmission issues if the system clock goes
5450       backwards.
5451
5452     - vos syncvldb and syncserver now support a dryrun (do nothing) mode.
5453
5454     - vos addsite now supports adding a site where a replica is already
5455       available.
5456
5457     - vos clone now supports creating properly-named readonly and backup clones.
5458
5459     - vos restore now allows an older copy of a volume at an alternate site to
5460       not be removed.
5461
5462     - cmdebug now supports dumping a client's CellServDB.
5463
5464     - cmdebug now supports showing human-readable expiration times.
5465
5466     - aklog now handles Kerberos referrals.
5467
5468     - Additional documentation now included. (89288,89289,86677)
5469
5470 OpenAFS 1.4.6
5471
5472   All systems: Major bugfixes.
5473
5474   * Bugfixes:
5475
5476   All systems:
5477
5478     - fileserver host tracking code had a missing lock on a host structure;
5479       that lock has been added.
5480
5481     - fileserver handling for clients which are giving up callbacks did not
5482       hold a lock, making it unsafe and allowing clients to potentially
5483       crash the server by racing.
5484
5485     - fileserver will now leave a corefile when it is doing a shutdown due
5486       to error conditions.
5487
5488     - fileserver again allows ufs as a valid filesystem type (regression in 1.4.5).
5489
5490     - cbd handler for fileserver status data has an interpretation error which
5491       could cause crashes corrected.
5492
5493     - fileserver accurately tracks number of callbacks on a given file.
5494
5495 OpenAFS 1.4.5
5496
5497   All systems: Minor bugfixes.
5498   New systems: MacOS 10.5.
5499
5500   All systems:
5501
5502     - fileserver address tracking is improved to avoid potentially merging
5503       unrelated hosts.
5504
5505     - Documentation updates.
5506
5507     - namei fileserver now does fsync()s in background batches for performance
5508       improvements.
5509
5510     - Kerberos ticket support corrected in bundled Kerberos 4 utilities on 64
5511       bit platforms.
5512
5513     - fileserver includes limited per-host thread quota support to avoid
5514       resource starvation.
5515
5516     - fileserver deals with more damaged volumes without asserting.
5517
5518     - vos validates dumpfiles before attempting restores.
5519
5520     - vos clone will no longer potentially delete the parent volume.
5521
5522     - Client no longer permits empty UUID to be created.
5523
5524     - fs uuid command for checking, regenerating UUID added.
5525
5526     - Updates for gcc 4.2.
5527
5528     - fileserver treats w (write) permission as granting read lock permission
5529       in addition to write.
5530
5531   AIX:
5532
5533     - Bundled NAS Kerberos is now supported. (5.x)
5534
5535     - LAM aklog module is provided. (5.x)
5536
5537     - Associate cache files with correct filesystem to avoid snapshots when
5538       performing maintenance on local filesystems.
5539
5540   Irix:
5541
5542     - Makefile updates.
5543
5544   Linux:
5545
5546     - Kernels throigh 2.6.23 are known to work.
5547
5548     - Updates to syscall table probing.
5549
5550     - Bug fix in keyring PAG support to avoid oops.
5551
5552     - updated sample RPM configuration.
5553
5554     - sparc32 lwp support updated.
5555
5556     - Avoid potential oops in symlink support in certain older kernels.
5557
5558     - Avoid potential deadlock during vmalloc.
5559
5560     - Corrected locking while interacting with kernel task list.
5561
5562   MacOS:
5563
5564     - Several panics fixed, including remove_fsref. (10.4 and later)
5565
5566     - IP address changes now tracked.
5567
5568     - Corrected support for dropboxes (li access without r) with cp and Finder.
5569
5570     - fstrace and ancillary files now included.
5571
5572     - man pages are now installed in the default MANPATH.
5573
5574     - Servers will be timed out quickly if there is no route available.
5575
5576     - Temporary files from remove-while-busy now cleaned up correctly.
5577
5578   Solaris:
5579
5580     - Updates to accomodate kernel interface changes. (10u4 and later)
5581
5582     - knfs and NFS translator support updated.
5583
5584     - Changes to accomodate version 5.4 xbsa library.
5585
5586     - Updates for new SunStudio defaults.
5587
5588 OpenAFS 1.4.2
5589
5590   All systems: Major bugfixes.
5591
5592   * Bugfixes:
5593
5594   All systems:
5595
5596     * A bug in the namei volserver which could erroneously make a replicated or
5597       moved volume go offline has been fixed.
5598
5599     * Volume package users (fileserver, volserver, salvager) avoid using lockf to
5600       avoid leaking byte range locks on volume internal files.
5601
5602   MacOS 10.4:
5603
5604     * A bug where the client kernel module could free stack memory (which caused
5605       issues with 64 bit Intel most commonly) has been fixed.
5606
5607   Linux:
5608
5609     * A missing kernel feature test has been fixed.
5610
5611     * group based PAG support is still enabled when possible.
5612
5613     * ia32 syscall table support for amd64 has build fixes for modern kernels.
5614
5615   Solaris:
5616
5617     * fopen() is not safe for use with more than 255 file descriptors open;
5618       Emulate it in the afsconf package so afsconf can be used in the fileserver.
5619
5620   Windows:
5621
5622     * DNS registration is disabled for the loopback adapter, and we make sure
5623       Netbios is turned on.
5624
5625   Since 1.4.1:
5626
5627   All platforms:
5628     * Remove use of ubik_Call in the source code so prototypes are used.
5629
5630     * Avoid synchrony in call from the fileserver to the ptserver.
5631
5632     * Fix a bug in the backup suite when restoring.
5633
5634     * fileserver and volserver now log for error conditions which may cause
5635       exiting.
5636
5637     * rx avoids a stack overrun when more packets are needed.
5638
5639     * volserver avoids holding a lock too long when purging volumes.
5640
5641     * volserver lock initialization fixes
5642
5643     * volserver volume nuke fixes to avoid leaving files behind
5644
5645     * fileserver avoids error when authenticating ptserver requests
5646
5647     * fileserver no longer crashes when GetCPS fails
5648
5649     * salvager enhancements to deal better with corrupt volumes for namei
5650
5651   Unix:
5652
5653     * aklog deals with KDCs which give "generic" replies to principals not
5654       existing.
5655
5656     * Fix bug in cache parameter autotuning
5657
5658   RedHat:
5659
5660     * packaging fixes
5661
5662   Linux:
5663
5664     * amd64 pthread library family updates.
5665
5666     * autoconf fixes for kernel feature testing
5667
5668     * keyring PAG support now only enabled if needed features are present
5669       and other updates
5670
5671     * inline a version of BUG() so we get better oopses
5672
5673   AIX:
5674
5675     * tsm is updated to work with the new AIX 5 interface.
5676
5677   MacOS:
5678
5679     * Cross compile fixes
5680
5681     * Packaging improvements
5682
5683     * Large file support fixed (Thanks to Chaskiel Grundman)
5684
5685     * Fixes for Leopard seed.
5686
5687     * Installer image updates
5688
5689   Windows:
5690
5691     * Removes race conditions and a deadlock introduced in 1.4.1
5692
5693     * Fixes ANSI filename option.
5694
5695     * Establishes new connections to file servers when
5696       IP address configuration changes are detected.
5697
5698     * Improved CIFS compatibility
5699
5700     * Cache Manager optimizations
5701
5702     * Fixes vlserver failover when mounting 'root.afs'
5703       (Freelance mode disabled)
5704
5705     * Installs help files in the correct location for use by afscreds.exe
5706       and afs control panel.
5707
5708     * Improve reporting of "over quota" and "disk full" errors.
5709
5710     * Prevent crash when evaluating mount points to volumes that do
5711       not exist
5712
5713     * Removes auto-registration of AFS ID in foreign ptservers from
5714       Integrated Logon DLL.  This prevents crashes if the DLL is loaded
5715       and unloaded prior to termination of the process.
5716
5717     * SDK moved to \Program Files\OpenAFS\SDK
5718
5719     * NSIS and WiX Installer Frameworks update to the latest versions
5720
5721     * Improvements to the Kerberos Logon Integration
5722
5723     * Prevents exception in Integrated Logon DLL during SysPrep
5724
5725     * Prevents displays of MessageBox dialogs in response to Network Adapter
5726       errors
5727
5728     * Hard Dead and Connection Timeout values restricted to the CIFS Session
5729       Timeout value.
5730
5731     * Correct writing of BackConnectionsHostNames registry value.
5732
5733     * Properly recycles Volume entries
5734
5735     * The AFS Explorer Shell Extension always finds its resource library.
5736
5737     * The export list for AFSAUTHENT.DLL has been corrected.  (The AFS
5738       plugin for NetIDMgr will no longer use 100% of CPU.)
5739
5740     * Renaming files on Microsoft Vista Build 5536 works.
5741
5742     * Better handling of "." directory in fs commands
5743
5744     * Add OpenAFS License text to installers
5745
5746     * fs setquota and fs mkmount commands behave the same as the UNIX
5747       version
5748
5749 OpenAFS 1.4.2
5750
5751   All systems: Major bugfixes.
5752
5753   * Bugfixes:
5754
5755   All systems:
5756
5757     - Volume dump parsing code in the volserver has better error checking.
5758
5759     - salvager has improved damaged volume handling on namei fileservers.
5760
5761     - fileserver has size validity checks for when large file support is disabled.
5762
5763     - fileserver avoids potentially multiply adding a host to its hash table.
5764
5765     - rxkad client private data storage is allocated dynamically on ticket size.
5766
5767     - Handle universal error code translation for file locking.
5768
5769     - fileserver needs to swap callback connections on a client IP change.
5770
5771     - fileserver host package revised to reduce lock contention.
5772
5773     - Rx has been fixed to count hard acks, thus opening the congestion window.
5774
5775     - All servers support bound Rx sockets (on one interface).
5776
5777     - namei fileserver no longer use lockf() to avoid range locking issues.
5778
5779     - most binaries now support the -version switch.
5780
5781     - backup suite fixes for 64 bit platforms.
5782
5783     - volserver avoids holding holds during volume purges.
5784
5785     - volserver avoids losing files on namei during vos zap.
5786
5787   AIX:
5788
5789     - fileserver now properly supports large files.
5790
5791     - TSM updates for AIX 5
5792
5793     - Kernel module avoids leaking Rx packets.
5794
5795     - Avoid use of global ubik client structure in fileserver.
5796
5797     - Update ubik call client interface to allow for prototyping.
5798
5799     - audit logging fixes when stdarg does not provide integral va_list type.
5800
5801   MacOS 10.4:
5802
5803     - A bug where the client kernel module could free stack memory (which
5804       caused issues with 64 bit Intel most commonly) has been fixed.
5805
5806     - Packaging fixes and updates.
5807
5808     - Uninstaller added.
5809
5810     - Fix large file support.
5811
5812   Linux:
5813
5814     - autoconf kernel feature testing has been restructured.
5815
5816     - PAG garbage collection is enabled by default.
5817
5818     - Kerberos updates for RHEL3.
5819
5820     - Fix POSIX lock enrollment for older Linux kernels.
5821
5822     - Updates for new 2.6 kernels.
5823
5824     - Avoid deadlocks in put_inode handler.
5825
5826     - Keyring-based PAG support.
5827
5828     - Fixes to avoid getting better oops info in the kernel.
5829
5830   Solaris:
5831
5832     - Remove some kernel symbol bindings for symbols we don't use.
5833
5834     - Cleanup for loopback mount of AFS on Solaris 10.
5835
5836     - Avoid issues with stdio not supporting file descriptors above 255 on
5837       Solaris 8 and lower in the fileserver.
5838
5839 OpenAFS 1.4.1
5840
5841   All systems: Major bugfixes.
5842   New systems: MacOS 10.4 (PowerPC and Intel)
5843
5844   * Bugfixes:
5845
5846   All systems:
5847
5848     - Several race conditions in the host tracking and handling in the fileserver
5849       which could cause inconsistent behavior and crashes have been fixed.
5850
5851     - A fileserver bug where a reference to a volume could be leaked and later
5852       cause a deadlock as a result of a bulk status call
5853
5854     - Reference counting of fileserver objects in unsigned 32 bit integers
5855       instead of signed 16 bit integers.
5856
5857     - Avoid type mismatches when handling time values (betweemn 32 bit and 64 bit
5858       variables).
5859
5860     - Fix a memory leak during multilevel packet queue handling.
5861
5862     - Audit log output had been updated to include FIDs for newly created files.
5863
5864   HP-UX 11i:
5865
5866     - 64 bit (large file) inodes are supported.
5867
5868     - Salvager will now handle large (>4gb) partitions.
5869
5870     * New features:
5871
5872   All systems:
5873
5874     - asetkey is now included to ease Kerberos 5 integration for server
5875       administrators.
5876
5877     - A new fileserver statistics collection including callback statistics was
5878       added.
5879
5880     - man pages are now generated.
5881
5882   Microsoft Windows:
5883
5884     - Fixes error message problems experienced by fs.exe and the AFS Explorer
5885       Shell Extensions related to the use of Universal Error Codes by the
5886       AFS File Server
5887
5888     - Adds full SMB/CIFS support for byte range locking.  In this implementation
5889       all locks are allocated locally and the AFS lock privilege is ignored.
5890       While this will not prevent two processes on different machines from
5891       simultaneously writing to the same file, it will prevent two processes
5892       on the same machine from doing so.
5893
5894     - The UP server check period has been reduced to once every ten minutes to
5895       match the period used by the UNIX clients.  The shorter period will
5896       assist clients maintain RX connections through NATs.
5897
5898     - Fixes the DOWN server check logic to ensure that any server that responds
5899       to a check is marked UP unless it is in the process of restarting.
5900
5901     - Add logic to better handle objects that no longer exist on the file server.
5902       (VNOVNODE errors.)
5903
5904     - Prevent the removal of existing drive mappings by "afscreds.exe -M"
5905
5906     - Fixes the procmgmt library so that it doesn't cause applications that
5907       unload it to crash.
5908
5909     - Improves the warnings written to the afsd_init.log file when the
5910       Windows RPC Protocol drivers are improperly configured.
5911
5912     - Fixes "fs setserverprefs -vlserver".  Multiple calls with the same
5913       server parameter could result in a crash of afsd_service.exe.
5914
5915     - The SMB/CIFS layer was audited for reference miscounts and memory leaks.
5916       All SMB objects are now properly counted, locked, and released when
5917       their work is done.
5918
5919     - Prevent file truncation of the user does not have the appropriate access.
5920
5921     - Token management was re-written to allow user tokens to be preserved
5922       during integrated login and freed after logoff is complete.
5923
5924     - Added a mechanism by which abandoned SMB virtual circuits can be
5925       detected and the associated resources cleaned up.
5926
5927     - Prevent the allocation of SMB file handles with a value of 0 or 0xFFFF
5928       which would be considered invalid by Windows applications.
5929
5930     - Fixed the processing of cell names to ensure that they are always
5931       treated as case insensitive strings.
5932
5933     - Fixed the network provider code to avoid querying the profile location
5934       if integrated login is disabled.
5935
5936     - If a mount point string is empty, return Path Not Found to the application.
5937
5938     - Windows returns WSAECONNRESET when an ICMP packet is received in response
5939       to a transmitted UDP packet that cannot be delivered.  Do not mark the
5940       connection as bad but instead retry the request.
5941
5942     - Fix the data written to the registry as part of the BackConnectionHostnames
5943       values.
5944
5945     - Fixed the rx-lwp implementation to always generate unique rx call
5946       identitiers.
5947
5948     - The default "fs minidump" type now includes data segments.
5949
5950
5951 OpenAFS 1.3
5952
5953   * -nosettime is now the default for afsd.  Use "-settime" to get the
5954     old behavior.
5955
5956   * OpenBSD is now supported.
5957
5958   * Mountpoint directory information is now only faked for cross-cell
5959     mountpoints when using the -fakestat flag (e.g. for the directories
5960     under /afs, but not for most other volumes mounted inside the cell).
5961     The -fakestat-all switch can be used to fake information for all
5962     mountpoints.
5963
5964   * When fakestat is enabled on MacOSX, the Finder can be used to browse
5965     a fully-populated /afs directory.  However, this precludes reliable
5966     use of entire volumes as MacOS bundles (i.e. containing a Contents
5967     directory in the root of the volume).
5968
5969   * Mountpoint directory information can be faked by the cache manager,
5970     making operations such as stat'ing all cells under /afs much faster.
5971     This is enabled by passing -fakestat to afsd, but might not be stable
5972     on all platforms.
5973
5974
5975 OpenAFS 1.2.9
5976
5977   * The kaserver now defaults to not allowing interrealm authentication,
5978     due to security vulnerabilities in the krb4 protocol.  The new
5979     "-crossrealm" flag to the kaserver is provided to reenable interrealm
5980     authentication if desired.
5981
5982   * RedHat Linux 9.0 is now supported.
5983
5984   * Solaris 9 12/02 is now supported.  Solaris 7 and 8 x86 should now
5985     work again.
5986
5987   * On Linux machines using 2.2 series kernels, 2.2.19 or higher is now
5988     required.
5989
5990   * An OpenAFS 1.2.9 afsd will not work with kernel modules built from
5991     an earlier OpenAFS release.  In general, using a mismatched afsd and
5992     kernel modules set is unsupported; it is not recommended that you use
5993     such a configuration on a regular basis.
5994
5995
5996 OpenAFS 1.2.8
5997
5998   * Mountpoint directory information is now only faked for cross-cell
5999     mountpoits when using the -fakestat flag (e.g. for the directories
6000     under /afs, but not for most other volumes mounted inside the cell).
6001     The -fakestat-all switch can be used to fake information for all
6002     mountpoints.
6003
6004   * HPUX 11.0 is now supported.
6005
6006   * It is now possible for AFS to use Kerberos 5 directly, via rxkad 2b.
6007     See the OpenAFS 1.2.8 Release Notes for more information on using this
6008     capability.
6009
6010   * An NFS translator kernel module is now included and compiled by
6011     default for Solaris only.
6012
6013
6014 OpenAFS 1.2.7
6015
6016   * MacOS X 10.2 is now supported.  FreeBSD 4.3 and later support is
6017     included in this release, but is still under active development and
6018     should only be used by those doing active development on the OpenAFS
6019     FreeBSD client.
6020
6021   * When fakestat is enabled on MacOSX, the Finder can be used to browse a
6022     fully-populated /afs directory.  However, this precludes reliable use
6023     of entire volumes as MacOS bundles (i.e. containing a Contents
6024     directory in the root of the volume).
6025
6026   * The fileserver will now use Rx pings to determine if clients are
6027     reachable prior to allocating resources to them, to prevent asymmetric
6028     clients from consuming all fileserver resources.
6029
6030
6031 OpenAFS 1.2.6
6032
6033   * Mountpoint directory information can be faked by the cache manager,
6034     making operations such as stat'ing all cells under /afs much faster.
6035     This is enabled by passing -fakestat to afsd.
6036
6037   * Solaris 9 FCS and Solaris 7 and 8 x86 are now supported.
6038
6039
6040 OpenAFS 1.2.5
6041
6042   * A remote denial of service attack in the AIX and IRIX clients has been
6043     fixed.  Users of those platforms are strongly encouraged to upgrade.
6044
6045   * Fixed race conditions in fileserver that could result in crash.
6046
6047
6048 OpenAFS 1.2.4
6049
6050   * Server logfiles now more consistant about format in which hosts are
6051     referred to.
6052
6053   * vfsck on Solaris will now allow force runs (using -y flag) even if old
6054     inodes exist.
6055
6056
6057 OpenAFS 1.2.3
6058
6059   * Cell aliases for dynroot can be specified in the CellAlias file in
6060     /usr/vice/etc or /usr/local/etc/openafs, in format "realname alias",
6061     one per line.  They can also be managed at runtime with "fs newalias"
6062     and "fs listaliases".
6063
6064
6065 OpenAFS 1.2.2
6066
6067   * Solaris 9 and Linux PA-RISC are now supported.
6068
6069   * fileserver will not erroneously delay legitimate errors for 3 seconds
6070     after 10 errors are returned (e.g. stat() on a directory you can't
6071     read).
6072
6073   * Rx MTU calculation now works for Irix, Solaris and Linux
6074
6075   * If afsd is started with the -dynroot flag, /afs will be locally
6076     generated from the CellServDB.  AFSDB cells will be mounted
6077     automatically upon access.
6078
6079   * The namei fileserver allows vice "partitions" to be directories
6080     instead of partitions and will attach and display accordingly.
6081     Creating the file "AlwaysAttach" in the /vicepX directory is used as
6082     the trigger to attach it.
6083
6084   * TSM support for butc no longer requires editing a Makefile, simply
6085     specify the --enable-tivoli-tsm configure option.
6086
6087   * Linux builds no longer require source changes every time the kernel
6088     inode structure changes; the OpenAFS sources will now configure itself
6089     to the actual inode structure as defined in the kernel sources.
6090
6091
6092 OpenAFS 1.2.1
6093
6094   * vfsck on Digital UNIX and Solaris will now refuse to fsck mounted
6095     mounted partitions.
6096
6097
6098 OpenAFS 1.2.0
6099
6100   * AFS now supports --prefix and the other directory options of
6101     configure.  By default AFS builds assuming it will be installed in
6102     /usr/local.  In order to get traditional AFS directory paths (/usr/afs
6103     and /usr/vice/etc) use the --enable-transarc-paths option to
6104     configure.  More details on the new directory layout are found in
6105     README.
6106
6107
6108 OpenAFS 1.1.1a
6109
6110   * Windows 95/98/ME/NT/2000 - Consistent versioning:  Installation, AFS
6111     Control Center, Client dialog boxes and properties pages for
6112     executables display a consistent OpenAFS version number.  Installation
6113     detects previous installation and prompts the user for upgrade
6114     options.
6115
6116   * Windows 95/98/ME/NT/2000 - Installation features:  During installation
6117     the user can select the source of the CellservDB file, AFS home cell,
6118     and drive mappings.  During installation a drive path mapping can
6119     include a variable that will be substituted with the current UserName
6120     that is logged in.
6121
6122   * Windows 2000/NT - Integrated logon:  The Integrated Logon feature
6123     works now.
6124
6125   * Windows 95/98/ME - Logon script features:  The Windows 95/98/ME client
6126     now offers a command-line option for starting up the AFS client
6127     without authenication. It is now possilbe to start the AFS client
6128     first and obtain tokens, and map drives all through Windows scripts.
6129     This helps using Windows 95/98/ME client in Kerberos 5 environment.
6130
6131   * Windows 2000/NT - LANA numbers:  AFS client now scans the LANA numbers
6132     to establish the correct NETBIOS connection.  NetBEUI is no longer
6133     needed.  The user no longer needs to find the correct LANA number.
6134
6135   * Windows 2000/NT - OpenAFS naming consistancy:  Further progress has
6136     been made to remove references to "Transarc AFS" and replace with
6137     "OpenAFS".
6138
6139
6140 OpenAFS 1.0
6141
6142   * AFS now builds with configure. The README for building has been
6143     updated and includes full details.
6144
6145   * A client system can now have multiple sysname values for @sys.  They
6146     will be searched in order when looking up files in AFS.  The
6147     -newsysname argument to fs sysname can be repeated to set multiple
6148     sysnames.
6149
6150   * A new system group is created for new cells (system:ptsviewers with id
6151     -203).  If this group exists, members of this group can examine and
6152     read the entire protection database.  They can examine all users and
6153     groups and can get the membership of any group.
6154
6155   * A new program, pt_util has been added to the distribution.  This
6156     program allows users to print the contents of the protection database
6157     or to edit the protection database without running a ptserver.  It can
6158     be used to set up a new cell without ever running in noauth mode.  Run
6159     pt_util -h for help.
6160
6161   * The fs setcrypt and fs getcrypt commands have been added.  These
6162     commands allow the system administrator to require that the client
6163     encrypt all authenticated traffic between the client workstation and
6164     AFS.  The encryption used is weak, but is likely better than sending
6165     unencrypted traffic in most environments.  Some functions, such as
6166     looking for a volume may not be encrypted, but data transfer certainly
6167     is.  By default data is not encrypted.  At this time no significant
6168     experimentation with server performance has been conducted.
6169
6170   * By default AFS is compiled with AFS_AFSDB_ENV, enabling the -afsdb
6171     option to be given to afsd on startup.  If this option is used, then
6172     new cells will be looked up using AFSDB records stored in DNS if they
6173     are not found in CellServDB.  This means that users can create
6174     cross-cell mountpoints in directories they control to access cells not
6175     in root.afs, and that cells in root.afs need not be in the client's
6176     CellServDB.
6177
6178   * AFS database servers can be marked as read-only clones.  Surround the
6179     hostname in square brackets on the bos addhost command and the
6180     database server will never be elected sync site.  This is useful for
6181     cells distributed over a wide region.
6182
6183   * The AFS servers now support the -syslog flag.  This flag causes them
6184     to log to syslog rather than to files.  This flag is not supported on
6185     NT.  For all servers besides the salvager, the flag can also be
6186     specified as -syslog=facility, where facility is an integer facility
6187     code from syslog.h.  A -syslogfacility option is provided for the
6188     salvager to accomplish the same goal.
6189
6190   * If the --enable-fast-restart flag is given when configuring AFS, then
6191     the salvager supports the -dontsalvage flag which causes it to exit
6192     without salvaging any volumes.  If this is configured into the third
6193     command of a fs process, then the fileserver will start without
6194     salvaging.  It will fail to attach volumes that need salvaging and
6195     they can be salvaged manually.  This provides significantly better
6196     server startup performance at the cost of administrative complexity.
6197
6198   * If the --enable-bitmap-later flag is given when configuring AFS, then
6199     the fileserver creates bitmaps for free vnodes on demand, allowing
6200     faster starts.
6201
6202   * If bosserver finds a BosConfig.new file at startup, it reads this file
6203     and renames it to BosConfig.  This allows bosserver to be reconfigured
6204     at next restart.
6205
6206   * The bosserver can be placed in a restricted mode in which AFS
6207     superusers are only granted limited access to the server host. The
6208     following functionality is disabled when restricted mode is in use:
6209
6210       bos exec
6211       bos getlog (except for files with no '/'s in their name)*
6212       bos create *
6213       bos delete
6214       bos install
6215       bos uninstall
6216
6217     specific exceptions are made for functionality that "bos salvage"
6218     uses:
6219
6220     A cron bnode who's name is "salvage-tmp", time is now, and command
6221     begins with "/usr/afs/bin/salvager" may be created. This bnode deletes
6222     itself when complete, so no special "delete" support is needed.  This
6223     functionality may be removed in the future if a "Salvage" RPC is
6224     implimented.
6225
6226     The file with the exact path /usr/afs/logs/SalvageLog may be fetched,
6227     since that is how bos salvage [...] -showlog is implimented.
6228
6229     Restricted mode is enabled using a new bos command (bos setrestricted)
6230     or bossever command line switch (bosserver -restricted). Restricted
6231     mode can be disabled by a) sending the bosserver process a SIGFPE
6232     (which will then allow restricted operations until the next restart or
6233     setrestricted command) or b) editing /usr/afs/local/BosConfig (or
6234     BosConfig.new), and restarting the bosserver.
6235
6236   * The bos UserList of trusted administrators can now contain cross-realm
6237     Kerberos principals.
6238
6239   * udebug now takes --server not --servers.
6240
6241   * Several error messages have been improved to include volume numbers.
6242
6243   * Several new ports have been included for UNIX platforms: Darwin
6244     (ppc_darwin_12 and ppc_darwin_13), Linux 2.4 (i386_linux24), Linux on
6245     the Powerpc (ppc_linux22 and ppc_linux24), Linux on the Sparc
6246     (sparc_linux22, sparc64_linux22 and sparc64_linux24).
6247
6248   * Incomplete FreeBSD and Alpha Linux ports are included.  The FreeBSD
6249     port has a working server and the Alpha Linux port has a partially
6250     working client.
6251
6252   * A native client for Windows 95/98/ME has been added to the
6253     distribution.  With this program, a gateway machine is no longer
6254     required for Windows 9x to access AFS files.  One drive letter will be
6255     created on your machine by default - Z:.  The Z: drive will be the
6256     root of the AFS tree, allowing you to browse all sites that have AFS
6257     servers available.  Additional drive letters can be defined for other
6258     AFS directories.  A Windows Explorer shell extension is included that
6259     allows you to right click on items within an AFS tree to bring up an
6260     "AFS" menu item and perform various operations on a file or directory.
6261     The most useful item is "Access Control Lists", which allows you to
6262     view and edit the permissions of a particular directory.  Command line
6263     tools are also available in the install directory.  These commands
6264     include klog, unlog, tokens, kpasswd, symlink, fs and pts.  The
6265     installable includes a readme file that contains more information on
6266     how to use the client program and known issues.
6267
6268   * Support for large caches in afsd.  Cachefiles are stored in
6269     subdirectories.  The default is 2048 files per subdirectory, which
6270     should work fine in most situations.  You can use the new afsd option
6271     -files_per_subdir to change this number.  Note that the first time you
6272     run afsd with this patch, your cachefiles will get moved into
6273     subdirectories.  If you subsequently run an older version of afsd, you
6274     will lose all your cached files.