====================
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.
====================
build xstat utils for windows
====================
more windows specific mods plus improved output of ipaddrs and port
numbers when debugging
clock_Init() was broken because it would initialize rxi_clock0
with QueryPerformanceCounter() and then call clock_UpdateTime().
So instead of getting an ever increasing value you would get a
fixed value determined by how long it takes to make a function call
between to QueryPerformanceCounter() calls.
If the host obtained during the CallPremable and CallPostamble differ,
then there is the possibility of a hold leak. This patch is a quick
attempt to deal with the potential problem. If the problem occurs
we log it in order to know for sure if this is in fact a problem.
If it is, then at a later date we should perform a more extensive
re-write in which the CallPreamble is used to obtain the host and the
client and pass them both back to the caller which would not be
required to obtain them again at a later date.
In h_Enumerate_r it is possible that the host may be released by the
called procedure. Therefore, we must preserve the pointer to host->next
before the call and hold the host it points to in order to ensure that
it does not disappear out from under us. This ensures that although
the H_LOCK can be dropped during the procedure and the host list can
be rearranged we won't miss more than a handful of hosts during the
enumeration.
when h_GetHost_r replaces 'host' with 'oldHost' we need to release the
hold on 'host' and maintain the hold on 'oldHost' because if a hold
was placed on 'host' in CallPreamble() it will no longer be released
in CallPostamble() since 'oldHost' will now be bound to the client
SRXAFS_CallBackRxConnAddr calls h_FindClient_r which returns a
client with a refCount and the client->host held. The call
to CallPostamble will release the host hold but not the client
refcount.
Implement proper synopsis wrapping for HTML generation.
This was done in three pieces. First, add HTML-specific tags to the POD to
mark the synopsis for HTML purposes so that we can apply style information
to it. Second, update the style sheet to indent all lines except for the
first in the synopsis section. Third, add the appropriate S<> tags around
option and argument pairs so that we don't wrap between the option and its
argument.
Unfortunately, due to the <I<foo>> style that looks nicer for other reasons,
we have to use the very verbose S<<< >>>. Oh well.
Make the mentions of subcommands in the fs command introduction links to
the relevant pages, and add to README a to-do note to do this for the rest
of the introductory pages.
Fix links to man pages that contain underscores by working around a bug
in Pod::Simple.
Do not allow HTBlocks to allocate more blocks than will fit in
hosttablesptrs. Doing so corrupts memory. Panic instead until
we can get this fixed right.
avoid implicit references by including the prototypes from the header except on linux
====================
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.
====================
FIXES 24765
avoid implicit references by including the prototypes from the header except on
linux
correct precedence of && and || in conditional to determine when
tkt_DecodeTicket5() should be called.
optimize order of ticket property evaluation to delay call to get_key()
which will require that a lock be obtained until after we know that
all of the other checks will succeed.
remove a race condition between h_TossStuff_r and SRXAFS_FlushCPS by
changing h_ID2Client to return the client with a refcount and then
release the refCount with PutClient.
when the CPS list is non-NULL and the viceid is ANONYMOUSID be sure
to set the prlist_val to NULL if the prlist_len is being set to 0
since all of the tests are performed on prlist_val
====================
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.
====================
Rename smb_GetUser to smb_GetUserFromVCP and add smb_GetUserFromUID.
Use calls to smb_GetUserFromUID to reduce the number of times that
the smb_user_t object is obtained and released during the processing
of an smb call.
add logging of server addresses, status and capabilities
prevent multiple threads from pinging the same server simultaneously.
instead, threads block and then use the result of the ping that was
already taking place.
new (2.6.16) kernerls have i_mutex instead of i_sem
====================
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.
====================
acl_CheckRights() was generating core dumps because the client's prlist
was being invalidated by h_TossStuff_r() as part of freeing the associated
host. This patch fixes the problem in probably redundant ways.
A missing hold on the host is now obtained. refCounts on the client
are now preserved as part of GetClient()/PutClient(). Read/Write locks
are now obtained on the client when accessing/manipulating the prlist.
This patch adds the client parameter to GetVolumePackage() and
PutVolumePackage() and adds the new function PutClient().
This patch removes the need for the client X had conn Y stolen by X messages.
This is replaced by "deleted client X already had conn Y stolen by X. If
we see this there is definitely a logic problem as the client should not
be deleted at this point. We a no longer allowing the race condition that
would have resulted in the original message.
In addition, this patch fixes a problem with UAEs caused by the
inappropriate translation of VICE error into UAEs when there is overlap
between VICE error values and those in sys/errno.h.
When we have found an existing host via Uuid, send the probe to the
connection associated with the old host instead of the new one. If
you send it to the new connection, we will fail to detect that the
old host is no longer responding and hence that it should be removed.
This should solve the 55 second delay problem seen from clients with
Uuids that move addresses or sit behind a NAT.
When we discover a new address for an existing host we can take the
opportunity to cleanup the hash table and the interface list if the
new address differs from an existing address only by the port number.
In that case we know the client is communicating to us from behind a
NAT and the old addr/port number combination is no longer going to
be of use to us.
Fix two bugs reported via Windows Crash Reporting:
* Freelance initialization is somehow broken allowing the number of
locally defined mountpoints to become negative. Due to the use of
!= instead of < in loops, it is possible to read/write unallocated
memory.
* GetTextualSid() was not properly handling a NULL output buffer
pointer as an indication that the desired size should be returned.