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)"
FIXES 4891
apply it disabled in the fileserver, but provide mech for client to suggest a particular IP address to the fileserver
====================
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 4891
apply it disabled in the fileserver, but provide mech for client to suggest a pa
rticular IP address to the fileserver
====================
FIXES 4891
apply it disabled in the fileserver, but provide mech for client to suggest a pa
rticular IP address to the fileserver
====================
FIXES 4891
apply it disabled in the fileserver, but provide mech for client to suggest a pa
rticular IP address to the fileserver
FIXES 4730
if for some reason we got into a situation where all ROs were marked NEW_REPSITE in the vldb, vos release without -f deals very poorly. force a -f, and also, never print "Old Release" for the RW, to avoid confusion
====================
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 4730
if for some reason we got into a situation where all ROs were marked NEW_REPSITE
in the vldb, vos release without -f deals very poorly. force a -f, and also, ne
ver print "Old Release" for the RW, to avoid confusion
FIXES 4767
use 2.6 kbuild infrastructure to build modules. updates proc mechanism.
====================
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 4888
use 2.6 kbuild infrastructure to build modules. updates proc mechanism.
* modify cm_ParseIoctlPath() to be able to handle arbitrary UNC
paths of the form \\netbiosname\mount\path. This enables all
of the fs commands and the shell extension to be able to work
with UNC paths.
====================
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 support for UNC paths
FIXES 4811
"in rx_packet.c:rxi_ReceiveDebugPacket() the rx_idleServerQueue is
scanned without taking a lock first.
The queue_Remove macro zeroes the ->next field (luckily), but this can
lead to a crash when Murphy strikes and the entry gets removed during
the scan: queue_Scan will dereference 0x0 -> next.
"
* cm_server.c: remove locking from cm_FreeServer(). Must call
while holding a write lock
* afskfw.c: Remove manual dynamic loading of ktc_xxxx functions
Change some of the debugging logic
* Add debug info to test whether CM_BUF_WAITING or CM_SCACHE_WAITING
are ever set more than once at a time
* Fix the management of lists of cm_cell_t structures when using
DNS to lookup cell information. The previous code would fail to
reuse the same cellID for a cell if DNS was used more than once
for a given cell name. When the ttl expired, a single cm_cell_t
could be inserted into the cm_allCellsp list more than once
producing a loop. In addition, the vlServerp list belonging to
the cell was not freed resulting in improper refCounting of the
servers.
* Add DNS support to cm_IoctlNewCell() which previous only examined
the CellServDB file
* Add cm_FreeServer() function and call it from cm_FreeServerList()
to properly garbage collect cm_server_t objects
* Add numVCs variable to smb.c to track the number of smb_vc_t
objects created and use it to initialize the vcID field which
previously was set to 0 in all objects resulting in FindByID
collisions.
* Fixed DNS lookups to work consistently throughout the OpenAFS
product instead of just from within the afsd_service.exe
* Added a runtime check to ensure that AFS Client Service SMB
Server is accepting connections before attempting to mount
global drives.
* Read IP addresses for volume servers out of the CellServDB
file if gethostbyname() on the hostname fails.
* Fix getcellconfig() to populate both the Hostnames as well
as IP addresses when loading cell data via DNS
* Increase the Connection Dead Time to 50 from 20 seconds
Increase the Hard Dead Time to 120 from 40 seconds
(matches the Unix values)
* Fixed an assertion validating the number of allocated NCBs
* Fixed the build environment to consistently build for
Windows 2000 and above. (APPVER = 5.0)
* Fixed rx_debug to properly validate the receipt in incoming
data with select() and recvfrom(). Do not copy data out of
the socket buffer unless success is indicated.