bos: add support for rxgk

While rxgk is experimental, add a new argument -rxgk to attempt
the use of rxgk.  -localauth is supported by using the acceptor
credentials as an initiator and self-negotiating.

afsconf_PickClientSecObj doesn't know about rxgk yet, so we need
to have our own separate control flow for the rxgk case.  This
will be fixed eventually, but it's not clear what the right API
for PickClientSecObj is, yet.

Change-Id: I7af099cfe53c844f96959c904c33ca632c0d3e57
Add afsconf_rxgk_fs

To be used to hold per-fileserver keys in the KeyFileExt.

Also fix some whitespace while here.

Change-Id: I2fabc178909ae119298ff2db6ebc8737aa882736
Start on viced

Change-Id: I067ce991e69cb2b2752e6808573489a0aa4f5e3c
Factor out the core RXGK key-fetching logic

We'll want to reuse that logic for keys of type afsconf_rxgk_fs
shortly.

Change-Id: Ib696ac48c47f67cac453d76baade5b5ffdbbdbf6
Add RXGKFS variants

Change-Id: I7e005d811affcc153dc7bd18a955977de1c2171b
First crack at afsconf_BuildFileServerSecurityObjects

Change-Id: Ie7bc738b2f7bf728a562065e28a081619c732943
Add prototypes

Change-Id: Ifc85602da8b9e7da30d9d6a0c9b07758e8c6c83f
Use afsconf_BuildFileServerSecurityObjects

Introspect to see if we got rxgk.

Change-Id: I8b458038e30230067daf418242a5ecf89d7469a9
Use rxgk for fs-->vlserver if using rxgk

If we accept rxgk connections, we should tell the vlserver that
we do.  Right now we only support using the cell-wide key and
printed tokens for this, since viced doesn't know anything about
gssapi.

Make a function-local routine static while here.

The use_rxgk flag should eventually be merged into the configuration
directory state, but this is easy for now.

Change-Id: Ibaf2ca46e8f35d0ce7dd426782e36e9f3f2bb405
fix build

Change-Id: I776e1c998c55e7a1baa29974f4f9d8f82ad73534
Move key-fetching out of combine_tokens_common

Using the getkey function from service-specific data will only
ever get a token-encrypting key for the current service, which
is inappropriate for AFSCombineTokens, in which case the
token-encrypting key may need to be obtained from the VLDB.

Change-Id: Id4fda8157944ad47f4b497f48c60447680e6ca14
Export copy_ids to the rest of rxgk

It will prove convenient to use it in rxgk_procs, I think.

Change-Id: I2e326188a69b0fd7946fb0dd01a7be4bf7f0fee9
Service-specific data for uuid-->key mapping

Change-Id: I1985e1e96faaacafce89d00920754751218b9c8e
First crack at SRXGK_AFSCombineTokens

Of course, you need to set service-specific data for it to actually
work, and no one does that...

Change-Id: I714547f7f340ec5514517b7bde22d6580b761a38
typedef them function pointers

Change-Id: I3e7956f1c05a3279e3d699fa9f1efe8f3db33016
Add getfskey argument to BuildDBServerSecurityObjects

Will need to hook this into the server security object somehow,
and this seems the least ugly at the moment.

Change-Id: Ic70ea18ab8eef4b4231c3f3ed68aabe15190111d
Hack up a getfskey for vlserver use

Change-Id: Ia2042a78ec3d70edc9553256f199f63ac67a4c6b
Use getfskey

Change-Id: I7d90ab66917a3c885ad09488229f0f2322665971
getfskey cleanup

Change-Id: I458249a35e2506b5c571b2f738ab880abda726c4
Note a location where future work is needed

Change-Id: I7590fc5b354aead1373476cea2d2af876b535689