]> git.michaelhowe.org Git - packages/o/openafs.git/log
packages/o/openafs.git
13 years agoWindows: AFSNotifyFileCreate() DirOpenReferenceCount handling
Jeffrey Altman [Sat, 29 Dec 2012 05:36:44 +0000 (00:36 -0500)]
Windows: AFSNotifyFileCreate() DirOpenReferenceCount handling

This patchset consolidates the releasing of the DirOpenReferenceCount
within AFSNotifyFileCreate() into the try_exit block.  This clarifies
the logic and avoids duplicate code blocks.

Change-Id: I82e964f579f9e8b6e095291ace0bbe2cdac5af60
Reviewed-on: http://gerrit.openafs.org/8855
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
13 years agoWindows: AFSClose() DirOpenReferenceCount handling
Jeffrey Altman [Sat, 29 Dec 2012 05:29:45 +0000 (00:29 -0500)]
Windows: AFSClose() DirOpenReferenceCount handling

Unless the caller of AFSRemoveCcb() steals the DirectoryCB object
from the AFSCcb before calling AFSRemoveCcb(), AFSRemoveCcb() will
release the reference count.

In all but one case where the DirectoryCB must be accessed after
the AFSCcb is destroyed AFSClose() can now let AFSRemoveCcb() do the
work.

Change-Id: I8d631d79b2465cd6f2e31444fd052270b078915c
Reviewed-on: http://gerrit.openafs.org/8854
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
13 years agoWindows: Fix AFSLocateNameEntry prototype
Jeffrey Altman [Sat, 29 Dec 2012 05:28:04 +0000 (00:28 -0500)]
Windows: Fix AFSLocateNameEntry prototype

The VolumeCB parameter is an IN/OUT parameter.

Change-Id: I3eb4231e0d095cc98cc5847905d61d924d12e6f3
Reviewed-on: http://gerrit.openafs.org/8853
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
13 years agoWindows: AFSInitCcb redefinition
Jeffrey Altman [Sat, 29 Dec 2012 05:17:59 +0000 (00:17 -0500)]
Windows: AFSInitCcb redefinition

The new AFSInitCcb() allocates its own DirOpenReferenceCount to
associate with the AFSCcb.DirectoryCB.

It also accepts the GrantedAccess mask and the FileAccess values
which are stored in the AFSCcb.

These changes simplify the callers and remove responsibility of
tracking whether or not the DirOpenReferenceCount was successfully
associated with the AFSCcb.

The allocated DirOpenReferenceCount is always released by
AFSRemoveCcb().

Change-Id: Ib475310d934830974c553e0eeff96b114a56541b
Reviewed-on: http://gerrit.openafs.org/8852
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
13 years agoWindows: AFSRemoveCcb cannot fail
Jeffrey Altman [Thu, 27 Dec 2012 19:41:29 +0000 (14:41 -0500)]
Windows: AFSRemoveCcb cannot fail

Since AFSRemoveCcb cannot fail, change the signature from returning
NTSTATUS to void.

Remove all error handling code.

Change-Id: Ifa893a714f97cefb9bd122ab84508e5d36987e88
Reviewed-on: http://gerrit.openafs.org/8851
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
13 years agoRework set_header_word macros
Marc Dionne [Sat, 22 Dec 2012 12:54:54 +0000 (07:54 -0500)]
Rework set_header_word macros

Rework the set_header_word macros so that all compilers are
happy:
- the use of offsetof() is avoided, as it has an issue on IRIX
when the result is not constant
- the assignment within the macro is explicitely sequenced before
the function call to avoid a gcc sequence-point warning

Change-Id: I2355233e865b155f958379bfa2736fee19ef2680
Reviewed-on: http://gerrit.openafs.org/8816
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
13 years agoRemove empty Makefile continuation lines
Andrew Deason [Fri, 29 Jun 2012 17:36:36 +0000 (12:36 -0500)]
Remove empty Makefile continuation lines

HP-UX make gets confused by constructs like:

   FOO = bar \

   BAZ = quux

Where a line continuation is followed by an empty line. So, get rid of
all of these in the tree. Not all of them matter, but removing all of
them makes it easier to find these, and catch them in the future.

Reviewed-on: http://gerrit.openafs.org/7611
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Tested-by: Andrew Deason <adeason@sinenomine.net>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit 79f68de80e56179cfc5158fdcb51c34cfa864802)

Change-Id: Icf379b9d7557746c2c47134b1314a38ec13134cc
Reviewed-on: http://gerrit.openafs.org/8991
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
Reviewed-by: Paul Smeddle <paul.smeddle@gmail.com>
13 years agoNEWS updates for 1.6.2
Ken Dreyer [Wed, 12 Dec 2012 17:37:47 +0000 (10:37 -0700)]
NEWS updates for 1.6.2

Add an entry for 1.6.2 with "in progress" instead of a date to hold the
release notes for 1.6.2pre4 rather than creating separate entries for
each release candidate. Users who track the release candidates can refer
to the public announcements, and this will be cleaner when reading
history later on.

Reviewed-on: http://gerrit.openafs.org/8750
Reviewed-by: Ken Dreyer <ktdreyer@ktdreyer.com>
Tested-by: Ken Dreyer <ktdreyer@ktdreyer.com>
(cherry picked from commit 265a4b542b717c14e810202078c3ce83e4d851f5)

Change-Id: I68d4e6983097a97caac660f740ea8a01f1a95caa
Reviewed-on: http://gerrit.openafs.org/8988
Reviewed-by: Ken Dreyer <ktdreyer@ktdreyer.com>
Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Paul Smeddle <paul.smeddle@gmail.com>
13 years agomake openafs 1.6.2pre4
Stephan Wiesand [Wed, 30 Jan 2013 17:46:45 +0000 (18:46 +0100)]
make openafs 1.6.2pre4

prerelease for 1.6.2

Change-Id: I012e498c5a2a46c0f712f453de03c98b0a5a5187
Reviewed-on: http://gerrit.openafs.org/8989
Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Paul Smeddle <paul.smeddle@gmail.com>
13 years agoNEWS updates for 1.6.2
Ken Dreyer [Wed, 12 Dec 2012 17:37:47 +0000 (10:37 -0700)]
NEWS updates for 1.6.2

Add an entry for 1.6.2 with "in progress" instead of a date to hold the
release notes for 1.6.2pre4 rather than creating separate entries for
each release candidate. Users who track the release candidates can refer
to the public announcements, and this will be cleaner when reading
history later on.

Change-Id: I625044e20836e072b62ffa738eca23f1d11813a5
Reviewed-on: http://gerrit.openafs.org/8750
Reviewed-by: Ken Dreyer <ktdreyer@ktdreyer.com>
Tested-by: Ken Dreyer <ktdreyer@ktdreyer.com>
13 years agoCellServDB update 28 Jan 2013
Stephan Wiesand [Mon, 28 Jan 2013 14:53:36 +0000 (15:53 +0100)]
CellServDB update 28 Jan 2013

Reviewed-on: http://gerrit.openafs.org/8982
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
(cherry picked from commit 35ee4abecd2ed77eaa49e9748e4034ad9ad37edc)

Change-Id: Idb8b868ddf927b5daf39f25925fff928e599bd14
Reviewed-on: http://gerrit.openafs.org/8985
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Paul Smeddle <paul.smeddle@gmail.com>
13 years agoSOLARIS: Use vn_renamepath as early as possible
Andrew Deason [Fri, 18 Jan 2013 20:27:16 +0000 (14:27 -0600)]
SOLARIS: Use vn_renamepath as early as possible

Commit 6c509601 uses the vn_renamepath when we are building on Solaris
11. However, some recent patch level of Solaris 10 (more recent than
stock 10u10) has the same problem fixed by that commit, where
vn_setpath takes an additional argument. So instead, just test for the
existence of vn_renamepath itself, so we also use it on Solaris 10
when we can.

Thanks to Rich Sudlow for reporting this.

Reviewed-on: http://gerrit.openafs.org/8920
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
(cherry picked from commit 1b63689b99b49d902dd5a3286b14dcccee88b4a2)

Change-Id: I035c76dba51571fa82fd8932302e7f26b4954333
Reviewed-on: http://gerrit.openafs.org/8984
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
Reviewed-by: Paul Smeddle <paul.smeddle@gmail.com>
13 years agolibafsauthent, tvolser: fix objdir build
Jonathan A. Kollasch [Tue, 7 Feb 2012 21:23:23 +0000 (15:23 -0600)]
libafsauthent, tvolser: fix objdir build

Reviewed-on: http://gerrit.openafs.org/6689
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementix.org>
(cherry picked from commit fb0d056c69489d76a5aad216277bf81ac3420aea)

Change-Id: I30b1e5876e9a91b3caaf9d097fd3a886fabe7e7e
Reviewed-on: http://gerrit.openafs.org/8945
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Tested-by: Stephan Wiesand <stephan.wiesand@desy.de>
Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
Reviewed-by: Paul Smeddle <paul.smeddle@gmail.com>
13 years agoaklog: Fix allow_weak_crypto warning
Andrew Deason [Tue, 22 Jan 2013 21:41:38 +0000 (15:41 -0600)]
aklog: Fix allow_weak_crypto warning

It's _crypto, not _enctypes. The user will just be more confused than
before if we tell them to do the wrong thing.

Reviewed-on: http://gerrit.openafs.org/8938
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
(cherry picked from commit f6f145c90fbc236c350ddaa4d18b359be581496f)

Change-Id: I17978b15f140729760ce84f1a7af913eac97d836
Reviewed-on: http://gerrit.openafs.org/8940
Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Paul Smeddle <paul.smeddle@gmail.com>
13 years agodarwin: don't process incoming packets during rx shutdown
Derrick Brashear [Tue, 22 Jan 2013 20:00:29 +0000 (15:00 -0500)]
darwin: don't process incoming packets during rx shutdown

we have a chicken and egg problem because the kpi doesn't
let us kill the upcall before we close a socket. a more correct
fix (on master) uses atomics, but for 1.6 this is a minimally-invasive
fix, macos only and strictly better than before.

FIXES 131577

Change-Id: I6003679f709284ae28f51bf5de8deff873346819
Reviewed-on: http://gerrit.openafs.org/8937
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
Reviewed-by: Paul Smeddle <paul.smeddle@gmail.com>
13 years agomacos: future-proof MakefileProto.DARWIN.in
Derrick Brashear [Mon, 16 Jul 2012 19:16:53 +0000 (15:16 -0400)]
macos: future-proof MakefileProto.DARWIN.in

if new cases show up which match the current ones, they just work.
darwin60 and older were already killed from the tree, kill here also

Reviewed-on: http://gerrit.openafs.org/7782
Reviewed-by: Derrick Brashear <shadow@dementix.org>
Tested-by: Derrick Brashear <shadow@dementix.org>
(cherry picked from commit e6aa586a996e32b3def4b8108815730fcfbf1463)

Change-Id: I66bb6eb54856a37d3ff14cf455d90c482443a00e
Reviewed-on: http://gerrit.openafs.org/8912
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
Reviewed-by: Paul Smeddle <paul.smeddle@gmail.com>
13 years agoCellServDB update 28 Jan 2013
Stephan Wiesand [Mon, 28 Jan 2013 14:53:36 +0000 (15:53 +0100)]
CellServDB update 28 Jan 2013

Change-Id: Icb622cc5480aeba108b9a11f55cfb44ab7f7c262
Reviewed-on: http://gerrit.openafs.org/8982
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
13 years agolibafs: fs flushall for unix cm
Michael Meffie [Thu, 7 Jun 2012 18:46:04 +0000 (14:46 -0400)]
libafs: fs flushall for unix cm

Implement the fs flushall command on the unix cache manager to flush
all volume data.  Uses a new common pioctl code point VIOC_FLUSHALL (14),
registered with the grand.central.org assigned numbers.

Change-Id: I214d8c762573b308d79fa7122a91d48ddd403eb9
Reviewed-on: http://gerrit.openafs.org/7540
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
13 years agoWindows: Use %p for ptrs in redirector trace messages
Jeffrey Altman [Thu, 24 Jan 2013 03:50:26 +0000 (22:50 -0500)]
Windows: Use %p for ptrs in redirector trace messages

Pointers were being logged with %08lX which results in partial
pointer values being logged on 64-bit systems.

Change-Id: Ic11e5b607b3df41f145536dfcb02dfa22537ee77
Reviewed-on: http://gerrit.openafs.org/8943
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
13 years agoSOLARIS: Use vn_renamepath as early as possible
Andrew Deason [Fri, 18 Jan 2013 20:27:16 +0000 (14:27 -0600)]
SOLARIS: Use vn_renamepath as early as possible

Commit 6c509601 uses the vn_renamepath when we are building on Solaris
11. However, some recent patch level of Solaris 10 (more recent than
stock 10u10) has the same problem fixed by that commit, where
vn_setpath takes an additional argument. So instead, just test for the
existence of vn_renamepath itself, so we also use it on Solaris 10
when we can.

Thanks to Rich Sudlow for reporting this.

Change-Id: Ic1c0437d2438c6e19b8fff8278ecda9b96bd020b
Reviewed-on: http://gerrit.openafs.org/8920
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
13 years agoaklog: Fix allow_weak_crypto warning
Andrew Deason [Tue, 22 Jan 2013 21:41:38 +0000 (15:41 -0600)]
aklog: Fix allow_weak_crypto warning

It's _crypto, not _enctypes. The user will just be more confused than
before if we tell them to do the wrong thing.

Change-Id: Ib94b14efbd3c89d9f58fb8985326ee8691fd993b
Reviewed-on: http://gerrit.openafs.org/8938
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
13 years agorx: Remove warning inhibition on rx.c
Simon Wilkinson [Fri, 18 Jan 2013 22:54:03 +0000 (22:54 +0000)]
rx: Remove warning inhibition on rx.c

The CFLAGS_NOERROR rule for rx.c seems to have crept back in as
part of the libtool changes. The LWP build of rx.c has never had
warning inhibition on rx.c, and the inhibition in the pthread
builds was removed by 327762071be3806c5d08be0218982c7027754756

Change-Id: Icde3f0b6ee2f8ae0818a3dc722c6171284d6a9e6
Reviewed-on: http://gerrit.openafs.org/8921
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
13 years agoFreeBSD 9.1: Warning fixes
Andrew Deason [Fri, 18 Jan 2013 23:05:12 +0000 (17:05 -0600)]
FreeBSD 9.1: Warning fixes

Fix warnings caused by some changes in FreeBSD 9.1:

 - afs_cmount takes a uint64_t for flags instead of an int
 - vn_rdwr takes a ssize_t* for resid instead of an int*

[kaduk@mit.edu: rebase onto master and use fine-grained version checks]

Change-Id: I03ab805a625790004a910df96b96aeda1121e2a7
Reviewed-on: http://gerrit.openafs.org/8922
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Garrett Wollman <wollman@csail.mit.edu>
Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
13 years agoWindows: Police Library IOCTLs
Rod Widdowson [Sun, 30 Dec 2012 11:13:24 +0000 (11:13 +0000)]
Windows: Police Library IOCTLs

Ensure that the callers of the various library ioctls have
the correct identity or privs.  All this policing is done in
the fs (non unloadable) layer, and to ensure that the library
layer cannot receive these calls directly we forbid non
create Opens of the library control device.

Change-Id: I2342fe10047642082adfbd1cc6aaee09cc91b520
Reviewed-on: http://gerrit.openafs.org/8893
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
13 years agoWindows: Police the DEBUG TRACE ioctls
Rod Widdowson [Fri, 28 Dec 2012 15:00:15 +0000 (15:00 +0000)]
Windows: Police the DEBUG TRACE ioctls

When we get a IOCTL_AFS_GET_TRACE_BUFFER, a IOCTL_AFS_CONFIGURE_DEBUG_TRACE
or a IOCTL_AFS_FORCE_CRASH, we check to see whether the caller is in the
Administrators group and if it isn't we fail the request with ACCESS_DENIED.

NOTE that this does not check whether the user has done the "run as admin"
thing.  We actually need to determine which priviledges are appropriate to
this action and use that rather than group membership to police these actions
and this will be added in a later patch.  Meanwhile this represents a
significant increment in security from previously.

Change-Id: I0997e59a82735735674d8edee7a7a68d241e6ef8
Reviewed-on: http://gerrit.openafs.org/8843
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
13 years agomacos: update decode-panic
Derrick Brashear [Mon, 21 Jan 2013 16:57:54 +0000 (11:57 -0500)]
macos: update decode-panic

fix a couple brain-os from the last round of updates, so it can
actually decode panics.

Change-Id: If39f1fb273a834d0618264d944387bd8b6751284
Reviewed-on: http://gerrit.openafs.org/8929
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
Tested-by: Derrick Brashear <shadow@your-file-system.com>
13 years agoFinalize changes for 1.6.2~pre3-1 debian/1.6.2_pre3-1
Russ Allbery [Mon, 21 Jan 2013 19:17:39 +0000 (11:17 -0800)]
Finalize changes for 1.6.2~pre3-1

13 years agoAdd new libafsrpc1 symbols
Russ Allbery [Mon, 21 Jan 2013 19:16:31 +0000 (11:16 -0800)]
Add new libafsrpc1 symbols

13 years agoRemove unnecessary changes relative to upstream
Russ Allbery [Mon, 21 Jan 2013 18:55:51 +0000 (10:55 -0800)]
Remove unnecessary changes relative to upstream

* Remove unnecessary change to the upstream Debian packaging files to
  support armhf.  These files aren't used during a package build, so no
  need to carry a Debian patch.

13 years agoMerge tag 'upstream/1.6.2_pre3'
Russ Allbery [Mon, 21 Jan 2013 18:54:15 +0000 (10:54 -0800)]
Merge tag 'upstream/1.6.2_pre3'

Upstream version 1.6.2~pre3

13 years agoImported Upstream version 1.6.2~pre3 upstream/1.6.2_pre3
Russ Allbery [Mon, 21 Jan 2013 18:53:44 +0000 (10:53 -0800)]
Imported Upstream version 1.6.2~pre3

13 years agoAdd changelog for upstream 1.6.2pre3 release
Russ Allbery [Mon, 21 Jan 2013 18:51:21 +0000 (10:51 -0800)]
Add changelog for upstream 1.6.2pre3 release

13 years agoImprove libroken configure check
Andrew Deason [Thu, 17 Jan 2013 21:37:06 +0000 (15:37 -0600)]
Improve libroken configure check

It is not sufficient to just check if libroken is available; we need
to check if the specific functionality we want is there. So, try to
compile and link while referencing specific functions.

As mentioned in the comments, testing every single function we use may
not be practical, and we should perhaps just add functions to test as
we find breakage. This commit tests rk_rename, which is missing in at
least the Debian package heimdal-dev, version
1.4.0~git20100726.dfsg.1-2+squeeze1.

Change-Id: I0ac6c9aea1f8598bb1b1315544683b2403de5f69
Reviewed-on: http://gerrit.openafs.org/8916
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
13 years agoxstat: length check cm call info
Michael Meffie [Mon, 10 Dec 2012 23:00:25 +0000 (18:00 -0500)]
xstat: length check cm call info

Define the cm xstat function call counters with an xmacro to avoid
duplicating the list of cm function names.  This obviates the need
to update xstat_cm_test.c when new function names are added to the
cm xstat collection id 0.

Check the number of returned records when printing the function call
counts to avoid over-running when a newer xstat_cm_test client
receives data from an older cm.

Change-Id: I3c5470afb7b04167173b41bb576a4a6ec14753f7
Reviewed-on: http://gerrit.openafs.org/8741
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
13 years agoxstat: remove unused call info function
Michael Meffie [Mon, 10 Dec 2012 23:02:20 +0000 (18:02 -0500)]
xstat: remove unused call info function

Remove the dead function PrintCallInfo(), which was replaced
by print_cmCallStats() long, long ago.

Change-Id: Id67323d66cc498f77e55f173218547ad5d4223c7
Reviewed-on: http://gerrit.openafs.org/8740
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
13 years agoOpenBSD: Add support for missing routine memmove() in kernel.
Antoine Verheijen [Mon, 21 Jan 2013 08:48:01 +0000 (01:48 -0700)]
OpenBSD: Add support for missing routine memmove() in kernel.

OpenBSD does not have the memmove() routine available to dynamically
loaded modules in its kernel. It exists but is not exported so it
winds up "mia" on dynamic load of the kernel module. It's needed for
the Heimdal code that's been added into OpenAFS. This patch deals
with this issue by creating an inline version in the OS-specific
param.h file.

Note that this issue does not seem to exist in the amd64 version of
OpenBSD so (at least for now) tis fix is only applied to the i386
version of the header files.

Change-Id: Ide8a5ff49cb662e145fd93aefd8e3a12d7cbead5
Reviewed-on: http://gerrit.openafs.org/8926
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
13 years agoOpenBSD 4.6/4.7: Define curproc for rx_atomic.h.
Antoine Verheijen [Mon, 21 Jan 2013 06:27:02 +0000 (23:27 -0700)]
OpenBSD 4.6/4.7: Define curproc for rx_atomic.h.

For OpenBSD 4.6 and 4.7, the rx_atomic.h header ultimately resorts
to the use of the default atomic routines that rely on MUTEX
macros. Those macros require that 'curproc' be defined, which in
turn requires the presence of the 'sys/proc.h' header. This patch
inserts that header into the param.h file for those systems.

Note that subsequent versions of OpenBSD have __sync_fetch_and_add
and don't require 'curproc' as a result.

Change-Id: I5131aed60631ef285eda92180ef65845165526b1
Reviewed-on: http://gerrit.openafs.org/8925
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
13 years agoLinux 3.8: vmtruncate removal
Marc Dionne [Thu, 10 Jan 2013 02:22:27 +0000 (21:22 -0500)]
Linux 3.8: vmtruncate removal

vmtruncate had been deprecated for a while and has now been
removed.  Do things the new way based on truncate_setsize.

Change-Id: If584329f7330f44be3909e4c8b935e4fe5e2b536
Reviewed-on: http://gerrit.openafs.org/8906
Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
13 years agoLinux 3.8: session_keyring changes
Marc Dionne [Thu, 10 Jan 2013 00:26:54 +0000 (19:26 -0500)]
Linux 3.8: session_keyring changes

The session_keyring is now attached directly to the cred structure
and the thread_group_cred structure (cred->tgcred) no longer exists.

Adapt code that makes use of tgcred, and use the standard rcu based
mechanism to update session_keyring.

Change-Id: If4b88cbc7f9af6343353648837b28541a5088429
Reviewed-on: http://gerrit.openafs.org/8905
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
13 years agoLinux: setpag() may replace credentials
Marc Dionne [Sat, 19 Jan 2013 03:40:03 +0000 (22:40 -0500)]
Linux: setpag() may replace credentials

For recent Linux. setpag() may replace the current process' cred
structure with a new one.  This is not a problem for most callers,
but in the case of processing a SetTokens2 pioctl with the setpag
option, the new credentials should be used to determine the target
for the token.

Change-Id: I4441349b8a72eac7d56276abcdf243b2ffd21b98
Reviewed-on: http://gerrit.openafs.org/8924
Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
13 years agorxperf: print achieved transfer rate
Dan van der Ster [Fri, 14 Dec 2012 10:08:44 +0000 (11:08 +0100)]
rxperf: print achieved transfer rate

Prints the client transfer rate in appropriate units (kbit/s, Mbit/s, or Gbit/s).

Change-Id: I5632185953c5d2bfc962af71152734d842cfb021
Reviewed-on: http://gerrit.openafs.org/8758
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
13 years agoCatch up to FreeBSD KPI for vfs_cmount
Ben Kaduk [Fri, 11 Jan 2013 18:03:02 +0000 (13:03 -0500)]
Catch up to FreeBSD KPI for vfs_cmount

Almost a year ago, mckusick changed the VFS KPI/KBI for the cmount
VFS operation, making the flags argument a 64-bit quantity.
Introduce appropriate conditionals for our prototype of afs_cmount
for the change on the 10.x and 9.x branches.

Change-Id: Ia0b8759f027e64f98f087daabbf1a51030171f21
Reviewed-on: http://gerrit.openafs.org/8907
Reviewed-by: Garrett Wollman <wollman@csail.mit.edu>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
13 years agoLINUX: fix array indexing issue in memory statistics
Chas Williams (CONTRACTOR) [Thu, 17 Jan 2013 02:16:31 +0000 (21:16 -0500)]
LINUX: fix array indexing issue in memory statistics

The comma is a sequence point and i gets incremented and then used.
This results in writing past the end of the array by one (and failing
to initialize the first element as well).

Potential fix for RT ticket 131566.

Change-Id: Iabe7e78961d1f5348bca75ca5b9e6e29d8554957
Reviewed-on: http://gerrit.openafs.org/8914
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
13 years agoubik: Remove bare global ubik_epochTime
Andrew Deason [Thu, 17 Jan 2013 22:35:09 +0000 (16:35 -0600)]
ubik: Remove bare global ubik_epochTime

Commit e4ac552a moved ubik_epochTime into a global version_globals
struct. However, it missed a references to the existing
ubik_epochTime value it was moving, as well as its declaration. Remove
the declaration, and move the reference to use the version_globals
structure.

Change-Id: I2552ba850f286b2b93f3c1b696d993a7cfc074c8
Reviewed-on: http://gerrit.openafs.org/8918
Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
13 years agoubik: Trivial formatting fix
Andrew Deason [Thu, 17 Jan 2013 22:37:56 +0000 (16:37 -0600)]
ubik: Trivial formatting fix

Change-Id: Ie409dc5dc7fe63cc72c97666146e7019e5db086e
Reviewed-on: http://gerrit.openafs.org/8917
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
13 years agogcc 4.8: fix warnings
Marc Dionne [Wed, 9 Jan 2013 23:42:32 +0000 (18:42 -0500)]
gcc 4.8: fix warnings

Quiet new warnings introduced by gcc 4.8:

- Many unused typedefs under src/admin.
- A possibly uninitialzed variable under src/viced

Change-Id: I96858c2d12a9ee3270d89a64fcf772affe93e9eb
Reviewed-on: http://gerrit.openafs.org/8913
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
13 years agodoc: dynamic mount requires dynroot and fakestat
Michael Meffie [Mon, 10 Dec 2012 17:01:38 +0000 (12:01 -0500)]
doc: dynamic mount requires dynroot and fakestat

Document that dynamic mount (/afs/.:mount) requires
dynroot and fakestat on non-linux unix.

Change-Id: I947edd30d510c7cc6840bc2cc74d0ef07b692afb
Reviewed-on: http://gerrit.openafs.org/8739
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
Reviewed-by: Ken Dreyer <ktdreyer@ktdreyer.com>
13 years agomake openafs 1.6.2pre3
Stephan Wiesand [Thu, 10 Jan 2013 16:10:32 +0000 (17:10 +0100)]
make openafs 1.6.2pre3

prerelease for 1.6.2

Change-Id: I1df309f98b003f6ef88289e4219e24ef00dfbf13
Reviewed-on: http://gerrit.openafs.org/8899
Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
Reviewed-by: Paul Smeddle <paul.smeddle@gmail.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
13 years agoSOLARIS: Avoid open count cleanup for Solaris 11
Andrew Deason [Tue, 8 Jan 2013 23:50:57 +0000 (17:50 -0600)]
SOLARIS: Avoid open count cleanup for Solaris 11

The comments in here no longer apply to Solaris, as of OpenSolaris
commit 11736:63a134e1f09c by Donghai Qiao (4492533 Filesystems may
need VOP_CLOSE() for executables following a VOP_OPEN()). This means
that this workaround should no longer be necessary for any Solaris 11
release, any illumos release, and anything else based off of
OpenSolaris. So, stop doing it.

Thanks to Frank Batschulat for pointing this out, and providing all of
the details.

Reviewed-on: http://gerrit.openafs.org/8895
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
(cherry picked from commit 08a4b05c27964dd06d7922c134dc2dccc062b379)

Change-Id: Ic689ac75fd618945ae7a6e101f29c3610d414603
Reviewed-on: http://gerrit.openafs.org/8897
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Paul Smeddle <paul.smeddle@gmail.com>
Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
13 years agoSOLARIS: Use vn_renamepath when available
Andrew Deason [Tue, 8 Jan 2013 23:41:21 +0000 (17:41 -0600)]
SOLARIS: Use vn_renamepath when available

In Solaris 11.1, the signature of vn_setpath changes; it gains an
extra boolean_t argument called 'force'. Instead of trying to adapt to
it, call vn_renamepath() instead, which will do the correct thing and
call vn_setpath &co for us. vn_renamepath has existed since Solaris 10
Update 8, and is in all releases of Solaris 11. Only call it in
Solaris 11, since it makes the ifdefs easier, and there are no
problems with calling vn_setpath on Solaris 10.

Thanks to Frank Batschulat for all of the relevant information.

Reviewed-on: http://gerrit.openafs.org/8894
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
(cherry picked from commit 6c50960174f35d75fd50956e248318a9c826fca1)

Change-Id: Ifdc5bb7785b791d36dc1523421badd29d8df2faa
Reviewed-on: http://gerrit.openafs.org/8896
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Paul Smeddle <paul.smeddle@gmail.com>
Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
13 years agoSOLARIS: Look for ncurses in ncurses/ncurses.h
Andrew Deason [Fri, 4 Jan 2013 19:18:40 +0000 (14:18 -0500)]
SOLARIS: Look for ncurses in ncurses/ncurses.h

Solaris 11+ has ncurses.h in ncurses/ncurses.h. Look for it there.

Without this, on Solaris 11.1 we will detect libncurses automatically
(because it lives in /usr/lib), but not ncurses.h (since it is in
ncurses/ncurses.h, not ncurses.h). So, we will fall back to curses.h,
but will try to link to libncurses, which, as you might guess, fails
with various undefined symbols.

Reviewed-on: http://gerrit.openafs.org/8874
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
(cherry picked from commit 81dd4878e7a71b5acfd7a6e6f9be26cd6ab28972)

Change-Id: I139296ae267ec057fc5ee11634d19ba36c8f8d6c
Reviewed-on: http://gerrit.openafs.org/8890
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
Reviewed-by: Paul Smeddle <paul.smeddle@gmail.com>
Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
13 years agoSOLARIS: Avoid areq and auid conflict
Andrew Deason [Fri, 4 Jan 2013 18:47:35 +0000 (13:47 -0500)]
SOLARIS: Avoid areq and auid conflict

On new Solaris (11.1), nfs/auth.h #defines areq and auid to access
some elements inside the nfsauth_arg structure more easily. We have a
lot of functions that use those names as parameters, so the compiler
throws an error (since we have a decl like "struct vrequest
*areq_u.areq").

We cannot avoid including that header, since we need some NFS-related
headers for the NFS xlator, and they pull in nfs/auth.h
unconditionally. So, work around this by undefining areq and auid
afterwards.

Reviewed-on: http://gerrit.openafs.org/8873
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
(cherry picked from commit 936c2b02bf6fbeb3844c539665392ae89eb652fe)

Change-Id: I54da96a48d163b6aa57bb8525ff4c80f10d70fa1
Reviewed-on: http://gerrit.openafs.org/8889
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
Reviewed-by: Paul Smeddle <paul.smeddle@gmail.com>
Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
13 years agoEnsure MIN/MAX are defined in userspace builds of rx
Russ Allbery [Thu, 3 Jan 2013 21:57:02 +0000 (13:57 -0800)]
Ensure MIN/MAX are defined in userspace builds of rx

The include of <sys/param.h> was removed from rx_packet.h on
Linux 2.6 and later to fix kernel builds with 3.7, which doesn't
have that header in kernel space.  However, while kernel space
always provides MIN/MAX defines, userspace relied on the header.
On at least powerpc, no other include chain includes sys/param.h,
so MIN/MAX were left undefined.

Fix this by only skipping the include of <sys/param.h> on Linux
if building in kernel mode.

Reviewed-on: http://gerrit.openafs.org/8870
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
(cherry picked from commit fe2bae1c83a6d050e0afb88bad8fe02beae343e7)

Change-Id: I4b2b123c493ab35cbeff309db7ff58354afc170b
Reviewed-on: http://gerrit.openafs.org/8872
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Paul Smeddle <paul.smeddle@gmail.com>
Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
13 years agoFix spelling error (retreive for retrieve) in strings
Russ Allbery [Thu, 3 Jan 2013 17:13:26 +0000 (09:13 -0800)]
Fix spelling error (retreive for retrieve) in strings

Caught by Lintian analysis of the compiled binaries.

Reviewed-on: http://gerrit.openafs.org/8865
Reviewed-by: Ken Dreyer <ktdreyer@ktdreyer.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
(cherry picked from commit 2e5ef04e24c89e846af7aae7da57a0b0f5e200c3)

Change-Id: Ied16661878edf39fb723e56c2ed997015e566b6e
Reviewed-on: http://gerrit.openafs.org/8869
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Paul Smeddle <paul.smeddle@gmail.com>
Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
13 years agoafs: Avoid unnecessary panic in ShakeLooseVCaches
Andrew Deason [Fri, 28 Dec 2012 21:39:15 +0000 (16:39 -0500)]
afs: Avoid unnecessary panic in ShakeLooseVCaches

afs_vcount can change as we traverse the loop. If we successfully
evict something from the cache, afs_vcount goes down, but our loop
variable 'i' stays incremented. For example, if afs_vcount was 100 at
the start of the loop and we kicked out 50 things, by the time we
traverse the entire VLRU, we could have iterated over the loop 100
times, but afs_vcount would still be just at 50.

So, remember what afs_vcount was at the start of the loop, and use
that for our loop limit. Note that vcaches cannot be added to the VLRU
during the execution of this loop, since we're just kicking stuff out.
And nobody else can modify the VLRU but us, since we're holding
afs_xvcache, and if we drop afs_xvcache, we restart the whole eviction
process.

The bug here was introduced by commit bc6dd950, but usually did not
affect Linux until commit 696db866.

FIXES 131553

Reviewed-on: http://gerrit.openafs.org/8849
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
(cherry picked from commit 1cee097b5bf44b0d8273712f0074b541f0f3f96e)

Change-Id: I1bdbe41980e03522905217e55f745a96fb2bdc2d
Reviewed-on: http://gerrit.openafs.org/8867
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
Reviewed-by: Paul Smeddle <paul.smeddle@gmail.com>
Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
13 years agoafs: Consolidate ShakeLooseVCaches retry init
Andrew Deason [Fri, 28 Dec 2012 21:36:42 +0000 (16:36 -0500)]
afs: Consolidate ShakeLooseVCaches retry init

Don't duplicate the initialization code in effectively three separate
places. Just goto the top of the loop again.

This should incur no functional change; it's just reorganization.

Reviewed-on: http://gerrit.openafs.org/8848
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
(cherry picked from commit 36959b50e513d4e9d4d2be93965eec2537943de5)

Change-Id: If1277fd4f1cc4adb03695688bcc54ae65715f1a8
Reviewed-on: http://gerrit.openafs.org/8866
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
Reviewed-by: Paul Smeddle <paul.smeddle@gmail.com>
Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
13 years agoDo not call afs_MarinerLog when afs_mariner is not set
Hans-Werner Paulsen [Fri, 21 Dec 2012 08:05:19 +0000 (09:04 +0059)]
Do not call afs_MarinerLog when afs_mariner is not set

When mariner log is not set up (afs_mariner=0), do not call afs_MarinerLog,
otherwise a osi_NetSend() to hostaddress=0 is tried, which will give you
ICMP messages in the socket error queue.
Do not call afs_AddMarinerName, when afs_mariner is not set.

(cherry picked from commit 41f8d6b9239d8ee1ca786c0485bea4251c96b9e5)

Change-Id: Id9584b07a0d3726fdd2176ac04945f976255e2d4
Reviewed-on: http://gerrit.openafs.org/8801
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
Reviewed-by: Paul Smeddle <paul.smeddle@gmail.com>
Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
13 years agoshlibafsauthent: Add a load more objects
Simon Wilkinson [Fri, 6 Apr 2012 22:56:30 +0000 (23:56 +0100)]
shlibafsauthent: Add a load more objects

The perl-AFS module needs to link against a pthreaded, PIC, library
that contains all of the routines that it provides perl shims for.
At the moment, libafsrpc_pic and libafsauthent_pic are the only such
libraries that OpenAFS provides.

Add all of the necessary objects to libafsauthent_pic such that the
2.6.2 version of perl-AFS can build with a minimal set of patches.
Minimise the damage by only making these available through the static
version of the libafsauthent_pic library.

Reviewed-on: http://gerrit.openafs.org/7070
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
This is a 1.6 version of this change, which adds some additional
symbols and objects to cater for differences between master and 1.6
The changes aren't relevant to master, as the whole shared library
situation there is now completely different.

Change-Id: Iad596cd92bc883e47c5d261886db61e9c7482112
Reviewed-on: http://gerrit.openafs.org/8811
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
Tested-by: Stephan Wiesand <stephan.wiesand@desy.de>
Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
Reviewed-by: Paul Smeddle <paul.smeddle@gmail.com>
13 years agoshlibafsrpc: More exports to support perl-AFS 2.6.3
Simon Wilkinson [Fri, 21 Dec 2012 13:09:22 +0000 (13:09 +0000)]
shlibafsrpc: More exports to support perl-AFS 2.6.3

Add some additional exports for perl-AFS 2.6.3

This patch isn't applicable on master, as our whole shared library
infrastructure there has changed.

Change-Id: Ie1f399c9fcb1638501533a45ff9a17f95bc98afc
Reviewed-on: http://gerrit.openafs.org/8810
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
Tested-by: Stephan Wiesand <stephan.wiesand@desy.de>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
Reviewed-by: Paul Smeddle <paul.smeddle@gmail.com>
13 years agoshlibafsrpc: Add additional XDR functions
Simon Wilkinson [Thu, 5 Apr 2012 19:43:23 +0000 (15:43 -0400)]
shlibafsrpc: Add additional XDR functions

Export the afs_xdr_pointer and afs_xdr_u_char functions so that
shlibafsauthent can make use of them.

Reviewed-on: http://gerrit.openafs.org/7065
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementix.org>
(cherry picked from commit 00992c66972aeab96cca9781b02a780ab49dce23)

Change-Id: I48ef13427c53e8fe3ceca00eb5d9d35c2c4327d7
Reviewed-on: http://gerrit.openafs.org/8809
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
Tested-by: Stephan Wiesand <stephan.wiesand@desy.de>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
Reviewed-by: Paul Smeddle <paul.smeddle@gmail.com>
13 years agoSOLARIS: Avoid open count cleanup for Solaris 11
Andrew Deason [Tue, 8 Jan 2013 23:50:57 +0000 (17:50 -0600)]
SOLARIS: Avoid open count cleanup for Solaris 11

The comments in here no longer apply to Solaris, as of OpenSolaris
commit 11736:63a134e1f09c by Donghai Qiao (4492533 Filesystems may
need VOP_CLOSE() for executables following a VOP_OPEN()). This means
that this workaround should no longer be necessary for any Solaris 11
release, any illumos release, and anything else based off of
OpenSolaris. So, stop doing it.

Thanks to Frank Batschulat for pointing this out, and providing all of
the details.

Change-Id: I54ed545e3b9d858fbffc762246ae805cd9c63a64
Reviewed-on: http://gerrit.openafs.org/8895
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
13 years agoSOLARIS: Use vn_renamepath when available
Andrew Deason [Tue, 8 Jan 2013 23:41:21 +0000 (17:41 -0600)]
SOLARIS: Use vn_renamepath when available

In Solaris 11.1, the signature of vn_setpath changes; it gains an
extra boolean_t argument called 'force'. Instead of trying to adapt to
it, call vn_renamepath() instead, which will do the correct thing and
call vn_setpath &co for us. vn_renamepath has existed since Solaris 10
Update 8, and is in all releases of Solaris 11. Only call it in
Solaris 11, since it makes the ifdefs easier, and there are no
problems with calling vn_setpath on Solaris 10.

Thanks to Frank Batschulat for all of the relevant information.

Change-Id: Iad4ada70abbb5ec2289c30149ab4c571fa8a68ff
Reviewed-on: http://gerrit.openafs.org/8894
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
13 years agoFix build for separate objdirs
Ben Kaduk [Mon, 7 Jan 2013 20:05:40 +0000 (15:05 -0500)]
Fix build for separate objdirs

In particular, setting UNTHREADED=${srcdir}/dir and then referring
to ${srcdir}/${UNTHREADED} is a recipe for sadness.

Fix the libtool invocation to correctly find .la.sym files in ${srcdir}.

Also add some missing header dependencies that are hidden when building
in the src tree.

Change-Id: I1b663141c549cc4b90e46327c3fb31dc80294eaa
Reviewed-on: http://gerrit.openafs.org/8891
Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
13 years agoWindows: Restrict the Service IOCTLS to the service process
Rod Widdowson [Fri, 28 Dec 2012 15:43:52 +0000 (15:43 +0000)]
Windows: Restrict the Service IOCTLS to the service process

When the service starts the system we save it's PID and when we see a
IOCTL_AFS_INITIALIZE_REDIRECTOR_DEVICE,
IOCTL_AFS_PROCESS_IRP_REQUEST, IOCTL_AFS_PROCESS_IRP_RESULT,
IOCTL_AFS_SYSNAME_NOTIFICATION or IOCTL_AFS_SYSNAME_NOTIFICATION
ioctl we check that the calling process has that PID.

Change-Id: Ie66676bba4b4e4d858979babe9c0af4c53ea0143
Reviewed-on: http://gerrit.openafs.org/8844
Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
13 years agocorrect whitespace errors in readme files
Michael Meffie [Sat, 5 Jan 2013 18:37:51 +0000 (13:37 -0500)]
correct whitespace errors in readme files

Fix the trailing whitespace and leading spaces
before tabs in the readme files.

Change-Id: If20e528ddb28f82e4d3d1b1f03dec8670f914afc
Reviewed-on: http://gerrit.openafs.org/8877
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
Reviewed-by: Ken Dreyer <ktdreyer@ktdreyer.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
13 years agoWindows: Only allow the local system account to speak to the redirector
Rod Widdowson [Fri, 28 Dec 2012 14:40:40 +0000 (14:40 +0000)]
Windows: Only allow the local system account to speak to the redirector

When we get the IOCTL_AFS_INITIALIZE_CONTROL_DEVICE IOCTL we check to
see whether the calling process is the LOCAL_SYSTEM_SID (the one that
services run at if they are not running as a specified SID).  If we
are not then the initialize fails ACCESS_DENIED.

If the debug build ONLY, setting the AFS_DBG_DISABLE_SYSTEM_SID_CHECK
bit in OpenAFSDebugFlags circumvents this check, allowing interactive
debugging.

Existing code stops two processes (or even handles) from trying to
initialize the system.

Change-Id: I2ef8ca3a0df908acba38b435178d0509e96d6114
Reviewed-on: http://gerrit.openafs.org/8842
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
13 years agolibadmin/vos/vosutils.c: mask out sign-extension
Nickolai Zeldovich [Sun, 6 Jan 2013 04:45:59 +0000 (23:45 -0500)]
libadmin/vos/vosutils.c: mask out sign-extension

Right-shifting a signed int by 24 bits can produce a value outside of
0..0xff due to sign-extension.  As a result, in AddressMatch(), the
first bPattern!=255 check can never succeed.  Fix by masking with 255
before comparison.

Change-Id: Idb0b4c176ff120c7cf0e03a935ebfdca51084bbd
Reviewed-on: http://gerrit.openafs.org/8884
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
13 years agolwp/iomgr.c: avoid off-by-one out-of-bounds access
Nickolai Zeldovich [Sun, 6 Jan 2013 04:45:46 +0000 (23:45 -0500)]
lwp/iomgr.c: avoid off-by-one out-of-bounds access

Avoid accessing sigDelivered[NSIG] and sigEvents[NSIG], which are
out-of-bounds by one.

Change-Id: Id6a1798cba901987b8103f287e0869b31040b45b
Reviewed-on: http://gerrit.openafs.org/8883
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
13 years agobutm/file_tm.c: check for null pointer before dereferencing
Nickolai Zeldovich [Sun, 6 Jan 2013 04:45:33 +0000 (23:45 -0500)]
butm/file_tm.c: check for null pointer before dereferencing

Move the null pointer check to before the pointer is dereferenced.

Change-Id: I9983dae8802706c1efeff8a507a001b649572686
Reviewed-on: http://gerrit.openafs.org/8882
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
13 years agoauth/authcon.c: fix likely mistake
Nickolai Zeldovich [Sun, 6 Jan 2013 04:45:21 +0000 (23:45 -0500)]
auth/authcon.c: fix likely mistake

It seems likely the original developer intended to check
*scIndex==RX_SECIDX_NULL rather than scIndex==RX_SECIDX_NULL.

Change-Id: I8a33d3cb177a9212917613581957073392b08314
Reviewed-on: http://gerrit.openafs.org/8881
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
13 years agotools/dumpscan/pathname.c: properly check strdup() return value
Nickolai Zeldovich [Sun, 6 Jan 2013 04:45:11 +0000 (23:45 -0500)]
tools/dumpscan/pathname.c: properly check strdup() return value

Fix the check for strdup() running out of memory.

Change-Id: I4e2d83036095c7b292ee4c386d8ed7b16ec75067
Reviewed-on: http://gerrit.openafs.org/8880
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
13 years agoubik/udebug.c, vol/vol-info.c: check array index before dereferencing
Nickolai Zeldovich [Sun, 6 Jan 2013 04:44:55 +0000 (23:44 -0500)]
ubik/udebug.c, vol/vol-info.c: check array index before dereferencing

Avoid out-of-bounds array accesses by first checking that the index
is in-bounds, and then dereferencing; not the other way around.

Change-Id: Ib36a28ca6181a7a7fd602de45cb5a15fad099a44
Reviewed-on: http://gerrit.openafs.org/8879
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
13 years agovolser/vol_split.c: do not dereference known-NULL pointer
Nickolai Zeldovich [Sun, 6 Jan 2013 04:44:33 +0000 (23:44 -0500)]
volser/vol_split.c: do not dereference known-NULL pointer

Avoid dereferencing a pointer that we just checked is NULL when printing
an error message.

Change-Id: Ibc89883977e7044cab2a844d97b7f0f7d236f4ea
Reviewed-on: http://gerrit.openafs.org/8878
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
13 years agospelling corrections in readme files
Michael Meffie [Sat, 5 Jan 2013 15:40:42 +0000 (10:40 -0500)]
spelling corrections in readme files

Fix spelling errors in readme files.

Change-Id: I62348372d5e226f2b2a3a7732b4a5f8c7331b2ff
Reviewed-on: http://gerrit.openafs.org/8876
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Ken Dreyer <ktdreyer@ktdreyer.com>
13 years agoSOLARIS: Look for ncurses in ncurses/ncurses.h
Andrew Deason [Fri, 4 Jan 2013 19:18:40 +0000 (14:18 -0500)]
SOLARIS: Look for ncurses in ncurses/ncurses.h

Solaris 11+ has ncurses.h in ncurses/ncurses.h. Look for it there.

Without this, on Solaris 11.1 we will detect libncurses automatically
(because it lives in /usr/lib), but not ncurses.h (since it is in
ncurses/ncurses.h, not ncurses.h). So, we will fall back to curses.h,
but will try to link to libncurses, which, as you might guess, fails
with various undefined symbols.

Change-Id: Ia174e2a3c97318d6db2a48a6098569aede93522c
Reviewed-on: http://gerrit.openafs.org/8874
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
13 years agoSOLARIS: Avoid areq and auid conflict
Andrew Deason [Fri, 4 Jan 2013 18:47:35 +0000 (13:47 -0500)]
SOLARIS: Avoid areq and auid conflict

On new Solaris (11.1), nfs/auth.h #defines areq and auid to access
some elements inside the nfsauth_arg structure more easily. We have a
lot of functions that use those names as parameters, so the compiler
throws an error (since we have a decl like "struct vrequest
*areq_u.areq").

We cannot avoid including that header, since we need some NFS-related
headers for the NFS xlator, and they pull in nfs/auth.h
unconditionally. So, work around this by undefining areq and auid
afterwards.

Change-Id: Ifd139917dfe7a1221941351f7873fe183c617159
Reviewed-on: http://gerrit.openafs.org/8873
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
13 years agoafs: Check dv against localhero aincr
Andrew Deason [Wed, 2 Jan 2013 19:09:06 +0000 (14:09 -0500)]
afs: Check dv against localhero aincr

For operations that modify directories, we call afs_LocalHero to
determine if we can perform the directory modification in our local
cache, and avoid fetching the dir blob from the fileserver. Currently,
afs_LocalHero assumes that the DV received from the fileserver is
correct, and will update the cache DV as long as we have a valid
callback on the file.

If for any reason the client cache falls out of sync with what's on
the fileserver, this can cause the client to incorrectly believe its
cache is up to date. Since, the cached data will be marked with the
newest DV, even if the DV on the server has jumped to be larger than
we expected.

While the client cache should never fall out of sync with the
fileserver, in the past this has been possible due to other bugs
(fileserver idle dead processing and client VNOSERVICE handling).
Assuming that the given DV is correct is also just unnecesarily
fragile, since we can always check if it is correct, so just check it,
and add some comments helping explain what's going on here. Note that
regular file writes effectively already check this.

Note that this change makes use of the 'aincr' argument to
afs_LocalHero, which was previously unused. aincr appears to have been
used for a purpose similar to this before OpenAFS 1.0, but was
removed, possibly accidentally.

It is possible this change negatively affects, or even breaks
(unlikely), functionality with the AFS<->DFS translator. Although
nothing of the sort has been seen, it is difficult to know one way or
the other, due to the lack of available DFS translators.

Change-Id: I0e5395bac695257f66ba0cd58695a59ebdf56431
Reviewed-on: http://gerrit.openafs.org/8864
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
13 years agovol: correct old conditional for IH_CONDSYNC
Mark Vitale [Fri, 21 Dec 2012 23:26:18 +0000 (18:26 -0500)]
vol: correct old conditional for IH_CONDSYNC

Two places in the vol package performed IH_CONDSYNC(vp->linkHandle)
only if AFS_NT40_ENV.  This was correct when the namei implementation
was windows only; however, this ifdef was apparently overlooked
when namei was implemented for UNIX.

Change-Id: I0cbe2c5c0a65ece0485b8c2d5a5f92eeb53725fe
Reviewed-on: http://gerrit.openafs.org/8815
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
13 years agoMake MIN/MAX code in rx/rx_packet.h more readable
Russ Allbery [Thu, 3 Jan 2013 22:09:02 +0000 (14:09 -0800)]
Make MIN/MAX code in rx/rx_packet.h more readable

Eventually all MIN/MAX code in the tree should be handled uniformly,
but until that day, make this chunk of it more readable and
document the odd exception case for Linux kernel builds.

Change-Id: I4afe5d99b63010df831943e6b82ff89733b08066
Reviewed-on: http://gerrit.openafs.org/8871
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
13 years agoEnsure MIN/MAX are defined in userspace builds of rx
Russ Allbery [Thu, 3 Jan 2013 21:57:02 +0000 (13:57 -0800)]
Ensure MIN/MAX are defined in userspace builds of rx

The include of <sys/param.h> was removed from rx_packet.h on
Linux 2.6 and later to fix kernel builds with 3.7, which doesn't
have that header in kernel space.  However, while kernel space
always provides MIN/MAX defines, userspace relied on the header.
On at least powerpc, no other include chain includes sys/param.h,
so MIN/MAX were left undefined.

Fix this by only skipping the include of <sys/param.h> on Linux
if building in kernel mode.

Change-Id: Icd2edd645ef4d18d626de8ce8b81ac07f37b1f21
Reviewed-on: http://gerrit.openafs.org/8870
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
13 years agoFix spelling error (retreive for retrieve) in strings
Russ Allbery [Thu, 3 Jan 2013 17:13:26 +0000 (09:13 -0800)]
Fix spelling error (retreive for retrieve) in strings

Caught by Lintian analysis of the compiled binaries.

Change-Id: I5d53d596d30ad8fea5d3f8f0116122a8c1aa808c
Reviewed-on: http://gerrit.openafs.org/8865
Reviewed-by: Ken Dreyer <ktdreyer@ktdreyer.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
13 years agoFix MIN/MAX definition in userspace on powerpc debian/1.6.2_pre2-2
Russ Allbery [Thu, 3 Jan 2013 20:07:41 +0000 (12:07 -0800)]
Fix MIN/MAX definition in userspace on powerpc

* Restore include of <sys/param.h> in userspace builds of rx/rx_packet.h
  to get a definition of MIN and MAX on, at least, powerpc.  Thanks,
  Andrew Deason.

13 years agoFinalize changes for 1.6.2~pre2-1 debian/1.6.2_pre2-1
Russ Allbery [Thu, 3 Jan 2013 18:07:44 +0000 (10:07 -0800)]
Finalize changes for 1.6.2~pre2-1

13 years agoUse hardening-wrapper to harden the binaries
Russ Allbery [Thu, 3 Jan 2013 17:20:07 +0000 (09:20 -0800)]
Use hardening-wrapper to harden the binaries

* Build-Depend on hardening-wrapper and enable it to work around the
  current upstream munging of CFLAGS and LDFLAGS.  (Closes: #659663)

13 years agoUpdate standards version to 3.9.4
Russ Allbery [Thu, 3 Jan 2013 17:09:48 +0000 (09:09 -0800)]
Update standards version to 3.9.4

13 years agoFix obvious syntax error in preinst
Russ Allbery [Thu, 3 Jan 2013 17:08:34 +0000 (09:08 -0800)]
Fix obvious syntax error in preinst

13 years agoUpdate Vcs-* URLs for the new anonscm.debian.org URL layout
Russ Allbery [Thu, 3 Jan 2013 17:08:04 +0000 (09:08 -0800)]
Update Vcs-* URLs for the new anonscm.debian.org URL layout

13 years agoInstall new fs_bypassthreshold man page
Russ Allbery [Thu, 3 Jan 2013 16:49:26 +0000 (08:49 -0800)]
Install new fs_bypassthreshold man page

13 years agoRemove openafs-fileserver doc symlink in preinst
Russ Allbery [Thu, 3 Jan 2013 06:02:15 +0000 (22:02 -0800)]
Remove openafs-fileserver doc symlink in preinst

* Remove the symlink from the openafs-fileserver doc directory to the
  openafs-client doc directory.  We used to install this symlink and
  share doc directories, but this stopped in 1.4.12+dfsg-1.  However,
  dpkg doesn't remove symlinks to a directory, so systems that had
  upgraded from the older package were overwriting openafs-client doc
  files with the openafs-fileserver versions.  Thanks, Andreas
  Beckmann.  (Closes: #694063)

13 years agoFix server installation instructions for demand-attach
Russ Allbery [Thu, 3 Jan 2013 05:55:03 +0000 (21:55 -0800)]
Fix server installation instructions for demand-attach

* Fix server installation instructions in README.servers, which used the
  early demand-attach syntax before separate demand-attach binaries were
  built.  (Closes: #693311)

13 years agoAdd bug closer for later Linux kernel support
Russ Allbery [Thu, 3 Jan 2013 05:48:43 +0000 (21:48 -0800)]
Add bug closer for later Linux kernel support

13 years agoSwitch to xz compression
Russ Allbery [Thu, 3 Jan 2013 05:45:53 +0000 (21:45 -0800)]
Switch to xz compression

* Switch to xz compression for the upstream tarball, Debian tarball, and
  binary packages.

13 years agoMove options and patch-header to be local-only
Russ Allbery [Thu, 3 Jan 2013 05:42:17 +0000 (21:42 -0800)]
Move options and patch-header to be local-only

* Move single-debian-patch to local-options and patch-header to
  local-patch-header so that they only apply to the packages I build and
  NMUs get regular version-numbered patches.

13 years agoUse git-import-orig instead of debian/import-upstream
Russ Allbery [Thu, 3 Jan 2013 05:39:44 +0000 (21:39 -0800)]
Use git-import-orig instead of debian/import-upstream

* Remove debian/import-upstream and change README.source to document
  using git-import-orig with --upstream-vcs-tag instead.

13 years agoAdd initial upstream changelog for 1.6.2pre2
Russ Allbery [Thu, 3 Jan 2013 05:37:08 +0000 (21:37 -0800)]
Add initial upstream changelog for 1.6.2pre2

13 years agoMerge tag 'upstream/1.6.2_pre2'
Russ Allbery [Thu, 3 Jan 2013 05:32:31 +0000 (21:32 -0800)]
Merge tag 'upstream/1.6.2_pre2'

Upstream version 1.6.2~pre2

13 years agoImported Upstream version 1.6.2~pre2 upstream/1.6.2_pre2
Russ Allbery [Thu, 3 Jan 2013 05:32:01 +0000 (21:32 -0800)]
Imported Upstream version 1.6.2~pre2

13 years agoviced: initInterfaceAddr_r regardless of ICBS code
Andrew Deason [Fri, 28 Dec 2012 18:16:49 +0000 (13:16 -0500)]
viced: initInterfaceAddr_r regardless of ICBS code

Currently we only call initInterfaceAddr_r for a host if a call to
RXAFS_InitCallBackState3 succeeds. However, this leaves the host
without a host->interface structure, which indicates that the host
does not support UUIDs, and is represented by just a single host,port
pair.

But this is not correct; the host probably does have the relevant UUID
associated with it, but it is just not responding. So, with the
current code, we create a uuid-less host structure for a host that
probably has a uuid; that host structure will probably never be used,
and will just get deleted later.

So instead, always call initInterfaceAdd_r. Do it before the ICBS
call, so the host will be findable via UUID as early as possible. If
the ICBS call fails, the host will be marked as 'down' later on.

Change-Id: I3a000af90773acbdd66fc22718e5e742619839a1
Reviewed-on: http://gerrit.openafs.org/8847
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
13 years agoviced: Avoid dangling uuid hash table entry
Andrew Deason [Fri, 28 Dec 2012 17:58:33 +0000 (12:58 -0500)]
viced: Avoid dangling uuid hash table entry

Currently we add a given host to the uuid hash table, then call
RXAFS_InitCallBackState3, and then only initialize the host->interface
structure if the ICBS3 call succeeded.

If the ICBS3 call fails, we have added a host to the uuid hash table,
but the host structure does not contain that uuid. If the host is then
deleted, we will not remove the host from the uuid hash table (since
host->interface is NULL), and so the uuid hash table entry will still
point to the freed host. If that host is then later looked up via that
uuid, we can reference a freed host, which can cause all kinds of
undefined behavior.

So instead, add the host to the uuid hash table at the same time that
we initialize the host->interface structure, inside
initInterfaceAddr_r.

FIXES 131277

Change-Id: Ib2ca82cc498877ec896ab1806cf675f1271ec214
Reviewed-on: http://gerrit.openafs.org/8846
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
13 years agovol: fix everything to use volumeid type
Derrick Brashear [Fri, 28 Dec 2012 05:46:12 +0000 (00:46 -0500)]
vol: fix everything to use volumeid type

use one type for volumeid, not 3. kill VolId, and stop
using afs_uint32 (and a few times, afs_int32)

Change-Id: Ibcbd09b5a24d8720b02a02f926e6f59dc0f529aa
Reviewed-on: http://gerrit.openafs.org/8845
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>