windows-cellservdb-lookup-20090525
authorJeffrey Altman <jaltman@secure-endpoints.com>
Mon, 25 May 2009 23:06:16 +0000 (23:06 +0000)
committerJeffrey Altman <jaltman@secure-endpoints.com>
Mon, 25 May 2009 23:06:16 +0000 (23:06 +0000)
commit22a932c40a3ecabae8110db21572a4cae2ba1fae
tree197ba35a77a875b2c1ad69db2486d6575566b4b7
parentc8ccb887882bc4affef02a8193e9b1ed01f885f5
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.
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