dns-and-server-ref-counts-20040530
authorJeffrey Altman <jaltman@mit.edu>
Sun, 30 May 2004 15:39:05 +0000 (15:39 +0000)
committerJeffrey Altman <jaltman@secure-endpoints.com>
Sun, 30 May 2004 15:39:05 +0000 (15:39 +0000)
commitd64679ee4c125f6df5772007b69a9d7a1b69c32e
tree886918b344b666264a0c273e7337700ba48f5cd0
parent52898404c69832c3954cb746b7529174d57169fc
dns-and-server-ref-counts-20040530

   * Add debug info to test whether CM_BUF_WAITING or CM_SCACHE_WAITING
     are ever set more than once at a time

   * Fix the management of lists of cm_cell_t structures when using
     DNS to lookup cell information.  The previous code would fail to
     reuse the same cellID for a cell if DNS was used more than once
     for a given cell name.  When the ttl expired, a single cm_cell_t
     could be inserted into the cm_allCellsp list more than once
     producing a loop.  In addition, the vlServerp list belonging to
     the cell was not freed resulting in improper refCounting of the
     servers.

   * Add DNS support to cm_IoctlNewCell() which previous only examined
     the CellServDB file

   * Add cm_FreeServer() function and call it from cm_FreeServerList()
     to properly garbage collect cm_server_t objects

   * Add numVCs variable to smb.c to track the number of smb_vc_t
     objects created and use it to initialize the vcID field which
     previously was set to 0 in all objects resulting in FindByID
     collisions.
src/WINNT/afsd/cm_buf.c
src/WINNT/afsd/cm_cell.c
src/WINNT/afsd/cm_ioctl.c
src/WINNT/afsd/cm_scache.c
src/WINNT/afsd/cm_server.c
src/WINNT/afsd/cm_server.h
src/WINNT/afsd/smb.c
src/WINNT/afsd/smb_ioctl.c