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