openafs.git
14 years agoRefactor afs_ioctl code
Simon Wilkinson [Thu, 4 Feb 2010 17:27:32 +0000]
Refactor afs_ioctl code

The ioctl code was a nightmare of #ifdefs. This patch reworks it
so that there is a single function for each operating system, which
makes it much easier to see what's going on. Eventually it should be
possible to move these reworked functions out into the osi directories

Change-Id: I61f70b23ad0c7ea137e6aa843be6f75c83c02843
Reviewed-on: http://gerrit.openafs.org/1244
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoUKERNEL: End the #define u insanity
Simon Wilkinson [Thu, 4 Feb 2010 16:08:26 +0000]
UKERNEL: End the #define u insanity

UKERNEL redefines the character 'u' to do a function call. This
hurts other kernel developers in all sorts of interesting ways. Remove
the definition, and instead explicitly reference the get_user_struct()
function in those places that we need to.

Change-Id: I64be2eb527c779df0a3d4508444ed68f3634667d
Reviewed-on: http://gerrit.openafs.org/1243
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoAdd rx security index enum
Simon Wilkinson [Thu, 4 Feb 2010 15:09:34 +0000]
Add rx security index enum

Add a enumerated type for rx security indexes, initially containing
the values reserved for null, kad, gk, and k5. Start to use this type,
and related names, rather than hard values throughout the code.

Change-Id: Ic71e5da28b4270abf7b6688b2c6438f17268f1da
Reviewed-on: http://gerrit.openafs.org/1242
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agosalvager: alias -f to -force
Andrew Deason [Mon, 8 Feb 2010 21:03:08 +0000]
salvager: alias -f to -force

DAFS added the -forceDAFS flag, which made the '-f' flag ambiguous, when
it used to be short for '-force'. Restore the previous meaning of '-f'
to reduce backwards incompatibility.

FIXES 124916

Change-Id: Ieb864b35a91000960f9d9c503c28db56602df13e
Reviewed-on: http://gerrit.openafs.org/1254
Tested-by: Andrew Deason <adeason@sinenomine.net>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoUnix CM: Simplify #ifdef ladder in lock.h
Simon Wilkinson [Thu, 4 Feb 2010 12:23:58 +0000]
Unix CM: Simplify #ifdef ladder in lock.h

Hugely simplify the ifdef ladder in lock.h, by using #elif, rather than
multiple levels of nested ifdefs

Change-Id: I8fc730242decab0a0f864a9814c6c47c9974b496
Reviewed-on: http://gerrit.openafs.org/1241
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoUnix CM: Indent #ifdef ladder in lock.h
Simon Wilkinson [Thu, 4 Feb 2010 12:18:30 +0000]
Unix CM: Indent #ifdef ladder in lock.h

The ifdef ladder in lock.h was a pain to read. Indent it to make it
clearer.

Change-Id: I673a85785e1e6207dae55616845d5cb982694189
Reviewed-on: http://gerrit.openafs.org/1240
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoUnix CM: Reorganise security object code
Simon Wilkinson [Wed, 3 Feb 2010 16:00:47 +0000]
Unix CM: Reorganise security object code

Reorganise the code which creates a client security object for the
Unix CM into its own function.

Change-Id: Ic92ca4022b000c5cd48bbe6318bf83379626e890
Reviewed-on: http://gerrit.openafs.org/1239
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoInitialise ptuser to NULL
Simon Wilkinson [Tue, 9 Feb 2010 16:26:57 +0000]
Initialise ptuser to NULL

Fix fallout from d008089a79ef268bbca91d660a840f32cb416865 - sc wasn't
being initialised when it was declared, and some code paths would fail
to set it. This led to the == NULL check failing, and a new rx
connection being created with an invalid pointer as a security context.
Disaster ensued ...

Change-Id: Ibae3c72408d1145bc771bd07e573427d9f427679
Reviewed-on: http://gerrit.openafs.org/1277
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoOpenBSD: don't use AFS_GLOBAL_SUNLOCK on single processor system
Antoine Verheijen [Mon, 8 Feb 2010 21:57:51 +0000]
OpenBSD: don't use AFS_GLOBAL_SUNLOCK on single processor system

Put back the header directives that only turns on AFS_GLOBAL_SUNLOCK
when compiling for multiprocessors system. When enabled on a single
processor OpenBSD system, it is possible to put the entire system
into a lengthy (minutes) lock state when performing multiple AFS
activities. The system behaves MUCH better when AFS_GLOBAL_SUNLOCK
is not set (no problems encopuntered). This whole locking mechanism
needs a bit more examination on OpenBSD before this is useful in
single processor mode.

Change-Id: I19813b78ad8d705b4f043ccb3a38c83e278972e9
Reviewed-on: http://gerrit.openafs.org/1276
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoOpenBSD: allow for more graceful shutdown
Antoine Verheijen [Mon, 8 Feb 2010 22:33:38 +0000]
OpenBSD: allow for more graceful shutdown

A shutdown or unmount of AFS on OpenBSD will invariably result in a kernel
panic. This is because the afs_unmount() routine does not (can not?) force
vnode releases if the vnode is still busy. However, it continues on
nonetheless and dies a horrible death a little later.

This update causes a return from afs_unmount() with EBUSY if all the vnodes
weren't released. This results in error messages on shutdown but the overall
process continues more reliably and reboots, for example, work.

There is likely a better solution to this but at least this is no worse than
a system crash and it doesn't require console (or power button) intervention
so it should do until I have the chance to explore further.

Change-Id: Ia70f83bda748ea3d0b81b341a292e83121446567
Reviewed-on: http://gerrit.openafs.org/1275
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoOpenBSD: fix lookup of network interfaces
Antoine Verheijen [Mon, 8 Feb 2010 22:23:03 +0000]
OpenBSD: fix lookup of network interfaces

Starting with OpenBSD 4.2, the interface list returned by sysctl using
NET_RT_IFLIST contains multiple versions of the data. This really
messes up the rx_getAllAddr_internal() routine that returns a list of
valid interfaces for the system (to the point where none are returned).

This change adds a routine that cleans up the data returned by sysctl
so it returns only a single (the most current) version of the data.
That stops afsd (among others) from being cranky when it starts up.

Change-Id: Ief1df0d2c3eb241c45b439a785ddb67d3afe992c
Reviewed-on: http://gerrit.openafs.org/1274
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoWindows: add xdrlen
Jeffrey Altman [Tue, 9 Feb 2010 05:40:20 +0000]
Windows: add xdrlen

Adds xdrlen.c to librx.a and libafsrpc.dll

Exports xdrlen_create from libafsrp.dll

Change-Id: I
Change-Id: Ia3754f73f44f2c842b7aefa3104c8143f8a2b78d
Reviewed-on: http://gerrit.openafs.org/1272
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>

14 years agoOpenBSD: move AFS memory type offet
Antoine Verheijen [Mon, 8 Feb 2010 22:07:09 +0000]
OpenBSD: move AFS memory type offet

The internal malloc memory types for IPv6 (M_IP6OPT, ...) conflict
with the type numbers used to designate AFS memory (M_AFSFID, etc.).
This change moves the AFS memory type to a new number that does not
conflict. This is not a serious issue but can create real confusion
when trying to debug or track memory issues, among other things.

Change-Id: Icccaa7c06443cab008013414cb3c2ab4ea08889e
Reviewed-on: http://gerrit.openafs.org/1271
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoFix segmentation fault in vsu_GetVolumeID
Antoine Verheijen [Mon, 8 Feb 2010 23:01:46 +0000]
Fix segmentation fault in vsu_GetVolumeID

When determining the volume type of a volume, vsu_GetVolumeID() checks
to see if the volume name ends in '.backup' or '.readonly' by backing
up the appropriate number of characters from the end of the name. It
does not, however, check to see if it skips past the beginning of the
volume name. This can result in a segmentation fault (which it has for
me on many occasions during a vos release) depending on where memory
is allocated or how/if memory is protected.

This patch corrects this behaviour by checking the volume name string
length prior to doing the string comparison.

Change-Id: Ia27fcac76b86ae2707663caa6bff365a4e8dd0da
Reviewed-on: http://gerrit.openafs.org/1269
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoirix label changes rx subdir
Chaz Chandler [Tue, 9 Feb 2010 01:59:10 +0000]
irix label changes rx subdir

no label support in non-c99 irix cc, xdr_len.c and xdr_mem.c
changed accordingly

Change-Id: I9f9780254cd7e80649d40b3df6bcdd84a2f90404
modified:   src/rx/xdr_len.c
modified:   src/rx/xdr_mem.c
Reviewed-on: http://gerrit.openafs.org/1266
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agofix AFS_ASSERT_GLOCK on irix and aix
Chaz Chandler [Tue, 9 Feb 2010 02:42:35 +0000]
fix AFS_ASSERT_GLOCK on irix and aix

irix and aix do not have a vararg version of osi_Panic, fixed
AFS_ASSERT_GLOCK macro definition in afs/afs_osi.h for those two
platforms

Change-Id: I0b541d2c1edad1364ef1c91dec84b9d4319c4e62
modified:   src/afs/afs_osi.h
Reviewed-on: http://gerrit.openafs.org/1267
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoAdd support for OpenBSD 4.6
Antoine Verheijen [Mon, 8 Feb 2010 22:45:25 +0000]
Add support for OpenBSD 4.6

Add config param header and sysname number for OpenBSD 4.6.

As well, add an additional parameter to a call to ifa_ifwithnet()
when looking up the MTU for an interface to indicate that the call
should use the default routing table. With the advent of OpenBSD
4.6, the system has started to make provisions for multiple routing
tables which included a change to the calling sequence for this
routine.

Change-Id: Idb53efef0e229ca26bd587f2f8cd9df8a0248227
Reviewed-on: http://gerrit.openafs.org/1265
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agotubik: Initialize mutexes and cvs
Steven Jenkins [Mon, 8 Feb 2010 20:38:49 +0000]
tubik: Initialize mutexes and cvs

Initialize some mutexes and condition variables for pthreaded ubik.

FIXES 124977

Change-Id: I95833c5e277183e3c912e1b2fde2b02f88cff0c9
Reviewed-on: http://gerrit.openafs.org/1253
Tested-by: Andrew Deason <adeason@sinenomine.net>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agodarwin vnodeops cleanup
Derrick Brashear [Sun, 7 Feb 2010 03:36:18 +0000]
darwin vnodeops cleanup

remove dead code, and retabify

Change-Id: Ia11ec13773688a0fd7987dc777905364e1354e15
Reviewed-on: http://gerrit.openafs.org/1251
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agomacos package allow backrev
Derrick Brashear [Sun, 7 Feb 2010 00:48:44 +0000]
macos package allow backrev

in order to go back versions, tell the install not to enforce
"no backrev"

Change-Id: Ifb4bee86344560d63c9b8ab3cd789f25ed8629b8
Reviewed-on: http://gerrit.openafs.org/1249
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agofetchstore reorg
Derrick Brashear [Sat, 6 Feb 2010 01:40:22 +0000]
fetchstore reorg

shift the functions around to avoid forward decl

Change-Id: I50a8280674745a5ccf0f01863ce5d0351f62366b
Reviewed-on: http://gerrit.openafs.org/1248
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoset storeproc for non-linux
Derrick Brashear [Sat, 6 Feb 2010 00:54:22 +0000]
set storeproc for non-linux

forgot to push this with 0683c04a

Change-Id: Ifce009ed8b2877befc364b831a185126bf692ede
Reviewed-on: http://gerrit.openafs.org/1247
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agodecode-panic deal with kextload
Derrick Brashear [Fri, 5 Feb 2010 20:01:31 +0000]
decode-panic deal with kextload

kextload won't handle -arch. deal appropriately.

Change-Id: Iac7dac9b484e44b9610da028027aadbd94cfe151
Reviewed-on: http://gerrit.openafs.org/1246
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoWindows: Remove use of AFS_AFSDB_ENV from kauth/user_nt.c
Jeffrey Altman [Fri, 5 Feb 2010 18:45:48 +0000]
Windows: Remove use of AFS_AFSDB_ENV from kauth/user_nt.c

AFS_AFSDB_ENV was removed from the rest of the source tree.
Now remove it from kauth/user_nt.c so that DNS lookups can
be performed from the ka_ authentication routines.

FIXES 126366

Change-Id: I99cf6ada8b672398c0cfc6c8251cfc8dfdae9a31
Reviewed-on: http://gerrit.openafs.org/1245
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>

14 years agomacos prefs pane spelling
Derrick Brashear [Thu, 4 Feb 2010 02:46:06 +0000]
macos prefs pane spelling

fix spelling of link to the usual unix spelling

Change-Id: Id8464a22c049200526c6ffe471ea6dc6d4b0ed9a
Reviewed-on: http://gerrit.openafs.org/1230
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoDon't clear afs_stats_cmperf too early during shutdown
Marc Dionne [Thu, 4 Feb 2010 02:34:24 +0000]
Don't clear afs_stats_cmperf too early during shutdown

Commit 21cbf7fee0a089d94f62baa7df2422e7bc8293f7 activated some
previously unused cleanup code.  Part of this clears afs_stats_cmperf,
but these stats are used later to check for leaks of chunks allocated
with afs_AllocSmallSpace and afs_AllocLargeSpace.  The result is a
message about unfreed blocks in the syslog with negative counts.

Since the structure is already cleared later in the shutdown process,
just remove this instance.

Change-Id: I6bf2ab37752d2623d072469fb87fa6d06e85b9ec
Reviewed-on: http://gerrit.openafs.org/1229
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agofakestat should preclude afsdb lookups too
Derrick Brashear [Thu, 4 Feb 2010 00:01:28 +0000]
fakestat should preclude afsdb lookups too

macos tries to look up ._foo stuff. correctly identify those (mvstat 2, not
1) and also use tryEvalOnly to preclude AFSDB lookups

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

14 years agomacos installer scripts shouldn't echo
Derrick Brashear [Wed, 3 Feb 2010 21:49:23 +0000]
macos installer scripts shouldn't echo

remove the other echoes from these scripts

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

14 years agoformat fallout
Derrick Brashear [Wed, 3 Feb 2010 21:40:29 +0000]
format fallout

this was missed somehow in my verification. fix it now.

Change-Id: I35b16ed8dcb35b153d7bfb2360673a0f1323f03e
Reviewed-on: http://gerrit.openafs.org/1226
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoFix fs storebehind on files with 2 or more servers
Simon Wilkinson [Wed, 3 Feb 2010 00:37:20 +0000]
Fix fs storebehind on files with 2 or more servers

fs storebehind didn't allocate a large enough buffer for its call
to VIOCWHERIS. This meant that when it was called on a file with
more than one server (one in a readonly volume), it would error
out with E2BIG, rather than a more appropriate message.

Fix this, by using the generic 'space' buffer for the VIOCWHERIS
call.

Change-Id: Ida0d40175f07ad528720ca700db5b5027b975095
Reviewed-on: http://gerrit.openafs.org/1224
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoFix pioctl input and output handling
Simon Wilkinson [Wed, 3 Feb 2010 00:31:32 +0000]
Fix pioctl input and output handling

Pioctl input and output handling was being handled in an adhoc
manner, with little or no detection of input and output buffer
overflow. Whilst overflow is difficult to provoke on a real system,
due to the size of the buffers being allocated for output, the code
was difficult to read, and fragile to maintain.

This patch adds an XDR like abstraction for marshalling and
unmarshalling pioctl data. Whilst the real XDR can't be used and
maintain backwards compatibility, this gives a similar elegance.

Input and output pointers are replaced with instances of
struct afs_pdata, which store both a pointer to the current position
in the data stream, and a note of where the stream ends.

All access to a data stream is now performed through a set of helper
functions, which handle the reading and writing of integers, strings,
and arbitrary blocks of bytes. An 'inline' function is provided for
those cases where direct access to the stream is required.

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

14 years agoMake twiddle build
Simon Wilkinson [Wed, 3 Feb 2010 00:25:17 +0000]
Make twiddle build

Update the twiddle utility (for manipulating rx settings in the
Unix CM) so that it builds with error checking enabled.

Also, add the binary to the gitignore file in that directory.

Change-Id: I5c19832579db139e5c558b3488d7c49fdb7c08c4
Reviewed-on: http://gerrit.openafs.org/1222
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoAdd xdr_len, to work out required buffer size
Simon Wilkinson [Sat, 30 Jan 2010 22:28:47 +0000]
Add xdr_len, to work out required buffer size

Currently, code which uses xdr_mem needs to take a guess at the
buffer size required, allocate that guess, and error out if the
data being encoded actually exceeds the guess.

This adds a new XDR mechanism - xdr_len, which can return
(using xdr_getpos) the length of the buffer required to XDR
encode a given structure.

Change-Id: I6e04c051118a26441caebdbcb2b5768d3c4389b6
Reviewed-on: http://gerrit.openafs.org/1221
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoAdd xdr_mem to the Unix build
Simon Wilkinson [Sat, 30 Jan 2010 21:56:57 +0000]
Add xdr_mem to the Unix build

A number of forthcoming attractions require xdrmem, which is
currently not part of the Unix build. Fix it so that it builds
without warnings, and add it to the standard RX build.

Change-Id: I5a21b2c7cd837c317f16dc35bf12cdac69d10167
Reviewed-on: http://gerrit.openafs.org/1220
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoAdd printf format checks to the rest of tree
Simon Wilkinson [Sat, 7 Nov 2009 23:48:14 +0000]
Add printf format checks to the rest of tree

Add printf format checks to the remaining va-arg printf-style
functions in the tree. There are no error fixes required from this
change.

Change-Id: If774532a3ac5d8b611ec9f47576e933a57907185
Reviewed-on: http://gerrit.openafs.org/796
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoAdd printf format checks to rx
Simon Wilkinson [Sat, 7 Nov 2009 23:43:25 +0000]
Add printf format checks to rx

Add gcc printf format checks to rxi_DebugPrint() and osi_Panic()
Deal with the small amount of fallout.

Change-Id: Ic356028613087bda02beb9907886421d80a227c3
Reviewed-on: http://gerrit.openafs.org/795
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoAdd interface to select client security objects
Simon Wilkinson [Fri, 29 Jan 2010 17:52:17 +0000]
Add interface to select client security objects

Add a pair of interfaces to support the selection of a security
object by the client. The idea of these interfaces is to abstract
out the job of selecting an interface from the client code itself,
and into a common library. This reduces duplicated code, and makes
it easier to add new security objects in the future.

Change-Id: I2bf411e6b56534070c827d009d36fa8a618c4511
Reviewed-on: http://gerrit.openafs.org/1219
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoAdd printf format checks to the cache manager
Simon Wilkinson [Sat, 7 Nov 2009 21:19:42 +0000]
Add printf format checks to the cache manager

Add printf format checking to the afs_warn and afs_warnuser functions
and fix the fallout.

Change-Id: I81ed776308a31706bf307246c470ee409797f044
Reviewed-on: http://gerrit.openafs.org/792
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoAdd printf format checks to afs_com_err()
Simon Wilkinson [Sat, 7 Nov 2009 22:31:08 +0000]
Add printf format checks to afs_com_err()

Add gcc printf format checks to the afs_com_err() functions

Deal with the fallout, in particular change callers which pass
an empty format string to pass NULL instead - the com_err functions
already permit this alternate use.

There's a couple of real bugs here - in one case, we attempt to
print a NULL pointer, rather than a security index, and in the other
we supply a NULL format string, rather than the string we meant to
print.

Change-Id: Icd48f92a4447d4af3dba9a4caa2ff73c1657ad47
Reviewed-on: http://gerrit.openafs.org/794
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoAdd printf format checks to util's log functions
Simon Wilkinson [Sat, 7 Nov 2009 21:21:00 +0000]
Add printf format checks to util's log functions

Add gcc printf format checks to all of the logging functions
defined in src/util/afsutil.h

Deal with the fallout, in particular create cast functions to go
from VolumeId and VnodeId to (unsigned int)

Change-Id: I28181b73cfeac22cf869d34e75a8335e65125e36
Reviewed-on: http://gerrit.openafs.org/793
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoDon't pass tokens around the backup system
Simon Wilkinson [Fri, 29 Jan 2010 15:12:42 +0000]
Don't pass tokens around the backup system

The backup system has a global ktc_token, which is used
to work out when its credentials are about to expire. This leads to
an unfortunate dependency throughout the code on the format of this
token.

Replace this with a global time_t which stores the expiry time, and
copy the required field from the token into this when we get the
token. This limits the exposure of the token, and simplifies the code.

Change-Id: Ia2929c2c0a4c1ba9ca5db881865f33af5a732d2f
Reviewed-on: http://gerrit.openafs.org/1218
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoCommon interface for server security objects
Simon Wilkinson [Thu, 28 Jan 2010 23:50:54 +0000]
Common interface for server security objects

Add an interface for creating arrays of server security objects.
This collects all of the various daemon code for initialising
security objects into one place, reducing duplication and making
it easier to add new objects in the future.

Change-Id: I9df20afccdbac4a610cb5bde32f01069272f27a2
Reviewed-on: http://gerrit.openafs.org/1177
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoDocument the extra options to fs getcacheparms
Simon Wilkinson [Tue, 2 Feb 2010 22:13:45 +0000]
Document the extra options to fs getcacheparms

Write some documentation for the -files and -excessive options to
fs getcacheparms

Change-Id: I769f8c0cf6d9d100a1687ae73a337132befb2449
Reviewed-on: http://gerrit.openafs.org/1217
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoAdd a set of strings for the InstallationCheck
Simon Wilkinson [Tue, 2 Feb 2010 15:59:12 +0000]
Add a set of strings for the InstallationCheck

InstallationCheck needs a strings dictionary to turn its errors
into human readable content. Add such a dictionary, and use the
correct product name and version for each Mac OS X release.

FIXES 126322

Change-Id: I8401a1163ea078e690152215c20db6970969ee04
Reviewed-on: http://gerrit.openafs.org/1208
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoSquash pthreaded ubik warnings
Andrew Deason [Mon, 25 Jan 2010 22:56:13 +0000]
Squash pthreaded ubik warnings

Fix/ignore some warnings with --enable-pthreaded-ubik:

 - ubik/ubik.c: move rx_stackSize decl to non-pthread code, since it's
   only used there

 - budb/db_dump.c: move 'code' decl to non-pthread code, since it's only
   used there

 - ubik/recovery.c: move return to outside the ifdef, so we still have a
   return statement in the pthreaded case

 - Add -Wno-error to beacon.c in tubik, to match the ubik case

Change-Id: I614f2425c36e77bb1a08838b45166d8edb080c73
Reviewed-on: http://gerrit.openafs.org/1211
Tested-by: Andrew Deason <adeason@sinenomine.net>
Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoUse -A and -u in pthreaded ubik rxgen
Andrew Deason [Mon, 25 Jan 2010 23:05:09 +0000]
Use -A and -u in pthreaded ubik rxgen

Use -A for rxgen in tvlserver and tptserver to generate ANSI code, so we
don't generate warnings. Also use -u in tubik rxgen, so we generate the
ubik_* functions that new code uses.

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

14 years agoBuild utst_client for pthreaded ubik
Andrew Deason [Mon, 25 Jan 2010 23:08:36 +0000]
Build utst_client for pthreaded ubik

Build utst_client in src/tubik, as it is in src/ubik.

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

14 years agoDon't echo from the InstallationCheck script
Simon Wilkinson [Tue, 2 Feb 2010 15:47:02 +0000]
Don't echo from the InstallationCheck script

Return codes from InstallationCheck are turned into errors by
the GUI - don't echo them out to stdout as well.

Change-Id: Iee9c1ff4687ea42ab8c18566493a8a92b6d51fed
Reviewed-on: http://gerrit.openafs.org/1206
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoRemove internal vldbClientInit prototype
Simon Wilkinson [Fri, 29 Jan 2010 14:17:46 +0000]
Remove internal vldbClientInit prototype

vldbClientInit is used by other modules in the backup suite, and is
already prototyped in bucoord_prototypes.h. So, remove it from the
internal header.

Change-Id: I2688426189c3aeaacc8db4f815ede466caa5dde0
Reviewed-on: http://gerrit.openafs.org/1205
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoicl 64 bit platform rationalization
Derrick Brashear [Tue, 2 Feb 2010 05:36:58 +0000]
icl 64 bit platform rationalization

be consistent about how we apply 64 bit longness. right now we were
doing 3 different things. oops.

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

14 years agoicl trace code deduplication
Derrick Brashear [Tue, 2 Feb 2010 05:16:54 +0000]
icl trace code deduplication

right now we have 2 copies of the same code for dealing with traced objects.
it's the same code! make a function, and call it 4 times.

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

14 years agoFix USS to use volser prototypes
Simon Wilkinson [Fri, 29 Jan 2010 14:13:47 +0000]
Fix USS to use volser prototypes

Fix the uss_vol.c file to use the volser prototypes. This clears up the
list of the warnings in this file, so drop the warning supression from
the Makefile, and remove the entry from README.WARNINGS

Change-Id: I9e4ec8bdfa39e3a7adafea454a4c6d96c5fc9d0f
Reviewed-on: http://gerrit.openafs.org/1204
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoxdr_proc_t really is different on linux26_i386
Simon Wilkinson [Tue, 2 Feb 2010 13:14:28 +0000]
xdr_proc_t really is different on linux26_i386

i386 Linux uses a register based calling convention within the
kernel, but uses the stack for va_args based functions. This means
that the hack of prototyping xdrproc_t as a va_args function doesn't
work, as you end up with arguments being in the wrong place.

Restore the Linux only xdrproc_t prototype that
167e1aa21f5bbea1272b239dc6518a7bdbfc3ee6 removed, add a warning to
explain why its there, and modify xdr_free() so that it works
without error.

Change-Id: I789d387b01fcb892b187fe05f961f01c2c1f55e4
Reviewed-on: http://gerrit.openafs.org/1202
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoDarwin: Stop CM builds when errors occur
Simon Wilkinson [Mon, 1 Feb 2010 14:12:05 +0000]
Darwin: Stop CM builds when errors occur

Make the kernel module build on Mac OS stop when errors are
encountered, instead of just ploughing on regardless

Change-Id: I489357c04cb7c78663f593af2c2adbc50ebfffff
Reviewed-on: http://gerrit.openafs.org/1203
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoLinux: warning fix in osi_file.c
Marc Dionne [Tue, 2 Feb 2010 00:31:05 +0000]
Linux: warning fix in osi_file.c

Cast printed variable to avoid a warning about a mismatch between
%d and long int.

Change-Id: I3245cbb5e4780a258e8756b4210c1078f4fbc51c
Reviewed-on: http://gerrit.openafs.org/1195
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoLinux: Fix breakage in llseek error handling
Simon Wilkinson [Tue, 2 Feb 2010 00:03:04 +0000]
Linux: Fix breakage in llseek error handling

Commit 7a5cee30cc5f0e6d5780387633ce2b46608fd5fb changed the way
that errors from llseek are dealt with. Unfortunately, it is missing
some all important bracing, and so we end up going down the error
path, even when the llseek succeeds.

My fault. Sorry.

Change-Id: I03061ba0663b610a8fb73a08d257f6d786795076
Reviewed-on: http://gerrit.openafs.org/1194
Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
Tested-by: Marc Dionne <marc.c.dionne@gmail.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agocall afs_osi_suser correctly in PNewUuid
Jeffrey Hutzelman [Mon, 1 Feb 2010 21:59:14 +0000]
call afs_osi_suser correctly in PNewUuid

we were using the wrong level of indirection on acred. fixed.

Change-Id: I00ab1a97b42717adc2d9d26e885b91c44103ab1d
Reviewed-on: http://gerrit.openafs.org/1190
Reviewed-by: Jeffrey Hutzelman <jhutz@cmu.edu>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agomake 1.5.71 for unix openafs-devel-1_5_71
Derrick Brashear [Mon, 1 Feb 2010 05:00:39 +0000]
make 1.5.71 for unix

version updates for unix

Change-Id: Ia7901e3969b3afb72b870e7bfaf1be931c2fb0c5
Reviewed-on: http://gerrit.openafs.org/1185
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoWindows: ChangeLog and Version Number for 1.5.71
Jeffrey Altman [Mon, 1 Feb 2010 04:27:32 +0000]
Windows: ChangeLog and Version Number for 1.5.71

Change-Id: I0969e2b3fcff98489aef1b0e660ef12149a4b96c
Reviewed-on: http://gerrit.openafs.org/1184
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoUnix CM: Always use ->storeproc()
Chas Williams [Wed, 6 Jan 2010 16:48:41 +0000]
Unix CM: Always use ->storeproc()

Always use ->storeproc() and avoid branching

"do or do not -- there is no try"

Change-Id: Idbcf0c80930d6a433b4c921b44db28cb6fbbf9bb
Reviewed-on: http://gerrit.openafs.org/1073
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agorx idledeadtime don't track window wait
Derrick Brashear [Sat, 30 Jan 2010 18:54:20 +0000]
rx idledeadtime don't track window wait

if we're in writer mode and waiting for more window, don't consider it idle.

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

14 years agoDarwin: Don't use ARCHFLAGS to determine arch
Simon Wilkinson [Fri, 29 Jan 2010 17:47:12 +0000]
Darwin: Don't use ARCHFLAGS to determine arch

The Darwin build uses ARCHFLAGS to control the architectures it
builds binaries for. However, this causes problems for standalone
builds which just do ./configure && make. So, if ARCHFLAGS is
undefined, ask gcc which architecture it thinks that it is
building for, and use that.

Change-Id: If9e7dc3c41ded5ac0593ae20ddd741690914a699
Reviewed-on: http://gerrit.openafs.org/1181
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agomacos prefpane fat binary arch selection correction
Derrick Brashear [Fri, 29 Jan 2010 17:59:59 +0000]
macos prefpane fat binary arch selection correction

don't choose 64 bit arches for the prefpane if we're not on macos 10.6

sadly, this is the best i can do to conditionalize

Change-Id: I31fb2e10fbef5c66a27e0170e8925513a1b63050
Reviewed-on: http://gerrit.openafs.org/1180
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agolinux cache file open fail print error
Derrick Brashear [Thu, 28 Jan 2010 16:35:56 +0000]
linux cache file open fail print error

if we're going to oops, print a little more info about why. in this case,
knowing why dentry_open failed would help

Change-Id: I78a3c97d67c7c29110de975465cce0edd6367496
Reviewed-on: http://gerrit.openafs.org/1173
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoxdrproc_t probably not really different on linux26
Derrick Brashear [Fri, 29 Jan 2010 05:03:07 +0000]
xdrproc_t probably not really different on linux26

for some reason we prototype it differently. makes xdr_free sad.

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

14 years agofurther irix updates
Chaz Chandler [Fri, 29 Jan 2010 04:59:12 +0000]
further irix updates

updating for non-c99 and for no vprintf in the irix kernel

Change-Id: Id7239dae35ff195007c615319522827d06395f8f
Reviewed-on: http://gerrit.openafs.org/1178
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>

14 years agoafsd missing close brace
Derrick Brashear [Thu, 28 Jan 2010 23:12:44 +0000]
afsd missing close brace

fallout from the open-by-path-only unification

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

14 years agoignore generated macos packaging description file
Derrick Brashear [Thu, 28 Jan 2010 05:35:36 +0000]
ignore generated macos packaging description file

added ignore for OpenAFS.Description.plist as it is now generated

Change-Id: Icbad9f8bbbdd5be6604838366d14f648eec05ee4
Reviewed-on: http://gerrit.openafs.org/1171
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoirix cc defaults to pre-c99
Derrick Brashear [Thu, 28 Jan 2010 19:22:53 +0000]
irix cc defaults to pre-c99

no xdr labels for irix

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

14 years agoirix can't have vprintf in the kernel
Derrick Brashear [Thu, 28 Jan 2010 19:25:32 +0000]
irix can't have vprintf in the kernel

vprintf doesn't exist for irix either. deal

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

14 years agoWindows: drop cm_Freelance_Lock before call to cm_FreelanceAddMount
Jeffrey Altman [Tue, 26 Jan 2010 15:23:03 +0000]
Windows: drop cm_Freelance_Lock before call to cm_FreelanceAddMount

The cm_Freelance_Lock must not be held before calling
cm_FreelanceAddMount().  cm_InitLocalMountPoints() was violating
this requirement.   It is safe to drop the lock because the only
time the lock would be dropped is if the "Freelance" registry
key does not exist.  This should only be true during the initial
startup of the application the first time afsd_service.exe
executes on the machine.   At this point in time there is only
one thread that is executing that could be initializing the
Freelance mount point list.

LICENSE MIT

Change-Id: Ib49cf8bc830836c8e08446073e64ccf30086d354
Reviewed-on: http://gerrit.openafs.org/1164
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: export xdr_serverList and xdr_Capabilities from afsrpc.dll
Jeffrey Altman [Wed, 27 Jan 2010 19:09:19 +0000]
Windows: export xdr_serverList and xdr_Capabilities from afsrpc.dll

Required by new xdr_free() usage.

Change-Id: I585947f110204c9043f92fc573d5d7263a46fd64
Reviewed-on: http://gerrit.openafs.org/1170
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>

14 years agoLinux: don't count pag keys against root's keyring quotas
Marc Dionne [Wed, 27 Jan 2010 00:48:24 +0000]
Linux: don't count pag keys against root's keyring quotas

Keys associated with PAGs are created with root ownership for
security reasons, which means that they count agains root's
keyring quotas.  The default configuration used by most distros
restricts root to the same quotas as a regular user, so a single
user can potentially fill up the quota and prevent new pags from
getting created system-wide.
This can also be an issue for busy multi-user systems where the
default maximum number of keys (200 currently) can easily be reached.

Change-Id: I37e3f3d881facff9b14f2057b404d4b441e72305
Change-Id: Id1ef2d5a7109d8ee7c08aa81dfd98ecf951c8ba8
Reviewed-on: http://gerrit.openafs.org/1167
Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoinit pthread mutexes only if an initializer exists
Derrick Brashear [Wed, 27 Jan 2010 17:58:49 +0000]
init pthread mutexes only if an initializer exists

and windows has none

Change-Id: Iaff3047abde197791e3fbb42c12066f896e540d1
Reviewed-on: http://gerrit.openafs.org/1169
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>

14 years agoswitch to always attempting cache-config-by-path
Derrick Brashear [Wed, 20 Jan 2010 16:38:43 +0000]
switch to always attempting cache-config-by-path

solve the "are we built for linux fh or inode" problem: just always use path.

Change-Id: I076ee495b29e4a2dc964ce04001f86e100528fb6
Reviewed-on: http://gerrit.openafs.org/1133
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoXDR memory management fixes
Simon Wilkinson [Wed, 27 Jan 2010 02:30:09 +0000]
XDR memory management fixes

Change the xdr_free function so that it matches in signature and
behaviour the xdr_free that is available in other xdr packages, and
update all callers.

Don't use xdr_alloc where the data we're allocating isn't freed by
xdr. The only place where xdr_alloc is required is in server stubs
when filling OUT parameters.

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

14 years agoinitialize pthread mutexes to avoid compiler common variable stupidity
Derrick Brashear [Tue, 26 Jan 2010 18:32:03 +0000]
initialize pthread mutexes to avoid compiler common variable stupidity

instead of worrying about ranlib versus ranlib -c, -fno-common, etc,
just initialize the variables if an initializer exists

Change-Id: I6ed28df4d2134f84359a1bc55706e75d54e6e083
Reviewed-on: http://gerrit.openafs.org/1166
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agorx ResetCall should wait if it says it will
Derrick Brashear [Mon, 25 Jan 2010 21:49:53 +0000]
rx ResetCall should wait if it says it will

We set TQ_WAIT... and then don't bother to wait. uh.

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

14 years agorx avoid discarding packets while tq is busy
Derrick Brashear [Mon, 25 Jan 2010 21:02:23 +0000]
rx avoid discarding packets while tq is busy

we don't check here that no one else is working the tq *after* getting the
lock. do so.

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

14 years agoviced detailed stats should record stored bytes correctly
Derrick Brashear [Tue, 26 Jan 2010 17:27:11 +0000]
viced detailed stats should record stored bytes correctly

if we get an error reading data, don't subtract it from the length
stored statistic

Change-Id: I2fec260a9f677c0747ff2c6f975745ccb1e58447
Reviewed-on: http://gerrit.openafs.org/1165
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agodarwin80 if changes cleanup
Derrick Brashear [Mon, 25 Jan 2010 17:36:25 +0000]
darwin80 if changes cleanup

fix the indirection here to be correct.
ifnet_list_get needs a pointer to a pointer for the ifnet structure
Change-Id: I81bd7c383c63cc1e312fcfd482d7162d50f6f1d3
Reviewed-on: http://gerrit.openafs.org/1158
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agodarwin rx if structure fix
Derrick Brashear [Mon, 25 Jan 2010 15:44:54 +0000]
darwin rx if structure fix

link kernel to correct ifaddr symbol for withnet

Change-Id: I384974bef73b9cc44eba7ddba43f28f65c03f39b
Reviewed-on: http://gerrit.openafs.org/1157
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agopagsh dependencies don't get to include system libs
Derrick Brashear [Sun, 24 Jan 2010 16:25:00 +0000]
pagsh dependencies don't get to include system libs

we'll never be able to "build" -lresolv

revert this part

Change-Id: I2b1caa5bffc3d826412967fb70d9eadf8223f1f8
Reviewed-on: http://gerrit.openafs.org/1154
Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoLinux: Handle llseek failure
Simon Wilkinson [Mon, 25 Jan 2010 00:02:11 +0000]
Linux: Handle llseek failure

If llseek fails, then we return immediately, potentially leaving the
wrong address space configured for this process, and without resetting
the processes saved limits.

Fix this by creating a common exit point for osi_rdwr, and using it.

Change-Id: Ifff8cb0155f92a4130d21828d5ee2d2a55c09195
Reviewed-on: http://gerrit.openafs.org/1155
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agounix 1.5.70 openafs-devel-1_5_70
Derrick Brashear [Sun, 24 Jan 2010 15:09:41 +0000]
unix 1.5.70

make 1.5.70 for unix

Change-Id: I84ed384e9cd38e49a2c002a4ffe19a6ff5ba633d
Reviewed-on: http://gerrit.openafs.org/1153
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoWindows: 1.5.70
Jeffrey Altman [Fri, 22 Jan 2010 19:24:17 +0000]
Windows: 1.5.70

ChangeLog updates

Version number updates

Change-Id: I16fd2d2ef507cc862417eef8d221ea5ba58567a1
Reviewed-on: http://gerrit.openafs.org/1146
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>

14 years agoLinux Keyrings: don't ignore error code from session keyring creation
Marc Dionne [Sat, 23 Jan 2010 01:03:58 +0000]
Linux Keyrings: don't ignore error code from session keyring creation

Creating a session keyring can fail, for instance if the user's
keyring quotas are reached (number of keys/keyrings or data size).

Instead of ignoring errors, return them so they can be passed back
to the caller.

FIXES 126230

Change-Id: I745abeef4b3b8e4c3ab1b90667c6a5478c1e0ad2
Change-Id: I4b0ce6423ee493fbbcbdac1c580e3a157d3c11f4
Reviewed-on: http://gerrit.openafs.org/1151
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoAdd missing dependencies for pagsh in Makefile
Marc Dionne [Sat, 23 Jan 2010 01:05:34 +0000]
Add missing dependencies for pagsh in Makefile

Make pagsh and pagsh.krb depend on the libraries that are used to
link them, and on the source file pagsh.c
Without this dependency, modifying pagsh.c would not trigger a
rebuild of the executable.

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

14 years agoDon't throw data away in afs_StoreMini
Simon Wilkinson [Fri, 22 Jan 2010 20:11:21 +0000]
Don't throw data away in afs_StoreMini

afs_StoreMini had some interesting error handling. Instead of returning
the error code from StoreData, it would return the error from EndCall,
potentially masking the StoreData error. When it encountered an error
it would discard all of the cached data.

StoreMini's only caller is afs_StoreAllSegments. If StoreAllSegments is
called from DoPartialWrite, then it squashes the error code. This
combination could lead to the user's data being disposed of, without an
error being reported.

Fix all of this by not invalidating segments in StoreMini. Make
StoreMini static to make it clear its only used by StoreAllSegments, and
fix the error handling in StoreMini so that StoreData errors always take
priority.

Change-Id: I41f0c753655fac343485d2a473ad70b6ae96bb78
Reviewed-on: http://gerrit.openafs.org/1147
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoRevert "Fix afs_AccessOK for dropbox case"
Simon Wilkinson [Fri, 22 Jan 2010 21:50:44 +0000]
Revert "Fix afs_AccessOK for dropbox case"

This reverts commit 3f89c0feae89e9a255afb8a7f08995412a3f1b79.

That change broke the expected semantics of a drop box, by
opening up read() access to users to whom it would usually be
denied. The expected dropbox behaviour is that whilst anyone
can write a file there, only those who are specifically given
r permissions may read it.

Change-Id: I025cef7cad1031fbed1e914d58a0a515561f3f78
Reviewed-on: http://gerrit.openafs.org/1149
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoabstract rx if structure access
Derrick Brashear [Thu, 14 Jan 2010 20:41:23 +0000]
abstract rx if structure access

change things to use accessor macros styled after the mac KPI
where feasible, and make access consistent.

Change-Id: I284101b370666e1aeb8e42bc1a651a2781a9af78
Reviewed-on: http://gerrit.openafs.org/1101
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoEnable weak enctypes for klog.krb5 if supported by Kerberos
Russ Allbery [Fri, 22 Jan 2010 18:59:14 +0000]
Enable weak enctypes for klog.krb5 if supported by Kerberos

The same as cb4b62a40352ccebae3a299f4327fa70fc7a0c5c, but for klog.krb5.

Current versions of both MIT Kerberos and Heimdal disable DES enctypes
by default, but DES enctypes are still required for AFS service tickets.
Probe for either krb5_allow_weak_crypto() (MIT Kerberos 1.8) or
krb5_enctype_enable() (Heimdal) and, if found, call them to enable DES
enctypes.  If neither is found, assume that the Kerberos libraries are
old enough that DES is enabled by default.

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

14 years agoFix afs_AccessOK for dropbox case
Andrew Deason [Fri, 22 Jan 2010 01:42:33 +0000]
Fix afs_AccessOK for dropbox case

afs_AccessOK did not check for if we have 'i' rights on a directory, nor
if we were the owner of a file, if we were only checking PRSFS_READ or
PRSFS_WRITE. Thus, it does not correctly address the 'dropbox'
permissions case (if you are the owner of a file and have insert
permissions, you get implicit 'r' and 'w').

Fix this to check for 'i' and ownership when we need to, so the dropbox
special-case check works as intended.

FIXES 126216

Change-Id: Ib629bc30b73bc3965e777747067259451f0adff6
Reviewed-on: http://gerrit.openafs.org/1143
Tested-by: Andrew Deason <adeason@sinenomine.net>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoEnable weak enctypes for aklog if supported by Kerberos
Russ Allbery [Thu, 21 Jan 2010 23:41:49 +0000]
Enable weak enctypes for aklog if supported by Kerberos

Current versions of both MIT Kerberos and Heimdal disable DES enctypes
by default, but DES enctypes are still required for AFS service tickets.
Probe for either krb5_allow_weak_crypto() (MIT Kerberos 1.8) or
krb5_enctype_enable() (Heimdal) and, if found, call them to enable DES
enctypes.  If neither is found, assume that the Kerberos libraries are
old enough that DES is enabled by default.

Change-Id: Ib5231bb7c2fe88f4c424628394ed08122d5710a1
Reviewed-on: http://gerrit.openafs.org/1141
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

14 years agoafs_vnop_attrs: syntax error in conditional expression
Marc Dionne [Thu, 21 Jan 2010 22:53:42 +0000]
afs_vnop_attrs: syntax error in conditional expression

Add a missing && in a 2-line condition.
Not sure how this could have compiled successfully on the affected
platforms.

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

14 years agoWindows: AFS_AFSDB_ENV preprocessor symbol no longer exists
Jeffrey Altman [Fri, 22 Jan 2010 01:05:25 +0000]
Windows: AFS_AFSDB_ENV preprocessor symbol no longer exists

The decision to add AFS_AFSDB_ENV to make code consistent was
a mistake.  The preprocessor symbol no longer exists.  AFSDB
is broken in 1.5.69.

Change-Id: I7ea147b824f3a67e2039abee8b2513af175fcc5d
Reviewed-on: http://gerrit.openafs.org/1142
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>

14 years agoWindows: add build and clean rule for bc.h
Jeffrey Altman [Thu, 21 Jan 2010 22:38:43 +0000]
Windows: add build and clean rule for bc.h

Add a dependency rule to build bc.h before it is installed

Add cleanup rules to delete bc.h and other installed files.

Change-Id: I9a40fd64aff048bfc87b9fd823ae7499816cb3e5
Reviewed-on: http://gerrit.openafs.org/1139
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>

14 years agoWindows: Windows v6.0 SDK does not define __RPC__out
Jeffrey Altman [Thu, 21 Jan 2010 21:43:18 +0000]
Windows: Windows v6.0 SDK does not define __RPC__out

The Windows v6.0 SDK does not define __RPC__out in the rpcsal.h
header file.  The preprocessor symbol was added in the v6.0A SDK
update.  In case the v6.0 SDK is used with the 6000 WDK, add a
symbol declaration.

Change-Id: Iecce566e906977f41be00efb458753acd09f7949
Reviewed-on: http://gerrit.openafs.org/1138
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>

14 years agoUndo labeling of elements of rx structures for Windows
Jeffrey Altman [Thu, 21 Jan 2010 20:34:49 +0000]
Undo labeling of elements of rx structures for Windows

Change I006bbbdb8923dbb72a97fde931a1b23e303375c2 broke
the Windows build.  Restore the unlabled assignments for
Windows since Windows always uses the AFS xdr implementation.

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

14 years agoInstall bucoord/bc.h to permit Windows to build
Jeffrey Altman [Thu, 21 Jan 2010 20:30:23 +0000]
Install bucoord/bc.h to permit Windows to build

Change  I0a0ae92d3c7ba75e4a331bf59ea9c031763cc704
broke the Windows build.   Fix it.

Change-Id: I08db225790a37eee3e4fd778eacabc7168abee77
Reviewed-on: http://gerrit.openafs.org/1135
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>