provide daemon() if none exists. call it in bosserver and in afsd for afsdb handler
====================
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.
====================
add the file, too
FIXES 17805
I've been stress testing a patch all weekend that changes the way
thread-local packet quotas are computed. I was able to replicate the
unbounded packet alloc problem on unix server components by eliminating my
code from rxi_StartServerProcs that sets the maximum number of expected
threads. This patch makes the upper thread limit get computed on the fly,
adds some thread-local free packet queue statistics, and a few other minor
tweaks. I still don't have a working windows development environment, so
I can't say whether this will fix all the windows client problems. But,
the unbounded packet allocation problem should go away with this patch.
stress testing on windows succeeds as well. <jaltman@secure-endpoints.com>
Fix IsAfsVnode and friends for OpenBSD and NetBSD.
Use "v" instead of "vc" for vnode args to macros (cosmetic only).
Redefine OpenBSD macros instead of using #ifdefs in afs_osi.h.
Add new hooks from "AfsdHook.dll" to the afsd_service.exe
AfsdInitHook - where you currently have one
AfsdRxStartedHook - after RxInit but before SmbInit
AfsdSmbStartedHook - after SmbInit
AfsdBkDaemonHook - called by the BkDaemon thread and is executed once per
cycle
AfsdStoppingHook - called just after a shutdown event has been
received but before any shutdown has been performed
AfsdStoppedHook - called just after all shutdown operations after
completed but before the service terminates
The type of the function is
BOOL ( APIENTRY * AfsdHook )(void)
in all cases. Returning FALSE will cause the service to shutdown.
FIXES 17805
Add a new function called rx_StartClientThread() which parallels the
behavior of rx_StartServer but is used for initializing client threads.
====================
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 17805
Add a new function called rx_StartClientThread() which parallels the
behavior of rx_StartServer but is used for initializing client threads.
Also, disable RX_TSFPQ_ENABLE for Windows as it slows the client down.
Apparently the problem with multi-domain forests with cross-
realm trusts to non-Windows realms was not entirely solved.
The authentication to the AFS SMB service failed because
the wrong name was being used. Using ASU as an example,
the authentication was being performed with the name
"QAAD\user" (an account in the forest root) and not
"user@ASU.EDU (the MIT Kerberos principal used to login with)
The solution was to add an additional dependency on KFW
in order or to be able to easily obtain the client principal
name stored in the MSLSA ccache TGT. This information is
used in two locations:
- the pioctl() function
- a new WinLogon Event Handler for the "logon" event.
The pioctl function will now be able to use the correct
name when calling WNetAddConnection2() and the "logon"
event handler will now be able to call WNetAddConnection2().
The hope is that the "logon" event handler will be called
before the profile is loaded but I have not guarrantee
that will happen.