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