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