DEVEL15-windows-cellservdb-lookup-20090525
authorJeffrey Altman <jaltman@secure-endpoints.com>
Mon, 25 May 2009 23:06:37 +0000 (23:06 +0000)
committerJeffrey Altman <jaltman@secure-endpoints.com>
Mon, 25 May 2009 23:06:37 +0000 (23:06 +0000)
commit1a7f10e384e14f5e736f9ad4f4ce944f9b9f5329
tree4e7414ec452549333b5bcc219af887d0b06b5c27
parent2df8f67ffe46b76aba6f99eab6f46e3c5059b0dd
DEVEL15-windows-cellservdb-lookup-20090525

LICENSE MIT

Add a new Registry distribution method for CellServDB info.

The CellServDB registry schema is as follows:

 HKLM\SOFTWARE\OpenAFS\Client\CellServDB\[cellname]\
   "LinkedCell"    REG_SZ "[cellname]"
   "Description"   REG_SZ "[comment]"
   "ForceDNS"      DWORD  {0,1}

 HKLM\SOFTWARE\OpenAFS\Client\CellServDB\[cellname]\[servername]\
   "HostName"      REG_SZ "[hostname]"
   "IPv4Address"   REG_SZ "[address]"
   "IPv6Address"   REG_SZ "[address]"   <future>
   "Comment"       REG_SZ "[comment]"
   "Rank"          DWORD  "0..65535"
   "Clone"         DWORD  "{0,1}"       <future - server only>
   "vlserver"      DWORD  "7003"        <future>
   "ptserver"      DWORD  ...           <future>

 ForceDNS is implied non-zero if there are no [servername]
 keys under the [cellname] key.  Otherwise, ForceDNS is zero.
 If [servername] keys are specified and none of them evaluate
 to a valid server configuration, the return code is success.
 This prevents failover to the CellServDB file or DNS.

Registry distributed info takes precedence over the CellServDB file.

Registry support has been added to both the Windows specific cm_config
interface and the auth/cellconfig interface utilized by aklog, the
services, and the vast majority of support commands.

Enhance the DNS lookup for Cell vlserver info to support ranking info
which is used with _vlserver._udp SRV record lookups when AFSDB records
are not present.  Priorities become ranks.

(cherry picked from commit 22a932c40a3ecabae8110db21572a4cae2ba1fae)
12 files changed:
src/WINNT/afsd/afskfw.c
src/WINNT/afsd/cm.h
src/WINNT/afsd/cm_cell.c
src/WINNT/afsd/cm_cell.h
src/WINNT/afsd/cm_config.c
src/WINNT/afsd/cm_config.h
src/WINNT/afsd/cm_dns.c
src/WINNT/afsd/cm_dns.h
src/WINNT/afsd/cm_ioctl.c
src/WINNT/afsd/libafsconf.def
src/WINNT/afsd/smb.c
src/auth/cellconfig.c