LICENSE MIT
Add a registry value "PioctlFollowMountPoint" to permit the use of the
old pioctl path evaluation behavior that always followed mountpoints
and symlinks.
(cherry picked from commit 845fb28de656d9886dd44cbf335833985ffc7d3b)
LICENSE MIT
Insert a missing bang that results in a null pointer dereference
when processing a callback from an unrecognized server.
(cherry picked from commit 69c9ab66a41236e987b44af9a3cb141adb1c2817)
LICENSE MIT
One of the challenges to deploying NIM has been the configuration of
AFS token acquisition. This patch adds a new registry key hierarchy
HKLM\SOFTWARE\OpenAFS\Client\Realms
which is used to configure the AFS Provider for a new identity based
upon the realm of the identity. The Realms key contains subkeys for
each realm for which configuration data is being provided
HKLM\SOFTWARE\OpenAFS\Client\Realms\"RealmName"
"RealmName" contains one optional value, "AFSEnabled", and subkeys for
each Cell that is to be added to the configuration. "AFSEnabled" defaults
to 0x01.
HKLM\SOFTWARE\OpenAFS\Client\Realms\"RealmName"\"CellName"
In "CellName", there are two optional values, "Realm" and "MethodName".
If the values are not specified, the automatic realm and method determination
algorithms are used.
These values can be added to an MSI transform or deployed via Group Policy.
(cherry picked from commit 521f139a89c2f078888b8bad37a495d23723a789)
LICENSE MIT
Add a new mutex "smb_StartedMutex" which is used to protect the
transitions between the various smb_ListenerState values.
(cherry picked from commit 5979a37e4e361bd9d2c52b6f6ef4bcce20a3124c)
LICENSE MIT
Do not pass strings generated from incoming network data to ??printf
as the format string. Instead use a format string of "%s". This protects
against %? expansions being inserted in the string.
(cherry picked from commit a05df915505ab3e77e46e39a5b232086c43fc8bf)
LICENSE IPL10
make syscall.o always be created, some makes don't deal with the implicit requirement
(cherry picked from commit 777a2840878af313e062c4885ae7002bad62bdf4)
LICENSE MIT
Some older Linux kernels prefix warnings with "Warning:" rather than
"WARNING:", so do the grep case-insensitively when finding missing symbols.
(cherry picked from commit 58efc5029c832e6b1456c36b599e7e33d62cd9c6)
LICENSE MIT
Close a refcount leak in bkg prefetch.
Do not stop prefetching simply because a buffer we want is already being
fetched. Instead skip the buffer and try to fetch the next one we require.
(cherry picked from commit b19c56edfa5f0e3ff95f32b006b9403f53dd406f)
LICENSE MIT
avoid a deadlock during server probes initiated by the ipaddr change
daemon thread.
(cherry picked from commit 049bc4a637334c6e94661a60067ff6a27e5ad481)
LICENSE MIT
Log more power mgmt events.
Do not permit a smb reinitialization when in a suspended state
Periodically check to see if the LAN adapter is -1. If so, try to
reinitialize the smb stack.
(cherry picked from commit 6887c0e5b2b766b06c7e76a5ce28b84ed52df1d5)
LICENSE MIT
After a network change, test to see if the desired LAN adapter to bind
the Netbios Name to has changed. If so, stop the Netbios Network and
restart with the new LAN adapter.
This can happen on Vista after a suspend if the service wakes up before
the Loopback adapter re-initializes.
(cherry picked from commit f970985bc35ade50371a9299ad580d96ad04e979)
LICENSE MIT
If the requestd realm name is the empty string, copy the realm from the
resulting ticket for use in pts registration.
(cherry picked from commit 53acd2042d53d947b213ba4ee58378c89555a868)
LICENSE IPL10
If the realm name of the requested ticket is the empty string, decode
the actual service ticket to determine the actual realm. Obtaining the
actual realm prevents unnecessary pts registration failures.
(cherry picked from commit 8e3940c461f29483dcd71a5ba7cc59db89ea38e1)
LICENSE IPL10
with updates and configure support from Simon Wilkinson.
make aklog able to cope with referrals.
(cherry picked from commit 2d15ac79349678e025f407b863f2911cd20e6f4e)
LICENSE IPL10
avoid pag allocation throttling when time is set back by e.g. ntpd to avoid starving everyone.
(cherry picked from commit 02dc91892c41163f24c818615d13271b074df3ca)
LICENSE MIT
Add a hidden command that can be used to test volume status handlers.
fs test_volstat.
(cherry picked from commit 068233cf4ab90a173e04de94605490e651d2f686)
LICENSE MIT
fix the reporting of volume status as a result of the VIOC_PATH_AVAIL
pioctl call. Switch on errno instead of the pioctl return value.
(cherry picked from commit 23318f425ca8ccdc9b67bfc1be0a28c0f724f52a)
LICENSE MIT
ensure type consistency between 32-bit and 64-bit processes by replacing
'long' with 'afs_uint32'
(cherry picked from commit 6034868e79f85e0143caa40669244cb8e442587b)
LICENSE MIT
when performing offline volume status checks handle CM_ERROR_NOACCESS
conditions by restoring the volume status to vl_unknown.
(cherry picked from commit ae8e701952ae029672f2d7acfaf94cd44c1e4df4)
LICENSE IPL10
make the aklog lam plugin work correctly in e.g. the CDE screenlocker, which is
part of the long-running and not-run-by-user dtsession; this means we do wackiness to
1) not pag ourselves in that case
2) setuid to the user to set uid tokens if we got a username and are root
3) do not use pr_mumble get the the AFS ID to put in the tokens, as multiple
initializations of Rx in the process space of dtsession crashes it
(cherry picked from commit 3a541eb11d1bc7bd05b85635315214218d3b5d6f)
LICENSE MIT
do not disable the signature verification of binaries when using
large cache sizes on 64-bit systems
cm_config_data values are unsigned and some are 64-bit. when logging
them use the correct data format types.
(cherry picked from commit 5baef6f6fe55ca81a28bc22023b06ee6c50d453d)
LICENSE MIT
Do not trust the registry to determine whether or not krb4 support
is available. In a roaming profile the user data can say 'yes' even
if the plug-in or the kerberos library does not exist.
(cherry picked from commit d59d1db605280bfa9b2234f5272d61152ca7d7de)
LICENSE MIT
Don't call krb524_convert_creds_kdc if it doesn't exist.
64-bit KFW doesn't support krb4 and the function isn't present.
(cherry picked from commit cfcaa0be3cc22fce97737ae4f6387a8200de770d)
LICENSE MIT
avoid a race condition between cm_SyncOpCheckContinue and cm_SyncOpDone
that can leave a request on an scp stuck in the waiting state even though
there are no other requests to wake it up.
(cherry picked from commit 4d2c1d532bb44320afcf4debfee9ded403647e1e)
LICENSE MIT
cm_BkgPrefetch() contained two errors. First, the loop at the top of the
function that ensures that a cm_buf_t is allocated for each of the offset
positions failed to actually obtain the buffer for the specified offset.
Instead, it repeatedly obtained the buffer for the starting base address.
Second, cm_GetBuffer() would reserve all of the buffers associated with
the cm_scache_t even in the case where we already have a callback and the
existing buffer has the proper data version number. In that situation
reserving the buffers simply wastes valuable time.
(cherry picked from commit 33aeecd83f8ce670269868145648ae6e277cf3cb)
LICENSE MIT
Fix the lookup of cell aliases to:
1. avoid re-reading CellServDB each time a cell alias is specified
2. avoid reconstructing the vlserver list for the cell each time an
alias is specified
3. permit aliases to be used when AFSDB records were used previously
with the full cell name
(cherry picked from commit d942d97ed82b9f4b86fdea8443912ec64b28dd96)
LICENSE MIT
Reduce the default number of background daemon threads used for prefetch and
store operations to one. Given the current implementation when more than
one thread is allocated they step on each other's toe while fighting over
locks.
A better model might be to divide up threads based upon cells or volumes
as a means of preventing contention.
(cherry picked from commit 7a1253d1d180716f2aace6e8c115f845fbfe003d)
LICENSE MIT
Drop the default chunksize to 18 (256KB) from 20 (1MB) due to the increased
propensity to timeout reads on slow network connections.
(cherry picked from commit 1e262e133d2fa0464d6419b1acc6fd2c075f9dbd)
LICENSE MIT
The case of openafs.org and grand.central.org is a hideous abuse of
the AFS cell name space. There are many negatives associated with
trying to support two different cell names pointing at overlapping
vlserver lists:
(1) The CM can store duplicate entries for all of the data simply because
the cell name that was used is different
(2) If the CM attempts to optimize the data storage by aliasing or otherwise
combining the cell names as part of one cm_cell_t object, then future
attempts to separate the two cell names will require the destruction
of the cache.
(3) If the CM does not associate a callback revoke with a particular cell,
then the status data associated with any entry that matches the revoked
AFSFid will be discarded. For volume callbacks this can have a serious
impact because volume IDs are not unique across cells and discarding
status data for readonly volumes that are in use can result in a
significant number of FetchStatus requests being sent to the associated
file server.
There are other issues as well involving authentication.
The case of openafs.org advertising the vlserver addresses of
grand.central.org should be considered a hack; a hack that the Windows
client will no longer ensure will work.
Additional debugging messages have been added to assist individuals attempting
to debug why callback revokes do not appear to take affect when two cell
names share the same vlserver data.
(cherry picked from commit 56a82598b19e4232b0095c2b5778d4571c8aa9b2)
LICENSE MIT
The pthread_cond_timedwait/wait implementations were broken. Not only
did they return the wrong error values but more importantly, they did not
always return with the mutex locked.
(cherry picked from commit b41b3bb52eaba52bba8fda0c49083322d6959238)
LICENSE MIT
Update event_handler() for Windows. The return code of
pthread_cond_timedwait() is not limited to 0 and -1 because 'errno'
cannot be set. Instead of setting 'errno' the error code is returned
directly by the function as the return code.
This patch is only for debugging purposes to track the number of
success, timeout, and other errors experienced by the routine.
(cherry picked from commit 6b1537b246732e4f7f67661d8230d051db8f3f8d)
LICENSE BSD
Add some additional cross-references, add some missing man pages, fix a
few references to the OpenAFS manuals, document the -live flag to vos
move, and add an example for rxdebug.
(cherry picked from commit 84ef02b0f392c761211adc7d5876217ad835c6c0)