make it so flushhostcps can't try to Release when no host was found,
which was apparently the problem dlc@cs really observed.
(cherry picked from commit dd517125c2)
FIXES 1308
Thanks to Chaskiel Grundman for explaining what was happening:
- the connection is old and pre-existing, but has no host structure.
- 2 calls come in
- the first one enters h_GetHost_r, and h_Lookup_r returns null (but identP is
non-null, since rx keeps it around until it gc's the connection)
The first thread calls WhoAreYou, which succeeds, it then calls
InitCallBackState3 (after H_UNLOCK) note that the host has been inserted into
the hashtable
- the second thread enters h_GetHost_r, and calls rx_GetSpecific. it then
calls h_Lookup_r. h_Lookup_r will block (new host is locked), but eventually
returns the new host
- InitCallBackState3 returns, and the frees the old identP, replaces it, and
unlocks the host.
- the first thread returns from h_Lookup_r. boom.
the changes:
-call rx_GetSpecific after h_Lookup_r returns (and potentially slept)
-removes an if wrapping which always is true (since !interfValid is always
true)
-don't realloc identP if it exists
-don't free an old one by calling rx_SetSpecific either
(cherry picked from commit 5967b22698)
if you really want to mask the IP address from gethostbyname(gethostname())
there's not really any reason to stand in your way
(cherry picked from commit 7158ef3ae5)
For sites with only new (>3.4) clients (or who decide to not care
about older clients) and want to force VRESTARTING instead of VBUSY.
(cherry picked from commit 214c2e7b19)
avoid need for sys_kill
====================
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.
====================
get rid of need for sys_kill
====================
get rid of need for sys_kill
(cherry picked from commit 937ec63685)
to deal with krb4 security advisory
====================
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.
====================
to deal with krb4 security advisory
type mismatch for krb4_cross pointed out by Jack Neely <slack@quackmaster.net>
(cherry picked from commit 1312d1179d)
FIXES 1333
the softsig stuff messed up the windows signal stuff. MSVC doesn't
recognize #elsif. if #elif isn't standard, then it needs to be split into
#else and another #if/#endif block.
FIXES 1333
something in the fileserver started using osi_Assert, instead
of whatever assert comes from util, so we need osi_AssertFailU in addition
to AssertionFailed.
FIXES 1333
leaving the #include <initguid.h> in caused Bad Things to
happen when I did a build. I'm pretty sure initguid.h is only supposed to
be used by things that *impliment* COM objects.
FIXES 1329
"The Windows AFS client returns the error
ERROR_NOSUCHFILE, where the same request on a local NTFS volume returns
the error ERROR_NOSUCHPATH."
(cherry picked from commit ff6394b2e4)
instead of what rx-init-mutex-before-calling-getudpsocket-20030313, just
init the mutex earlier where others are done
(cherry picked from commit 3c39714397)
Add two useful functions for string operations: afs_strdup() and
afs_osi_FreeStr(). Will be used by an upcoming patch.
(cherry picked from commit 5d36376c07)
This is mostly a rewrite of src/afs/afs_cell.c, and associated changes
to other things. Features of the new cell code:
* Persistent name-to-cell-number mapping across reboots, to ensure the
cell numbers in the dcache are meaningful. Stored in the new cache
file, /usr/vice/cache/CellInfo.
* Allow cmdebug to query the cell number to cell name mapping.
* Allow clients to have an empty CellServDB as long as AFSDB is enabled
and ThisCell has AFSDB records.
* The home cell retains the setuid bit even if looked up via AFSDB.
* Dynroot gets its own cell, rather than piggybacking on cell 1.
* Cell 1 is no longer special; cell numbers are now semi-opaque.
* Convert cell traversal code to using GetCellByIndex rather than
directly poking at CellLRU / afs_xcell.
* Separate cells from aliases, which shouldn't have been the same
in the first place.
* Cleaner code (IMHO).
====================
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.
====================
correct a code block so patch is correct
(cherry picked from commit 629d080654)