aklog: Build a pthreaded, rather than lwp, version
[openafs.git] / NEWS
1                        User-Visible OpenAFS Changes
2
3 OpenAFS 1.5.77 (2010-09-08)
4
5   All platforms
6
7     * Rx path MTU detection will terminate detection in cases where the
8       minimum required packet size cannot be transferred.
9
10     * vos dryrun mode now shows effects for syncvldb single volume case.
11
12     * vos dryrun mode now shows "status after" for syncvldb and syncserv.
13
14   All server platforms
15
16     * RXAFS_GetStatistics64 now returns statistics properly.
17
18   Microsoft Windows
19
20     * Attempt to properly identify the local system SMB connection for
21       token tracking.
22
23     * Remap timeout and offline errors to proper NT RPC errors.
24
25     * Properly fail over to other replicas on bulkstat IO errors.
26
27     * Properly error delete-mode createfile if a file is set readonly.
28
29     * Validate directory entry buffers to avoid crashing the service.
30
31     * Log file modes properly.
32
33     * Log cell name when logging server information.
34
35   All UNIX client platforms
36
37     * cacheout program for discarding callbacks is now built.
38
39     * bulkstatus kernel locking is corrected to avoid a potential panic.
40
41   Dragonfly BSD
42
43     * userspace support update
44
45   FreeBSD
46
47     * Updated vnode locking for children returned via lookup().
48
49     * Avoid file open undercount with needed calls to
50       FakeOpen/FakeClose().
51
52     * Use vnode_pager_setsize to properly track file size during kernel
53       IO.
54
55     * Update system call installation.
56
57     * Fix shutdown of Rx kernel listener to avoid potential dereference
58       after it's gone.
59
60     * Avoid closing vnodes during vnode recycle.
61
62     * Fix bogus call to FlushVS for vnode reclaims.
63
64   Linux
65
66     * Packaging updated for current configure options and built files.
67
68     * Cache bypass now holds reference on pages during readpage.
69
70     * s390x setgroups32 patching update.
71
72   MacOS
73
74     * DNS resolver is reinitialized on IP address change. (126440)
75
76
77 OpenAFS 1.5.76 (2010-08-16)
78
79   All platforms
80
81     * Updates to build-time configuration.
82
83     * Fix XDR support in Rx to match header definition.
84
85     * vos status now shows transaction creation, not action creation.
86
87     * Rx avoids reporting loopback adapters when listing interfaces.
88
89   All server platforms
90
91     * Demand-Attach Fileserver always built and installed (dafileserver,
92       davolserver, dasalvager).
93
94     * Return VNOVOL from fileserver when a volume is deleted.
95
96     * Ignore duplicate tags during volume restore operation.
97
98     * Update inode array after salvage repairs volume.
99
100     * Zero a corrupted header in memory during salvage to avoid further
101       corruption.
102
103     * Fix NAMEI backend to allow low-numbered volumes to work properly.
104
105     * ptserver does not include cell name as part of length check for
106       names.
107
108     * Updated error messages for unblessed volumes.
109
110     * vlserver avoids buffer overflow with regex pattern
111
112     * Attach-time failures now note failures as the rest of the fileserver
113       would.
114
115     * Server argument logging will no longer overflow stack.
116
117     * Provide fast-restart-like unsafe-nosalvage option for DAFS.
118
119     * Deal with host hash collisions in the fileserver.
120
121   Microsoft Windows
122
123     * Avoid crashing when interpreting a drive letter as potentially
124       matching a cell name.
125
126     * Properly handle volume package errors.
127
128     * Allow page recycling from known-readonly content without ensuring
129       they are not dirty.
130
131     * 32 bit tools installer should not override client configuration.
132
133     * Ensure root scache item has a valid callback when use is attempted.
134
135     * Freelance directory changes now properly invalidate and replace the
136       old root object.
137
138   All UNIX client platforms
139
140     * Support disconnected reconnecting with specified UID for PAGless
141       platforms.
142
143     * Proper disconnected vnode reference tracking.
144
145     * Update server site blacklisting to not return success if nothing was
146       blacklisted.
147
148     * Avoid a panic during vcache contention due to CVInit vcache
149       racing. (127645)
150
151   FreeBSD
152
153     * Update for network stack in 8.1/9.0.
154
155   HP-UX
156
157     * Bug fixes.
158
159   Linux
160
161     * 2.6.36 support
162
163     * Disable PMTU error packet handling.
164
165     * flock() fixes.
166
167     * Debian packaging updated.
168
169     * freezer interface updates.
170
171   MacOS
172
173     * Hold references to disconnected mode written vnodes properly.
174
175   Solaris
176
177     * Handle NFS translator module references for amd64.
178
179     * INODE fileserver backend support now exists for amd64.
180
181
182 OpenAFS 1.5.75 (2010-07-07)
183
184   All platforms
185
186     * Prevent rx_rpc_stats global lock from being a bottleneck.
187
188     * Path MTU discovery is now provided to allow traffic to pass networks
189       with sub-1500 byte MTUs and poor fragment handling.
190
191     * Further reduce Rx NAT ping transmission when enabled.
192
193     * Update Kerberos 5-based token handling in rxkad from upstream
194       Heimdal.  (127554)
195
196     * Update version numbers emitted during build to reflect what is
197       actually being built.
198
199     * Add "-human" switch for human-readable units in fs diskfree and
200       listquota. (124529)
201
202     * vos provides reasons for locked volumes when known.
203
204     * Do not count retransmission and ping acks as non-idle for Rx
205       connections.
206
207     * Rx: provide service-specific data getter and setter routines.
208
209     * Update build-time Kerberos detection.
210
211     * Updated userspace AFS client.
212
213     * Beginning of a modernized test suite.
214
215     * Additional documentation.
216
217     * Updated documentation, notably the Administrators Guide.
218
219     * Substantial code cleanup.
220
221   All server platforms
222
223     * Update handling of vnode allocation failures.
224
225     * DAFS: allow salvaging volumes not known to the fileserver, to allow
226       cleanup of data not attached to a current volume.
227
228     * Properly handle volumes slated for destruction.
229
230     * Handle volumes with many files properly.
231
232     * Force core file generation in bosserver by overriding default
233       resource limits when possible.
234
235     * Update vlclient and vldb_check.
236
237     * Avoid potentially corrupting a volume on creation if files are left
238       from previous failed cleanup.
239
240     * Note volume changed during salvage as needed.
241
242     * DAFS: do not assume invalid addresses are in fileserver address hash
243       table.
244
245     * Avoid tying up fileserver threads with volumes that are being taken
246       offline.
247
248     * Do not set inUse on volumes for non-DAFS other than in fileserver.
249
250     * Break origin's callback on target of rename operation.
251
252     * Avoid unneeded parent directory link updates during some rename
253       operations.
254
255     * Do not open /dev/console for writing in the fileserver.
256
257     * DAFS: avoid spurious restarts when binary restarts are configured.
258
259     * Avoid spurious and unneeded calls to sync(), which can slow down the
260       fileserver.
261
262   Microsoft Windows
263
264     * Revised SMB QuerySecurityInfo to address issues caused by MS10-020
265       (http://support.microsoft.com/kb/980232)
266
267     * Prevent use of the AFSCache file contents if mapped to a new
268       address.
269
270     * Make fs newcell include behavior compatible with the non-Windows
271       version.
272
273     * Provide a registry option (FreelanceImportCellServDB) to pre-create
274       mount points in the AFS root for all cells in CellServDB.
275
276     * Fix a memory leak in the cm_FreeServerList() routine.
277
278     * Reduce privilege when reading registry CellServDB.
279
280     * Add support for RPC Pipe Service NetWkstaGetInfo levels needed for
281       Windows 7.
282
283     * Prevent overflow when computing quota percentage in Explorer Shell.
284       (126846)
285
286     * Generate meaningful errors for ACL operations on freelance AFS root.
287
288     * Fix error handling on InlineBulkStatus RPCs.
289
290     * Show configuration pages for all types of MSI installations.
291
292     * Improve freemount AFS root directory handling and operations.
293
294     * Properly validate GetVolumeStatus pioctl responses.
295
296     * Commit file length changes and dirty buffers when flushing a file.
297
298   All UNIX client platforms
299
300     * Update version of files for disk cache.
301
302     * Do not call afs_FlushVCBs with xvcache lock held, to improve
303       parallelization.
304
305     * Add mariner log messages for creating and removing files.
306
307     * Don't hold xvcache lock while creating symlinks, to improve
308       parallelization.
309
310     * Provide -dynroot-sparse mode to not show all cells in CellServDB in
311       dynroot mode.
312
313     * Avoid a potential crash in aklog in linked cell handling.
314
315     * Log MTU-caused packet retransmission.
316
317     * Prevent crashes caused be fs checkservers while cache is being set
318       up.
319
320     * fs getserverprefs now has a buffer large enough for the default
321       CellServDB.
322
323     * Report server address when logging warnings.
324
325     * Avoid panic in GetCapabilities when cell is not known.
326
327     * Lock process name and id for advisory lock warnings when possible.
328
329     * Handle need for allocating additional Rx packets.
330
331     * Properly handle errors from InlineBulkStatus operations.
332
333     * Fix errors returned from fcntl() on readonly files locked for write.
334
335     * Flush pending changes to the server on LOCK_EX unlock.
336
337     * Reflect length changes as a result of callbacks even when file is
338       open for write.
339
340     * Avoid hanging due to error exit when attempting to store a large
341       file to a non-largefile fileserver.
342
343     * Recover from afs_GetVolSlot errors.
344
345   FreeBSD
346
347     * Bugfixes for kernel VFS and network routines.
348
349   IRIX
350
351     * Provide makesname().
352
353   Linux
354
355     * Avoid syscall probes when keyrings are present, by default. (125215)
356
357     * Remove "Big Kernel Lock" from VFS operations.
358
359     * Use filehandles for all Linux 2.6 versions to avoid need for matched
360       afsd. (127530)
361
362     * Updated RPM packaging.
363
364     * Fix dkms configuration provided with RPMs.
365
366     * Hold reference on pages during background I/O for cache bypass.
367
368     * Fix cache bypass handling of non-largefile fileservers.
369
370     * Protect truncate_inode_pages mappings with mutex or semaphore as
371       needed.
372
373     * Fix pagevec use in cache bypass. (127505)
374
375     * Updates for 2.6.35
376
377   MacOS
378
379     * Improve launchd configuration.
380
381     * Avoid hanging on recursive cache file lock acquisition when user
382       notification is enabled.
383
384     * Fix and re-enable bulkstat mode.
385
386   OpenBSD
387
388     * Build updates.
389
390   Solaris
391
392     * Precluding unmount while AFS is busy.
393
394     * Avoid deadlocking when releasing the VFS object.
395
396     * Stop network interface poller in kernel on AFS shutdown.
397
398     * Avoid issues with lookups on empty directory names. (127356)
399
400
401 OpenAFS 1.5.74 (2010-04-22)
402
403   All platforms
404
405     * Add "vos setaddrs" command.
406
407     * Rx library lock contention avoidance between rx_NewCall and
408       rx_EndCall.
409
410     * Rx library races due to inconsistent use of rx_connection
411       conn_data_lock to protect the flags field.
412
413     * Rx library inconsistent use of RX_CALL_TQ_WAIT which could result in
414       deadlocks.
415
416     * Rx library must signal transmit queue waiters when flushing.
417
418     * afsmonitor shows busy counts now.
419
420     * afsmonitor displays xstat callback statistics.
421
422     * Provide expandgroups for pts mem on a supergroups server.
423
424     * Provide supergroup option to liste nested groups during pts mem.
425
426   All server platforms
427
428     * Avoid volume lock contention during DAFS startup.
429
430   Microsoft Windows
431
432     * Avoid a race when updating cell vldb server lists that can result in
433       a crash.
434
435     * Avoid a deadlock when managing CM_SCACHESYNC_STOREDATA state
436       operations for directory objects.
437
438     * Add new Windows Application Event log messages for VBUSY,
439       VRESTARTING, ALL_BUSY, ALL_OFFLINE, and ALL_DOWN.
440
441     * Reduce lock contention by waiting for cm_buf_t I/O operations.
442
443     * Split the cm_buf_t flags field to separate the flags that are
444       protected by the cm_buf_t mutex from those protected by the
445       buf_globalLock.
446
447     * In cm_UpdateVolumeLocation, avoid searching for a ".readonly" volume
448       on a numeric volume name.
449
450     * File buffer allocations whose offsets are beyond server EOF should
451       be locally allocated and zero filled.  The file server should not be
452       issued a FetchData rpc which is guaranteed to fail.
453
454     * Enable integrated logon to work with Windows 7/2008 when user logons
455       are performed with a non-Domain Kerberos principal.
456
457     * Add Protection Error messages to aklog output.
458
459   All UNIX client platforms
460
461     * Provide a FUSE-interfacing userspace afs client.
462
463     * Updates to libuafs userspace cache manager.
464
465     * Probe servers using GetCapabilities instead of GetTime, thus
466       requiring fewer RPCs.
467
468     * Fix DNS SRV record handling for cell lookup.
469
470   FreeBSD
471
472     * Fix sleep/wakeup routines.
473
474     * Update for 8.0 release.
475
476   Linux
477
478     * Handle high memory addresses correctly.
479
480   MacOS
481
482     * Make 32 bit AFS syscalls work again.
483
484     * Work around finder "Duplicate" failure (caused by setting modes on
485       symlinks).
486
487     * Disable bulkstat again (will be re-enabled at or before .75).
488
489     * Provide symlink type hints during readdir.
490
491
492 OpenAFS 1.5.73 (2010-03-24)
493
494   All platforms
495
496     * NAT keepalive support at Rx level.
497
498     * Corrected SRV record support for cell name canonicalization.
499
500   All server platforms
501
502     * Fix volume callback notification to not notify unaffected clients.
503       (126497)
504
505     * Allow root directory recreation by salvager. (94658)
506
507     * Numerous DAFS fixes.
508
509     * Improvements to callback table overflow handling. (126451)
510
511     * bosserver now shuts down cleanly on SIGTERM.
512
513   Microsoft Windows
514
515     * Prevent the Explorer Shell extension from crashing if symlink
516       creation failed.  (126406)
517
518     * A Rx level NAT ping has been implemented. A registry value enables.
519
520     * Adds krb5 error message translation to aklog, afscreds,
521       afslogon.dll, the network identity manager afs provider and
522       translate_et.
523
524     * Default mode bit settings for file and directory creation are now
525       provided, and can be configured.
526
527     * An SMB request trace facility is provided and can be enabled for
528       debugging.
529
530   All UNIX client platforms
531
532     * Rx idle deadtime does not stop file writes.
533
534     * Disconnected AFS no longer has a race condition during remove ops.
535
536     * Fakestat avoids a condition which could cause it to block on network
537       activity.
538
539     * Several fixes to handle interruptions in vos operations. (33360,
540       125535)
541
542     * Allow more sysnames in a sysname list.
543
544     * Attempt to enforce timeouts on AFSDB lookups.
545
546   AIX
547
548     * Clean up properly on mount failure.
549
550     * Add entry to /etc/vfs to allow umount to work.
551
552   Linux
553
554     * Several issues to deal with older kernels.
555
556     * Avoid leaking the global lock in the /proc cellservdb code.
557
558     * Keyring destruction now cleans up all tokens.
559
560     * Keyring quotas are not enforced against root.
561
562   MacOS
563
564     * Some FSEvents hinting for authentication events now done. (23781)
565
566     * Update uninstaller. (125634)
567
568     * Rewrite afssettings and fstab code to avoid licensing issue with
569       APSL.
570
571     * Growl client for user monitoring of AFS events included.
572
573     * Properly support insert-only dropboxes.
574
575     * Add bulkstat support.
576
577     * Include support for moving in Finder across mount points.
578
579     * Preferences Pane includes support for Kerberos 5 ticket renewal.
580
581
582 OpenAFS 1.5.72 (2010-02-15)
583
584   All platforms
585
586     * Provide internationalization support in com_err.
587
588     * Fix array length checking to avoid crashes when checking for a
589       volume type based on name in vos.
590
591   All server platforms
592
593     * Provide backward compatible "-f" flag to salvager for force mode.
594
595   Microsoft Windows
596
597     * Restore use of DNS AFSDB and SRV records by kaserver clients.
598
599   All UNIX client platforms
600
601     * Fix client cache file truncation to not lose chunks when truncating
602       a large file.
603
604     * Ensure a cache writeback hook is installed in the client (bug from
605       1.5.71).
606
607     * Avoid spurious free memory warnings during clean shutdown.
608
609     * Fakestat mode avoids AFSDB lookups.
610
611     * "fs storebehind" now correctly reports errors on readonly volumes.
612
613     * Additional documentation for "fs getcacheparms"
614
615     * Forced new uuid generation with "fs uuid -generate" now works
616       enforced permission correctly.
617
618   MacOS
619
620     * Add optimized Rx event handler in kernel.
621
622     * Installer now allows installing an older version.
623
624     * Panic decoder can now deal with MacOS 10.5 again.
625
626     * MacOS ._ files are now correctly not looked up as cellnames.
627
628   Linux
629
630     * To deal with SELinux file labeling, try cache accesses with current
631       credentials in event of failure.
632
633     * Rx XDR encoding bug on i386 Linux is fixed (bug introduced in
634       1.5.71).
635
636   IRIX
637
638     * Code compilation fixes.
639
640   OpenBSD
641
642     * Update for OpenBSD 4.6.
643
644
645 OpenAFS 1.5.69 (2010-01-19)
646
647   All platforms
648
649     * Configuration of BOSserver no longer defaults to weekly restarts
650       enabled.
651
652     * Provide BOS restricted mode by default.
653
654     * Add support for "vos endtrans" command.
655
656     * Default to providing full output from vos listvol.
657
658     * Correct additional-address tracking in the fileserver.
659
660     * Improve Rx performance by not unnecessarily dropping and reacquiring
661       call locks in read and write processes.
662
663     * Avoid crashes when monitoring volserver transactions across
664       potential transaction garbage collection.
665
666     * Numerous warning fixes.
667
668   All server platforms
669
670     * Avoid saving fileserver state in demand attach fileserver when
671       panicing.
672
673     * Demand attach fileserver allows other callers to schedule salvages.
674
675     * Demand attach "bos salvage" now works correctly with restricted
676       mode.
677
678   Microsoft Windows:
679
680     * Numerous changes to the client-internal btree directory handling to
681       prevent errors.
682
683     * fs examine reports owner and group ids as signed values (PTS groups
684       are negative).
685
686     * Preclude corruption due to races writing to smb buffers.
687
688     * Allow MTU settings in registry to be used.
689
690     * Apply MTU to both send and receive sizes.
691
692   All UNIX client platforms
693
694     * Avoid double-freeing Rx call structure if reading a response from
695       the file server results in a short read.
696
697     * Handle negative lengths in FetchStatus results correctly.
698
699     * Properly clean up allocated memory at shutdown.
700
701     * Default to AFSDB compiled into the cache manager.
702
703     * Avoid inadvertant disclosure of stat() information to clients not so
704       entitled.
705
706     * Correct a bug with AFSDB lookups introduced with SRV record support.
707
708   MacOS
709
710     * Install kernel panic processing tool in /Library/OpenAFS/Tools.
711
712     * Include debugging symbols for kernel extension in additional package.
713
714     * Support "Application Firewall" users.
715
716     * Avoid ._cellname AFSDB lookups.
717
718     * Compile preferences pane as a universal binary.
719
720   Linux
721
722     * Use splice to speed up storing files.
723
724     * When using memcache, avoid duplicating work in readpages.
725
726     * Use dget_parent to safely find an inode's parent.
727
728     * Disable access time updates in our superblock.
729
730     * Avoid crashing doing writeback if no credentials were stashed at
731       file open.
732
733     * Simplify keyring support.
734
735     * Properly clean up vcache in event of failed mount.
736
737   FreeBSD
738
739     * Update for current FreeBSD 8.
740
741   Solaris
742
743     * Abstractly manipulate groups as now required.
744
745     * Abstractly access time instead of using lbolt directly.
746
747
748 OpenAFS 1.5.68 (2009-12-08)
749
750   All platforms
751
752     * aklog now attempts to convert non-AFS errors to human-readable
753       strings.
754
755     * Make stack not executable when compiling assembler source with GCC.
756
757     * Numerous source warning cleanups and code reorganization.
758
759   All server platforms
760
761     * Compute midnight for volume statistics calculation from local time.
762
763     * Salvager now orphans duplicate special inodes when running to allow
764       recovery in event of a problem, instead of simply ignoring the
765       issue.
766
767     * Support to ensure a server panic attempt leaves a core and thus
768       restarts in a timely manner, rather than potentially hanging. Use
769       panic to attempt cleanup before leaving a core when possible.
770
771     * Volume sync data reported during bulkstatus is now set correctly.
772
773     * Provide better tuning for fileserver file descriptor caching.
774
775     * Allow more than 128 threads in fileserver by modifying host
776       structure in-use tracking.
777
778     * Avoid crashes getting volume server status during transaction
779       cleanup.
780
781     * Improved logging of offline volume conditions.
782
783     * Correct volume statistics when cloning a volume.
784
785     * Avoid referencing host structures in the fileserver which are marked
786       for deletion.
787
788     * Demand attach fileserver corrections to avoid coring during an
789       aborted startup.
790
791     * host array bounds checking corrections to avoid buffer overflow.
792
793     * Handle special inodes correctly when promoting an inode fileserver
794       readonly volume to read-write.
795
796   Microsoft Windows
797
798     * Set the DOS Readonly attribute on a file/directory whenever the unix
799       mode combined with the mask 0200 is true.  Previously there was a
800       discrepency between the mask used for testing for readonly behavior
801       and that used for setting the attribute.
802
803     * Disable AFSVolSync based .readonly "whole-volume callback" support
804       because the all file servers prior to 1.5.67 (and perhaps 1.4.12) do
805       not properly assign a value to the AFSVolSync structure in bulk
806       status RPC responses.
807
808     * Improve the error output from aklog to output the value from krb5
809       error_message() if the afs_com_err output indicates an unknown
810       value.
811
812     * Convert VBUSY and VRESTARTING to CM_ERROR_ALLBUSY and do not permit
813       them to be exposed to the smb redirector.
814
815     * Convert STATUS_TIMEOUT responses to STATUS_IO_TIMEOUT to avoid
816       confusion within the smb redirector.
817
818     * Fix the byte order assigned to port numbers associated with AFSDB
819       record lookups.  They must be network byte order not host byte
820       order.
821
822     * Add dynamic server ranking based on RPC round trip time
823       measurements.
824
825   All UNIX client platforms
826
827     * Additional shutdown-time memory leaks removed.
828
829     * Improved logging of resource contention.
830
831     * Provide dumping for Rx debug packet tracking support in source.
832
833     * Update afscp test client to build, and provide an unlock client.
834
835     * Client buffers for directory parsing can now be allocated beyond the
836       fixed set formerly provided.
837
838     * Work around race condition when manipulating read-only volume
839       callbacks.
840
841     * Bugfixes to get PAG value pioctl.
842
843     * Bugfixes to SRV record support.
844
845   Linux
846
847     * Path MTU tracking code cleanup.
848
849     * Avoid an oops due to racing with vcache recycling thread.
850
851     * Changes to keyring PAG handling: for sufficiently new kernels, use
852       only keyring-based PAGs, and disable group PAGs entirely.
853
854     * Updates to the kernel page cache interface: writing pages will now
855       not spuriously leak page locks, and will avoid requiring duplicate
856       work.
857
858     * Credential references are now tracked using native atomic counters.
859
860     * Kernel mutex/semaphore lock ordering fix to avoid deadlocks.
861
862     * Manipulate disk cache with credentials used to initialize it, to
863       avoid security issues.
864
865   MacOS
866
867     * Fix fstrace message catalog location.
868
869     * Fix kernel fstrace logging.
870
871
872 OpenAFS 1.5.66 (2009-10-25)
873
874   All platforms
875
876     * Avoid calling exit() in library code.
877
878     * Add rx window size and peer timeout tuning APIs.
879
880     * Correct rx peer timeout handling to disallow 0ms timeouts.
881
882     * Correct calculation of rx RTT by disregarding retransmitted packets.
883
884     * vos manpages updated to reflect changes in recent versions.
885
886     * GNU-style long options (e.g. --cell) are now supported in all
887       commands.
888
889     * fs listacl can now print a command to recreate the current ACL.
890
891   All server platforms
892
893     * Fix a race on transaction objects in the volserver which can cause a
894       crash.
895
896     * Avoid destroying and setting to NULL the callback connection when it
897       could still be being used.
898
899     * Correct unlink handling in salvager.
900
901     * Improve error messages due to I/O errors in the volserver.
902
903     * Correct an issue which caused converted RO to RW volumes on namei
904       fileservers to not come online immediately.
905
906   Microsoft Windows
907
908     * Official support for Windows 7 and Server 2008 R2.
909
910     * Prevent a file server bug (FetchData returning an invalid length
911       instead of zero) from causing an "unexpected network error" when
912       writing to files.
913
914     * Promote DNS SRV records as superior to DNS AFSDB records.  Support
915       arbitrary port numbers for vldb servers.
916
917     * Add AFSVolSync based .readonly "whole-volume callback" support.
918       With this functionality, multiple objects from a .readonly volume
919       can have their status validated by issuing a single
920       RXAFS_FetchStatus RPC.
921
922     * Remove drive mapping functionality and service start/stop from
923       afscreds.exe.
924
925     * Remove drive mapping functionality from afs_config.exe.
926
927     * Use {HKLM,HKCU}\SOFTWARE\OpenAFS\Client DWORD "ShowMountTab" to
928       restore access to drive mapping functionality in afscreds.exe and
929       afs_config.exe.
930
931     * Adjust SMB error return codes to avoid returning STATUS_TIMEOUT
932       which results in the SMB redirector disconnecting.
933
934     * Network Identity Manager OpenAFS Provider now provides its own "AFS
935       lock" notification icon to report the status of "have tokens, have
936       no tokens, service not started, service started but inaccessible".
937       Hovering over the icon lists the cells for which tokens exist (if
938       any) and the OpenAFS version number.  Double-clicking executes the
939       Network Identity Manager default action.
940
941     * Prevent pioctl calls from retrying indefinitely when a sharing
942       violation error occurs.
943
944   All UNIX client platforms
945
946     * Correct a condition which could discard the error from initializing
947       a fetch request.
948
949     * Avoid using invalid references to afs_Conn connection structures,
950       and thus potentially producing invalid data when a retry is needed.
951
952     * SRV records are now supported for discovering AFS servers.
953
954   Linux
955
956     * Correct writepage behavior.
957
958     * Fix error code handling in the writepage code.
959
960     * Avoid leaking page locks, which could potentially hang a machine.
961
962   MacOS X
963
964     * Preferences Pane improvements.
965
966   HP-UX
967
968     * Avoiding attempting to handle critical signals in servers, so that
969       core file handling works correctly.
970
971
972 OpenAFS 1.5.65 (2009-10-06)
973
974   All platforms
975
976     * Code compilation warning fixes, to enable better finding and
977       tracking bugs.
978
979     * Provide configure-time switch to enable code warning compilation.
980
981   All server platforms
982
983     * Demand-attach fileserver now makes volume LRU list operations
984       exclusive operations to avoid races during adding to the list.
985
986     * Fileservers now avoid potential "negative length" fetches.
987
988     * A leak in host tracking objects in the fileserver has been fixed.
989
990     * Salvager now unlinks all files by full path, to deal with the change
991       to not chdir for core file tracking.
992
993     * Salvager avoids asserting if the volume header is unreadable.
994
995     * Demand-attach fileserver puts back volume references from fssync
996       handlers when done.
997
998   Microsoft Windows
999
1000     * Improved service response to suspend and shutdown event
1001       notifications.
1002
1003     * Avoid a bug in the file server that can result in an invalid length
1004       being returned as part of a fetch data response if the client
1005       attempts to read beyond the length of the file.
1006
1007     * Do not publish a default stream object for directories and mount
1008       point objects.  This was impacting the ability of some Windows XP
1009       systems to save roaming profiles.
1010
1011   All UNIX client platforms
1012
1013     * A bug which could cause erroneous handling of lengths on data reads
1014       has been fixed.
1015
1016     * A bug where erroneous length returns from the fileserver could
1017       result in a false error has been fixed.
1018
1019   Linux
1020
1021     * Background page copies are now supported for enhanced disk cache
1022       read performance.
1023
1024     * Blocking readahead is supported in readpages() to reduce overhead.
1025
1026     * Use readpage() instead of read() to access cache data to avail disk
1027       cache users of the kernel backing cache for improved performance.
1028
1029     * Minimize credential handling for improved performance.
1030
1031   MacOS X
1032
1033     * Preferences Pane cleanup.
1034
1035   Solaris
1036
1037     * Provide a fs_pathconf method with sensible defaults.
1038
1039     * Provide a _PC_FILESIZEBITS method to fix some NFS translator
1040       consumers.
1041
1042
1043 OpenAFS 1.5.64 (2009-09-22)
1044
1045   All server platforms
1046
1047     * The demand attach fileserver now puts back volume references gotten
1048       via the fssync interface.
1049
1050     * The demand attach fileserver had a structure reference error, which
1051       has been correected.
1052
1053   Microsoft Windows
1054
1055     * Restores Windows 2000 compatibility.
1056
1057     * Fixes a data consistency error between the output of NetWkstaGetInfo
1058       and NetServerGetInfo RPCs, specify the Lan workstation group name
1059       "AFS", and report server name as "AFS" instead of "\\AFS" when the
1060       caller asks for "\\AFS".
1061
1062     * Enables executables to be run from \\AFS on Windows 7.  Returns
1063       "Name not found" instead of "File not found" when a directory or
1064       file name cannot be found.  This avoids loader errors when system
1065       dlls cannot be located in the executable directory.
1066
1067     * Prevents cache manager from marking the file server "down" when the
1068       data returned in response to either RXAFS_FetchData64 or
1069       RXAFS_StoreData64 is invalid.
1070
1071     * Adds pioctl data validation to the AFS Explorer Shell extension.
1072
1073   All UNIX client platforms
1074
1075     * A bug which could cause a kernel panic in 1.5.63 has been corrected.
1076       This would manifest as a GetDCache panic or oops.
1077
1078   Linux
1079
1080     * aklog -setpag works again with recent kernels when keyring is in
1081       use.
1082
1083   MacOS
1084
1085     * When Fast User Switch is in use, AFS login is now handled correctly
1086       by the integration tool included with the preferences pane.
1087
1088     * Several packaging bugs have been corrected.
1089
1090
1091 OpenAFS 1.5.63 (2009-09-11)
1092
1093   All platforms
1094
1095     * The restorevol command is now documented and installed as a user
1096       command.
1097
1098     * The uss command now properly translates vldb entries to its expected
1099       format when handling them in all cases.
1100
1101     * Documentation now refers to Kerberos instead of kaserver.
1102
1103   All server platforms
1104
1105     * bosserver now handles BosConfig.new when restarting, allowing
1106       configuration to be replaced at restart time rather than with bos
1107       delete and bos create.  Documentation is updated to reflect this.
1108
1109     * The demand attach fileservice not longer potentially hangs trying to
1110       terminate demand-salvages which have already exited.
1111
1112     * The demand attach fileservice has been modified to avoid spurious
1113       'SYNC_putRes: write failed' warnings when some protocol messages
1114       cannot be acknowledged due to the sender terminating the connection.
1115
1116     * In the event of failure to contact the vlserver or ptserver, the
1117       fileserver will not exit and trigger a forced salvage. It will
1118       continue to try in the background to contact the needed services.
1119
1120     * The salvager can now repair certain cases of a damamged vnode index.
1121
1122     * The accessDate metadata for a volume is now updated correctly.
1123
1124   Microsoft Windows
1125
1126     * CRITICAL: Some applications for example those based on Cygwin were
1127       unable to access data stored in the AFS name space.  Explorer Shell
1128       also experienced inconsistent behavior.  This is fixed.
1129
1130     * CRITICAL: Multiple AFS pioctl requests issued nearly simultaneously
1131       by applications could result in pioctl responses being received by
1132       the wrong requester.  This in turn could result in application
1133       crashes.  symlink.exe, fs.exe, afslogon.dll, afscreds.exe, and the
1134       netidmgr afscred.dll plugin were all affected.
1135
1136     * Some XP machines running 1.5.62 had trouble saving roaming profile
1137       data.  This is fixed.
1138
1139     * Integrated Logon (afslogon.dll) did not function with domain
1140       specific configurations.
1141
1142     * Ensure that access denied and over quota errors experienced while
1143       storing data to the file server do not result in on-going retry
1144       attempts.
1145
1146   All UNIX client platforms
1147
1148     * Except on Solaris and AIX, the compiler may now be overriden at
1149       configure time by setting the CC environment variable.
1150
1151     * afsd now properly deals with large cache partitions.
1152
1153   FreeBSD
1154
1155     * Build shared libafsauthent and libafsrpc.
1156
1157   Linux
1158
1159     * Kernel module DKMS support now installs an unstripped module to
1160       allow debugging information to be collected.
1161
1162   MacOS
1163
1164     * Preferences pane properly updates token information.
1165
1166   MacOS 10.6
1167
1168     * klog will now properly handle passwords of 8 or fewer characters
1169       with an AFS string to key on hosts able to run 64 bit binaries.
1170
1171     * A panic at AFS shutdown due to "NO PCB" on a udp_lock has been
1172       addressed.
1173
1174     * The panic decoder script included in the source now properly handles
1175       32 and 64 bit panics.
1176
1177   NetBSD
1178
1179     * Avoid defining AFS_KERBEROS_ENV globally as it creates a circular
1180       dependency.
1181
1182     * Build shared libafsauthent and libafsrpc.
1183
1184   OpenBSD
1185
1186     * Build shared libafsauthent and libafsrpc.
1187
1188
1189 OpenAFS 1.5.62 (2009-08-28)
1190
1191   All platforms
1192
1193     * Numerous invisible changes to improve code maintainability,
1194       portability and enhanceability.
1195
1196   Microsoft Windows
1197
1198     * CRITICAL: Fixes two errors that can result in data loss when storing
1199       data to the file server.
1200       1. Failure to Store Portions of Unaligned Writes
1201       2. Failure to Store Data to File Servers Lacking Large File Support
1202       Read the announcement for more details:
1203         http://www.openafs.org/pipermail/openafs-announce/2009/000305.html
1204
1205     * CRITICAL: The cache manager daemon thread could terminate when the
1206       machine enters suspend mode.  This daemon thread performs the
1207       background check of down servers, offline volumes, callback
1208       expirations, etc.
1209
1210     * CRITICAL: Integrated Logon (afslogon.dll) was terminating
1211       unexpectedly.  Error checking has been improved and NULL pointer
1212       dereferences after Lsa API calls fail have been eliminated.
1213
1214     * For the first time, the OpenAFS SMB Server supports the DCE RPC
1215       services SRVSVC and WKSSVC.  Browsing \\AFS with the Explorer Shell
1216       or NET VIEW will now be faster and provide additional functionality.
1217       No longer will cell names longer than 12 characters be truncated.
1218
1219     * Improvements to DFS Referral request processing have been
1220       implemented.
1221
1222     * Unnecessary DNS lookups of share names are avoided improving
1223       performance.
1224
1225   All UNIX client platforms
1226
1227     * Non-Kerberos PAM modules work correctly again.
1228
1229   MacOS X
1230
1231     * MacOS 10.6 (Snowleopard) is now supported, both 32 and 64 bit mode.
1232
1233     * Updates to the AFSCommander preferences pane.
1234
1235     * Installer now permits cell names with dashes.
1236
1237
1238 OpenAFS 1.5.61 (2009-08-06)
1239
1240   All platforms
1241
1242     * Correct another race condition in the Rx library that could result
1243       in an unexpected panic while freeing the Rx call iovq.
1244
1245     * rx packet resend and data packets sent counts were incorrect.
1246
1247     * fs setquota, fs setcachesize, vos setfields, and vos create now
1248       accept human readable orders of magnitude. (K, M, G)
1249
1250     * fs listquota fixed to permit large quota sizes to be displayed.
1251
1252     * Correct documentation of bosserver permissions requirements.
1253
1254     * Modify vlserver to avoid potentially corrupting the database through
1255       volume id reuse.
1256
1257     * Generalized support for fast Rx timeout due to network
1258       down/unreachable.
1259
1260   All server platforms
1261
1262     * Allow audit logs to be sent via sys5 IPC message queues instead of
1263       logged directly.
1264
1265   Microsoft Windows
1266
1267     * If a file server becomes inaccessible while the cache manager has
1268       dirty buffers to write, the afsd_service buf_IncrSync thread can
1269       attempt to use 100% of the cpu.
1270
1271     * Fix "fs newcell" which was broken in 1.5.60.
1272
1273     * Do not attempt to synchronize dirty buffers if the associated volume
1274       is known to be unavailable.
1275
1276     * Modify behavior of a Freelance mountpoint target that does not
1277       specify a cell.  Instead of assuming the target volume is in the
1278       Freelance.Local cell, use the workstation "Cell" specified in the
1279       registry. A mountpoint target of "#root.cell." will now mean the
1280       root.cell volume in the workstation cell for the current session.
1281       If the workstation cell changes from "athena.mit.edu" to
1282       "andrew.cmu.edu", the referenced volume will also change without
1283       requiring that the mount point targets be altered.
1284
1285     * Add cm_FindServerByUuid().  Re-implement RXAFS_InitCallBackState3()
1286       to permit the server Uuid to be used to lookup the server object and
1287       from that determine the cell.  This permits callbacks that are
1288       received from alternate addresses to be processed with a known
1289       server object.  Previously a request from an unknown server would
1290       clear all callbacks from all cells.
1291
1292     * Fix a bug that prevented optimal performance when using a non-zero
1293       value for 'daemonCheckVolCBInterval'.  As a reminder, when
1294       "daemonCheckVolCBInterval" is set to a non-zero value, all .readonly
1295       volume callbacks are automatically renewed 90 minutes before their
1296       expiration.
1297
1298     * Fix automatic ranking of vldb servers whose values are obtained from
1299       the CellServDB file.
1300
1301     * Add failover for RX CALL TIMEOUT errors when the volume is readonly
1302       or the call is to a vldb server.
1303
1304     * Add registry based cell search functionality to NetIdMgr,
1305       afs_config.exe, and klog.exe.
1306
1307     * afsconf_GetCellInfo() has been modified to perform gethostbyname()
1308       lookups on the host names in the CellServDB instead of using the
1309       specified IP addresses.  This provides aklog, pts, vos, etc. the
1310       same CellServDB behavior that the Windows Cache Manager uses.
1311
1312     * When updating the stat cache entry callback of a .readonly object
1313       from the volume group object, update the file server reference to
1314       ensure it matches the most update to date callback.
1315
1316     * Add proper support for processing callbacks from multi-homed file
1317       servers.  Instead of comparing servers by cm_server_t pointer,
1318       compare them by UUID when the UUID is known.
1319
1320     * During a shutdown short circuit the offline volume check daemon
1321       functionality.
1322
1323     * Return the error code of RXAFS_FetchData / RXAFS_StoreData in
1324       preference to an error code reported by rx_EndCall.
1325
1326     * Add "PerFileAccessCheck" registry value to permit testing against
1327       experimental file servers that include per-file acl support.  This
1328       value is intentionally undocumented.  It is not to be used by
1329       production environment deployments.
1330
1331     * Fix a bug introduced in 1.5.60 that prevents the afs netidmgr
1332       provider from obtaining tokens when referrals are in play.
1333
1334     * Add "fs chown" and "fs chgrp" commands to permit the owner and group
1335       of objects stored in AFS to be set from Windows.
1336
1337     * Avoid performing background daemon operations when the machine is
1338       going into suspend mode.
1339
1340     * Perform offline volume checks in most recently used order.
1341
1342     * Prevent crash when a data version for a cache object goes backwards.
1343
1344     * Multi-thread safe library versions are now being generated and used.
1345       mtafsubik.lib, mtafsutil.lib, mtafsvldb.lib, mtafsvol.lib.
1346
1347     * Microsoft SMB Redirector (mrxsmb.sys) support for
1348       ExtendedSessTimeout values are now available on XP through Windows
1349       7.  Add functionality to autodetect if such support is present on
1350       the machine.  If so, configure it if necessary and dynamically
1351       adjust the AFS Rx timeout values accordingly.
1352
1353   All UNIX client platforms
1354
1355     * Fix out-of-tree source builds.
1356
1357   MacOS
1358
1359     * GUI installer now asks for local cell information.
1360
1361     * AFS Commander preferences pane is now installed by default.
1362
1363   Solaris
1364
1365     * Avoid kernel panics due to null pointer dereferences in the network
1366       interface poller kernel thread.
1367
1368
1369 OpenAFS 1.5.60 (2009-05-31)
1370
1371   All platforms
1372
1373     * Retry volserver transaction creation on failure.
1374
1375     * Allow building HTML and PDF documentation from included XML copies
1376       of User Guide, Admin Guide and Quick Start Guide for Unix.
1377
1378     * Documentation updates and additional documentation.
1379
1380     * Add -encrypt support to pts client.
1381
1382     * Convert MR-AFS fs commands to OSD commands.
1383
1384   All server platforms
1385
1386     * Updated background sync process in fileserver to avoid a race which
1387       could result in a volume being taken offline.
1388
1389   Microsoft Windows
1390
1391     * On April 9th Microsoft released a Hot Fix for Windows Server 2003
1392       SP2 that corrects a deadlock in the smb redirector and also adds new
1393       functionality that permits the AFS SMB server to be given a longer
1394       timeout than is normally the case.  New functionality has been added
1395       to configure these additional LanmanWorkstation\Parameter values.
1396       (This functionality has been backported to XP SP3 and is scheduled
1397       to be released on June 5th.)
1398
1399     * Fix RT#124787, a race condition between "fs flush <dir>", "fs
1400       flushvolume", or "fs flushall" and on-going directory operations
1401       that can result in afsd_service.exe crashing.
1402
1403     * Release Notes, User and Administrator guides are now shipped as
1404       indexed Windows HtmlHelp Files. (.chm).  Shortcuts are provided from
1405       the Start Menu.
1406
1407     * A method of specifying Client CellServDB information within the
1408       registry has been added that can be used to either override the
1409       CellServDB file or force the use of DNS lookups for a given cell.
1410       See the release notes for details.
1411
1412     * The pioctl interface now properly handles drive letter substitution
1413       to UNC paths.  (SUBST <d:> <\\afs\cell\path>)
1414
1415     * The BackConnectionHostNames registry value configuration was broken
1416       when dynamic re-establishment of Netbios Name registrations was
1417       added.  This release restores the functionality.
1418
1419     * All hidden vos.exe commands are now revealed.
1420
1421     * Attempts to store the same dirty file chunk from multiple threads
1422       are now prevented.
1423
1424     * The IsPathInAfs test in Explorer Shell Extension and fs.exe now
1425       permits broken symlinks to be treated as being in AFS.
1426
1427     * vos.exe commands that output 64-bit integer values once again do so.
1428       This was broken in 1.5.59.
1429
1430     * Cygwin Import Libraries are provided in the SDK for all OpenAFS
1431       DLLs.  This permits building cygwin applications against OpenAFS
1432       libraries.
1433
1434     * NSIS installer does a much better job of cleaning up files left over
1435       from previous installs.
1436
1437     * libafsconf.dll moved from Client\Program to Common directory as is
1438       is now used by all modules for CellServDB processing.
1439
1440   All UNIX client platforms
1441
1442     * Write back changes on last store for memcache to avoid discarding
1443       changes.
1444
1445     * Abstract disk cache support to allow for path, fh, inode based
1446       caches with no need for messy ifdef structures each time a new type
1447       is added.
1448
1449   DragonflyBSD
1450
1451     * Support as a userland port.
1452
1453   FreeBSD
1454
1455     * Corrected structure definition for userspace cache manager to allow
1456       builds to complete.
1457
1458   Linux
1459
1460     * Corrected client locking support.
1461
1462     * Updated patch to stop deadlocking in the kernel during mmap.
1463
1464     * Avoid oops when setting up groups for PAGs to match keyrings.
1465
1466     * Use Linux fh-based cache in cases where possible by default.
1467
1468   MacOS 10.3:
1469
1470     * Corrected structure definition for userspace cache manager to allow
1471       builds to complete.
1472
1473   OpenBSD
1474
1475     * Support for OpenBSD 4.5.
1476
1477   Solaris
1478
1479     * Corrected support for server-side vos split interface.
1480
1481
1482 OpenAFS 1.5.59 (2009-04-06)
1483
1484   Microsoft Windows
1485
1486     * Increased service priority class to "High" to match the priority of
1487       system components that are dependent upon the a timely response.
1488
1489     * SMB error responses avoid returning errors that could confuse the
1490       Microsoft SMB redirector into disconnecting the connection to \\AFS.
1491
1492   All UNIX client platforms (except MacOS X 10.4 and 10.5)
1493
1494     * OpenAFS 1.5.59 contains fixes for the client issues addressed by the
1495       security advisories OPENAFS-SA-2009-001 and OPENAFS-SA-2009-002.
1496
1497   Linux platforms
1498
1499     * Support for prerelease Linux 2.6.30 kernels.
1500
1501
1502 OpenAFS 1.5.58 (2009-03-30)
1503
1504   All platforms
1505
1506     * Code cleanup and prototyping.
1507
1508     * Avoid unnecessary blocking in Rx periodic cleanup code.
1509
1510   All server platforms
1511
1512     * Fileserver CopyOnWrite routine optimized for performance.
1513
1514     * Make fileserver callback dumps 64 bit safe.
1515
1516     * Fix byte order issues with fileserver host hashing.
1517
1518     * Fix buffer size issues with butc.
1519
1520     * Fix several Ubik recovery issues.
1521
1522     * Avoid leaking file references in the fileserver.
1523
1524     * Fix a race in DAFS while closing vnodes, and another offlining
1525       volumes.
1526
1527     * volserver interfaces for volume splitting client.
1528
1529   Microsoft Windows
1530
1531     * [RT 124293] A race condition exists which can result in a crash.
1532
1533     * [RT 124276] If the vldb is out of sync with the contents of the file
1534       servers, afsd_service will retry too many times when a file server
1535       reports a volume as not being present.  Now if the list reported by
1536       the vldb is the same as the previously seen list, then the retry is
1537       aborted.
1538
1539     * [RT 124276] Read-only volume failover was broken in 1.5.53 whenever
1540       accessing a volume results in VNOVOL or VMOVED.
1541
1542     * [RT 124276] Prior to 1.3.70 the volume server reference list was not
1543       reference counted and would be prematurely freed while in use.  When
1544       reference counting was added in 1.3.70 a bug was introduced that
1545       could result in service reference list corruption.
1546
1547     * Add Windows Application Event Log warning messages for "Client SMB
1548       MPX value too large" and "Client SMB Buffer Size too small".
1549
1550     * Renaming of files across directory boundaries would result in an
1551       invalid handle error when attempting to access the files after the
1552       move.
1553
1554     * Fix the handling of Tran2 Set Path Info RPCs.  Do not fail when a
1555       smb file descriptor cannot be found.  The whole point of using a
1556       Path Info function is because an smb file descriptor wasn't
1557       allocated.
1558
1559     * More edge cases in which dynamic addition of Freelance root.afs
1560       entries would get the wrong FID or where the root.afs directory
1561       would not be refreshed.
1562
1563     * Buffer overflow could occur if the workstation cell name was longer
1564       than 64 characters.  Crashes could occur in afscreds.exe,
1565       afslogon.dll, and afsd_service.exe.
1566
1567     * VNOSERVICE and VOFFLINE errors were leaking and were exposed to the
1568       smb client.
1569
1570     * Log file server uuid values as part of the cm_server object when
1571       available.  Dump the cm_server object list in response to "fs
1572       memdump".
1573
1574     * Optimize the performance of resetting access control lists when
1575       tokens are set or removed.
1576
1577     * Remove symlink recursion tests and increase max symlink count to 64
1578       from 16.
1579
1580     * Windows specific Rx performance improvements.
1581
1582     * Support for Network Identity Manager 2.0
1583
1584   All UNIX client platforms
1585
1586     * Avoid issues with freeing resources at shutdown.
1587
1588     * Numerous fixes to disconnected AFS.
1589
1590     * Disconnected AFS fixes for replaying changes without double-freeing.
1591
1592     * Attempt to use krb524 principal conversion in aklog if available.
1593
1594   AIX
1595
1596     * Kerberos configuration at build time corrected.
1597
1598   Linux
1599
1600     * Default to dynamic allocation of AFS kernel cache entries to allow
1601       growth for inotify()-pinned entries. (beagle, famd, etc)
1602
1603     * Change client truncation routines to avoid locking issues.
1604
1605     * IA64 port clients fixed on Linux 2.6.
1606
1607     * RPMs now install fstrace message catalog.
1608
1609     * Support through kernel 2.6.29 tested.
1610
1611     * Fix locking issues on CellServDB file in /proc.
1612
1613   OpenBSD
1614
1615     * Support OpenBSD 4.4
1616
1617
1618 OpenAFS 1.5.57 (2009-01-23)
1619
1620   All platforms
1621
1622     * Conditional compilation of rxdebug support is now possible.
1623
1624     * Documentation updates.
1625
1626     * Further race connditions in Rx have been corrected.
1627
1628   All server platforms
1629
1630     * Salvager no longer attempts to recreate headers in the wrong
1631       partition.
1632
1633     * Volumes are properly marked in use on creation and subsequently on
1634       examination with vos.
1635
1636   Microsoft Windows
1637
1638     * Undo the "UAC manifest fix" applied to afs_config.exe.
1639
1640     * Ensure that Freelance allocation of vnodes follow the AFS convention
1641       of odd vnodes are directories and everything else is an even vnode.
1642
1643     * Add Freelance logic to mount point and symlink evaluation functions.
1644
1645     * Enhance smb_ParseASCIIBlock() so that it can handle all of the
1646       STRING formats defined by the CIFS Technical Report 1.0.
1647
1648     * Validate the output of smb_ParseASCIIBlock() in all callers.  Return
1649       CM_ERROR_BADSMB if the STRING field cannot be parsed.
1650       CM_ERROR_BADSMB will cause the contents of the packet to be logged.
1651
1652     * If multiple SMB Raw Write operations were taking place at the same
1653       time, there could be data corruption because unique event objects
1654       were not generated for each Netbios receive operation.
1655
1656   All UNIX client platforms
1657
1658     * Userspace AFS library can now deal with large files when supported
1659       by the platform.
1660
1661     * Numerous updates to disconnected AFS support, including changes to
1662       allow reconnection to work in more circumstances.
1663
1664   FreeBSD
1665
1666     * FreeBSD unstrategy code has been updated.
1667
1668   Linux
1669
1670     * A race during file truncation has been corrected.
1671
1672     * System call probing routines have been updated.
1673
1674     * 2.6.29 is now supported.
1675
1676   MacOS
1677
1678     * 10.3 support has been corrected.
1679
1680   OpenBSD
1681
1682     * Initial OpenBSD 4.4 support.
1683
1684   Solaris
1685
1686     * Updates to allow compiling on newer OpenSolaris are now included.
1687
1688
1689 OpenAFS 1.5.56 (2008-12-30)
1690
1691   All platforms
1692
1693     * libuafs (userspace cache manager) updated to correct several errors.
1694
1695     * Additional rx debugging support is available as a conditional
1696       compile.
1697
1698     * A race condition in Rx leading to a panic has been corrected.
1699
1700     * Rx idle time tracking has been corrected.
1701
1702     * ubik clone server support has been corrected.
1703
1704   All server platforms
1705
1706     * Salvager no longer leaves cores in vice partitions.
1707
1708     * The vol-dump tool now supports dumps larger than 2gb where possible.
1709
1710     * Operations on multiple files now report all FIDs in the audit log.
1711
1712     * butc XBSA support now works correctly on amd64.
1713
1714   Microsoft Windows
1715
1716     * The NetIDMgr AFS Provider automated configuration logic was broken
1717       by the introduction of Kerberos referrals.  If the realm of the
1718       identity cannot be determined, the workstation cell is now assumed
1719       to belong to the newly created identity.
1720
1721     * Avoid a reference count under flow during rename operations.
1722
1723     * Avoid a crash caused by treating an arbitrary length directory
1724       search mask as an 8.3 mask.
1725
1726     * Prevent rename operations if a case insensitive match for the target
1727       name already exists and does not refer to the object being renamed.
1728
1729     * Increase the maximum number of background daemons to 64.
1730
1731     * Fix the UAC manifest applied to afs_config.exe
1732
1733   All UNIX client platforms
1734
1735     * Updates to disconnected AFS support.
1736
1737   FreeBSD
1738
1739     * FreeBSD 7.1 is now supported.
1740
1741     * amd64 FreeBSD is now supported.
1742
1743   Linux
1744
1745     * Generic fh (exportfs API) cache type is now available.
1746
1747     * Avoid some oopses due to backing_dev_info inode fields not being
1748       filled.
1749
1750     * 2.6.28 is now supported.
1751
1752   MacOS
1753
1754     * 10.3 support has been corrected.
1755
1756   Solaris
1757
1758     * Large partition support has been corrected.
1759
1760     * Filesystem-agnostic cache is now available on Solaris 10 and 11.
1761
1762
1763 OpenAFS 1.5.55 (2009-11-10)
1764
1765   All platforms
1766
1767     * Salvager avoids leaving core files in vice partitions.
1768
1769     * NFS translator fixes.
1770
1771     * Unresponsive server handling fixes.
1772
1773     * A volserver race which could result in duplicate transactions is
1774       fixed.
1775
1776   Microsoft Windows
1777
1778     * Fixes a panic caused by corruption of the SMB virtual circuit list.
1779       (race condition)
1780
1781     * Fixes a panic caused by receipt of a UTF-16 string that cannot be
1782       converted to UTF-8.
1783
1784     * Implements a more aggressive recovery algorithm for Netbios errors
1785       that result in loss of communication to the AFS SMB server.
1786
1787     * Improve pioctl response time when testing whether or not a PATH is
1788       in AFS.
1789
1790     * Adds support for linked cells.
1791
1792     * Increases the length of the cell and realm names that can be input
1793       into the Network Identity Manage AFS provider configuration dialog.
1794
1795   All UNIX client platforms
1796
1797     * Disconnected AFS avoids infinite recursion during rmdir.
1798
1799   Linux
1800
1801     * Support for 2.6.28 (not complete for NFS translator modules).
1802
1803     * Support for using exportfs API for filesystem-agnostic cache.
1804
1805     * Disable backing store readahead.
1806
1807     * Avoid deadlocks when writing back mmapped files larger than the
1808       cache.
1809
1810     * Avoid Oops when doing PAG garbage collection.
1811
1812
1813 OpenAFS 1.5.54 (2008-10-08)
1814
1815   All platforms
1816
1817     * Updates for new Tivoli X/Open API finding.
1818
1819     * A double-free is corrected in Rx.
1820
1821   All server platforms
1822
1823     * Ubik cleans up file descriptor cache correctly when doing recovery.
1824
1825     * Enhanced vldb error checker included.
1826
1827   Microsoft Windows
1828
1829     * Prevent a crash that could occur when multiple file / directory
1830       change notifications are processed simultaneously.
1831
1832   MacOS
1833
1834     * AFS claims more free space so Finder will attempt file copies.
1835
1836   Linux
1837
1838     * Avoid spurious ENOENT when calling gwtcwd() on a volume root.
1839
1840     * Avoid spurious ENOTDIR during fakestat.
1841
1842
1843 OpenAFS 1.5.53 (2008-09-26)
1844
1845   All platforms
1846
1847     * rx avoids many packet leaks.
1848
1849     * rx jumbogram disabling now works (and is the default).
1850
1851   All server platforms
1852
1853     * Demand Attach fileserver tries to avoid issues tracking offline
1854       status of volumes.
1855
1856   Microsoft Windows
1857
1858     * Many potential deadlock conditions due to out of order lock
1859       acquisitions have been corrected.
1860
1861     * A race condition resulting in an undercount on the cm_scache_t
1862       reference counts has been corrected.
1863
1864     * An empty string when sent as an ioctl path is now properly
1865       interpreted as meaning the current directory.  This affects "fs
1866       lsm", "symlink list", etc.
1867
1868     * Fix smb string parsing differences where the smb protocol
1869       documentation does not match the actual Windows implementation.
1870
1871     * Random access denied errors fixed.
1872
1873     * A file server lock synchronization issue was corrected in SMB
1874       NTCreateX and NTTranCreate operations.  This bug prevented properly
1875       operation when loading roaming profiles.
1876
1877     * Fix a heap overwrite error during server probe operations if a new
1878       server is added while a probe operation is in progress.
1879
1880     * Fix an LSA memory leak that was the result of an LSA error.
1881
1882     * Do not leak cm_cell_t objects if the VLDB server lookup fails.
1883
1884     * Only initialize rx mutex/lock objects once.
1885
1886     * Do not nul terminate the AFS volume name when reported to Windows.
1887
1888     * Improve VNOVOL error handling.  Prevent updated vl information from
1889       being destroyed immediately after it was acquired.  This bug
1890       prevented proper fail over when volumes are moved or removed from a
1891       server.
1892
1893     * Remove volume id from the server volume list in response to VMOVED
1894       and VNOVOL errors.
1895
1896     * "fs flushXXX" commands now destroy locally built B+ directory trees.
1897
1898     * Prevent mixture of locally modified directory pages and file server
1899       directory pages.
1900
1901     * Fail over to alternate vl servers if a ubik error is returned.
1902
1903   All UNIX client platforms
1904
1905     * Disconnected AFS now supports read-write mode.
1906
1907     * volserver now builds correctly.
1908
1909   AIX
1910
1911     * AIX 6 is now supported.
1912
1913   FreeBSD
1914
1915     * FreeBSD 7 is now supported.
1916
1917   Linux
1918
1919     * cache bypass is now supported.
1920
1921     * 2.6.x kmod compilation now uses kernel compile options always.
1922
1923     * Support through 2.6.27.
1924
1925   MacOS
1926
1927     * Show more space free so Finder doesn't get confused.
1928
1929   Solaris 10
1930
1931     * Default to namei rather than inode.
1932
1933
1934 OpenAFS 1.5.52 (2008-08-18)
1935
1936   All platforms
1937
1938     * Initialize volume updateDate at volume creation.
1939
1940     * Avoid potential corruption of directories during salvage.
1941
1942     * Check for out of memory condition during allocation of additional Rx
1943       packets.
1944
1945   Microsoft Windows
1946
1947     * Restore support for Windows 2000 (broken in 1.5.50).
1948
1949     * Perform additional validation on volume names in mount points during
1950       creation and evaluation.
1951
1952     * Fix several deadlocks, races, and reference count issues.
1953
1954     * Further optimize SMB Directory Search processing and minimize the
1955       number of InlineBulkStatus RPCs sent to the file server.
1956
1957     * Enable "bos restricted" operations.
1958
1959     * Fix the create of submounts used by the AFSCreds and afs_config
1960       drive mapping tabs.
1961
1962     * Fix a short name truncation bug. (1.5.50)
1963
1964     * Fix the error code reported when attempting to delete a file on a
1965       readonly volume or one that is marked with the readonly DOS
1966       attribute.
1967
1968     * Fix a heap corruption error when reading the CellServDB file
1969       location.
1970
1971     * Add the "RxUdpBufSize" registry value.  The new default is 256KB.
1972
1973     * Do not include trailing NULs in the directory search output.
1974       (1.5.50)
1975
1976     * Pre-allocate 64 Rx Packet buffers per thread in order to improve
1977       performance.
1978
1979     * For debugging: add smb lock requests and stat cache lock allocations
1980       to the output from "fs memdump".
1981
1982   NetBSD
1983
1984     * Workaround broken sigwait() to allow fileserver to shut down
1985       correctly pre NetBSD 5.0.
1986
1987   Solaris 10
1988
1989     * Default to namei fileserver; Allow inode fileserver at configure
1990       time by override.
1991
1992   NFS translator
1993
1994     * Try harder to avoid kernel panics for malformed requests.
1995
1996
1997 OpenAFS 1.5.51 (2008-07-29)
1998
1999   All platforms
2000
2001     * salvager tries harder to arrange for clients to get VBUSY while
2002       salvaging single volumes.
2003
2004     * salvager avoids certain corruption when salvaging directories.
2005
2006     * Rx connection clones disabled.
2007
2008   Microsoft Windows
2009
2010     * The 32-bit EXE 1.5.50 installer failed to properly install the C
2011       Runtime library.  When used as an upgrade OpenAFS would continue to
2012       work but when used as a new installation, OpenAFS binaries would
2013       fail to load.
2014
2015     * Fixes the "fs" and "symlink" commands to properly parse Unicode path
2016       prefixes during the pioctl remote procedure call.  This bug would
2017       result in file not found errors for files and directories that
2018       clearly exist.  (Bug introduced in 1.5.50)
2019
2020     * Large File support is disabled. (Bug introduced in 1.5.50)
2021
2022     * Removes the possibility of a deadlock during volume location update
2023       operation if all of the reported file servers are unreachable at the
2024       time of the update.
2025
2026     * Ensures that reference counts are properly incremented/decremented
2027       on Rx connection objects used for volume location RPCs.
2028
2029     * Over Quota errors during cm_FSync() calls would lead to an infinite
2030       loop as the error was never propagated to the caller.
2031
2032   All UNIX client platforms
2033
2034     * Bugfixes to disconnected AFS support in the cache manager.
2035
2036
2037 OpenAFS 1.5.50 (2008-07-16)
2038
2039   All platforms
2040
2041     * volserver puts recloned volumes back online before returning the
2042       volume to the fileserver, avoiding spurious VNOVOL errors.
2043
2044     * Updated TSM X/Open API support available.
2045
2046     * Demand Attach fileserver will not crash due to accesses during
2047       volume cloning.
2048
2049     * Substantial documentation updates.
2050
2051     * Demand Attach fileserver state tracking and analyzer tool
2052       improvements.
2053
2054     * UAFS userspace cachemanager updates.
2055
2056     * Corrected support for anti-meltdown protection in the client.
2057
2058   Microsoft Windows
2059
2060     * UNICODE Character Set Support.
2061
2062     * Pioctl interfaces to the cache manager have been refactored to
2063       provide layering between the SMB specific code and the general
2064       purpose ioctl operation.
2065
2066     * Garbage collect dead SMB virtual circuits as soon as they are no
2067       longer being referenced.  This avoids problems with outstanding
2068       locks not being dropped when the virtual circuit becomes invalid.
2069
2070     * Remove the IBM Administration Reference documentation and replace it
2071       with the OpenAFS Command Reference Manual.
2072
2073     * Avoid calling rx_SetDeadTime and rx_SetHardDeadTime functions each
2074       time a connection is about to be used.  Do not hold a lock on the rx
2075       connection object while it is being selected.  This avoids a race
2076       between threads attempting to set the timeout values and removes a
2077       bottleneck that was hampering performance.
2078
2079     * Ensure that the smb directory attribute is set for all directory
2080       objects.
2081
2082     * Replace the VC Runtime EXE installer with the MSI installer in the
2083       NSIS installer scripts.
2084
2085   Solaris
2086
2087     * Support for updates to OpenSolaris.
2088
2089   Linux
2090
2091     * Correct dentry revalidation for cross-directory renames.
2092
2093     * Updated rpm packaging materials for 1.5 release series and 2.4
2094       kernels.
2095
2096     * Corrected syscall table probing.
2097
2098     * NFS translator updates for current kernels.
2099
2100
2101 OpenAFS 1.5.39 (2008-06-24)
2102
2103   All platforms
2104
2105     * Updates for Demand Attach fileserver.
2106
2107   Microsoft Windows
2108
2109     * Fix two memory leaks.
2110
2111     * Fix one missing lock.
2112
2113     * Handle access denied errors when writing dirty buffers.
2114
2115     * Fix two errors that would cause the *experimental* AFS Servers
2116       to crash.
2117
2118
2119 OpenAFS 1.5.38 (2008-05-24)
2120
2121   All platforms
2122
2123     * Add read-only disconnected support.
2124
2125
2126 OpenAFS 1.5.37 (2008-05-21)
2127
2128   All platforms
2129
2130     * Includes a number of optimizations for testing.
2131
2132
2133 OpenAFS 1.5.36 (2008-05-09)
2134
2135   All platforms
2136
2137     * Rx optimizations now attempt to deal with high latency WANs.
2138
2139     * Client will not wait infinitely for a server which is not providing
2140       data.  Additional servers will be polled without marking the server
2141       which is not providing data down.
2142
2143     * vos move will not erroneously unlock locked vldb entries on failure.
2144
2145   All server platforms
2146
2147     * Fileserver avoids a potential infinite loop when a client
2148       relinquishes an address.
2149
2150     * Fileserver large setting now configures more threads.
2151
2152     * Fileserver properly registers uuids of new clients.
2153
2154     * Ubik servers do not improperly hide updates from clients.
2155
2156     * Fileservers reserve enough file descriptors such that each thread
2157       can cache one to avoid spurious errors.
2158
2159   Microsoft Windows
2160
2161     * Fix a cm_buf_t reference count leak when attempts to write dirty
2162       buffers to the file server from within cm_IncrSyncer() fail.
2163
2164     * Prevent udebug from crashing.
2165
2166     * Another VNOVNODE issue fixed.  When writing a dirty buffer to the
2167       file server, if VNOVNODE is received, mark all buffers as invalid
2168       without further attempts to contact the file server.
2169
2170
2171 =======> Changes back to 1.3 have not yet been incorporated here <=======
2172
2173
2174 OpenAFS 1.3
2175
2176   * -nosettime is now the default for afsd.  Use "-settime" to get the
2177     old behavior.
2178
2179   * OpenBSD is now supported.
2180
2181   * Mountpoint directory information is now only faked for cross-cell
2182     mountpoints when using the -fakestat flag (e.g. for the directories
2183     under /afs, but not for most other volumes mounted inside the cell).
2184     The -fakestat-all switch can be used to fake information for all
2185     mountpoints.
2186
2187   * When fakestat is enabled on MacOSX, the Finder can be used to browse
2188     a fully-populated /afs directory.  However, this precludes reliable
2189     use of entire volumes as MacOS bundles (i.e. containing a Contents
2190     directory in the root of the volume).
2191
2192   * Mountpoint directory information can be faked by the cache manager,
2193     making operations such as stat'ing all cells under /afs much faster.
2194     This is enabled by passing -fakestat to afsd, but might not be stable
2195     on all platforms.
2196
2197
2198 OpenAFS 1.2.9
2199
2200   * The kaserver now defaults to not allowing interrealm authentication,
2201     due to security vulnerabilities in the krb4 protocol.  The new
2202     "-crossrealm" flag to the kaserver is provided to reenable interrealm
2203     authentication if desired.
2204
2205   * RedHat Linux 9.0 is now supported.
2206
2207   * Solaris 9 12/02 is now supported.  Solaris 7 and 8 x86 should now
2208     work again.
2209
2210   * On Linux machines using 2.2 series kernels, 2.2.19 or higher is now
2211     required.
2212
2213   * An OpenAFS 1.2.9 afsd will not work with kernel modules built from
2214     an earlier OpenAFS release.  In general, using a mismatched afsd and
2215     kernel modules set is unsupported; it is not recommended that you use
2216     such a configuration on a regular basis.
2217
2218
2219 OpenAFS 1.2.8
2220
2221   * Mountpoint directory information is now only faked for cross-cell
2222     mountpoits when using the -fakestat flag (e.g. for the directories
2223     under /afs, but not for most other volumes mounted inside the cell).
2224     The -fakestat-all switch can be used to fake information for all
2225     mountpoints.
2226
2227   * HPUX 11.0 is now supported.
2228
2229   * It is now possible for AFS to use Kerberos 5 directly, via rxkad 2b.
2230     See the OpenAFS 1.2.8 Release Notes for more information on using this
2231     capability.
2232
2233   * An NFS translator kernel module is now included and compiled by
2234     default for Solaris only.
2235
2236
2237 OpenAFS 1.2.7
2238
2239   * MacOS X 10.2 is now supported.  FreeBSD 4.3 and later support is
2240     included in this release, but is still under active development and
2241     should only be used by those doing active development on the OpenAFS
2242     FreeBSD client.
2243
2244   * When fakestat is enabled on MacOSX, the Finder can be used to browse a
2245     fully-populated /afs directory.  However, this precludes reliable use
2246     of entire volumes as MacOS bundles (i.e. containing a Contents
2247     directory in the root of the volume).
2248
2249   * The fileserver will now use Rx pings to determine if clients are
2250     reachable prior to allocating resources to them, to prevent asymmetric
2251     clients from consuming all fileserver resources.
2252
2253
2254 OpenAFS 1.2.6
2255
2256   * Mountpoint directory information can be faked by the cache manager,
2257     making operations such as stat'ing all cells under /afs much faster.
2258     This is enabled by passing -fakestat to afsd.
2259
2260   * Solaris 9 FCS and Solaris 7 and 8 x86 are now supported.
2261
2262
2263 OpenAFS 1.2.5
2264
2265   * A remote denial of service attack in the AIX and IRIX clients has been
2266     fixed.  Users of those platforms are strongly encouraged to upgrade.
2267
2268   * Fixed race conditions in fileserver that could result in crash.
2269
2270
2271 OpenAFS 1.2.4
2272
2273   * Server logfiles now more consistant about format in which hosts are
2274     referred to.
2275
2276   * vfsck on Solaris will now allow force runs (using -y flag) even if old
2277     inodes exist.
2278
2279
2280 OpenAFS 1.2.3
2281
2282   * Cell aliases for dynroot can be specified in the CellAlias file in
2283     /usr/vice/etc or /usr/local/etc/openafs, in format "realname alias",
2284     one per line.  They can also be managed at runtime with "fs newalias"
2285     and "fs listaliases".
2286
2287
2288 OpenAFS 1.2.2
2289
2290   * Solaris 9 and Linux PA-RISC are now supported.
2291
2292   * fileserver will not erroneously delay legitimate errors for 3 seconds
2293     after 10 errors are returned (e.g. stat() on a directory you can't
2294     read).
2295
2296   * Rx MTU calculation now works for Irix, Solaris and Linux
2297
2298   * If afsd is started with the -dynroot flag, /afs will be locally
2299     generated from the CellServDB.  AFSDB cells will be mounted
2300     automatically upon access.
2301
2302   * The namei fileserver allows vice "partitions" to be directories
2303     instead of partitions and will attach and display accordingly.
2304     Creating the file "AlwaysAttach" in the /vicepX directory is used as
2305     the trigger to attach it.
2306
2307   * TSM support for butc no longer requires editing a Makefile, simply
2308     specify the --enable-tivoli-tsm configure option.
2309
2310   * Linux builds no longer require source changes every time the kernel
2311     inode structure changes; the OpenAFS sources will now configure itself
2312     to the actual inode structure as defined in the kernel sources.
2313
2314
2315 OpenAFS 1.2.1
2316
2317   * vfsck on Digital UNIX and Solaris will now refuse to fsck mounted
2318     mounted partitions.
2319
2320
2321 OpenAFS 1.2.0
2322
2323   * AFS now supports --prefix and the other directory options of
2324     configure.  By default AFS builds assuming it will be installed in
2325     /usr/local.  In order to get traditional AFS directory paths (/usr/afs
2326     and /usr/vice/etc) use the --enable-transarc-paths option to
2327     configure.  More details on the new directory layout are found in
2328     README.
2329
2330
2331 OpenAFS 1.1.1a
2332
2333   * Windows 95/98/ME/NT/2000 - Consistent versioning:  Installation, AFS
2334     Control Center, Client dialog boxes and properties pages for
2335     executables display a consistent OpenAFS version number.  Installation
2336     detects previous installation and prompts the user for upgrade
2337     options.
2338
2339   * Windows 95/98/ME/NT/2000 - Installation features:  During installation
2340     the user can select the source of the CellservDB file, AFS home cell,
2341     and drive mappings.  During installation a drive path mapping can
2342     include a variable that will be substituted with the current UserName
2343     that is logged in.
2344
2345   * Windows 2000/NT - Integrated logon:  The Integrated Logon feature
2346     works now.
2347
2348   * Windows 95/98/ME - Logon script features:  The Windows 95/98/ME client
2349     now offers a command-line option for starting up the AFS client
2350     without authenication. It is now possilbe to start the AFS client
2351     first and obtain tokens, and map drives all through Windows scripts.
2352     This helps using Windows 95/98/ME client in Kerberos 5 environment.
2353
2354   * Windows 2000/NT - LANA numbers:  AFS client now scans the LANA numbers
2355     to establish the correct NETBIOS connection.  NetBEUI is no longer
2356     needed.  The user no longer needs to find the correct LANA number.
2357
2358   * Windows 2000/NT - OpenAFS naming consistancy:  Further progress has
2359     been made to remove references to "Transarc AFS" and replace with
2360     "OpenAFS".
2361
2362
2363 OpenAFS 1.0
2364
2365   * AFS now builds with configure. The README for building has been
2366     updated and includes full details.
2367
2368   * A client system can now have multiple sysname values for @sys.  They
2369     will be searched in order when looking up files in AFS.  The
2370     -newsysname argument to fs sysname can be repeated to set multiple
2371     sysnames.
2372
2373   * A new system group is created for new cells (system:ptsviewers with id
2374     -203).  If this group exists, members of this group can examine and
2375     read the entire protection database.  They can examine all users and
2376     groups and can get the membership of any group.
2377
2378   * A new program, pt_util has been added to the distribution.  This
2379     program allows users to print the contents of the protection database
2380     or to edit the protection database without running a ptserver.  It can
2381     be used to set up a new cell without ever running in noauth mode.  Run
2382     pt_util -h for help.
2383
2384   * The fs setcrypt and fs getcrypt commands have been added.  These
2385     commands allow the system administrator to require that the client
2386     encrypt all authenticated traffic between the client workstation and
2387     AFS.  The encryption used is weak, but is likely better than sending
2388     unencrypted traffic in most environments.  Some functions, such as
2389     looking for a volume may not be encrypted, but data transfer certainly
2390     is.  By default data is not encrypted.  At this time no significant
2391     experimentation with server performance has been conducted.
2392
2393   * By default AFS is compiled with AFS_AFSDB_ENV, enabling the -afsdb
2394     option to be given to afsd on startup.  If this option is used, then
2395     new cells will be looked up using AFSDB records stored in DNS if they
2396     are not found in CellServDB.  This means that users can create
2397     cross-cell mountpoints in directories they control to access cells not
2398     in root.afs, and that cells in root.afs need not be in the client's
2399     CellServDB.
2400
2401   * AFS database servers can be marked as read-only clones.  Surround the
2402     hostname in square brackets on the bos addhost command and the
2403     database server will never be elected sync site.  This is useful for
2404     cells distributed over a wide region.
2405
2406   * The AFS servers now support the -syslog flag.  This flag causes them
2407     to log to syslog rather than to files.  This flag is not supported on
2408     NT.  For all servers besides the salvager, the flag can also be
2409     specified as -syslog=facility, where facility is an integer facility
2410     code from syslog.h.  A -syslogfacility option is provided for the
2411     salvager to accomplish the same goal.
2412
2413   * If the --enable-fast-restart flag is given when configuring AFS, then
2414     the salvager supports the -dontsalvage flag which causes it to exit
2415     without salvaging any volumes.  If this is configured into the third
2416     command of a fs process, then the fileserver will start without
2417     salvaging.  It will fail to attach volumes that need salvaging and
2418     they can be salvaged manually.  This provides significantly better
2419     server startup performance at the cost of administrative complexity.
2420
2421   * If the --enable-bitmap-later flag is given when configuring AFS, then
2422     the fileserver creates bitmaps for free vnodes on demand, allowing
2423     faster starts.
2424
2425   * If bosserver finds a BosConfig.new file at startup, it reads this file
2426     and renames it to BosConfig.  This allows bosserver to be reconfigured
2427     at next restart.
2428
2429   * The bosserver can be placed in a restricted mode in which AFS
2430     superusers are only granted limited access to the server host. The
2431     following functionality is disabled when restricted mode is in use:
2432
2433       bos exec
2434       bos getlog (except for files with no '/'s in their name)*
2435       bos create *
2436       bos delete
2437       bos install
2438       bos uninstall
2439
2440     specific exceptions are made for functionality that "bos salvage"
2441     uses:
2442
2443     A cron bnode who's name is "salvage-tmp", time is now, and command
2444     begins with "/usr/afs/bin/salvager" may be created. This bnode deletes
2445     itself when complete, so no special "delete" support is needed.  This
2446     functionality may be removed in the future if a "Salvage" RPC is
2447     implimented.
2448
2449     The file with the exact path /usr/afs/logs/SalvageLog may be fetched,
2450     since that is how bos salvage [...] -showlog is implimented.
2451
2452     Restricted mode is enabled using a new bos command (bos setrestricted)
2453     or bossever command line switch (bosserver -restricted). Restricted
2454     mode can be disabled by a) sending the bosserver process a SIGFPE
2455     (which will then allow restricted operations until the next restart or
2456     setrestricted command) or b) editing /usr/afs/local/BosConfig (or
2457     BosConfig.new), and restarting the bosserver.
2458
2459   * The bos UserList of trusted administrators can now contain cross-realm
2460     Kerberos principals.
2461
2462   * udebug now takes --server not --servers.
2463
2464   * Several error messages have been improved to include volume numbers.
2465
2466   * Several new ports have been included for UNIX platforms: Darwin
2467     (ppc_darwin_12 and ppc_darwin_13), Linux 2.4 (i386_linux24), Linux on
2468     the Powerpc (ppc_linux22 and ppc_linux24), Linux on the Sparc
2469     (sparc_linux22, sparc64_linux22 and sparc64_linux24).
2470
2471   * Incomplete FreeBSD and Alpha Linux ports are included.  The FreeBSD
2472     port has a working server and the Alpha Linux port has a partially
2473     working client.
2474
2475   * A native client for Windows 95/98/ME has been added to the
2476     distribution.  With this program, a gateway machine is no longer
2477     required for Windows 9x to access AFS files.  One drive letter will be
2478     created on your machine by default - Z:.  The Z: drive will be the
2479     root of the AFS tree, allowing you to browse all sites that have AFS
2480     servers available.  Additional drive letters can be defined for other
2481     AFS directories.  A Windows Explorer shell extension is included that
2482     allows you to right click on items within an AFS tree to bring up an
2483     "AFS" menu item and perform various operations on a file or directory.
2484     The most useful item is "Access Control Lists", which allows you to
2485     view and edit the permissions of a particular directory.  Command line
2486     tools are also available in the install directory.  These commands
2487     include klog, unlog, tokens, kpasswd, symlink, fs and pts.  The
2488     installable includes a readme file that contains more information on
2489     how to use the client program and known issues.
2490
2491   * Support for large caches in afsd.  Cachefiles are stored in
2492     subdirectories.  The default is 2048 files per subdirectory, which
2493     should work fine in most situations.  You can use the new afsd option
2494     -files_per_subdir to change this number.  Note that the first time you
2495     run afsd with this patch, your cachefiles will get moved into
2496     subdirectories.  If you subsequently run an older version of afsd, you
2497     will lose all your cached files.