openafs.git
8 years agoFBSD: deal with kernel API rename
Ben Kaduk [Sat, 8 Oct 2011 21:16:26 +0000]
FBSD: deal with kernel API rename

Upstream decided to rename the kernel functions that implement
syscalls to have a sys_prefix (including afs3_syscall!).
We use a couple of them, so we need to conditionalize accordingly.
Unfortunately, __FreeBSD_version was not bumped with the change,
so we use something close to it and hope it's close enough.

Change-Id: I228805a813af70b30f94f659e4da602210a6d6df
Reviewed-on: http://gerrit.openafs.org/5572
Reviewed-by: Derrick Brashear <shadow@dementix.org>
Tested-by: Derrick Brashear <shadow@dementix.org>

8 years agobozo: bosserver man page updates
Michael Meffie [Thu, 6 Oct 2011 10:03:07 +0000]
bozo: bosserver man page updates

Add the new -pidfiles option to the man page. Add a few other missing
options as well.

Change-Id: I2d72ec9948edb4dce4c6b6d974915d4ac7560b0b
Reviewed-on: http://gerrit.openafs.org/5587
Reviewed-by: Derrick Brashear <shadow@dementix.org>
Tested-by: Derrick Brashear <shadow@dementix.org>

8 years agoWindows: correct use of krb5_init_context in aklog
Jeffrey Altman [Fri, 7 Oct 2011 15:23:57 +0000]
Windows: correct use of krb5_init_context in aklog

A zero return code is success.  Apply ! to obtain proper
conditional test.

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

8 years agoCorrect Heimdal conversion of libadmin/adminutil
Jeffrey Altman [Sat, 8 Oct 2011 08:01:07 +0000]
Correct Heimdal conversion of libadmin/adminutil

Patchset 4251e386aa25bb3fc02fa255e92327fffc8b954d converts to
using Heimdal.  The conversion undid the introduction of the
abstraction function fetch_krb5_error_message() which is
implemented in src/util.  Restore the use of fetch_krb5_error_message()
and modify src/util/krb5_nt.c to use the Kerberos Compat SDK
interface.

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

8 years agobypasscache: free in order
Derrick Brashear [Fri, 7 Oct 2011 12:11:34 +0000]
bypasscache: free in order

we need to free this, but while the pointer is still good

Change-Id: I5afa3505b764c5bf72811f60f63e29c80a29c5af
Reviewed-on: http://gerrit.openafs.org/5562
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Derrick Brashear <shadow@dementix.org>
Tested-by: Derrick Brashear <shadow@dementix.org>

8 years agodoc: fileserver synopsis typo
Michael Meffie [Fri, 7 Oct 2011 09:50:37 +0000]
doc: fileserver synopsis typo

Fix a fileserver synopsis typo noticed during Derrick's EACK2011
debugging session.

Change-Id: I73ed6bd93f644689acbdeeb4293a22b3b6752ba6
Reviewed-on: http://gerrit.openafs.org/5558
Reviewed-by: Derrick Brashear <shadow@dementix.org>
Tested-by: Derrick Brashear <shadow@dementix.org>

8 years agoRedHat: Add xstat_*_test commands to RPMs
Andrew Deason [Fri, 7 Oct 2011 08:04:03 +0000]
RedHat: Add xstat_*_test commands to RPMs

Install the xstat_*_test commands in the 'openafs' RPM.

Change-Id: Idec42e133dd3f27c72f06c5411dd12acc163ef93
Reviewed-on: http://gerrit.openafs.org/5557
Reviewed-by: Derrick Brashear <shadow@dementix.org>
Tested-by: Derrick Brashear <shadow@dementix.org>

8 years agobypasscache for ukernel
Derrick Brashear [Wed, 21 Sep 2011 19:02:40 +0000]
bypasscache for ukernel

simple (read) bypasscache for ukernel.
does not bother trying any buffercache stuff.

Change-Id: Ie75572da7efdb871a4ce807f02fbbb5bd7744c66
Reviewed-on: http://gerrit.openafs.org/5484
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementix.org>

8 years agoWindows: Explorer shell GetUnixModeBits()
Jeffrey Altman [Tue, 4 Oct 2011 23:01:50 +0000]
Windows: Explorer shell GetUnixModeBits()

actually append the unix mode string elements to the
respective strings.

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

8 years agoWindows: char* is not a Unicode string
Jeffrey Altman [Tue, 4 Oct 2011 21:29:26 +0000]
Windows: char* is not a Unicode string

Do not treat the output of NetbiosName() as a wide_t when
it is a char*.

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

8 years agotsm41: Add options for uidpag and localuid
Andrew Deason [Tue, 12 Apr 2011 22:47:51 +0000]
tsm41: Add options for uidpag and localuid

Add runtime options to aklog_dynamic_auth. Commit
3a541eb11d1bc7bd05b85635315214218d3b5d6f changed the behavior of
aklog_dynamic_auth to be more friendly to the CDE screenlocker, but
forced the use of UID-based PAGs.

Since some users like to use real PAGs and don't care about the CDE
screenlocker, made this behavior a runtime decision instead.

Change-Id: I28264e2e80258f962d02ed9a6a40c4d789179c06
Reviewed-on: http://gerrit.openafs.org/4484
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementix.org>

8 years agoaklog_dynamic_auth: Support new SetToken pioctl
Andrew Deason [Thu, 14 Apr 2011 16:29:26 +0000]
aklog_dynamic_auth: Support new SetToken pioctl

Make aklog_dynamic_auth use the new SetTokenEx method of storing
tokens.

Change-Id: I843ecd206ef4673ff9e5df5419daa9ee5b31f060
Reviewed-on: http://gerrit.openafs.org/4483
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementix.org>

8 years agoWindows: Explorer Shell Extension enhancements
Jeffrey Altman [Sat, 1 Oct 2011 18:05:31 +0000]
Windows: Explorer Shell Extension enhancements

Redesign the AFS Volume Tab to report:

 . Volume name
 . Volume ID
 . Cell
 . Server
 . Availability
 . Quota
 . Partition Info
 . Replica Server List

Properly handle multiple selections to report the volume info
of the parent object and not the actively selected object.

When a mount point is selected, display the volume information
for the target volume.

Remove file server from AFS tab.

Modify the AFS tab to better handle multiple selections including
mount points.

Extend many gui2fs functions to implement a poor man's "follow"
option.  This really should be done with the pioctl 'literal'
capability but this is an improvement.  The pioctl modifications
will require a major redesign of gui2fs.c and all of the dialogs.

Change-Id: Ib009beb81d841fb3bbbd35b1eb0faec2c40eaf4e
Reviewed-on: http://gerrit.openafs.org/5531
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>

8 years agoRemove a few extra trailing backslashes
Andrew Deason [Thu, 29 Sep 2011 17:14:15 +0000]
Remove a few extra trailing backslashes

In a few different places, moving libutil before libafshcrypto_lwp
caused a variable definition to have a trailing \ on the last line of
the definition. This can confuse make (at least, the HP-UX make) to
think the next following definition is also part of the current
definition. Remove the trailing "\"s.

Change-Id: I235f95813e303bc3805b5d9fc8d7861e812613e2
Reviewed-on: http://gerrit.openafs.org/5523
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementix.org>

8 years agovol: Only check "logging" on vice partitions
Andrew Deason [Wed, 28 Sep 2011 20:02:48 +0000]
vol: Only check "logging" on vice partitions

We don't care about non-vicepX partitions, so move part of the UFS
"logging" check into VCheckPartition. This API should probably redone
so the "am I a vicepX partition" check is done completely separately,
but for now, this will do.

Change-Id: Ib2df2079a392d7ed1a8c2aded34f2a7265215ecd
Reviewed-on: http://gerrit.openafs.org/5514
Reviewed-by: Derrick Brashear <shadow@dementix.org>
Tested-by: Andrew Deason <adeason@sinenomine.net>
Tested-by: BuildBot <buildbot@rampaginggeek.com>

8 years agoFSSYNC-Client: Consistent use of partition name
Rod Widdowson [Thu, 29 Sep 2011 14:34:48 +0000]
FSSYNC-Client:  Consistent use of partition name

Over time the FSSYNC code has collected examples where the partition
path is passed rather than the partition name.  In Unix this is the
same (/vicepX), but on windows the path is the DOS device (C:).

This checkin changes FSSYNC client code to always use the partition
name.

This checkin does not address FSSYNC server or SALVSYNC.

Change-Id: I3c5b63103ab0cbd6c2c6c73b9dc737eca22b7d4c
Reviewed-on: http://gerrit.openafs.org/5521
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

8 years agoWindows: register Shell Ext handlers
Jeffrey Altman [Fri, 30 Sep 2011 07:43:24 +0000]
Windows: register Shell Ext handlers

Add registry keys and values to enable use of the overlay
handlers for symlinks and mount points.

Add registry keys and values to enable use of the property
sheet handlers.

Correct registry keys for the Folder background context menu
handler.

Change-Id: Icac560fc6ffcec6bcc41f64adeae3ee2e5884fdb
Reviewed-on: http://gerrit.openafs.org/5530
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>

8 years agoDo not call krb5_get_error_message with NULL context
Jeffrey Altman [Tue, 27 Sep 2011 17:49:52 +0000]
Do not call krb5_get_error_message with NULL context

MIT's krb5_get_error_message() ignores the context and can
be called with a NULL context.  Heimdal's version does not.

Change-Id: I31801b0e0044e5e724298404645517e4425b0f09
Reviewed-on: http://gerrit.openafs.org/5508
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>

8 years agokauth: permit kauth/test to build on Windows (again)
Jeffrey Altman [Wed, 21 Sep 2011 03:54:08 +0000]
kauth: permit kauth/test to build on Windows (again)

Change-Id: I28f7bc93e189a2fcf3651552e00b4214bb6ec799
Reviewed-on: http://gerrit.openafs.org/5473
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>

8 years agoWindows: add krb5_enctype_enable(DES) calls
Jeffrey Altman [Sat, 24 Sep 2011 15:12:09 +0000]
Windows: add krb5_enctype_enable(DES) calls

Heimdal disables DES by default.  Enable DES-CBC-CRC by
calling krb5_enctype_enable() so that the active profile
does not require

[libdefaults]
allow_weak_enctypes = 1

Change-Id: I75d7b6bd7269081c7b1fcaafe05074dcdcc9a7e0
Reviewed-on: http://gerrit.openafs.org/5501
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>

8 years agoWindows: Build against KerbCompatSDK instead of KFW
Asanka C. Herath [Fri, 8 Oct 2010 21:46:02 +0000]
Windows: Build against KerbCompatSDK instead of KFW

Build OpenAFS for Windows against the Secure Endpoints
Kerberos Compatibility SDK instead of the in tree
Kerberos for Windows SDK.

The compatibility layer is available from:

   http://github.com/secure-endpoints/heimdal-krbcompat

The SDK location must be specified with the
KERBEROSCOMPATSDKROOT environment variable.

The benefits of building against the Kerberos Compatibility
SDK are:

 * Heimdal 1.5.1 or later assemblies will be used
   if available

 * MIT KFW 3.2.x will be searched for if Heimdal 1.5.1
   is not installed

Version 1.0 of the SDK is supported.

Change-Id: I393e20d8bfb9ee1ca749cc54ecc1341927abaf82
Reviewed-on: http://gerrit.openafs.org/2867
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

8 years agoDAFS: Do not serialize state for invalid hosts
Andrew Deason [Thu, 29 Sep 2011 19:49:53 +0000]
DAFS: Do not serialize state for invalid hosts

When we serialize host information for DAFS during shutdown, we have
no guarantee that the host is in a valid state when we look at it.
This can result in a host being saved to disk when we are waiting for
the host to respond to an RPC, and so the information about the host
is invalid. For example, we can save a host that has the
HWHO_INPROGRESS flag set, and when it is restored later, this can
cause odd behavior since the flag is set but no thread is actually
waiting for the host to respond.

So instead, during state serialization, try to determine if a host may
be in an invalid state, and simply skip the host if it may.

Change-Id: I755640ea4ce607245ae98cc7455472ef781271e7
Reviewed-on: http://gerrit.openafs.org/5528
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementix.org>

8 years agoDAFS: Skip hosts with invalid flags on restore
Andrew Deason [Thu, 29 Sep 2011 21:04:54 +0000]
DAFS: Skip hosts with invalid flags on restore

Host entries with HWHO_INPROGRESS set or ALTADDR unset do not have
valid state, since those flags indicate that the fileserver was in the
middle of identifying the host when the host struct was serialized.
Skip entries from the on-disk host data that have such invalid flags
set when restoring state, so we do not load invalid data.

Change-Id: I26b88256679f4596598e6e3e6b68af7e8e5e387d
Reviewed-on: http://gerrit.openafs.org/5527
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementix.org>

8 years agoDAFS: Add explicit 'valid' field for index maps
Andrew Deason [Thu, 29 Sep 2011 20:22:35 +0000]
DAFS: Add explicit 'valid' field for index maps

The CB, FE, and host serialization structures were just using the
relevant indices to determine whether or not an entry mapping and old
index to a new index was populated with actual data. For host
structures, this really isn't sufficient, since our index can be 0,
and the structure is calloc'd, so the index in the structure could
also be 0.

Add a flag explicitly stating whether or not the structure has been
filled in, to make this unambiguous.

Change-Id: Ia69e25fa73e10dc10cf3ddf08bb4feb2c9958674
Reviewed-on: http://gerrit.openafs.org/5526
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementix.org>

8 years agoviced: Assert valid statistics indices
Andrew Deason [Thu, 29 Sep 2011 23:36:07 +0000]
viced: Assert valid statistics indices

Make sure we are passed valid statistic index numbers, so passing in a
bad index doesn't result in writing over random memory.

Change-Id: I29ed03b59df937e6f95fba44209a03db23613a8d
Reviewed-on: http://gerrit.openafs.org/5525
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementix.org>

8 years agoviced: Use xfer indices for xfer data
Andrew Deason [Thu, 29 Sep 2011 23:31:37 +0000]
viced: Use xfer indices for xfer data

Use the xfer indices for the xfer-related data, not the op indices, so
we don't try to fill in data beyond the actual storage for the stats.

Change-Id: I075d4eb9439d9bd603489f0aa90b3c18c3959de3
Reviewed-on: http://gerrit.openafs.org/5524
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementix.org>

8 years agorx: add post RPC procedure capability
Marc Dionne [Thu, 29 Sep 2011 01:15:32 +0000]
rx: add post RPC procedure capability

Add the ability to specify a procedure that will be called after
the end of each RPC for a service.  This is similar to the
existing afterProc, except that it gets called after the RPC
has ended (after EndCall).

rx_SetPostProc and rx_GetPostProc are provided to set and retrieve
a postProc for a specified service.

Change-Id: I52e70323c5d35c9c0d70d9b9bbb05ff56a6edcad
Reviewed-on: http://gerrit.openafs.org/5529
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

8 years agoFix typo in windows release notes
Jeffrey Altman [Thu, 29 Sep 2011 13:35:51 +0000]
Fix typo in windows release notes

Reported by Jeff Blaine.

FIXES 132233

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

8 years agoWindows: Fixup errors in AFS ACL Property Sheet
Jeffrey Altman [Thu, 29 Sep 2011 01:46:48 +0000]
Windows: Fixup errors in AFS ACL Property Sheet

Unlike the afs_set_acl_dlg the PropACL sheet only uses a single
ComboList to maintain both the positive and negative ACEs but
uses two CStringArrays to separately store the positive and
negative ACEs.  Two entries in each array are used to store
an ACE.  The %2==0 entry is the pts name and the %2==1 entry is
the permission list.  This needs to be taken into account when
manipulating the negative entries since the array count for the
normal entries is twice the number of ACEs.

Negative entries were prefixed with '=' instead of '-'.

The Remove button was not hooked up and was not enabled or disabled
under all appropriate conditions.

Change-Id: I3bbfd9e82c8796554482b876d31ec53d8f9ac91f
Reviewed-on: http://gerrit.openafs.org/5518
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>

8 years agoWindows: add resource info to afshcrypto.dll
Jeffrey Altman [Wed, 28 Sep 2011 23:59:03 +0000]
Windows: add resource info to afshcrypto.dll

The afshcrypto.rc file was provided but it was never compiled
nor linked to the dll.

Change-Id: I41138c53a5b53417d880ae748c7f8e8248daedce
Reviewed-on: http://gerrit.openafs.org/5517
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>

8 years agoWindows: Add resource info to afsroken.dll
Jeffrey Altman [Wed, 28 Sep 2011 23:58:07 +0000]
Windows: Add resource info to afsroken.dll

The afsroken.rc file was provided but it was never compiled
or linked to the dll.

Change-Id: Id64ccd06b85c444f2009ef21f1fc65fb14f1bf01
Reviewed-on: http://gerrit.openafs.org/5516
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>

8 years agoviced: remove duplicate declaration
Marc Dionne [Wed, 28 Sep 2011 22:39:55 +0000]
viced: remove duplicate declaration

viced_uclient_key is declared twice, remove one of the
declarations.

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

8 years agoWindows: Remove spurious use of CRTL
Rod Widdowson [Wed, 28 Sep 2011 15:46:00 +0000]
Windows: Remove spurious use of CRTL

Checkins b71a2daa and 5247fa38a moved us from using a FILE*
to using an FDi_t.  However, lurking inside the dump code we
see a use of _filelength() which is a MS-Crtl API.

This checkin replaces this call with one to the WIN32 API
GetFileSizeEx.

Change-Id: I6ecc25a52d083f918bd8d92670b05f12e58e4015
Reviewed-on: http://gerrit.openafs.org/5511
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

8 years agoRemove references to afs_assert.h
Andrew Deason [Wed, 28 Sep 2011 20:41:38 +0000]
Remove references to afs_assert.h

The header afs_assert.h no longer exists after commit
cac74242728ad97e3ce9cef0a949d58c237250f6. Remove all remaining
references to afs_assert.h in the tree.

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

8 years agoukernel: output dataversion in stat struct if possible
Derrick Brashear [Wed, 28 Sep 2011 14:23:19 +0000]
ukernel: output dataversion in stat struct if possible

we already have this data; if we can output it, do so.

Change-Id: Ibc445a152e4e1e61be50003dd8683d2a4b32d190
Reviewed-on: http://gerrit.openafs.org/5510
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementix.org>

8 years agoukernel: make web enhancements the default
Derrick Brashear [Wed, 28 Sep 2011 14:11:16 +0000]
ukernel: make web enhancements the default

none of the web enhancements break base functionality,
and they are strictly more functionality; just turn them on everywhere

Change-Id: I462d3571d055f1d8ec19bdd0132b935bacd435c0
Reviewed-on: http://gerrit.openafs.org/5509
Tested-by: Derrick Brashear <shadow@dementix.org>
Reviewed-by: Derrick Brashear <shadow@dementix.org>

8 years agoWindows: Fix comment about DiskPartition64
Rod Widdowson [Wed, 28 Sep 2011 16:34:54 +0000]
Windows: Fix comment about DiskPartition64

There is significant confusion between the partition name (/vicepX)
and the containing volume (C:) in the windows code.  A review of
the uses in FSYNCH found a downright wrong comment (as checked in
the debugger).

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

8 years agoFBSD: allow exclusion of kernel symbols
Ben Kaduk [Tue, 27 Sep 2011 00:21:49 +0000]
FBSD: allow exclusion of kernel symbols

Gerrit/5503 added support for kernel module symbols in the
bsd.kmod.mk world; however, the inclusion of symbols is conditoinal
on the DEBUG_FLAGS make variable being *set*, as opposed to nonempty.
So we must use an intermediate variable to store the AC_SUBST
result and conditionalize assignment to DEBUG_FLAGS on whether
or not it is empty.

Change-Id: I7f86fd08d6dcf1ac7116680db98db13f5f31be7b
Reviewed-on: http://gerrit.openafs.org/5507
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementix.org>

8 years agobozo: report bosserver -rxbind address
Michael Meffie [Thu, 22 Sep 2011 13:13:18 +0000]
bozo: report bosserver -rxbind address

Create a file on bosserver startup called bosserver.rxbind in the
server local directory which contains an address local scripts may
use to contact the bosserver.

When bosserver is started with the -rxbind option, write the address
selected from the intersection of the interfaces, NetInfo, and
NetRestrict configuration to the bosserver.rxbind file, otherwise
write the loopback address 127.0.0.1.

Update the RedHat init script to use the new bosserver.rxbind file.

Change-Id: I00a4249ae7445f872625ec46f960e778483d1f9f
Reviewed-on: http://gerrit.openafs.org/5488
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementix.org>

9 years agoWindows: do not install afs_assert.h
Jeffrey Altman [Mon, 26 Sep 2011 16:28:49 +0000]
Windows: do not install afs_assert.h

commit cac74242728ad97e3ce9cef0a949d58c237250f6 removed afs_assert.h
from the build tree.  It can no longer be installed.

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

9 years agobozo: fix overrun from -rxbind on restart
Michael Meffie [Mon, 26 Sep 2011 15:59:55 +0000]
bozo: fix overrun from -rxbind on restart

Fix buffer overrun in bosctlsrv introduced
by commit 544ff1b295a57b50afefa6146094434db7608355

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

9 years agovolinfo: refactor vnode handling
Michael Meffie [Mon, 25 Jul 2011 13:21:34 +0000]
volinfo: refactor vnode handling

At program startup, register procedures to be called
when scanning vnodes.

Change-Id: I8dda202f1ea61b538278eacc8f86c323728cf191
Reviewed-on: http://gerrit.openafs.org/5100
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementix.org>

9 years agovolinfo: release volume header ihandles when done
Michael Meffie [Sat, 23 Jul 2011 18:55:57 +0000]
volinfo: release volume header ihandles when done

After scanning the volume, release the header ihandles
for the volume.

Change-Id: I689a33b321fc68d0dc480369e6cbdfd41c1dbfc9
Reviewed-on: http://gerrit.openafs.org/5099
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementix.org>

9 years agocorrect omission of AFS_NBSD60_ENV from nbsd60 param file
Jonathan A. Kollasch [Fri, 23 Sep 2011 19:14:47 +0000]
correct omission of AFS_NBSD60_ENV from nbsd60 param file

Change-Id: I6b72ab5d9e3e5000c9138e6470e80491d85328b1
Reviewed-on: http://gerrit.openafs.org/5499
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementix.org>

9 years agoClean up assertion
Simon Wilkinson [Sun, 10 Jul 2011 12:46:11 +0000]
Clean up assertion

The AFS code has multiple different assertion implementations in
userspace. This patchset is the start of bringing some sanity to them.

In rx, we have osi_Assert, a user/kernel assertion macro. This is only
available to libraries which have RX dependencies

In util, we redefine the standard 'assert()' macro to provide a
cross-platform assertion solution.

Because util has an RX dependency, neither of these provide an
assertion solution for libraries which should be independent of rx.
So, pull the assertion code out of util, and put it into opr, as a new
opr_Assert() macro. Implement the userspace osi_Assert in terms of this
macro, leaving the kernel variant untouched.

Update callers to the new macro and header file names.

Change-Id: I780b30ec1ea1207daa17127df4d5fbf9a94481b6
Reviewed-on: http://gerrit.openafs.org/5394
Reviewed-by: Derrick Brashear <shadow@dementix.org>
Tested-by: BuildBot <buildbot@rampaginggeek.com>

9 years agoMove abort() into opr
Simon Wilkinson [Sun, 11 Sep 2011 20:44:23 +0000]
Move abort() into opr

We need our own abort function, because the behaviour of the Windows
abort() implementation isn't sufficiently flexible for us.
Because we're replacing an operating system function, reather than
implementing a missing function, this doesn't belong in roken.

So, provide an alternative opr_abort() implementation in our portable
runtime layer, which is a synonym for abort() on Unix, and implements
the required DebugBreak() functionality on Windows.

Remove lwp_abort() which was just creating another, unnecessary, layer
of abstraction.

Change-Id: Ice226d70d2791beaba011f42e39fde60242f6cc3
Reviewed-on: http://gerrit.openafs.org/4428
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementix.org>

9 years agobozo: bosserver -pidfiles option
Michael Meffie [Wed, 24 Nov 2010 01:21:50 +0000]
bozo: bosserver -pidfiles option

Add an option to bosserver to create pidfiles for long running
processes for simple, fs, and dafs bnode types, as well as the
bosserver process. The pidfiles are located in the server local
directory by default, or in the path specifed by the -pidfiles
command-line option.

Change-Id: I3e85b027dc6f630965f84b18b7f849ac481dabe2
Reviewed-on: http://gerrit.openafs.org/5497
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementix.org>

9 years agoFBSD: bsd.kmod.mk fallout for debug symbols
Ben Kaduk [Sat, 24 Sep 2011 22:05:09 +0000]
FBSD: bsd.kmod.mk fallout for debug symbols

Now that we no longer control the installation of libafs.ko,
debug symbols are always getting stripped.
If the user requested kernel debug symbols, define DEBUG_FLAGS
for the libafs build and install, so that bsd.kmod.mk will
install the .symbols file alongside the kernel module.

Change-Id: I0e7f3736666c96c6aaed18c0add98dea37349b83
Reviewed-on: http://gerrit.openafs.org/5503
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementix.org>

9 years agoWindows: update ntbuild.bat
Jeffrey Altman [Sat, 24 Sep 2011 15:42:50 +0000]
Windows: update ntbuild.bat

Add references to:

 . new APPVER and _WIN32_IE values

 . new AFSVER_CL values

 . additional code signing variables

 . variables for symbol store support

 . WiX Installer Toolkit location

 . Cygwin Install Directory

 . ActivePerl Install Directory

 . SignTool path

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

9 years agobozo: remove duplicate prototype
Michael Meffie [Fri, 23 Sep 2011 15:28:05 +0000]
bozo: remove duplicate prototype

Remove duplicate function prototype.

Change-Id: I84a30c27edabd82272f99711285eb043122f66a0
Reviewed-on: http://gerrit.openafs.org/5496
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementix.org>

9 years agoFix buffer leak in dir/buffers.c
Rod Widdowson [Fri, 23 Sep 2011 15:37:43 +0000]
Fix buffer leak in dir/buffers.c

Checkin 0284e65f97861e888d95576f22a93cd681813c39 accidently
threw in a trailing semicolon after an if statement.
Since the next line was a break this had several unfortunate
side effects, the most obvious being that we leaked a buffer
in certain cases.

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

9 years agoviced: fix incorrect error message
Marc Dionne [Thu, 22 Sep 2011 23:09:52 +0000]
viced: fix incorrect error message

The error message was obviously copied from another location in the
code (after the pr_Initialize call) and is misleading.  Adapt it for
vl_Initialize failure.

Change-Id: I4fc65fd82b92df3298227abf3f6bcc24184ebfe8
Reviewed-on: http://gerrit.openafs.org/5490
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementix.org>

9 years agobozo: pass -rxbind on restart
Michael Meffie [Thu, 22 Sep 2011 15:28:17 +0000]
bozo: pass -rxbind on restart

Pass the -rxbind on restarts when bosserver is initially started
with the -rxbind option.

Change-Id: Ic6e884c87fcd0e8b3808a2f362d8c32177e9e2a0
Reviewed-on: http://gerrit.openafs.org/5487
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementix.org>

9 years agodarwin: ukernel is 64-bit able
Derrick Brashear [Thu, 22 Sep 2011 17:00:08 +0000]
darwin: ukernel is 64-bit able

update ukernel settings for darwin

Change-Id: Ifd72d0d5affa1bfbea04da2c95e8011fb055e59f
Reviewed-on: http://gerrit.openafs.org/5489
Reviewed-by: Derrick Brashear <shadow@dementix.org>
Tested-by: Derrick Brashear <shadow@dementix.org>

9 years agofs: fix setserverprefs where long is larger than afs_int32
Marc Dionne [Thu, 22 Sep 2011 00:31:33 +0000]
fs: fix setserverprefs where long is larger than afs_int32

Make the fscanf and scanf format specifiers match the type of the
target variable.  This prevents trying to store a long int into an
afs_int32 variable which may be smaller, and overwriting neighbouring
data on the stack.

The effect on a 64-bit Linux system was that the high bits of "rank"
would overwrite the first 4 bytes of the scanned host name, causing
setserverprefs to fail with:
: couldn't resolve name.

Change-Id: I2100e7fe77a137257eb308ad127c151de84756bc
Reviewed-on: http://gerrit.openafs.org/5486
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementix.org>
Tested-by: Derrick Brashear <shadow@dementix.org>

9 years agoWindows: Disable OACR by default for AFSRDR build
Jeffrey Altman [Wed, 21 Sep 2011 05:46:52 +0000]
Windows: Disable OACR by default for AFSRDR build

When building the AFS redirector with WDK7600 the Microsoft Auto
Code Review process is started by default.  This is a problem for
buildbot.  Disable OACR by default if the _RunOacr environment
variable is not set to TRUE.

Change-Id: I7e8f9f978e5f6b8a33fe0ff6174b9ddbe2a86ec7
Reviewed-on: http://gerrit.openafs.org/5479
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>

9 years agoafscp: enable debugging support in the volume portion
Derrick Brashear [Wed, 21 Sep 2011 16:55:39 +0000]
afscp: enable debugging support in the volume portion

readd the missing code when we are compiled for debug

Change-Id: Ia4f0bcf2868e2f87bf8f7b6c01f3842e1a2eed50
Reviewed-on: http://gerrit.openafs.org/5483
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementix.org>

9 years agoafscp: allow listing of bare root.cell dirs in dynroot mode
Derrick Brashear [Wed, 21 Sep 2011 06:03:30 +0000]
afscp: allow listing of bare root.cell dirs in dynroot mode

don't assume that /afs/cell.name (as opposed to /afs/cell.name/)
is bogus. if there's text, at least try

Change-Id: I9566efe60c942533cd0415a03528953cb90310c9
Reviewed-on: http://gerrit.openafs.org/5480
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementix.org>

9 years agoafscp: add confdir override
Derrick Brashear [Wed, 21 Sep 2011 03:26:25 +0000]
afscp: add confdir override

allow an alternate config dir

Change-Id: I454d63199dcfadc46ba957ddae0685efee6acf26
Reviewed-on: http://gerrit.openafs.org/5476
Reviewed-by: Derrick Brashear <shadow@dementix.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: BuildBot <buildbot@rampaginggeek.com>

9 years agoFix AFSPreference compile error on Mac OS 10.7
Terry Long [Wed, 21 Sep 2011 01:21:12 +0000]
Fix AFSPreference compile error on Mac OS 10.7

Lion llvm/clang complains about main returning void instead of int.
Fixed main to return int in DARWIN/AFSPreference/afshlp.m.
Resubmitted patch to origin/master.

Change-Id: I2f4e88ded2d98688901cc18d60abac8172942bbd
Reviewed-on: http://gerrit.openafs.org/5475
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementix.org>

9 years agoWindows: install control panel only if afs_config
Jeffrey Altman [Sun, 18 Sep 2011 17:13:18 +0000]
Windows: install control panel only if afs_config

Add the AFS control panel to the AFS Configuration Tool
component so that it is installed only if afs_config.exe
is going to be installed.

Change-Id: I9016ad70f3b201bbe440ec39e9987c6209cae0cc
Reviewed-on: http://gerrit.openafs.org/5462
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>

9 years agoWindows: Disable Control Panel button in NIM
Jeffrey Altman [Sun, 18 Sep 2011 17:14:39 +0000]
Windows: Disable Control Panel button in NIM

Since afs_config.exe is no longer installed, remove the
OpenAFS control panel button from the Network Identity Manager
provider.

Change-Id: I4b3d7a091a6c833d8bf4a24110ee6deb00c6baa0
Reviewed-on: http://gerrit.openafs.org/5463
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>

9 years agosalvager: fix filesystem path truncation
Michael Meffie [Tue, 20 Sep 2011 20:21:50 +0000]
salvager: fix filesystem path truncation

Fix filesystem path truncation for vice partitions beyond /vicepz.

Commit 3d7388b7 moved the filesystem path to a fixed size buffer,
however the path of the filesystem to be salvaged is truncated for
partitions with two character ids (e.g. /vicepaa), in which case
the salvager will salvager the wrong partition, or abort if the
truncated path is not present.

Change-Id: Iadf45268514ef5045a4481950f213abecbb20b33
Reviewed-on: http://gerrit.openafs.org/5469
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>

9 years agosolaris: libafs depends on fs/ufs
Michael Meffie [Fri, 16 Sep 2011 15:23:18 +0000]
solaris: libafs depends on fs/ufs

The solaris afs module depends on symbols exported by fs/ufs.
Set this dependency in the afs module so the kernel loader
will automatically load the fs/ufs driver if is not already
loaded, such on zfs only systems.

Change-Id: I87ae2c326ac0c895cca37cf30e4c11d0decbe6d1
Reviewed-on: http://gerrit.openafs.org/5456
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementix.org>

9 years agosolaris: build 64-bit binaries for sunx86_51x by default
Michael Meffie [Wed, 14 Sep 2011 21:22:25 +0000]
solaris: build 64-bit binaries for sunx86_51x by default

Build 64-bit binaries on solaris x86 version 10 or better
build systems running in 64-bit mode.

Builders may set the the ARCHFLAGS environment variable
to "-m32" before running configure to build 32-bit binaries
on a 64-bit build host.

Change-Id: I27558a2c7fe9872cf30889ca57e778985a3ff461
Reviewed-on: http://gerrit.openafs.org/5450
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementix.org>

9 years agontohs ubik header size
Andrew Deason [Mon, 19 Sep 2011 15:05:59 +0000]
ntohs ubik header size

The 'size' field in the ubik header is only 16-bits wide, so we should
be using ntohs to read it, not ntohl. The database checking utilities
for the prdb and kadb were still using ntohl (vldb was fixed by
591f9b6de9ab3dc5c17ad41af0241527f7f04b31).

Change-Id: Ic3894f5ae78ff05279e87b364841c5f6dfdf803c
Reviewed-on: http://gerrit.openafs.org/5466
Reviewed-by: Derrick Brashear <shadow@dementix.org>
Tested-by: BuildBot <buildbot@rampaginggeek.com>

9 years agodir: remove unnecessary cast from malloc
Jeffrey Altman [Sun, 18 Sep 2011 18:18:24 +0000]
dir: remove unnecessary cast from malloc

Change-Id: I2b91c9ad2983ba08e5e1bc49c3790e018951be31
Reviewed-on: http://gerrit.openafs.org/5464
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementix.org>

9 years agoFix input size computation in SetSPrefs pioctl
Jeffrey Altman [Mon, 19 Sep 2011 14:35:11 +0000]
Fix input size computation in SetSPrefs pioctl

Patchset 718f85a8b69a78ac77beb5c8471af20657be2a53 contained
a small typo that prevents the SetSPrefs pioctl processing from
functioning in all cases.  fs setserverprefs continues to work
for non-DB preference lists because fs.c pokeServers() attempts
to try the old SetSPrefs33 pioctl in the non-DB server case.

Change-Id: I2e06dccb51c53ba312418fb5f51be3d621a2004c
Reviewed-on: http://gerrit.openafs.org/5465
Reviewed-by: Derrick Brashear <shadow@dementix.org>
Tested-by: BuildBot <buildbot@rampaginggeek.com>

9 years agosolaris: fix afs_event build error
Michael Meffie [Wed, 14 Sep 2011 14:48:08 +0000]
solaris: fix afs_event build error

Fix build error on solaris introduced with commit
dc077b83c9b1f107efbc3483743f44117748f23c.

Change-Id: Id41a0d7cf6400769dde5d2626854e2190cd6bd2e
Reviewed-on: http://gerrit.openafs.org/5419
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementix.org>

9 years agorx: arrange for Finalize to really stop running calls
Derrick Brashear [Thu, 15 Sep 2011 17:48:31 +0000]
rx: arrange for Finalize to really stop running calls

previously rxi_ServerProc would happily error a call once
rx_tranquil was set, but keep calling ExecuteRequest.
Reorder code so kernel shutdown attempts are processed first;
then arrange if we are tranquil to not process the call further.

Issue discovered by Chaskiel Grundman.

Change-Id: I545960fb0eb0d5151baa7e06e2758cdeaf0885da
Reviewed-on: http://gerrit.openafs.org/5447
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementix.org>

9 years agoWindows: changelog prior to branching openafs-devel-1_7_x
Jeffrey Altman [Thu, 15 Sep 2011 19:16:55 +0000]
Windows: changelog prior to branching openafs-devel-1_7_x

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

9 years agowindows: Set ReparsePoint Attribute in FileAttributes
Jeffrey Altman [Thu, 15 Sep 2011 18:00:39 +0000]
windows: Set ReparsePoint Attribute in FileAttributes

The ReparsePoint Attribute is a primary attribute that is used
internally within the redirector to determine when the object
is a reparse point.  It must be set in all code paths that
obtain the FileAttributes from the service.  Do not fold it in
during the QueryBasicInformation response processing.

Change-Id: Iba819dd94ec03133f78a4d18559dbd1b5352788e
Reviewed-on: http://gerrit.openafs.org/5448
Reviewed-by: Peter Scott <pscott.kd@gmail.com>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>

9 years agoWindows: README-WINDOWS updates for build environment
Jeffrey Altman [Thu, 15 Sep 2011 14:32:19 +0000]
Windows: README-WINDOWS updates for build environment

Not complete but closer than it was.

Change-Id: I5945101206535753ace6d3a53a4d91ee4290351c
Reviewed-on: http://gerrit.openafs.org/5446
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

9 years agoWindows: NetWksta RPC test application
Jeffrey Altman [Thu, 15 Sep 2011 06:07:53 +0000]
Windows: NetWksta RPC test application

A simple application to query the NetWksta RPC interface.

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

9 years agoWindows: Build the AFS Redirector world
Jeffrey Altman [Thu, 15 Sep 2011 06:06:14 +0000]
Windows: Build the AFS Redirector world

All of the new build rules necessary to build the
new AFS Redirector world.

Change-Id: Ic5b8839eb6f10e44c3b6e185c85c3948f77b4d60
Reviewed-on: http://gerrit.openafs.org/5444
Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
Tested-by: Rod Widdowson <rdw@steadingsoftware.com>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

9 years agoWindows: Release Notes updates for AFS Redirector
Jeffrey Altman [Thu, 15 Sep 2011 06:04:45 +0000]
Windows: Release Notes updates for AFS Redirector

No more support for Windows 2000.

A first pass at indication which features that are SMB only
are no longer applicable.

much more.

Change-Id: I6e6337804d75c8dccdbc66307215e18238f33dac
Reviewed-on: http://gerrit.openafs.org/5443
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>

9 years agoWindows: WiX Installers for AFS Redirector
Jeffrey Altman [Thu, 15 Sep 2011 06:02:36 +0000]
Windows: WiX Installers for AFS Redirector

Add the AFS Redirector and AFSRDFSProvider and new
Shell Extensions to the MSI installer package.

Change-Id: I82d8256d016a19865bc8a681331f650d52e3b261
Reviewed-on: http://gerrit.openafs.org/5442
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>

9 years agoWindows: NSIS installers for AFS Redirector
Jeffrey Altman [Thu, 15 Sep 2011 06:00:00 +0000]
Windows: NSIS installers for AFS Redirector

These changes provide basic support for installing
the AFS Redirector and the AFSRDFSProvider.dll.
However, since NSIS is not useful for 64-bit installations
the NSIS installers will be removed from the source tree
in the near future.

1.7.x series will not be distributed with NSIS installers.

Change-Id: Ifd9d06af4f047e27c23c87af79ba84085bc3614a
Reviewed-on: http://gerrit.openafs.org/5441
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>

9 years agoWindows: AFS Redirector Support Tools
Peter Scott [Thu, 15 Sep 2011 05:58:48 +0000]
Windows: AFS Redirector Support Tools

settrace, gettrace, objstatus, authgroup, and crash.

These tools are useful for debugging the system.

Change-Id: I2d62186a98f5561d579f7934ef568a54a3b099f1
Reviewed-on: http://gerrit.openafs.org/5440
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>

9 years agoWindows: AFS Redirector Network Provider
Peter Scott [Thu, 15 Sep 2011 05:52:08 +0000]
Windows: AFS Redirector Network Provider

In Windows a network file system must have a matching network
provider dll that interfaces with the Multiple Provider Router
(MPR) to support the WNet APIs called by the Windows Explorer
Shell and other applications.  The WNet APIs are primarily
used to support driver letter mapping but they also have a
number of other functions including universal name mapping,
path formatting, and path parsing.

Jeffrey Altman <jaltman@your-file-system.com> contributed to
the development of the AFSRDFSProvider.dll interface.

Change-Id: I9476003e05f12684676e8c7331a0a8dd13d98686
Reviewed-on: http://gerrit.openafs.org/5439
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
Tested-by: Rod Widdowson <rdw@steadingsoftware.com>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>

9 years agoWindows: AFSRedirLib.sys file system library driver
Peter Scott [Thu, 15 Sep 2011 05:48:59 +0000]
Windows: AFSRedirLib.sys file system library driver

This patchset implements the AFS Redirector Library driver.
This driver contains all of the AFS specific implementation
details for service communication, network provider support,
directory management, extent management, metadata management,
callback invaldation, volume management, file locking, etc.

Rod Widdowson <rdw@steadingsoftware.com> and Jeffrey Altman
<jaltman@your-file-system.com> contributed to the development
of this driver.

Change-Id: Icc18c26b81b96a92096c20e01360007815ca1acb
Reviewed-on: http://gerrit.openafs.org/5438
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
Tested-by: Rod Widdowson <rdw@steadingsoftware.com>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>

9 years agoWindows: RDR File System Framework driver
Peter Scott [Thu, 15 Sep 2011 05:33:20 +0000]
Windows: RDR File System Framework driver

This is the first of two kernel drivers used to implement
the AFS Redirector: AFSRedir.sys.

This driver is registered at boot time and provides the binding
to the Windows kernel infrastructure.  However, it only provides
a framework of a file system driver.  All of the AFS specific
interfaces are actually implemented in a secondary library
driver, AFSRedirLib.sys.  The rationale for this model is that
file system drivers cannot be unloaded on a running system.
By using this approach the library driver can be unloaded which
permits systems to be live updated.

To permit this model to work, all memory allocation is performed
by AFSRedir.sys.  This confuses the driver verifier tool.  When
the library is unloaded all objects are still valid.  Operation
is simply paused until a new library is brought up.  Under the
current configuration the library is loaded as part of afsd_service
initialization of AFSRedir.sys and is automatically unloaded when
afsd_service.exe shuts down.

The framework driver also implements all of the process and
thread tracking logic necessary to support Authentication Groups.

Communication between AFSRedir.sys and afsd_service.exe is
performed via a reverse ioctl model whereby the service contributes
threads to the driver to convey requests for processing.

The original file system was derived from the Kernel Drivers
File System under license from Kernel Drivers, LLC.

Rod Widdowson <rdw@steadingsoftware.com> and Jeffrey Altman
<jaltman@your-file-system.com> contributed to the development
of this driver.

Change-Id: Ic123cacd868ddde31d66bf17d3ad2a13c22cd1f4
Reviewed-on: http://gerrit.openafs.org/5437
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
Tested-by: Rod Widdowson <rdw@steadingsoftware.com>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>

9 years agoWindows: Make pioctl interface RDR aware
Jeffrey Altman [Thu, 15 Sep 2011 05:31:08 +0000]
Windows: Make pioctl interface RDR aware

Permit the pioctl interface to recognize how to interact with
the RDR for processing pioctl operations.

Change-Id: I7ddf15f29661e61fab6439d2a3c1aa2935011559
Reviewed-on: http://gerrit.openafs.org/5436
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
Tested-by: Rod Widdowson <rdw@steadingsoftware.com>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>

9 years agoWindows: build loopback installer for current DDKs
Jeffrey Altman [Thu, 15 Sep 2011 05:29:57 +0000]
Windows: build loopback installer for current DDKs

Modify the build rule for the loopback installer to permit
it to build with the latest DDKs.

Change-Id: I94c09e4f8e459ffebdcb2a63dbbe2197d7fbf070
Reviewed-on: http://gerrit.openafs.org/5435
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
Tested-by: Rod Widdowson <rdw@steadingsoftware.com>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>

9 years agoWindows: "AFS_SMBNAME" envvar for aklog
Jeffrey Altman [Thu, 15 Sep 2011 05:27:58 +0000]
Windows: "AFS_SMBNAME" envvar for aklog

Permit the Windows smb user parameter used when setting
tokens as the LOCAL_SYSTEM account to be set via an environment
variable.  This is useful for debugging.

Change-Id: Id4521c863df1288a7a0937b83bf85cff1af3696f
Reviewed-on: http://gerrit.openafs.org/5434
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>

9 years agoWindows: no SOCKLEN_T before WDK 6.0
Jeffrey Altman [Thu, 15 Sep 2011 05:26:00 +0000]
Windows: no SOCKLEN_T before WDK 6.0

Change-Id: Idc63e28385b85e808b4391bc897863c792584c70
Reviewed-on: http://gerrit.openafs.org/5433
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>

9 years agoWindows: Redirector interface for afsd_service.exe
Jeffrey Altman [Thu, 15 Sep 2011 05:11:15 +0000]
Windows: Redirector interface for afsd_service.exe

Over the last three years the afsd_service sources have been
gradually separated into distinct layers for the SMB server
and the AFS cache.  The eventual goal of this work was to
permit the addition of alternative interfaces to the cache
manager in parallel.

This patchset implements the first alternative interface,
a reverse ioctl model that communicates with a native IFS
redirector driver.  The driver will be submitted in a
subsequent patchset.

Although it is possible to run afsd_service with both the
SMB and RDR interfaces active at the same time.  In practice
it is somewhat impractical because it destroys the uniformity
of the \\AFS name space.  The RDR loads at boot time and claims
all of \\AFS.  The SMB interface if active at the same time
must use the old \\%HOSTNAME%-AFS.  As implemented, if the RDR
interface is functional the SMB interface is not started.  Only
if the RDR interface fails will the SMB interface be activated.

The afsd_service.exe maintains all of its primary responsibilities
for communicating with the AFS servers, processing callbacks,
enforcing permissions, handling afs path ioctls, Windows RPC
service simulation, and object management.  The biggest change
is in the cm_buf_t management.  Data is exchanged with the
RDR by passing control over cm_buf_t->data buffers in the form
of Windows File Extents.  This avoids data copies across a
communication channel which significantly improves performance
at a substantial complexity cost.

Credential management is switched from a Windows username binding
to a GUID binding where the GUIDs represent authentication groups
that are managed by the RDR.

This patchset includes additional changes to support integrated
logon in conjunction with the RDR.  In particular, adding support
for authentication groups.

Change-Id: I7135489421c67a429ec3b2acd4c8ae08b8329f6d
Reviewed-on: http://gerrit.openafs.org/5432
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Tested-by: Rod Widdowson <rdw@steadingsoftware.com>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>

9 years agoWindows: AFS Redirector Support Headers
Peter Scott [Thu, 15 Sep 2011 05:07:03 +0000]
Windows: AFS Redirector Support Headers

This patchset includes all of the common headers upon which
all of the subsequent submissions depend.

Co-authored by Jeffrey Altman <jaltman@your-file-system.com>

Change-Id: I3b2ba6fe0a9a5231801db2cd1a340b9c518b9be4
Reviewed-on: http://gerrit.openafs.org/5431
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
Tested-by: Rod Widdowson <rdw@steadingsoftware.com>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>

9 years agoWindows: Explorer Shell extensions
Stefan Kueng [Thu, 15 Sep 2011 04:57:23 +0000]
Windows: Explorer Shell extensions

This patchset implements a broad range of improvements to
the explorer shell.  There is still a significant amount of
work to be done.

 * Remove the 'cut' and 'delete' options from the
   context menu if the selected object is a symlink
   or mount point.  This is performed in a language
   neutral manner.

 * Add AFS Property page to the property sheet

 * Add AFS Volume Property page

 * Add AFS ACL Property page

 * force the linker to add the common-controls V6 manifest and
   define ISOLATION_AWARE_ENABLED to make property sheets
   work for the shell extension dll

 * Fix the InfoTip handler.  Display symlink and mount point
   target strings

Stefan Kueng was assisted by Jeffrey Altman.

Change-Id: I6b7c4506026270a5408d90cdc5358864e3fb44c3
Reviewed-on: http://gerrit.openafs.org/5430
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>

9 years agoLinux: Remove use of undefined AFS_LINUX_ENV
Marc Dionne [Wed, 14 Sep 2011 21:16:52 +0000]
Linux: Remove use of undefined AFS_LINUX_ENV

AFS_LINUX_ENV is used in a few places, mostly from commit dc077b83,
but it is not defined anywhere.  As a result the logic was not as
intended.

In the definition of osi_ThreadUnique, this means that on all
Linux we use getpid(), which is OK as it gets defined appropriately
under LINUX and LINUX24 as current->pid or current->tgid.

Change-Id: Ic8daf10480a91ff8406cd6ca3929a2ecfafa78ad
Reviewed-on: http://gerrit.openafs.org/5424
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementix.org>

9 years agoWindows: mountpoints always have a trailing dot
Jeffrey Altman [Thu, 15 Sep 2011 02:41:20 +0000]
Windows: mountpoints always have a trailing dot

when expanding a cell alias to a full cell name the trailing
dot was forgotten when putting the mountpoint string back
together.

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

9 years agoWindows: minor cm_ioctl corrections
Jeffrey Altman [Thu, 15 Sep 2011 02:39:52 +0000]
Windows: minor cm_ioctl corrections

remove unused variable

fix a comment to reference correct function name

remove debugging windows event log entry that doesn't
belong in production code

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

9 years agoWindows: validate buffer hash tables in cm_MergeStatus
Jeffrey Altman [Wed, 14 Sep 2011 21:46:32 +0000]
Windows: validate buffer hash tables in cm_MergeStatus

Change-Id: I1ff76513e9f2ba08bdeb988a19fec992b08310db
Reviewed-on: http://gerrit.openafs.org/5425
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>

9 years agoTidy up event hash table definitions a bit more
Ben Kaduk [Tue, 13 Sep 2011 01:54:09 +0000]
Tidy up event hash table definitions a bit more

The change in http://gerrit.openafs.org/5314 consolidated the
definitions of struct afs_event and some related objects, but
the definitions were not quite in the right place.  In
http://gerrit.openafs.org/5392 this content was moved to more
standard headers, but a comment and #define were missed.
This change moves the comment to be in the same place as the content.

Change-Id: I86831879e9a2afd9e653182dcba4621624c55471
Reviewed-on: http://gerrit.openafs.org/5403
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementix.org>

9 years agoUse rra-c-util m4 from src/external
Simon Wilkinson [Tue, 13 Sep 2011 08:54:12 +0000]
Use rra-c-util m4 from src/external

This commit switches us over from using manually maintained copies
of Russ's rra-c-util m4 macros, to using ones that are automatically
imported from his upstream git tree.

The macro versioning in the OpenAFS tree was slightly confused. This
(approximately) updates us from using version 3.3 of the macros to
version 3.8. The signifcant changes are:

  *) Use PATH_KRB5_CONFIG rather than KRB5_CONFIG to set the location
     of the krb5-config file
  *) Use --with-gssapi-{include, lib} if given, rather than krb5-config
  *) Use --with-krb5-{include, lib} if given, rather than krb5-config
  *) Define HAVE_KERBEROS if we find a Kerberos library

The first, in particular, is likely to cause some confusion.

Change-Id: Ie7a1c0db31b32fc7ac9ad7bded2c4ffce3ac013f
Reviewed-on: http://gerrit.openafs.org/5418
Reviewed-by: Derrick Brashear <shadow@dementix.org>
Tested-by: BuildBot <buildbot@rampaginggeek.com>

9 years agoImport of code from rra-c-util
Russ Allbery [Tue, 13 Sep 2011 08:40:59 +0000]
Import of code from rra-c-util

This commit updates the code imported from rra-c-util to
aadb400e7536b29fb2b34299ef3cac07d86c108d (release/3.8)

New files are:
LICENSE
m4/gssapi.m4
m4/krb5.m4
m4/lib-depends.m4
m4/lib-pathname.m4
m4/pam-const.m4

Change-Id: I34d42a5491e87dc61b81ac2bf034c53dc2020f20
Reviewed-on: http://gerrit.openafs.org/5417
Reviewed-by: Derrick Brashear <shadow@dementix.org>
Tested-by: Derrick Brashear <shadow@dementix.org>

9 years agoAdd rra-c-util to the src/external regime
Simon Wilkinson [Tue, 13 Sep 2011 08:37:04 +0000]
Add rra-c-util to the src/external regime

We're already using a number of m4 configure tests which are taken
from rra-c-util. Instead of importing these piecemeal, add rra-c-util
to the src/external git import system, so that we can simply keep our
selves in sync

Change-Id: I58d610a3ee5f0f924b02745a89696ef46a8b0c04
Reviewed-on: http://gerrit.openafs.org/5416
Reviewed-by: Derrick Brashear <shadow@dementix.org>
Tested-by: BuildBot <buildbot@rampaginggeek.com>

9 years agoWindows: osi_Debug macros
Jeffrey Altman [Tue, 2 Aug 2011 22:33:06 +0000]
Windows: osi_Debug macros

The osi_Debug macros are like osi_Log macros except when used
the logged values are always printed using OutputDebugString().
This interface is meant only for temporary debugging.  No code
that uses osi_Debug should ever be committed to the upstream
repository.

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

9 years agoWindows: daemonCheckLockInterval to 60 seconds
Jeffrey Altman [Fri, 19 Aug 2011 02:07:26 +0000]
Windows: daemonCheckLockInterval to 60 seconds

Since we are no longer using deleted cm_fileLocks to
cache file server locks, there is no need to purge the
list so frequently.

Change-Id: I47d1e40be8b4008a11b1114389538a110644bed0
Reviewed-on: http://gerrit.openafs.org/5412
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>

9 years agoWindows: record history of read lock threads
Jeffrey Altman [Sun, 21 Aug 2011 04:38:24 +0000]
Windows: record history of read lock threads

Maintance an array of up to 32 reader threads that have
acquired a rwlock.  Use it for debugging when things go bad.

Change-Id: I2e2e781ff355f1452e991898dfb5b91c47db9e34
Reviewed-on: http://gerrit.openafs.org/5411
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>