LICENSE MIT
In NTCreateX a zero length name is permitted. This can occur when
opening the root directory of a share.
Change cm_NameEntries() to accept a size_t* instead of long* since
that permits better type safety.
LICENSE MIT
This delta provides a fairly complete implementation of Unicode character
set support for the Windows Cache Manager and supporting tools including
fs.exe, symlink.exe, the pioctl library, and the explorer shell extension.
New Build requirements:
In order to build the Microsoft IDN Mitigation APIs SDK 1.1 is now required.
This SDK provides the normalization.h header and the redistribution
install packages required to install normaliz.dll. The AFSDEV_INCLUDE
path must be modified to point to the directory containing normalization.h.
There are no lib files for this package.
Cache Manager:
The CM SMB server has been modified to negotiate the use of UNICODE.
By default it is on. The "fs smbunicode" command can be used to disable
UNICODE at runtime.
cm_utils now contains UNICODE normalization and conversion routines built
on top of the IDN Mitigation APIs.
All input strings are normalized with UNICODE Normalization Form C.
The pioctl interface now supports UTF8 strings in addition to ANSI.
UTF8 strings are prefixed with <ESC> % 8 as per the ISO 2022 extension.
Pioctl Library:
New apps should use the pioctl_utf8() function instead of pioctl().
pioctl() is for ANSI strings and provides backward compatibility
with third party apps.
fs.exe and symlink.exe:
Converted to Unicode applications. All strings are now communicated
using UTF-8.
Explorer Shell Extension:
Converted to a Unicode DLL. All strings are now communicated using
UTF-8. Fonts on U.S. Windows distributions are not fully populated.
As a result not all of the characters can be displayed in all of the
dialog boxes.
Still to do:
1. Add Unicode normalization to AFS directory entries and mountpoint
and symlink target strings.
2. Use the Unicode version of GetCurrentDirectory in fs_utils.c
3. Update the installers to install the IDN Mitigation APIs on XP
and 2003. Vista already has them and they are not supported on
pre XP SP2 releases.
LICENSE IPL10
we learned about the peer in a previous connection... retain the information
and keep using it. widen the available window.
makes rx perform better over high latency wans. needs to be present in both
sides for maximal effect.
LICENSE IPL10
if we return leaving a non HOSTDELETED host while it does not have ALTADDR set,
a loop can happen. avoid it by simply setting ALTADDR again when we're done,
if we believe some addresses are still good this is fine.
LICENSE MIT
Once we know that an attempt to stablize a buffer has failed due to
VNOVNODE, stop trying to Stablize future buffers and just invalidate
all of them belonging to the same FID.
LICENSE IPL10
in the event a server is "melting down" and not responding with data to RPCs
this adds the ability to time out the calls rather than letting keepalives
effectively hang the client forever. does not mark the server down since...
it's not down.
Side effect: adds similar tracking for authentication errors so tokens need
not be discarded if one server's clock has drifted.
LICENSE IPL10
FIXES 96575
The pthread butc crashes with SIGSEGV, when I restore to a volume
which already exists. This does happen with OpenAFS 1.4.7pre4 on
i386_linux26.
Looking into the code I think butc is using the wrong function
Lp_GetRwIndex (at volser/vsprocs.c:4394). It uses the one in the
library lib/libvosadmin.a, but should use the function defined
in volser/lockprocs.c.
LICENSE MIT
Add "IdleDeadTimeout" registry value and call rx_SetConnIdleDeadTime()
with it when creating new rx connections. This forces the Rx stack
to return RX_CALL_TIMEOUT if the file server has returned VBUSY for
longer than the IdleDeadTimeout.
When RX_CALL_TIMEOUT is received, the cache manager will now attempt to
find another server for the object that might be less busy.
LICENSE IPL10
FIXES 96465
The install rule:
- installs the empty 'kdump-build' file instead of the binary on all
platforms except irix
- overwrites the selection script with the binary on linux and hpux
- doesn't have an alpha_linux branch
- installs the wrapper script as kdump32 and the binary as kdump on
solaris (instead of vice-versa)
The dest rule:
- overwrites the selection script with the binary on alpha_linux and hpux
LICENSE IPL10
not ready for release, but, add a tool which installer can run to ask for a cell
name
AUTHOR
LICENSE IPL10
====================
This delta was composed from multiple commits as part of the CVS->Git migration.
The checkin message with each commit was inconsistent.
The following are the additional commit messages.
====================
LICENSE IPL10
not ready for release, but, add a tool which installer can run to ask for a cell
name
LICENSE MIT
Implement DEBUG_REFCOUNT refcount tracking code to debug refcount issues
in the cm_buf module.
Fix a refcount leak caused by buf_IncrSyncer() incorrectly removing cm_buf_t
objects from the dirty list.
Fix the dumping of the dirty list to actually dump the dirty list.
LICENSE MIT
A problem was discovered with cm_Analyze when serverRef instances are
marked offline. cm_CheckOfflineVolume() was not resetting the serverRef
state. cm_Analyze was also waiting in sleep calls when it was it is
clear that waiting would not result in a change of state.
cm_CheckOfflineVolume() was updated to always reset the serverRef state
and indicate that the volume should be considered online for the purpose
of retrying when the serverRef state is reset to srv_not_busy.
The problems identified in the MIT dev.mit.edu stress test environment
are resolved by these changes.
LICENSE IPL10
FIXES 93898
"It is actually the detection of a "cell" in the mount point string
which triggers the (loosely consistent) fakestat handling - it's
treated like a foreign cell and the mount point is never "completely
evaluated", i.e. logically replaced by the root directory of the
volume in question. As a result, callbacks are ignored, as they go
against the directory and not the mount point."
LICENSE MIT
1. Convert cm_volume_t mutex to a rwlock (rw).
2. Don't hold cm_volume_t lock across RPCs
3. Add CM_VOLUMEFLAG_UPDATING_VL flag to prevent multiple threads
from performing volume update calls at the same time on the same
volume set.
4. Convert the .rw, .ro, and .bk cm_vol_state_t members of cm_volume_t
to an array of cm_vol_state_t members indexed using the pre-existing
RWVOL, ROVOL and BACKVOL preprocessor symbols. This will permit
consolidation of code and make it easier to add new volume types
to the volume set in the future.
LICENSE MIT
Do not set the DV on the rootSCachep because doing so disables
the use of MergeStatus().
Do not remove the rootSCachep from the hash table because doing
so makes causes a second cm_scache_t object for that fid to be created
that is not the root.
LICENSE MIT
Add a -noresolve option to all vos commands. This permits the display
of servers by IP address instead of DNS name. Very useful when 127.0.0.1
is registered as the server address or when trying to eliminate
multi-homed addresses.
LICENSE MIT
Add support for building with VS2005 Runtime Libraries.
For the release build use the vcredist_<arch>.exe package.
For the debug build, build an msi from the merge modules
and then install that package.