1. Fix choice for logon options to include only 'not integrated',
'integrated' and 'integrated with high security'.
2. Add configuration page to select whether or not to run afscreds.exe
when logging in and also choose the command line
options for afscreds.exe.
3. Assert that all dependencies are satisfied at install time when
installing the server component.
4. If running in full UI mode and installing the server component,
the user is notified about dependencies and given a
choice to review selections or just let the installer add the
required components.
Update README-NT to include details on Wix MSI installer builder.
Modify build system to create work directories and provide "wix"
and "install-wix" build targets
Begin the process of supporting multiple sysnames on Windows as is
done on Unix. These changes replace the internal variable with a list
of sysnames.
Still to do: change command line interface to allow entry of multiple
names; and replace cm_ExpandSysName() with code similar to Unix which
allows expansion of one element in the list at a time.
place 'auth' before 'afsdobjs' to ensure creation of afs/cellconfig.h
allow DESTDIR to be specified as an arbitrary location earlier in the
build process.
New BSD License for compatibility with GPL and NSIS licenses.
Add Loopback Adapter installation
Add Debugging Symbols for all builds (optional module)
Add user configuration of afscreds.exe startup
Add Is Administrator requirement to fs functions.
- checkservers with a non-zero timer value
- setcachesize
- newcell
- sysname with a new sysname list
- exportafs
- setcell
- setserverprefs
- storebehind
- setcrypt
- cscpolicy
- trace
Should create a user group to which users can be added so that
non Admin users can issue fs commands.
The fixed timeout of 19 seconds was too short. Should be set to the
value of HardDeadtimeout as set by cm_conn.c. The failure to specify
an adequate timeout value prevented successful Hibernation and Standby
mode access when network connectivity was not available.
complain if TryReclaim gets a vnode which is on the inactive list
====================
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.
====================
be willing to instantiate a ubc in our lookup vop (rename needs this so
the followup vget doesn't get a vnode with no ubc)
refuse to instantiate a ubc if VORECLAIM is set
rework rename 2 links to same vnode case. (yes, you can have hard links in AFS)
====================
drop the parent directory ref and remove name from the kernel name cache
when recycling a vnode.
* add debugging to allow fs trace -dump to be used for freelance
operations
* Change the volume id associated with the fake root.afs from
0x20000001 to 0x00000001 to prevent confusion of remote cell
root.afs volumes with the fake root.afs. (way to go Derrick.)
* add function prototypes to cm_freelance.h
cm_dns.c: getAFSServers() did not initialize the output
parameters before testing them when setting the
return value. It therefore returned success
when the network was unavailable. Bad Bad Bad.
* The timeout logic in the AFS Client Service has been wrong
for sometime. It is based on two different assumptions.
First, the SMB client timeout is a fix value as was the case
with OS/2 Lan Manager. This assumption is incorrect. The
SMB timeout in Windows is a dynamic value computed based upon
a fixed minimum timeout to which is added time based upon the
size of the request and the performance characteristics of
the connection. Second, it is the responsibility of the
SMB Server to enforce the timeout requirements of the client.
This is untrue. The SMB Server cannot be expected to know
the requirements of the client. More importantly, if the
SMB server uses the SMB client timeout as a value to restrict
its behavior as an RX client, the performance characteristics
of the local SMB session would be used to prematurely terminate
WAN connections with significantly different performance
characteristics.
The timeout logic has therefore been modified in the following
manner:
. the Lan Manager Workstation (SMB) Session Timeout is used only
as a basis for configuring the Connection Dead Timeout
and Hard Dead Timeout values. The Connection Dead Timeout
must be at least 15 seconds longer than the SMB Timeout
and the Hard Dead Timeout must be at least double the
Connection Dead Timeout.
. New registry entries have been added to allow the Connection
Dead Timeout and Hard Dead Timeout values independent of the
Lan Manager Workstation Session Timeout
. The test to enforce the SMB Client Timeout has been removed.
One of the side-effects of removing the enforcement of the SMB
Client Timeout is that regardless of whether or not the SMB client
is available to receive the response (and how would the SMB server
know) the RX protocol response can be used to update the AFS
Client Service state for ready access by future SMB client
requests.
This should be the end of the "Server paused or restarting messages"
* cm_cell.h: define new bit flag CM_CELLFLAG_VLSERVER_INVALID
* cm_cell.c, cm_ioctl.c: Do not delete cell info either because
it has been removed from the CellServDB file or because the
volserver info becomes invalid due to dns ttl expiration. This
is necessary because the cell info is pointed to by other structures
which require continued access to the cellname and username fields.
* cm_ioctl.c: provide UNC support for the MakeMountCmd
* pioctl.c: handle another UNC case in GetIoctlHandle
====================
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.
====================
* cm_ioctl.c: avoid running off the end of a string
Fix more edge cases for ioctl handling.
* cm_dcache.c: reformat the file to make it possible to set breakpoints
on conditionals
* cm_ioctl.c: add a call to smb_FindShare() when processing UNC paths
* cm_vnodeops.c: move debug message from the afsi_log to the osi_log
* fs_utils.c: reformat
* smb.c: change smb_FindShare to take a smb_user_t * instead of a
pointer to the input smb_packet_t. Change calls to smb_FindShare
to use new prototype.
* smb.h: change prototype for smb_FindShare
* smb3.c: Change calls to smb_FindShare to use new prototype
* smb_ioctl.c: reorganize use of smb_user_t so it can be passed
to smb_IoctlPrepareRead in order for it to be used in the call
to smb_FindShare.
FIXES 4905
"i believe i have managed to track this down to a missing
lock_kernel() in the dentry (lookup) revalidate routine.
this missing lock was already fixed in the 1.3 tree when
i submitted the 2.6 support patches (although its not quite
right i think -- the shrink_dcace_parent() should happen
under the BKL)"