LICENSE IPL10
my code, though, this is a result of a problem reported by Chaskiel Grundman and analysis by him, Jeff Altman and myself.
I'm just checking in my implementation. In any case, the issue this addresses
is one where we can end up in makecall_waiting in rx on multiple connections
when we multibreakcallback because the lists are sorted differently and each has "pending" calls on a different connection. by sorting by index we will not
block on another caller while also holding what they're after
LICENSE MIT
The RXKADBADTICKET error is returned when a krb5 derived token is sent
to a server that does not support them. In a mixed cell it is possible
that some servers were not updated. Discarding the token does not make
it possible to perform the request successfully and adversely affects
the user experience because those servers that do support the token
can no longer be accessed in an authenticated manner. Users can't
determine what the cause is, all they see are their tokens disappearing
and there is nothing they can do about it anyway.
From now on return STATUS_NO_KERB_KEY and do not retry.
LICENSE MIT
Upon receiving a VNOVNODE error from a file server, be sure to
invalidate any file locks. This prevents on-going attempts to
extend the locks and will cause subsequent attempts to access
the file to receive a invalid handle error.
LICENSE MIT
All calls to buf_Get() must be protected by a read lock on the
cm_scache_t bufCreateLock
When a MergeStatus results in the invalidation of buffers, do
not remove buffers from the hash tables that have active references.
LICENSE MIT
Add volumes in the vl_unknown state to the list of objects to be
checked as offline or retried when an allbusy error is received
in cm_Analyze.
LICENSE MIT
When osi_Log is disabled, osi_LogSaveString will no longer copy the
provided string into the circular log buffer. This saves a huge amount
of time.
LICENSE MIT
Treat srvsvc, wkssvc and ipc$ as pseudo files. Permit them to be opened
and closed without actually existing. For now we treat them as equivalent
to ioctls but this should eventually change.
Fix RAP processing to not reject names that exist in the root.afs volume
for GetInfo queries.
LICENSE MIT
Add "ipc$" to the list of names that must not be automatically added
as a share name.
If the sharename is a partial match and therefore will not be added
automatically to the share list, make sure that we return an error
to the requestor.
LICENSE MIT
Warnings as errors are nice, but when different compiler versions
stop building simply because a parameter is not being referenced
in a meaningful way its time for the option to be turned off
LICENSE MIT
Remove all references to rpcns4.lib and its included functions RpcNsXXX.
These APIs are no longer supported on Vista. Except for TaAfsAdmSvr
they had been commented out for a long time but we still continued to
link to the library. Loading the library generates a no longer supported
error on Vista. So lets get rid of it.
LICENSE MIT
FIXES 82701
Modifying the registry and the startup shortcuts is not permitted under
Vista UAC. Generate an error dialog and notify the end user.
LICENSE MIT
Do not return BAD_NETWORK_ERROR in response to attempts to create directories
or files in the Freelance root.afs volume. Instead return ACCESS_DENIED.
BAD_NETWORK_ERROR was being sent because the Freelance cell has no
vldb servers. Short circuit the error by testing for freelance
in CreateFile and MakeDir
LICENSE MIT
Enable the 32-bit tools that are distributed for use in the WOW64 environment
to access the 64-bit registry keys instead of the 32-bit versions. This
will remove the need to support both 64-bit and 32-bit versions of the
values.
LICENSE MIT
Add support for returning RANGE_NOT_LOCKED errors
Do not attempt to add a mount point for share names of the form
<cell><mount-type><volume>. Its just a big waste of time. DNS
queries and CellServDB file searches are expensive.
LICENSE MIT
do not leak references
remove signed vs unsigned warnings
retry all RXGEN_OPCODE responses regardless of whether or not the entry
had to be moved to consolidate the list.
LICENSE MIT
VNOVOL means the volume could not be attached which from the client
perspective is the same as being offline. The VLDB should not be
queried in response to this error.
LICENSE MIT
FIXES 84279
Do not translate the character set of the pioctl path data.
These paths were not provided by the file system but by the end user.
Therefore, they were not converted to the OEM character set.
With this change the AFS shell context menu will be displayed for
non-ASCII file names when ANSI file names are being used as well
as the fs commands will work.
LICENSE MIT
Instead of probing servers one at a time, use multi_rx versions of
RXAFS_GetCapabilities, RXAFS_GetTime and VL_ProbeServer to permit
simultaneous probing of servers in constant time regardless of the
number of servers.