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