WSAStartup and WSACleanup do not need to be wrapped by the app
to protect against multiple calls.
(cherry picked from commit a9bbe0e0dce33fd42cc944db3a657c95af6f6796)
before attempting a smb query check the service status. fail immediately
if the afs service is not running.
(cherry picked from commit 93846a81d2ffadb7741700ff96a40426bda920fd)
How did the afs_shl_ext_XXXX.dll module ever load on any platform?
Since the name afs_shl_ext.dll is not 8.3 we must specify the base name
explicitly. Otherwise, it won't load.
(cherry picked from commit 56d71eaae70eca2c6065b9cf463c18cc3f6c7356)
do not panic if we reach maxVolumes and there is a volume entry that
can be recycled.
(cherry picked from commit 375a79f2a02ff2c16f9fcc54dba2b51e41b51c05)
Declare ubik_client in rpcgen.
I don't like this fix but I hope it's just temporary until someone fixes
the include dependencies.
(cherry picked from commit d9de7beb995a1158e5701d397467e028ff55fe77)
FIXES 37890
don't make uio offset an int.
at the same time, fix resid similarly, and fix osi_file.c to accomodate that
(cherry picked from commit b6f97376880bb38463b372d92b09a977957e0872)
FIXES 37887
if you manage to patch the syscall table, then the setpag() in the
patched setgroups syscall and creates a new session keyring. it does
contain the right pag id but this isnt the intended behavior.
so setpag() becomes __setpag() which just does the group insertion.
(and perhaps it should be called something else?). the stat count for
the setpag operation might be more correct now (instead of also counting
the pag restores).
(cherry picked from commit b6da19fe253f456b7d9372d6620057bbd8ad2c8b)
FIXES 37807
uninitialized variable reported due to dwAllocSize not being used
within the initial RegQueryValueEx call. (ugh)
(cherry picked from commit 16dc98ab4654f448909d59f65b2a8e3a55bc93b8)
The previous code failed to specify the correct size of the REG_MULTI_SZ
being written to the registry when appending an additional name to the
list of Back Connection Host names. This would cause the written string
to contain
FOO\0B
instead of
FOO\0\BAR\0\0
this caused problems for Windows 2000 lsass.exe which failed to properly
allocate the buffer for RegQueryValueEx and failed to check that it did
not read beyond the buffer. If the list was not terminated with two
nuls an exception would be thrown that could result in a lock being
orphaned on the NTLMNameTable. This would in turn prevent authentications
to UNC resources from completing. As a result, the startup of
afsd_service.exe would fail if a GlobalAutoMapper drive was configured.
The work around is to set the correct value in the registry before
switching machine names or installing/removing the Microsoft Loopback
Adapter.
(cherry picked from commit cca848edb12abea4deb8f676b07182575d61186d)
If afsd takes longer than the cifs timeout to complete an operation
the cifs client may break the virtual circuit and create a new one.
this forces all file handles to be closed and locks to be released.
Try to prevent the circuit from being destroyed by allowing the
CIFS lanmanworkstation SessTimeout value to enforce upper limits
on the Conn and Hard Dead Timeouts. Permit this automatic configuration
to be disabled by setting specific configuration values for timeouts
in the registry.
(cherry picked from commit 09020663fad32a30cec3f425d6dee7807799eadb)
Move the establishment of the GlobalAutoMapper drives to a separate
thread in order to prevent OpenAFS from reporting that the service did
not start.
OpenAFS considers the GlobalAutoMapper as deprecated functionality so
it is ok to avoid the service failure report.
(cherry picked from commit f45d2d8e67e43faf3442031e29c681d24db10824)