Correct the return types and values of the Window Procedures.
This fixes the drive mappings problems.
====================
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 45545
Remove "Drive " from the drive mappings. This way the drive letters
can be selected with a single key press.
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
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.
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.
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.
====================
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 50870
basically, if the issue is really expired tokens then we force the server to tell us that instead of that our older connection is still using the old tokens for some reason, by letting a new connection happen first
Test whether Linux kernel builds work at all before going into specific
builds so that we can fail earlier with a better error message. Try to
put more errors from the kernel build into config.log.
When the Unix mode bits do not include the write bit (0200), then the
file is reported to Windows as read-only. This also prevents the
acquisition of write-locks. It should also prevent deletion but the
code in cm_HaveAccessRights() did not remove the PRSFS_DELETE privilege
from the reported rights.
====================
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.
====================
replace 'try' with 'try_init' and declare 'try_init'.
'try' is a reserved word on some compilers. not sure how this code
was compiling on MacOS X and Windows as 'try' was not declared.
why the heck would it be a good idea to rewrite the BosConfig while we are starting, exactly?
====================
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.
====================
why the heck would it be a good idea to rewrite the BosConfig while we are start
ing, exactly?
"vos release" per default does an incremental dump.
volser-dump-validate-input-20060417 ends up with keeping dead vnodes and
data in the remote RO-volume. This patch corrects the behavior for
RO-volumes.
When performing a SMB FindFirst/FindNext/FindClose operation if there
are no wildcards involved, we can optimize the case and turn it from
O(n) to O(1) where 'n' is the number of entries in the directory.
This can be done by performing a cm_Lookup() and if it succeeds,
constructing the appropriate response instead of parsing the contents
of each buffer associated with the directory looking for matches.
Without this optimization, FindFirst operations on directories containing
thousands of entries can take a large number of seconds to complete.
When rxBind was added it made an assumption that rx_GetIFInfo could be
called before rx_InitXYZ. This is true on non-Windows platforms, but
on Windows rxGetIFInfo relies on an initialized mutex. This patch adds
a DllMain for Windows in order to initialize the mutex object upon DLL
load.
While investigating the reasons behind the Drive Mapping listbox
failing to permit entries 2 or above to be edited or removed and
the text string being truncated to two characters (on some systems)
I discovered that the subclasses were being recompiled into each
application instead of linking against the DLL that contains the
controls.
The custom controls have been renamed to address name space issues.
The "Drive X:" label changed to "X:" to permit single character item
selection within the listbox.
Still have no idea what is really going on. Spy++ shows the Windows
messages being sent to the correct Windows. However, the getcount
message never obtains a value other than 0 or 1. This is probably
why the selection code is broken. Still working on it.
When there are no free buffers, don't loop continuously.
Sleep so that the other threads that are holding the buffers
can grab the global buffer lock and release them.
(1) Power Management improvements. Maintain a global flag that
specifies whether or not the service is in a suspend state.
Do not panic if Netbios() returns NRC_BRIDGE meaning that the
lana is no longer valid. Instead, stop the listener threads
and if all listener threads are stopped, reset the lana_list.
Allow the cm_Daemon() thread to periodically check the state
of the smb listeners. If they are all stopped and the service
is not suspended, attempt to restart them. If there are no valid
lanas, return to the stopped state.
(2) CreateX and NTCreateX use cm_CheckNTOpen() to test whether or not
the user is permitted to obtain read or write locks. This function
would obtain the lock and then drop it returning whether or not
the lock could be obtained. If the lock was in fact required,
CreateX/NTCreateX would then obtain it with cm_Lock(). The problem
of course being that this pattern results in three RPCs to the
file server (lock, unlock, lock). This is reduced to one RPC by
implementing cm_CheckNTOpenDone() which frees the allocated byte
range lock from cm_CheckNTOpen() after the cm_Lock() call is
performed.
(3) Remove unused code.
(4) Add debugging to SMB Directory Search functions.
Separately log TGT requests in addition to logging the authentication so
that one can distinguish in the logs between Kerberos v4 clients and uses
of klog.
====================
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.
====================
Some initial obvious cleanup. Removed all the sections on Digital UNIX,
changed IBM AFS to OpenAFS throughout, and reformatted and cleaned up the
front matter and some of the first few pages.
Add some comments to the makefile, set up dependencies to build the index
automatically, remove a bunch of unnecessary @-signs in front of commands,
and add a clean target.
The false illusion of security some people want to play under is usually good for wasting a few hours; it was here. making the sys_call_table read nly for real of course fixes it, let's just hope keyrings come along before then on such platforms.