openafs.git
14 years agoviced cap fetchdata len to avoid negative
Derrick Brashear [Fri, 25 Sep 2009 07:15:40 +0000]
viced cap fetchdata len to avoid negative

when trying to read from a short or zero length file,
it's possible for sanity checking to knock the length below
zero. set a floor at zero.

Reviewed-on: http://gerrit.openafs.org/494
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>

14 years agoAttempt to fix CForeign moredata behaviour
Simon Wilkinson [Sat, 26 Sep 2009 09:06:27 +0000]
Attempt to fix CForeign moredata behaviour

The fetchstore patches changed the behaviour of the multiple chunk handling
that's used in FetchData when the vnode's CForeign bit is set. In the original
code, the data would be read as (length, payload) chunks. The new code does
(length, length, payload), which corrupts the incoming data.

This patch restores the original control flow.

Reviewed-on: http://gerrit.openafs.org/498
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>

14 years agoh_GetHost_r cleanup cases
Derrick Brashear [Fri, 25 Sep 2009 09:19:33 +0000]
h_GetHost_r cleanup cases

avoid potentially leaking a cb_in or a capabilities blob;
use a common exit function and free when these were left set.

Reviewed-on: http://gerrit.openafs.org/496
Tested-by: Alistair Ferguson <alistair.ferguson@mac.com>
Reviewed-by: Alistair Ferguson <alistair.ferguson@mac.com>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

14 years agoAFSPreference Pane, has changed the content of launchd xml control file for AFSBackgr...
Claudio Bisegni [Thu, 24 Sep 2009 17:03:28 +0000]
AFSPreference Pane, has changed the content of launchd xml control file for AFSBackgrounder

has been used <key>Program</key> instead of <key>ProgramArgument</key>

Reviewed-on: http://gerrit.openafs.org/495
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>

14 years agoFix CacheFetchProc in cases where the fileserver hates us
Simon Wilkinson [Thu, 24 Sep 2009 23:27:40 +0000]
Fix CacheFetchProc in cases where the fileserver hates us

In some situations, the fileserver returns a large negative number
as the length in an FetchData64 call. The old FetchProc code used an int32
to hold this number, and checked length > 0 before attempting to read more
data. The new code uses a uint32, and does while (length), which causes the
cache manage to loop until RX aborts the connection.

This patch restores the old behaviour. length becomes a signed int once more
(and the original 32 bit length from the wire is used, rather than truncating
the 64 bit value), and the conditional checks for > 0.

Reviewed-on: http://gerrit.openafs.org/493
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>

14 years agoUnlink correct files in salvager
Andrew Deason [Mon, 21 Sep 2009 17:48:30 +0000]
Unlink correct files in salvager

Fallout from 0ac956b3384842b3c60e72bde78a4baf58a5877f; a couple of
unlink() calls were not updated to use the absolute path. Update them,
and log errors from unlink(), since otherwise it is difficult to tell
that anything is going wrong.

Reviewed-on: http://gerrit.openafs.org/479
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoSolaris: Default to fs_pathconf in afs_pathconf
Andrew Deason [Tue, 22 Sep 2009 21:59:34 +0000]
Solaris: Default to fs_pathconf in afs_pathconf

Instead of returning EINVAL in afs_pathconf when we don't recognize the
pathconf command, return the result of fs_pathconf. fs_pathconf provides
sensible defaults or correctly represents a filesystem not implementing
a particular pathconf cmd; all in-tree (Open)Solaris filesystems call
fs_pathconf for unimplemented commands. Returning EINVAL allegedly
represents that the fileystem does not support pathconf at all.

Also, account for OpenSolaris adding another parameter to
pathconf-related calls.

Reviewed-on: http://gerrit.openafs.org/488
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>

14 years agoRefactor the cache bypass determination code
Simon Wilkinson [Wed, 23 Sep 2009 17:18:34 +0000]
Refactor the cache bypass determination code

The code which determines whether the cache can be bypassed occurs in
multiple locations in this file. Make a single static inline function
that can do this, and use it.

Reviewed-on: http://gerrit.openafs.org/489
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoRemove one more AFS_UCRED struct
Andrew Deason [Tue, 22 Sep 2009 22:36:38 +0000]
Remove one more AFS_UCRED struct

After 8a8244dd351f865af2da3b5ebb746ba57723b6a9, AFS_UCRED is no longer
assumed to be a struct. Fix one instance that still declares it as a
struct.

Reviewed-on: http://gerrit.openafs.org/487
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>

14 years agoWhitespace cleanup (sorry)
Simon Wilkinson [Tue, 22 Sep 2009 16:18:34 +0000]
Whitespace cleanup (sorry)

The cache bypass code changed the indentation of afs_linux_readpage so
that pullups from 1.4 no longer works.

This patch simply restores the original (correct) indentation. Sorry for
a whitespace change, but this will make things much easier going
forwards.

Reviewed-on: http://gerrit.openafs.org/486
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>

14 years agoDAFS protocol state diagrams
Derrick Brashear [Tue, 22 Sep 2009 08:51:15 +0000]
DAFS protocol state diagrams

update DAFS protocol state diagrams

FIXES 124990

Reviewed-on: http://gerrit.openafs.org/485
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>

14 years agoImplement _PC_FILESIZEBITS for solaris pathconf
Andrew Deason [Mon, 21 Sep 2009 21:57:01 +0000]
Implement _PC_FILESIZEBITS for solaris pathconf

Using recent NFS clients and servers with the translator under Solaris
causes AFS to be queried for the _PC_FILESIZEBITS pathconf value. Right
now we don't implement it and return EINVAL, causing at least some
modern NFS clients to be unable to mount AFS via the translator on at
least some modern NFS servers.

So, return _PC_FILESIZEBITS as either 32 or 64, depending on whether we
are a 64-bit client or not.

Reviewed-on: http://gerrit.openafs.org/481
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>

14 years agoAvoid salvager vol header read assert
Andrew Deason [Mon, 21 Sep 2009 19:28:29 +0000]
Avoid salvager vol header read assert

When we read the volume header in order to write it back with a modified
inUse while salvaging, we were aborting if we couldn't read the header.
Since we can fail to read the header data if the volume header file
isn't associated with any data (and will be deleted by the salvager),
don't abort. Do still abort if we can't write the data back, since if
the data can be read but not written, other programs may think that the
volume is not being salvaged.

Reviewed-on: http://gerrit.openafs.org/480
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>

14 years agoDAFS: Put back volumes we get in FSSYNC handlers openafs-devel-1_5_64
Andrew Deason [Mon, 21 Sep 2009 16:09:56 +0000]
DAFS: Put back volumes we get in FSSYNC handlers

fssync-server.c has a few issues with not properly VPutVolume_r'ing
volumes that were VGetVolume_r'd. The most important of these was that
the handler for FSYNC_VOL_MOVE can put back a volume it did not get,
when DAFS is enabled.

Fix that, and another erroneous edge case in the FSYNC_VOL_QUERY_HDR
handler when DAFS is not enabled.

Reviewed-on: http://gerrit.openafs.org/477
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>

14 years agomake 1.5.64 for unix
Derrick Brashear [Mon, 21 Sep 2009 16:33:37 +0000]
make 1.5.64 for unix

update version strings to 1.5.64

Reviewed-on: http://gerrit.openafs.org/478
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>

14 years agoUse the padd op.
Felix Frank [Sun, 20 Sep 2009 12:43:34 +0000]
Use the padd op.

When the padd operation was added, the change that makes actual use
of it got lost somewhere along the line. Fixed now.

Originally introduction of the padd op:
6220ede6a96d06c53eddd848435764cff96be1b4

Reviewed-on: http://gerrit.openafs.org/471
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>

14 years agoWindows version number 1.5.64
Jeffrey Altman [Mon, 21 Sep 2009 16:11:25 +0000]
Windows version number 1.5.64

Reviewed-on: http://gerrit.openafs.org/476
Tested-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

14 years agoWindows: 1.5.64 updates for Windows Notes
Jeffrey Altman [Mon, 21 Sep 2009 16:07:23 +0000]
Windows: 1.5.64 updates for Windows Notes

LICENSE MIT

Reviewed-on: http://gerrit.openafs.org/475
Tested-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

14 years agoWindows: uninitialized variable in cm_GetBuffer
Jeffrey Altman [Sun, 20 Sep 2009 15:06:07 +0000]
Windows: uninitialized variable in cm_GetBuffer

Initialize code and code1 to zero.  Otherwise, a non-zero
value on the stack can result in an incorrect error value
being passed to cm_Analyze().

LICENSE MIT

Reviewed-on: http://gerrit.openafs.org/473
Tested-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

14 years agoWindows: Protect against null serverp in cm_Analyze
Jeffrey Altman [Sun, 20 Sep 2009 15:04:07 +0000]
Windows: Protect against null serverp in cm_Analyze

If cm_Analyze is called with both 'serverp' and 'connp' set
to NULL and an RX error is provided, a null pointer dereference
will occur.  Test for non-NULL serverp before dereferencing

LICENSE MIT

Reviewed-on: http://gerrit.openafs.org/472
Tested-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

14 years agoWindows: Do not mark server down due to Store / Fetch Data protocol error
Jeffrey Altman [Sat, 19 Sep 2009 17:52:32 +0000]
Windows: Do not mark server down due to Store / Fetch Data protocol error

When performing a StoreData or FetchData operation there are
several data validation checks performed to ensure that the
lengths of data obtained with rx_Write and rx_Read are consistent
with the RXAFS_FetchData and RXAFS_StoreData protocol operations.
When an inconsistency is detected the cache manager terminates the
call and returns an error to the caller which is passed to cm_Analyze().
The cache manager was returning -1 as the error code which is
equivalent to RX_CALL_DEAD which in turn will result in the server
being marked down.

This commit makes the following changes:

 . add trace logging to permit monitoring this case

 . instead of returning -1 return either RX_PROTOCOL_ERROR or RX_EOF
   depending on the situation

 . in cm_Analyze do not mark a server as down for rx errors other
   than RX_CALL_DEAD.  Instead, force a new connection and retry
   until the request timeout limit is reached.

LICENSE MIT

Reviewed-on: http://gerrit.openafs.org/470
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>

14 years agoWindows: more pioctl output validation
Jeffrey Altman [Mon, 14 Sep 2009 14:59:54 +0000]
Windows: more pioctl output validation

Add output validation checks to the Explorer Shell and the
Client configuration control panel.

LICENSE MIT

Reviewed-on: http://gerrit.openafs.org/458
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>

14 years agoWindows: Use "Name not found" instead of "File not found"
Jeffrey Altman [Sat, 19 Sep 2009 08:55:09 +0000]
Windows: Use "Name not found" instead of "File not found"

When a file cannot be opened because the name of the file or
a directory in the path cannot be found, return "Name not found"
instead of "File not found".  "File not found" is the error returned
by the smb redirector to the application when the file cannot be
located in the search path.  "Name not found" indicates that the
entry is not present at the location requested.

The use of "File not found" prevented execution of applications
from the \\AFS name space on Windows 7.

LICENSE MIT

Reviewed-on: http://gerrit.openafs.org/469
Tested-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

14 years agoWindows: trace logging changes for smb_ReceiveTran2QPathInfo
Jeffrey Altman [Fri, 18 Sep 2009 14:46:07 +0000]
Windows: trace logging changes for smb_ReceiveTran2QPathInfo

Add new trace log entries in smb_ReceiveTran2QPathInfo to
help track down the reason for queries in which the path and
tidPath are both the empty string.

LICENSE MIT

Reviewed-on: http://gerrit.openafs.org/467
Tested-by: Asanka Herath <asanka@secure-endpoints.com>
Reviewed-by: Asanka Herath <asanka@secure-endpoints.com>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

14 years agoWindows: Improve WKSSRC and SRVSVC compatibility with Windows
Jeffrey Altman [Fri, 18 Sep 2009 14:41:14 +0000]
Windows: Improve WKSSRC and SRVSVC compatibility with Windows

This commit includes several changes to improve compatibility
with Windows (in particular Windows 2000).

1. Specify a Lan Workgroup name.  We use "AFS".

2. Ensure that the server name returned does not include
   leading slash or backslash characters.  The name provided
   might include them but they are not part of the name and
   cannot be returned.

3. The NetrWkstaGetInfo and NetrServerGetInfo responses must
   be consistent.  Otherwise, the Explorer Shell will get confused and
   refuse to provide access to the server shares.

This commit also includes some minor comment changes.

LICENSE MIT

Reviewed-on: http://gerrit.openafs.org/466
Tested-by: Asanka Herath <asanka@secure-endpoints.com>
Reviewed-by: Asanka Herath <asanka@secure-endpoints.com>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

14 years agoWindows: Trace wkssvc and srvsvc rpc calls
Jeffrey Altman [Fri, 18 Sep 2009 14:25:59 +0000]
Windows: Trace wkssvc and srvsvc rpc calls

Add osi_Log statements identifying which RPCs are being called
from the wkssvc and srvsvc modules

LICENSE MIT

Reviewed-on: http://gerrit.openafs.org/465
Tested-by: Asanka Herath <asanka@secure-endpoints.com>
Reviewed-by: Asanka Herath <asanka@secure-endpoints.com>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

14 years agoWindows: No rand_s on Windows 2000
Jeffrey Altman [Fri, 18 Sep 2009 14:01:10 +0000]
Windows: No rand_s on Windows 2000

Even if the rand_s() function is supported by the compiler
it is not supported on Windows 2000 because the kernel level
functionality it requires does not exist on that platform.
Calling rand_s() on Windows 2000 will throw an exception
and terminate the service.

LICENSE MIT

Reviewed-on: http://gerrit.openafs.org/464
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Asanka Herath <asanka@secure-endpoints.com>
Reviewed-by: Asanka Herath <asanka@secure-endpoints.com>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

14 years agoDAFS assert correction in GetVolume
Andrew Deason [Fri, 18 Sep 2009 18:23:46 +0000]
DAFS assert correction in GetVolume

FSSYNC_VolOpRunningUnknown is a vol op state, not a pointer to a vol op
itself.

Reviewed-on: http://gerrit.openafs.org/468
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoLinux: Restore aklog -setpag functionality for kernel 2.6.32+
Marc Dionne [Mon, 14 Sep 2009 21:40:23 +0000]
Linux: Restore aklog -setpag functionality for kernel 2.6.32+

With kernel 2.6.32 it is now possible for a process to copy its session
keyring to its parent through the use of the KEYCTL_SESSION_TO_PARENT
function of the keyctl syscall.

We can't use this easily from kernel space to cover all calls to
VIOCSETTOK with the setpag flag - we'd need to make a syscall
or have keyctl exported.  Instead, a hook is added to ktc_SetToken to
make it honour the AFS_SETTOK_SETPAG flag, which was ineffective with recent
kernels.
This should cover the most common cases (ex: aklog) where this is needed.

The syscall is coded directly to avoid introducing a dependency on the
keyutils library or header files which may not be installed everywhere.

Reviewed-on: http://gerrit.openafs.org/463
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoManage the login in the OSX Fast User Switch mode
Claudio Bisegni [Tue, 15 Sep 2009 07:29:21 +0000]
Manage the login in the OSX Fast User Switch mode

AFSBackgrounder has been update to get notification for switch in/off in the "Fast User Switch" mode, and in switch in it try to get tokens.

Reviewed-on: http://gerrit.openafs.org/460
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoRemove unecessary initialisation
Simon Wilkinson [Mon, 14 Sep 2009 12:49:22 +0000]
Remove unecessary initialisation

We already memset av to contain all 0s, therefore we don't need to
initialise individual elements to 0 as well.

Inspired by Rainer Toebbicke's patch for RT 125355 (which is 1.4.x only)

Reviewed-on: http://gerrit.openafs.org/456
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>

14 years agoCorrects file_CmdRef_1_fs_chgrp_html and file_CmdRef_1_fs_chown_html sharing short...
Brant Gurganus [Mon, 14 Sep 2009 02:02:10 +0000]
Corrects file_CmdRef_1_fs_chgrp_html and file_CmdRef_1_fs_chown_html sharing short names.

Reviewed-on: http://gerrit.openafs.org/455
Tested-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

14 years agoAdd indexing to Windows Release Notes
Jeffrey Altman [Sun, 13 Sep 2009 14:32:12 +0000]
Add indexing to Windows Release Notes

An initial pass at adding indexing to the Windows release notes.
The next pass should refine the index terms and add appropriate
secondary index values.

LICENSE MIT

Reviewed-on: http://gerrit.openafs.org/454
Tested-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

14 years agoWindows Release Notes XML
Jeffrey Altman [Sun, 13 Sep 2009 05:45:48 +0000]
Windows Release Notes XML

Reformat the Registry and Environment Values in Appendix A
so that they are easier to identify in the table of contents.

LICENSE MIT

Reviewed-on: http://gerrit.openafs.org/453
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>

14 years agocm fetchstore should dereference unset ops
Derrick Brashear [Sun, 13 Sep 2009 05:00:45 +0000]
cm fetchstore should dereference unset ops

if rxfs_fetchInit fails, ops will not be set; calling the destroy op
unconditionally thus leads to a panic.

Reviewed-on: http://gerrit.openafs.org/452
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>

14 years agomacos package updates openafs-devel-1_5_63
Derrick Brashear [Fri, 11 Sep 2009 17:26:01 +0000]
macos package updates

make the readme correct; allow back reving (downgrades)

Reviewed-on: http://gerrit.openafs.org/447
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoWindows: Version 1.5.63
Jeffrey Altman [Fri, 11 Sep 2009 15:44:41 +0000]
Windows: Version 1.5.63

Reviewed-on: http://gerrit.openafs.org/445
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>

14 years agounix 1.5.63
Derrick Brashear [Fri, 11 Sep 2009 17:30:29 +0000]
unix 1.5.63

make 1.5.63 for unix

Reviewed-on: http://gerrit.openafs.org/448
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>

14 years agoWindows: changelog updates for 1.5.63
Jeffrey Altman [Fri, 11 Sep 2009 15:41:01 +0000]
Windows: changelog updates for 1.5.63

LICENSE MIT

Reviewed-on: http://gerrit.openafs.org/444
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>

14 years agomake fileserver avoid salvage loop on init failure
Derrick Brashear [Tue, 8 Sep 2009 18:31:09 +0000]
make fileserver avoid salvage loop on init failure

if the vlserver or prserver setup can't succeed, it doesn't indicate
a condition which salvaging is required to fix; instead, come up
and retry in the background.

Reviewed-on: http://gerrit.openafs.org/428
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>

14 years agoCode beautifications.
Felix Frank [Thu, 16 Jul 2009 06:26:55 +0000]
Code beautifications.

* get rid of register declarations
* remove unused local var InStatus
* comment prototypes properly (correct .c file)
* save some linebreaks in function headers

Reviewed-on: http://gerrit.openafs.org/135
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoMore cosmetics.
Felix Frank [Mon, 13 Jul 2009 11:40:26 +0000]
More cosmetics.

* FetchProc: length loop shorter condition
* added fancyspace in FillStore call.
* removed unused bsent variable
* shortened some conditions
* storeDestry: saved the code2 variable.

Reviewed-on: http://gerrit.openafs.org/134
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoCosmetics in CacheStoreDCaches, CacheStoreVCache and storeInit.
Felix Frank [Mon, 13 Jul 2009 11:28:41 +0000]
Cosmetics in CacheStoreDCaches, CacheStoreVCache and storeInit.

* StoreProc: renamed alen to size.
* StoreProc: Make connection before do {}
* rename fP to tfile.
* Declare nchunks later in StoreProc.
* Fixed order of storeInit parameters.
* storeInit: renamed tlen to length.

Reviewed-on: http://gerrit.openafs.org/133
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoImmediately abort call when not able to fetch length (fetchInit).
Felix Frank [Mon, 13 Jul 2009 09:13:21 +0000]
Immediately abort call when not able to fetch length (fetchInit).

Reviewed-on: http://gerrit.openafs.org/132
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoLocking comment in FetchProc
Felix Frank [Mon, 13 Jul 2009 08:26:47 +0000]
Locking comment in FetchProc

Reviewed-on: http://gerrit.openafs.org/131
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoDo not respond to SYNC_COM_CHANNEL_CLOSE requests
Andrew Deason [Wed, 9 Sep 2009 14:22:02 +0000]
Do not respond to SYNC_COM_CHANNEL_CLOSE requests

SYNC clients, when closing a channel, send a SYNC_COM_CHANNEL_CLOSE
command, and immediately disconnect before waiting for a response. So,
don't send a SYNC response, since by the time we send it, the other end
will most likely have already hung up, causing a lot of needless
'SYNC_putRes: write failed' messages whenever a SYNC channel is closed
(e.g. when a demand-salvage finishes).

Reviewed-on: http://gerrit.openafs.org/434
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoWindows: Handle "(Default)" regsitry value in MountGlobalDrivesThread
Jeffrey Altman [Fri, 11 Sep 2009 15:54:27 +0000]
Windows: Handle "(Default)" regsitry value in MountGlobalDrivesThread

In MountGlobalDrivesThread(), if the "(Default)" registry value
is defined that should be interpreted as a drive mapping to a
device with no name.  This is specified using NULL instead of the
nul-string.

LICENSE MIT

Reviewed-on: http://gerrit.openafs.org/446
Tested-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

14 years agofetchDestroy can end calls now too.
Felix Frank [Mon, 13 Jul 2009 08:08:37 +0000]
fetchDestroy can end calls now too.

Reviewed-on: http://gerrit.openafs.org/130
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoIncluded proper 64bit case in fetchClose() and storeClose().
Felix Frank [Mon, 13 Jul 2009 08:06:50 +0000]
Included proper 64bit case in fetchClose() and storeClose().

Reviewed-on: http://gerrit.openafs.org/129
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agodarwin knet avoid rx socket during shutdown
Derrick Brashear [Fri, 11 Sep 2009 05:59:08 +0000]
darwin knet avoid rx socket during shutdown

theoretically a user thread can race us during shutdown and end up
panicing us if the soclose happens at the wrong time. if we're shutting down
just return. using afs_shuttingdown would have the side effect that we'd lose
the ability to add any graceful behavior.

Reviewed-on: http://gerrit.openafs.org/443
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoAdded guard against missing call and moved alength assignment in fetchInit.
Felix Frank [Mon, 13 Jul 2009 07:07:17 +0000]
Added guard against missing call and moved alength assignment in fetchInit.

The returned value of rx_NewCall is important of course and must be taken
into account before trying to start RPCs. Do assign the length output
variable ASAP.
Also fixes an overlong line and the type of the pos local var to unsigned.

More style fixes:
* Moved length64 to use proper scope, initialized code.
* Generally make more tidy

Reviewed-on: http://gerrit.openafs.org/128
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agodes crypt cope with 64 bit longs
Derrick Brashear [Fri, 11 Sep 2009 05:28:49 +0000]
des crypt cope with 64 bit longs

we test for them in configure; instead of hardcoding it in yet
another place, use the information we have

Reviewed-on: http://gerrit.openafs.org/442
Tested-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>

14 years agoWindows: Add pioctl data output validation to fs and symlink command line tools
Jeffrey Altman [Fri, 11 Sep 2009 04:35:04 +0000]
Windows: Add pioctl data output validation to fs and symlink command line tools

pioctl data buffer output was not being validated to ensure that
buffers were not overwritten or accessed beyond their limits.

LICENSE MIT

Reviewed-on: http://gerrit.openafs.org/441
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

14 years agoWindows: update build system for restorevol man page move
Russ Allbery [Thu, 10 Sep 2009 18:02:46 +0000]
Windows: update build system for restorevol man page move

restorevol moved from section 8 to section 1.  The Windows build
system needed corresponding changes.

Reviewed-on: http://gerrit.openafs.org/440
Tested-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

14 years agoStop using sig_t
Russ Allbery [Sat, 22 Aug 2009 01:59:01 +0000]
Stop using sig_t

acinclude.m4 was adding to afsconfig.h some code to define sig_t as the
type of a signal handler.  This definition was in terms of RETSIGTYPE,
which is deprecated by Autoconf.  It also adds an unnecessary abstraction
for only two places in the AFS source code where it was used.  Remove it
and change those two spots to use the standard C declaration of the
function pointer.

Reviewed-on: http://gerrit.openafs.org/335
Tested-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
Reviewed-by: Derrick Brashear <shadow@dementia.org>

14 years agoMove restorevol to bin from sbin
Russ Allbery [Sat, 22 Aug 2009 01:12:39 +0000]
Move restorevol to bin from sbin

restorevol only requires access to a dump file and write access to the
directory in which the dump is being unpacked.  It doesn't require being
a superuser, so it should be installed in bin instead of sbin.  Also
move the man page to section 1 and update references accordingly.

Reviewed-on: http://gerrit.openafs.org/333
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoredhat spec dkms don't strip modules
Derrick Brashear [Tue, 1 Sep 2009 15:18:19 +0000]
redhat spec dkms don't strip modules

provide a debug module which is unstripped. this is necessary for debugging
problems.

Reviewed-on: http://gerrit.openafs.org/391
Reviewed-by: Russ Allbery <rra@stanford.edu>
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>

14 years agomake salvager able to cope with corrupt class index
Derrick Brashear [Thu, 13 Aug 2009 14:05:44 +0000]
make salvager able to cope with corrupt class index

right now if a directory ends up in the small vnode index, the salvager
will never fix it. unlinking from the index (and recovering an orphan later)
beats crashing forever

Reviewed-on: http://gerrit.openafs.org/309
Reviewed-by: Russ Allbery <rra@stanford.edu>
Tested-by: Russ Allbery <rra@stanford.edu>

14 years agomacos panic decoder should handle 64 bit kernel in 32 bit mode
Derrick Brashear [Wed, 9 Sep 2009 22:49:29 +0000]
macos panic decoder should handle 64 bit kernel in 32 bit mode

panic from 64 bit should be decodable in 32 bit mode. make it so. add
-k switch to allow a path to a kernel to be specified.

Reviewed-on: http://gerrit.openafs.org/438
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoAvoid __USE_XOPEN redefinition
Marc Dionne [Wed, 9 Sep 2009 23:00:49 +0000]
Avoid __USE_XOPEN redefinition

Only define __USE_XOPEN if not already defined.
This eliminates a few build warnings where __USE_XOPEN is already
defined in system header files.

Reviewed-on: http://gerrit.openafs.org/439
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>

14 years agoRemove extraneous + character in src/volser/common.c
Marc Dionne [Wed, 9 Sep 2009 22:39:24 +0000]
Remove extraneous + character in src/volser/common.c

Remove an unneeded extra + character at the end of line - probably
from a typing accident.

This generates a warning at compile time.

Reviewed-on: http://gerrit.openafs.org/437
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>

14 years agoCosmetics: Rename some variables, fix types.
Felix Frank [Mon, 13 Jul 2009 06:54:23 +0000]
Cosmetics: Rename some variables, fix types.

* Replaced tsize by new local var llbytes in rxfs_storeInit.
* Make int32 lengths unsigned in rxfs_storeInit.
* Renamed lengthFound to length64.
* renamed abase to base.

Reviewed-on: http://gerrit.openafs.org/127
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoMoved CForeign check to rxfs_storeInit/storeMore.
Christof Hanke [Wed, 9 Sep 2009 14:21:44 +0000]
Moved CForeign check to rxfs_storeInit/storeMore.

This is rxfs-specific, so move it out of CacheStoreProc.

It must be done before entering the do { } while (moredata) loop proper
now, as rxfs_fetchMore is never called during the first iteration

(moredata is always 0), but the length may need fixing (note that
this was done after what is now the fetchMore op originally). Thus
it appears in rxfs_fetchInit.
To prevent a bogus call during the first loop iteration, also check
for length!=0. Finally, don't bother with fetchMore at all unless
CForeign is set.

In rxfs_fetchInit, we added an additional check for length_hi being
zero.

uploade patchset 8.

Reviewed-on: http://gerrit.openafs.org/126
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoWindows: Use secure ctime and strncpy in afs_ctime
Jeffrey Altman [Tue, 8 Sep 2009 20:36:32 +0000]
Windows: Use secure ctime and strncpy in afs_ctime

Microsoft compilers version 1400 and above provide secure
versions of ctime and strncpy. Use them in afs_ctime.

Correction to sha1:359c64bb674ea0606e64b91fd8252297310a9862

Thanks to Andrew Deason for identifing the mistake.

Reviewed-on: http://gerrit.openafs.org/429
Tested-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

14 years agoWindows: secure rand()
Jeffrey Altman [Tue, 8 Sep 2009 20:43:01 +0000]
Windows: secure rand()

rand_s() is available on Visual Studio 2005 and above (aka 1400 and above)

LICENSE MIT

Reviewed-on: http://gerrit.openafs.org/430
Tested-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

14 years agoWindows: Add data validation to ktc_xxxx functions that perform pioctls
Jeffrey Altman [Sun, 6 Sep 2009 19:10:56 +0000]
Windows: Add data validation to ktc_xxxx functions that perform pioctls

The ktc_GetToken and ktc_ListTokens functions perform a pioctl
and then parse the response data.  There is no validation that the
data required is not longer than the pioctl output or that the
data received fits into the data structures that are being written.
As a result, random crashes have occurred when the wrong data
has been received from the pioctl.

This commit adds data validation to at least ensure that these
functions cannot read beyond the data provided or write beyond
the allocated memory.

LICENSE MIT

Reviewed-on: http://gerrit.openafs.org/405
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Asanka Herath <asanka@secure-endpoints.com>
Tested-by: Asanka Herath <asanka@secure-endpoints.com>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>

14 years agobuild fix: ubik_client is a struct
Marc Dionne [Tue, 8 Sep 2009 21:58:41 +0000]
build fix: ubik_client is a struct

Fix a build failure - ubik_client is a struct and not a type

Reviewed-on: http://gerrit.openafs.org/431
Tested-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

14 years agoWindows: Use secure ctime and strncpy in afs_ctime
Jeffrey Altman [Sun, 6 Sep 2009 22:47:54 +0000]
Windows: Use secure ctime and strncpy in afs_ctime

Microsoft compilers version 1500 and above provide secure
versions of ctime and strncpy.  Use them in afs_ctime.

Reviewed-on: http://gerrit.openafs.org/408
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Asanka Herath <asanka@secure-endpoints.com>
Reviewed-by: Asanka Herath <asanka@secure-endpoints.com>
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

14 years agoOnly force a specific compiler where necessary
Russ Allbery [Sat, 22 Aug 2009 07:31:22 +0000]
Only force a specific compiler where necessary

Rather than setting the compiler to cc on all platforms by default,
use the Autoconf default unless the specific compiler might matter.
Conservatively set the compiler to cc for all non-Linux, non-BSD
operating systems that previously didn't explicitly set it.  Fix a
few places on Linux where the compiler was set to gcc explicitly
rather than using the Autoconf result.

Don't bother setting the Linux i386 compiler to gcc -pipe.  The compile
performance difference isn't enough to bother with the special
exception, and we don't do this for other Linux systems.

With this change, setting CC at Autoconf time will correctly set the
compiler per the user's preferences unless they're on an operating
system where we care about having a particular compiler for kernel
purposes.  This can be relaxed further in the future, particularly if
the kernel compiler is broken out to a separate setting.

Reviewed-on: http://gerrit.openafs.org/337
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoRemove old disabled code to support truncated passwords
Russ Allbery [Sat, 22 Aug 2009 02:11:58 +0000]
Remove old disabled code to support truncated passwords

ka_UserAuthenticateGeneral had code disabled with #ifdef OLDCRUFT to
retry failed authentications by truncating the password to eight
characters, with a comment that the truncating behavior of kpasswd
was disabled in 1990.  Nothing references this preprocessor define in
the source tree.  Delete the dead code.

Reviewed-on: http://gerrit.openafs.org/336
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoWindows: Prevent pioctl races from crashing afsd_service
Jeffrey Altman [Sun, 6 Sep 2009 19:25:42 +0000]
Windows: Prevent pioctl races from crashing afsd_service

The SMB redirector will permit two processes to open the
pioctl file at the same time without giving SMB server an
opportunity to say 'no'.  As a result multiple reads and writes
on the allocated smb_fid->ioctl can play havoc with the pioctl
state.  Since afsd_service doesn't know the writes and reads
are coming from separate requests there is nothing it can do
to prevent incorrect data going to the wrong process.  However,
it can (and should) protect itself when the state becomes invalid.

Two prevention methods are applied:

 1. add an additional state flag that explicitly indicates
    when the ioctl is in the dataout state

 2. validate the length of data in the ioctl input or
    output buffers before copying it.  If the length
    becomes negative, return a CM_ERROR_INVAL error.

In addition, when the invalid state results in a failure to
to find a matching pioctl function do not return CM_ERROR_BADOP.
CM_ERROR_BADOP can only be returned if the SMB operation is not
supported.  Returning it in response to a ReadFile request will
cause the SMB client to drop the connection.

Finally, fix smb_FindFID to prevent the same 'fid' from being
used for more than one open file.

LICENSE MIT

Reviewed-on: http://gerrit.openafs.org/407
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>

14 years agoWindows: Fake scache not completely initialized
Jeffrey Altman [Sun, 6 Sep 2009 19:20:58 +0000]
Windows: Fake scache not completely initialized

The fake scache object used for pioctl operations was not
fully initialized.  The magic value, data version, and
several locks were not initialized.  Do so.

Since the fid of the fake scache object is 0.0.0.0
remove the assert in cm_GetSCache for cell != 0.
Instead simply return CM_ERROR_INVAL.

LICENSE MIT

Reviewed-on: http://gerrit.openafs.org/406
Reviewed-by: Asanka Herath <asanka@secure-endpoints.com>
Tested-by: Asanka Herath <asanka@secure-endpoints.com>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>

14 years agoWindows: Prevent simultaneous pioctls
Jeffrey Altman [Sun, 6 Sep 2009 18:45:42 +0000]
Windows: Prevent simultaneous pioctls

The Windows pioctl implementation makes an incorrect assumption.
It is not true that every CreateFile() operation results in a
SMB NTCreateX operation being delivered to SMB Server.  The SMB
client can combine open requests from multiple processes or threads
onto a single SMB file descriptor and locally manage the operations.
This is a problem for pioctls since the Transceive operation requires
that a WriteFile/ReadFile combination must belong to the same request.

Prior to this change simultaneous pioctl operations would be
combined and the individual reads and writes could overlap resulting
in responses going to the wrong requestor and end of file errors
being received by the others.

Due to lack of data validation in fs.c, ktc_nt.c, symlink.c,
etc random crashes are produced.

This change alters the sharing mode under which the pioctl file is
opened.  Instead of FILE_SHARE_READ | FILE_SHARE_WRITE, only
FILE_SHARE_READ is specified to CreateFile().  This ensures that
the CreateFile will fail with a sharing violation if the pioctl
file was previously opened for writing.

A sharing violation check is provided and the CreateFile is retried
indefinitely until the open succeeds or the error is not a sharing
violation.

LICENSE MIT

Reviewed-on: http://gerrit.openafs.org/404
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Asanka Herath <asanka@secure-endpoints.com>
Reviewed-by: Asanka Herath <asanka@secure-endpoints.com>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

14 years agoWindows: smb_FindShareCSCPolicy uses invalid registry key
Jeffrey Altman [Sat, 5 Sep 2009 13:44:11 +0000]
Windows: smb_FindShareCSCPolicy uses invalid registry key

smb_FindShareCSCPolicy() ignored the error state of RegCreateKeyEx()
and would pass the uninitialized hkCSCPolicy to RegQueryValueEx()
and RegCloseKey().  While this did not produce invalid results, it
did result in unnecessary operations and exception handling within
the Win32 registry apis.

LICENSE MIT

Reviewed-on: http://gerrit.openafs.org/402
Tested-by: Asanka Herath <asanka@secure-endpoints.com>
Reviewed-by: Asanka Herath <asanka@secure-endpoints.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

14 years agoCorrect nvldbentry and vldbentry misuse in uss/uss_vol.c
Jeffrey Altman [Sat, 29 Aug 2009 18:16:45 +0000]
Correct nvldbentry and vldbentry misuse in uss/uss_vol.c

The uss module relies on MapNetworkToHost / MapHostToNetwork from
src/volser.  These functions convert a struct nvldbentry and not
a struct vldbentry.  When src/volser was converted to struct nvldbentry
src/uss must have been forgotten.

In uss_vol.c convert GetServerAndPart() to accept a nvldbentry
instead of a vldbentry.

Add two static functions:

 * ovlentry_to_nvlentry() to convert from vldbentry to nvldbentry
   if required

 * uss_vol_GetEntryByID() which first attempts to use
   ubik_VL_GetEntryByIDN() and if that is not supported falls
   back to ubik_VL_GetEntryByID() and ovlentry_to_nvlentry().

LICENSE MIT

FIXES 125101

Reviewed-on: http://gerrit.openafs.org/377
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agofetchstore nocall argument breaks non-64bit clients
Derrick Brashear [Tue, 8 Sep 2009 02:29:54 +0000]
fetchstore nocall argument breaks non-64bit clients

a label before the end of a loop breaks, which is the case
when AFS_64BIT_CLIENT's not defined (e.g. UKERNEL).

fix it.

Reviewed-on: http://gerrit.openafs.org/410
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>

14 years agoRemove struct from AFS_UCRED instantiations (opaque credential type support)
matt@linuxbox.com [Thu, 3 Sep 2009 14:15:18 +0000]
Remove struct from AFS_UCRED instantiations (opaque credential type support)

The identifier AFS_UCRED is intended as a preprocessor alias to
a possibly-opaque credential type.  A platform header will normally
rename AFS_UCRED to a platform credential type with #define.

This is not intended to change the meaning of AFS_UCRED, but removes
the assumption that it is a struct type, which may not be true, depending
on the platform and other decisions made by the AFS client port.

Reviewed-on: http://gerrit.openafs.org/397
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoWindows: Log RXKAD errors in cm_Analyze
Jeffrey Altman [Sat, 5 Sep 2009 03:22:12 +0000]
Windows: Log RXKAD errors in cm_Analyze

RXKAD errors were not logged at the point where the errors were
handled.  As a result they were never logged.

LICENSE MIT

Reviewed-on: http://gerrit.openafs.org/400
Tested-by: Asanka Herath <asanka@secure-endpoints.com>
Reviewed-by: Asanka Herath <asanka@secure-endpoints.com>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

14 years agoWindows: Explorer Shell Invalid Parameter Errors
Jeffrey Altman [Sat, 5 Sep 2009 03:23:10 +0000]
Windows: Explorer Shell Invalid Parameter Errors

The attempt to follow the smb protocol specification by returning
extended responses to NTCreateAndX requests (when specified)
resulted in random "invalid parameter" errors from the Explorer
Shell (and common control dialogs) on Vista SP2.
As a result we won't send the extended responses.

LICENSE MIT

Reviewed-on: http://gerrit.openafs.org/399
Tested-by: Asanka Herath <asanka@secure-endpoints.com>
Reviewed-by: Asanka Herath <asanka@secure-endpoints.com>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

14 years agoWindows: Freelance get callback sync and uninitialized variables
Jeffrey Altman [Sat, 5 Sep 2009 03:13:52 +0000]
Windows: Freelance get callback sync and uninitialized variables

In cm_GetCallback the Freelance mode case did not properly
synchronize attempts to fake obtain a callback.

cm_GetCallback also failed to initialize the contents of afsStatus and
volSync which are used as input to cm_MergeStatus.
cm_MergeStatus special cased the freelance root.afs volume root
directory but failed to handle any other freelance volume objects.
As a result it used the contents of the uninitialzed input structures
to populate the status of the object for which the callback was
obtained.

LICENSE MIT

Reviewed-on: http://gerrit.openafs.org/401
Tested-by: Asanka Herath <asanka@secure-endpoints.com>
Reviewed-by: Asanka Herath <asanka@secure-endpoints.com>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

14 years agomake afsd partition size check be large partition safe
Derrick Brashear [Tue, 1 Sep 2009 17:00:00 +0000]
make afsd partition size check be large partition safe

right now the math overflows the 32 bit type for >2tb partitions.
use larger variables to avoid this.

Reviewed-on: http://gerrit.openafs.org/392
Reviewed-by: Matt Benjamin <matt@linuxbox.com>
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>

14 years agoUpdate accessDate on volume access
Andrew Deason [Mon, 31 Aug 2009 16:10:10 +0000]
Update accessDate on volume access

Right now accessDate is simply never updated, so the last access time
for a volume is never reported. Simply update the field in
VBumpVolumeUsage_r, so we track the last time the volume was accessed.

Note that this does not increase disk writes to the volume header; the
performance impact is effectively nil.

Reviewed-on: http://gerrit.openafs.org/385
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoAdd tracing to MCAS allocator and GC
matt@linuxbox.com [Fri, 28 Aug 2009 15:54:41 +0000]
Add tracing to MCAS allocator and GC

Adds conditional trace logging to MCAS object cache and supporting GC,
using ViceLog.  While in future this should be normalized, it is correct
for both fileserver and volserver, the two programs using MCAS currently.

LICENSE BSD

Reviewed-on: http://gerrit.openafs.org/374
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoUpdated Chapter 2, Section 3.4 of the Admin Guide
Jason Edgecombe [Sun, 30 Aug 2009 22:26:10 +0000]
Updated Chapter 2, Section 3.4 of the Admin Guide

Added a bullet point explaining the use of a Kerberos cross-realm trust and PTS
foreign groups to give foreign users access.

Replaced a reference to Authentication Database with Kerberos Database.

LICENSE BSD

Reviewed-on: http://gerrit.openafs.org/381
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoWindows: The unnamed stream is a synonym
Jeffrey Altman [Thu, 3 Sep 2009 02:49:40 +0000]
Windows: The unnamed stream is a synonym

Treat a file request for "name::$DATA" as if it were specified as
"name".  Otherwise, the inclusion of the colon in the file name
will cause it to be treated as invalid.

LICENSE MIT

Reviewed-on: http://gerrit.openafs.org/395
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>

14 years agoWindows: rx_Write failures must be processed
Jeffrey Altman [Thu, 3 Sep 2009 02:54:17 +0000]
Windows: rx_Write failures must be processed

The error code returned by rx_Write takes precedence under
all circumstances over the error returned by EndRXAFS_StoreData.

cm_ReleaseBIOD must apply the error code to all buffers in the
BIOD list.

cm_ReleaseBIOD accepts an error code, not a boolean indicating
failure.

Fix a related signed/unsigned error.

FIXES 125351

LICENSE MIT

Reviewed-on: http://gerrit.openafs.org/396
Tested-by: Asanka Herath <asanka@secure-endpoints.com>
Reviewed-by: Asanka Herath <asanka@secure-endpoints.com>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

14 years agoWindows: avoid inappropriate dns searches
Jeffrey Altman [Thu, 3 Sep 2009 02:44:33 +0000]
Windows: avoid inappropriate dns searches

Do not perform searches for cells if the string prefix
matches _._AFS_IOCTL_._.

LICENSE MIT

Reviewed-on: http://gerrit.openafs.org/394
Tested-by: Asanka Herath <asanka@secure-endpoints.com>
Reviewed-by: Asanka Herath <asanka@secure-endpoints.com>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

14 years agoUpdated Chapter 2, Section 3.2 of the Admin Guide
Jason Edgecombe [Sun, 30 Aug 2009 21:54:16 +0000]
Updated Chapter 2, Section 3.2 of the Admin Guide

Removed the reference to the Authentication Server and added a reference to the Kerberos Server and Kerberos 5 authentication for foreign clients.

Replaced AFS Product Support with the AFS registrar as the maintainer of the
public CellServDB file. A link was added to grand.central.org for getting the
latest copy of the file and submitting changes for the local site.

Reviewed-on: http://gerrit.openafs.org/379
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoSALVSYNC_com initialization typo
Andrew Deason [Wed, 2 Sep 2009 16:50:06 +0000]
SALVSYNC_com initialization typo

The size of sres_hdr is sizeof(sres_hdr), not sizeof(sres).

Reviewed-on: http://gerrit.openafs.org/393
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>

14 years agoTurn on --enable-bos-new-config unconditionally
Russ Allbery [Fri, 24 Jul 2009 20:18:31 +0000]
Turn on --enable-bos-new-config unconditionally

Remove the conditional and Autoconf flag for enabling BosConfig.new
handling and change bosserver to always rename BosConfig.new to BosConfig
on startup if the former exists.

Document BosConfig.new handling in the bosserver and BosConfig man pages.
Tone down the warning about the BosConfig file format changing and warn
that bosserver rewrites BosConfig when shutting down.

Reviewed-on: http://gerrit.openafs.org/211
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoDAFS: avoid shutdown hang during salvage
Andrew Deason [Wed, 29 Jul 2009 15:56:34 +0000]
DAFS: avoid shutdown hang during salvage

Right now, when the fileserver shuts down, it tries to cancel any
demand-salvages in progress. This causes the fileserver to hang, since
during shutdown, the salvageserver may already be gone. This avoids
cancelling in-progress salvages, and allows salvages to continue after
the fileserver has shut down.

To do this, the salvageserver now closes SALVSYNC sockets in spawned
children, so the children don't get SALVSYNC requests directed at them,
since they can't handle them. The salvageserver also now periodically
scans for logs of salvaging children that have terminated, and
incorporates them into SalsrvLog, just like it does for it's own
children. The salvageserver children that actually perform salvages now
also set the inUse volume header field to their programType, so the
fileserver knows not to schedule new salvages for that volume in the
event of a fileserver restart during a salvage.

FIXES 124486

Reviewed-on: http://gerrit.openafs.org/279
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoUploaded patchset 9. Sorry for the mess.
Christof Hanke [Tue, 1 Sep 2009 12:33:53 +0000]
Uploaded patchset 9. Sorry for the mess.

Reviewed-on: http://gerrit.openafs.org/125
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoFix cache tracking for small fragsizes
Andrew Deason [Thu, 27 Aug 2009 17:43:03 +0000]
Fix cache tracking for small fragsizes

The tracked amount of disk cache used by a client can be incorrect when
afs_fsfragsize is tuned to below 1023. Since we round up to the next
nearest afs_fsfragsize+1 then round down to the kb, if afs_fsfragsize+1
< 1kb, we can undershoot the cache usage.

This enforces afs_fsfragsize to always be at least 1023.

Reviewed-on: http://gerrit.openafs.org/338
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>

14 years agoUpdated Chapter 2, Section 3.3 of the Admin Guide
Jason Edgecombe [Sun, 30 Aug 2009 22:13:06 +0000]
Updated Chapter 2, Section 3.3 of the Admin Guide

Added text about Freelance Mode and Dynamric Root Mode and the changes they
cause when dealing with mounts to foreign cells in /afs and \\AFS

Reviewed-on: http://gerrit.openafs.org/380
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoRemove unnecessary type ViceFid
Christof Hanke [Mon, 31 Aug 2009 13:39:02 +0000]
Remove unnecessary type ViceFid

The type "ViceFid" is just a clone of the type AFSFid and used only in a couple of places.
Thus, for simplicity, rename all occurences of ViceFid to AFSFid and remove the
typedef itself.

Reviewed-on: http://gerrit.openafs.org/383
Tested-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>

14 years agoWindows: Permit cygwin apps to read from AFS again
Jeffrey Altman [Tue, 1 Sep 2009 00:10:13 +0000]
Windows: Permit cygwin apps to read from AFS again

For some reason specifying a unique GUID for each open
file based on the cm_fid results in cygwin apps being
unable to read from AFS.  ReadFile() calls fail with
Invalid Device Request errors instead.

While fixing that issue discovered that not all of the
data was properly set for QueryPathInfoAll operations.

LICENSE MIT

Reviewed-on: http://gerrit.openafs.org/388
Tested-by: Asanka Herath <asanka@secure-endpoints.com>
Reviewed-by: Asanka Herath <asanka@secure-endpoints.com>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

14 years agoWindows: uninitialized variable
Jeffrey Altman [Tue, 1 Sep 2009 00:08:53 +0000]
Windows: uninitialized variable

Ensure that the index variable used to walk the fid history
of the current evaluated path is always initialized.

LICENSE MIT

Reviewed-on: http://gerrit.openafs.org/389
Tested-by: Asanka Herath <asanka@secure-endpoints.com>
Reviewed-by: Asanka Herath <asanka@secure-endpoints.com>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

14 years agoWindows: integrated logon
Jeffrey Altman [Tue, 1 Sep 2009 00:06:27 +0000]
Windows: integrated logon

The previous fix prevented a null pointer dereference but
forgot to set 'effDomain' to the domain specified by the
caller if it exists and is not the local machine name.

LICENSE MIT

FIXES 125325

Reviewed-on: http://gerrit.openafs.org/390
Tested-by: Asanka Herath <asanka@secure-endpoints.com>
Reviewed-by: Asanka Herath <asanka@secure-endpoints.com>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

14 years agoMake catalog file destdir when not transarc paths
Matt Benjamin [Mon, 31 Aug 2009 12:57:55 +0000]
Make catalog file destdir when not transarc paths

The appropriate mkdir -p was missing for this case, the patch adds it.

Reviewed-on: http://gerrit.openafs.org/387
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>

14 years agoRemove AFS_KERBEROS_ENV in NetBSD 30, 40 param files
Matt Benjamin [Mon, 31 Aug 2009 10:16:27 +0000]
Remove AFS_KERBEROS_ENV in NetBSD 30, 40 param files

This creates dependency on ktc_newpag, which has been determined to be
obsolete.

Reviewed-on: http://gerrit.openafs.org/384
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>