MIT Kerberos version 5 release 1.6 adds support for referrals in the
client. As a result krb5_get_host_realm() returns the nul-string for
the realm whenever there is no local domain-realm mapping in the
profile.
aklog must now manually perform the fallback to using the domain of
the vlserver as basis for the realm name if referrals fail.
(cherry picked from commit 645f7e8f81be8c096b2fd3d9b852b8614d9dc690)
When processing exclusive locks for files that were opened read-only,
obtain a read-lock instead of a write-lock.
In NTCreateX, if the file is being opened as OPEN_ALWAYS and the file
already exists, do not require write permission
(cherry picked from commit 25c7f567f2c831d62152104c3b84ec31d9fd330f)
MIT Kerberos version 5 release 1.6 adds support for referrals in the
client. As a result krb5_get_host_realm() returns the nul-string for
the realm whenever there is no local domain-realm mapping in the
profile.
aklog must now manually perform the fallback to using the domain of
the vlserver as basis for the realm name if referrals fail.
This will be required for KFW 3.2 support.
(cherry picked from commit 584e1bd98eb4258a2cd1a517f7d49c71407983b5)
MIT Kerberos version 5 release 1.6 adds support for referrals in the
client. As a result krb5_get_host_realm() returns the nul-string for
the realm whenever there is no local domain-realm mapping in the
profile.
aklog must now manually perform the fallback to using the domain of
the vlserver as basis for the realm name if referrals fail.
This will be required for KFW 3.2 support.
(cherry picked from commit 2287f5f578fa40a0229699a4e90263300ca79e50)
FIXES 53212
clean up ktc code, prototyping et al
====================
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 53212
restore ktc_GetToken prototype
(cherry picked from commit a05fa83336df6cd11d60cc64882c68cc01243aad)
when we recycle a stat cache object be sure to clear the file type so
we don't inherit the previous file type if the fetch status fails.
in merge status, clear the file type if the errorCode is EACCESS
(cherry picked from commit 403b5086dddf16ef360b3dade0f3fa0e12db5b71)
modify cm_MergeStatus to take a pointer to the parent stat cache entry
so that the parent fid can be set when bulk status returns an error.
(cherry picked from commit 0cc59928b980fbd89e3ed06e04474762655791ef)
when merging status info that has an errorCode of EACCESS set,
merge the garbage we received.
When checking the access to the object return EACCESS if the
stat cache object has the EACCESS flag set. This will be cleared
the next time a BulkStatus succeeds.
(cherry picked from commit e9fb99c770101de103df0a2ff7ba364159b81f80)
when merging status for store data ops, use the fileHashTable to reduce
the number of buffers we must examine
(cherry picked from commit 55653d5dd00665c80397ab3c397063a1e636afea)
For each StoreData operation the dataVersion on the object is incremented.
To prevent all of the cached buffers from being considered out of date,
if the dataVersion has been incremented by exactly one, then update the
dataVersion of the buffers that match the FID and the previous dataVersion
(cherry picked from commit 4e8bc6d5016f8e6d46a21331009c414d94e90d10)
Instead of using a fixed sized hashtable of 1024 entries regardless
of the number of buffers, compute the hashtable to be large enough
for on average 7 buffers per bucket.
Remove the 'size' field from cm_buf_t since it is never used.
Add more info to the output of cm_buf_t objects when using "fs memdump"
(cherry picked from commit cec0b902f6cbeb849984d5ca1ef1847ef1eeac89)
Add a 'failed' parameter to the cm_ReleaseBIOD function. This enables
the clearing of the CM_BUF_DIRTY flag to be conditional upon successful
completion of the store operation.
(cherry picked from commit 333005c46332a9c76974261aef5fdf82c19698b1)
background request functions such as BkgFetch and BkgStore do not
return success or failure. the bkgDaemon thread simply executes
the request and discards it regardless of whether or not the request
was completed. this can result in background store event failing
to be written to the file server.
modify the background request functions to return success or failure.
modify the background daemon to put failed requests back onto the queue
if the reason for failure was transient.
modify the background daemon only to process requests when the servers
for the volume are marked up.
(cherry picked from commit 37d16dd70bdc88af02db4ed0307b2ec56a4e9a34)
Plug a buffer refcount leak. This is why the client slows down over
time. It runs out of buffers it can use.
(cherry picked from commit 9a9e0976c881ef6b77e7de19a79611569b1426a3)
ensure that log files use CR-LF for end of line. the "fs memdump"
output and the afsd_init.log initialization output were still using LF.
(cherry picked from commit 1e44ef074aae0fd718f15ba8ff8b66bca1586c2f)
FIXES 45545
Remove "Drive " from the drive mappings. This way the drive letters
can be selected with a single key press.
(cherry picked from commit 7d6baa2df1ef0244b0a27082948be794ef36a8e4)
fix linux flock, remove a bogus lock assert, and fix pid tracking to avoid usele
ss panic
(cherry picked from commit fd1c37ebe7f5fb2ed52371705aaf1efc7764c7eb)
When looking up a volume by ID or Name, if the volume server data requires
refreshing and the UpdateVolume operation failed, do not leak the refCount.
(cherry picked from commit ab294cfdc5fa4108f89b37c4a7da5844872ecacf)
even if afsd_service.exe can be shut down the binary might still not
be able to be replaced due to the windows Protection Service.
Use the ReplaceDLL macro
(cherry picked from commit 38d6f485078185acc0067362eb970b5cbf41e800)
FIXES 51424
include afs/com_err.h for error_message() prototype to prevent crashes
on platforms with 64-bit pointers and 32-bit int
(cherry picked from commit 564d41d96e224132d5073170d0f82e0264315077)
FIXES 52069
If an app tries to open the freelance directory for WRITE then the
default anonymous access privileges, read/lookup, are not sufficient
and cm_HaveAccessRights will fail. Freelance can't get access rights
from anywhere. Therefore, cm_HaveAccessRights should special case
the Freelance directory.
(cherry picked from commit bd5ed7d332df05ac232f4188a166ce6f791f7cca)
the cm_CheckNTDelete function was testing the permissions of the
directory and not the permissions of the file being deleted.
This resulted in inconsistencies between the attributes of the
file and the ability to delete it.
this patch also adds a large amount of trace log entries as there
was none in this section of the code before.
(cherry picked from commit f3c4bbd41a06aeced5536f55e949767169b906d2)
As per the NetIdMgr model, refer to credentials instead of tokens.
Update the copyright strings
(cherry picked from commit daddcd3bcc3ab5b79954fe4dccf648aa35b0530c)
The salvager on Windows was not being built properly. The fssync-debug.c
main() was being used instead of the salvager.c main(). Remove
fssync-debug.obj from the library and fixup the includes and global
variable declarations.
(cherry picked from commit c4a89f3f79d6b5c62ccd91f3e7e01d38e3e80c1f)
Do not raise an exception if SIGQUIT is received prior to the
registration of the Shutdown handler
(cherry picked from commit b02c32b0692991636e06e1205ae0d07c9f15106b)
FIXES 48959
remove synthetic event to undo timeouts of vlservers we "haven't talked to yet"
(cherry picked from commit 91ce7a066d0912bb84a7c87863cd1b7ed6cc480a)